/* ═══════════════════════════════════════════════════════════════════
   PUNTO SABOR — DISEÑO C "PREMIUM OSCURO" (menú online y mesas)
   Va encima del menú de siempre: solo cambia cómo se ve. Los pedidos,
   el carrito, los armadores, la voz y las mesas funcionan igual.
   Colores del logo: negro, amarillo (botones y precios), rojo (promos).
   Las fotos van siempre en su forma real (16:9): no se recortan.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --rojo:#F0141E;--amarillo:#FFC500;--negro:#0B0B0B;--ink2:#161616;--ink3:#1F1F1F;--cream:#FFFFFF;--stone:#A6A6A6;
  --tc-card:#161616;--tc-card2:#1F1F1F;--tc-borde:#2A2A2A;--tc-gris2:#6E6E6E;
  --tc-tit:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tc-safe-b:env(safe-area-inset-bottom,0px);--tc-safe-t:env(safe-area-inset-top,0px)
}

/* ── Nada se mueve de costado ni se agranda ── */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{background:var(--negro) !important;max-width:100%;overflow-x:hidden;overscroll-behavior:none}
.screen{background:var(--negro) !important;max-width:100vw;overflow-x:hidden}
#screen-home>*{flex-shrink:0;max-width:100%}
#screen-home>.tc-sec,#screen-home>#home-extra,#screen-home>.mesa-actions,#screen-home>#tc-hero{width:100%;box-sizing:border-box;align-self:center}
img{max-width:100%}
input,textarea,select{font-size:16px !important}   /* con letra chica el iPhone hace zoom al escribir */
.voz-line select{font-size:14px !important}         /* el selector de la voz es angosto (el viewport ya impide el zoom) */

/* ── Letras: títulos en Montserrat (en vez de la letra angosta de antes) ── */
.home-title,.sub-header-title,.prods-title,.builder-title,.pcard-name,.pcard-price,.bld-step-title,.bld-total,.bld-add,
.cart-hd-title,.ci-price,.cart-tot,.cart-upsell-btn,.cart-cta,.cart-keep,.pmod-name,.pmod-price,.qty-n,.pmod-cancel,.pmod-add,
.dlv-title,.dlv-type-btn .dtnm,.dlv-send,.wheel-title,.wheel-spin-btn,.wheel-result-lbl,.wheel-fab-txt,.board-name,.cart-badge,
.trk-title,.trk-code,.trk-btn,.mitad-t,.mitad-p,.bld-opt .mitad-pr,.mitad-go,.hx-title,.hx-price,.hx-wa,
#voz-fab,.voz-t,.voz-btn,.voz-p,#pp-box h3,.mm-title,.msh-title,.msh-btn{font-family:var(--tc-tit) !important;letter-spacing:.01em !important}
.trk-title,.msh-title,.dlv-title,.cart-hd-title,.wheel-title,.pmod-name,.prods-title,.sub-header-title,.builder-title{font-weight:900 !important;text-transform:uppercase}
.trk-title{font-size:1.2rem !important}
.trk-code{font-size:.95rem !important;letter-spacing:.14em !important;font-weight:800}
.trk-btn,.msh-btn{font-size:.88rem !important;font-weight:800;border-radius:14px !important}
.trk-btn.sec,.msh-btn.sec{font-family:'Nunito',sans-serif !important;font-size:.8rem !important;font-weight:700}
.msh-title{font-size:1.15rem !important}
.wheel-title{font-size:1.2rem !important}
.wheel-result-lbl{font-size:1.25rem !important;font-weight:900}
.wheel-spin-btn{font-size:.95rem !important;font-weight:800;background:var(--amarillo) !important;color:#111 !important;border-radius:14px !important}
.wheel-fab-txt{font-size:.42rem !important;font-weight:900}
#pp-box h3{font-size:1.2rem !important;font-weight:900}
.voz-t{font-size:1.15rem !important;font-weight:900}
.voz-btn{font-size:.86rem !important;font-weight:800;border-radius:14px !important}
.voz-btn.pri{background:var(--amarillo) !important;color:#111 !important;font-size:.95rem !important}
.voz-btn.sec{font-family:'Nunito',sans-serif !important;font-size:.8rem !important}
.voz-p{font-size:.92rem !important;font-weight:900}
.voz-box{background:var(--tc-card) !important;border-radius:24px 24px 0 0 !important;overflow-x:hidden}
.board-name{font-weight:900;font-size:clamp(1rem,4vw,1.3rem) !important}
.cart-badge{font-weight:900;font-size:.62rem !important}

/* ═══════════════ INICIO ═══════════════ */
#screen-home{overflow-y:auto !important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
#screen-home>.home-header,#builders-row,#cat-boards,#mm-head,#home-extra .hx-sec{display:none !important}
#tc-hero{position:relative;text-align:center;padding:calc(22px + var(--tc-safe-t)) 0 4px;overflow:hidden}
.tc-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 55% at 50% 0%,rgba(255,197,0,.20),transparent 70%),radial-gradient(60% 40% at 100% 30%,rgba(240,20,30,.14),transparent 70%)}
#tc-hero>*{position:relative}
.tc-logo{width:clamp(86px,27vw,116px);height:auto;aspect-ratio:1;border-radius:50%;margin:0 auto 12px;display:block;filter:drop-shadow(0 10px 28px rgba(0,0,0,.65))}
.tc-h1{margin:0;padding:0 16px;font-family:var(--tc-tit);font-weight:900;text-transform:uppercase;font-size:clamp(1.65rem,8.2vw,2.6rem);line-height:.98;letter-spacing:-.01em;color:#fff}
.tc-h1 span{color:var(--amarillo)}
.tc-tag{margin:10px auto 0;padding:0 20px;max-width:34ch;color:#d6d6d6;font-size:.95rem;line-height:1.4}
.tc-tag b{color:#fff}
.tc-estado{display:inline-flex;align-items:center;gap:.4rem;margin-top:14px;font-size:.8rem;font-weight:800;padding:.32rem .75rem;border-radius:30px;background:#13261a;color:#7CF0A6}
.tc-estado.cerrado{background:#2a1314;color:#ff8a8f}
.tc-estado i{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;animation:tcLate 1.6s ease-in-out infinite}
@keyframes tcLate{50%{opacity:.35}}
.tc-modo{display:flex;width:max-content;max-width:calc(100% - 32px);margin:14px auto 0;background:var(--tc-card2);border-radius:30px;padding:4px}
.tc-modo button{border:0;background:none;color:var(--stone);font-family:'Nunito',sans-serif;font-weight:900;font-size:.88rem;padding:.55rem 1rem;border-radius:30px;cursor:pointer;white-space:nowrap}
.tc-modo button.on{background:var(--amarillo);color:#111}
/* Banners: siempre 16:9, igual que las imágenes → encajan justo, sin recortes */
#tc-banner{margin:18px auto 0;padding:0 14px;max-width:880px}
#tc-banner .hbc-wrap{width:100% !important;max-width:100% !important;max-height:none !important;aspect-ratio:16/9;margin:0 !important;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 14px 34px rgba(0,0,0,.5)}
#tc-banner .hbc-slide img{width:100%;height:100%;object-fit:contain;display:block}
#tc-banner .hbc-dots{bottom:8px}
.tc-go{display:block;width:min(340px,calc(100% - 32px));margin:16px auto 0;border:0;border-radius:16px;background:var(--amarillo);color:#111;font-family:var(--tc-tit);font-weight:900;font-size:1rem;padding:.95rem 1rem;cursor:pointer;box-shadow:0 10px 26px rgba(255,197,0,.25)}
.tc-go:active,.tc-modo button:active{transform:scale(.97)}
/* Mesa (QR) */
.tc-mesa-hi{font-weight:800;font-size:.9rem;color:#e8e8e8}
.tc-mesa{font-family:var(--tc-tit);font-weight:900;font-size:clamp(2.4rem,13vw,3.4rem);line-height:1;color:var(--amarillo);letter-spacing:-.02em;margin-top:2px}
body.tc-en-mesa #tc-hero .tc-logo{width:clamp(70px,20vw,90px)}
.mesa-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;padding:16px 14px 0 !important;max-width:880px;margin:0 auto}
.mesa-actions button{flex-direction:row !important;justify-content:flex-start;text-align:left;gap:10px !important;padding:14px 12px !important;border-radius:16px !important;background:var(--tc-card) !important;border:1.5px solid var(--tc-borde) !important;color:#fff !important;font-size:.86rem !important;line-height:1.15 !important}
.mesa-actions button span{font-size:1.55rem !important;flex-shrink:0}
.mesa-actions [data-ma="mozo"]{order:1;background:var(--amarillo) !important;border-color:var(--amarillo) !important;color:#111 !important}
.mesa-actions [data-ma="pagar"]{order:2}
.mesa-actions [data-ma="cuenta"]{order:3;grid-column:1/-1}
.mesa-actions .ma-tot{margin-left:auto;font-style:normal;font-family:var(--tc-tit);font-weight:900;font-size:1.05rem !important;color:var(--amarillo) !important}
/* Secciones */
.tc-sec{max-width:1100px;margin:0 auto;padding:30px 14px 0}
.tc-h2{margin:0 0 12px;font-family:var(--tc-tit);font-weight:900;text-transform:uppercase;font-size:clamp(1.15rem,5.6vw,1.5rem);line-height:1.1;color:#fff}
.tc-h2 small{display:block;margin-top:4px;font-family:'Nunito',sans-serif;font-weight:700;text-transform:none;font-size:.82rem;color:var(--stone)}
/* Foto o dibujo de un producto: SIEMPRE 16:9 (las fotos del local son 1280×720) */
.tc-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#141414}
.tc-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tc-media.tc-fit>img{object-fit:contain}
.tc-media.tc-fit::before{content:'';position:absolute;inset:-24px;background:var(--tc-bg) center/cover no-repeat;filter:blur(20px) brightness(.45)}
.tc-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(2.2rem,11vw,3.4rem);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.07),transparent 65%),linear-gradient(135deg,var(--tc-c1,#262626),var(--tc-c2,#151515))}
.tc-badge{position:absolute;top:8px;left:8px;z-index:2;display:inline-block;font-family:var(--tc-tit);font-weight:800;font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .55rem;border-radius:20px;background:var(--rojo);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.45)}
.tc-badge.y{background:var(--amarillo);color:#111}
/* Los más pedidos: tarjetas que se pasan con el dedo (la página NO se mueve) */
.tc-row{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 14px;padding:2px 14px 8px;margin:0 -14px;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.tc-row::-webkit-scrollbar{display:none}
.tc-row,.tc-row *{touch-action:pan-x pan-y}
.tc-top{flex:0 0 min(80%,330px);scroll-snap-align:start;background:var(--tc-card);border:1px solid #222;border-radius:20px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column}
.tc-top:active{transform:scale(.985)}
.tc-tb{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.tc-tn{font-family:var(--tc-tit);font-weight:900;text-transform:uppercase;font-size:1.02rem;line-height:1.12;color:#fff;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-tf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.tc-price{font-family:var(--tc-tit);font-weight:900;color:var(--amarillo);font-size:1.15rem;white-space:nowrap}
.tc-plus{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:0;background:var(--amarillo);color:#111;font-size:1.6rem;font-weight:900;line-height:44px;text-align:center;padding:0;cursor:pointer;box-shadow:0 4px 14px rgba(255,197,0,.35)}
.tc-plus:active{transform:scale(.88)}
/* Nuestro menú: categorías con su foto entera */
.tc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:639px){.tc-tiles>.tc-tile:last-child:nth-child(odd){grid-column:1/-1}}
@media(min-width:640px){.tc-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:980px){.tc-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tc-tile{background:var(--tc-card);border:1px solid #222;border-radius:18px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .15s}
.tc-tile:active{transform:scale(.97)}
.tc-tile .tc-tb{padding:10px 11px 12px;gap:3px}
.tc-tile .tc-tn{font-size:clamp(.8rem,3.7vw,1rem)}
.tc-tile small{color:var(--amarillo);font-weight:800;font-size:.76rem}
.tc-tile.tc-arma{border-color:rgba(255,197,0,.45)}
/* Datos del local (abajo) */
#home-extra{padding:34px 14px 0 !important;max-width:1100px;margin:0 auto}
#home-extra .hx-info{margin-top:0;background:var(--tc-card);border:1px solid #222;border-radius:20px;padding:14px 16px}
#home-extra .hx-row{color:#e6e6e6}
#home-extra .hx-wa{border-radius:14px;font-size:.9rem;font-weight:800;padding:.85rem}
#home-extra .hx-install{border-radius:14px}
#home-extra .hx-foot-txt{color:var(--tc-gris2)}
#tc-end{height:calc(110px + var(--tc-safe-b))}

/* ═══════════════ BARRA DEL PEDIDO (abajo) ═══════════════ */
#tc-cartbar{position:fixed;left:12px;right:12px;bottom:calc(12px + var(--tc-safe-b));z-index:260;max-width:560px;margin:0 auto;display:none;align-items:center;gap:12px;border:0;border-radius:18px;padding:12px 16px;background:var(--rojo);color:#fff;font-family:var(--tc-tit);font-weight:800;font-size:1rem;cursor:pointer;box-shadow:0 12px 30px rgba(240,20,30,.45);text-align:left}
#tc-cartbar.on{display:flex}
#tc-cartbar .c{flex-shrink:0;background:#fff;color:var(--rojo);border-radius:50%;min-width:30px;height:30px;line-height:30px;text-align:center;font-weight:900;font-size:.9rem;padding:0 4px}
#tc-cartbar .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tc-cartbar .p{flex-shrink:0;font-weight:900}
#tc-cartbar:active{transform:scale(.98)}
#tc-cartbar.tc-bump{animation:tcBump .38s}
@keyframes tcBump{40%{transform:scale(1.04)}}
body:has(#screen-builder.active) #tc-cartbar{display:none}
/* Los otros botones flotantes suben para no taparse con la barra */
#voz-fab{background:#1b1b1b !important;color:#fff !important;font-size:.8rem !important;font-weight:800;box-shadow:0 0 0 2px var(--amarillo),0 10px 26px rgba(0,0,0,.55) !important;padding:.62rem .95rem .62rem .8rem !important}
body.tc-hascart #voz-fab{bottom:calc(84px + var(--tc-safe-b)) !important}
body.tc-hascart .wheel-fab:not([style*="top"]){bottom:calc(84px + var(--tc-safe-b)) !important}
.trk-pill{left:auto !important;right:14px !important;transform:none !important;bottom:calc(72px + var(--tc-safe-b)) !important;font-family:'Nunito',sans-serif;font-size:.84rem !important;padding:.62rem 1rem !important;box-shadow:0 8px 24px rgba(0,0,0,.6),0 0 0 2px #111 !important}
body.tc-hascart .trk-pill{bottom:calc(140px + var(--tc-safe-b)) !important}
body:has(#screen-builder.active) .trk-pill{display:none !important}
.toast{background:#fff !important;color:#111 !important;border:0 !important;border-radius:30px !important;font-weight:800 !important;font-size:.88rem !important;padding:.65rem 1.2rem !important;max-width:calc(100vw - 32px);white-space:normal !important;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.55) !important}
.toast.err{background:var(--rojo) !important;color:#fff !important}
.toast{transition:transform .25s,opacity .2s !important}
.toast:not(.on){opacity:0 !important}
body.tc-hascart .toast{bottom:calc(84px + var(--tc-safe-b))}
body:has(#pmod-ov.on) .toast,body:has(#dlv-ov.on) .toast,body:has(.trk-ov.on) .toast,body:has(#msh-ov.on) .toast,body:has(#voz-ov.on) .toast,body:has(#screen-builder.active) .toast{bottom:auto !important;top:calc(.8rem + var(--tc-safe-t))}

/* ═══════════════ CATEGORÍA (lista de productos) ═══════════════ */
.prods-header,.sub-header,.builder-header{background:rgba(11,11,11,.96) !important;border-bottom:1px solid #1d1d1d !important;padding:10px 14px !important;padding-top:max(10px,var(--tc-safe-t)) !important;gap:10px !important}
.back-btn,.prods-header .cart-btn,.sub-header .cart-btn,.builder-header .cart-btn{width:44px !important;height:44px !important;border-radius:50% !important;background:var(--tc-card2) !important;border:0 !important;color:#fff !important;font-size:1.15rem !important}
.prods-title,.sub-header-title,.builder-title{color:#fff !important;font-size:clamp(1rem,4.6vw,1.25rem) !important;line-height:1.1;text-shadow:none !important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-badge{background:var(--rojo) !important;color:#fff !important;top:-3px !important;right:-3px !important}
#tc-chips{position:relative;flex-shrink:0;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:10px 14px;border-bottom:1px solid #1a1a1a;scrollbar-width:none;overscroll-behavior-x:contain;background:var(--negro)}
#tc-chips::-webkit-scrollbar{display:none}
#tc-chips,#tc-chips *{touch-action:pan-x pan-y}
.tc-chip{flex:0 0 auto;border:0;padding:.5rem .9rem;border-radius:30px;background:var(--tc-card2);color:#cfcfcf;font-family:'Nunito',sans-serif;font-weight:900;font-size:.84rem;white-space:nowrap;cursor:pointer}
.tc-chip.on{background:var(--amarillo);color:#111}
.prods-list{padding:14px 14px calc(100px + var(--tc-safe-b));overflow-x:hidden}
.prod-grid{display:grid !important;grid-template-columns:minmax(0,1fr) !important;gap:16px !important;background:none !important;max-width:1200px;margin:0 auto}
.prod-grid.tc-small{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
@media(min-width:640px){.prod-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.prod-grid.tc-small{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(min-width:1000px){.prod-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.prod-grid.tc-small{grid-template-columns:repeat(4,minmax(0,1fr)) !important}}
.pcard.tc-pc{background:var(--tc-card) !important;border:1px solid #222;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.pcard.tc-pc:active{transform:scale(.985) !important}
.tc-cb{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;min-width:0}
.pcard.tc-pc .pcard-name{font-weight:900 !important;text-transform:uppercase;font-size:1.18rem !important;line-height:1.1 !important;color:#fff;margin:0 0 6px !important;overflow-wrap:anywhere}
.pcard.tc-pc .pcard-desc{font-size:.88rem !important;line-height:1.42 !important;color:var(--stone) !important;margin:0 0 12px !important;-webkit-line-clamp:4 !important}
.pcard.tc-pc .pcard-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px}
.pcard.tc-pc .pcard-price{font-weight:900 !important;font-size:clamp(1.1rem,5.4vw,1.32rem) !important;color:var(--amarillo) !important;white-space:nowrap}
.pcard.tc-pc .pcard-add{width:auto !important;height:auto !important;flex:0 0 auto;margin-left:auto;background:var(--amarillo) !important;color:#111 !important;border-radius:14px !important;padding:.72rem 1rem !important;font-family:var(--tc-tit) !important;font-weight:900 !important;font-size:.88rem !important;line-height:1 !important;white-space:nowrap;box-shadow:0 6px 16px rgba(255,197,0,.25);background-image:none !important}
.prod-grid .pcard-add:active{transform:scale(.93) !important}
/* Grilla chica (bebidas): de a 2, foto entera arriba */
.prod-grid.tc-small .tc-cb{padding:10px 11px 12px}
.prod-grid.tc-small .pcard-name{font-size:.86rem !important;margin-bottom:4px !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod-grid.tc-small .pcard-desc{font-size:.74rem !important;-webkit-line-clamp:2 !important;margin-bottom:8px !important}
.prod-grid.tc-small .pcard-price{font-size:1rem !important}
.prod-grid.tc-small .pcard-add{width:40px !important;height:40px !important;padding:0 !important;border-radius:50% !important;font-size:1.45rem !important}
/* Producto sin foto: tarjeta horizontal (no deja un cuadro vacío) */
.pcard.tc-pc.tc-noimg{flex-direction:row;align-items:stretch}
.tc-noimg-ico{flex:0 0 clamp(62px,20vw,86px);display:flex;align-items:center;justify-content:center;font-size:2.4rem;background:linear-gradient(135deg,var(--tc-c1,#262626),var(--tc-c2,#151515))}
.pcard.tc-noimg .tc-badge{position:static;align-self:flex-start;margin-bottom:6px}
/* Pizza mitad y mitad (tarjeta especial) */
.prod-grid .mitad-card{grid-column:1/-1;border:1.5px solid var(--rojo) !important;border-style:solid !important;background:linear-gradient(135deg,#2a0709,#140405) !important;border-radius:20px !important;padding:14px !important;gap:12px !important}
.prod-grid .mitad-t{font-size:.98rem !important;font-weight:900;line-height:1.15 !important}
.prod-grid .mitad-s{color:#ddd !important;font-size:.8rem !important}
.prod-grid .mitad-p{font-size:.92rem !important;font-weight:900;color:var(--amarillo) !important}
.prod-grid .mitad-go{background:var(--amarillo) !important;color:#111 !important;border-radius:12px !important;font-size:.82rem !important;font-weight:900;padding:.62rem .8rem !important}
.prod-grid .mitad-pics{width:78px !important;height:78px !important}

/* ═══════════════ FICHA DEL PRODUCTO ═══════════════ */
.pmod-ov{background:rgba(0,0,0,.72) !important;align-items:flex-end !important}
.pmod-box{position:relative;max-width:560px;width:100%;max-height:94dvh !important;border-radius:24px 24px 0 0 !important;background:var(--tc-card) !important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
#pmod-img{aspect-ratio:16/9;font-size:3.4rem;overflow:hidden;position:relative;background:#141414;animation:none !important}
#pmod-img img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover !important}
#pmod-img:not(:has(img)){aspect-ratio:auto;height:118px}
#pmod-img.tc-fit img,.tc-ci-img.tc-fit img{object-fit:contain !important}
.tc-x{position:absolute;top:12px;right:12px;z-index:5;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.62);color:#fff;font-size:1.1rem;cursor:pointer;backdrop-filter:blur(4px)}
.pmod-body{padding:16px 18px 0 !important}
.pmod-name{font-size:clamp(1.25rem,6vw,1.55rem) !important;line-height:1.08;margin-bottom:8px !important;color:#fff}
.pmod-desc{font-size:.95rem !important;line-height:1.45 !important;color:var(--stone) !important;margin-bottom:12px !important}
.pmod-price{font-size:1.45rem !important;font-weight:900;color:var(--amarillo) !important;margin-bottom:6px !important}
#tc-note{width:100%;background:var(--tc-card2);border:1px solid var(--tc-borde);border-radius:14px;color:#fff;padding:.75rem .85rem;font-family:'Nunito',sans-serif;line-height:1.35;resize:none;margin:10px 0 4px;outline:none;user-select:text;-webkit-user-select:text}
#tc-note:focus{border-color:var(--amarillo)}
.tc-subt{font-family:var(--tc-tit);font-weight:900;text-transform:uppercase;font-size:.82rem;color:#fff;margin:14px 0 8px}
#tc-sug{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;overscroll-behavior-x:contain}
#tc-sug::-webkit-scrollbar{display:none}
#tc-sug,#tc-sug *{touch-action:pan-x pan-y}
.tc-si{flex:0 0 132px;background:var(--tc-card2);border-radius:14px;overflow:hidden;position:relative;cursor:pointer}
.tc-si .tc-ph{font-size:1.9rem}
.tc-si .n{font-size:.74rem;font-weight:800;padding:7px 8px 2px;line-height:1.15;height:2.45em;overflow:hidden;color:#fff}
.tc-si .tc-price{font-size:.82rem;padding:0 8px 9px;display:block}
.tc-si .tc-plus{position:absolute;right:6px;top:6px;width:32px;height:32px;line-height:32px;font-size:1.25rem}
.tc-si.ok .tc-plus{background:#22C55E;color:#fff}
.pmod-foot{position:sticky;bottom:0;z-index:4;display:flex !important;align-items:center;gap:12px !important;margin:12px -18px 0;padding:12px 18px calc(12px + var(--tc-safe-b)) !important;background:var(--tc-card);border-top:1px solid var(--tc-borde)}
.pmod-foot .pmod-qty{margin:0 !important;gap:0 !important;background:var(--tc-card2);border-radius:30px;flex-shrink:0}
.pmod-foot .qty-btn{width:42px !important;height:42px !important;border:0 !important;background:none !important;color:var(--amarillo) !important;font-size:1.35rem !important;font-weight:900}
.pmod-foot .qty-n{min-width:26px !important;font-size:1.1rem !important;font-weight:900}
.pmod-cancel{display:none !important}
.pmod-add{flex:1 !important;display:flex !important;align-items:center;justify-content:space-between;gap:8px;background:var(--amarillo) !important;color:#111 !important;border-radius:14px !important;padding:.95rem 1rem !important;font-weight:900 !important;font-size:.95rem !important;animation:none !important;background-image:none !important}

/* ═══════════════ CARRITO ═══════════════ */
.cart-ov{background:rgba(0,0,0,.7) !important}
.cart-panel{width:min(440px,100vw) !important;background:var(--negro) !important;border-left:1px solid var(--tc-borde)}
.cart-hd{padding:14px 18px !important;padding-top:max(14px,var(--tc-safe-t)) !important;border-bottom:1px solid var(--tc-borde) !important}
.cart-hd-title{font-size:1.15rem !important;color:#fff}
.cart-close{width:40px !important;height:40px !important;border-radius:50% !important;background:var(--tc-card2) !important;border:0 !important}
.cart-body{padding:6px 14px !important;overflow-x:hidden}
.ci{gap:12px !important;padding:12px 0 !important;border-bottom:1px solid #1b1b1b !important;align-items:center !important}
.tc-ci-img{position:relative;flex:0 0 70px;width:70px;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#1a1a1a;display:flex;align-items:center;justify-content:center;font-size:1.4rem;align-self:flex-start;margin-top:2px}
.tc-ci-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ci-info{min-width:0}
.ci-name{font-size:.92rem !important;font-weight:800 !important;color:#fff;overflow-wrap:anywhere}
.ci-desc{font-size:.74rem !important;color:var(--stone) !important;overflow-wrap:anywhere}
.ci-price{font-size:1rem !important;font-weight:900;color:var(--amarillo) !important;white-space:nowrap}
.ci-qty{gap:6px !important;margin-top:8px !important}
.ci-qbtn,.ci-dup{width:32px !important;height:32px !important;border-radius:50% !important;background:var(--tc-card2) !important;border:0 !important;color:var(--amarillo) !important;font-weight:900;font-size:1rem !important}
.ci-dup{color:#ccc !important;font-size:.85rem !important}
.ci-del{color:#888 !important;font-size:.9rem !important;padding:.3rem .45rem !important}
.cart-foot{padding:14px 18px calc(14px + var(--tc-safe-b)) !important;background:var(--tc-card) !important;border-top:1px solid var(--tc-borde) !important}
.cart-tot-lbl{font-size:.68rem !important;color:var(--stone) !important}
.cart-tot{font-size:1.4rem !important;font-weight:900;color:var(--amarillo) !important}
.cart-upsell{background:transparent !important;border:0 !important;padding:0 !important;margin:2px 0 10px !important}
.cart-upsell-t{font-size:.66rem !important;color:var(--stone) !important;letter-spacing:.12em !important;margin-bottom:8px !important}
.cart-upsell-btns{flex-wrap:wrap;gap:8px !important}
.cart-upsell-btn{flex:1 1 30% !important;min-width:0;background:var(--tc-card2) !important;color:#fff !important;border:1px solid var(--tc-borde) !important;border-radius:12px !important;font-size:.78rem !important;font-weight:800;padding:.65rem .35rem !important;white-space:nowrap}
.cart-cta{background:var(--amarillo) !important;color:#111 !important;border-radius:16px !important;font-weight:900 !important;font-size:1rem !important;padding:1rem !important;background-image:none !important}
.cart-keep{border-radius:14px !important;font-weight:800 !important;font-size:.84rem !important;border-color:var(--tc-borde) !important;color:#fff !important;padding:.75rem !important}
.cart-clear{color:var(--tc-gris2) !important;font-size:.76rem !important}
.cart-coupon{border-radius:14px !important}

/* ═══════════════ CONFIRMAR PEDIDO ═══════════════ */
.dlv-ov{background:rgba(0,0,0,.75) !important}
.dlv-box{max-width:560px;margin:0 auto;border-radius:24px 24px 0 0 !important;background:var(--tc-card) !important;padding:20px 18px max(22px,var(--tc-safe-b)) !important;overflow-x:hidden}
.dlv-title{font-size:1.15rem !important;color:#fff;margin-bottom:14px !important}
.dlv-type{gap:8px !important;background:var(--tc-card2);border-radius:16px;padding:4px}
.dlv-type-btn{border:0 !important;background:none !important;border-radius:12px !important;padding:.6rem .4rem !important;color:var(--stone)}
.dlv-type-btn.active{background:var(--amarillo) !important;color:#111}
.dlv-type-btn .dtico{font-size:1.2rem !important}
.dlv-type-btn .dtnm{font-size:.8rem !important;font-weight:900}
.dlv-field label{font-size:.66rem !important;letter-spacing:.12em !important;color:var(--stone) !important;margin-bottom:6px !important}
.dlv-field input,.dlv-field textarea,.dlv-field select{background:var(--tc-card2) !important;border:1px solid var(--tc-borde) !important;border-radius:12px !important;padding:.75rem .85rem !important;color:#fff !important;user-select:text;-webkit-user-select:text}
.dlv-field input:focus,.dlv-field textarea:focus,.dlv-field select:focus{border-color:var(--amarillo) !important}
.dlv-send{background:var(--amarillo) !important;color:#111 !important;border-radius:16px !important;font-weight:900 !important;font-size:1rem !important;padding:1rem !important;animation:none !important}
.dlv-cancel{font-size:.8rem !important;color:var(--tc-gris2) !important}
input,textarea{user-select:text;-webkit-user-select:text}

/* ═══════════════ ARMADORES ═══════════════ */
.bld-steps{padding:16px 14px !important;overflow-x:hidden}
.bld-step-title{font-size:.95rem !important;font-weight:900;text-transform:uppercase;flex-wrap:wrap}
.bld-opts{gap:10px !important}
.bld-opt{background:var(--tc-card) !important;border:1.5px solid var(--tc-borde) !important;border-radius:16px !important;min-width:0}
.bld-opt.sel{border-color:var(--amarillo) !important;background:rgba(255,197,0,.14) !important}
.bld-opt.has-img .bld-opt-img{border-radius:14px}
/* Mitad y mitad: las fotos de las pizzas son 16:9 → cuadros 16:9 (sin recortar) */
#screen-builder[data-tc-type="mitad"] .bld-opts{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
#screen-builder[data-tc-type="mitad"] .bld-opt{aspect-ratio:16/9 !important}
@media(min-width:640px){#screen-builder[data-tc-type="mitad"] .bld-opts{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
.bld-obs textarea{background:var(--tc-card2) !important;border-color:var(--tc-borde) !important;border-radius:14px !important;user-select:text;-webkit-user-select:text}
.bld-footer{background:var(--tc-card) !important;border-top:1px solid var(--tc-borde) !important;padding:12px 16px calc(12px + var(--tc-safe-b)) !important}
.bld-total{font-size:1.25rem !important;font-weight:900}
.bld-add{background:var(--amarillo) !important;color:#111 !important;border-radius:14px !important;font-size:.88rem !important;font-weight:900 !important;padding:.9rem 1.1rem !important;animation:none !important;background-image:none !important}

/* ═══════════════ VENTANAS VARIAS ═══════════════ */
.trk-box,.msh-box,#pp-box{background:var(--tc-card) !important;border-radius:24px 24px 0 0 !important;overflow-x:hidden}
.trk-btn.pri,.msh-btn.pri{background:var(--amarillo) !important;color:#111 !important}
.msh-btn.pri[data-sh="close"]{background:var(--tc-card2) !important;color:#fff !important;border:1px solid var(--tc-borde) !important}
.wheel-box{background:var(--tc-card) !important;border-radius:24px !important}
.ask-ov{background:radial-gradient(80% 50% at 50% 0%,rgba(255,197,0,.16),transparent 70%),var(--negro) !important}
.ask-box{background:var(--tc-card) !important;border:1px solid #2a2a2a !important;border-radius:22px !important}
#ps-min-ov>div,#cli-conf>div{font-family:'Nunito',sans-serif !important;background:var(--tc-card) !important;border-color:var(--amarillo) !important;border-radius:22px !important}
#ps-min-more{background:var(--amarillo) !important;color:#111 !important;font-family:var(--tc-tit) !important;border-radius:14px !important}
#ps-min-ok,#cli-conf-no{border-radius:14px !important;font-family:'Nunito',sans-serif !important}
#cli-conf-ok{font-family:var(--tc-tit) !important;border-radius:14px !important}
.sub-boards{padding:12px 14px calc(14px + var(--tc-safe-b));gap:10px;display:flex;flex-direction:column}
.sub-board{border-radius:18px;border-bottom:0 !important;flex:1 1 0;min-height:76px}
@media (prefers-reduced-motion: reduce){.tc-estado i{animation:none}}
