/**
 * DOCHI — Checkout & Cart Page CSS
 * Skin WooCommerce estándar con estilo DOCHI
 */

/* =============================================
   PÁGINA DE CARRITO (/cart/)
   ============================================= */

/* Título */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
    display: none !important;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
    display: none !important;
}

/* Contenedor general */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
    max-width: 1000px;
    margin: 0 auto;
    padding: 16px;
}

/* ---- Tabla del carrito ---- */
.woocommerce-cart table.shop_table {
    border: none !important;
    border-radius: var(--dochi-radius) !important;
    background: var(--dochi-card-bg);
    box-shadow: var(--dochi-card-shadow);
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.woocommerce-cart table.shop_table th {
    background: var(--dochi-bg) !important;
    border: none !important;
    font-family: var(--dochi-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
    color: var(--dochi-text-secondary) !important;
    padding: 12px 16px !important;
}

.woocommerce-cart table.shop_table td {
    border: none !important;
    border-top: 1px solid var(--dochi-border-light) !important;
    padding: 16px !important;
    font-family: var(--dochi-font) !important;
    vertical-align: middle !important;
    color: var(--dochi-text-name) !important;
}

.woocommerce-cart table.shop_table td.product-name a {
    color: var(--dochi-text-name) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
    color: var(--dochi-accent) !important;
}

.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
    font-weight: 700 !important;
    color: var(--dochi-text-price) !important;
}

/* Thumbnail más limpio */
.woocommerce-cart table.shop_table img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain;
    border-radius: 8px !important;
    background: var(--dochi-bg);
}

/* Input cantidad en carrito — wrapper con botones +/- */
.woocommerce-cart .quantity {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    border: 1px solid var(--dochi-border) !important;
    border-radius: 8px !important;
    overflow: hidden;
    width: fit-content !important;
    background: var(--dochi-white) !important;
}

.woocommerce-cart .quantity .qty {
    width: 44px !important;
    height: 38px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid var(--dochi-border-light) !important;
    border-right: 1px solid var(--dochi-border-light) !important;
    border-radius: 0 !important;
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    background: var(--dochi-white) !important;
    color: var(--dochi-text-price) !important;
    -moz-appearance: textfield;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Botones +/- inyectados por JS */
.woocommerce-cart .quantity .dochi-qty-btn {
    width: 36px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--dochi-bg) !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--dochi-text-name) !important;
    transition: background 0.15s, color 0.15s !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-family: var(--dochi-font) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    flex-shrink: 0 !important;
}

.woocommerce-cart .quantity .dochi-qty-btn:hover {
    background: var(--dochi-border) !important;
}

.woocommerce-cart .quantity .dochi-qty-btn:active {
    background: var(--dochi-border-light) !important;
}

/* Tachito: cuando qty=1 el botón - se convierte en eliminar */
.woocommerce-cart .quantity .dochi-qty-trash {
    color: #E53935 !important;
    font-size: 15px !important;
}

.woocommerce-cart .quantity .dochi-qty-trash:hover {
    background: #FFEBEE !important;
    color: #C62828 !important;
}

/* Botón eliminar */
.woocommerce-cart table.shop_table .remove {
    color: var(--dochi-text-secondary) !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    transition: color 0.15s;
}

.woocommerce-cart table.shop_table .remove:hover {
    color: #E53935 !important;
    background: none !important;
}

/* Botón actualizar carrito */
.woocommerce-cart button[name="update_cart"] {
    background: var(--dochi-bg) !important;
    color: var(--dochi-text-name) !important;
    border: 1px solid var(--dochi-border) !important;
    border-radius: var(--dochi-radius) !important;
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    cursor: pointer;
    transition: all 0.15s;
}

.woocommerce-cart button[name="update_cart"]:hover {
    background: var(--dochi-white) !important;
    border-color: var(--dochi-text-name) !important;
}

/* Cupón - ocultar si no se usa */
.woocommerce-cart .coupon {
    display: none !important;
}

/* Ocultar "Enviar a Buenos Aires" y calculador de envío del carrito */
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .woocommerce-shipping-calculator {
    display: none !important;
}

/* ---- Totales del carrito ---- */
.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 480px;
    margin: 24px auto 0 !important;
}

.woocommerce-cart .cart_totals h2 {
    font-family: var(--dochi-font) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--dochi-text-price) !important;
    margin-bottom: 12px !important;
}

.woocommerce-cart .cart_totals table {
    border: none !important;
    border-radius: var(--dochi-radius) !important;
    background: var(--dochi-card-bg);
    box-shadow: var(--dochi-card-shadow);
    overflow: hidden;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border: none !important;
    border-top: 1px solid var(--dochi-border-light) !important;
    padding: 14px 16px !important;
    font-family: var(--dochi-font) !important;
    color: var(--dochi-text-name) !important;
}

.woocommerce-cart .cart_totals table tr:first-child th,
.woocommerce-cart .cart_totals table tr:first-child td {
    border-top: none !important;
}

.woocommerce-cart .cart_totals .order-total td {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--dochi-text-price) !important;
}

/* ---- Botón Finalizar compra ---- */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    background: var(--dochi-accent) !important;
    color: var(--dochi-white) !important;
    border: none !important;
    border-radius: var(--dochi-radius) !important;
    font-family: var(--dochi-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 16px 24px !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background 0.15s, transform 0.1s !important;
    margin-top: 16px !important;
    letter-spacing: 0.3px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--dochi-accent-dark) !important;
    transform: translateY(-1px);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
    transform: translateY(0);
}


/* =============================================
   PÁGINA DE CHECKOUT (/finalizar-compra/)
   ============================================= */

/* Mensaje de login */
.woocommerce-checkout .woocommerce-info {
    background: var(--dochi-card-bg) !important;
    border: 1px solid var(--dochi-border) !important;
    border-left: 4px solid var(--dochi-accent) !important;
    border-radius: var(--dochi-radius) !important;
    color: var(--dochi-text-name) !important;
    font-family: var(--dochi-font) !important;
    font-size: 14px !important;
    padding: 14px 18px 14px 44px !important;
    margin-bottom: 24px !important;
    box-shadow: none !important;
    position: relative !important;
}

.woocommerce-checkout .woocommerce-info::before {
    color: var(--dochi-accent) !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.woocommerce-checkout .woocommerce-info a {
    color: var(--dochi-accent) !important;
    font-weight: 600 !important;
}

/* Título de secciones */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
    font-family: var(--dochi-font) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--dochi-text-price) !important;
    margin: 24px 0 16px !important;
    padding: 0 !important;
}

/* Campos de formulario */
.woocommerce-checkout .form-row label {
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--dochi-text-name) !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    background: var(--dochi-white) !important;
    border: 1px solid var(--dochi-border) !important;
    border-radius: 8px !important;
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    padding: 12px 14px !important;
    color: var(--dochi-text-price) !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
    width: 100% !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--dochi-accent) !important;
    box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.12) !important;
    outline: none !important;
}

/* Select2 (WC usa select2 en algunos selects) */
.woocommerce-checkout .select2-container .select2-selection--single {
    height: 44px !important;
    border: 1px solid var(--dochi-border) !important;
    border-radius: 8px !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
    padding-left: 14px !important;
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    color: var(--dochi-text-price) !important;
}

/* Crear cuenta */
.woocommerce-checkout .create-account {
    background: var(--dochi-bg) !important;
    border-radius: var(--dochi-radius) !important;
    padding: 16px !important;
    margin-top: 8px !important;
    border: none !important;
}

/* Notas del pedido */
.woocommerce-checkout .woocommerce-additional-fields textarea {
    min-height: 80px !important;
    resize: vertical !important;
}

/* ---- Resumen del pedido (columna derecha) ---- */
.woocommerce-checkout #order_review {
    background: var(--dochi-card-bg) !important;
    border-radius: var(--dochi-radius) !important;
    box-shadow: var(--dochi-card-shadow) !important;
    padding: 20px !important;
    border: none !important;
}

.woocommerce-checkout table.shop_table {
    border: none !important;
    margin: 0 0 16px !important;
}

.woocommerce-checkout table.shop_table th {
    border: none !important;
    border-bottom: 1px solid var(--dochi-border-light) !important;
    font-family: var(--dochi-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--dochi-text-secondary) !important;
    padding: 10px 0 !important;
    background: transparent !important;
}

.woocommerce-checkout table.shop_table td {
    border: none !important;
    border-bottom: 1px solid var(--dochi-border-light) !important;
    font-family: var(--dochi-font) !important;
    font-size: 14px !important;
    color: var(--dochi-text-name) !important;
    padding: 12px 0 !important;
}

.woocommerce-checkout table.shop_table .order-total td {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--dochi-text-price) !important;
    border-bottom: none !important;
}

.woocommerce-checkout table.shop_table .order-total th {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--dochi-text-price) !important;
    border-bottom: none !important;
}

/* ---- Métodos de pago ---- */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 16px !important;
    list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: var(--dochi-bg) !important;
    border-radius: var(--dochi-radius) !important;
    margin-bottom: 8px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--dochi-border-light) !important;
    transition: border-color 0.15s;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--dochi-accent) !important;
    background: var(--dochi-white) !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--dochi-text-price) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Matar el pseudo-radio de Font Awesome que inyecta WC/Storefront */
.woocommerce-checkout #payment ul.payment_methods li label::before,
.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label::before,
#payment .payment_methods > .wc_payment_method > label::before {
    display: none !important;
    content: none !important;
}

/* Radio buttons custom — máxima especificidad */
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods li input.input-radio,
.woocommerce-checkout #payment .wc_payment_method input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border: 2px solid var(--dochi-border) !important;
    border-radius: 50% !important;
    background: var(--dochi-white) !important;
    background-color: var(--dochi-white) !important;
    background-image: none !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked,
.woocommerce-checkout #payment ul.payment_methods li input.input-radio:checked,
.woocommerce-checkout #payment .wc_payment_method input[type="radio"]:checked {
    border-color: var(--dochi-accent) !important;
    background: radial-gradient(circle, var(--dochi-accent) 40%, var(--dochi-white) 41%) !important;
    background-color: var(--dochi-white) !important;
}

/* No usar ::after, usamos background radial-gradient arriba */

/* También el checkbox de T&C */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid var(--dochi-border) !important;
    border-radius: 4px !important;
    background: var(--dochi-white) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    margin: 0 4px 0 0 !important;
    vertical-align: middle !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked {
    background: var(--dochi-accent) !important;
    border-color: var(--dochi-accent) !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: var(--dochi-white) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: transparent !important;
    color: var(--dochi-text-name) !important;
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    padding: 12px 0 0 !important;
    border: none !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}

/* ---- Términos y condiciones ---- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    color: var(--dochi-text-secondary) !important;
    margin: 16px 0 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--dochi-accent) !important;
}

/* Política de privacidad */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-family: var(--dochi-font) !important;
    font-size: 12px !important;
    color: var(--dochi-text-secondary) !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--dochi-accent) !important;
}

/* ---- Botón Realizar el pedido ---- */
.woocommerce-checkout #place_order {
    background: var(--dochi-accent) !important;
    color: var(--dochi-white) !important;
    border: none !important;
    border-radius: var(--dochi-radius) !important;
    font-family: var(--dochi-font) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    padding: 16px 24px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.15s, transform 0.1s !important;
    letter-spacing: 0.3px;
    margin-top: 8px !important;
}

.woocommerce-checkout #place_order:hover {
    background: var(--dochi-accent-dark) !important;
    transform: translateY(-1px);
}

.woocommerce-checkout #place_order:active {
    transform: translateY(0);
}

/* ---- Mensajes de error ---- */
.woocommerce-checkout .woocommerce-error {
    background: #FFF5F5 !important;
    border: 1px solid #FFCDD2 !important;
    border-left: 4px solid #E53935 !important;
    border-radius: var(--dochi-radius) !important;
    color: #C62828 !important;
    font-family: var(--dochi-font) !important;
    font-size: 14px !important;
    padding: 14px 18px !important;
    list-style: none !important;
}

.woocommerce-checkout .woocommerce-error li {
    margin: 0 !important;
}

/* ---- Mensaje de éxito / eliminación ---- */
.woocommerce .woocommerce-message {
    background: #F1F8E9 !important;
    border: 1px solid #C5E1A5 !important;
    border-left: 4px solid #43A047 !important;
    border-radius: var(--dochi-radius) !important;
    color: #2E7D32 !important;
    font-family: var(--dochi-font) !important;
    font-size: 14px !important;
    padding: 14px 18px 14px 18px !important;
    position: relative !important;
}

/* Ocultar el tick de WC/Storefront que pisa el texto */
.woocommerce .woocommerce-message::before {
    display: none !important;
}

/* Link "Deshacer" visible */
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-message .restore-item {
    color: #1B5E20 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    margin-left: 4px;
}

/* =============================================
   RESPONSIVE
   ============================================= */

/* Mobile: checkout en una columna */
@media (max-width: 767px) {
    .woocommerce-checkout .col2-set,
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }

    .woocommerce-checkout #order_review {
        margin-top: 24px !important;
    }

    .woocommerce-cart .entry-content,
    .woocommerce-checkout .entry-content {
        padding: 12px;
    }

    /* ---- Cart mobile: tabla como cards ---- */
    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table thead,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table th,
    .woocommerce-cart table.shop_table td {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart table.shop_table thead {
        display: none !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item {
        position: relative !important;
        padding: 16px !important;
        padding-left: 80px !important;
        padding-right: 36px !important;
        border-bottom: 1px solid var(--dochi-border-light) !important;
        min-height: 90px !important;
    }

    /* Thumbnail a la izquierda */
    .woocommerce-cart table.shop_table td.product-thumbnail {
        position: absolute !important;
        left: 12px !important;
        top: 16px !important;
        width: 56px !important;
        padding: 0 !important;
        border: none !important;
    }

    .woocommerce-cart table.shop_table td.product-thumbnail img {
        width: 56px !important;
        height: 56px !important;
    }

    /* Botón eliminar arriba a la derecha */
    .woocommerce-cart table.shop_table td.product-remove {
        position: absolute !important;
        right: 8px !important;
        top: 12px !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
    }

    .woocommerce-cart table.shop_table td.product-remove .remove {
        font-size: 18px !important;
        width: 28px !important;
        height: 28px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        background: var(--dochi-bg) !important;
    }

    /* Nombre del producto */
    .woocommerce-cart table.shop_table td.product-name {
        padding: 0 0 4px !important;
        border: none !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    /* Precio */
    .woocommerce-cart table.shop_table td.product-price {
        padding: 0 0 8px !important;
        border: none !important;
        font-size: 15px !important;
    }

    /* Cantidad — inline */
    .woocommerce-cart table.shop_table td.product-quantity {
        padding: 0 !important;
        border: none !important;
        display: inline-block !important;
        width: auto !important;
        vertical-align: middle !important;
    }

    .woocommerce-cart .quantity {
        display: inline-flex !important;
    }

    /* Subtotal — inline al lado de cantidad */
    .woocommerce-cart table.shop_table td.product-subtotal {
        padding: 0 0 0 12px !important;
        border: none !important;
        display: inline-block !important;
        width: auto !important;
        vertical-align: middle !important;
        font-size: 15px !important;
    }

    /* Botón actualizar carrito */
    .woocommerce-cart table.shop_table tr td.actions {
        padding: 12px 0 !important;
        border: none !important;
        text-align: center !important;
    }
}

/* Desktop: checkout en dos columnas con Grid */
@media (min-width: 768px) {
    /*
     * Estructura real del HTML:
     * form.checkout
     *   ├── .woocommerce-notices-wrapper (vacío)
     *   ├── .col2-set#customer_details
     *   │     ├── .col-1 (facturación + crear cuenta)
     *   │     └── .col-2 (shipping vacío + notas pedido)
     *   ├── h3#order_review_heading
     *   └── #order_review (tabla + pagos + botón)
     *
     * El col2-set tiene 2 hijos internos que WC/Storefront
     * pone al 50% cada uno. Nosotros los ponemos al 100%
     * para que queden apilados (una sola columna de formulario).
     */

    .woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 1fr 380px !important;
        gap: 0 32px !important;
        align-items: start !important;
    }

    /* El col2-set ocupa la columna izquierda, filas 1 y 2 */
    .woocommerce-checkout form.checkout > .col2-set {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        width: 100% !important;
        float: none !important;
    }

    /* Las sub-columnas de WC van al 100% apiladas */
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        flex: none !important;
    }

    /* h3 "Tu pedido" va a la columna derecha */
    .woocommerce-checkout form.checkout > #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        float: none !important;
        margin-top: 0 !important;
    }

    /* Resumen + pagos + botón va a la columna derecha, sticky */
    .woocommerce-checkout form.checkout > #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        float: none !important;
        position: sticky !important;
        top: 80px;
        align-self: start !important;
    }

    .woocommerce-cart .cart_totals {
        margin: 24px 0 0 auto !important;
    }
}

/* =============================================
   PÁGINA ORDER-RECEIVED (gracias)
   ============================================= */
.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-family: var(--dochi-font) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--dochi-text-price) !important;
    background: #F1F8E9 !important;
    border-radius: var(--dochi-radius) !important;
    padding: 20px !important;
    text-align: center !important;
}

.woocommerce-order-received .woocommerce-order-details {
    background: var(--dochi-card-bg) !important;
    border-radius: var(--dochi-radius) !important;
    box-shadow: var(--dochi-card-shadow) !important;
    padding: 20px !important;
}

/* =============================================
   PÁGINA MI CUENTA
   ============================================= */

/* Contenedor general */
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
    font-family: var(--dochi-font) !important;
}

/* Título "Mi Cuenta" */
.woocommerce-account .entry-title {
    font-family: var(--dochi-font) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--dochi-text-price) !important;
}

/* Navegación lateral */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: var(--dochi-white) !important;
    border-radius: var(--dochi-radius) !important;
    border: 1px solid var(--dochi-border-light) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    padding: 6px !important;
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--dochi-border-light) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 18px;
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--dochi-text-name) !important;
    text-decoration: none !important;
    border-radius: 8px;
    transition: background 0.15s;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--dochi-bg) !important;
    color: var(--dochi-accent) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    border-bottom-color: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--dochi-accent) !important;
    color: var(--dochi-white) !important;
    font-weight: 600 !important;
}

/* Club Kosmo — subtítulo chico */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--club-kosmo a::after {
    content: 'Próximamente' !important;
    display: block;
    font-size: 10px !important;
    font-weight: 400 !important;
    opacity: 0.5;
    margin-top: 2px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--club-kosmo.is-active a::after {
    opacity: 0.8;
    color: var(--dochi-white) !important;
}

/* Dashboard content */
.woocommerce-account .woocommerce-MyAccount-content {
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    color: var(--dochi-text-name) !important;
    line-height: 1.6 !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: var(--dochi-accent) !important;
    font-weight: 500 !important;
}

/* Ocultar iconos de Storefront en el menú */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    display: none !important;
}

/* =============================================
   LOGIN / REGISTRO
   ============================================= */

/* Título Mi Cuenta en login */
.woocommerce-account:not(.logged-in) .entry-title {
    font-family: var(--dochi-font) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 32px !important;
}

/* Contenedor de los dos formularios */
.woocommerce-account .u-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

/* Override WC col2-set floats */
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.col2-set#customer_login .col-1,
.col2-set#customer_login .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
}

@media (min-width: 768px) {
    .woocommerce-account .u-columns {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px !important;
    }
}

/* Títulos Acceder / Registrarse */
.woocommerce-account .u-columns h2 {
    font-family: var(--dochi-font) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--dochi-text-price) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--dochi-accent) !important;
}

/* Formularios full width */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Labels */
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--dochi-text-secondary) !important;
}

/* Inputs */
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
}

.woocommerce-account .woocommerce-form-login input.input-text,
.woocommerce-account .woocommerce-form-register input.input-text {
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    border: 1px solid var(--dochi-border) !important;
    border-radius: var(--dochi-radius) !important;
    padding: 12px 14px !important;
    transition: border-color 0.15s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-form-login input.input-text:focus,
.woocommerce-account .woocommerce-form-register input.input-text:focus {
    border-color: var(--dochi-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(233, 30, 99, 0.1) !important;
}

/* Botones Acceso / Registrarse */
.woocommerce-account .woocommerce-form-login .woocommerce-button,
.woocommerce-account .woocommerce-form-register .woocommerce-button {
    background: var(--dochi-accent) !important;
    color: var(--dochi-white) !important;
    border: none !important;
    border-radius: var(--dochi-radius) !important;
    padding: 14px 32px !important;
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.15s, transform 0.1s !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-button:hover,
.woocommerce-account .woocommerce-form-register .woocommerce-button:hover {
    background: var(--dochi-accent-dark) !important;
    transform: translateY(-1px) !important;
}

/* Checkbox Recuérdame */
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    color: var(--dochi-text-secondary) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 8px 0 !important;
}

/* Link olvidaste contraseña */
.woocommerce-account .woocommerce-LostPassword a {
    font-family: var(--dochi-font) !important;
    font-size: 13px !important;
    color: var(--dochi-accent) !important;
    text-decoration: none !important;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
    text-decoration: underline !important;
}

/* Texto de privacidad */
.woocommerce-account .woocommerce-privacy-policy-text p {
    font-family: var(--dochi-font) !important;
    font-size: 12px !important;
    color: var(--dochi-text-secondary) !important;
    line-height: 1.5 !important;
}

.woocommerce-account .woocommerce-privacy-policy-text a {
    color: var(--dochi-accent) !important;
}

/* Password visibility toggle */
.woocommerce-account .show-password-input {
    color: var(--dochi-text-secondary) !important;
}

/* Separador visual entre login y registro en mobile */
@media (max-width: 767px) {
    .woocommerce-account .u-columns .u-column2 {
        border-top: 1px solid var(--dochi-border-light) !important;
        padding-top: 24px !important;
    }
}

/* =============================================
   CARRITO VACÍO
   ============================================= */

.woocommerce-cart .cart-empty {
    font-family: var(--dochi-font) !important;
    font-size: 16px !important;
    color: var(--dochi-text-name) !important;
    text-align: center !important;
    background: var(--dochi-bg) !important;
    border: 1px solid var(--dochi-border-light) !important;
    border-radius: var(--dochi-radius) !important;
    padding: 32px 24px !important;
    max-width: 500px !important;
    margin: 40px auto 20px !important;
}

.woocommerce-cart .cart-empty::before {
    content: '🛒' !important;
    display: block !important;
    font-size: 48px !important;
    margin-bottom: 12px !important;
}

.woocommerce-cart .return-to-shop {
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 500px !important;
}

.woocommerce-cart .return-to-shop a.button {
    background: var(--dochi-accent) !important;
    color: var(--dochi-white) !important;
    border: none !important;
    border-radius: var(--dochi-radius) !important;
    padding: 14px 32px !important;
    font-family: var(--dochi-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.15s, transform 0.1s !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.woocommerce-cart .return-to-shop a.button:hover {
    background: var(--dochi-accent-dark) !important;
    transform: translateY(-1px) !important;
}
