html,
body{
    width:100%;
    min-height:100vh;
    margin:0;
    padding:0;
    overflow-x:hidden;
}

main,
.app,
.container{
    min-height:100vh;
}

.install-app-btn{
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    background:linear-gradient(135deg,#34d399,#10b981);
    color:white;
    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:
    0 8px 25px rgba(16,185,129,.35);

    transition:.25s;
}

.install-app-btn:hover{
    transform:translateY(-3px);
}

.install-app-btn svg{
    width:28px;
    height:28px;
}
/* ─── DESKTOP BLOCK ─────────────────────────────────────── */
.desktop-wall{display:none;position:fixed;inset:0;z-index:99999;background:#0a0a0a;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:40px;font-family:'DM Sans',sans-serif;}
.desktop-wall h2{font-family:'Barlow Condensed';font-size:34px;color:#ff3c1f;letter-spacing:3px;}
.desktop-wall p{font-size:14px;color:rgba(255,255,255,0.45);max-width:300px;line-height:1.7;}
.dw-phone{width:70px;height:120px;border:2px solid #ff3c1f;border-radius:14px;position:relative;animation:phoneBounce 2s ease-in-out infinite;}
.dw-phone::before{content:'';position:absolute;top:8px;left:50%;transform:translateX(-50%);width:28px;height:3px;background:#ff3c1f;border-radius:4px;}
@keyframes phoneBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media (min-width:600px){.desktop-wall{display:flex;}body>*:not(.desktop-wall){display:none!important;}}

/* ─── TOKENS ────────────────────────────────────────────── */
:root{
  --red:#ff3c1f;--orange:#ff7a00;--yellow:#ffcc00;
  --radius:18px;--safe-bottom:env(safe-area-inset-bottom,0px);
}
[data-theme="dark"]{
  --bg:#0a0a0a;--bg2:#111111;--surface:#1a1a1a;--surface2:#222222;
  --border:rgba(255,255,255,0.08);--border-accent:rgba(255,60,31,0.3);
  --text:#f5f0eb;--text2:rgba(245,240,235,0.65);--text3:rgba(245,240,235,0.35);
  --nav-bg:rgba(10,10,10,0.97);--top-bg:rgba(10,10,10,0.97);
  --sheet-bg:#111111;--tab-bg:rgba(255,255,255,0.06);--tab-text:rgba(245,240,235,0.4);
  --card-hover:rgba(255,60,31,0.06);--shadow:0 2px 20px rgba(0,0,0,0.5);
  --shadow-lg:0 8px 40px rgba(0,0,0,0.8);
  --qty-bg:rgba(0,0,0,0.4);--qty-border:rgba(255,60,31,0.3);
  --toggle-bg:rgba(255,255,255,0.07);--icon-bg:rgba(255,60,31,0.12);
  --chat-out:#ff3c1f;--chat-in:#1e1e1e;
  --card-selected-bg:rgba(255,122,0,0.13);--card-selected-border:rgba(255,122,0,0.55);
}
[data-theme="light"]{
  --bg:#faf6f2;--bg2:#f0e8e0;--surface:#ffffff;--surface2:#faf0e8;
  --border:rgba(0,0,0,0.08);--border-accent:rgba(255,60,31,0.25);
  --text:#1a0800;--text2:#5a3020;--text3:#9a7060;
  --nav-bg:rgba(255,250,245,0.97);--top-bg:rgba(255,250,245,0.97);
  --sheet-bg:#ffffff;--tab-bg:rgba(0,0,0,0.05);--tab-text:#7a5030;
  --card-hover:rgba(255,60,31,0.05);--shadow:0 2px 16px rgba(0,0,0,0.08);
  --shadow-lg:0 8px 40px rgba(0,0,0,0.14);
  --qty-bg:rgba(0,0,0,0.04);--qty-border:rgba(255,60,31,0.25);
  --toggle-bg:rgba(0,0,0,0.07);--icon-bg:rgba(255,60,31,0.08);
  --chat-out:#ff3c1f;--chat-in:#f0f0f0;
  --card-selected-bg:#fff3e6;--card-selected-border:#ff7a00;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);height:100dvh;overflow:hidden;transition:background 0.3s,color 0.3s;}

/* ─── LOADER ─────────────────────────────────────────────── */
#loader{position:fixed;inset:0;z-index:99990;background:#0a0a0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;transition:opacity 0.5s,transform 0.5s;}
#loader.hide{opacity:0;pointer-events:none;}
.loader-logo{width:110px;height:110px;border-radius:50%;object-fit:cover;animation:logoPulse 1.5s ease-in-out infinite;}
@keyframes logoPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,60,31,0.4);}50%{transform:scale(1.06);box-shadow:0 0 0 18px rgba(255,60,31,0);}}
.loader-name{font-family:'Barlow Condensed';font-size:34px;font-weight:900;letter-spacing:4px;color:#f5f0eb;margin-top:18px;text-transform:uppercase;}
.loader-tagline{font-size:12px;color:rgba(255,255,255,0.35);margin-top:4px;letter-spacing:2px;text-transform:uppercase;}
.loader-bar-wrap{width:120px;height:2px;background:rgba(255,255,255,0.1);border-radius:2px;margin-top:22px;overflow:hidden;}
.loader-bar{height:100%;background:linear-gradient(90deg,var(--red),var(--orange));border-radius:2px;width:0;animation:loadBar 1.8s ease-in-out forwards;}
@keyframes loadBar{0%{width:0;}80%{width:95%;}100%{width:100%;}}
.loader-powered{position:absolute;bottom:28px;font-size:11px;color:#ffffff;letter-spacing:1px;}
.loader-powered a{color:#b44fff;text-decoration:none;font-weight:700;}

/* ─── WELCOME MODAL ─────────────────────────────────────── */
.welcome-overlay{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,0.72);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity 0.4s;}
.welcome-overlay.open{opacity:1;pointer-events:all;}
.welcome-modal{background:var(--sheet-bg);border-radius:24px;padding:28px 22px 22px;max-width:340px;width:100%;text-align:center;border:1.5px solid var(--border-accent);box-shadow:0 20px 60px rgba(0,0,0,0.4);transform:scale(0.9);transition:transform 0.4s cubic-bezier(0.34,1.2,0.64,1);}
.welcome-overlay.open .welcome-modal{transform:scale(1);}
.wm-logo{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 14px;display:block;border:2px solid rgba(255,60,31,0.4);box-shadow:0 0 20px rgba(255,60,31,0.3);}
.wm-title{font-family:'Barlow Condensed';font-size:26px;font-weight:900;letter-spacing:2px;color:var(--text);text-transform:uppercase;margin-bottom:6px;}
.wm-combo-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;font-family:'Barlow Condensed';font-size:13px;font-weight:800;letter-spacing:1.5px;padding:5px 14px;border-radius:30px;margin-bottom:14px;text-transform:uppercase;}
.wm-desc{font-size:13px;color:var(--text2);line-height:1.65;margin-bottom:18px;}
.wm-desc strong{color:var(--orange);}
.wm-btn{width:100%;background:linear-gradient(135deg,var(--red),var(--orange));border:none;color:#fff;padding:14px;border-radius:14px;font-family:'DM Sans';font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 5px 20px rgba(255,60,31,0.35);}

/* ─── APP ─────────────────────────────────────────────────── */
#app{position:relative;height:100dvh;display:flex;flex-direction:column;overflow:hidden;}

/* TOP BAR */
.top-bar{flex-shrink:0;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;background:var(--top-bg);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:relative;z-index:10;gap:8px;}
.top-logo{display:flex;align-items:center;gap:7px;min-width:0;flex:1;}
.top-logo img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.top-logo .brand{font-family:'Barlow Condensed';font-size:17px;font-weight:700;letter-spacing:1.5px;color:var(--text);text-transform:uppercase;white-space:nowrap;line-height:1;}
.top-logo .brand span{color:var(--red);}
.top-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ig-btn{height:32px;width:32px;border-radius:9px;background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(221,42,123,0.35);flex-shrink:0;text-decoration:none;}
.ig-btn svg{width:16px;height:16px;fill:#fff;}
.theme-toggle{width:52px;height:32px;background:var(--toggle-bg);border-radius:30px;border:1.5px solid var(--border-accent);position:relative;cursor:pointer;flex-shrink:0;}
.theme-toggle .tt-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--orange));box-shadow:0 2px 8px rgba(255,60,31,0.4);transition:transform 0.3s cubic-bezier(0.34,1.2,0.64,1);display:flex;align-items:center;justify-content:center;font-size:12px;}
[data-theme="light"] .theme-toggle .tt-knob{transform:translateX(20px);}
.tt-icon-light,.tt-icon-dark{position:absolute;top:50%;font-size:10px;transform:translateY(-50%);}
.tt-icon-light{left:6px;}.tt-icon-dark{right:4px;}
.cart-pill{display:flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--red),var(--orange));padding:6px 11px 6px 8px;border-radius:30px;font-size:11px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 3px 14px rgba(255,60,31,0.4);user-select:none;height:32px;}
.cart-pill .cart-count{background:#fff;color:var(--red);width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.cart-pill.hidden{display:none;}

/* HERO */
.hero-section{flex-shrink:0;padding:10px 16px;}
.hero-card{border-radius:20px;padding:0 18px;display:flex;align-items:center;gap:12px;overflow:hidden;position:relative;height:96px;background:linear-gradient(135deg,rgba(255,60,31,0.15),rgba(255,122,0,0.08));border:1px solid rgba(255,60,31,0.2);box-shadow:var(--shadow);}
.hero-text .eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:3px;}
.hero-text h1{font-family:'Barlow Condensed';font-size:22px;font-weight:900;letter-spacing:0.5px;line-height:1.05;margin-bottom:4px;color:var(--text);}
.hero-text h1 span{color:var(--red);}
.hero-text p{font-size:10px;color:var(--text3);font-weight:500;line-height:1.4;}
.hero-img-wrap{width:76px;flex-shrink:0;}
.hero-img-wrap img{width:100%;height:auto;animation:heroFloat 3.5s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(255,60,31,0.8));}
@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(-1deg);}50%{transform:translateY(-5px) rotate(1deg);}}

/* CAT TABS */
.cat-tabs-wrap{flex-shrink:0;padding:0 16px;margin-bottom:2px;}
.cat-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.cat-tab{display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 2px;border-radius:30px;border:1.5px solid var(--border);background:var(--tab-bg);color:var(--tab-text);font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer;transition:all 0.22s cubic-bezier(0.34,1.2,0.64,1);user-select:none;letter-spacing:0.3px;}
.cat-tab .te{font-size:12px;}
.cat-tab.active{background:linear-gradient(135deg,var(--red),var(--orange));border-color:transparent;color:#fff;box-shadow:0 4px 18px rgba(255,60,31,0.4);transform:scale(1.04);}

/* SCROLL */
.scroll-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 16px 0;scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.scroll-content::-webkit-scrollbar{display:none;}

/* SECTION LABEL */
.section-label{display:flex;align-items:center;gap:10px;margin-bottom:12px;margin-top:2px;}
.section-label .sl-emoji{font-size:22px;}
.section-label h2{font-family:'Barlow Condensed';font-size:24px;font-weight:900;letter-spacing:1px;color:var(--text);line-height:1;}
.section-label span{font-size:11px;color:var(--text3);font-weight:500;display:block;}

/* PRODUCT CARDS */
.products-grid{display:flex;flex-direction:column;gap:9px;padding-bottom:130px;}
.product-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:11px;cursor:pointer;user-select:none;box-shadow:var(--shadow);transition:border-color 0.2s,transform 0.15s,background 0.2s;}
.product-card:active{transform:scale(0.985);}
.product-card.has-qty{border-color:var(--card-selected-border)!important;background:var(--card-selected-bg)!important;}
.pc-icon{width:56px;height:56px;border-radius:13px;border:1px solid var(--border-accent);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;overflow:hidden;background:var(--icon-bg);}
.pc-icon img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block;}
.pc-info{flex:1;min-width:0;}
.pc-info strong{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;}
.pc-info span{font-size:11px;color:var(--text3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pc-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0;}
.pc-price{font-family:'Barlow Condensed';font-size:20px;font-weight:800;color:var(--orange);white-space:nowrap;}
.qty-row{display:flex;align-items:center;background:var(--qty-bg);border:1.5px solid var(--qty-border);border-radius:30px;overflow:hidden;height:30px;}
.qty-row .q-btn{width:30px;height:30px;background:none;border:none;color:var(--red);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;}
.qty-row .q-num{font-family:'Barlow Condensed';font-size:18px;color:var(--text);min-width:20px;text-align:center;}
.add-btn{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--orange));border:none;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px rgba(255,60,31,0.4);user-select:none;}
.variant-badge{font-size:9px;font-weight:700;color:var(--orange);background:rgba(255,60,31,0.1);border:1px solid rgba(255,60,31,0.2);border-radius:20px;padding:2px 7px;display:inline-block;margin-top:3px;}

/* PROMO */
.promo-banner{background:linear-gradient(135deg,rgba(255,60,31,0.12),rgba(255,122,0,0.08));border:1px solid rgba(255,60,31,0.2);border-radius:16px;padding:13px 14px;margin-bottom:10px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:border-color 0.2s,background 0.2s;}
.promo-banner.has-qty{border-color:var(--card-selected-border);background:var(--card-selected-bg);}
.promo-text strong{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:1px;}
.promo-text span{font-size:11px;color:var(--text3);}
.promo-badge{margin-left:auto;flex-shrink:0;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:20px;}
.promo-add-btn{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--orange));border:none;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px rgba(255,60,31,0.35);}
.promo-qty-row{flex-shrink:0;display:flex;align-items:center;background:var(--qty-bg);border:1.5px solid var(--qty-border);border-radius:30px;overflow:hidden;height:30px;}
.promo-qty-row .q-btn{width:30px;height:30px;background:none;border:none;color:var(--red);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.promo-qty-row .q-num{font-family:'Barlow Condensed';font-size:18px;color:var(--text);min-width:20px;text-align:center;}

/* ── PRODUCT MODAL ──────────────────────────────────────── */
.product-modal-overlay{position:fixed;inset:0;z-index:6000;background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity 0.3s;display:flex;align-items:flex-end;justify-content:center;}
.product-modal-overlay.open{opacity:1;pointer-events:all;}
.product-modal{background:var(--sheet-bg);border-top:1.5px solid var(--border-accent);border-radius:26px 26px 0 0;width:100%;max-height:92dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.38s cubic-bezier(0.34,1.1,0.64,1);padding-bottom:calc(20px + var(--safe-bottom));box-shadow:0 -8px 40px rgba(0,0,0,0.4);overflow:hidden;position:relative;}
.product-modal-overlay.open .product-modal{transform:translateY(0);}
.pm-handle{width:38px;height:4px;border-radius:4px;background:var(--border);margin:11px auto 0;flex-shrink:0;}
.pm-img-wrap{width:100%;height:190px;flex-shrink:0;overflow:hidden;position:relative;}
.pm-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity 0.25s,transform 0.25s;}
.pm-img-wrap img.img-fade{opacity:0;transform:scale(1.04);}
.pm-img-wrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(0deg,var(--sheet-bg),transparent);}
.pm-body{padding:14px 20px 20px;flex:1;overflow-y:auto;scrollbar-width:none;}
.pm-body::-webkit-scrollbar{display:none;}
.pm-name{font-family:'Barlow Condensed';font-size:26px;font-weight:900;letter-spacing:1px;color:var(--text);line-height:1.1;margin-bottom:4px;}
.pm-desc{font-size:12px;color:var(--text2);line-height:1.65;margin-bottom:10px;}
.pm-price{font-family:'Barlow Condensed';font-size:30px;font-weight:800;color:var(--orange);margin-bottom:0;display:block;}
.pm-close{position:absolute;top:14px;right:16px;z-index:10;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,0.4);border:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pm-section-title{font-size:10px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:1.5px;margin:14px 0 9px;display:flex;align-items:center;gap:6px;}
.pm-section-title::after{content:'';flex:1;height:1px;background:var(--border);}
.variants-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:6px;}
.variant-chip{display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;transition:all 0.2s;user-select:none;}
.variant-chip.selected{border-color:var(--red);background:rgba(255,60,31,0.08);}
.vc-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-accent);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.variant-chip.selected .vc-radio{border-color:var(--red);background:var(--red);}
.variant-chip.selected .vc-radio::after{content:'';width:6px;height:6px;background:#fff;border-radius:50%;}
.vc-label{font-size:12px;font-weight:600;color:var(--text);}
.vc-price-diff{font-size:10px;color:var(--orange);font-weight:700;margin-left:auto;}
.custom-grid{display:flex;flex-direction:column;gap:6px;}
.custom-chip{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;transition:all 0.2s;user-select:none;}
.custom-chip.selected{border-color:var(--red);}
.cc-check{width:18px;height:18px;border-radius:5px;border:2px solid var(--border-accent);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.custom-chip.selected .cc-check,.custom-chip.locked .cc-check{border-color:var(--red);background:var(--red);}
.custom-chip.selected .cc-check::after,.custom-chip.locked .cc-check::after{content:'✓';color:#fff;font-size:11px;font-weight:800;line-height:1;}
.cc-label{font-size:13px;font-weight:600;color:var(--text);flex:1;}
.cc-emoji{font-size:15px;flex-shrink:0;}
/* Salsa / condiment sub-selector */
.salsa-sub{display:none;flex-wrap:wrap;gap:6px;padding:8px 12px 4px;margin-top:-2px;background:var(--surface2);border-radius:0 0 12px 12px;border:1.5px solid var(--border-accent);border-top:none;}
.salsa-sub.show{display:flex;}
.salsa-chip{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:20px;border:1.5px solid var(--border-accent);background:var(--surface);font-size:11px;font-weight:700;color:var(--text2);cursor:pointer;}
.salsa-chip.selected{background:linear-gradient(135deg,var(--red),var(--orange));border-color:transparent;color:#fff;}
/* Flavor multi-select for helados */
.flavor-grid{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px;}
.flavor-chip{display:flex;align-items:center;gap:5px;padding:7px 13px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface2);font-size:12px;font-weight:700;color:var(--text);cursor:pointer;transition:all 0.2s;user-select:none;}
.flavor-chip.selected{background:linear-gradient(135deg,var(--red),var(--orange));border-color:transparent;color:#fff;}
.flavor-chip.disabled{opacity:0.35;cursor:not-allowed;}
/* Sirop chips */
.sirop-grid{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px;}
.sirop-chip{padding:7px 13px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface2);font-size:12px;font-weight:700;color:var(--text);cursor:pointer;transition:all 0.2s;user-select:none;}
.sirop-chip.selected{background:linear-gradient(135deg,#dd2a7b,#8134af);border-color:transparent;color:#fff;}
/* Bebida flavor */
.bebida-sub{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.bebida-chip{padding:6px 12px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface2);font-size:11px;font-weight:700;color:var(--text);cursor:pointer;transition:all 0.2s;}
.bebida-chip.selected{background:linear-gradient(135deg,var(--red),var(--orange));border-color:transparent;color:#fff;}
/* Temp chips */
.temp-grid{display:flex;gap:8px;margin-bottom:8px;}
.temp-chip{flex:1;padding:8px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface2);font-size:12px;font-weight:700;color:var(--text);cursor:pointer;text-align:center;transition:all 0.2s;}
.temp-chip.selected{border-color:var(--red);background:rgba(255,60,31,0.08);color:var(--red);}

.otro-form{display:none;margin-top:6px;}
.otro-form.show{display:block;}
.otro-input{width:100%;background:var(--surface2);border:1.5px solid var(--border-accent);border-radius:12px;padding:11px 14px;font-family:'DM Sans';font-size:13px;font-weight:500;color:var(--text);outline:none;}
.otro-input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,60,31,0.12);}
/* Nota adicional */
.nota-input{width:100%;background:var(--surface2);border:1.5px solid var(--border-accent);border-radius:12px;padding:11px 14px;font-family:'DM Sans';font-size:13px;font-weight:500;color:var(--text);outline:none;resize:none;min-height:60px;}
.nota-input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,60,31,0.12);}

.pm-btn-add{width:100%;margin-top:16px;background:linear-gradient(135deg,var(--red),var(--orange));border:none;color:#fff;padding:15px;border-radius:14px;font-family:'DM Sans';font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 5px 20px rgba(255,60,31,0.35);}
.pm-btn-add:disabled{opacity:0.5;cursor:not-allowed;}

/* ── CART SHEET ─────────────────────────────────────────── */
.cart-sheet-overlay{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,0.6);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity 0.3s;}
.cart-sheet-overlay.open{opacity:1;pointer-events:all;}
.cart-sheet{position:fixed;bottom:0;left:0;right:0;z-index:5001;background:var(--sheet-bg);border-top:1.5px solid var(--border-accent);border-radius:26px 26px 0 0;max-height:96dvh;height:96dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.38s cubic-bezier(0.34,1.1,0.64,1);padding-bottom:calc(16px + var(--safe-bottom));}
.cart-sheet.open{transform:translateY(0);}
.cs-handle{width:38px;height:4px;border-radius:4px;background:var(--border);margin:11px auto 14px;flex-shrink:0;}
.cs-header{padding:0 18px 13px;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;}
.cs-header h3{font-family:'Barlow Condensed';font-size:24px;font-weight:900;letter-spacing:1px;color:var(--text);}
.cs-close{width:28px;height:28px;border-radius:50%;background:var(--tab-bg);border:1px solid var(--border);color:var(--text2);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.cs-list{flex:1;overflow-y:auto;padding:13px 18px;display:flex;flex-direction:column;gap:9px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.cs-list::-webkit-scrollbar{display:none;}
.cs-item{display:flex;align-items:flex-start;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:13px;padding:10px 13px;}
.cs-item .ci-icon{font-size:20px;flex-shrink:0;}
.cs-item .ci-info{flex:1;min-width:0;}
.cs-item .ci-name{font-size:13px;font-weight:600;color:var(--text);display:block;}
.cs-item .ci-custom{font-size:10px;color:var(--orange);font-weight:500;display:block;margin-top:2px;}
.cs-item .ci-qty{font-size:12px;color:var(--text3);white-space:nowrap;}
.cs-item .ci-price{font-family:'Barlow Condensed';font-size:18px;font-weight:800;color:var(--orange);white-space:nowrap;}
.cs-item .ci-del{background:none;border:none;color:rgba(255,60,31,0.5);font-size:15px;cursor:pointer;}
.cs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:11px;color:var(--text3);font-size:14px;}
.cs-empty .empty-icon{font-size:44px;}

/* ── FOOTER DEL CARRITO ───────── */
.cs-footer{flex-shrink:0;padding:13px 18px 0;border-top:1px solid var(--border);overflow-y:auto;max-height:64dvh;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px;}
.cs-footer::-webkit-scrollbar{display:none;}
.cs-total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px;}
.cs-total-row span{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:1px;}
.cs-total-row strong{font-family:'Barlow Condensed';font-size:28px;font-weight:900;color:var(--text);}
.cs-euros{display:flex;justify-content:flex-end;margin-bottom:3px;}
.cs-euros span{font-family:'Barlow Condensed';font-size:28px;font-weight:900;color:var(--orange);}
.cs-bs-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.cs-bs-row .bs-label{font-size:11px;color:var(--text3);font-weight:600;}
.cs-bs-row .bs-amount{font-family:'Barlow Condensed';font-size:18px;font-weight:800;color:var(--text2);}
.cs-bcv-rate{font-size:10px;color:var(--text3);text-align:right;margin-bottom:10px;margin-top:-4px;}
.cs-name-form{margin-bottom:10px;}
.cs-name-label{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;display:block;}
.cs-name-input{width:100%;background:var(--surface2);border:1.5px solid var(--border-accent);border-radius:12px;padding:12px 14px;font-family:'DM Sans';font-size:14px;font-weight:600;color:var(--text);outline:none;}
.cs-name-input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,60,31,0.12);}
.btn-iniciar-chat{width:100%;background:linear-gradient(135deg,var(--red),var(--orange));border:none;color:#fff;padding:15px;border-radius:14px;font-family:'DM Sans';font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 5px 20px rgba(255,60,31,0.35);margin-bottom:9px;}
.btn-clear-small{width:100%;background:var(--tab-bg);border:1px solid var(--border);color:var(--text3);padding:11px;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:6px;}

/* ── CHAT CHECKOUT ─────────────────────────────────────── */
.chat-overlay{position:fixed;inset:0;z-index:7000;background:rgba(0,0,0,0.75);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity 0.3s;display:flex;flex-direction:column;}
.chat-overlay.open{opacity:1;pointer-events:all;}
.chat-sheet{position:fixed;bottom:0;left:0;right:0;z-index:7001;background:var(--sheet-bg);border-top:1.5px solid rgba(37,211,102,0.4);border-radius:26px 26px 0 0;height:96dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.38s cubic-bezier(0.34,1.1,0.64,1);padding-bottom:calc(10px + var(--safe-bottom));overflow:hidden;}
.chat-sheet.open{transform:translateY(0);}
.chat-topbar{flex-shrink:0;display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface2);}
.chat-topbar-ava{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.chat-topbar-info{flex:1;}
.chat-topbar-name{font-size:14px;font-weight:700;color:var(--text);}
.chat-topbar-status{font-size:11px;color:#25d366;font-weight:500;}
.chat-close-btn{width:30px;height:30px;border-radius:50%;background:var(--tab-bg);border:1px solid var(--border);color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;}
.chat-bg{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--bg);}
.chat-bg::-webkit-scrollbar{display:none;}
.chat-msg{max-width:82%;display:flex;flex-direction:column;gap:3px;animation:msgIn 0.3s cubic-bezier(0.34,1.2,0.64,1);}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(0.96);}to{opacity:1;transform:none;}}
.chat-msg.bot{align-self:flex-start;}
.chat-msg.user{align-self:flex-end;}
.chat-bubble{padding:10px 14px;border-radius:18px;font-size:13px;line-height:1.5;font-weight:500;}
.chat-msg.bot .chat-bubble{background:var(--chat-in);color:var(--text);border-bottom-left-radius:4px;}
[data-theme="dark"] .chat-msg.bot .chat-bubble{background:#1e2a1e;}
.chat-msg.user .chat-bubble{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border-bottom-right-radius:4px;}
.chat-bubble strong{display:block;color:var(--orange);font-size:11px;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:0.5px;}
.chat-time{font-size:9px;color:var(--text3);padding:0 4px;}
.chat-msg.user .chat-time{text-align:right;}
.chat-options{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 8px;}
.chat-option-btn{display:flex;align-items:center;gap:5px;background:var(--surface);border:1.5px solid var(--border-accent);border-radius:20px;padding:8px 14px;font-size:12px;font-weight:700;color:var(--text);cursor:pointer;transition:all 0.2s;user-select:none;}
.chat-option-btn:active,.chat-option-btn.sel{background:linear-gradient(135deg,var(--red),var(--orange));border-color:transparent;color:#fff;}
.chat-input-area{flex-shrink:0;padding:10px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end;}
.chat-text-input{flex:1;background:var(--surface2);border:1.5px solid var(--border-accent);border-radius:22px;padding:10px 16px;font-family:'DM Sans';font-size:14px;color:var(--text);outline:none;resize:none;min-height:42px;max-height:90px;line-height:1.4;}
.chat-text-input:focus{border-color:#25d366;}
.chat-send-btn{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);border:none;color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(37,211,102,0.3);}

/* WA-style upload area */
.chat-upload-area{padding:8px 16px;display:none;}
.chat-upload-area.show{display:block;}
.wa-upload-wrap{display:flex;align-items:center;gap:10px;background:var(--surface2);border-radius:14px;padding:10px 14px;border:1.5px solid var(--border-accent);}
.wa-upload-icon{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;cursor:pointer;}
.wa-upload-info{flex:1;}
.wa-upload-info p{font-size:13px;font-weight:600;color:var(--text);}
.wa-upload-info span{font-size:11px;color:var(--text3);}
.wa-upload-status{display:flex;align-items:center;gap:6px;margin-top:4px;}
.wa-upload-status .ws-dot{width:8px;height:8px;border-radius:50%;background:#25d366;}
.wa-upload-status span{font-size:11px;color:#25d366;font-weight:700;}
.wa-preview-wrap{margin-top:10px;border-radius:12px;overflow:hidden;display:none;}
.wa-preview-wrap.show{display:block;}
.wa-preview-wrap img{width:100%;max-height:150px;object-fit:cover;display:block;border-radius:12px;}
.upload-input-hidden{display:none;}

.chat-loader{display:flex;gap:4px;padding:12px 16px;align-items:center;}
.chat-loader span{width:7px;height:7px;border-radius:50%;background:#25d366;animation:dotPulse 1.2s ease-in-out infinite;}
.chat-loader span:nth-child(2){animation-delay:0.2s;}
.chat-loader span:nth-child(3){animation-delay:0.4s;}
@keyframes dotPulse{0%,60%,100%{transform:scale(1);opacity:0.5;}30%{transform:scale(1.3);opacity:1;}}

/* Resumen totales grandes */
.chat-totals-block{margin-top:6px;}
.chat-total-line{display:flex;align-items:center;justify-content:space-between;padding:4px 0;}
.chat-total-line .tl-label{font-size:12px;color:rgba(255,255,255,0.75);}
.chat-total-line .tl-val{font-family:'Barlow Condensed';font-size:22px;font-weight:900;color:#fff;}
.chat-total-line.main .tl-val{font-size:28px;color:#ffcc00;}

/* ── NOSOTROS ───────────────────────────────────────────── */
.info-scroll{flex:1;overflow-y:auto;padding:0 0 130px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.info-scroll::-webkit-scrollbar{display:none;}
.nos-hero{position:relative;width:100%;height:210px;overflow:hidden;background:linear-gradient(135deg,#0a0a0a,#1f0500);}
.nos-hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,60,31,0.3) 0%,rgba(255,122,0,0.15) 50%,rgba(0,0,0,0.85) 100%);}
.nos-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;}
.nos-hero-logo{width:80px;height:80px;border-radius:50%;border:2px solid rgba(255,60,31,0.5);overflow:hidden;margin-bottom:12px;object-fit:cover;}
.nos-hero-title{font-family:'Barlow Condensed';font-size:34px;font-weight:900;letter-spacing:3px;color:#fff;text-align:center;text-transform:uppercase;}
.nos-hero-sub{font-size:12px;color:rgba(255,255,255,0.55);text-align:center;margin-top:5px;}
.nos-hero-badge{margin-top:10px;background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;font-family:'Barlow Condensed';font-size:14px;letter-spacing:2px;padding:5px 16px;border-radius:30px;}
.nos-body{padding:0 16px;}
.nos-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;}
.nos-stat{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 8px;text-align:center;}
.nos-stat .stat-num{font-family:'Barlow Condensed';font-size:32px;font-weight:900;color:var(--orange);line-height:1;display:block;}
.nos-stat .stat-label{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;display:block;}
.nos-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.nos-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 12px;text-align:center;}
.nos-card .nc-icon{font-size:26px;margin-bottom:8px;display:block;}
.nos-card h4{font-family:'Barlow Condensed';font-size:16px;font-weight:900;color:var(--text);margin-bottom:3px;letter-spacing:0.5px;}
.nos-card p{font-size:11px;color:var(--text3);line-height:1.5;}
.nos-block{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 15px;margin-bottom:12px;}
.nos-block-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.bh-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--red),var(--orange));display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.nos-block h3{font-family:'Barlow Condensed';font-size:20px;font-weight:900;color:var(--text);letter-spacing:0.5px;}
.nos-block p{font-size:13px;color:var(--text2);line-height:1.7;}
.hour-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px;}
.hour-row:last-child{border-bottom:none;}
.hour-row .day{color:var(--text2);font-weight:500;}
.hour-row .time{color:var(--orange);font-weight:700;font-family:'Barlow Condensed';font-size:16px;letter-spacing:0.5px;}
.nos-cta{display:flex;flex-direction:column;gap:9px;margin-bottom:8px;}
.btn-wa-nos{width:100%;background:#25d366;border:none;color:#fff;padding:15px;border-radius:14px;font-family:'DM Sans';font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;text-decoration:none;box-shadow:0 5px 20px rgba(37,211,102,0.3);}
.btn-ig-nos{width:100%;background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);border:none;color:#fff;padding:15px;border-radius:14px;font-family:'DM Sans';font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;text-decoration:none;}
.nos-map-wrap{border-radius:16px;overflow:hidden;margin-bottom:12px;border:1px solid var(--border);}
.nos-map-wrap iframe{width:100%;height:200px;border:none;display:block;}
.nos-map-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--surface);border:1.5px solid var(--border-accent);border-radius:0 0 15px 15px;padding:12px;font-size:13px;font-weight:700;color:var(--orange);cursor:pointer;text-decoration:none;}

/* ── FAQ SHEET ──────────────────────────────────────────── */
.faq-btn-float{position:fixed;bottom:calc(90px + var(--safe-bottom));right:18px;z-index:300;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1.5px solid rgba(100,140,255,0.3);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,0.5);transition:transform 0.2s;}
.faq-btn-float:active{transform:scale(0.92);}
.faq-sheet-overlay{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,0.55);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity 0.3s;}
.faq-sheet-overlay.open{opacity:1;pointer-events:all;}
.faq-sheet{position:fixed;bottom:0;left:0;right:0;z-index:4001;background:var(--sheet-bg);border-top:1.5px solid rgba(100,140,255,0.3);border-radius:26px 26px 0 0;max-height:80dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform 0.35s cubic-bezier(0.34,1.1,0.64,1);padding-bottom:calc(20px + var(--safe-bottom));}
.faq-sheet.open{transform:translateY(0);}
.faq-handle{width:38px;height:4px;border-radius:4px;background:var(--border);margin:11px auto 0;}
.faq-header{padding:14px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.faq-header h3{font-family:'Barlow Condensed';font-size:22px;font-weight:900;color:var(--text);}
.faq-list{overflow-y:auto;padding:12px 18px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none;}
.faq-list::-webkit-scrollbar{display:none;}
.faq-item{background:var(--surface2);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.faq-q{padding:13px 16px;font-size:13px;font-weight:700;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.faq-q .faq-arrow{font-size:10px;color:var(--text3);transition:transform 0.2s;flex-shrink:0;}
.faq-item.open .faq-arrow{transform:rotate(180deg);}
.faq-a{display:none;padding:0 16px 13px;font-size:12px;color:var(--text2);line-height:1.65;}
.faq-item.open .faq-a{display:block;}

/* ── BOTTOM NAV ─────────────────────────────────────────── */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:200;padding:0 16px;padding-bottom:calc(22px + var(--safe-bottom));background:linear-gradient(0deg,var(--bg) 60%,transparent);pointer-events:none;}
.bottom-nav-inner{display:flex;background:var(--nav-bg);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;padding:7px;gap:4px;pointer-events:all;box-shadow:var(--shadow-lg);}
.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;border-radius:17px;border:none;background:none;color:var(--text3);font-size:10px;font-weight:700;letter-spacing:0.3px;cursor:pointer;user-select:none;}
.nav-btn .nb-icon{font-size:19px;line-height:1;}
.nav-btn.active{background:var(--surface2);color:var(--red);}
.nav-btn:active{transform:scale(0.93);}
.nav-btn.cart-nav{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;position:relative;box-shadow:0 4px 16px rgba(255,60,31,0.4);}
.nav-count{position:absolute;top:4px;right:7px;background:#fff;color:var(--red);font-size:9px;font-weight:800;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.nav-count.zero{display:none;}

/* ── TOAST ──────────────────────────────────────────────── */
.toast{position:fixed;top:72px;left:50%;transform:translateX(-50%) translateY(-12px);z-index:9000;background:var(--surface);border:1.5px solid var(--border-accent);backdrop-filter:blur(12px);border-radius:30px;padding:9px 18px;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-lg);transition:all 0.3s cubic-bezier(0.34,1.2,0.64,1);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── PAGES ──────────────────────────────────────────────── */
.page{display:none;}
.page.active{display:flex;flex-direction:column;height:100%;}

/* ── EMBERS ─────────────────────────────────────────────── */
#embers{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:0.5;}
[data-theme="light"] #embers{opacity:0.25;}

/* ── APP FOOTER ─────────────────────────────────────────── */
.app-footer{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:5px;padding-bottom:calc(6px + var(--safe-bottom,0px));font-size:9px;color:#ffffff;background:transparent;z-index:250;pointer-events:none;}
.app-footer a{color:#b44fff;text-decoration:none;font-weight:700;pointer-events:auto;}
