/* ==========================================================
   CF Médica · Carrito y Finalizar compra (WooCommerce Blocks)
   Ubicación: wp-content/plugins/custom-minet/assets/css/carrito-checkout.css

   Índice
   1. Variables
   2. Botones principales
   3. Carrito
   4. Checkout
   5. Título de página y espaciado
   6. Móvil (todas las reglas responsive juntas, al final)
   ========================================================== */


/* ==========================================================
   1. Variables
   ========================================================== */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    --minet-wc-navy: #000040;
    --minet-wc-text: #4a5470;
    --minet-wc-link: #2642b2;
    --minet-wc-green: #15803d;
    --minet-wc-green-hover: #116a33;
    --minet-wc-surface: #f0f5fd;
    --minet-wc-line: rgba(74, 84, 112, 0.2);
    --minet-wc-line-strong: rgba(74, 84, 112, 0.45);
    --minet-wc-radius: 12px;
    --minet-wc-font-heading: "Bricolage Grotesque", sans-serif;
}


/* ==========================================================
   2. Botones principales (Finalizar compra / Realizar el pedido)
   ========================================================== */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background-color: var(--minet-wc-green);
    border: 2px solid var(--minet-wc-green);
    border-radius: var(--minet-wc-radius);
    color: #fff;
    font-family: var(--minet-wc-font-heading);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.4px;
    min-height: 56px;
    padding: 0 24px;
    transition: background-color 0.2s, border-color 0.2s;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
    background-color: var(--minet-wc-green-hover);
    border-color: var(--minet-wc-green-hover);
    color: #fff;
}


/* ==========================================================
   3. Carrito
   ========================================================== */

/* ---------- Tabla de productos ---------- */
.wp-block-woocommerce-cart .wc-block-cart-items__header {
    color: var(--minet-wc-text);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row {
    border-top: 1px solid var(--minet-wc-line);
}

.wp-block-woocommerce-cart .wc-block-cart-item__image img {
    border-radius: 8px;
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    color: var(--minet-wc-navy);
    font-family: var(--minet-wc-font-heading);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover {
    color: var(--minet-wc-link);
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .wc-block-components-product-price {
    color: var(--minet-wc-text);
    font-size: 15px;
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total .wc-block-components-product-price {
    color: var(--minet-wc-navy);
    font-size: 17px;
    font-weight: 700;
}

/* ---------- Selector de cantidad y quitar ---------- */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
    background-color: var(--minet-wc-surface);
    border: 0;
    border-radius: var(--minet-wc-radius);
    min-height: 40px;
    width: 120px;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
    display: none;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
    color: var(--minet-wc-navy);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
    color: var(--minet-wc-navy);
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
    color: var(--minet-wc-text);
    font-size: 14px;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #b91c1c;
}

/* ---------- Caja de totales ---------- */
/* La caja gris es solo el bloque de totales; el botón "Finalizar compra" queda fuera, debajo. */
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
    align-self: start;
}

.wp-block-woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
    background-color: var(--minet-wc-surface);
    border-bottom: 0;
    /* WooCommerce añade una línea aquí para separar del botón; ya no hace falta */
    border-radius: var(--minet-wc-radius);
    padding: 24px;
}

.wp-block-woocommerce-cart .wc-block-cart__totals-title {
    color: var(--minet-wc-navy);
    font-family: var(--minet-wc-font-heading);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
    padding-left: 0;
    text-transform: none;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--minet-wc-navy);
    font-family: var(--minet-wc-font-heading);
    font-size: 24px;
    font-weight: 800;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item-tax {
    color: var(--minet-wc-text);
    font-size: 13px;
}


/* ==========================================================
   4. Checkout
   ========================================================== */

/* ---------- Títulos de paso ---------- */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
    color: var(--minet-wc-navy);
    font-family: var(--minet-wc-font-heading);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.2px;
}

/* ---------- Campos ---------- */
.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type],
.wp-block-woocommerce-checkout .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout .wc-block-components-textarea {
    border: 1px solid var(--minet-wc-line-strong);
    border-radius: var(--minet-wc-radius);
    color: var(--minet-wc-navy);
}

.wp-block-woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type]:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout .wc-block-components-textarea:focus {
    border-color: var(--minet-wc-link);
    box-shadow: 0 0 0 1px var(--minet-wc-link);
    outline: 0;
}

.wp-block-woocommerce-checkout .wc-blocks-components-select__container {
    border-radius: var(--minet-wc-radius);
}

.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label {
    color: var(--minet-wc-text);
}

/* ---------- Información de contacto: orden de aviso de invitado y declaración ---------- */
/* Orden final: email, aviso de invitado, resto (declaración, crear cuenta). */
#contact.wc-block-components-address-form {
    display: flex;
    flex-direction: column;
}

#contact.wc-block-components-address-form>* {
    order: 3;
}

#contact.wc-block-components-address-form> :has(#email) {
    order: 1;
}

#contact.wc-block-components-address-form>.wc-block-checkout__guest-checkout-notice {
    order: 2;
}

/* Declaración responsable: sin caja, separada por líneas finas arriba y abajo */
#contact .wc-block-components-address-form__minet-declaracion-profesional {
    background-color: transparent;
    border: 0;
    border-top: 1px solid var(--minet-wc-line);
    border-bottom: 1px solid var(--minet-wc-line);
    border-radius: 0;
    padding: 20px 0;
    margin-top: 24px;
}

#contact .wc-block-components-address-form__minet-declaracion-profesional .wc-block-components-checkbox__label {
    color: var(--minet-wc-navy);
    font-weight: 500;
}

/* Declaración responsable: la parte superior del check queda a la altura de la parte superior
   del texto (antes sobresalía unos 5px por encima de la primera línea). El tic baja 1px más
   porque ya llevaba 1px de margen propio. */
#contact .wc-block-components-address-form__minet-declaracion-profesional .wc-block-components-checkbox__input {
    margin-top: 5px;
}

#contact .wc-block-components-address-form__minet-declaracion-profesional .wc-block-components-checkbox__mark {
    margin-top: 6px;
}

/* ---------- Resumen del pedido ---------- */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    background-color: var(--minet-wc-surface);
    border: 0;
    border-radius: var(--minet-wc-radius);
}

/* !important necesario: otra regla de WooCommerce o del tema fuerza margin 0
   en este título y gana a cualquier selector normal (comprobado en la web). */
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    color: var(--minet-wc-navy);
    font-family: var(--minet-wc-font-heading);
    font-size: 20px;
    font-weight: 700;
    margin: 16px 8px 8px 16px !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img {
    border-radius: 8px;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    color: var(--minet-wc-navy);
    font-size: 14px;
    font-weight: 600;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    background-color: var(--minet-wc-navy);
    border: 2px solid #fff;
    color: #fff;
}

.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--minet-wc-navy);
    font-family: var(--minet-wc-font-heading);
    font-size: 22px;
    font-weight: 800;
}

/* ---------- Opciones de pago ---------- */
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
    border-radius: var(--minet-wc-radius);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__label {
    color: var(--minet-wc-navy);
    font-size: 15px;
    font-weight: 600;
}

/* ---------- Radios unificados: cajas grandes a 12px ---------- */
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-container,
.wp-block-woocommerce-checkout .wc-block-components-address-card,
.wp-block-woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option {
    border-radius: var(--minet-wc-radius);
}

/* Marco gris que WooCommerce dibuja alrededor del grupo de opciones: mismo radio que la opción marcada */
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after {
    border-radius: var(--minet-wc-radius);
}

/* Sin línea separadora gris sobre la opción marcada: asomaba por las esquinas redondeadas */
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted::after,
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted::after {
    display: none;
}

/* Botones Enviar / Recogida: 8px, concéntricos con el contenedor de 12px */
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option {
    border-radius: 8px;
}

/* ---------- Botón de pedido y texto legal ---------- */
.wp-block-woocommerce-checkout .wc-block-checkout__actions {
    margin-bottom: 0;
}

.wp-block-woocommerce-checkout .wc-block-checkout__terms {
    color: var(--minet-wc-text);
    font-size: 14px;
    margin-top: 20px;
    text-align: center;
}

.wp-block-woocommerce-checkout .wc-block-checkout__terms a {
    color: var(--minet-wc-link);
}


/* ==========================================================
   5. Título de página y espaciado
   ========================================================== */

/* El h1 se oculta a la vista pero se mantiene para lectores de pantalla.
   En "Pedido recibido" se conserva visible. */
body.woocommerce-cart h1.uk-article-title,
body.woocommerce-checkout h1.uk-article-title {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

body.woocommerce-cart #tm-main,
body.woocommerce-checkout:not(.woocommerce-order-received) #tm-main {
    padding-top: 40px;
}


/* ==========================================================
   6. Móvil
   ========================================================== */
@media (max-width: 781px) {

    /* Carrito y checkout: menos aire entre la cabecera y el contenido */
    body.woocommerce-cart #tm-main,
    body.woocommerce-checkout:not(.woocommerce-order-received) #tm-main {
        padding-top: 24px;
    }

    /* !important necesario: el margen superior de este contenedor (40px) se fuerza
       con !important y sin él esta regla no gana (comprobado en la web). */
    body.woocommerce-cart #tm-main .uk-article>.uk-margin-medium,
    body.woocommerce-checkout:not(.woocommerce-order-received) #tm-main .uk-article>.uk-margin-medium {
        margin-top: 0 !important;
    }

    /* Checkout: WooCommerce añade 24px de relleno arriba en móvil */
    .wp-block-woocommerce-checkout {
        padding-top: 0;
    }

    /* Carrito: en móvil no hay cabecera de tabla, así que sobra la línea sobre la primera fila */
    .wp-block-woocommerce-cart .wc-block-cart-items__row:first-child {
        border-top: 0;
    }

    /* Carrito: caja de totales con menos padding y sin la línea superior
       (en móvil WooCommerce oculta el título "Totales del carrito", y la línea quedaba suelta) */
    .wp-block-woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
        padding: 16px;
    }

    .wp-block-woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block {
        border-top: 0;
    }

    /* Checkout, resumen del pedido: sin líneas superior ni inferior
       y con aire a la derecha para que el icono no toque el borde */
    .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
        border-bottom: 0;
        border-top: 0;
        padding-right: 16px;
    }

    /* Título centrado en vertical con el precio y la flecha: el margen de escritorio
       (16px arriba, 8px abajo) lo dejaba 4px más bajo. !important por el mismo motivo
       que la regla de escritorio. */
    .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
        margin: 12px 8px 12px 16px !important;
    }

    /* Precio total del resumen más visible */
    .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title .wc-block-formatted-money-amount {
        color: var(--minet-wc-navy);
        font-family: var(--minet-wc-font-heading);
        font-size: 17px;
        font-weight: 700;
    }

    /* Padding lateral del contenido y sin línea inferior
       (.is-open: WooCommerce repite la línea con esa clase) */
    .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content,
    .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content.is-open {
        border-bottom: 0;
        padding: 0 16px 8px;
    }

    /* Checkout, segundo resumen del pedido (junto al botón "Realizar el pedido"):
       misma apariencia que el resumen de arriba, sin caja interior con borde */
    .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block {
        margin-bottom: 16px;
        padding-bottom: 8px;
    }

    .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading {
        padding: 16px 16px 0;
    }

    .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__title {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .wc-block-checkout__actions .checkout-order-summary-block-fill {
        border: 0;
        border-radius: 0;
    }
}