/* ══════════════════════════════════════════════════════════
   WA Catalog v2.2 — Estilo Premium Dark/Rojo · Cinematic
   Rediseño: altura adaptable, cards clickeables, loader,
   micro-animaciones suaves y responsive pulido.
   ══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ── Variables (acotadas al catálogo para no contaminar el tema) ── */
#wac-catalog{
    --wac-bg:         #0a0a0b;
    --wac-bg-2:       #0e0e10;
    --wac-bg-card:    #161618;
    --wac-bg-card-h:  #1f1f22;
    --wac-sidebar-bg: #0f0f11;
    --wac-red:        #e50914;
    --wac-red-l:      #ff2b38;
    --wac-red-d:      #b20710;
    --wac-red-glow:   rgba(229,9,20,.30);
    --wac-green:      #2fc463;
    --wac-green-wa:   #25d366;
    --wac-gold:       #f5c518;
    --wac-white:      #ffffff;
    --wac-g100:       #f3f3f4;
    --wac-g300:       #b0b0b4;
    --wac-g400:       #8a8a90;
    --wac-g500:       #6a6a70;
    --wac-g700:       #2c2c30;
    --wac-g800:       #1c1c1f;
    --wac-border:     rgba(255,255,255,.08);
    --wac-border-h:   rgba(229,9,20,.45);
    --wac-display:    'Bebas Neue','Impact',sans-serif;
    --wac-body:       'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    --wac-r:          16px;
    --wac-r-card:     18px;
    --wac-rs:         10px;
    --wac-ease:       cubic-bezier(.4,0,.2,1);
    --wac-spring:     cubic-bezier(.34,1.32,.55,1.05);
    --wac-sidebar-w:  360px;
    --wac-shadow:     0 18px 50px rgba(0,0,0,.6);
}

/* ── Reset acotado al catálogo ── */
#wac-catalog,#wac-catalog *,#wac-catalog *::before,#wac-catalog *::after{
    box-sizing:border-box;margin:0;padding:0;
}
#wac-catalog{
    background:
        radial-gradient(900px 500px at 80% -5%, rgba(229,9,20,.10), transparent 60%),
        radial-gradient(700px 600px at 0% 100%, rgba(229,9,20,.06), transparent 55%),
        var(--wac-bg);
    font-family:var(--wac-body);
    color:var(--wac-white);
    position:relative;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}

/* ══════════════════════════════════════════
   PANTALLA DE CARGA
   ══════════════════════════════════════════ */
.wac-loader{
    position:absolute;inset:0;z-index:60;
    background:var(--wac-bg);
    display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:22px;
    transition:opacity .55s var(--wac-ease), visibility .55s;
}
.wac-loader.hide{opacity:0;visibility:hidden;pointer-events:none;}
.wac-loader-ring{
    width:62px;height:62px;position:relative;
}
.wac-loader-ring::before,
.wac-loader-ring::after{
    content:'';position:absolute;inset:0;border-radius:50%;
    border:3px solid transparent;
}
.wac-loader-ring::before{
    border-top-color:var(--wac-red);
    border-right-color:var(--wac-red);
    animation:wac-spin 1s linear infinite;
}
.wac-loader-ring::after{
    inset:9px;
    border-bottom-color:rgba(229,9,20,.4);
    animation:wac-spin 1.5s linear infinite reverse;
}
@keyframes wac-spin{to{transform:rotate(360deg);}}
.wac-loader-text{
    font-family:var(--wac-display);
    font-size:1.5rem;letter-spacing:.14em;
    color:var(--wac-g400);
    text-transform:uppercase;
    animation:wac-breathe 1.6s var(--wac-ease) infinite;
}
@keyframes wac-breathe{0%,100%{opacity:.35;}50%{opacity:1;}}
.wac-loader-dots{display:flex;gap:7px;}
.wac-loader-dots span{
    width:7px;height:7px;border-radius:50%;
    background:var(--wac-red);
    animation:wac-bounce 1.2s var(--wac-ease) infinite;
}
.wac-loader-dots span:nth-child(2){animation-delay:.16s;}
.wac-loader-dots span:nth-child(3){animation-delay:.32s;}
@keyframes wac-bounce{0%,80%,100%{transform:scale(.4);opacity:.4;}40%{transform:scale(1);opacity:1;}}

/* ══════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════ */
.wac-header{
    text-align:center;
    padding:clamp(34px,6vw,60px) 24px clamp(22px,3vw,34px);
    position:relative;
}
.wac-header-bar{
    width:60px;height:4px;
    background:linear-gradient(90deg,var(--wac-red-d),var(--wac-red-l));
    margin:0 auto 18px;border-radius:3px;
    box-shadow:0 0 18px var(--wac-red-glow);
}
.wac-title{
    font-family:var(--wac-display);
    font-size:clamp(2.3rem,5.6vw,4.4rem);
    letter-spacing:.045em;text-transform:uppercase;
    line-height:.98;margin-bottom:10px;
    background:linear-gradient(180deg,#fff 55%,#c9c9cd);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
}
.wac-subtitle{
    font-size:.95rem;color:var(--wac-g300);font-weight:300;
    max-width:520px;margin:0 auto;line-height:1.55;
}

/* ══════════════════════════════════════════
   LAYOUT — altura adaptable
   ══════════════════════════════════════════ */
.wac-layout{
    display:flex;align-items:flex-start;gap:26px;
    max-width:1480px;width:92%;margin:0 auto;
    padding:0 0 70px;
}
.wac-grid-area{flex:1;min-width:0;}

/* ── Grid de cards ── */
.wac-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}
@media(min-width:760px){.wac-grid{grid-template-columns:repeat(3,1fr);gap:18px;}}
@media(min-width:1180px){.wac-grid{grid-template-columns:repeat(3,1fr);gap:20px;}}
@media(min-width:1480px){.wac-grid{grid-template-columns:repeat(4,1fr);}}

/* ══════════════════════════════════════════
   SIDEBAR DESKTOP — altura controlada
   ══════════════════════════════════════════ */
.wac-sidebar{
    width:var(--wac-sidebar-w);flex-shrink:0;
    position:sticky;top:20px;
    height:calc(100dvh - 40px);
    background:var(--wac-sidebar-bg);
    border:1px solid var(--wac-border);
    border-radius:var(--wac-r);
    box-shadow:var(--wac-shadow);
    overflow:hidden;
    display:flex;flex-direction:column;
}
@media(max-width:979px){
    .wac-sidebar{display:none;}
    .wac-layout{width:94%;padding-bottom:130px;}
}

/* ══════════════════════════════════════════
   CARD — totalmente clickeable
   ══════════════════════════════════════════ */
.wac-card{
    background:var(--wac-bg-card);
    border:1px solid var(--wac-border);
    border-radius:var(--wac-r-card);
    overflow:hidden;position:relative;
    display:flex;flex-direction:column;
    cursor:pointer;
    transition:transform .34s var(--wac-ease),
               border-color .34s var(--wac-ease),
               box-shadow .34s var(--wac-ease),
               background .34s var(--wac-ease);
    will-change:transform;
}
.wac-card::after{
    /* halo de brillo en hover */
    content:'';position:absolute;inset:0;
    border-radius:inherit;pointer-events:none;
    box-shadow:inset 0 0 0 1px transparent;
    transition:box-shadow .34s var(--wac-ease);
}
@media(hover:hover){
    .wac-card:hover{
        transform:translateY(-7px);
        border-color:var(--wac-border-h);
        box-shadow:0 18px 46px rgba(0,0,0,.62),0 0 26px var(--wac-red-glow);
        background:var(--wac-bg-card-h);
    }
    .wac-card:hover::after{box-shadow:inset 0 0 0 1px rgba(229,9,20,.25);}
}
.wac-card:active{transform:translateY(-3px) scale(.985);}
.wac-card.wac-in-cart{
    border-color:rgba(47,196,99,.5);
    box-shadow:0 0 0 1px rgba(47,196,99,.25),0 14px 36px rgba(0,0,0,.5);
}
/* Flash al agregar */
.wac-card.wac-flash{animation:wac-card-flash .5s var(--wac-ease);}
@keyframes wac-card-flash{
    0%{box-shadow:0 0 0 0 rgba(229,9,20,.55);}
    100%{box-shadow:0 0 0 16px rgba(229,9,20,0);}
}

/* Scroll reveal */
.wac-reveal{
    opacity:0;transform:translateY(34px) scale(.97);
    transition:opacity .55s var(--wac-ease) calc(var(--delay,0ms)),
               transform .6s var(--wac-spring) calc(var(--delay,0ms));
}
.wac-reveal.wac-in{opacity:1;transform:translateY(0) scale(1);}

/* Badge */
.wac-badge{
    position:absolute;top:10px;left:10px;z-index:6;
    font-size:.6rem;font-weight:800;letter-spacing:.11em;
    padding:4px 9px;border-radius:6px;text-transform:uppercase;
    backdrop-filter:blur(4px);
}
.wac-badge--hot{background:var(--wac-red);color:#fff;box-shadow:0 2px 12px var(--wac-red-glow);}
.wac-badge--new{background:var(--wac-green);color:#04220e;}
.wac-badge--popular{background:var(--wac-gold);color:#1a1000;}
.wac-badge--oferta{background:#f56500;color:#fff;}
.wac-badge--combo{background:linear-gradient(135deg,#7b2fff,#e50914);color:#fff;}

/* Check de "en carrito" */
.wac-card-check{
    position:absolute;top:10px;right:10px;z-index:6;
    width:26px;height:26px;border-radius:50%;
    background:var(--wac-green);color:#04220e;
    display:flex;align-items:center;justify-content:center;
    transform:scale(0);transition:transform .3s var(--wac-spring);
    box-shadow:0 2px 10px rgba(47,196,99,.5);
}
.wac-card.wac-in-cart .wac-card-check{transform:scale(1);}

/* Imagen */
.wac-card-img{
    position:relative;aspect-ratio:16/10;
    background:#161618;overflow:hidden;
}
.wac-img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .55s var(--wac-ease);
}
@media(hover:hover){.wac-card:hover .wac-img{transform:scale(1.08);}}
.wac-img-fade{
    position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to bottom,transparent 38%,rgba(22,22,24,.97));
}
.wac-img-placeholder{
    width:100%;height:100%;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--wac-display);font-size:2.4rem;color:var(--wac-g500);
    background:linear-gradient(135deg,#1a1a1d,#262629);
}
.wac-dur-badge{
    position:absolute;bottom:10px;left:10px;
    background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(6px);color:#fff;
    font-size:.62rem;font-weight:700;letter-spacing:.06em;
    padding:4px 9px;border-radius:6px;text-transform:uppercase;
    transition:all .25s var(--wac-ease);
}

/* Cuerpo */
.wac-card-body{
    padding:13px 13px 15px;
    display:flex;flex-direction:column;gap:9px;flex:1;
}
.wac-cat-label{
    font-size:.58rem;font-weight:700;letter-spacing:.14em;
    color:var(--wac-g500);text-transform:uppercase;
}
.wac-card-name{
    font-size:.96rem;font-weight:700;line-height:1.22;color:#fff;
}
@media(min-width:760px){.wac-card-name{font-size:1.02rem;}}

/* Tabs de duración */
.wac-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.wac-tab{
    background:var(--wac-g800);border:1px solid var(--wac-g700);
    color:var(--wac-g300);padding:5px 11px;border-radius:8px;
    font-size:.68rem;font-weight:600;font-family:var(--wac-body);
    cursor:pointer;letter-spacing:.03em;
    transition:all .22s var(--wac-ease);
}
.wac-tab:hover{border-color:var(--wac-red);color:#fff;}
.wac-tab.active{
    background:var(--wac-red);color:#fff;border-color:var(--wac-red);
    box-shadow:0 3px 12px var(--wac-red-glow);
}

/* Precios */
.wac-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.wac-old{
    font-size:.78rem;color:var(--wac-g500);
    text-decoration:line-through;font-weight:400;
}
.wac-price{
    font-family:var(--wac-display);font-size:1.7rem;
    color:#fff;letter-spacing:.01em;line-height:1;
    transition:color .25s var(--wac-ease);
}
@media(hover:hover){.wac-card:hover .wac-price{color:var(--wac-red-l);}}

/* Hint combo */
.wac-combo-hint{
    font-size:.72rem;color:var(--wac-gold);font-weight:600;
    background:rgba(245,197,24,.10);border:1px solid rgba(245,197,24,.22);
    border-radius:8px;padding:5px 9px;
    animation:wac-fade-in .3s var(--wac-ease);
}
@keyframes wac-fade-in{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}

/* Controles */
.wac-card-controls{display:flex;align-items:center;gap:9px;margin-top:auto;padding-top:4px;}
.wac-qty-ctrl{
    display:flex;align-items:center;
    background:linear-gradient(135deg,var(--wac-g800),var(--wac-g700));
    border:1.5px solid rgba(229,9,20,.42);
    border-radius:50px;padding:3px;
    box-shadow:0 2px 12px rgba(229,9,20,.18);
    transition:transform .2s var(--wac-spring), box-shadow .2s, border-color .2s;
}
.wac-qty-ctrl:hover{border-color:rgba(229,9,20,.7);box-shadow:0 4px 16px rgba(229,9,20,.32);}
.wac-qty-btn{
    background:none;border:none;color:var(--wac-g300);
    font-size:1.15rem;line-height:1;cursor:pointer;
    width:28px;height:28px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;font-weight:700;
    transition:all .18s var(--wac-ease);
}
.wac-qty-btn:hover{background:var(--wac-red);color:#fff;transform:scale(1.12);}
.wac-qty-btn:active{transform:scale(.92);}
.wac-qty-val{
    font-size:1rem;font-weight:800;color:#fff;
    min-width:26px;text-align:center;
    font-family:var(--wac-display);letter-spacing:.02em;
}
.wac-btn-add{
    flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 12px;background:transparent;
    border:1.5px solid rgba(229,9,20,.5);
    color:#fff;border-radius:11px;
    font-size:.78rem;font-weight:700;font-family:var(--wac-body);
    cursor:pointer;letter-spacing:.03em;
    transition:border-color .22s var(--wac-ease), color .22s;
    position:relative;overflow:hidden;
}
.wac-btn-add::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,var(--wac-red),var(--wac-red-d));
    transform:scaleX(0);transform-origin:left;
    transition:transform .3s var(--wac-ease);z-index:0;
}
.wac-btn-add > *{position:relative;z-index:1;}
.wac-btn-add:hover::before{transform:scaleX(1);}
.wac-btn-add:hover{border-color:var(--wac-red);}
.wac-btn-add.added{border-color:var(--wac-green);background:rgba(47,196,99,.1);color:var(--wac-green);}
.wac-btn-add.added::before{background:transparent;}

/* ══════════════════════════════════════════
   CART — sidebar + bottom sheet
   ══════════════════════════════════════════ */
.wac-cart-inner{display:flex;flex-direction:column;height:100%;min-height:0;}

.wac-cart-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 18px 14px;
    border-bottom:1px solid var(--wac-g700);flex-shrink:0;
}
.wac-cart-title{
    font-family:var(--wac-display);font-size:1.4rem;letter-spacing:.05em;
    display:flex;align-items:center;
}
.wac-cart-count-badge{
    background:var(--wac-red);color:#fff;
    font-size:.7rem;font-weight:800;
    min-width:23px;height:23px;border-radius:12px;padding:0 6px;
    display:flex;align-items:center;justify-content:center;
    transition:transform .25s var(--wac-spring);
}
.wac-cart-count-badge.bump{animation:wac-bump .4s var(--wac-spring);}
@keyframes wac-bump{0%{transform:scale(1);}45%{transform:scale(1.4);}100%{transform:scale(1);}}

/* Banners */
.wac-promo-banner{
    margin:12px 14px 0;
    background:linear-gradient(135deg,rgba(229,9,20,.12),rgba(229,9,20,.04));
    border:1px solid rgba(229,9,20,.22);border-radius:12px;
    padding:11px 13px;display:flex;gap:10px;align-items:flex-start;
    font-size:.78rem;color:var(--wac-g300);line-height:1.5;flex-shrink:0;
}
.wac-promo-banner strong{color:#fff;}
.wac-promo-icon{font-size:1.35rem;flex-shrink:0;}

.wac-combo-banner{
    margin:12px 14px 0;
    background:linear-gradient(135deg,rgba(229,9,20,.18),rgba(245,197,24,.06));
    border:1px solid rgba(229,9,20,.4);border-radius:12px;
    padding:11px 13px;flex-shrink:0;
    animation:wac-fade-in .35s var(--wac-ease);
}
.wac-combo-banner-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.wac-combo-emoji{font-size:1.15rem;}
.wac-combo-label{font-weight:800;font-size:.9rem;flex:1;}
.wac-combo-saving{
    font-family:var(--wac-display);font-size:1.2rem;
    color:var(--wac-green);letter-spacing:.03em;
}
.wac-combo-progress-wrap{
    height:6px;background:var(--wac-g800);border-radius:3px;
    overflow:hidden;margin-bottom:7px;
}
.wac-combo-bar{
    height:100%;border-radius:3px;
    background:linear-gradient(90deg,var(--wac-red),var(--wac-gold));
    transition:width .5s var(--wac-spring);
    box-shadow:0 0 10px var(--wac-red-glow);
}
.wac-combo-desc{font-size:.72rem;color:var(--wac-g300);line-height:1.45;}

/* Items */
.wac-items{
    flex:1;overflow-y:auto;padding:12px 14px;
    display:flex;flex-direction:column;gap:9px;min-height:0;
    scrollbar-width:thin;scrollbar-color:var(--wac-g700) transparent;
}
.wac-items::-webkit-scrollbar{width:5px;}
.wac-items::-webkit-scrollbar-thumb{background:var(--wac-g700);border-radius:3px;}

.wac-empty-cart{
    text-align:center;padding:40px 16px;color:var(--wac-g500);
    margin:auto 0;
}
.wac-empty-icon{font-size:2.8rem;margin-bottom:12px;opacity:.45;}
.wac-empty-cart p{font-size:.85rem;line-height:1.6;}

.wac-cart-item{
    background:var(--wac-g800);border:1px solid var(--wac-border);
    border-radius:12px;padding:10px 12px;
    display:flex;gap:10px;align-items:center;
    animation:wac-slide .26s var(--wac-spring);
}
.wac-cart-item.removing{animation:wac-slide-out .26s var(--wac-ease) forwards;}
@keyframes wac-slide{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}
@keyframes wac-slide-out{to{opacity:0;transform:translateX(24px);height:0;padding-top:0;padding-bottom:0;margin:0;}}
.wac-item-thumb,.wac-item-thumb-ph{
    width:40px;height:40px;border-radius:9px;flex-shrink:0;
    object-fit:cover;background:var(--wac-g700);
}
.wac-item-thumb-ph{
    display:flex;align-items:center;justify-content:center;
    font-family:var(--wac-display);font-size:.95rem;color:var(--wac-g500);
}
.wac-item-info{flex:1;min-width:0;}
.wac-item-name{font-size:.85rem;font-weight:600;color:#fff;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wac-item-sub{font-size:.7rem;color:var(--wac-g400);margin-top:2px;}
.wac-item-qty-ctrl{
    display:flex;align-items:center;flex-shrink:0;
    background:linear-gradient(135deg,var(--wac-g800),var(--wac-g700));
    border:1.5px solid rgba(229,9,20,.32);
    border-radius:50px;padding:2px;
}
.wac-item-qty-btn{
    background:none;border:none;color:var(--wac-g300);
    font-size:1rem;font-weight:700;line-height:1;cursor:pointer;
    width:24px;height:24px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transition:all .18s var(--wac-ease);
}
.wac-item-qty-btn:hover{background:var(--wac-red);color:#fff;transform:scale(1.12);}
.wac-item-qty-num{
    font-size:.82rem;font-weight:800;color:#fff;
    min-width:20px;text-align:center;font-family:var(--wac-display);
}
.wac-item-price{
    font-family:var(--wac-display);font-size:1.05rem;
    color:var(--wac-red-l);white-space:nowrap;
}
.wac-item-remove{
    background:none;border:none;color:var(--wac-g500);cursor:pointer;
    padding:4px;border-radius:6px;flex-shrink:0;
    display:flex;align-items:center;transition:color .18s,transform .18s;
}
.wac-item-remove:hover{color:var(--wac-red);transform:scale(1.15);}

/* Footer */
.wac-cart-foot{
    padding:13px 15px 16px;
    border-top:1px solid var(--wac-g700);
    background:rgba(0,0,0,.3);flex-shrink:0;
}
.wac-totals-list{margin-bottom:13px;}
.wac-total-row{
    display:flex;justify-content:space-between;
    font-size:.83rem;color:var(--wac-g300);margin-bottom:6px;
}
.wac-discount-row{color:var(--wac-green);font-weight:600;}
.wac-green{color:var(--wac-green);}
.wac-total-final{
    font-size:1rem;font-weight:700;color:#fff;
    padding-top:9px;border-top:1px solid var(--wac-g700);
    margin-top:7px;margin-bottom:0;
}
.wac-total-final span:last-child{font-family:var(--wac-display);font-size:1.5rem;}

.wac-btn-wa{
    display:flex;align-items:center;justify-content:center;gap:8px;
    width:100%;padding:14px 16px;
    background:linear-gradient(135deg,#25d366,#1eb858);border:none;
    border-radius:12px;color:#fff;
    font-size:.9rem;font-weight:700;font-family:var(--wac-body);
    cursor:pointer;letter-spacing:.02em;
    transition:transform .2s var(--wac-spring), box-shadow .2s;
    box-shadow:0 6px 18px rgba(37,211,102,.32);
}
.wac-btn-wa:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(37,211,102,.5);}
.wac-btn-wa:active{transform:translateY(0) scale(.98);}

.wac-btn-more{
    display:none;width:100%;margin-top:9px;padding:11px 16px;
    background:transparent;border:1.5px solid rgba(229,9,20,.5);
    border-radius:12px;color:#fff;
    font-size:.85rem;font-weight:600;font-family:var(--wac-body);
    cursor:pointer;transition:all .2s var(--wac-ease);
}
.wac-btn-more:hover{border-color:var(--wac-red);background:rgba(229,9,20,.08);}

.wac-btn-clear{
    display:block;width:100%;margin-top:9px;
    background:none;border:none;color:var(--wac-g500);
    font-size:.75rem;cursor:pointer;text-align:center;
    font-family:var(--wac-body);transition:color .18s;padding:4px;
}
.wac-btn-clear:hover{color:var(--wac-red);}

/* ══════════════════════════════════════════
   FAB MÓVIL
   ══════════════════════════════════════════ */
.wac-fab{
    position:fixed;bottom:22px;right:18px;z-index:900;
    display:flex;align-items:center;gap:9px;
    height:54px;padding:0 20px 0 18px;border-radius:30px;
    background:linear-gradient(135deg,var(--wac-red),var(--wac-red-d));
    border:none;color:#fff;cursor:pointer;
    box-shadow:0 8px 26px rgba(229,9,20,.5),0 2px 8px rgba(0,0,0,.5);
    transition:transform .22s var(--wac-spring), box-shadow .22s;
}
.wac-fab:hover{transform:scale(1.05);}
.wac-fab:active{transform:scale(.96);}
.wac-fab-total{font-family:var(--wac-display);font-size:1.15rem;letter-spacing:.02em;}
.wac-fab-count{
    background:#fff;color:var(--wac-red);
    font-size:.68rem;font-weight:800;
    min-width:21px;height:21px;border-radius:11px;padding:0 5px;
    display:flex;align-items:center;justify-content:center;
}
.wac-fab.pulse{animation:wac-pulse .4s var(--wac-spring);}
@keyframes wac-pulse{0%{transform:scale(1);}45%{transform:scale(1.12);}100%{transform:scale(1);}}

/* ══════════════════════════════════════════
   OVERLAY + BOTTOM SHEET
   ══════════════════════════════════════════ */
.wac-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.72);
    z-index:950;opacity:0;pointer-events:none;
    transition:opacity .34s var(--wac-ease);
    backdrop-filter:blur(3px);
}
.wac-overlay.on{opacity:1;pointer-events:all;}

.wac-mobile-sheet{
    position:fixed;bottom:0;left:0;right:0;z-index:1000;
    background:var(--wac-sidebar-bg);
    border-top:1px solid rgba(229,9,20,.28);
    border-radius:22px 22px 0 0;
    height:86dvh;max-height:86dvh;
    display:flex;flex-direction:column;
    transform:translateY(100%);
    transition:transform .42s cubic-bezier(.32,.72,0,1);
    box-shadow:0 -16px 50px rgba(0,0,0,.6);
}
.wac-mobile-sheet.open{transform:translateY(0);}
.wac-sheet-handle{
    width:42px;height:5px;background:var(--wac-g700);
    border-radius:3px;margin:11px auto 2px;flex-shrink:0;
}

@media(min-width:980px){
    .wac-fab,.wac-overlay,.wac-mobile-sheet{display:none !important;}
}
@media(max-width:979px){
    .wac-btn-more{display:block;}
}

/* Estado vacío del catálogo */
.wac-empty{
    background:var(--wac-bg-card);border:1px dashed var(--wac-g700);
    border-radius:var(--wac-r);color:var(--wac-g300);
    text-align:center;padding:42px 24px;max-width:560px;
    margin:40px auto;font-size:.9rem;
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    #wac-catalog *,#wac-catalog *::before,#wac-catalog *::after{
        animation-duration:.001ms !important;
        transition-duration:.001ms !important;
    }
    .wac-reveal{opacity:1 !important;transform:none !important;}
}

/* ══════════════════════════════════════════
   BLINDAJE DE COLOR contra temas externos
   ══════════════════════════════════════════ */
#wac-catalog{color:#fff !important;}
#wac-catalog p,#wac-catalog h1,#wac-catalog h2,#wac-catalog h3,
#wac-catalog span,#wac-catalog div,#wac-catalog li{color:inherit;}
#wac-catalog .wac-card-name,#wac-catalog .wac-price,
#wac-catalog .wac-cart-title,#wac-catalog .wac-total-final,
#wac-catalog .wac-item-name,#wac-catalog .wac-qty-val,
#wac-catalog .wac-item-qty-num,#wac-catalog .wac-dur-badge,
#wac-catalog .wac-combo-label,#wac-catalog .wac-btn-add{color:#fff !important;}
#wac-catalog .wac-btn-wa,#wac-catalog .wac-fab{color:#fff !important;}
#wac-catalog .wac-cat-label,#wac-catalog .wac-old,
#wac-catalog .wac-total-row,#wac-catalog .wac-item-sub,
#wac-catalog .wac-qty-btn,#wac-catalog .wac-item-qty-btn,
#wac-catalog .wac-combo-desc{color:var(--wac-g400) !important;}
#wac-catalog .wac-subtitle{color:var(--wac-g300) !important;}
#wac-catalog .wac-item-price{color:var(--wac-red-l) !important;}
#wac-catalog .wac-combo-hint{color:var(--wac-gold) !important;}
#wac-catalog .wac-combo-saving,#wac-catalog .wac-green{color:var(--wac-green) !important;}
.wac-sidebar,.wac-mobile-sheet{background:var(--wac-sidebar-bg) !important;color:#fff !important;}
