﻿/* ============================================
   CART - BLACK & #FFE600 YELLOW STYLE
   ============================================ */

/* --- CSS Variables --- */
:root {
    --cart-cream: #ffffff;
    --cart-cream-dark: #f5f5f5;
    --cart-cream-light: #fafafa;
    --cart-white: #ffffff;
    --cart-red: #FFE600;
    --cart-red-hover: #CCBA00;
    --cart-red-light: #FFFDE7;
    --cart-red-glow: rgba(255, 230, 0, 0.25);
    --cart-coral: #FFE600;
    --cart-orange: #FFE600;
    --cart-pink: #CCBA00;
    --cart-text-dark: #111111;
    --cart-text-medium: #444444;
    --cart-text-light: #888888;
    --cart-border: #e0e0e0;
    --cart-border-light: #eeeeee;
    --cart-success: #28A745;
    --cart-error: #EF4444;
    --cart-font-primary: 'Poppins', sans-serif;
    --cart-font-display: 'Luckiest Guy', cursive;
    --cart-radius-sm: 8px;
    --cart-radius-md: 16px;
    --cart-radius-lg: 24px;
    --cart-radius-xl: 50px;
    --cart-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --cart-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.06);
    --cart-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.08);
    --cart-shadow-glow: 0 8px 32px rgba(255, 230, 0, 0.35);
    --cart-transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --cart-transition-normal: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --cart-transition-bounce: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --cart-gradient-warm: linear-gradient(135deg, #FFE600 0%, #FFD000 50%, #CCBA00 100%);
    --cart-gradient-soft: linear-gradient(135deg, #f9f9f9 0%, #f0f0f0 100%);
}

*, *::before, *::after {
    box-sizing: border-box;
}

.productos_area.container {
    background-color: #ffffff;
    background-image: radial-gradient(circle at 10% 20%, rgba(255, 230, 0, 0.06) 0%, transparent 50%), radial-gradient(circle at 90% 80%, rgba(255, 230, 0, 0.04) 0%, transparent 50%);
    min-height: 100vh;
    padding: 60px 0 100px;
    position: relative;
    overflow: hidden;
}

    .productos_area.container::before,
    .productos_area.container::after {
        content: '';
        position: absolute;
        border-radius: 50%;
        pointer-events: none;
        opacity: 0.6;
    }

    .productos_area.container::before {
        width: 300px;
        height: 300px;
        background: radial-gradient(circle, rgba(255, 230, 0, 0.12) 0%, transparent 70%);
        top: -100px;
        right: -100px;
        animation: cart-float 8s ease-in-out infinite;
    }

    .productos_area.container::after {
        width: 200px;
        height: 200px;
        background: radial-gradient(circle, rgba(255, 230, 0, 0.08) 0%, transparent 70%);
        bottom: 100px;
        left: -50px;
        animation: cart-float 10s ease-in-out infinite reverse;
    }

@keyframes cart-float {
    0%, 100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-20px) scale(1.05);
    }
}

.container_row {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.container_cell.container_cell_col8 {
    width: 100%;
    max-width: 1100px;
    padding: 0 24px;
}

.container_first_cell,
.container_last_cell {
    display: none;
}

.cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--cart-border-light);
    animation: cart-slideUp 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* TITLE — Luckiest Guy */
.cart-title {
    font-family: 'Luckiest Guy', cursive;
    font-size: 2.5rem;
    font-weight: 400;
    color: #111111;
    margin: 0;
    letter-spacing: -0.02em;
}

/* Poppins */
.cart-count {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #111111;
    background-color: #FFE600;
    padding: 10px 24px;
    border-radius: var(--cart-radius-xl);
}

/* TITLE — Luckiest Guy */
.title-large {
    font-family: 'Luckiest Guy', cursive;
    font-size: 2.5rem;
    font-weight: 400;
    color: #111111;
    margin: 0;
}

/* Poppins */
.titulo_cantidad {
    font-family: 'Poppins', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #111111;
    background-color: #FFE600;
    padding: 10px 24px;
    border-radius: var(--cart-radius-xl);
    display: inline-block;
    margin-bottom: 24px;
}

.cart-section {
    margin-bottom: 32px;
    animation: cart-slideUp 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.1s;
    opacity: 0;
}

.cart-items-section {
    opacity: 1;
    animation: none;
}

.cart-table-wrapper {
    background-color: #ffffff;
    border-radius: var(--cart-radius-md);
    box-shadow: var(--cart-shadow-sm);
    border: 1px solid var(--cart-border-light);
    overflow: hidden;
    animation: cart-slideUp 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.cart-table {
    width: 100%;
    border-collapse: collapse;
}

.cart-table-head {
    background: var(--cart-gradient-soft);
}

    /* Poppins */
    .cart-table-head th {
        font-family: 'Poppins', sans-serif;
        font-size: 0.6875rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--cart-text-light);
        padding: 20px 16px;
        text-align: left;
    }

.cart-table-body tr {
    border-bottom: 1px solid var(--cart-border-light);
    transition: background-color var(--cart-transition-fast);
}

    .cart-table-body tr:last-child {
        border-bottom: none;
    }

    .cart-table-body tr:hover {
        background-color: #FFFDE7;
    }

.cart-col-remove {
    width: 60px;
    text-align: center;
}

.cart-col-image {
    width: 100px;
}

.cart-col-name {
    min-width: 200px;
}

.cart-col-price, .cart-col-qty, .cart-col-subtotal {
    width: 120px;
    text-align: center;
}

.cart-item-row td {
    padding: 20px 16px;
    vertical-align: middle;
}

.cart-remove-btn {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    border-radius: 50%;
    border: 2px solid var(--cart-border-light);
    transition: all var(--cart-transition-normal);
    text-decoration: none;
}

    .cart-remove-btn:hover {
        background-color: var(--cart-error);
        border-color: var(--cart-error);
        transform: scale(1.1);
    }

.cart-remove-icon {
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C5C5C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: all var(--cart-transition-fast);
}

.cart-remove-btn:hover .cart-remove-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}

.product-remove {
    width: 60px;
    text-align: center;
    padding: 20px 16px;
    vertical-align: middle;
}

    .product-remove .icon-cancel,
    .product-remove a.product-remove {
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #f5f5f5;
        border-radius: 50%;
        border: 2px solid var(--cart-border-light);
        transition: all var(--cart-transition-normal);
        text-decoration: none;
        color: var(--cart-text-medium);
        font-size: 1.25rem;
        line-height: 1;
    }

        .product-remove .icon-cancel::before,
        .product-remove a.product-remove::before {
            content: '×';
        }

        .product-remove .icon-cancel:hover,
        .product-remove a.product-remove:hover {
            background-color: var(--cart-error);
            border-color: var(--cart-error);
            color: #ffffff;
            transform: scale(1.1);
        }

.cart-product-link {
    display: block;
    width: 80px;
    height: 80px;
    border-radius: var(--cart-radius-sm);
    overflow: hidden;
    background-color: #f5f5f5;
    border: 1px solid var(--cart-border-light);
    transition: all var(--cart-transition-normal);
}

    .cart-product-link:hover {
        transform: scale(1.05);
        box-shadow: var(--cart-shadow-md);
    }

.cart-product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-thumbnail-cart {
    width: 100px;
    padding: 20px 16px;
    vertical-align: middle;
}

    .product-thumbnail-cart a {
        display: block;
        width: 80px;
        height: 80px;
        border-radius: var(--cart-radius-sm);
        overflow: hidden;
        background-color: #f5f5f5;
        border: 1px solid var(--cart-border-light);
        transition: all var(--cart-transition-normal);
    }

        .product-thumbnail-cart a:hover {
            transform: scale(1.05);
            box-shadow: var(--cart-shadow-md);
        }

    .product-thumbnail-cart img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* Poppins */
.cart-product-title {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #111111;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
    transition: color var(--cart-transition-fast);
}

    .cart-product-title:hover {
        color: #CCBA00;
    }

/* Poppins */
.cart-product-event {
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: #444444;
    background-color: #FFE600;
    padding: 4px 12px;
    border-radius: var(--cart-radius-sm);
    display: inline-block;
    margin-top: 6px;
}

.product-name {
    min-width: 200px;
    padding: 20px 16px;
    vertical-align: middle;
}

    /* Poppins */
    .product-name .product-title {
        font-family: 'Poppins', sans-serif;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #111111;
        text-decoration: none;
        display: block;
        margin-bottom: 4px;
        transition: color var(--cart-transition-fast);
    }

        .product-name .product-title:hover {
            color: #CCBA00;
        }

/* Poppins */
.product-cart-evento {
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    color: #444444;
    background-color: #FFE600;
    padding: 4px 12px;
    border-radius: var(--cart-radius-sm);
    display: inline-block;
    margin-top: 6px;
}

/* Poppins */
.cart-price {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #111111;
}

.product-price {
    width: 120px;
    text-align: center;
    padding: 20px 16px;
    vertical-align: middle;
}

    /* Poppins */
    .product-price .amount {
        font-family: 'Poppins', sans-serif;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #111111;
    }

.cart-qty-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Poppins */
.cart-qty-input {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #111111;
    background-color: #f9f9f9;
    border: 2px solid var(--cart-border-light);
    border-radius: var(--cart-radius-sm);
    width: 70px;
    height: 44px;
    text-align: center;
    outline: none;
    -moz-appearance: textfield;
}

    .cart-qty-input::-webkit-outer-spin-button,
    .cart-qty-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    .cart-qty-input:focus {
        border-color: #FFE600;
        box-shadow: 0 0 0 3px rgba(255, 230, 0, 0.2);
    }

.product-quantity {
    width: 120px;
    text-align: center;
    padding: 20px 16px;
    vertical-align: middle;
}

/* Poppins */
.quantity-carrito input,
.product-cart-number input {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #111111;
    background-color: #f9f9f9;
    border: 2px solid var(--cart-border-light);
    border-radius: var(--cart-radius-sm);
    width: 70px;
    height: 44px;
    text-align: center;
    outline: none;
    -moz-appearance: textfield;
}

    .quantity-carrito input:focus,
    .product-cart-number input:focus {
        border-color: #FFE600;
        box-shadow: 0 0 0 3px rgba(255, 230, 0, 0.2);
    }

/* Poppins */
.cart-subtotal {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #111111;
}

.product-subtotal {
    width: 120px;
    text-align: center;
    padding: 20px 16px;
    vertical-align: middle;
}

    /* Poppins */
    .product-subtotal .amount {
        font-family: 'Poppins', sans-serif;
        font-size: 1rem;
        font-weight: 700;
        color: #111111;
    }

/* Poppins */
.cart-mobile-label {
    display: none;
    font-family: 'Poppins', sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cart-text-light);
    margin-bottom: 6px;
}

.cart-footer {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 32px;
    align-items: start;
    animation: cart-slideUp 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.2s;
    opacity: 0;
}

.cart-footer-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cart-footer-right {
    position: sticky;
    top: 24px;
}

.cart-info-card {
    background-color: #ffffff;
    border-radius: var(--cart-radius-md);
    padding: 24px;
    box-shadow: var(--cart-shadow-sm);
    border: 1px solid var(--cart-border-light);
    transition: all var(--cart-transition-normal);
}

    .cart-info-card:hover {
        box-shadow: var(--cart-shadow-md);
    }

.cart-info-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.cart-info-icon {
    font-size: 1.5rem;
}

/* Poppins */
.cart-info-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #111111;
    margin: 0;
}

/* Poppins */
.cart-info-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cart-text-light);
    margin: 0 0 16px 0;
    line-height: 1.5;
}

.cart-payment-methods,
.cart-shipping-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cart-payment-icon {
    background-color: #f9f9f9;
    border-radius: var(--cart-radius-sm);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cart-border-light);
    transition: all var(--cart-transition-fast);
}

    .cart-payment-icon:hover {
        border-color: #FFE600;
        transform: translateY(-2px);
        box-shadow: var(--cart-shadow-sm);
    }

    .cart-payment-icon img {
        max-height: 28px;
        width: auto;
        object-fit: contain;
    }

.formas-pago4 {
    background-color: #f9f9f9;
    border-radius: var(--cart-radius-sm);
    padding: 12px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cart-border-light);
    transition: all var(--cart-transition-fast);
    margin-right: 8px;
    margin-bottom: 8px;
}

    .formas-pago4:hover {
        border-color: #FFE600;
        transform: translateY(-2px);
        box-shadow: var(--cart-shadow-sm);
    }

    .formas-pago4 img {
        max-height: 28px;
        width: auto;
        object-fit: contain;
    }

.cart-totals-pagos {
    background-color: #ffffff;
    border-radius: var(--cart-radius-md);
    padding: 24px;
    box-shadow: var(--cart-shadow-sm);
    border: 1px solid var(--cart-border-light);
    margin-bottom: 20px;
}

    /* Poppins */
    .cart-totals-pagos h5 {
        font-family: 'Poppins', sans-serif;
        font-size: 1rem;
        font-weight: 600;
        color: #111111;
        margin: 0 0 12px 0;
    }

    /* Poppins */
    .cart-totals-pagos p {
        font-family: 'Poppins', sans-serif;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--cart-text-light);
        margin: 0 0 16px 0;
        line-height: 1.5;
    }

.cart-totals-card {
    background: #ffffff;
    border-radius: var(--cart-radius-md);
    padding: 28px;
    box-shadow: var(--cart-shadow-md);
    border: 1px solid var(--cart-border-light);
    position: relative;
    overflow: hidden;
}

    .cart-totals-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: #FFE600;
    }

/* Poppins */
.cart-totals-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111111;
    margin: 0 0 20px 0;
}

.cart-totals-rows {
    margin-bottom: 24px;
}

.cart-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--cart-border-light);
}

    .cart-totals-row:last-child {
        border-bottom: none;
    }

.cart-totals-row-final {
    padding-top: 18px;
    margin-top: 8px;
    border-top: 2px solid #111111;
    border-bottom: none;
}

/* Poppins */
.cart-totals-label {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--cart-text-medium);
}

/* Poppins */
.cart-totals-value {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #111111;
}

/* Poppins */
.cart-totals-final {
    font-family: 'Poppins', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #111111;
}

.cart-totals-totales {
    background: #ffffff;
    border-radius: var(--cart-radius-md);
    padding: 28px;
    box-shadow: var(--cart-shadow-md);
    border: 1px solid var(--cart-border-light);
    position: relative;
    overflow: hidden;
}

    .cart-totals-totales::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: #FFE600;
    }

    /* Poppins */
    .cart-totals-totales h5 {
        font-family: 'Poppins', sans-serif;
        font-size: 1.125rem;
        font-weight: 600;
        color: #111111;
        margin: 0 0 20px 0;
    }

    .cart-totals-totales table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 24px;
    }

    /* Poppins */
    .cart-totals-totales th,
    .cart-totals-totales td {
        font-family: 'Poppins', sans-serif;
        font-weight: 600;
        padding: 14px 0;
        border-bottom: 1px solid var(--cart-border-light);
    }

    .cart-totals-totales th {
        font-size: 0.9375rem;
        color: var(--cart-text-medium);
        text-align: left;
    }

    .cart-totals-totales td {
        text-align: right;
    }

    .cart-totals-totales .amount {
        font-weight: 700;
        color: #111111;
    }

    .cart-totals-totales tr.cart-order-total th,
    .cart-totals-totales tr.cart-order-total td {
        padding-top: 18px;
        border-top: 2px solid #111111;
        border-bottom: none;
    }

    .cart-totals-totales .cart-order-total .amount {
        font-size: 1.75rem;
        font-weight: 700;
        color: #111111;
    }

.cart-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Poppins */
.cart-btn {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: var(--cart-radius-xl);
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--cart-transition-normal);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cart-btn-primary {
    color: #111111;
    background: #FFE600;
    box-shadow: 0 4px 20px rgba(255, 230, 0, 0.35);
}

    .cart-btn-primary:hover {
        background: #FFD000;
        transform: translateY(-3px);
        box-shadow: 0 10px 30px rgba(255, 230, 0, 0.50);
        color: #111111;
    }

.cart-btn-secondary {
    color: #111111;
    background-color: transparent;
    border: 2px solid #111111;
}

    .cart-btn-secondary:hover {
        background-color: #111111;
        color: #FFE600;
        transform: translateY(-2px);
    }

/* Poppins */
.button.checkout {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: var(--cart-radius-xl);
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: block;
    transition: all var(--cart-transition-normal);
    text-align: center;
    margin-bottom: 12px;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
}

a.button.checkout:first-of-type,
.cart-actions .button.checkout:first-of-type {
    color: #111111;
    background: #FFE600;
    box-shadow: 0 4px 20px rgba(255, 230, 0, 0.35);
}

    a.button.checkout:first-of-type:hover,
    .cart-actions .button.checkout:first-of-type:hover {
        background: #FFD000;
        transform: translateY(-3px);
        box-shadow: 0 10px 30px rgba(255, 230, 0, 0.50);
    }

a.button.checkout:last-of-type,
.cart-actions .button.checkout:last-of-type {
    color: #111111;
    background-color: transparent;
    border: 2px solid #111111;
}

    a.button.checkout:last-of-type:hover,
    .cart-actions .button.checkout:last-of-type:hover {
        background-color: #111111;
        color: #FFE600;
        transform: translateY(-2px);
    }

.cart-empty-state {
    background-color: #ffffff;
    border-radius: var(--cart-radius-md);
    padding: 80px 40px;
    text-align: center;
    box-shadow: var(--cart-shadow-sm);
    border: 1px solid var(--cart-border-light);
    animation: cart-scaleIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.cart-empty-icon {
    font-size: 5rem;
    margin-bottom: 24px;
    display: block;
    animation: cart-bounce 2s ease-in-out infinite;
}

@keyframes cart-bounce {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

/* Poppins */
.cart-empty-message {
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--cart-text-medium);
    margin: 0 0 32px 0;
}

/* Poppins */
.cart-review {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #111111;
    background-color: #ffffff;
    border-radius: var(--cart-radius-md);
    box-shadow: var(--cart-shadow-sm);
    border: 1px solid var(--cart-border-light);
    padding: 24px;
}

    .cart-review:only-child {
        text-align: center;
        padding: 60px 24px;
        font-size: 1.125rem;
        color: var(--cart-text-medium);
    }

.table.non-responsive {
    width: 100%;
    border-collapse: collapse;
}

    .table.non-responsive thead {
        background: var(--cart-gradient-soft);
    }

        /* Poppins */
        .table.non-responsive thead th {
            font-family: 'Poppins', sans-serif;
            font-size: 0.6875rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--cart-text-light);
            padding: 20px 16px;
            text-align: left;
        }

    .table.non-responsive tbody tr {
        border-bottom: 1px solid var(--cart-border-light);
        transition: background-color var(--cart-transition-fast);
    }

        .table.non-responsive tbody tr:last-child {
            border-bottom: none;
        }

        .table.non-responsive tbody tr:hover {
            background-color: #FFFDE7;
        }

    .table.non-responsive td {
        padding: 20px 16px;
        vertical-align: middle;
    }

.cart-overview-big {
    margin-bottom: 32px;
}

.container_cell_col4 {
    flex: 1;
}

@keyframes cart-slideUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cart-scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* --- Responsive --- */
@media (max-width: 992px) {
    .cart-footer {
        grid-template-columns: 1fr;
    }

    .cart-footer-left {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .cart-footer-right {
        position: static;
    }

    .cart-overview-big .container_row {
        flex-direction: column;
    }

    .cart-overview-big .container_cell_col4 {
        width: 100%;
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    .productos_area.container {
        padding: 40px 0 80px;
    }

        .productos_area.container::before, .productos_area.container::after {
            display: none;
        }

    .cart-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .cart-title, .title-large {
        font-size: 1.875rem;
    }

    .cart-footer-left {
        grid-template-columns: 1fr;
    }

    .cart-table-head, .table.non-responsive thead {
        display: none;
    }

    .cart-table-body, .table.non-responsive tbody {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 16px;
    }

        .cart-item-row, .table.non-responsive tbody tr {
            display: grid;
            grid-template-columns: 80px 1fr;
            grid-template-rows: auto auto auto auto;
            gap: 12px 16px;
            background-color: #FFFDE7;
            border-radius: var(--cart-radius-md);
            padding: 16px;
            border: none !important;
        }

            .cart-item-row td, .table.non-responsive tbody td {
                padding: 0;
                border: none;
                width: auto !important;
                text-align: left !important;
            }

    .cart-col-remove, .product-remove {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .cart-col-image, .product-thumbnail-cart {
        grid-column: 1;
        grid-row: 1 / 4;
    }

        .cart-product-link, .product-thumbnail-cart a {
            width: 80px;
            height: 80px;
        }

    .cart-col-name, .product-name {
        grid-column: 2;
        grid-row: 1;
        padding-right: 50px;
    }

    .cart-col-price, .cart-col-qty, .cart-col-subtotal,
    .product-price, .product-quantity, .product-subtotal {
        grid-column: 2;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .cart-mobile-label {
        display: block;
    }

    .cart-col-subtotal, .product-subtotal {
        padding-top: 12px;
        border-top: 1px dashed var(--cart-border-light);
        margin-top: 4px;
    }
}

@media (max-width: 480px) {
    .productos_area.container {
        padding: 28px 0 60px;
    }

    .container_cell.container_cell_col8 {
        padding: 0 16px;
    }

    .cart-title, .title-large {
        font-size: 1.5rem;
    }

    .cart-info-card, .cart-totals-card, .cart-totals-pagos, .cart-totals-totales {
        padding: 20px;
    }

    .cart-btn, .button.checkout {
        padding: 14px 24px;
        font-size: 0.875rem;
    }

    .cart-empty-state {
        padding: 60px 24px;
    }

    .cart-empty-icon {
        font-size: 4rem;
    }

    .cart-totals-final, .cart-totals-totales .cart-order-total .amount {
        font-size: 1.5rem;
    }
}

.cart-btn:focus-visible, .cart-remove-btn:focus-visible,
.cart-product-link:focus-visible, .cart-product-title:focus-visible,
.cart-qty-input:focus-visible, .button.checkout:focus-visible {
    outline: 3px solid #FFE600;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    .productos_area.container {
        background-color: white;
        background-image: none;
        padding: 0;
    }

        .productos_area.container::before, .productos_area.container::after {
            display: none;
        }

    .cart-footer-left, .cart-actions, .cart-remove-btn, .product-remove, .button.checkout {
        display: none !important;
    }

    .cart-footer {
        grid-template-columns: 1fr;
    }

    .cart-table-wrapper, .cart-info-card, .cart-totals-card, .cart-review {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}
