/*your custom css goes here*/

/* ===== Menú lateral de categorías ===== */
.aiz-category-menu .category-nav-element > a {
    transition: background-color .2s, color .2s, box-shadow .2s;
}
.aiz-category-menu .category-nav-element:hover > a {
    background: var(--soft-primary);
    color: var(--primary) !important;
    box-shadow: inset 3px 0 0 var(--primary);
}
.aiz-category-menu .category-nav-element:hover > a .cat-image {
    opacity: 1 !important;
}

/* Panel de subcategorías: se ajusta al contenido en lugar de una caja fija */
.aiz-category-menu .sub-cat-menu,
.aiz-category-menu .sub-cat-menu.more {
    width: 360px !important;
    max-width: none !important;
    height: auto !important;
    min-height: 140px;
    max-height: 460px;
    padding: 0 !important;
    border: 1px solid #ececf1 !important;
    border-radius: 0 10px 10px 0;
    box-shadow: 0 12px 30px rgba(31, 31, 41, .12) !important;
    transform: translateX(-6px);
    transition: opacity .2s, transform .2s;
    pointer-events: none;
}
.aiz-category-menu .category-nav-element:hover .sub-cat-menu {
    transform: translateX(0);
    pointer-events: auto;
}
.aiz-category-menu .sub-cat-menu > .d-flex,
.aiz-category-menu .sub-cat-menu > .c-preloader {
    min-height: 140px;
}

.subcat-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px 12px;
    border-bottom: 1px solid #f0f0f4;
}
.subcat-panel-title {
    font-size: 15px;
    font-weight: 700;
    color: #1f1f29;
}
.subcat-panel-all {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    white-space: nowrap;
}
.subcat-panel-all:hover {
    text-decoration: underline;
    color: var(--primary);
}
.subcat-list {
    padding: 8px;
}
.subcat-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 8px;
    color: #1f1f29;
    transition: background-color .15s;
}
.subcat-item:hover {
    background: var(--soft-primary);
    color: #1f1f29;
    text-decoration: none;
}
.subcat-icon {
    flex: 0 0 38px;
    height: 38px;
    border-radius: 8px;
    background: #f4f4f8;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    font-size: 18px;
    overflow: hidden;
}
.subcat-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.subcat-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}
.subcat-name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}
.subcat-count {
    font-size: 12px;
    color: #8b8b99;
}
.subcat-arrow {
    color: #b5b5c3;
    font-size: 16px;
    transition: transform .15s, color .15s;
}
.subcat-item:hover .subcat-arrow {
    color: var(--primary);
    transform: translateX(3px);
}
.subcat-children {
    padding: 0 10px 6px 60px;
    margin: 0;
}
.subcat-children a {
    display: block;
    padding: 3px 0;
    font-size: 13px;
    color: #5c5c6b;
}
.subcat-children a:hover {
    color: var(--primary);
}

/* ===== Base ===== */
body { color: #1f1f29; }
.container { max-width: 1320px; }

/* ===== Banner principal ===== */
.store-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 320px;
    padding: 40px 48px;
    border-radius: 16px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.18) 0, rgba(255,255,255,0) 40%),
        radial-gradient(circle at 75% 110%, rgba(246,185,56,.35) 0, rgba(246,185,56,0) 45%),
        linear-gradient(120deg, var(--primary) 0%, #0f4a2c 100%);
}
.store-hero-text { max-width: 480px; position: relative; z-index: 2; }
.store-hero-kicker {
    display: inline-block;
    padding: 4px 12px;
    margin-bottom: 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.16);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.store-hero-title { font-size: 40px; line-height: 1.1; font-weight: 800; margin-bottom: 12px; color: #fff; }
.store-hero-sub { font-size: 15px; line-height: 1.6; opacity: .9; margin-bottom: 24px; }
.store-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.store-hero-btn, .store-hero-btn-ghost {
    border-radius: 10px;
    padding: 12px 24px;
    font-weight: 700;
    font-size: 14px;
}
.store-hero-btn { background: #fff; color: var(--primary); }
.store-hero-btn:hover { background: #e3f4e7; color: var(--primary); }
.store-hero-btn-ghost { border: 2px solid rgba(255,255,255,.6); color: #fff; }
.store-hero-btn-ghost:hover { background: #fff; color: var(--primary); }
.store-hero-media { position: relative; flex: 0 0 340px; height: 260px; align-items: flex-end; justify-content: center; }
.store-hero-product {
    position: absolute;
    bottom: 0;
    width: 150px;
    height: 190px;
    border-radius: 14px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 18px 40px rgba(0,0,0,.25);
    transition: transform .25s;
}
.store-hero-product img { width: 100%; height: 100%; object-fit: contain; }
.store-hero-product-0 { left: 50%; transform: translateX(-50%); z-index: 3; width: 170px; height: 220px; }
.store-hero-product-1 { left: 0; transform: rotate(-8deg); z-index: 2; bottom: 10px; }
.store-hero-product-2 { right: 0; transform: rotate(8deg); z-index: 1; bottom: 10px; }
.store-hero-product-0:hover { transform: translateX(-50%) translateY(-6px); }
.store-hero-product-1:hover { transform: rotate(-8deg) translateY(-6px); }
.store-hero-product-2:hover { transform: rotate(8deg) translateY(-6px); }
@media (max-width: 767px) {
    .store-hero { padding: 28px 22px; min-height: 0; }
    .store-hero-title { font-size: 28px; }
}

/* ===== Beneficios ===== */
.store-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border: 1px solid #ececf1;
    border-radius: 14px;
}
.store-benefit { display: flex; align-items: center; gap: 12px; padding: 18px 20px; }
.store-benefit + .store-benefit { border-left: 1px solid #ececf1; }
.store-benefit i {
    flex: 0 0 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--soft-primary);
    color: var(--primary);
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.store-benefit strong { display: block; font-size: 14px; }
.store-benefit span { display: block; font-size: 12px; color: #8b8b99; }
@media (max-width: 991px) {
    .store-benefits { grid-template-columns: repeat(2, 1fr); }
    .store-benefit:nth-child(3) { border-left: 0; }
    .store-benefit:nth-child(n+3) { border-top: 1px solid #ececf1; }
}
@media (max-width: 575px) {
    .store-benefit { padding: 14px 12px; }
    .store-benefit i { flex-basis: 36px; height: 36px; font-size: 18px; }
}

/* ===== Categorías destacadas ===== */
.store-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 128px;
    padding: 12px 10px 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #ececf1;
    color: #1f1f29;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.store-cat-card:hover {
    transform: translateY(-4px);
    border-color: var(--primary);
    box-shadow: 0 10px 24px rgba(31,31,41,.10);
    color: var(--primary);
    text-decoration: none;
}
.store-cat-img {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #f4f4f8;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.store-cat-img img { width: 78%; height: 78%; object-fit: contain; }
.store-cat-card:hover .store-cat-img img { transform: scale(1.08); }
.store-cat-name { margin-top: 10px; font-size: 13px; font-weight: 600; text-align: center; }

/* ===== Secciones de productos ===== */
#section_featured > section > .container > div,
#section_best_selling > section > .container > div,
#section_newest > section > .container > div {
    background: #fff !important;
    border: 1px solid #ececf1 !important;
    border-radius: 16px !important;
}
#section_featured h3.fs-md-20, #section_best_selling h3.fs-md-20, #section_newest h3.fs-md-20 {
    position: relative;
    padding-left: 14px;
}
#section_featured h3.fs-md-20::before, #section_best_selling h3.fs-md-20::before, #section_newest h3.fs-md-20::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 4px;
    border-radius: 4px;
    background: var(--primary);
}
.hov-animate-outline::before, .hov-animate-outline::after { display: none !important; }

/* ===== Tarjeta de producto ===== */
.aiz-card-box {
    background: #fff;
    border: 1px solid #f0f0f4;
    border-radius: 14px;
    padding: 10px !important;
    margin: 6px 0;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.aiz-card-box:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: 0 14px 30px rgba(31,31,41,.12);
}
.aiz-card-box > .position-relative {
    border-radius: 10px;
    background: #f7f7fa;
}
.aiz-card-box > .position-relative img { object-fit: contain !important; padding: 10px; }
.aiz-card-box h3 { font-weight: 600 !important; color: #1f1f29; }
.aiz-card-box h3 a { font-size: 13px; }
.aiz-card-box .text-primary.fw-700 { font-size: 17px; }
.aiz-card-box .cart-btn {
    left: 8px !important;
    right: 8px;
    bottom: 8px !important;
    width: auto !important;
    border-radius: 10px;
    background: var(--primary);
}
.aiz-card-box .cart-btn { transform: translateY(calc(100% + 12px)); opacity: 1; }
.aiz-card-box:hover .cart-btn { transform: translateY(0); }
.aiz-card-box .cart-btn:hover { background: var(--hov-primary); }
.aiz-card-box .absolute-top-right.aiz-p-hov-icon a {
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,.08);
}
@media (max-width: 991px) {
    /* En móvil no hay hover: el botón de carrito siempre visible */
    .aiz-card-box .aiz-p-hov-icon { opacity: 1 !important; visibility: visible !important; }
    .aiz-card-box .cart-btn { transform: none !important; }
}

/* ===== Cabecera ===== */
.top-navbar { background: #faf9ff !important; border-bottom: 1px solid #efedf7 !important; }
.front-header-search .form-control,
.front-header-search .input-group {
    border-radius: 12px !important;
}
.front-header-search input.form-control { background: #f6f6f9; border-color: #f0f0f4 !important; }
.front-header-search input.form-control:focus { background: #fff; border-color: var(--primary) !important; }

/* ===== Pie de página ===== */
footer .text-secondary-base,
footer a.text-secondary-base { color: var(--secondary-base) !important; }

/* ===== Ajustes móviles ===== */
@media (max-width: 991px) {
    .aiz-card-box .cart-btn { height: 32px !important; flex-direction: row !important; }
    /* En móvil el botón es un círculo pequeño con el carrito, en la esquina de la foto */
    .aiz-card-box .cart-btn .cart-btn-text { display: none; }
    .aiz-card-box .cart-btn {
        left: auto !important;
        right: 8px;
        bottom: 8px !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 50% !important;
        box-shadow: 0 6px 14px rgba(0,0,0,.18);
        z-index: 1;
    }
    .aiz-card-box .cart-btn > span:not(.cart-btn-text) { line-height: 1; }
    .aiz-card-box .cart-btn > span:not(.cart-btn-text) i { font-size: 18px !important; }
}
@media (max-width: 767px) {
    .store-hero-sub { font-size: 14px; margin-bottom: 18px; }
    .store-hero-btn, .store-hero-btn-ghost { padding: 10px 18px; font-size: 13px; }
    .store-cat-card { width: 112px; }
    .store-cat-img { width: 76px; height: 76px; }
}

/* ===== Página de producto ===== */
.product-hero {
    border: 1px solid #ececf1;
    border-radius: 16px;
    padding: 24px !important;
}
.product-hero .row > .col-xl-5 .aiz-carousel,
.product-hero .product-gal {
    border-radius: 12px;
}
.product-hero .product-title { font-size: 24px; line-height: 1.25; }
.product-hero #chosen_price,
.product-hero .text-primary.fs-20 { font-size: 28px !important; }
.product-hero .btn {
    border-radius: 10px !important;
    padding: 12px 22px;
    font-size: 15px;
}
/* "Agregar al carrito": violeta profundo, misma familia de color que "Comprar ahora" */
.product-hero .btn.add-to-cart.btn-secondary-base {
    background: linear-gradient(135deg, #0f4a2c 0%, #1f7a45 100%) !important;
    border: 0 !important;
    color: #fff !important;
    box-shadow: 0 10px 22px -12px rgba(15, 74, 44, .8);
}
.product-hero .btn.add-to-cart.btn-secondary-base:hover {
    background: linear-gradient(135deg, #0a3520 0%, #0f4a2c 100%) !important;
}
.product-hero .btn.buy-now { box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--primary) 80%, transparent); }
.product-hero .aiz-plus-minus {
    border: 1px solid #dfdfe6;
    border-radius: 10px;
    overflow: hidden;
}
.product-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 16px 0 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #faf9ff;
    border: 1px solid #efedf7;
}
.product-trust li { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #3d3d46; }
.product-trust i { color: var(--primary); font-size: 18px; }
section .bg-white.border,
.product-details-tab, 
section .bg-white.rounded-0 {
    border-radius: 14px !important;
}
@media (max-width: 767px) {
    .product-hero { padding: 14px !important; }
    .product-hero .product-title { font-size: 19px; }
    .product-hero .btn { padding: 11px 14px; font-size: 14px; min-width: 0 !important; flex: 1; }
    .product-hero .mt-3:has(> .add-to-cart) { display: flex; gap: 8px; }
}

/* ===== Listado de productos ===== */
.aiz-filter-sidebar .bg-white.border,
.collapse-sidebar .bg-white.border {
    border-color: #ececf1 !important;
    border-radius: 14px;
}
.aiz-filter-sidebar .fs-16.fw-700 { font-size: 15px !important; }
.breadcrumb-item + .breadcrumb-item::before { color: #b5b5c3; }

/* ===== Checkout: direcciones ===== */
.checkout-address { display: block; cursor: pointer; }
.checkout-address > input { position: absolute; opacity: 0; pointer-events: none; }
.checkout-address-box {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border: 1.5px solid #e6e6ee;
    border-radius: 12px;
    background: #fff;
    transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.checkout-address:hover .checkout-address-box { border-color: #cfc6f5; }
.checkout-address > input:checked + .checkout-address-box {
    border-color: var(--primary);
    background: #faf8ff;
    box-shadow: 0 0 0 3px var(--soft-primary);
}
.checkout-address-check {
    flex: 0 0 20px;
    height: 20px;
    margin-top: 2px;
    border-radius: 50%;
    border: 2px solid #c5c5d2;
    position: relative;
}
.checkout-address > input:checked + .checkout-address-box .checkout-address-check { border-color: var(--primary); }
.checkout-address > input:checked + .checkout-address-box .checkout-address-check::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--primary);
}
.checkout-address-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.checkout-address-street { font-size: 15px; font-weight: 700; color: #1f1f29; }
.checkout-address-zone { font-size: 13px; color: #5c5c6b; }
.checkout-address-phone { font-size: 13px; color: #8b8b99; margin-top: 4px; }
.checkout-address-edit {
    border: 1px solid #e6e6ee;
    border-radius: 8px;
    color: var(--primary);
    background: #fff;
    font-weight: 600;
    white-space: nowrap;
}
.checkout-address-edit:hover { background: var(--soft-primary); color: var(--primary); }
.checkout-address-add {
    border: 1.5px dashed #cfc6f5;
    border-radius: 12px;
    padding: 18px;
    text-align: center;
    cursor: pointer;
    color: var(--primary);
    transition: background-color .15s;
}
.checkout-address-add:hover { background: #faf8ff; }
.checkout-address-add i { color: var(--primary) !important; }

/* ===== Checkout y carrito: tarjetas ===== */
#accordioncCheckoutInfo .card,
.checkout-card,
#cart_summary .card,
#cart_summary > .border,
.cart-summary {
    border-radius: 14px !important;
    border-color: #ececf1 !important;
    overflow: hidden;
}
#submitOrderBtn, .cart-summary .btn-primary, #cart_summary .btn-primary {
    border-radius: 10px !important;
    padding-top: 12px;
    padding-bottom: 12px;
}
#cart_summary .bg-primary, #cart_summary .bg-secondary-base { border-radius: 8px; }
.aiz-megabox .aiz-megabox-elem { border-radius: 10px !important; }

/* ===== Portada: menú lateral a la altura del banner ===== */
.home-cat-col { padding-bottom: 0; }
.home-cat-col > .aiz-category-menu { border-radius: 0 0 12px 12px; }
.home-cat-col > .aiz-category-menu .category-nav-element:last-child { border-radius: 0 0 12px 12px; }
.home-cat-promo {
    margin-top: auto;
    width: 270px;
    padding: 18px;
    border-radius: 14px;
    background: linear-gradient(160deg, #f1f9f2 0%, #fff 100%);
    border: 1px solid #d6eedc;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.home-cat-promo i { font-size: 22px; color: var(--primary); width: 40px; height: 40px; border-radius: 12px; background: #fff;
    display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px -6px rgba(31, 122, 69, .35); }
.home-cat-promo strong { font-size: 15px; color: #1f1f29; }
.home-cat-promo span { font-size: 13px; color: #5c5c6b; line-height: 1.45; }
.home-cat-promo .btn { align-self: flex-start; margin-top: 6px; border-radius: 8px; font-weight: 600; }

/* ===== Portada: categorías destacadas en fila completa ===== */
.store-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}
.store-cat-grid .store-cat-card {
    width: auto;
    flex-direction: row;
    gap: 14px;
    padding: 14px 16px;
}
.store-cat-grid .store-cat-img { width: 64px; height: 64px; flex: 0 0 64px; }
.store-cat-grid .store-cat-name { margin-top: 0; font-size: 15px; text-align: left; }
.store-cat-grid .store-cat-card::after {
    content: '\f105';
    font-family: 'Line Awesome Free';
    font-weight: 900;
    margin-left: auto;
    color: #b5b5c3;
    transition: transform .2s, color .2s;
}
.store-cat-grid .store-cat-card:hover::after { color: var(--primary); transform: translateX(3px); }
@media (max-width: 575px) {
    .store-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .store-cat-grid .store-cat-card { flex-direction: column; text-align: center; padding: 12px; gap: 8px; }
    .store-cat-grid .store-cat-name { text-align: center; font-size: 14px; }
    .store-cat-grid .store-cat-card::after { display: none; }
}

/* ===== Móvil: barra inferior y botones flotantes ===== */
@media (max-width: 1199px) {
    /* Barra inferior sólida: antes era 90% transparente y se veía el contenido detrás */
    .aiz-mobile-bottom-nav {
        background-color: rgba(255, 255, 255, .97) !important;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        box-shadow: 0 -6px 20px rgba(31, 31, 41, .08);
        z-index: 1040;
    }
}
@media (max-width: 991px) {
    /* El botón naranja tapaba los productos: en móvil ya están Categorías y demás en la barra inferior */
    .floating-buttons-section { display: none !important; }
}

/* ===== Ventana "Agregar al carrito" ===== */
#addToCart .modal-content { border-radius: 16px; overflow: hidden; border: 0; }
#addToCart .addtocart-actions .btn {
    border-radius: 10px !important;
    padding: 12px 22px;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
#addToCart .aiz-plus-minus { border: 1px solid #dfdfe6; border-radius: 10px; overflow: hidden; }
@media (max-width: 991px) {
    /* En celular se abre como panel desde abajo, con scroll interno y el botón fijo al final */
    #addToCart .modal-dialog {
        margin: 0;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        width: 100%;
        min-height: 0;
        align-items: flex-end;
    }
    #addToCart .modal-content {
        border-radius: 18px 18px 0 0;
        max-height: 88vh;
    }
    #addToCart .addtocart-modal {
        max-height: 88vh;
        overflow-y: auto;
        padding: 20px 18px 0 !important;
    }
    #addToCart .addtocart-modal .product-gallery img {
        max-height: 200px;
        width: auto !important;
        margin: 0 auto;
        object-fit: contain;
    }
    #addToCart .addtocart-modal h2 { font-size: 17px !important; margin-top: 4px; }
    #addToCart .addtocart-actions {
        position: sticky;
        bottom: 0;
        margin: 16px -18px 0 !important;
        padding: 12px 18px 16px;
        background: #fff;
        border-top: 1px solid #ececf1;
        z-index: 2;
    }
    #addToCart .addtocart-actions .btn { width: 100%; }
    #addToCart .close { z-index: 5 !important; }
}

/* ===== Modal "Producto agregado": botón secundario con borde en vez de color de relleno ===== */
.btn-keep-shopping { border-width: 2px; font-weight: 600; background: #fff; }
.btn-keep-shopping:hover { background: color-mix(in srgb, var(--primary) 8%, #fff); color: var(--primary); }
#addToCart .btn-block { border-radius: 10px !important; padding-top: 11px; padding-bottom: 11px; }

/* ===== Carrito en la barra de menú: píldora ligera en lugar del bloque oscuro ===== */
.nav-cart-wrap .nav-cart-box { height: auto !important; }
.nav-cart-wrap .nav-cart-box > a {
    height: 38px !important; padding: 0 16px !important; border-radius: 999px;
    background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22);
    transition: background .2s ease;
}
.nav-cart-wrap .nav-cart-box > a:hover,
.nav-cart-wrap .nav-cart-box.show > a { background: rgba(255,255,255,.24); }
.nav-cart-wrap .nav-cart-box > a svg { width: 20px; height: auto; }
.nav-cart-wrap .nav-cart-box > a > .mr-2 { margin-right: 0 !important; }
.nav-cart-wrap .nav-box-text { opacity: .85; padding-left: 10px; margin-left: 10px !important; border-left: 1px solid rgba(255,255,255,.3); }
.nav-cart-wrap .nav-box-text .cart-count { font-weight: 700; }
.nav-cart-wrap .dropdown-menu { margin-top: 10px; border-radius: 14px !important; overflow: hidden; border: 0; box-shadow: 0 18px 40px -12px rgba(17,24,39,.25); }

/* ===================================================================
   Panel del cliente (dashboard, pedidos, perfil, favoritos)
   =================================================================== */
.aiz-user-panel { min-width: 0; }
@media (min-width: 1200px) { .aiz-user-panel { padding-left: 28px; } }

/* Menú lateral */
.aiz-user-sidenav-wrap { background: #fff; border: 1px solid #ececf1 !important; border-radius: 16px !important; overflow: hidden; }
@media (min-width: 1200px) { .aiz-user-sidenav-wrap { position: sticky !important; top: 90px; } }
.aiz-user-sidenav { padding: 0 14px 18px !important; }
.aiz-user-sidenav > .p-4.text-center { margin: 0 -14px 14px !important; padding: 26px 20px 20px !important; border: 0 !important;
    background: linear-gradient(135deg, var(--primary), #0f4a2c); color: #fff; }
.aiz-user-sidenav > .p-4.text-center h4 { color: #fff !important; font-size: 15px !important; }
.aiz-user-sidenav > .p-4.text-center .opacity-60 { color: rgba(255,255,255,.85); opacity: 1 !important; }
.aiz-user-sidenav > .p-4.text-center .avatar { width: 64px; height: 64px; border: 3px solid rgba(255,255,255,.5); border-radius: 50%; background: #fff; }
.aiz-user-sidenav .aiz-side-nav-list { border: 0 !important; }
.aiz-user-sidenav .aiz-side-nav-link { border-radius: 10px; padding: 10px 12px !important; margin-bottom: 2px; color: #4b5563; font-weight: 500; transition: background .15s ease, color .15s ease; }
.aiz-user-sidenav .aiz-side-nav-link:hover { background: #f1f9f2; color: var(--primary); }
.aiz-user-sidenav .aiz-side-nav-link.active { background: color-mix(in srgb, var(--primary) 12%, #fff) !important; color: var(--primary) !important; font-weight: 700; }
.aiz-user-sidenav .aiz-side-nav-link.active svg path, .aiz-user-sidenav .aiz-side-nav-link:hover svg path { fill: var(--primary); }
.aiz-user-sidenav .up-logout { border-radius: 10px !important; border-width: 1.5px; }

/* Cupón de bienvenida */
.up-coupon { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 18px; border-radius: 14px;
    background: #f1f9f2; border: 1px dashed color-mix(in srgb, var(--primary) 45%, #fff); color: #145238; font-size: 14px; }
.up-coupon > i { font-size: 26px; color: var(--primary); }

/* Saludo */
.up-welcome { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 24px 28px;
    border-radius: 16px; color: #fff; background:
        radial-gradient(circle at 90% 0%, rgba(255,255,255,.18) 0, rgba(255,255,255,0) 45%),
        linear-gradient(120deg, var(--primary) 0%, #0f4a2c 100%); }
.up-welcome-title { font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.up-welcome p { opacity: .88; font-size: 14px; }
.up-welcome-btn { background: #fff; color: var(--primary); font-weight: 700; border-radius: 10px; padding: 10px 18px; }
.up-welcome-btn:hover { background: #e3f4e7; color: var(--primary); }

/* Tarjetas de resumen */
.up-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; }
.up-stat { display: flex; flex-direction: column; gap: 4px; padding: 18px; background: #fff; border: 1px solid #ececf1; border-radius: 14px;
    color: #111827; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.up-stat:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -14px rgba(17,24,39,.2); border-color: color-mix(in srgb, var(--primary) 30%, #ececf1); color: #111827; text-decoration: none; }
.up-stat-icon { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 8px;
    font-size: 22px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, #fff); }
.up-stat-label { font-size: 13px; color: #6b7280; }
.up-stat-value { font-size: 22px; font-weight: 800; line-height: 1.2; }

/* Tarjetas genéricas */
.up-card { background: #fff; border: 1px solid #ececf1; border-radius: 16px; padding: 20px 22px; }
.up-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.up-card-title { font-size: 16px; font-weight: 700; color: #111827; margin: 0; }
.up-card-link { font-size: 13px; font-weight: 600; color: var(--primary); display: inline-flex; align-items: center; gap: 4px; }
.up-empty { text-align: center; padding: 24px 12px; color: #6b7280; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.up-empty > i { font-size: 42px; color: color-mix(in srgb, var(--primary) 45%, #fff); margin-bottom: 8px; }
.up-empty p { margin-bottom: 12px; font-size: 14px; }

/* Lista de pedidos */
.up-orders li + li { border-top: 1px solid #f1f1f5; }
.up-order { display: flex; align-items: center; gap: 14px; padding: 12px 6px; color: #111827; border-radius: 10px; }
.up-order:hover { background: #faf9ff; color: #111827; text-decoration: none; }
.up-order-icon { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; background: #f3f4f8; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: #6b7280; }
.up-order-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.up-order-code { font-weight: 700; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.up-order-date { font-size: 12px; color: #9ca3af; }
.up-order-total { font-weight: 700; font-size: 14px; min-width: 90px; text-align: right; }
.up-order-arrow { color: #c4c4cf; }
.up-badge { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.up-badge-warning { background: #fef3c7; color: #92400e; }
.up-badge-info { background: #e0f2fe; color: #075985; }
.up-badge-primary { background: #e3f4e7; color: #1f7a45; }
.up-badge-success { background: #dcfce7; color: #166534; }
.up-badge-danger { background: #fee2e2; color: #991b1b; }
.up-badge-secondary { background: #f3f4f6; color: #374151; }

/* Dirección */
.up-address { display: flex; gap: 12px; font-size: 14px; color: #4b5563; line-height: 1.6; }
.up-address > i { font-size: 24px; color: var(--primary); }

/* Favoritos */
.up-wish-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.up-wish { position: relative; border: 1px solid #f0f0f4; border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.up-wish-img { display: block; aspect-ratio: 1 / 1; background: #f7f7fa; border-radius: 10px; overflow: hidden; }
.up-wish-img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.up-wish-remove { position: absolute; top: 18px; right: 18px; width: 32px; height: 32px; border-radius: 50%; border: 0; background: #fff;
    color: #ef4444; box-shadow: 0 2px 8px rgba(17,24,39,.12); display: inline-flex; align-items: center; justify-content: center; }
.up-wish-name { font-size: 13px; font-weight: 600; color: #111827; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 35px; }
.up-wish-price { font-weight: 700; color: var(--primary); }
.up-wish .btn { border-radius: 8px; }

@media (max-width: 991px) {
    .up-wish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 575px) {
    .up-welcome { padding: 20px; }
    .up-welcome-title { font-size: 20px; }
    .up-welcome-btn { width: 100%; }
    .up-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .up-stat { padding: 14px; }
    .up-stat-value { font-size: 18px; }
    .up-card { padding: 16px; }
    .up-order { gap: 10px; flex-wrap: wrap; }
    .up-order-icon { display: none; }
    .up-order-total { min-width: 0; }
    .up-order-arrow { display: none; }
}

@media (max-width: 575px) { .up-stat:last-child:nth-child(odd) { grid-column: span 2; } }

/* ===== Carrito del menú: más vistoso cuando tiene productos ===== */
.nav-cart-wrap .nav-cart-box > a.nav-cart-btn { height: 42px !important; padding: 0 16px 0 5px !important; }
.nav-cart-icon { position: relative; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.18); }
.nav-cart-icon svg { width: 18px !important; }
.nav-cart-badge { position: absolute; top: -6px; right: -7px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px;
    background: #ef4444; color: #fff; font-size: 11px; font-weight: 800; line-height: 19px; text-align: center;
    border: 2px solid #fff; box-shadow: 0 2px 6px rgba(239,68,68,.45); }

/* Con productos: píldora blanca, texto morado e icono en círculo morado */
.nav-cart-wrap .nav-cart-box > a.nav-cart-btn.has-items {
    background: #fff; border-color: #fff; box-shadow: 0 6px 18px -6px rgba(17,24,39,.35);
    animation: navCartPop .45s ease-out;
}
.nav-cart-wrap .nav-cart-box > a.nav-cart-btn.has-items:hover { background: #f1f9f2; }
.nav-cart-btn.has-items .nav-cart-icon { background: var(--primary); }
.nav-cart-btn.has-items .text-white { color: var(--primary) !important; }
.nav-cart-btn.has-items .nav-box-text { color: #4b5563 !important; opacity: 1; border-left-color: #e5e7eb; }
@keyframes navCartPop { 0% { transform: scale(.9); } 60% { transform: scale(1.06); } 100% { transform: scale(1); } }

/* ===== Checkout: opción de pago Culqi (tarjeta + Yape) ===== */
.pay-culqi { display: flex !important; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px;
    padding: 16px 18px !important; border-radius: 14px !important; }
.pay-culqi-text { display: flex; flex-direction: column; }
.pay-culqi-title { font-size: 15px; font-weight: 700; color: #111827; }
.pay-culqi-sub { font-size: 12px; color: #6b7280; margin-top: 2px; }
.pay-culqi-sub i { color: #16a34a; }
.pay-culqi-logos { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pay-logo-yape { height: 34px; width: auto; border-radius: 8px; }
.pay-logo-culqi { height: 22px; width: auto; margin-left: 4px; padding-left: 10px; border-left: 1px solid #e5e7eb; }
.pay-logo-card { height: 34px; min-width: 52px; border-radius: 8px; border: 1px solid #e5e7eb; background: #fff;
    display: inline-flex; align-items: center; justify-content: center; }
.pay-logo-visa { font-size: 15px; font-weight: 900; font-style: italic; letter-spacing: .02em; color: #1a1f71; }
.pay-logo-mc i { width: 18px; height: 18px; border-radius: 50%; display: block; }
.pay-logo-mc i:first-child { background: #eb001b; }
.pay-logo-mc i:last-child { background: #f79e1b; margin-left: -7px; opacity: .9; }
@media (max-width: 575px) {
    .pay-culqi-logos { width: 100%; }
}

@media (max-width: 575px) { .checkout-submit { width: 100%; padding-top: 13px; padding-bottom: 13px; border-radius: 10px !important; } }

/* Evita el desplazamiento lateral por filas con margen negativo (gutters) en móvil; clip no rompe position: sticky */
html, body { overflow-x: clip; }

/* ===== Carrito vacío ===== */
.cart-empty { background: #fff; border: 1px solid #ececf1; border-radius: 18px; padding: 44px 24px; text-align: center; }
.cart-empty-icon { width: 84px; height: 84px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 40px; color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, #fff); margin-bottom: 18px; }
.cart-empty-title { font-size: 22px; font-weight: 800; color: #111827; margin-bottom: 8px; }
.cart-empty-text { font-size: 14px; color: #6b7280; max-width: 360px; margin: 0 auto 22px; }
.cart-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.cart-empty-actions .btn { border-radius: 10px; padding: 11px 22px; font-weight: 700; }
@media (max-width: 575px) { .cart-empty-actions .btn { width: 100%; } }

/* Ficha de producto en móvil: filas compactas (etiqueta a la izquierda, valor a la derecha) */
@media (max-width: 575px) {
    .pd-info .product-title { font-size: 20px; margin-bottom: 8px !important; }
    .pd-info > .row.align-items-center { margin-bottom: 8px !important; }
    .pd-info > .row.align-items-center .col.mb-3 { margin-bottom: 8px !important; }
    .pd-info hr { margin: 8px 0 12px; }
    .pd-info .row.no-gutters.mb-3:not(.d-none),
    .pd-info #chosen_price_div:not(.d-none) { display: flex; flex-wrap: nowrap; align-items: center; margin-bottom: 12px !important; padding-bottom: 0 !important; }
    .pd-info .row.no-gutters > .col-sm-2 { flex: 0 0 82px; max-width: 82px; }
    .pd-info .row.no-gutters > .col-sm-2 > div { margin-top: 0 !important; }
    .pd-info .row.no-gutters > .col-sm-10 { flex: 1 1 auto; min-width: 0; }
    .pd-info .product-quantity { flex-wrap: wrap; gap: 4px; }
    .pd-info #chosen_price { font-size: 22px !important; }
}

/* ===== Libro de Reclamaciones ===== */
.lr-card { max-width: 760px; background: #fff; border: 1px solid #ececf3; border-radius: 18px; padding: 32px; box-shadow: 0 24px 50px -32px rgba(49, 46, 129, .35); }
.lr-head { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
.lr-head-icon, .lr-done-icon { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 28px; color: #fff; background: linear-gradient(140deg, var(--primary) 0%, #0f4a2c 100%); }
.lr-title { font-size: 24px; font-weight: 800; color: #111827; margin-bottom: 4px; }
.lr-sub { font-size: 14px; color: #6b7280; margin-bottom: 0; line-height: 1.55; }
.lr-provider { display: flex; flex-wrap: wrap; gap: 8px 32px; padding: 12px 16px; border-radius: 12px; background: #faf9ff; border: 1px solid #efedf7; margin-bottom: 20px; }
.lr-provider span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #9ca3af; }
.lr-provider strong { font-size: 14px; color: #1f1f29; }
.lr-alert { border-radius: 12px; font-size: 14px; }
.lr-section { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; color: #1f1f29; margin: 26px 0 14px; padding-top: 20px; border-top: 1px solid #f0eff5; }
.lr-form > .lr-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.lr-section span { width: 26px; height: 26px; border-radius: 50%; background: color-mix(in srgb, var(--primary) 12%, #fff); color: var(--primary);
    font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.lr-form label { font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.lr-form .form-control { border-radius: 10px !important; border: 1.5px solid #e5e7eb; background: #fafafc; font-size: 14px; }
.lr-form input.form-control, .lr-form select.form-control { height: 46px; }
.lr-form .form-control:focus { background: #fff; border-color: var(--primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent); }
.lr-check { font-weight: 500 !important; margin: 4px 0 14px; }
.lr-toggle { display: inline-flex; padding: 4px; border-radius: 12px; background: #f3f3f7; }
.lr-toggle label { margin: 0; cursor: pointer; }
.lr-toggle input, .lr-types input { position: absolute; opacity: 0; pointer-events: none; }
.lr-toggle span { display: block; padding: 8px 20px; border-radius: 9px; font-size: 14px; color: #6b7280; transition: all .15s ease; }
.lr-toggle input:checked + span { background: #fff; color: var(--primary); box-shadow: 0 2px 8px -3px rgba(0,0,0,.18); }
.lr-types { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lr-types label { margin: 0; cursor: pointer; }
.lr-types span { display: block; height: 100%; padding: 14px 16px; border-radius: 12px; border: 1.5px solid #e5e7eb; transition: all .15s ease; }
.lr-types strong { display: block; font-size: 15px; color: #1f1f29; margin-bottom: 2px; }
.lr-types small { font-size: 12.5px; color: #6b7280; font-weight: 400; line-height: 1.45; display: block; }
.lr-types input:checked + span { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 6%, #fff); }
.lr-submit { height: 50px; border-radius: 12px !important; font-size: 15px; font-weight: 700; margin-top: 8px; }
.lr-note { font-size: 12px; color: #9ca3af; text-align: center; margin: 16px 0 0; line-height: 1.5; }
.lr-done { text-align: center; margin-bottom: 24px; }
.lr-done-icon { margin-bottom: 14px; background: #16a34a; }
.lr-code { display: inline-block; font-size: 26px; font-weight: 800; letter-spacing: .04em; color: var(--primary); padding: 10px 24px; border-radius: 12px;
    background: color-mix(in srgb, var(--primary) 8%, #fff); border: 1.5px dashed color-mix(in srgb, var(--primary) 40%, #fff); margin-bottom: 14px; }
.lr-print { display: table; margin: 0 auto; border-radius: 10px !important; }
.lr-sheet { border: 1px solid #ececf3; border-radius: 14px; padding: 20px; }
.lr-sheet-title { font-size: 16px; font-weight: 700; margin-bottom: 14px; }
.lr-dl { display: grid; grid-template-columns: 180px 1fr; gap: 10px 16px; margin: 0; font-size: 14px; }
.lr-dl dt { color: #6b7280; font-weight: 500; }
.lr-dl dd { margin: 0; color: #1f1f29; word-break: break-word; }
.footer-lr { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,.25); color: inherit !important; font-size: 13px; font-weight: 600; }
.footer-lr i { font-size: 22px; }
.footer-lr:hover { background: rgba(255,255,255,.08); text-decoration: none; }
@media (max-width: 575px) {
    .lr-card { padding: 20px 16px; border-radius: 14px; }
    .lr-title { font-size: 20px; }
    .lr-head-icon { flex-basis: 44px; width: 44px; height: 44px; font-size: 24px; }
    .lr-types { grid-template-columns: 1fr; }
    .lr-form .form-control { font-size: 16px; }
    .lr-dl { grid-template-columns: 1fr; gap: 2px; }
    .lr-dl dd { margin-bottom: 10px; }
    .lr-code { font-size: 20px; }
}
@media print {
    header, footer, .aiz-mobile-bottom-nav, .top-navbar { display: none !important; }
    .lr-card { box-shadow: none; border: 0; padding: 0; max-width: 100%; }
}

/* ===== Páginas legales ===== */
.legal-page { max-width: 820px; font-size: 15px; line-height: 1.7; color: #374151; }
.legal-page h2 { font-size: 18px; font-weight: 700; color: #111827; margin: 28px 0 10px; }
.legal-page ul, .legal-page ol { padding-left: 22px; }
.legal-page li { margin-bottom: 6px; }
.legal-page a { color: var(--primary); font-weight: 600; }
.legal-updated { font-size: 13px; color: #9ca3af; }
.legal-page mark { background: #fef3c7; color: #92400e; padding: 0 4px; border-radius: 4px; }

/* ===== Pantalla de pago Culqi ===== */
.culqi-pay-card { border-radius: 18px !important; border-color: #ececf3 !important; box-shadow: 0 24px 50px -32px rgba(49, 46, 129, .35) !important; }
.culqi-pay-logos { display: flex; justify-content: center; align-items: center; gap: 10px; }
.culqi-pay-logos .pay-logo-yape { height: 34px; width: auto; }
.culqi-pay-btn { height: 50px; border-radius: 12px !important; font-size: 15px; }
.culqi-pay-by { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #f0eff5;
    font-size: 12px; color: #9ca3af; }
.culqi-pay-by img { height: 16px; width: auto; }

/* Kallpa Vital: logo más visible y banner sin productos */
.site-logo { height: 40px; width: auto; }
@media (min-width: 768px) { .site-logo { height: 56px; } }
.store-hero-brand { flex: 0 0 300px; align-items: center; justify-content: center; }
.store-hero-brand img { width: 260px; height: 260px; filter: drop-shadow(0 24px 40px rgba(0,0,0,.35)); animation: kv-float 6s ease-in-out infinite; }
@keyframes kv-float { 50% { transform: translateY(-10px); } }

/* Categorías destacadas: filas completas y centradas (6 categorías = 2 filas de 3, o 1 fila de 6 en pantallas grandes) */
@media (min-width: 576px) {
    .store-cat-grid { display: flex; flex-wrap: wrap; justify-content: center; }
    .store-cat-grid .store-cat-card { flex: 0 0 calc((100% - 32px) / 3); }
}
@media (min-width: 992px) {
    .store-cat-grid .store-cat-card { flex-basis: calc((100% - 32px) / 3); min-width: 0; padding: 12px 14px; gap: 12px; }
    .store-cat-grid .store-cat-img { width: 54px; height: 54px; flex-basis: 54px; }
    .store-cat-grid .store-cat-name { font-size: 14px; min-width: 0; }
}

/* Inicio compacto en escritorio: menú de categorías más bajo y banner del mismo alto, sin huecos */
@media (min-width: 992px) {
    .home-cat-col .home-cat-promo { display: none; }
    .home-cat-col > .aiz-category-menu .category-nav-element > a { padding-top: 7px !important; padding-bottom: 7px !important; }
    .store-hero { height: 100%; min-height: 0; padding: 32px 44px; }
    .store-hero-title { font-size: 36px; }
}

/* Notificaciones con el estilo de la marca: tarjeta blanca con acento de color */
.aiz-notify.alert {
    background: #fff !important;
    color: #1f2a24 !important;
    border-left: 5px solid #1f7a45;
    border-radius: 12px;
    padding: 16px 48px 16px 54px;
    box-shadow: 0 10px 30px rgba(15, 61, 42, .18);
    font-weight: 500;
    line-height: 1.45;
}
.aiz-notify.alert::before {
    font-family: "Line Awesome Free";
    font-weight: 900;
    content: "\f05a";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    background: #1f7a45;
}
.aiz-notify.alert-success::before { content: "\f00c"; }
.aiz-notify.alert-warning { border-left-color: #d9a21b; }
.aiz-notify.alert-warning::before { background: #d9a21b; content: "\f129"; }
.aiz-notify.alert-danger { border-left-color: #c94a3f; }
.aiz-notify.alert-danger::before { background: #c94a3f; content: "\f00d"; }
.aiz-notify.alert .close { color: #6b7a72 !important; }
.aiz-notify.alert .close:hover { color: #1f2a24 !important; }
.aiz-notify.alert .progress-bar { background-color: #1f7a45 !important; opacity: .35; }
.aiz-notify.alert-warning .progress-bar { background-color: #d9a21b !important; }
.aiz-notify.alert-danger .progress-bar { background-color: #c94a3f !important; }

@media (min-width: 1200px) {
    .store-cat-grid .store-cat-card { flex-basis: calc((100% - 80px) / 6); flex-direction: column; text-align: center; padding: 14px 10px; }
    .store-cat-grid .store-cat-name { text-align: center; }
    .store-cat-grid .store-cat-card::after { display: none; }
}

/* ===== Banner deslizable: principal + Para él / Para ella ===== */
.store-hero-slider { position: relative; border-radius: 16px; overflow: hidden; }
.store-hero-slider .carousel-box { padding: 0; }
.store-hero-slider .store-hero { height: 340px; border-radius: 16px; }
.store-hero-para-el {
    background:
        radial-gradient(circle at 80% 20%, rgba(240,162,27,.28) 0, rgba(240,162,27,0) 45%),
        linear-gradient(120deg, #0b2a1d 0%, #14532d 100%);
}
.store-hero-para-ella {
    background:
        radial-gradient(circle at 85% 15%, rgba(255,255,255,.28) 0, rgba(255,255,255,0) 45%),
        linear-gradient(120deg, #a63d52 0%, #e0877a 100%);
}
.store-hero-para-ella .store-hero-btn { color: #a63d52; }
.store-hero-para-ella .store-hero-btn:hover { background: #fde8e4; color: #a63d52; }
.store-hero-slider .slick-dots { position: absolute; left: 48px; bottom: 18px; margin: 0; justify-content: flex-start; }
.store-hero-slider .slick-dots button { width: 10px; height: 10px; background: rgba(255,255,255,.45); transition: width .25s; }
.store-hero-slider .slick-dots .slick-active button { width: 26px; border-radius: 6px; background: #fff; }
.store-hero-slider .slick-arrow { opacity: 0; transition: opacity .2s; background: rgba(255,255,255,.9); color: #1f2a24; }
.store-hero-slider:hover .slick-arrow { opacity: 1; }
.store-hero-slider .slick-prev { left: 12px; }
.store-hero-slider .slick-next { right: 12px; }
@media (max-width: 767px) {
    .store-hero-slider .store-hero { height: 315px; }
    .store-hero-slider .slick-dots { left: 22px; bottom: 12px; }
    .store-hero-slider .slick-arrow { display: none !important; }
}

/* Menú lateral del inicio: las categorías llenan todo el alto del banner */
@media (min-width: 1200px) {
    .home-cat-col > .aiz-category-menu { flex: 1; display: flex; flex-direction: column; }
    .home-cat-col > .aiz-category-menu > .categories { flex: 1; display: flex; flex-direction: column; }
    .home-cat-col > .aiz-category-menu .category-nav-element { flex: 1; display: flex; }
    .home-cat-col > .aiz-category-menu .category-nav-element > a { display: flex !important; align-items: center; width: 100%; white-space: normal; line-height: 1.3; }
    .home-cat-col > .aiz-category-menu .cat-image { width: 22px; height: 22px; flex: 0 0 22px; margin-right: 12px !important; opacity: 1 !important; }
}

/* Pie de página: agencias de envío */
.kv-envios { display: flex; flex-wrap: wrap; gap: 10px; }
.kv-envio { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 48px; min-width: 120px; padding: 6px 14px;
    background: #fff; border-radius: 10px; color: #1f2a24; font-weight: 700; font-size: 15px; }
.kv-envio i { color: var(--primary); font-size: 20px; }
.kv-envio img { max-height: 36px; max-width: 120px; object-fit: contain; }
.kv-envios { flex-wrap: nowrap; max-width: 340px; } .kv-envio { flex: 1 1 0; min-width: 0; } .kv-envio img { max-width: 100%; }

/* Colecciones del inicio: Para él (verde) / Para ella (rosa), en tonos suaves y del mismo estilo */
.kv-coleccion { --kv-acento: #1f7a45; --kv-titulo: #0f3d2a; --kv-fondo1: #f2f9f4; --kv-fondo2: #e2f1e7;
    position: relative; overflow: hidden; color: #4b5563; border: 1px solid rgba(0,0,0,.05);
    background: linear-gradient(135deg, var(--kv-fondo1), var(--kv-fondo2)); }
.kv-coleccion::before { content: ''; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--kv-acento); }
.kv-coleccion-para-ella { --kv-acento: #c2554a; --kv-titulo: #7a2e26; --kv-fondo1: #fdf5f3; --kv-fondo2: #f9e4df; }
.kv-coleccion h3 { color: var(--kv-titulo); }
.kv-coleccion-icon { width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: 24px; color: #fff; background: var(--kv-acento); box-shadow: 0 6px 16px -6px var(--kv-acento); }
.kv-coleccion-link { white-space: nowrap; color: var(--kv-acento); background: #fff; padding: 7px 14px; border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06); transition: background .2s, color .2s; }
.kv-coleccion-link:hover { background: var(--kv-acento); color: #fff; }
.kv-coleccion-item { background: #fff; border-radius: 14px; box-shadow: 0 4px 16px -8px rgba(0,0,0,.18); transition: transform .2s, box-shadow .2s; color: #1f2a24; }
.kv-coleccion-item:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -10px rgba(0,0,0,.25); }
.kv-coleccion-item .aiz-card-box { border: 0 !important; box-shadow: none !important; background: transparent !important; }
.kv-coleccion-cta { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 6px;
    min-height: 220px; padding: 20px; border-radius: 14px; border: 2px dashed var(--kv-acento); background: rgba(255,255,255,.55);
    color: var(--kv-titulo); transition: background .2s; }
.kv-coleccion-cta:hover { background: #fff; color: var(--kv-titulo); }
.kv-coleccion-cta strong { font-size: 15px; }
.kv-coleccion-cta > span:last-child { font-size: 12px; color: #6b7280; }
.kv-coleccion-cta-icon { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: var(--kv-acento); color: #fff; font-size: 20px; margin-bottom: 4px; }

/* ===== Vista rápida "Agregar al carrito": galería con fondo de marca y datos ordenados ===== */
@media (min-width: 992px) { #addToCart .modal-lg { max-width: 920px; } }
#addToCart .qv-gallery { position: relative; padding: 48px 32px 32px; display: flex; flex-direction: column; justify-content: center;
    background: radial-gradient(circle at 30% 25%, #ffffff 0, rgba(255,255,255,0) 60%), linear-gradient(160deg, #eef7f1 0%, #dcefe3 100%); }
#addToCart .qv-gallery .product-gallery img { max-height: 340px; width: auto !important; margin: 0 auto; object-fit: contain;
    filter: drop-shadow(0 18px 24px rgba(15, 61, 42, .18)); }
#addToCart .qv-gallery .carousel-thumb .carousel-box { border-radius: 10px !important; background: #fff; }
#addToCart .qv-chip { position: absolute; top: 18px; left: 20px; z-index: 2; padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 700;
    background: #fff; color: var(--primary); box-shadow: 0 2px 8px rgba(0,0,0,.06); }
#addToCart .qv-chip:hover { background: var(--primary); color: #fff; }
#addToCart .qv-info { padding: 44px 36px 32px; }
#addToCart .qv-brand { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9a9aa8; margin-bottom: 6px; }
#addToCart .qv-title { font-size: 22px; font-weight: 800; line-height: 1.25; margin-bottom: 10px; padding-right: 30px; }
#addToCart .qv-summary { font-size: 14px; line-height: 1.55; color: #5c6670; margin-bottom: 14px; }
#addToCart .qv-price { display: flex; align-items: baseline; gap: 6px; padding: 12px 0 16px; border-bottom: 1px solid #eef0f2; margin-bottom: 4px; }
#addToCart .qv-price strong { font-size: 28px; font-weight: 800; color: var(--primary); }
#addToCart .qv-price span { font-size: 14px; color: #8a8f98; }
#addToCart .qv-stock { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #1f7a45;
    background: #eaf6ee; padding: 5px 10px; border-radius: 20px; }
#addToCart .qv-stock i { width: 8px; height: 8px; border-radius: 50%; background: #2fb36a; box-shadow: 0 0 0 3px rgba(47,179,106,.2); }
#addToCart .aiz-plus-minus .btn { background: #f5f7f6; }
#addToCart .qv-total { background: #f6faf7; border-radius: 12px; padding: 10px 14px; }
#addToCart .addtocart-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px !important; }
#addToCart .addtocart-actions .add-to-cart { flex: 1 1 auto; box-shadow: 0 10px 20px -10px rgba(31,122,69,.6); }
#addToCart .qv-details { border: 2px solid #dfe5e1; color: #1f2a24; background: #fff; }
#addToCart .qv-details:hover { border-color: var(--primary); color: var(--primary); }
#addToCart .qv-trust { margin-top: 22px; padding-top: 16px; border-top: 1px dashed #e2e6e4; display: grid; gap: 8px; }
#addToCart .qv-trust li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #5c6670; }
#addToCart .qv-trust i { width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
    background: #eef7f1; color: var(--primary); font-size: 16px; flex-shrink: 0; }
@media (max-width: 991px) {
    #addToCart .qv-gallery { padding: 44px 18px 18px; }
    #addToCart .qv-gallery .product-gallery img { max-height: 180px; }
    #addToCart .qv-info { padding: 18px 18px 0; }
    #addToCart .qv-title { font-size: 18px; }
    #addToCart .qv-price strong { font-size: 24px; }
    #addToCart .qv-trust { padding-bottom: 8px; }
    #addToCart .qv-details { width: auto !important; flex: 0 0 auto; }
}
@media (max-width: 991px) { #addToCart .addtocart-modal { padding: 0 !important; } }
#addToCart .qv-gallery .product-gallery .carousel-box { background: #fff; border-radius: 20px !important; padding: 20px; box-shadow: 0 16px 36px -18px rgba(15,61,42,.35); }
#addToCart .qv-gallery .product-gallery img { filter: none; }
@media (max-width: 991px) { #addToCart .addtocart-actions { flex-wrap: nowrap; } #addToCart .addtocart-actions .add-to-cart { width: auto !important; flex: 1 1 auto; } #addToCart .qv-details { padding-left: 14px !important; padding-right: 14px !important; } }

/* Checkout: envío por agencia Shalom */
.kv-shalom-option { gap: 12px; padding: 12px 16px; border-radius: 12px !important; }
.kv-shalom-logo { height: 22px; width: auto; }
.kv-shalom-agencia .form-control { border-radius: 10px; height: 46px; }
.kv-shalom-agencia small { line-height: 1.5; }
.kv-shalom-agencia .bootstrap-select .dropdown-toggle { border-radius: 10px; height: 46px; display: flex; align-items: center; }
.kv-shalom-agencia .bootstrap-select .dropdown-menu { max-width: 100%; }
.kv-shalom-agencia .bootstrap-select .dropdown-header { font-weight: 700; color: #1b6b45; background: #f1f8f4; }
.kv-shalom-agencia .bootstrap-select .dropdown-item .text { white-space: normal; }
.kv-agencia-detalle { background: #f1f8f4; border: 1px solid #d5ebde; line-height: 1.5; }
/* Selector de agencias Shalom en tarjetas */
.kv-agencia-filtros { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 10px; }
.kv-agencia-filtros > div { position: relative; }
.kv-agencia-filtros .form-control { height: 44px; border-radius: 10px; padding-left: 38px; }
.kv-agencia-paso { position: absolute; left: 10px; top: 12px; width: 20px; height: 20px; border-radius: 50%; background: #1b6b45; color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; z-index: 1; }
.kv-agencia-lista { max-height: 330px; overflow-y: auto; border: 1px solid #e3ebe6; border-radius: 12px; padding: 6px; background: #fafcfb; }
.kv-agencia-item { display: flex; gap: 10px; align-items: flex-start; padding: 10px; margin: 0 0 6px; border: 1px solid #e8eee9; border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s; }
.kv-agencia-item:last-child { margin-bottom: 0; }
.kv-agencia-item:hover { border-color: #9fcfb3; }
.kv-agencia-item.activa { border-color: #1b6b45; background: #eef8f2; box-shadow: 0 0 0 1px #1b6b45 inset; }
.kv-agencia-item input { position: absolute; opacity: 0; pointer-events: none; }
.kv-agencia-check { flex: 0 0 18px; height: 18px; margin-top: 2px; border: 2px solid #b7c6bd; border-radius: 50%; }
.kv-agencia-item.activa .kv-agencia-check { border: 5px solid #1b6b45; }
.kv-agencia-info { display: flex; flex-direction: column; min-width: 0; }
.kv-agencia-nombre { font-weight: 700; font-size: 13px; color: #1f2d25; }
.kv-agencia-dir { font-size: 12px; color: #4b5a51; line-height: 1.45; margin-top: 2px; }
.kv-agencia-hora { font-size: 11px; color: #7b8a81; margin-top: 3px; }
.kv-agencia-aviso { font-size: 12px; color: #8a6d1d; background: #fff7e0; border-radius: 8px; padding: 6px 10px; margin-bottom: 6px; }
.kv-agencia-vacio { font-size: 13px; color: #6b7a71; padding: 18px 10px; text-align: center; }
@media (max-width: 575px) { .kv-agencia-filtros { grid-template-columns: 1fr; } .kv-agencia-lista { max-height: 300px; } }
/* Opciones de envío con precio */
.kv-envio-precio { font-weight: 700; color: #1b6b45; white-space: nowrap; font-size: 14px; }
.kv-envio-icono { width: 70px; flex: 0 0 70px; text-align: center; font-size: 26px; color: #1b6b45; line-height: 1; }
.kv-shalom-logo { width: 70px; flex: 0 0 70px; object-fit: contain; }
.kv-domicilio-info { background: #f1f8f4; border: 1px solid #d5ebde; border-radius: 10px; padding: 10px 12px; line-height: 1.5; color: #2c4a39; }
/* Agencia elegida: solo se ve esa tarjeta y el botón para cambiarla */
.kv-agencia-cambiar { display: none; margin-top: 8px; background: none; border: 0; padding: 0; color: #1b6b45; font-weight: 700; font-size: 13px; text-decoration: underline; cursor: pointer; }
.kv-shalom-agencia.kv-colapsada .kv-agencia-cambiar { display: inline-block; }
.kv-shalom-agencia.kv-colapsada .kv-agencia-filtros,
.kv-shalom-agencia.kv-colapsada .kv-agencia-aviso,
.kv-shalom-agencia.kv-colapsada .kv-agencia-item:not(.activa) { display: none; }
.kv-shalom-agencia.kv-colapsada .kv-agencia-lista { max-height: none; border: 0; padding: 0; background: none; overflow: visible; }
/* Datos de quien recoge en Shalom */
.kv-receptor { border-top: 1px dashed #d5ebde; padding-top: 12px; }
.kv-receptor .form-control { height: 44px; border-radius: 10px; }
.kv-receptor .input-group-text { border-radius: 10px 0 0 10px; }
.kv-receptor .input-group .form-control { border-radius: 0 10px 10px 0; }
.kv-receptor-fila { display: grid; grid-template-columns: 1fr 1.3fr; gap: 8px; }
.kv-receptor .kv-invalido { border-color: #e0a3a3; }
/* Direcciones fuera de Lima/Callao: visibles pero sin envío a domicilio */
.checkout-address.kv-fuera-cobertura { opacity: .6; cursor: not-allowed; }
.kv-sin-cobertura { display: block; font-size: 12px; color: #a35d00; margin-top: 4px; }
/* El panel de Shalom va pegado a su opción, antes del envío a domicilio */
.kv-shalom-agencia { margin: -4px 0 10px; padding: 16px 14px 14px; background: #fbfdfc; border: 1px solid #d5ebde; border-left: 3px solid #1b6b45; border-radius: 0 0 12px 12px; }
.kv-shalom-agencia > label { display: block; }
.kv-shalom-agencia .kv-agencia-lista { background: #fff; }
/* Editar / Eliminar dirección en el checkout */
.kv-direccion-acciones { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.kv-direccion-acciones .kv-direccion-borrar { color: #b04a4a; }
.kv-direccion-acciones .kv-direccion-borrar:hover { background: #fdf1f1; color: #b04a4a; }
.kv-direccion-confirmar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.kv-direccion-confirmar.d-none { display: none !important; }
.kv-direccion-confirmar .btn { border-radius: 8px; padding: 2px 10px; }
/* Campos que faltan completar */
.kv-error { display: none; color: #c0392b; font-size: 12px; font-weight: 600; margin-top: 4px; }
.kv-error.visible { display: block; }
div.kv-error.visible { background: #fdf1f1; border: 1px solid #f2c9c9; border-radius: 8px; padding: 8px 10px; }
.form-control.kv-falta, .kv-receptor .kv-falta { border-color: #e06666 !important; background: #fffafa; }
.kv-agencia-lista.kv-falta { border-color: #e06666; box-shadow: 0 0 0 2px rgba(224,102,102,.15); }
.checkout-address-add.kv-falta { border-color: #e06666; }
/* Formulario de dirección: avisos bajo cada campo vacío */
.address-form .invalid-feedback { font-size: 12px; font-weight: 600; }
.was-validated .address-form .form-control:invalid { border-color: #e06666; background-image: none; }
.was-validated .address-form .form-control:valid { border-color: #dfdfe6; background-image: none; }

/* ===== Carrito: barra de envío gratis y "Complementa tu compra" ===== */
.kv-envio-gratis { background: #f0faf3; border: 1px solid #d6efdd; border-radius: 10px; padding: 10px 12px; margin-bottom: 12px; }
.kv-envio-gratis-texto { font-size: 13px; color: #14532d; margin-bottom: 8px; }
.kv-envio-gratis-texto i { font-size: 18px; vertical-align: middle; margin-right: 4px; }
.kv-envio-gratis-barra { height: 8px; border-radius: 4px; background: #dcefe2; overflow: hidden; }
.kv-envio-gratis-barra span { display: block; height: 100%; border-radius: 4px; background: #1f7a3d; transition: width .4s; }
.kv-envio-gratis.listo { background: #1f7a3d; border-color: #1f7a3d; }
.kv-envio-gratis.listo .kv-envio-gratis-texto { color: #fff; margin-bottom: 0; }
.kv-envio-gratis.listo .kv-envio-gratis-barra { display: none; }
.kv-complementa { border-top: 1px solid #e5e5e5; padding-top: 12px; }
.kv-complementa-titulo { font-size: 13px; font-weight: 700; color: #111827; margin-bottom: 8px; }
.kv-complementa-item { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.kv-complementa-item img { width: 48px; height: 48px; object-fit: contain; border-radius: 8px; background: #fff; border: 1px solid #eee; flex-shrink: 0; }
.kv-complementa-item .btn { flex-shrink: 0; border-radius: 8px; }

/* Botón "Agregar al carrito" fijo bajo el precio de cada producto (web y móvil) */
.kv-btn-carrito {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 9px 6px;
    background: var(--primary);
    border: 0;
    border-radius: 6px;
    color: #fff !important;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .2px;
    text-transform: uppercase;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kv-btn-carrito:hover,
.kv-btn-carrito:focus {
    background: var(--hov-primary);
    color: #fff;
}
@media (max-width: 575px) {
    .kv-btn-carrito { font-size: 11px; padding: 9px 4px; letter-spacing: 0; }
}

/* Carrito lateral que se abre desde la derecha */
.kv-drawer-fondo { position: fixed; inset: 0; background: rgba(0,0,0,.45); opacity: 0; visibility: hidden; transition: opacity .25s; z-index: 2000; }
.kv-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 420px; max-width: 100%; background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s ease; box-shadow: -6px 0 24px rgba(0,0,0,.12); z-index: 2001; }
body.kv-drawer-abierto { overflow: hidden; }
body.kv-drawer-abierto .kv-drawer-fondo { opacity: 1; visibility: visible; }
body.kv-drawer-abierto .kv-drawer { transform: translateX(0); }
.kv-drawer-cabecera { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid #eee; }
.kv-drawer-titulo { font-size: 18px; font-weight: 700; color: #1b1b28; display: flex; align-items: center; gap: 8px; }
.kv-drawer-titulo .las { font-size: 24px; color: var(--primary); }
.kv-drawer-cuenta { background: var(--primary); color: #fff; font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 20px; }
.kv-drawer-cerrar { background: none; border: 0; font-size: 30px; line-height: 1; color: #333; padding: 0 4px; }
.kv-drawer-contenido { flex: 1; overflow-y: auto; padding: 14px 18px; }
.kv-drawer-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f1f1f1; }
.kv-drawer-img { flex-shrink: 0; width: 72px; height: 72px; border: 1px solid #eee; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.kv-drawer-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.kv-drawer-nombre { display: block; font-size: 13px; font-weight: 600; color: #1b1b28; line-height: 1.35; margin-bottom: 4px; }
.kv-drawer-precio { font-size: 14px; font-weight: 700; color: var(--primary); margin-bottom: 8px; }
.kv-drawer-precio del { font-size: 12px; font-weight: 400; color: #999; margin-right: 6px; }
.kv-drawer-cantidad { display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: 6px; }
.kv-drawer-cantidad button { width: 32px; height: 30px; background: none; border: 0; font-size: 18px; color: #333; line-height: 1; }
.kv-drawer-cantidad button:disabled { color: #ccc; }
.kv-drawer-cantidad span { min-width: 30px; text-align: center; font-weight: 700; font-size: 14px; }
.kv-drawer-eliminar { background: none; border: 0; color: #e53935; font-size: 12px; margin-left: 12px; padding: 0; }
.kv-drawer-contenido .kv-complementa { margin-top: 14px; }
.kv-drawer-pie { border-top: 1px solid #eee; padding: 14px 18px 18px; }
.kv-drawer-total { display: flex; justify-content: space-between; align-items: center; font-size: 15px; margin-bottom: 4px; }
.kv-drawer-total strong { font-size: 20px; color: var(--primary); }
.kv-drawer-nota { font-size: 12px; color: #888; margin-bottom: 12px; }
.kv-drawer-pie .kv-btn-carrito { padding: 12px; font-size: 14px; }
.kv-drawer-vercarrito { display: block; text-align: center; margin-top: 10px; font-size: 13px; font-weight: 600; color: #555; text-decoration: underline; }
.kv-drawer-vacio { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; color: #777; }
.kv-drawer-vacio .las { font-size: 64px; opacity: .4; margin-bottom: 10px; }
.kv-drawer-vacio .kv-btn-carrito { width: auto; padding: 10px 24px; }
@media (max-width: 575px) { .kv-drawer { width: 100%; } }

/* En tarjetas angostas el botón muestra solo "Agregar" con el ícono del carrito */
.kv-card-pie { container-type: inline-size; }
.kv-btn-carrito .las { font-size: 16px; vertical-align: -2px; }
@container (max-width: 170px) {
    .kv-btn-carrito-extra { display: none; }
}

/* Barra superior con el aviso de envío gratis */
.kv-barra-envio { background: linear-gradient(90deg, #f9a825, #fbc02d); color: #1b1b28; font-size: 14px; text-align: center; padding: 8px 0; position: relative; }
.kv-barra-envio .container { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.kv-barra-envio .las { font-size: 22px; }
.kv-barra-envio strong { font-weight: 800; letter-spacing: .3px; }
.kv-barra-monto { background: #1b5e20; color: #fff; padding: 2px 10px; border-radius: 20px; margin-left: 2px; }
.kv-barra-extra { opacity: .85; font-weight: 600; }
@media (max-width: 575px) { .kv-barra-envio { font-size: 12.5px; padding: 6px 0; } .kv-barra-envio .las { font-size: 18px; } }

/* Tarjeta de producto más grande y limpia: imagen cuadrada sobre blanco, textos más legibles */
.aiz-card-box > .position-relative { height: auto !important; aspect-ratio: 1 / 1; background: #fff; }
.aiz-card-box > .position-relative > a,
.aiz-card-box > .position-relative img { width: 100%; height: 100% !important; }
.aiz-card-box > .position-relative img { padding: 6px; }
.aiz-card-box h3 { height: auto !important; min-height: 40px; }
.aiz-card-box h3 a { font-size: 14px; line-height: 1.4; }
.aiz-card-box .text-primary.fw-700 { font-size: 19px; }
.aiz-card-box .disc-amount del { font-size: 13px; }
.aiz-card-box .kv-card-pie { padding: 10px 4px 2px !important; }
.aiz-card-box .kv-btn-carrito { padding: 11px 6px; font-size: 12.5px; border-radius: 8px; }
@media (max-width: 575px) {
    .aiz-card-box h3 a { font-size: 13px; }
    .aiz-card-box .text-primary.fw-700 { font-size: 16px; }
    .aiz-card-box .kv-btn-carrito { padding: 9px 4px; font-size: 11px; }
}

/* ===== Oferta relámpago ===== */
.kv-oferta { background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 55%, #43a047 100%); border-radius: 18px; padding: 26px 26px 20px; position: relative; overflow: hidden; }
.kv-oferta::before { content: ""; position: absolute; right: -60px; top: -60px; width: 240px; height: 240px; border-radius: 50%; background: rgba(255,255,255,.07); }
.kv-oferta-cabecera { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 18px; position: relative; }
.kv-oferta-etiqueta { display: inline-flex; align-items: center; gap: 4px; background: #fbc02d; color: #1b1b28; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; padding: 4px 12px; border-radius: 20px; }
.kv-oferta-etiqueta .las { font-size: 15px; }
.kv-oferta-titulo { color: #fff; font-size: 26px; font-weight: 800; margin: 10px 0 4px; }
.kv-oferta-pct { color: #fbc02d; font-size: 34px; margin-right: 4px; }
.kv-oferta-sub { color: rgba(255,255,255,.85); font-size: 14px; margin: 0; }
.kv-oferta-reloj { text-align: center; }
.kv-oferta-termina { display: block; color: #fff; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.kv-cuenta { display: flex; align-items: flex-start; gap: 6px; }
.kv-cuenta .countdown-item { margin: 0; background: #fff; border-radius: 10px; min-width: 62px; padding: 8px 6px 6px; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.kv-cuenta .countdown-digit { display: block; font-size: 26px; font-weight: 800; color: #1b5e20; line-height: 1.1; background: none !important; width: auto !important; height: auto !important; }
.kv-cuenta .countdown-item::after { display: block; font-size: 10px; font-weight: 700; color: #666; text-transform: uppercase; letter-spacing: .4px; }
.kv-cuenta .countdown-item:nth-of-type(1)::after { content: "días"; }
.kv-cuenta .countdown-item:nth-of-type(2)::after { content: "horas"; }
.kv-cuenta .countdown-item:nth-of-type(3)::after { content: "min"; }
.kv-cuenta .countdown-item:nth-of-type(4)::after { content: "seg"; }
.kv-cuenta .countdown-separator { color: #fff; font-size: 24px; font-weight: 800; line-height: 46px; }
.kv-oferta-productos { position: relative; margin: 0 -8px; }
.kv-oferta .aiz-card-box { border-color: transparent; }
.kv-oferta-vertodo { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; background: #fff; color: #1b5e20 !important; font-weight: 800; font-size: 14px; padding: 10px 24px; border-radius: 30px; box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.kv-oferta-vertodo:hover { background: #fbc02d; color: #1b1b28 !important; }
@media (max-width: 767px) {
    .kv-oferta { padding: 18px 12px 16px; border-radius: 14px; }
    .kv-oferta-cabecera { justify-content: center; text-align: center; }
    .kv-oferta-titulo { font-size: 20px; }
    .kv-oferta-pct { font-size: 26px; }
    .kv-cuenta .countdown-item { min-width: 52px; padding: 6px 4px 5px; }
    .kv-cuenta .countdown-digit { font-size: 21px; }
}

/* Precio anterior tachado siempre visible (antes solo aparecía al pasar el mouse) */
.aiz-card-box .disc-amount,
.aiz-card-box:hover .disc-amount { margin-right: 0 !important; opacity: 1 !important; }
.aiz-card-box .kv-card-pie > .d-flex { align-items: baseline; gap: 6px; flex-wrap: wrap; }
.aiz-card-box .disc-amount del { margin-right: 0 !important; }
#flash_deal .slick-slider .slick-list .slick-slide { line-height: normal; }

/* Animaciones del carrito lateral */
.kv-drawer-item { overflow: hidden; transition: opacity .3s ease, transform .3s ease, height .35s ease .1s, padding .35s ease .1s, border-color .3s; }
.kv-drawer-item.kv-saliendo { opacity: 0; transform: translateX(60px); padding-top: 0; padding-bottom: 0; border-color: transparent; }
.kv-drawer-item.kv-entrando { opacity: 0; transform: translateX(40px); }
.kv-drawer-num { display: inline-block; transition: transform .2s; }
.kv-drawer-num.kv-pulso { transform: scale(1.35); color: var(--primary); }
.kv-drawer-eliminar:disabled { opacity: .5; }
.kv-drawer-vacio { animation: kvAparecer .4s ease; }
@keyframes kvAparecer { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
