﻿:root{
  --brand:#FF4D1C;--brand2:#FF8C42;
  --grad:linear-gradient(135deg,#FF4D1C,#FF8C42);
  --pale:#fff3ef;--black:#111;--white:#fff;
  --gray:#888;--gray2:#6b7280;--gl:#f5f5f3;--gb:#e8e8e8;
  --green:#00c853;--yellow:#ffb800;--blue:#2563eb;
  --red:#ef4444;
  --sh:0 1px 3px rgba(0,0,0,.06);
  --shm:0 4px 20px rgba(0,0,0,.08);
  --shl:0 12px 40px rgba(0,0,0,.1);
  --shb:0 4px 14px rgba(255,77,28,.22);
  --r:14px;--rs:10px;
  --page-pad:clamp(12px,3.5vw,24px);
  --page-max:1120px;
  --fs-sm:clamp(.75rem,.72rem + .35vw,.82rem);
  --fs-body:clamp(.85rem,.83rem + .25vw,.94rem);
  --fs-h3:clamp(.95rem,.9rem + .35vw,1.05rem);
  --fs-h2:clamp(1.05rem,1rem + .4vw,1.2rem);
}
body.dark{--black:#f0f0f0;--white:#1a1a1a;--gl:#252525;--gb:#383838;--gray:#999;background:#111!important}
body.dark .pc,body.dark .contact-bar,body.dark .dtoggle,body.dark .prog-wrap,body.dark .search-box,body.dark .cat,body.dark .sheet,body.dark .cart-bar,body.dark .popt,body.dark .cbu-box,body.dark .transfer-flow-banner,body.dark .totals-box,body.dark .detail-panel{background:#1e1e1e!important;border-color:#383838!important}
body.dark .cat{color:#bbb!important}
body.dark .cat.on{background:var(--grad)!important;border-color:transparent!important;color:white!important}
body.dark .pc-img{background:#2a2a2a}
body.dark .pc-img.pc-img--loaded{background:#1e1e1e}
body.dark input,body.dark select{background:#252525!important;border-color:#383838!important;color:#f0f0f0!important}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:#fafaf8;color:var(--black);overflow-x:hidden;padding-bottom:clamp(1rem,4vw,1.75rem);transition:background .3s;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;touch-action:manipulation}
body.tienda--has-cart{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
body.template-premium{}
body.template-delivery .hdr{height:clamp(150px,22vw,200px)}
body.template-delivery .hdr-info{padding-bottom:10px}
body.template-delivery .hdr-name{font-size:clamp(1rem,2.6vw,1.2rem)}
body.template-delivery .hdr-sub{font-size:.72rem;max-width:36ch}
body.template-delivery .biz-wrap{display:none}
body.template-delivery .cbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--white) 90%, transparent)}
body.template-delivery .cats{position:sticky;top:58px;z-index:15;background:color-mix(in srgb,var(--white) 95%, transparent);padding-top:4px}
@media(max-width:520px){body.template-delivery .cats{top:49px}}
body.template-delivery .sec{padding-top:4px}
body.template-delivery .sec-hdr h2{font-size:.94rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray2)}
body.template-delivery .pc{border-radius:16px;border-width:1px;border-style:solid;border-color:var(--gb);display:grid;grid-template-columns:96px 1fr;min-height:96px;box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden;background:var(--white)}
body.template-delivery .pc-img{width:96px;height:96px;padding-bottom:0;flex-shrink:0;align-self:stretch;border-bottom:none;border-right:1px solid var(--gb);display:block}
body.template-delivery .pc-body{padding:10px 12px}
body.template-delivery .pc-name{font-size:.9rem}
body.template-delivery .pc-desc{-webkit-line-clamp:1;font-size:.72rem;min-height:auto;margin-bottom:8px}
body.template-delivery .pc-price{font-size:1.06rem;color:var(--brand)}
body.template-delivery .add-btn{height:36px;min-width:88px;border-radius:10px;background:var(--grad);font-size:.79rem}

.tienda-shell{max-width:var(--page-max);margin:0 auto}

/* THEME BTN — vive en la cbar, no flotante */
.tbtn{width:34px;height:34px;border-radius:50%;background:var(--gl);border:1px solid var(--gb);cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s,background .2s;-webkit-tap-highlight-color:transparent}
.tbtn:hover{transform:scale(1.08);background:var(--gb)}
body.dark .tbtn{background:#2a2a2a;border-color:#444}

/* HEADER */
.hdr{position:relative;height:clamp(210px,34vw,290px);overflow:hidden;background:#1c1c1c}
@media(max-width:520px){.hdr{height:56.25vw;min-height:180px}}
/* CARRUSEL */
.hdr-slides{position:absolute;inset:0;display:flex;transition:transform 1.05s cubic-bezier(.34,.08,.14,1);pointer-events:none}
.hdr-slide{min-width:100%;height:100%;position:relative;flex-shrink:0}
.hdr-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hdr-dots{display:none!important}
.promo-ribbon{display:none;overflow:hidden;padding:0;background:color-mix(in srgb,var(--promo-bg,var(--brand)) 88%,#000);color:var(--promo-color,#fff);position:relative;z-index:90;box-shadow:0 3px 16px color-mix(in srgb,var(--promo-bg,var(--brand)) 35%,transparent)}
/* Viñeta lateral — oscurece los bordes, resalta el centro */
.promo-ribbon::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--promo-bg,var(--brand)) 70%,#000) 0%,transparent 18%,transparent 82%,color-mix(in srgb,var(--promo-bg,var(--brand)) 70%,#000) 100%);pointer-events:none;z-index:2}
/* Brillo suave en la parte superior */
.promo-ribbon::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 55%);pointer-events:none;z-index:1}
.promo-ribbon-track{display:flex;width:max-content;will-change:transform;position:relative;z-index:0}
.promo-ribbon-inner{display:flex;white-space:nowrap;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.01em;padding:10px 0;animation:ribbon-scroll var(--ribbon-dur,26s) linear infinite}
.promo-ribbon.ribbon-fixed .promo-ribbon-track{justify-content:center;width:100%}
.promo-ribbon.ribbon-fixed .promo-ribbon-inner{animation:none}
/* Sin sombra */
.promo-ribbon.ribbon-no-shadow{box-shadow:none!important}
@keyframes ribbon-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
/* ── Efecto shimmer: barrido de brillo superpuesto (sin tocar el color del texto, emojis ok) ── */
@keyframes ribbon-shimmer{0%{left:-60%}100%{left:110%}}
.promo-ribbon.ribbon-fx-shimmer .promo-ribbon-inner{position:relative;overflow:visible;animation:ribbon-scroll var(--ribbon-dur,26s) linear infinite}
.promo-ribbon.ribbon-fx-shimmer .promo-ribbon-inner::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 45%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.55) 55%,transparent 100%);animation:ribbon-shimmer 2.2s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen;z-index:4}
.promo-ribbon.ribbon-fixed.ribbon-fx-shimmer .promo-ribbon-inner{animation:none}
.promo-ribbon.ribbon-fixed.ribbon-fx-shimmer .promo-ribbon-inner::after{animation:ribbon-shimmer 2.2s ease-in-out infinite}
/* ── Efecto pulse: opacidad que parpadea suavemente ── */
@keyframes ribbon-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.promo-ribbon.ribbon-fx-pulse .promo-ribbon-inner{animation:ribbon-pulse 1.6s ease-in-out infinite,ribbon-scroll var(--ribbon-dur,26s) linear infinite}
.promo-ribbon.ribbon-fixed.ribbon-fx-pulse .promo-ribbon-inner{animation:ribbon-pulse 1.6s ease-in-out infinite}
/* ── Efecto glow: sombra de texto que pulsa ── */
@keyframes ribbon-glow{0%,100%{text-shadow:0 0 6px rgba(255,255,255,.3),0 0 14px rgba(255,255,255,.15)}50%{text-shadow:0 0 12px rgba(255,255,255,.85),0 0 28px rgba(255,255,255,.5),0 0 4px rgba(255,255,255,1)}}
.promo-ribbon.ribbon-fx-glow .promo-ribbon-inner{animation:ribbon-glow 1.8s ease-in-out infinite,ribbon-scroll var(--ribbon-dur,26s) linear infinite}
.promo-ribbon.ribbon-fixed.ribbon-fx-glow .promo-ribbon-inner{animation:ribbon-glow 1.8s ease-in-out infinite}
.promo-sep{display:inline-flex;align-items:center;justify-content:center;width:4px;height:4px;border-radius:50%;background:currentColor;margin:0 20px;opacity:.35;flex-shrink:0;font-size:0}
body.products-layout-grid .plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:640px){
  body.products-layout-grid .plist{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
/* Densidad de grilla en desktop */
@media(min-width:700px){
  body.grid-cols-2 .plist{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px}
  body.grid-cols-4 .plist{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px}
  body.grid-cols-5 .plist{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px}
  /* cols 4 y 5: reducir texto de cards */
  body.grid-cols-4 .pc-name,body.grid-cols-5 .pc-name{font-size:.8rem}
  body.grid-cols-4 .pc-desc,body.grid-cols-5 .pc-desc{font-size:.7rem;-webkit-line-clamp:2}
  body.grid-cols-4 .pc-price,body.grid-cols-5 .pc-price{font-size:.88rem}
  body.grid-cols-4 .add-btn,body.grid-cols-5 .add-btn{font-size:.74rem;padding:7px 10px}
}
body.products-layout-list .plist{display:flex;flex-direction:column;gap:10px}
@media (min-width:640px){
  body.products-layout-list .plist{display:flex;flex-direction:column}
}
/* Grid layout — fuerza cards en columna (imagen arriba, contenido abajo) en todos los templates */
body.products-layout-grid .pc{display:flex;flex-direction:column;min-height:0}
body.products-layout-grid .pc-img{width:100%;height:0;padding-bottom:100%;border-right:none;border-bottom:1px solid var(--gb);flex-shrink:0;display:block}
body.products-layout-grid .pc-body{padding:9px 10px 11px}
body.products-layout-grid .pc-name{font-size:.86rem}
body.products-layout-grid .pc-desc{font-size:.7rem;-webkit-line-clamp:2;margin-bottom:6px}
body.products-layout-grid .pc-price{font-size:.92rem}
body.products-layout-grid .pc-foot{flex-direction:column;align-items:stretch;gap:6px}
body.products-layout-grid .add-btn{width:100%;min-height:38px;padding:8px 10px;font-size:.8rem;justify-content:center}
body.products-layout-grid .pc-qty{width:100%;justify-content:space-between}
/* BOUTIQUE — vitrina comercial (foto 1:1, jerarquía, marca en CTAs y acentos) */
body.template-boutique{background:linear-gradient(165deg,#faf8f5 0%,#f5f2eb 42%,#fafaf8 100%);color:var(--black)}
body.template-boutique .hdr{height:clamp(250px,44vw,370px);box-shadow:0 24px 60px color-mix(in srgb,var(--brand) 14%,transparent)}
body.template-boutique .hdr-ov{background:linear-gradient(to bottom,color-mix(in srgb,var(--brand) 18%,transparent) 0%,transparent 42%,rgba(18,16,14,.78) 100%)}
body.template-boutique .hdr-logo{box-shadow:0 8px 28px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.35)}
body.template-boutique .cbar{background:var(--white);border-bottom:1px solid color-mix(in srgb,var(--brand) 14%,var(--gb));box-shadow:0 6px 20px rgba(28,25,23,.05)}
body.template-boutique .sbox{border-radius:16px;border-color:color-mix(in srgb,var(--brand) 16%,var(--gb));box-shadow:0 4px 18px rgba(28,25,23,.05)}
body.template-boutique .cats{padding-top:10px}
body.template-boutique .cat{border-radius:999px;border-color:color-mix(in srgb,var(--brand) 12%,var(--gb));background:var(--white);font-weight:600}
body.template-boutique .cat.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--shb)}
body.template-boutique .cat:hover:not(.on){border-color:color-mix(in srgb,var(--brand) 32%,var(--gb));color:var(--black)}
body.template-boutique .sec{padding-top:6px}
body.template-boutique .sec-hdr{align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid color-mix(in srgb,var(--brand) 22%,var(--gb));gap:12px}
body.template-boutique .sec-hdr::before{content:'';width:5px;height:26px;border-radius:6px;background:var(--grad);flex-shrink:0;box-shadow:0 2px 10px color-mix(in srgb,var(--brand) 35%,transparent)}
body.template-boutique .sec-hdr h2{font-family:'Outfit',sans-serif;font-size:clamp(1.05rem,2.9vw,1.22rem);font-weight:800;letter-spacing:-.03em;color:var(--black);text-transform:none;margin:0}
body.template-boutique .sec-cnt{background:var(--pale);color:color-mix(in srgb,var(--brand) 45%,var(--black));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--gb))}
body.template-boutique .pc{border-radius:22px;border:1px solid rgba(40,35,30,.07);background:var(--white);box-shadow:0 6px 28px rgba(28,25,23,.06);overflow:hidden}
body.template-boutique .pc:hover{border-color:color-mix(in srgb,var(--brand) 38%,transparent);box-shadow:0 18px 48px color-mix(in srgb,var(--brand) 12%,rgba(28,25,23,.1));transform:translateY(-3px)}
body.template-boutique .pc-img{height:0;padding-bottom:100%;border-bottom:1px solid color-mix(in srgb,var(--gb) 85%,transparent)}
body.template-boutique .pc-body{padding:14px 16px 16px}
body.template-boutique .pc-name{font-family:'Outfit',sans-serif;font-weight:700;font-size:.98rem;line-height:1.28;letter-spacing:-.02em}
body.template-boutique .pc-desc{color:var(--gray2);font-size:.78rem;-webkit-line-clamp:2}
body.template-boutique .pc-price{font-size:1.14rem;color:var(--brand);font-weight:900}
body.template-boutique .add-btn{background:var(--grad);color:#fff;border-radius:14px;font-weight:800;font-size:.82rem;box-shadow:var(--shb)}
body.template-boutique .dtoggle{border:none;background:var(--white);box-shadow:0 6px 24px rgba(28,25,23,.06);padding:5px;border-radius:18px}
body.template-boutique .dtog{border-radius:14px}
body.template-boutique .dtog.on{box-shadow:0 2px 14px color-mix(in srgb,var(--brand) 28%,transparent)}
body.template-boutique .prog-wrap{border-color:color-mix(in srgb,var(--brand) 12%,var(--gb));box-shadow:0 4px 18px rgba(28,25,23,.05)}
body.template-boutique .biz-wrap{padding-top:10px}
body.template-boutique .biz-card{border-radius:22px;border:1px solid rgba(40,35,30,.06);background:var(--white);box-shadow:0 10px 36px rgba(28,25,23,.07)}
body.template-boutique .biz-chip{background:var(--pale);border-color:color-mix(in srgb,var(--brand) 20%,var(--gb))}
body.template-boutique .detail-panel{border-radius:22px;border:1px solid rgba(40,35,30,.08);box-shadow:0 20px 56px rgba(28,25,23,.12);overflow:hidden}
body.template-boutique .detail-bar{background:linear-gradient(180deg,var(--pale),var(--white))}
body.template-boutique .detail-close{border-radius:999px;border-color:color-mix(in srgb,var(--brand) 15%,var(--gb))}
body.template-boutique .add-main{background:var(--grad);border-radius:16px;font-weight:800;box-shadow:var(--shb)}
body.template-boutique .detail-wa-btn{border-radius:14px}
body.template-boutique .cart-bar{background:var(--white);border-top:1px solid color-mix(in srgb,var(--brand) 18%,var(--gb));box-shadow:0 -14px 44px rgba(28,25,23,.09)}
body.template-boutique .cart-bar.has-items .cart-btn{background:var(--grad);color:#fff}
body.template-boutique .cart-bar:not(.has-items) .cart-btn{background:var(--grad);color:#fff}
body.template-boutique .promo-ribbon{background:linear-gradient(135deg,color-mix(in srgb,var(--promo-bg,var(--brand)) 92%,#000) 0%,var(--promo-bg,var(--brand)) 50%,color-mix(in srgb,var(--promo-bg,var(--brand)) 88%,#fff) 100%);border-bottom:2px solid color-mix(in srgb,var(--promo-bg,var(--brand)) 50%,#000);box-shadow:0 4px 20px color-mix(in srgb,var(--promo-bg,var(--brand)) 40%,transparent),0 1px 0 rgba(255,255,255,.18) inset}
body.dark.template-boutique{background:#111!important}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TEMPLATE MINIMAL — Editorial catalog  (limpio · profesional)
   Filosofía: blanco puro + tipografía fuerte + color como acento
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.template-minimal{background:#fff;--r:6px;--rs:4px}

/* Header — barra plana compacta (sin foto) */
body.template-minimal .hdr{height:68px;min-height:68px;background:#fff;border-bottom:2px solid #111;box-shadow:none}
@media(max-width:520px){body.template-minimal .hdr{height:60px;min-height:60px}}
body.template-minimal .hdr-slides{display:none}
body.template-minimal .hdr-ov{display:none}
body.template-minimal .hdr-badges{display:none}
body.template-minimal .viewers-b{display:none}
body.template-minimal .hdr-info{position:absolute;top:0;left:0;right:0;bottom:0;padding:0 var(--page-pad);display:flex;align-items:center;gap:12px}
body.template-minimal .hdr-logo{width:42px;height:42px;border-radius:6px;border:2px solid #111;background:#fff;box-shadow:none;font-size:1.1rem;flex-shrink:0}
body.template-minimal .hdr-name{font-family:'Outfit',sans-serif;font-size:clamp(1rem,2.8vw,1.18rem);font-weight:900;color:#111;text-shadow:none;letter-spacing:-.025em;line-height:1.15}
body.template-minimal .hdr-sub{font-size:.65rem;color:#888;margin-top:3px;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}

/* Contact bar */
body.template-minimal .cbar{background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:none}
body.template-minimal .cbtn{border-radius:4px;font-weight:600}
body.template-minimal .tbtn{border-radius:4px;background:#f5f5f5;border-color:#e0e0e0}

/* Search */
body.template-minimal .swrap{padding:8px var(--page-pad) 4px}
body.template-minimal .sbox{border-radius:4px;border:1.5px solid #d0d0d0;box-shadow:none;background:#fff}
body.template-minimal .sbox:focus-within{border-color:#111;box-shadow:none}

/* Categorías — tabs con subrayado activo (sin píldoras) */
body.template-minimal .cats{padding-top:0;padding-bottom:0;border-bottom:1px solid #e8e8e8;background:#fff;gap:0;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
body.template-minimal .cats::-webkit-scrollbar{display:none}
body.template-minimal .cat{border-radius:0;border:none;border-bottom:2.5px solid transparent;background:transparent;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:11px 14px 8px;color:#999;white-space:nowrap;flex-shrink:0;margin-bottom:-1px;transition:color .15s,border-color .15s;box-shadow:none}
body.template-minimal .cat:hover:not(.on){color:#111;border-bottom-color:#ccc;background:transparent}
body.template-minimal .cat.on{color:#111;background:transparent;border-bottom-color:#111;box-shadow:none}

/* Secciones */
body.template-minimal .sec{padding-top:4px}
body.template-minimal .sec-hdr{border-bottom:1px solid #e8e8e8;margin-bottom:0;padding-bottom:8px;gap:8px;align-items:center}
body.template-minimal .sec-hdr h2{font-family:'DM Sans',sans-serif;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin:0}
body.template-minimal .sec-cnt{font-size:.6rem;border-radius:2px;background:#f0f0f0;color:#999;border:none;padding:1px 6px}

/* Grid de productos — separadores tipo catálogo */
body.template-minimal .plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e8e8e8}
@media(min-width:560px){body.template-minimal .plist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){body.template-minimal .plist{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Producto card — sin bordes, sin sombra, imagen limpia */
body.template-minimal .pc{border-radius:0;border:none;background:#fff;box-shadow:none;overflow:hidden;display:flex;flex-direction:column;transition:background .15s}
body.template-minimal .pc:hover{transform:none;box-shadow:none;background:#fafafa}
body.template-minimal .pc-img{height:0;padding-bottom:100%;border-radius:0;border:none;width:100%;display:block}
body.template-minimal .pc-body{padding:10px 12px 14px;flex:1;display:flex;flex-direction:column}
body.template-minimal .pc-name{font-family:'DM Sans',sans-serif;font-size:.84rem;font-weight:600;line-height:1.3;color:#111;letter-spacing:-.01em}
body.template-minimal .pc-desc{font-size:.7rem;color:#999;-webkit-line-clamp:2;margin-bottom:8px;min-height:0}
body.template-minimal .pc-prices{gap:4px;flex-wrap:wrap;align-items:baseline}
body.template-minimal .pc-price{font-family:'Outfit',sans-serif;font-size:.98rem;font-weight:900;color:#111;letter-spacing:-.025em}
body.template-minimal .pc-orig{font-size:.7rem;color:#bbb;text-decoration:line-through}
body.template-minimal .pc-disc{background:#111;color:#fff;font-size:.58rem;font-weight:800;border-radius:2px;padding:2px 5px}
body.template-minimal .pc-incart{background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand);border-radius:2px;font-size:.62rem;font-weight:700}
body.template-minimal .pc-foot{margin-top:auto;padding-top:8px}
body.template-minimal .add-btn{background:var(--brand);color:#fff;border-radius:4px;font-weight:700;font-size:.78rem;height:36px;border:none;box-shadow:none;letter-spacing:.01em}
body.template-minimal .add-btn:disabled{background:#e0e0e0;color:#aaa}
body.template-minimal .add-btn:not(:disabled):hover{filter:brightness(1.08)}
body.template-minimal .pc-qty{border:2px solid #111;border-radius:4px;background:#fff;overflow:hidden}
body.template-minimal .pc-qty-btn{background:#111;color:#fff;border:none;border-radius:0;min-width:36px;font-weight:700;font-size:.95rem}
body.template-minimal .pc-qty-num{font-weight:900;color:#111;font-family:'Outfit',sans-serif}
body.template-minimal .pc-opts-hint{font-size:.64rem;color:var(--brand);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}

/* Badges — sharp + minimal */
body.template-minimal .pbadge{border-radius:2px;font-size:.58rem;letter-spacing:.05em;font-weight:800;text-transform:uppercase;padding:2px 6px}
body.template-minimal .pb-disc{background:#111;color:#fff}
body.template-minimal .pb-hot{background:var(--brand);color:#fff}
body.template-minimal .pb-new{background:#111;color:#fff}
body.template-minimal .pb-out{background:#f0f0f0;color:#888;font-size:.58rem}
body.template-minimal .pb-few{background:#fff8e1;color:#a07000;border:1px solid #ffe082;border-radius:2px}

/* Detail panel */
@media(max-width:699px){body.template-minimal .detail-panel.is-open{border-radius:16px 16px 0 0;border:2px solid #111;border-bottom:none}}
@media(min-width:700px){body.template-minimal .detail-panel{border-radius:16px;border:2px solid #111}}
body.template-minimal .detail-bar{background:#111;border-bottom:none}
body.template-minimal .pm-bar-name{color:#fff;font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:-.01em}
body.template-minimal .detail-close{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);color:#fff}
body.template-minimal .pm-price{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:900;color:#111;letter-spacing:-.03em}
body.template-minimal .ms-title{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:8px}
body.template-minimal .opt{border-radius:4px;border-color:#d0d0d0}
body.template-minimal .opt:hover{border-color:#111}
body.template-minimal .oc.radio.sel,.opt.sel .oc{border-color:#111;background:#111}
body.template-minimal .add-main{background:var(--brand);border-radius:6px;font-weight:800;box-shadow:none;letter-spacing:.01em}
body.template-minimal .detail-wa-btn{border-radius:6px}
body.template-minimal .pm-save{font-size:.75rem;color:#111;background:#f0f0f0;border-radius:2px;padding:2px 6px}

/* Delivery toggle */
body.template-minimal .dtoggle{border:2px solid #111;border-radius:6px;background:#fff;box-shadow:none;padding:3px}
body.template-minimal .dtog{border-radius:3px;font-weight:700;font-size:.78rem;letter-spacing:.02em}
body.template-minimal .dtog.on{background:#111;color:#fff;box-shadow:none}

/* Biz panel */
body.template-minimal .biz-wrap{padding-top:8px;padding-bottom:2px}
body.template-minimal .biz-card{border-radius:6px;border:1px solid #e8e8e8;box-shadow:none}
body.template-minimal .biz-chip{border-radius:2px;background:#f5f5f5;border:none;font-size:.68rem}
body.template-minimal .prog-wrap{border-radius:4px;border:1px solid #e8e8e8;box-shadow:none}

/* Cart bar — negra con acento de marca */
body.template-minimal .cart-bar{background:#111;border-top:none;box-shadow:none}
body.template-minimal .cart-bar .cart-btn{background:var(--brand);border-radius:6px;color:#fff;font-weight:800;box-shadow:none;letter-spacing:.01em}
body.template-minimal .cart-cnt{background:var(--brand);color:#fff;border-radius:3px}
body.template-minimal .cart-bar .cart-items-txt{color:rgba(255,255,255,.6);font-size:.75rem}
body.template-minimal .cart-bar-total{color:#fff;font-family:'Outfit',sans-serif;font-weight:900}

/* Promo ribbon */
body.template-minimal .promo-ribbon{background:#111;border-bottom:none;box-shadow:none}
body.template-minimal .promo-ribbon::before,body.template-minimal .promo-ribbon::after{display:none}

/* Dark mode overrides */
body.dark.template-minimal{background:#0d0d0d!important}
body.dark.template-minimal .hdr{background:#111;border-bottom-color:#fff}
body.dark.template-minimal .hdr-logo{border-color:#fff;background:#111}
body.dark.template-minimal .hdr-name{color:#fff}
body.dark.template-minimal .cbar{background:#111;border-bottom-color:#2a2a2a}
body.dark.template-minimal .sbox{border-color:#333;background:#1a1a1a}
body.dark.template-minimal .sbox:focus-within{border-color:#fff}
body.dark.template-minimal .cats{border-bottom-color:#2a2a2a;background:#111}
body.dark.template-minimal .cat{color:#666}
body.dark.template-minimal .cat.on{color:#fff;border-bottom-color:#fff}
body.dark.template-minimal .cat:hover:not(.on){color:#ccc;border-bottom-color:#555}
body.dark.template-minimal .sec-hdr{border-bottom-color:#2a2a2a}
body.dark.template-minimal .plist{background:#2a2a2a}
body.dark.template-minimal .pc{background:#111}
body.dark.template-minimal .pc:hover{background:#171717}
body.dark.template-minimal .pc-name{color:#f0f0f0}
body.dark.template-minimal .pc-price{color:#f0f0f0}
body.dark.template-minimal .pc-qty{border-color:#fff}
body.dark.template-minimal .pc-qty-btn{background:#fff;color:#111}
body.dark.template-minimal .pc-qty-num{color:#f0f0f0}
body.dark.template-minimal .pb-disc,.dark.template-minimal .pb-new{background:#fff;color:#111}
body.dark.template-minimal .dtoggle{border-color:#fff}
body.dark.template-minimal .dtog.on{background:#fff;color:#111}
body.dark.template-minimal .cart-bar{background:#0d0d0d}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TEMPLATE IOS — Apple design language
   Filosofía: espacio generoso · esquinas suaves · profundidad sutil
   Inspirado en iOS App Store / Apple Music / Wallet
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.template-suave{background:#f2f2f7;--r:18px;--rs:14px}

/* Header — compacto, fondo blur, sin foto invasiva */
body.template-suave .hdr{height:clamp(160px,26vw,210px);background:var(--brand)}
@media(max-width:520px){body.template-suave .hdr{height:52vw;min-height:160px}}
body.template-suave .hdr-ov{background:linear-gradient(to bottom,color-mix(in srgb,var(--brand) 28%,transparent) 0%,transparent 35%,rgba(0,0,0,.55) 100%)}
body.template-suave .hdr-logo{width:clamp(56px,12vw,68px);height:clamp(56px,12vw,68px);border-radius:16px;border:2.5px solid rgba(255,255,255,.95);box-shadow:0 4px 20px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.1)}
body.template-suave .hdr-name{font-family:'Outfit',sans-serif;font-size:clamp(1.15rem,3.5vw,1.45rem);font-weight:900;letter-spacing:-.025em}

/* Contact bar — frosted glass */
body.template-suave .cbar{background:rgba(242,242,247,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:none}
body.template-suave .cbtn{border-radius:10px;background:rgba(255,255,255,.8);border-color:rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.08)}
body.template-suave .tbtn{border-radius:10px;background:rgba(255,255,255,.8);border-color:rgba(0,0,0,.1)}

/* Search — iOS style */
body.template-suave .swrap{padding:10px var(--page-pad) 6px}
body.template-suave .sbox{border-radius:12px;border:none;background:rgba(118,118,128,.12);box-shadow:none}
body.template-suave .sbox:focus-within{background:rgba(118,118,128,.18);box-shadow:none;border-color:transparent}
body.template-suave .sinput{background:transparent}

/* Categorías — segmented-control / pill suave */
body.template-suave .cats{padding:8px var(--page-pad) 10px;gap:6px;background:transparent;border-bottom:none}
body.template-suave .cat{border-radius:20px;border:none;background:rgba(118,118,128,.10);font-size:.77rem;font-weight:600;padding:8px 16px;color:#3c3c43;box-shadow:none;transition:all .2s cubic-bezier(.25,.46,.45,.94)}
body.template-suave .cat:hover:not(.on){background:rgba(118,118,128,.17)}
body.template-suave .cat.on{background:#fff;color:var(--brand);font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.06)}

/* Secciones — App Store large title style */
body.template-suave .sec{padding-top:8px}
body.template-suave .sec-hdr{margin-bottom:12px;padding-bottom:0;border-bottom:none;align-items:baseline;gap:8px}
body.template-suave .sec-hdr h2{font-family:'Outfit',sans-serif;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:900;letter-spacing:-.025em;color:#000;text-transform:none;margin:0}
body.template-suave .sec-cnt{font-size:.68rem;background:rgba(118,118,128,.12);color:#6b6b72;border:none;border-radius:6px;padding:2px 7px}

/* Lista — cards tipo widget iOS con sombra suave */
body.template-suave .plist{display:flex;flex-direction:column;gap:0;background:transparent}
body.template-suave .plist .pc:first-child{border-radius:18px 18px 0 0}
body.template-suave .plist .pc:last-child{border-radius:0 0 18px 18px}
body.template-suave .plist .pc:only-child{border-radius:18px}
body.template-suave .plist .pc+.pc{border-top:1px solid rgba(0,0,0,.06)}
body.template-suave .sec .plist{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.05);margin-bottom:16px}

/* Forzar grid 2col en pantallas mayores */
@media(min-width:600px){
  body.template-suave .plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border-radius:18px;overflow:hidden}
  body.template-suave .plist .pc:first-child{border-radius:0}
  body.template-suave .plist .pc:last-child{border-radius:0}
  body.template-suave .plist .pc{border-top:none;border-right:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}
  body.template-suave .plist .pc:nth-child(2n){border-right:none}
}
@media(min-width:900px){
  body.template-suave .plist{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.template-suave .plist .pc:nth-child(2n){border-right:1px solid rgba(0,0,0,.06)}
  body.template-suave .plist .pc:nth-child(3n){border-right:none}
}

/* Producto card — iOS list row */
body.template-suave .pc{border-radius:0;border:none;background:#fff;box-shadow:none;display:grid;grid-template-columns:80px 1fr;min-height:80px;overflow:hidden;transition:background .15s}
body.template-suave .pc:active{background:#f2f2f7}
body.template-suave .pc:hover{background:#fafafa;transform:none;box-shadow:none}
body.template-suave .pc-img{width:80px;height:80px;padding-bottom:0;border-radius:12px;border:none;margin:10px 0 10px 12px;display:block;overflow:hidden;flex-shrink:0;align-self:center}
body.template-suave .pc-body{padding:12px 14px 12px 10px;display:flex;flex-direction:column;justify-content:center;min-width:0}
body.template-suave .pc-name{font-size:.9rem;font-weight:600;line-height:1.28;color:#000;letter-spacing:-.01em}
body.template-suave .pc-desc{font-size:.72rem;color:#8e8e93;-webkit-line-clamp:2;margin-bottom:6px;min-height:0;line-height:1.4}
body.template-suave .pc-prices{gap:5px;align-items:center}
body.template-suave .pc-price{font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:800;color:var(--brand);letter-spacing:-.015em}
body.template-suave .pc-orig{font-size:.7rem;color:#aeaeb2}
body.template-suave .pc-disc{background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand);border-radius:4px;font-size:.6rem;font-weight:700;padding:2px 5px}
body.template-suave .pc-foot{margin-top:auto;padding-top:6px}
body.template-suave .add-btn{background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand);border-radius:20px;font-weight:700;font-size:.78rem;height:32px;border:none;box-shadow:none;min-width:76px;padding:0 14px}
body.template-suave .add-btn:not(:disabled):hover{background:color-mix(in srgb,var(--brand) 20%,#fff)}
body.template-suave .add-btn:disabled{background:#f2f2f7;color:#c7c7cc}
body.template-suave .pc-qty{border:none;border-radius:20px;background:color-mix(in srgb,var(--brand) 10%,#fff);overflow:hidden;gap:0}
body.template-suave .pc-qty-btn{background:transparent;color:var(--brand);font-weight:700;font-size:1.1rem;min-width:32px;border-radius:0}
body.template-suave .pc-qty-num{font-weight:700;color:var(--brand);font-size:.88rem}
body.template-suave .pc-incart{background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand);border-radius:4px;font-size:.62rem;font-weight:700}
body.template-suave .pc-opts-hint{font-size:.68rem;color:#8e8e93;font-weight:500;margin-bottom:4px}

/* Badges iOS */
body.template-suave .pbadge{border-radius:5px;font-size:.6rem;letter-spacing:.02em;font-weight:700;padding:2px 7px}
body.template-suave .pb-disc{background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand)}
body.template-suave .pb-hot{background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand)}
body.template-suave .pb-new{background:rgba(52,199,89,.12);color:#1a9e3a}
body.template-suave .pb-out{background:#f2f2f7;color:#8e8e93}
body.template-suave .pb-few{background:rgba(255,149,0,.12);color:#bf6800}

/* Grid override para pantallas más anchas */
@media(min-width:600px){
  body.template-suave .pc{grid-template-columns:1fr;min-height:0;display:flex;flex-direction:column}
  body.template-suave .pc-img{width:100%;height:0;padding-bottom:80%;border-radius:0;margin:0;align-self:auto}
  body.template-suave .pc-body{padding:12px 14px 14px}
}

/* Detail panel — iOS bottom sheet feel */
@media(max-width:699px){body.template-suave .detail-panel.is-open{border-radius:22px 22px 0 0;border:none;box-shadow:0 -4px 40px rgba(0,0,0,.15)}}
@media(min-width:700px){body.template-suave .detail-panel{border-radius:20px;border:none;box-shadow:0 24px 80px rgba(0,0,0,.18)}}
body.template-suave .detail-bar{background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
body.template-suave .pm-bar-name{color:#000;font-family:'Outfit',sans-serif;font-weight:700}
body.template-suave .detail-close{background:#f2f2f7;border:none;color:#3c3c43;border-radius:50%}
body.template-suave .pm-price{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:900;color:var(--brand);letter-spacing:-.03em}
body.template-suave .ms-title{font-weight:700;font-size:.78rem;color:#3c3c43;letter-spacing:-.01em}
body.template-suave .opt{border-radius:12px;border-color:#e5e5ea}
body.template-suave .opt:hover{border-color:var(--brand)}
body.template-suave .add-main{background:var(--brand);border-radius:14px;font-weight:800;box-shadow:0 4px 16px color-mix(in srgb,var(--brand) 40%,transparent)}
body.template-suave .pm-save{background:rgba(52,199,89,.12);color:#1a9e3a;border-radius:6px;font-size:.76rem}

/* Delivery toggle — segmented control iOS */
body.template-suave .dtoggle{background:#e5e5ea;border:none;border-radius:10px;box-shadow:none;padding:2px}
body.template-suave .dtog{border-radius:9px;font-weight:600;font-size:.79rem}
body.template-suave .dtog.on{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12),0 0.5px 1px rgba(0,0,0,.1);color:#000}

/* Business card */
body.template-suave .biz-wrap{padding-top:8px}
body.template-suave .biz-card{border-radius:18px;border:none;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.07)}
body.template-suave .biz-chip{border-radius:8px;background:#f2f2f7;border:none}
body.template-suave .prog-wrap{border-radius:14px;border:none;box-shadow:0 2px 8px rgba(0,0,0,.06)}

/* Cart bar — iOS tab bar feel */
body.template-suave .cart-bar{background:rgba(242,242,247,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.1);box-shadow:0 -1px 0 rgba(0,0,0,.08)}
body.template-suave .cart-bar .cart-btn{background:var(--brand);border-radius:14px;color:#fff;font-weight:700;box-shadow:0 4px 16px color-mix(in srgb,var(--brand) 38%,transparent)}
body.template-suave .cart-cnt{background:#fff;color:var(--brand);border-radius:5px;font-weight:800}
body.template-suave .cart-bar .cart-items-txt{color:#6b6b72;font-size:.76rem}
body.template-suave .cart-bar-total{color:#000;font-family:'Outfit',sans-serif;font-weight:900}

/* Promo ribbon */
body.template-suave .promo-ribbon{background:var(--brand);border-bottom:none;box-shadow:none}
body.template-suave .promo-ribbon::before{display:none}

/* Dark mode */
body.dark.template-suave{background:#000!important}
body.dark.template-suave .cbar{background:rgba(28,28,30,.88)}
body.dark.template-suave .cat{background:rgba(118,118,128,.24);color:#ebebf5}
body.dark.template-suave .cat.on{background:#2c2c2e;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.4)}
body.dark.template-suave .sbox{background:rgba(118,118,128,.24)}
body.dark.template-suave .sec .plist{background:#1c1c1e;box-shadow:none}
body.dark.template-suave .pc{background:#1c1c1e}
body.dark.template-suave .pc:hover{background:#2c2c2e}
body.dark.template-suave .pc+.pc{border-top-color:rgba(255,255,255,.08)}
body.dark.template-suave .pc-name{color:#fff}
body.dark.template-suave .pc-desc{color:#8e8e93}
body.dark.template-suave .sec-hdr h2{color:#fff}
body.dark.template-suave .detail-bar{background:#1c1c1e;border-bottom-color:rgba(255,255,255,.08)}
body.dark.template-suave .pm-bar-name{color:#fff}
body.dark.template-suave .pm-price{color:var(--brand)}
body.dark.template-suave .detail-close{background:#2c2c2e;color:#ebebf5}
body.dark.template-suave .dtoggle{background:#3a3a3c}
body.dark.template-suave .dtog.on{background:#636366;color:#fff}
body.dark.template-suave .biz-card{background:#1c1c1e;box-shadow:none}
body.dark.template-suave .cart-bar{background:rgba(0,0,0,.88)}
body.dark.template-suave .cart-bar-total{color:#fff}

.hdr-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.04) 0%,rgba(0,0,0,.12) 40%,rgba(0,0,0,.78) 100%);pointer-events:none}
.viewers-b{position:absolute;top:50px;left:14px;display:flex;align-items:center;gap:5px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);padding:4px 10px;border-radius:100px;font-size:.7rem;font-weight:600;color:white}
.vdot{width:6px;height:6px;border-radius:50%;background:#ff4444;animation:blink 1s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes tienda-spin{to{transform:rotate(360deg)}}
.tienda-menu-skel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:min(12vh,80px) 20px;color:var(--gray2);font-size:.86rem;font-weight:600}
.tienda-menu-skel .sk{width:34px;height:34px;border-radius:50%;border:3px solid var(--gb);border-top-color:var(--brand);animation:tienda-spin .7s linear infinite}
.hdr-badges{position:absolute;top:50px;right:14px;display:flex;flex-direction:column;gap:5px;align-items:flex-end;z-index:10;pointer-events:all}
.hbadge{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:100px;font-size:.68rem;font-weight:700;backdrop-filter:blur(8px)}
.hb-open{background:rgba(0,200,83,.88);color:white}
.hb-closed{background:rgba(239,68,68,.88);color:white}
.hb-del{background:rgba(0,0,0,.55);color:white}
.hdr-info{position:absolute;bottom:0;left:0;right:0;padding:0 var(--page-pad) max(16px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:clamp(11px,2.5vw,16px)}
.hdr-logo{width:clamp(62px,13vw,80px);height:clamp(62px,13vw,80px);border-radius:16px;border:2.5px solid rgba(255,255,255,.9);background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:clamp(1.6rem,4vw,2.2rem);flex-shrink:0;box-shadow:0 6px 24px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.12);overflow:hidden}
.hdr-name{font-family:'Outfit',sans-serif;font-size:clamp(1.2rem,3.8vw,1.55rem);font-weight:900;color:white;line-height:1.18;text-shadow:0 2px 16px rgba(0,0,0,.5);letter-spacing:-.02em}
.hdr-sub{font-size:.8rem;color:rgba(255,255,255,.8);margin-top:5px;line-height:1.4;max-width:54ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hdr-rating{display:flex;align-items:center;gap:4px;font-size:.7rem;color:rgba(255,255,255,.85);margin-top:3px}

/* CONTACT BAR */
.cbar{background:var(--white);padding:10px var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--gb)}
.cbar-addr{font-size:var(--fs-sm);color:var(--gray2);display:flex;align-items:center;gap:4px;min-width:0;flex:1;overflow:hidden;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.cbar-addr[style*="cursor:pointer"]:hover .cbar-addr-inner{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.cbar-addr-inner{display:inline-block;white-space:nowrap;animation:none}
.cbar-addr-inner.scrolling{animation:cbar-scroll 14s linear infinite}
@keyframes cbar-scroll{
  0%{transform:translateX(0)}
  40%{transform:translateX(var(--scroll-dist,0px))}
  60%{transform:translateX(var(--scroll-dist,0px))}
  100%{transform:translateX(0)}
}
.ostatus{font-weight:700;margin-left:4px}
.cbar-btns{display:flex;gap:7px;flex-shrink:0}
.cbtn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid var(--gb);background:var(--white);color:var(--black);cursor:pointer;text-decoration:none;transition:all .2s cubic-bezier(.2,.8,.2,1);flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,0.04);touch-action:manipulation}
.cbtn:hover{border-color:var(--gray2);background:var(--gl);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.cbtn.wa{background:#25D366;border-color:#25D366;color:white}
.cbtn.wa:hover{filter:brightness(1.05);color:white}
.cbtn.wa svg{width:18px;height:18px;flex-shrink:0}
@media (max-width:520px){
  .cbar{padding:8px var(--page-pad)}
  .cbar-addr{font-size:.72rem}
  .cbtn{padding:7px 11px;font-size:.75rem;gap:5px}
  .cbtn.wa svg{width:16px;height:16px}
  .dtoggle{margin:4px var(--page-pad) 6px}
  .swrap{padding:0 var(--page-pad) 4px}
  .cats{padding-top:2px;padding-bottom:6px}
}

/* BUSINESS PANEL */
.biz-wrap{padding:14px var(--page-pad) 6px}
.biz-card{background:var(--white);border:1px solid var(--gb);border-radius:20px;padding:16px;box-shadow:var(--sh)}
.biz-top{display:flex;gap:12px;align-items:center}
.biz-avatar{width:52px;height:52px;border-radius:14px;overflow:hidden;flex-shrink:0;background:linear-gradient(160deg,#f0f0ee,#ececea);display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:1px solid var(--gb)}
.biz-avatar img{width:100%;height:100%;object-fit:cover}
.biz-eyebrow{font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--gray2);text-transform:uppercase}
.biz-title{font-family:'Outfit',sans-serif;font-size:1.08rem;font-weight:800;letter-spacing:-.02em}
.biz-sub{font-size:.78rem;color:var(--gray2);margin-top:3px;line-height:1.45}
.biz-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.biz-chip{font-size:.7rem;font-weight:700;padding:6px 10px;border-radius:999px;background:var(--gl);border:1px solid var(--gb);color:var(--black)}
.biz-grid{margin-top:12px;display:grid;grid-template-columns:1fr;gap:8px}
.biz-item{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border-radius:12px;background:var(--gl);border:1px solid color-mix(in srgb,var(--gb) 85%, transparent)}
.biz-ico{font-size:.92rem;line-height:1.2}
.biz-label{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gray2);margin-bottom:2px}
.biz-value{font-size:.78rem;font-weight:600;line-height:1.4;color:var(--black)}
.biz-value a{color:inherit;text-decoration:none}
.biz-value a:hover{text-decoration:underline}
.hours-card{margin-top:10px;border:1px solid var(--gb);border-radius:16px;background:var(--white);overflow:hidden}
.hours-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--gb)}
.hours-title{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gray2)}
.hours-state{font-size:.71rem;font-weight:700;padding:4px 10px;border-radius:999px;line-height:1}
.hours-state.open{background:#dcfce7;color:#15803d}
.hours-state.closed{background:#fee2e2;color:#dc2626}
.hours-next{padding:8px 14px;font-size:.72rem;color:var(--gray2);background:var(--gl);border-bottom:1px solid var(--gb)}
.hours-list{padding:4px 0;display:grid}
.hours-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 14px;font-size:.76rem}
.hours-row.hs-today{background:var(--pale)}
.hours-row.hs-today .hr-dia{color:var(--brand);font-weight:800}
.hours-row.hs-today .hr-time{color:var(--brand);font-weight:700}
.hours-row.hs-cerrado .hr-dia{color:var(--gray2);font-weight:400}
.hours-row.hs-cerrado .hr-time{color:var(--gb)}
.hr-dia{font-weight:600;color:var(--black)}
.hr-time{font-size:.74rem;color:var(--gray2)}
.hours-empty{padding:10px 14px;font-size:.76rem;color:var(--gray2)}

/* HOURS SHEET */
#statusBadge{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(0,0,0,.18)}
#statusBadge:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.22)}
#statusBadge:active{transform:scale(.93)}
.hs-pad{padding:16px var(--page-pad) max(28px,env(safe-area-inset-bottom))}
.hs-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.hs-title{font-size:1rem;font-weight:800}
.hs-next{font-size:.78rem;color:var(--gray2);margin-bottom:14px;padding:9px 12px;background:var(--gl);border-radius:10px}
.hs-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--gb);font-size:.84rem}
.hs-row:last-child{border-bottom:none}
.hs-row.hs-today .hr-dia{color:var(--brand);font-weight:800}
.hs-row.hs-today .hr-time{color:var(--brand);font-weight:700}
.hs-row.hs-cerrado .hr-dia{color:var(--gray2);font-weight:400}
.hs-row.hs-cerrado .hr-time{color:var(--gb)}
.hs-row .hr-dia{font-weight:600}
.hs-row .hr-time{font-size:.8rem;color:var(--gray2)}

/* DELIVERY TOGGLE */
.dtoggle{margin:12px var(--page-pad);background:var(--white);border-radius:var(--r);padding:4px;border:1px solid var(--gb);display:flex;gap:4px;box-shadow:var(--sh)}
.dtog{flex:1;padding:10px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:all .2s;font-size:.82rem;font-weight:600;color:var(--gray)}
.dtog.on{background:var(--grad);color:white;box-shadow:var(--shb)}
.dtog-ico{font-size:1.1rem}
.dtog-sub{font-size:.6rem;font-weight:400;opacity:.8;display:block}

/* ZONA WARNING */
.zona-warn{margin:0 var(--page-pad) 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--rs);padding:10px 14px;font-size:var(--fs-sm);color:#92400e;display:none;align-items:center;gap:8px;line-height:1.4}
.zona-warn.show{display:flex}

/* PROGRESS */
.prog-wrap{margin:0 var(--page-pad) 10px;background:var(--white);border-radius:var(--r);padding:12px 14px;border:1px solid var(--gb);box-shadow:var(--sh)}
.prog-txt{font-size:.73rem;color:var(--gray);margin-bottom:6px;display:flex;justify-content:space-between}
.prog-txt strong{color:var(--brand)}
.pbar{height:7px;background:var(--gb);border-radius:100px;overflow:hidden}
.pfill{height:100%;border-radius:100px;background:var(--grad);transition:width .5s cubic-bezier(.34,1.56,.64,1);width:0%;position:relative;overflow:hidden}
.pfill::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shim 2s infinite}
@keyframes shim{to{left:100%}}

/* SEARCH */
.swrap{padding:0 var(--page-pad) 12px}
.sbox{position:relative;background:var(--white);border-radius:999px;border:1px solid var(--gb);display:flex;align-items:center;padding:0 16px;gap:10px;box-shadow:var(--sh);transition:border-color .2s,box-shadow .2s;max-width:100%}
.sbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
.sinput{flex:1;padding:12px 0;background:none;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:var(--fs-body);color:var(--black)}
.sinput::placeholder{color:var(--gray)}
.sclear{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--gray);display:none}

/* CATS */
.cats{padding:0 var(--page-pad) 12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.cats::-webkit-scrollbar{height:4px}
.cat{flex-shrink:0;padding:10px 18px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;border:1px solid var(--gb);background:var(--white);color:var(--gray2);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.cat.on{background:var(--grad);border-color:transparent;color:white;box-shadow:var(--shb)}
.cat:hover:not(.on){border-color:color-mix(in srgb,var(--brand) 35%,var(--gb));color:var(--black);background:color-mix(in srgb,var(--brand) 4%,var(--white))}

/* SECTION */
.sec{padding:0 var(--page-pad) 8px}
.sec-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-top:10px}
.sec-hdr h2{font-family:'Outfit',sans-serif;font-size:var(--fs-h2);font-weight:800;letter-spacing:-.025em;color:var(--black)}
.sec-cnt{font-size:.67rem;color:var(--gray2);background:var(--gl);padding:3px 9px;border-radius:999px;font-weight:700;border:1px solid var(--gb)}

/* PRODUCTS */
.plist{display:flex;flex-direction:column;gap:12px}
@media (min-width:640px){
  .plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (min-width:960px){
  .plist{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
.pc{background:var(--white);border-radius:20px;display:flex;flex-direction:column;align-items:stretch;border:1.5px solid var(--gb);cursor:pointer;transition:border-color .22s,box-shadow .22s,transform .22s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);will-change:transform}
.pc:hover{border-color:color-mix(in srgb,var(--brand) 42%,var(--gb));box-shadow:0 12px 32px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.04);transform:translateY(-3px)}
.pc:active{transform:scale(.97);transition-duration:.1s}
/* PRODUCT CARD IMAGES — 1:1 garantizado, overflow:hidden, shimmer de carga */
@keyframes _pc-shimmer{0%{background-position:-250% 0}100%{background-position:250% 0}}
.pc-img{width:100%;height:0;padding-bottom:100%;flex-shrink:0;align-self:auto;display:block;border-bottom:1px solid var(--gb);overflow:hidden;position:relative;background:linear-gradient(90deg,#f0f2f5 25%,#e4e6ea 45%,#f0f2f5 65%) 0 0/250% 100%;animation:_pc-shimmer 1.6s ease-in-out infinite}
.pc-img.pc-img--loaded{animation:none;background:var(--gl)}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;opacity:0;transition:opacity .3s ease}
.pc-img.pc-img--loaded img{opacity:1}
.pc-img .pc-img-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:color-mix(in srgb,var(--gray) 55%,var(--gb));background:linear-gradient(135deg,var(--gl),color-mix(in srgb,var(--brand) 6%,var(--white)));position:absolute;inset:0}
.pc-img--fallback::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,0,0,.03) 4px,rgba(0,0,0,.03) 5px)}
.pc-img-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--gray2);opacity:.45;position:absolute;inset:0}
.pc-img-ph svg{width:38%;height:38%;max-width:38px}
.pc-img-dots{position:absolute;bottom:7px;left:0;right:0;display:flex;justify-content:center;gap:4px;pointer-events:none;z-index:3}
.pc-img-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45);box-shadow:0 1px 3px rgba(0,0,0,.35);transition:all .2s;flex-shrink:0}
.pc-img-dot.active{background:rgba(255,255,255,.95);width:6px;height:6px}
.pc-img-strip{position:absolute;inset:0;display:flex;overflow-x:scroll;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.pc-img-strip::-webkit-scrollbar{display:none}
.pc-img-slide{flex:0 0 100%;min-width:100%;scroll-snap-align:start;position:relative;overflow:hidden}
.pc-img-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s ease}
.pc-img-multi.pc-img--loaded .pc-img-slide img{opacity:1}
.pc-body{flex:1;padding:12px 14px 14px;display:flex;flex-direction:column;min-width:0;justify-content:space-between}
.pc-name{font-family:'Outfit',sans-serif;font-size:var(--fs-h3);font-weight:700;line-height:1.3;margin-bottom:4px;letter-spacing:-.02em}
.pc-desc{font-size:var(--fs-sm);color:var(--gray2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px;flex:1;min-height:2.7em}
.pc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.pc-prices{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.pc-price{font-family:'Outfit',sans-serif;font-size:clamp(1rem,2.8vw,1.12rem);font-weight:800;color:var(--black);letter-spacing:-.03em}
.pc-orig{font-size:.75rem;text-decoration:line-through;color:var(--gray)}
.pc-unit-sfx{font-size:.7rem;font-weight:400;color:var(--gray);margin-left:1px}
.pm-unit-sfx{font-size:.85rem;font-weight:400;color:var(--gray);margin-left:2px}
.pc-disc{font-size:.65rem;font-weight:800;background:#e8faf0;color:var(--green);padding:2px 6px;border-radius:100px}
.pc-incart{font-size:.65rem;color:var(--green);font-weight:700;background:#e8faf0;padding:2px 6px;border-radius:100px}
.add-btn{min-width:44px;min-height:44px;height:auto;padding:10px 16px;border-radius:14px;background:var(--grad);color:white;border:none;cursor:pointer;font-size:.88rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;flex-shrink:0;font-weight:700;box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 35%,transparent);position:relative;overflow:hidden;isolation:isolate}
.add-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,transparent 60%);pointer-events:none}
.add-btn:hover{transform:scale(1.04) translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 48%,transparent)}
.add-btn:active{transform:scale(.96);transition-duration:.08s}
.add-btn:disabled{background:var(--gb);color:var(--gray);cursor:not-allowed;opacity:.75;box-shadow:none}
.pbadge{position:absolute;top:8px;left:8px;z-index:4;font-size:.62rem;font-weight:800;padding:4px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pb-hot{background:rgba(255,55,55,.9);color:white}
.pb-new{background:rgba(0,190,75,.9);color:white}
.pb-few{background:rgba(255,184,0,.92);color:#000}
.pb-out{background:rgba(30,30,30,.55);color:rgba(255,255,255,.92)}
.pb-disc{background:rgba(0,190,75,.9);color:white}
.pc.out{opacity:.6}
/* Inline +/- qty control en cards simples */
.pc-qty{display:flex;align-items:center;gap:0;flex-shrink:0;background:var(--brand);border-radius:14px;overflow:hidden;box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 30%,transparent)}
.pc-qty-btn{width:40px;height:40px;min-width:40px;background:none;border:none;color:white;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.pc-qty-btn:active{background:rgba(255,255,255,.22)}
.pc-qty-num{min-width:26px;text-align:center;color:white;font-family:'Outfit',sans-serif;font-weight:800;font-size:.92rem;padding:0 2px;user-select:none}
@media (min-width:760px){
  .biz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .hdr{height:clamp(260px,28vw,360px)}
  .biz-wrap{padding-top:16px}
}
@media (max-width:520px){
  .biz-card{padding:14px}
  .biz-top{align-items:flex-start}
  .sinput{padding:14px 0}
  .popt{min-height:52px;padding:14px}
  .co-back{width:44px;height:44px;min-width:44px;min-height:44px}
  .detail-close{min-height:44px;padding:10px 16px}
  /* Cards en mobile: imagen consistente, texto legible */
  .pc-body{padding:10px 12px 12px}
  .pc-name{font-size:.9rem}
  .pc-desc{font-size:.72rem;-webkit-line-clamp:2;margin-bottom:8px}
  .pc-price{font-size:.98rem}
  .add-btn{padding:9px 13px;font-size:.82rem;min-width:40px;min-height:40px}
  /* Botón qty inline en mobile: touch targets cómodos */
  .pc-qty{border-radius:12px}
  .pc-qty-btn{width:44px;height:44px;min-width:44px;font-size:1.4rem}
  .pc-qty-num{font-size:.95rem}
  /* Galería detalle — siempre cuadrada en mobile */
  .pm-gallery{height:0;padding-bottom:100%;min-height:0}
}

/* MODAL / SHEET */
.ov{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .25s}
.ov.on{opacity:1;pointer-events:all}
.sheet{background:var(--white);width:100%;border-radius:24px 24px 0 0;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);max-height:92vh;overflow-y:auto;overscroll-behavior:contain}
.ov.on .sheet{transform:translateY(0)}
.handle{width:38px;height:4px;background:var(--gb);border-radius:2px;margin:10px auto 0}

/* PRODUCT SHEET — imagen siempre cuadrada */
.pm-img{width:100%;height:0;padding-bottom:100%;background:var(--gl);position:relative;overflow:hidden}
.pm-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* PRODUCT GALLERY in detail panel — siempre 1:1 */
.pm-gallery{position:relative;width:100%;height:0;padding-bottom:100%;background:#111;overflow:hidden;user-select:none}
.pm-gallery-inner{position:absolute;inset:0;display:flex;width:100%;height:100%;transition:transform .32s cubic-bezier(.32,.72,0,1)}
.pm-gallery-inner.gal-auto{transition:transform .65s ease-in-out}
.pm-gallery-slide{min-width:100%;height:100%;flex-shrink:0;position:relative;overflow:hidden}
/* fondo blur detrás de la imagen (por si tiene barras laterales) */
.pm-gallery-slide .pm-gs-blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(22px) brightness(.5) saturate(1.4);z-index:0;pointer-events:none;display:block}
/* imagen principal siempre cuadrada con cover */
.pm-gallery-slide .pm-gs-main{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
.pm-gallery-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--gray2);opacity:.35}
.pm-gallery-fallback svg{width:64px;height:64px}
.pm-gdots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3;pointer-events:none}
.pm-gdot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);border:1.5px solid rgba(255,255,255,.25);transition:all .2s cubic-bezier(.2,.8,.2,1);flex-shrink:0}
.pm-gdot.on{background:white;width:20px;border-radius:4px;border-color:transparent}
/* flechas de navegación — touch target 44px */
.pm-gnav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:white;border:1px solid rgba(255,255,255,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;z-index:3;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.pm-gnav:hover{background:rgba(0,0,0,.65);transform:translateY(-50%) scale(1.06)}
.pm-gnav:active{transform:translateY(-50%) scale(.94)}
.pm-gnav-prev{left:10px}
.pm-gnav-next{right:10px}
.pm-gclose{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:white;border:1.5px solid rgba(255,255,255,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;z-index:4;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.pm-gclose:hover{background:var(--brand);transform:scale(1.08)}
@media (min-width:700px){
  .pm-gallery{padding-bottom:100%;height:0;border-right:1px solid var(--gb)}
}

/* CATEGORY PILLS with optional image */
.cat-has-img{padding:5px 14px 5px 5px;gap:7px}
.cat-thumb{width:28px;height:28px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--gl)}

/* CATEGORY SHOWCASE GRID */
#catShowcase{display:none}
.cat-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px var(--page-pad) 20px}
@media(min-width:480px){.cat-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:800px){.cat-showcase{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.cat-tile{border-radius:16px;overflow:hidden;cursor:pointer;background:var(--gl);border:1px solid var(--gb);transition:transform .18s,box-shadow .2s;will-change:transform;position:relative}
.cat-tile:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.13)}
.cat-tile:active{transform:scale(.97);transition-duration:.08s}
/* Tile con imagen: nombre sobre la imagen con overlay */
.cat-tile-img{height:0;padding-bottom:75%;position:relative;overflow:hidden;background:var(--gl)}
.cat-tile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cat-tile:hover .cat-tile-img img{transform:scale(1.05)}
.cat-tile-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.1) 50%,transparent 100%);pointer-events:none}
/* Sin imagen: mostrar nombre centrado grande */
.cat-tile-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;text-align:center}
.cat-tile-ph-lbl{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:800;color:var(--brand);line-height:1.2}
.cat-tile-ph-cnt{font-size:.68rem;color:var(--gray);font-weight:500}
/* Nombre sobre la imagen */
.cat-tile-name{font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:800;padding:8px 12px 6px;line-height:1.2;color:var(--black)}
.cat-tile-cnt{font-size:.68rem;color:var(--gray);padding:0 12px 10px;font-weight:500}
/* Cuando tiene imagen, nombre va overlay */
.cat-tile.has-img .cat-tile-name{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:10px 12px 8px;background:none;text-shadow:0 1px 4px rgba(0,0,0,.4);z-index:2}
.cat-tile.has-img .cat-tile-cnt{position:absolute;bottom:0;left:0;right:0;padding:0 12px 28px;color:rgba(255,255,255,.75);z-index:2;font-size:.65rem}
body.dark .cat-tile{background:#1e1e1e;border-color:#2a2a2a}
body.dark .cat-tile-name{color:#eee}
body.dark .cat-tile.has-img .cat-tile-name{color:#fff}
/* Showcase modo texto */
.cat-showcase-text{display:flex;flex-wrap:wrap;gap:10px;padding:8px var(--page-pad) 20px}
.cat-text-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:14px;border:2px solid var(--gb);background:var(--white);cursor:pointer;transition:all .18s;font-family:'Outfit',sans-serif;font-size:1rem;font-weight:700;color:var(--black);box-shadow:var(--sh)}
.cat-text-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.cat-text-btn:active{transform:scale(.97)}
.cat-text-lbl{line-height:1.2}
.cat-text-cnt{font-size:.72rem;font-weight:600;color:var(--gray);background:var(--gl);border-radius:999px;padding:2px 8px;margin-left:2px}
body.dark .cat-text-btn{background:#1e1e1e;border-color:#2a2a2a;color:#eee}
body.dark .cat-text-cnt{background:#252525;color:#888}

/* CATEGORY SHOWCASE — BANNERS style */
.cat-banners{display:flex;flex-direction:column;gap:10px;padding:8px var(--page-pad) 20px}
.cat-banner{border-radius:18px;overflow:hidden;cursor:pointer;position:relative;height:110px;background:var(--gl);border:1px solid var(--gb);display:flex;align-items:stretch;transition:transform .18s,box-shadow .22s;will-change:transform}
.cat-banner:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.13)}
.cat-banner:active{transform:scale(.98);transition-duration:.08s}
.cat-banner-bg{position:absolute;inset:0;overflow:hidden}
.cat-banner-bg img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cat-banner:hover .cat-banner-bg img{transform:scale(1.05)}
.cat-banner.has-img::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.08) 100%);pointer-events:none}
.cat-banner-body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:16px 22px;gap:2px;max-width:70%}
.cat-banner-name{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;line-height:1.2;color:var(--black)}
.cat-banner.has-img .cat-banner-name{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.cat-banner-cnt{font-size:.7rem;color:var(--gray);font-weight:500}
.cat-banner.has-img .cat-banner-cnt{color:rgba(255,255,255,.72)}
.cat-banner-arrow{font-size:.72rem;font-weight:700;color:var(--brand);margin-top:5px;letter-spacing:.01em}
.cat-banner.has-img .cat-banner-arrow{color:rgba(255,255,255,.9)}
@media(min-width:560px){.cat-banner{height:140px}.cat-banner-name{font-size:1.28rem}}
@media(min-width:900px){.cat-banners{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.cat-banner{height:170px}}
body.dark .cat-banner{background:#1e1e1e;border-color:#2a2a2a}
body.dark .cat-banner-name{color:#eee}

/* CATEGORY SHOWCASE — SCROLL (horizontal) style */
.cat-scroll-wrap{display:flex;gap:14px;overflow-x:auto;padding:8px var(--page-pad) 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cat-scroll-wrap::-webkit-scrollbar{display:none}
.cat-scroll-item{flex-shrink:0;width:96px;cursor:pointer;text-align:center;scroll-snap-align:start;transition:transform .18s}
.cat-scroll-item:hover{transform:translateY(-3px)}
.cat-scroll-item:active{transform:scale(.93);transition-duration:.08s}
.cat-scroll-img{width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto 8px;border:2.5px solid var(--gb);background:var(--gl);display:flex;align-items:center;justify-content:center;transition:border-color .18s,box-shadow .18s}
.cat-scroll-item:hover .cat-scroll-img,.cat-scroll-item.on .cat-scroll-img{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}
.cat-scroll-img img{width:100%;height:100%;object-fit:cover}
.cat-scroll-ph{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:900;color:var(--brand)}
.cat-scroll-name{font-family:'Outfit',sans-serif;font-size:.74rem;font-weight:700;color:var(--black);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 2px}
.cat-scroll-cnt{font-size:.6rem;color:var(--gray);margin-top:2px}
@media(min-width:600px){.cat-scroll-item{width:112px}.cat-scroll-img{width:96px;height:96px}}
body.dark .cat-scroll-name{color:#ddd}
body.dark .cat-scroll-img{background:#252525;border-color:#383838}

/* CATEGORY SHOWCASE — CARDS large immersive style */
.cat-cards{display:grid;grid-template-columns:1fr;gap:14px;padding:8px var(--page-pad) 20px}
@media(min-width:560px){.cat-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.cat-cards{gap:18px}}
.cat-card{border-radius:22px;overflow:hidden;cursor:pointer;position:relative;min-height:190px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 15%,var(--gl)),var(--gl));border:1px solid var(--gb);display:flex;align-items:flex-end;transition:transform .2s,box-shadow .25s;will-change:transform}
.cat-card:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 18px 48px rgba(0,0,0,.16)}
.cat-card:active{transform:scale(.97);transition-duration:.08s}
.cat-card-bg{position:absolute;inset:0;overflow:hidden}
.cat-card-bg img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cat-card:hover .cat-card-bg img{transform:scale(1.07)}
.cat-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.3) 55%,rgba(0,0,0,.04) 100%);pointer-events:none}
.cat-card-body{position:relative;z-index:2;padding:22px 20px 18px;width:100%}
.cat-card-name{font-family:'Outfit',sans-serif;font-size:1.4rem;font-weight:900;line-height:1.15;color:var(--black)}
.cat-card.has-img .cat-card-name{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.cat-card-cnt{font-size:.72rem;color:var(--gray);margin-top:5px;font-weight:500}
.cat-card.has-img .cat-card-cnt{color:rgba(255,255,255,.72)}
@media(min-width:560px){.cat-card{min-height:230px}}
@media(min-width:900px){.cat-card{min-height:270px}}
body.dark .cat-card{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 20%,#1e1e1e),#1e1e1e);border-color:#2a2a2a}
body.dark .cat-card-name{color:#eee}

/* SUBCATEGORY SHOWCASE (inside a category) */
#subcatShowcase{display:none}
.subcat-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 var(--page-pad) 12px}
@media(min-width:480px){.subcat-showcase{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:800px){.subcat-showcase{grid-template-columns:repeat(5,minmax(0,1fr))}}
.cat-tile-sm .cat-tile-img{padding-bottom:55%}
.cat-tile-sm .cat-tile-name{font-size:.76rem;padding:6px 8px 3px}
.cat-tile-sm .cat-tile-cnt{font-size:.62rem;padding:0 8px 6px}

/* BREADCRUMB */
#catBreadcrumb{display:none;padding:8px var(--page-pad) 2px}
.cat-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cat-back-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:999px;border:1.5px solid var(--gb);background:var(--white);color:var(--gray2);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .14s,border-color .14s;font-family:inherit}
.cat-back-btn:hover{background:var(--gl);border-color:color-mix(in srgb,var(--brand) 30%,var(--gb))}
.cat-back-arr{font-size:1rem;line-height:1}
.cat-bread-cur{font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:800;color:var(--black)}
body.dark .cat-back-btn{background:#1e1e1e;border-color:#383838;color:#bbb}
body.dark .cat-bread-cur{color:#eee}

/* PRODUCT OPTS HINT */
.pc-opts-hint{font-size:.68rem;font-weight:700;color:var(--brand);margin:4px 0 0;letter-spacing:.01em}

/* PRODUCT NOTE */
.pm-nota-section{padding:12px 16px 0;border-top:1px solid var(--gb)}
.pm-nota-section .ms-title{padding:0 0 8px;border-top:none}
.ms-opt{font-size:.62rem;font-weight:600;color:var(--gray);background:var(--gl);padding:2px 7px;border-radius:100px;border:1px solid var(--gb)}
.pm-nota-ta{width:100%;min-height:72px;border-radius:10px;border:1.5px solid var(--gb);background:var(--white);color:var(--black);font-family:inherit;font-size:.84rem;padding:10px 12px;resize:vertical;box-sizing:border-box;outline:none;transition:border-color .15s}
.pm-nota-ta:focus{border-color:var(--brand)}
body.dark .pm-nota-ta{background:#2a2a2a;color:#eee;border-color:#444}

/* CART NOTE */
.co-inota{font-size:.72rem;color:var(--gray);margin-top:3px;font-style:italic}
.pm-body{padding:14px 16px 0}
.pm-tags{display:flex;gap:5px;margin-bottom:7px;flex-wrap:wrap}
.pmtag{font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:100px;text-transform:uppercase}
.pt-hot{background:#fff0f0;color:#ff4444}
.pt-new{background:#e8faf0;color:var(--green)}
.pt-disc{background:#e8faf0;color:var(--green)}
.pm-name{font-family:'Outfit',sans-serif;font-size:1.35rem;font-weight:900}
.pm-desc{font-size:.84rem;color:var(--gray);margin-top:5px;line-height:1.65}
.pm-prices{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.pm-price{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:900;color:var(--brand)}
.pm-orig{font-size:1rem;text-decoration:line-through;color:var(--gray)}
.pm-save{font-size:.78rem;font-weight:700;background:#e8faf0;color:var(--green);padding:3px 8px;border-radius:100px}
.ms-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--gray);padding:14px 16px 8px;border-top:1px solid var(--gb);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ms-group{border-top:1px solid var(--gb)}.ms-group:first-child{border-top:none}
.ms-group.ms-error .ms-title{color:#dc2626}.ms-group.ms-error .ms-title::after{content:'⚠ Elegí una opción';font-size:.6rem;font-weight:700;color:#dc2626;margin-left:auto}
.ms-req{font-size:.6rem;font-weight:700;color:white;background:var(--brand);padding:2px 6px;border-radius:100px}
.ms-max{font-size:.62rem;font-weight:500;color:var(--gray);padding:2px 5px;background:var(--gl);border-radius:6px}
.ms-qty-total{font-size:.65rem;font-weight:700;color:var(--brand);padding:2px 7px;background:color-mix(in srgb,var(--brand) 10%,transparent);border-radius:100px;margin-left:auto}
.opt-qty{cursor:default;justify-content:space-between}
.opt-qty:hover{background:transparent}
.opt-qty.sel{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.oqty{display:flex;align-items:center;gap:8px;flex-shrink:0}
.oqb{width:30px;height:30px;border-radius:50%;border:2px solid var(--gb);background:var(--white);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1;color:var(--black)}
.oqb:hover{border-color:var(--brand);color:var(--brand)}
.oqn{min-width:22px;text-align:center;font-size:.95rem;font-weight:700;color:var(--black)}
.opt{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--gb);cursor:pointer;transition:background .15s;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.04)}
.opt:last-child{border-bottom:none}
.opt:hover,.opt.sel{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.oc{width:22px;height:22px;border-radius:50%;border:2px solid var(--gb);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.oc.chk{border-radius:7px}
.oc.sel{border-color:var(--brand);background:var(--brand)}
.oc.sel::after{content:'✓';color:white;font-size:.65rem;font-weight:900}
.oc.radio.sel::after{content:'';width:8px;height:8px;border-radius:50%;background:white}
.ol{flex:1;font-size:.88rem;font-weight:500}
.op{font-size:.82rem;font-weight:700;color:var(--brand)}
.op.free{color:var(--green);font-size:.75rem}
.qrow{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px}
.qbtn{width:42px;height:42px;border-radius:50%;border:2px solid var(--gb);background:var(--white);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-weight:700}
.qbtn:hover{border-color:var(--brand);color:var(--brand)}
.qnum{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:900;width:40px;text-align:center}
@keyframes _btn-shine{0%,60%{transform:translateX(-200%) skewX(-15deg)}100%{transform:translateX(320%) skewX(-15deg)}}
.add-main{margin:0 16px 12px;width:calc(100% - 32px);min-height:54px;padding:14px 20px;border-radius:18px;background:var(--brand);color:white;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:var(--fs-body);font-weight:700;display:flex;align-items:center;justify-content:space-between;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;box-shadow:0 4px 18px color-mix(in srgb,var(--brand) 40%,transparent);touch-action:manipulation;position:relative;overflow:hidden;isolation:isolate}
.add-main::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,transparent 55%);pointer-events:none;z-index:-1}
.add-main::after{content:'';position:absolute;top:-20%;bottom:-20%;width:28%;left:0;background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);transform:translateX(-200%) skewX(-15deg);animation:_btn-shine 3s ease-in-out infinite 1.2s;pointer-events:none;z-index:-1}
.add-main:hover{transform:translateY(-2px);box-shadow:0 8px 28px color-mix(in srgb,var(--brand) 50%,transparent)}
.detail-actions-extra{display:flex;flex-direction:column;gap:10px;padding:0 16px 20px}
.detail-actions-extra[hidden]{display:none!important}
.detail-wa-btn{width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r);border:2px solid #25D366;background:#ecfdf5;color:#166534;font-family:'Outfit',sans-serif;font-weight:800;font-size:var(--fs-body);cursor:pointer;transition:filter .15s,transform .15s}
.detail-wa-btn:hover{filter:brightness(.97);transform:translateY(-1px)}
.detail-tel-btn{width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r);border:1.5px solid var(--gb);background:var(--white);color:var(--black);font-family:'Outfit',sans-serif;font-weight:700;font-size:var(--fs-body);cursor:pointer}
.co-empty{padding:22px 12px;text-align:center;font-size:.88rem;color:var(--gray2);line-height:1.55}

/* ── OVERLAY DETALLE ── */
#detailOv{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:299;opacity:0;pointer-events:none;transition:opacity .3s}
#detailOv.on{opacity:1;pointer-events:auto}
/* body lock solo en mobile (overflow:hidden en desktop no es necesario y rompe iOS tap events en fixed) */
@media(max-width:699px){
  body.detail-open{overflow:hidden;touch-action:none}
  body.detail-open .cart-bar{transform:translateY(100%)!important;pointer-events:none}
}

/* ── DETALLE — mobile: bottom sheet ── */
.detail-panel{display:none;background:var(--white);overflow:hidden}
.detail-panel.is-open{display:flex;flex-direction:column}

/* overlay visible en ambas pantallas */
#detailOv{display:block!important}

/* base grid — 1 col, desktop lo sobreescribe abajo */
.detail-grid{display:grid;grid-template-columns:1fr}
.detail-panel .pm-gallery{height:0;padding-bottom:100%;min-height:0}

/* ── DETALLE — desktop: modal centrado ── */
@media(min-width:700px){
  .detail-panel{
    position:fixed;
    top:50%;left:50%;
    transform:translate(-50%,-50%) scale(.94);
    width:min(860px,92vw);
    max-height:min(82vh,700px);
    border-radius:20px;
    box-shadow:0 24px 80px rgba(0,0,0,.22);
    z-index:300;
    opacity:0;
    pointer-events:none;
    transition:transform .28s cubic-bezier(.34,1.4,.64,1),opacity .22s ease;
  }
  .detail-panel.is-open{
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
    pointer-events:auto;
  }
  .detail-grid{grid-template-columns:minmax(0,260px) 1fr;align-items:start;gap:0}
  .detail-panel .pm-gallery{position:relative;height:0;padding-bottom:100%;overflow:hidden;border-radius:12px 0 0 0;border-right:1px solid var(--gb)}
  .pm-body{padding:16px 18px 8px}
  .pm-name{font-size:1.15rem}
  .pm-price{font-size:1.3rem}
  .pm-desc{font-size:.82rem}
  .ms-title{padding:10px 16px 6px;font-size:.67rem}
  .opt{padding:10px 16px}
  .pm-foot{padding:12px 16px 16px}
  .pm-foot .add-main{min-height:44px;font-size:.9rem}
}

.pm-handle{display:none}
.pm-bar-name{font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:700;color:var(--black);flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}
.detail-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--gb);gap:8px;background:var(--gl);flex-shrink:0;z-index:2}
.detail-close{font-size:.78rem;font-weight:700;color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--white));border:1.5px solid color-mix(in srgb,var(--brand) 28%,var(--gb));cursor:pointer;padding:7px 14px;border-radius:999px;display:flex;align-items:center;gap:5px;transition:all .18s;min-height:36px;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.detail-close:hover{border-color:var(--brand);background:var(--pale);transform:translateY(-1px)}
.detail-inner{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.pm-body{padding:14px 16px 8px}
.pm-foot{flex-shrink:0;padding:12px 14px max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;border-top:1px solid var(--gb);background:var(--white);z-index:2}
.pm-foot .qrow{padding:0;justify-content:flex-start;flex-shrink:0;gap:8px}
.pm-foot .add-main{flex:1;margin:0;width:auto;min-height:48px}
.detail-actions-extra[hidden]{display:none!important}
.pm-img-fallback,.detail-panel .pm-img:empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:160px;color:var(--gray2);opacity:.4}
.pm-img-fallback svg{width:64px;height:64px}

/* ── DETALLE — Mobile: bottom sheet ── */
@media (max-width:699px){
  .detail-panel{
    position:fixed!important;
    inset:auto 0 0 0!important;
    margin:0!important;
    border:none!important;
    border-radius:22px 22px 0 0;
    height:min(95vh,95dvh)!important;
    transform:translateY(100%);
    transition:transform .38s cubic-bezier(.28,.72,0,1);
    z-index:300;
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
    box-shadow:0 -12px 48px rgba(0,0,0,.2)!important;
  }
  .detail-panel.is-open{transform:translateY(0)}
  .pm-handle{display:block;width:36px;height:4px;border-radius:3px;background:var(--gb);margin:8px auto 0;flex-shrink:0}
  .detail-bar{background:var(--white);border-bottom:1px solid var(--gb);flex-shrink:0;padding:6px 12px;position:static}
  .pm-bar-name{font-size:.8rem}
  .detail-inner{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;touch-action:pan-y}
  .detail-grid{display:block}
  .detail-panel .pm-gallery{width:100%;height:0;padding-bottom:100%;min-height:0;flex-shrink:0}
  .detail-panel .pm-gallery-inner,.detail-panel #pmGalInner{position:absolute;inset:0;height:100%}
  .detail-panel .pm-gallery-slide{height:100%}
  .pm-body{padding:10px 12px 8px}
  .pm-name{font-size:.96rem;font-weight:700;line-height:1.3}
  .pm-desc{font-size:.76rem;margin-top:3px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--gray)}
  .pm-price{font-size:1.1rem}
  .pm-orig{font-size:.8rem}
  .pm-prices{margin-top:5px;gap:5px}
  .pm-tags{margin-bottom:4px}
  .pmtag{font-size:.58rem;padding:2px 6px}
  .ms-title{padding:8px 12px 5px;font-size:.64rem}
  .opt{padding:9px 12px;gap:9px}
  .ol{font-size:.82rem}
  .op{font-size:.74rem}
  .oc{width:18px;height:18px}
  .pm-foot{padding:10px 12px max(20px,env(safe-area-inset-bottom));gap:8px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}
  .pm-foot .add-main{border-radius:14px;font-size:.88rem;padding:10px 12px}
  .qbtn{width:36px;height:36px;font-size:1.1rem;border-radius:50%}
  .qnum{font-size:1.1rem;width:28px}
  .detail-actions-extra{padding:0 12px 4px;flex-shrink:0}
  .detail-wa-btn{min-height:42px;padding:8px 12px;font-size:.82rem}

  /* Hint de scroll para productos con opciones */
  .pm-opts-hint-bar{
    position:absolute;
    bottom:0;left:0;right:0;
    display:flex;align-items:flex-end;justify-content:center;
    padding-bottom:14px;
    background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.45) 100%);
    pointer-events:none;
    opacity:1;
    transition:opacity .35s ease;
    border-radius:0;
    z-index:4;
  }
  .pm-opts-hint-bar.hide{opacity:0}
  .pm-opts-hint-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    color:#111;
    font-size:.75rem;font-weight:700;
    padding:7px 14px;
    border-radius:100px;
    box-shadow:0 4px 20px rgba(0,0,0,.22);
    animation:_hint-bounce 1.8s ease-in-out 0.4s 2;
  }
  .pm-opts-hint-arrow{
    display:inline-flex;
    animation:_arrow-bob 1s ease-in-out 0.4s infinite;
  }
  @keyframes _hint-bounce{
    0%,100%{transform:translateY(0)}
    40%{transform:translateY(-6px)}
    60%{transform:translateY(-3px)}
  }
  @keyframes _arrow-bob{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(3px)}
  }
}

/* CART BAR — visible con carrito activo (body.tienda--has-cart); .has-items = hay productos */
.cart-bar{position:fixed;bottom:0;left:0;right:0;padding:12px var(--page-pad) max(16px,env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--gb);box-shadow:0 -8px 32px rgba(0,0,0,.08);transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);z-index:100;max-width:var(--page-max);margin:0 auto}
body.tienda--has-cart .cart-bar{transform:translateY(0)}
.cart-bar.has-items .cart-btn{background:var(--grad);box-shadow:0 6px 20px color-mix(in srgb,var(--brand) 45%,transparent)}
.cart-bar:not(.has-items) .cart-btn{background:var(--grad);box-shadow:0 4px 14px color-mix(in srgb,var(--brand) 30%,transparent);cursor:pointer}
.cart-btn{width:100%;min-height:56px;padding:14px 22px;border-radius:20px;background:var(--brand);color:white;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:space-between;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .2s;box-shadow:0 6px 20px color-mix(in srgb,var(--brand) 40%,transparent)}
.cart-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px color-mix(in srgb,var(--brand) 60%,transparent)}
.cart-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.cb-l{display:flex;align-items:center;gap:10px}
.cb-cnt{background:rgba(255,255,255,.25);width:26px;height:26px;border-radius:50%;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center}

/* CHECKOUT */
.co-hdr{padding:20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--gb);position:sticky;top:0;background:var(--white);z-index:10}
.co-back{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--gb);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:background 0.2s}
.co-back:hover{background:var(--gl)}
.co-title{font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:900;letter-spacing:-.01em}
.cosec{padding:14px 16px 4px}
.cosec-t{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:10px}
.co-items{display:flex;flex-direction:column;gap:5px}
.co-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--gl)}
.co-item:last-child{border:none}
.co-iname{font-size:.95rem;font-weight:700}
.co-idet{font-size:.72rem;color:var(--gray);margin-top:2px}
.co-ip{font-weight:800;color:var(--brand);font-family:'Outfit',sans-serif;flex-shrink:0;margin-left:10px}
.popts{display:flex;flex-direction:column;gap:7px}
.popt{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--gb);cursor:pointer;background:var(--white);transition:border-color .25s,background .25s,transform .2s;box-shadow:0 2px 8px rgba(0,0,0,0.02)}
.popt:hover:not(.sel){border-color:color-mix(in srgb,var(--brand) 40%,var(--gb));transform:translateY(-1px)}
.popt.sel{border-color:var(--brand);background:var(--pale);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 18%,transparent);transform:translateY(-1px)}
.popt .pi{font-size:1.3rem;width:28px;text-align:center}
.popt .pl{flex:1}
.popt .pl b{font-size:.88rem;font-weight:700;display:block}
.popt .pl small{font-size:.72rem;color:var(--gray)}
.pbdg{font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:100px;flex-shrink:0}
.pbdg-g{background:#e8faf0;color:#16a34a}
.pbdg-y{background:#fffbeb;color:#b45309}
.transfer-flow-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--white)),var(--gl));border:1.5px solid color-mix(in srgb,var(--brand) 35%,var(--gb));border-radius:var(--rs);padding:14px 14px 12px;margin-top:10px;margin-bottom:4px}
.transfer-flow-banner h4{font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:800;margin:0 0 4px;color:var(--black)}
.transfer-flow-banner .tf-lead{font-size:.76rem;color:var(--gray);line-height:1.45;margin:0 0 12px}
.tf-steps{list-style:none;padding:0;margin:0 0 12px;counter-reset:tf}
.tf-steps li{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;font-weight:600;line-height:1.45;margin-bottom:8px;color:var(--black)}
.tf-steps li::before{counter-increment:tf;content:counter(tf);flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif}
.tf-total-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;background:var(--white);border:1px solid var(--gb);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.tf-total-row span{font-size:.72rem;color:var(--gray);font-weight:700}
.tf-total-row strong{font-family:'Outfit',sans-serif;font-size:1.05rem;color:var(--brand)}
.tf-copy-all{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--brand);background:var(--white);color:var(--brand);font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:800;cursor:pointer;transition:all .15s}
.tf-copy-all:hover{background:var(--brand);color:#fff}
body.dark .tf-total-row{background:#252525}
.cbu-box{background:var(--gl);border-radius:var(--rs);padding:12px;margin-top:8px;border:1px solid var(--gb)}
.cbu-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}
.cbu-l{font-size:.7rem;color:var(--gray);font-weight:600;width:52px}
.cbu-v{font-size:.8rem;font-weight:700;font-family:monospace;flex:1}
.cpybtn{font-size:.65rem;font-weight:700;color:var(--brand);background:none;border:1px solid var(--brand);padding:2px 8px;border-radius:6px;cursor:pointer;transition:all .15s}
.cpybtn:hover{background:var(--brand);color:white}
.comp-area{margin-top:10px;border:2px dashed var(--gb);border-radius:var(--rs);padding:16px;text-align:center;cursor:pointer;transition:all .18s}
.comp-area:hover{border-color:var(--brand);background:var(--pale)}
.comp-icon{font-size:1.8rem;display:block;margin-bottom:4px}
.comp-area b{font-size:.83rem;color:var(--brand);display:block}
.comp-area p{font-size:.73rem;color:var(--gray);margin-top:2px}
.comp-prev{width:100%;height:120px;object-fit:cover;border-radius:var(--rs);margin-top:8px}
.fi{margin-bottom:10px}
.fi label{font-size:.75rem;font-weight:700;display:block;margin-bottom:4px}
.fi input,.fi select{width:100%;padding:10px 12px;border:1.5px solid var(--gb);border-radius:var(--rs);font-family:'DM Sans',sans-serif;font-size:.88rem;color:var(--black);background:var(--white);outline:none;transition:border-color .2s}
.fi input:focus,.fi select:focus{border-color:var(--brand)}
.promo-ck{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--gl);border-radius:var(--rs);margin-top:4px;cursor:pointer}
.promo-ck input{accent-color:var(--brand);margin-top:2px;flex-shrink:0}
.promo-ck label{font-size:.77rem;color:var(--gray);cursor:pointer;line-height:1.5}
.coup-row{display:flex;gap:8px;margin-top:6px}
.coup-in{flex:1;padding:10px 12px;border:1.5px solid var(--gb);border-radius:var(--rs);font-family:'DM Sans',sans-serif;font-size:.85rem;text-transform:uppercase;outline:none;transition:border-color .2s;background:var(--white);color:var(--black)}
.coup-in:focus{border-color:var(--brand)}
.coup-btn{padding:10px 16px;border-radius:var(--rs);background:var(--black);color:white;border:none;cursor:pointer;font-weight:700;font-size:.82rem;transition:background .15s}
.coup-btn:hover{background:var(--brand)}
.coup-ok{font-size:.75rem;color:var(--green);font-weight:700;margin-top:5px;display:none}
.tots{background:var(--gl);border-radius:10px;padding:8px 12px;margin-top:4px;border:1px solid var(--gb)}
.tr{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.78rem;color:var(--gray2)}
.tr.fin{font-family:'Outfit',sans-serif;padding-top:4px;margin-top:2px;font-size:1.05rem;font-weight:900;color:var(--black)}
.tr.fin .tv{color:var(--brand)}
.tv.g{color:var(--green)}
.tv.r{color:var(--red)}
.wa-btn{margin:0;width:100%;padding:17px;border-radius:16px;background:linear-gradient(135deg,#25D366,#1da851);color:white;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 6px 20px rgba(37,211,102,.3);transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;touch-action:manipulation}
.wa-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,211,102,.4)}
.wa-btn svg{width:24px;height:24px;flex-shrink:0}
/* CHECKOUT COMPACTO */
.popts-row{display:flex;gap:6px}
.popt-sm{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:11px 8px;border-radius:12px;border:1.5px solid var(--gb);cursor:pointer;background:var(--white);font-size:.78rem;font-weight:700;text-align:center;transition:border-color .2s,background .2s;line-height:1.3}
.popt-sm small{font-size:.65rem;font-weight:500;color:var(--gray);display:block}
.popt-sm.sel{border-color:var(--brand);background:var(--pale)}
.popt-sm .pbdg{font-size:.58rem;margin-top:2px}
.fi-row{display:flex;gap:8px}
.fi-row .fi{flex:1}
.hora-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:8px 10px;background:var(--gl);border-radius:10px;border:1px solid var(--gb)}
.hora-label{font-size:.78rem;font-weight:600;color:var(--gray2)}
.hora-toggle-btn{font-size:.7rem;font-weight:700;background:none;border:1.5px solid var(--gb);padding:4px 10px;border-radius:20px;cursor:pointer;color:var(--gray2);transition:all .15s}
.hora-toggle-btn:hover{border-color:var(--brand);color:var(--brand)}
.trans-compact{background:var(--gl);border:1.5px solid var(--gb);border-radius:12px;padding:12px;margin-top:8px}
.trans-total-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--gb)}
.trans-total-row span{font-size:.78rem;color:var(--gray);flex:1}
.trans-total-row strong{font-family:'Outfit',sans-serif;font-size:1.05rem;color:var(--brand)}
.trans-total-row .tf-copy-all{padding:6px 12px;font-size:.7rem;width:auto;margin:0}
.co-footer{padding:12px 16px max(20px,env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--gb);position:sticky;bottom:0}
.zona-warn-inline{font-size:.72rem;color:#dc2626;font-weight:600;padding:4px 8px;background:#fef2f2;border-radius:6px;border:1px solid #fecaca}
.co-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--gl)}
.co-item:last-child{border:none}
.co-item-info{flex:1;min-width:0}
.co-item-ctrl{display:flex;align-items:center;gap:6px;flex-shrink:0}
.co-q-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--gb);background:var(--white);cursor:pointer;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--black);line-height:1}
.co-q-btn:hover{border-color:var(--brand);color:var(--brand)}
.co-q-num{width:20px;text-align:center;font-weight:800;font-size:.9rem}
.cosec:first-of-type{padding-top:10px}

/* ZONA MODAL */
.zona-info{padding:14px 16px}
.zona-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.zona-card{border:1.5px solid var(--gb);border-radius:var(--rs);padding:12px;cursor:pointer;transition:all .15s;text-align:center}
.zona-card.sel{border-color:var(--brand);background:var(--pale)}
.zona-card.unavail{opacity:.5;cursor:not-allowed}
.zona-name{font-size:.85rem;font-weight:700;margin-bottom:3px}
.zona-cost{font-size:.78rem;color:var(--brand);font-weight:600}
.zona-eta{font-size:.68rem;color:var(--gray)}

/* ZONAS INLINE (debajo del toggle delivery/takeaway) */
.zonas-inline{padding:0 var(--page-pad) 10px;display:none}
.zonas-inline.show{display:block}
.zonas-inline-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);margin-bottom:8px}
.zonas-inline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
@media(min-width:480px){.zonas-inline-grid{grid-template-columns:repeat(3,1fr)}}
.zi-card{border:1.5px solid var(--gb);border-radius:10px;padding:10px 10px 8px;cursor:pointer;transition:all .15s;background:var(--white);text-align:left;font-family:inherit}
.zi-card:hover{border-color:var(--brand);background:var(--pale)}
.zi-card.sel{border-color:var(--brand);background:var(--pale);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 20%,transparent)}
.zi-card.unavail{opacity:.45;cursor:not-allowed}
.zi-name{font-size:.82rem;font-weight:700;color:var(--black);margin-bottom:2px;display:block}
.zi-cost{font-size:.7rem;font-weight:600;color:var(--brand)}
.zi-eta{font-size:.65rem;color:var(--gray)}


/* POPUPS */
.pop-ov{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}
.pop-ov.on{opacity:1;pointer-events:all}
.pop{background:var(--white);border-radius:24px;width:100%;max-width:340px;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform .35s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shl)}
.pop-ov.on .pop{transform:scale(1) translateY(0)}
.pop-hdr{background:var(--grad);padding:26px 20px 18px;text-align:center}
.pop-emoji{font-size:3.2rem;display:block;margin-bottom:7px}
.pop-title{font-family:'Outfit',sans-serif;font-size:1.35rem;font-weight:900;color:white}
.pop-sub{font-size:.83rem;color:rgba(255,255,255,.8);margin-top:3px}
.pop-body{padding:18px}
.pop-code-box{background:var(--pale);border:2px dashed var(--brand);border-radius:var(--rs);padding:12px;text-align:center;margin-bottom:14px}
.code-big{font-family:'Outfit',sans-serif;font-size:1.6rem;font-weight:900;color:var(--brand);letter-spacing:.08em}
.pop-accept{width:100%;padding:13px;border-radius:var(--rs);background:var(--grad);color:white;border:none;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:800;box-shadow:var(--shb);transition:transform .15s}
.pop-accept:hover{transform:translateY(-1px)}
.pop-skip{display:block;text-align:center;margin-top:9px;font-size:.77rem;color:var(--gray);cursor:pointer}
.pop-exit .pop-hdr{background:linear-gradient(135deg,#1a1a1a,#333)}
.pop-exit .pop-accept{background:linear-gradient(135deg,#1a1a1a,#333);box-shadow:none}
.pop-closed .pop-hdr{background:linear-gradient(135deg,#1e3a5f,#2d6a9f)}
.pop-closed .pop-accept{background:linear-gradient(135deg,#1e3a5f,#2d6a9f);box-shadow:none}
.slot{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--rs);border:1.5px solid var(--gb);cursor:pointer;transition:all .15s;margin-bottom:7px}
.slot.sel{border-color:var(--brand);background:var(--pale)}
.slot .si{font-size:1.2rem}
.slot .sl b{font-size:.86rem;font-weight:700;display:block}
.slot .sl small{font-size:.7rem;color:var(--gray)}

/* CLOSED BANNER */
.closed-ban{margin:6px var(--page-pad) 2px;background:rgba(15,25,50,.88);backdrop-filter:blur(10px);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:9px;cursor:pointer;transition:transform .15s,background .15s;border:1px solid rgba(255,255,255,.08)}
.closed-ban:hover{background:rgba(20,35,70,.92);transform:translateY(-1px)}
.cb-ico{font-size:1.2rem;flex-shrink:0;line-height:1}
.cb-txt{flex:1;min-width:0}
.cb-txt h3{font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:700;color:white;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-txt p{font-size:.69rem;color:rgba(255,255,255,.6);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-arr{margin-left:auto;color:rgba(255,255,255,.5);font-size:1rem;flex-shrink:0}

/* RESERVA CERRADO (checkout) */
.reserva-cerrado{margin-top:8px;background:linear-gradient(135deg,#0d2040,#1a3d78);border-radius:14px;padding:14px}
.rc-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.rc-ico{font-size:1.8rem;flex-shrink:0;line-height:1}
.rc-title{font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:800;color:white;line-height:1.2}
.rc-next{font-size:.73rem;color:rgba(255,255,255,.75);margin-top:3px;font-weight:500}
.rc-btns{display:flex;flex-direction:column;gap:7px}
.rc-btn-main{width:100%;padding:12px;background:white;color:#0d2040;border:none;border-radius:10px;font-family:'Outfit',sans-serif;font-size:.86rem;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 10px rgba(0,0,0,.3);text-align:center}
.rc-btn-main:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.rc-btn-main:active{transform:translateY(0)}
.rc-btn-alt{width:100%;padding:9px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border:1.5px solid rgba(255,255,255,.2);border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s;text-align:center}
.rc-btn-alt:hover{background:rgba(255,255,255,.2)}
.rc-confirm{margin-top:8px;padding:10px 12px;background:var(--pale);border-radius:10px;border:2px solid var(--brand);display:flex;align-items:center;gap:9px}
.rc-confirm-ico{font-size:1.1rem;flex-shrink:0}
.rc-confirm-txt{flex:1;font-size:.81rem;font-weight:700;color:var(--brand);line-height:1.4}
.rc-confirm-change{font-size:.72rem;color:var(--gray);cursor:pointer;text-decoration:underline;white-space:nowrap;flex-shrink:0;background:none;border:none;padding:0;font-family:inherit}

/* TOAST */
.toast{position:fixed;left:14px;right:14px;bottom:96px;background:var(--white);border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:var(--shl);border:1px solid var(--gb);z-index:150;transform:translateY(20px);opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.34,1.56,.64,1)}
.toast.on{transform:translateY(0);opacity:1}
.t-ico{font-size:1.4rem}
.t-msg{font-size:.78rem;font-weight:600;line-height:1.4}
.t-sub{font-size:.68rem;color:var(--gray);margin-top:1px}
.tdot{width:8px;height:8px;border-radius:50%;animation:blink 1.5s infinite;flex-shrink:0}
.tdot.g{background:var(--green)}
.tdot.r{background:#ff4444}
.tdot.o{background:var(--brand)}

@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.sec{animation:fadeUp .4s ease both}
.addr-sug{
  padding:10px 14px;font-size:.82rem;cursor:pointer;
  border-bottom:1px solid var(--gb);
  display:flex;align-items:center;gap:8px;
  transition:background .1s;
}
.addr-sug:last-child{border:none}
.addr-sug:hover,.addr-sug:active{background:var(--pale)}
.addr-sug-ico{font-size:.9rem;flex-shrink:0}
.addr-sug-main{font-weight:600;font-size:.82rem}
.addr-sug-sub{font-size:.7rem;color:var(--gray);margin-top:1px}
@keyframes tiendaSpin{to{transform:rotate(360deg)}}
.tienda-loader-spin{width:36px;height:36px;border:3px solid var(--gb);border-top-color:var(--brand);border-radius:50%;animation:tiendaSpin .7s linear infinite}
img.emoji{width:1.1em;height:1.1em;vertical-align:-0.15em;display:inline-block;pointer-events:none}
/* Fuentes de sistema mientras carga Google Fonts — sin layout shift */
body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.hdr-name,.card-title,.cpop-titulo,.cpop-btn1,.rc-title{font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}

/* ── CPOP — Popup configurable ─────────────────────────── */
.cpop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.52);opacity:0;pointer-events:none;transition:opacity .28s;padding:16px;box-sizing:border-box}
.cpop.on{opacity:1;pointer-events:all}
.cpop-box{position:relative;width:100%;max-width:330px;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.32);transform:scale(.92) translateY(14px);transition:transform .38s cubic-bezier(.34,1.56,.64,1)}
.cpop-box.size-chico{max-width:260px}
.cpop-box.size-normal{max-width:330px}
.cpop-box.size-grande{max-width:460px}
.cpop-box.size-xl{max-width:580px}
.cpop-box{max-height:88vh;overflow-y:auto;display:flex;flex-direction:column}
.cpop-box.size-grande .cpop-hdr{padding:30px 22px 22px}
.cpop-box.size-grande .cpop-emoji{font-size:3.2rem;margin-bottom:10px}
.cpop-box.size-grande .cpop-titulo{font-size:1.3rem}
.cpop-box.size-grande .cpop-sub{font-size:.88rem;margin-top:6px}
.cpop-box.size-grande .cpop-body{padding:20px 22px 24px}
.cpop-box.size-grande .cpop-btn1{padding:15px;font-size:1rem;border-radius:12px;margin-bottom:10px}
.cpop-box.size-grande .cpop-btn2{padding:12px;font-size:.88rem}
.cpop-box.size-grande .cpop-skip{font-size:.76rem;margin-top:6px}
.cpop-box.size-xl .cpop-hdr{padding:38px 28px 28px}
.cpop-box.size-xl .cpop-emoji{font-size:4rem;margin-bottom:14px}
.cpop-box.size-xl .cpop-titulo{font-size:1.6rem}
.cpop-box.size-xl .cpop-sub{font-size:1rem;margin-top:8px}
.cpop-box.size-xl .cpop-body{padding:26px 28px 32px}
.cpop-box.size-xl .cpop-btn1{padding:18px;font-size:1.1rem;border-radius:14px;margin-bottom:12px}
.cpop-box.size-xl .cpop-btn2{padding:14px;font-size:.95rem}
.cpop-box.size-xl .cpop-skip{font-size:.82rem;margin-top:8px}
.cpop.on .cpop-box{transform:scale(1) translateY(0)}
.cpop-x{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.45);color:white;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.78rem;font-weight:700;z-index:2;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);line-height:1;transition:background .15s}
.cpop-x:hover{background:rgba(0,0,0,.6)}
.cpop-hdr{padding:20px 16px 15px;text-align:center;position:relative}
.cpop-badge{display:inline-block;background:rgba(255,255,255,.22);color:white;font-size:.57rem;font-weight:800;padding:2px 9px;border-radius:100px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;border:1px solid rgba(255,255,255,.3)}
.cpop-emoji{font-size:2.2rem;line-height:1;margin-bottom:6px}
.cpop-titulo{font-family:'Outfit',sans-serif;font-weight:900;font-size:.98rem;color:white;line-height:1.25}
.cpop-sub{font-size:.7rem;color:rgba(255,255,255,.82);margin-top:3px;line-height:1.45}
.cpop-body{padding:13px 15px 16px;background:#fff}
.cpop-extra{font-size:.76rem;color:#555;line-height:1.55;margin-bottom:11px;text-align:center}
.cpop-cupon{background:#fff5f0;border:2px dashed var(--brand,#FF4D1C);border-radius:10px;padding:9px 12px;text-align:center;margin-bottom:11px}
.cpop-cupon-code{font-family:'Outfit',sans-serif;font-weight:900;font-size:1.15rem;color:var(--brand,#FF4D1C);letter-spacing:.05em}
.cpop-cupon-desc{font-size:.63rem;color:#888;margin-top:2px}
.cpop-next{font-size:.78rem;font-weight:600;color:#555;text-align:center;padding:6px 0 10px}
.cpop-next strong{color:var(--brand,#FF4D1C)}
.cpop-btn1{display:block;width:100%;padding:11px;border-radius:10px;border:none;font-family:'Outfit',sans-serif;font-size:.84rem;font-weight:800;cursor:pointer;margin-bottom:8px;color:white;transition:opacity .15s;box-sizing:border-box}
.cpop-btn1:active{opacity:.85}
.cpop-btn2{display:block;width:100%;padding:9px;border-radius:10px;border:1.5px solid var(--gb,#e0e0e0);background:transparent;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;color:#444;margin-bottom:5px;transition:background .12s;box-sizing:border-box}
.cpop-btn2:active{background:var(--gl,#fafafa)}
.cpop-skip{text-align:center;font-size:.63rem;color:#bbb;cursor:pointer;padding:3px;margin-top:1px;transition:color .12s}
.cpop-skip:hover{color:#888}
/* Estilos por tipo */
.cpop.estilo-simple .cpop-hdr{background:linear-gradient(145deg,#f5f4f2,#e4e2dc)}
.cpop.estilo-simple .cpop-titulo,.cpop.estilo-simple .cpop-sub{color:#1a1a1a}
.cpop.estilo-simple .cpop-x{background:rgba(0,0,0,.1);color:#333}
.cpop.estilo-simple .cpop-btn1{background:#1a1a1a}
.cpop.estilo-promocional .cpop-hdr{background:linear-gradient(135deg,var(--brand,#FF4D1C),#FF8C42)}
.cpop.estilo-promocional .cpop-btn1{background:linear-gradient(135deg,var(--brand,#FF4D1C),#FF8C42)}
.cpop.estilo-elegante .cpop-hdr{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.cpop.estilo-elegante .cpop-body{background:#f8f8f6}
.cpop.estilo-elegante .cpop-btn1{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.cpop.estilo-elegante .cpop-cupon{border-color:#1a1a2e}
.cpop.estilo-elegante .cpop-cupon-code{color:#1a1a2e}
.cpop.estilo-urgente .cpop-hdr{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.cpop.estilo-urgente .cpop-btn1{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.cpop.estilo-reserva .cpop-hdr{background:linear-gradient(135deg,#1e3a5f,#2563eb)}
.cpop.estilo-reserva .cpop-body{background:#f0f6ff}
.cpop.estilo-reserva .cpop-btn1{background:linear-gradient(135deg,#1e3a5f,#2563eb)}
.cpop.estilo-reserva .cpop-btn2{border-color:#93c5fd;color:#1e3a5f}
/* Scheduler inline reserva */
.cpop-sched-lbl{font-size:.72rem;color:#666;text-align:center;margin-bottom:8px;line-height:1.45}
.cpop-sched-lbl strong{color:var(--brand,#FF4D1C)}
.cpop.estilo-reserva .cpop-sched-lbl strong{color:#2563eb}
.cpop-sched-row{display:flex;gap:8px;margin-bottom:11px}
.cpop-sched-row select,.cpop-sched-row input[type=time]{flex:1;padding:9px 10px;border:1.5px solid var(--gb,#e0e0e0);border-radius:10px;font-size:.8rem;font-family:inherit;outline:none;background:white;box-sizing:border-box}
.cpop-sched-row select:focus,.cpop-sched-row input[type=time]:focus{border-color:#2563eb}
.cpop-ok{display:none;text-align:center;padding:12px 10px 4px}
.cpop-ok-ico{font-size:2rem;margin-bottom:4px}
.cpop-ok-txt{font-family:'Outfit',sans-serif;font-weight:800;font-size:.88rem;color:#166534}
.cpop-ok-sub{font-size:.68rem;color:#666;margin-top:3px}
/* Exito order steps */
.estep{width:32px;height:32px;border-radius:50%;background:var(--gb);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;transition:all .3s}
.estep-done{background:color-mix(in srgb,var(--brand) 15%,white);border:2px solid var(--brand)}
.estep-line{flex:1;height:3px;background:var(--gb);transition:background .3s}
.estep-line.done{background:var(--brand)}
/* Dark mode */
.dark .cpop-body{background:#1e1e1e}
.dark .cpop.estilo-simple .cpop-body{background:#2a2a2a}
.dark .cpop-extra{color:#bbb}
.dark .cpop-btn2{border-color:#444;color:#ddd}
.dark .cpop.estilo-reserva .cpop-body{background:#0f2040}
.biz-modal-ov{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-tap-highlight-color:transparent}
.biz-modal-ov.on{opacity:1;pointer-events:all}
.biz-modal{width:100%;max-width:540px;background:var(--white);border-radius:28px 28px 0 0;transform:translateY(100%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 -10px 40px rgba(0,0,0,.2)}
.biz-modal-ov.on .biz-modal{transform:translateY(0)}
.biz-modal-handle{width:40px;height:5px;background:var(--gb);border-radius:3px;margin:12px auto 6px;flex-shrink:0}
.biz-modal-hdr{position:relative;padding:16px 24px 20px;text-align:center;border-bottom:1px solid var(--gb);flex-shrink:0}
.biz-modal-logo{width:80px;height:80px;border-radius:20px;background:var(--gl);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 24px rgba(0,0,0,.08);overflow:hidden;border:2px solid var(--white)}
.biz-modal-logo img{width:100%;height:100%;object-fit:cover}
.biz-modal-title{font-family:'Outfit',sans-serif;font-size:1.4rem;font-weight:900;color:var(--black);line-height:1.2;margin-bottom:4px}
.biz-modal-desc{font-size:.85rem;color:var(--gray2);line-height:1.5;max-width:90%;margin:0 auto}
.biz-modal-close{position:absolute;top:20px;right:20px;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--brand) 10%,var(--gl));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--brand);transition:all .2s;font-weight:bold}
.biz-modal-close:hover{background:var(--brand);color:var(--white);transform:scale(1.05)}
.biz-modal-body{overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px;scrollbar-width:none}
.biz-modal-body::-webkit-scrollbar{display:none}
.biz-m-sec{display:flex;flex-direction:column;gap:12px}
.biz-m-sec-tit{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:2px}
.biz-m-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--gl);border-radius:16px;border:1px solid color-mix(in srgb,var(--gb) 60%,transparent);transition:transform .2s,background .2s}
.biz-m-item:hover{background:color-mix(in srgb,var(--pale) 50%,var(--gl))}
.biz-m-ico{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--brand) 10%,var(--white));display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.04);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 20%,transparent)}
.biz-m-txt{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:38px}
.biz-m-txt b{font-size:.9rem;font-weight:700;color:var(--black);margin-bottom:2px}
.biz-m-txt span{font-size:.8rem;color:var(--gray2);line-height:1.4}
.biz-m-item.clickable{cursor:pointer;text-decoration:none}
.biz-m-item.clickable:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 30%,var(--gb));box-shadow:0 6px 16px rgba(0,0,0,.04)}
.bm-socials{display:flex;gap:10px;flex-wrap:wrap}
.bm-social{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--gl);border-radius:999px;font-size:.85rem;font-weight:700;color:var(--black);text-decoration:none;transition:all .2s;border:1px solid var(--gb)}
.bm-social:hover{background:var(--white);border-color:var(--brand);color:var(--brand);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05)}
.bm-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:800;gap:6px;margin-top:6px}
.bm-status.open{background:#dcfce7;color:#15803d}
.bm-status.closed{background:#fee2e2;color:#dc2626}
.bm-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;animation:blink 1.5s infinite}
@media(min-width:640px){
  .biz-modal-ov{align-items:center;padding:20px}
  .biz-modal{border-radius:28px;transform:scale(.95) translateY(10px);max-height:85vh}
  .biz-modal-ov.on .biz-modal{transform:scale(1) translateY(0)}
  .biz-modal-handle{display:none}
}
body.dark .biz-modal{background:#1e1e1e}
body.dark .biz-modal-hdr{border-color:#333}
body.dark .biz-modal-close{background:#2a2a2a;color:#aaa}
body.dark .biz-modal-close:hover{background:#333;color:#fff}
body.dark .biz-m-item{background:#252525;border-color:#333}
body.dark .biz-m-ico{background:#1e1e1e;box-shadow:0 2px 8px rgba(0,0,0,.2)}
body.dark .biz-m-txt b{color:#f0f0f0}
body.dark .bm-social{background:#252525;border-color:#333;color:#f0f0f0}