:root{
  --bg:#fbf8f2;
  --surface:#ffffff;
  --ink:#191919;
  --muted:#676767;
  --line:rgba(25,25,25,.1);
  --yellow:#f5c524;
  --teal:#31c1c9;
  --purple:#8a54b6;
  --blue:#4a91d8;
  --shadow:0 18px 48px rgba(0,0,0,.10);
  --radius:24px;
  --radius-sm:16px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(245,197,36,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(49,193,201,.12), transparent 18%),
    var(--bg);
}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max), calc(100% - 32px));margin:0 auto}
.topbar{
  background:#111;color:#fff;font-size:.92rem;
}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;padding:10px 0;gap:16px}
.topbar__actions{display:flex;align-items:center;gap:10px}
.lang-toggle{
  border:1px solid rgba(255,255,255,.24); background:transparent; color:#fff;
  border-radius:999px; padding:8px 12px; cursor:pointer; transition:.25s ease;
}
.lang-toggle:hover{background:rgba(255,255,255,.09)}
.site-header{
  position:sticky; top:0; z-index:20; backdrop-filter:blur(12px);
  background:rgba(251,248,242,.84); border-bottom:1px solid var(--line);
}
.nav{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px;
  min-height:78px;
}
.brand{display:flex; align-items:center; min-width:0}
.brand img{width:52px; height:52px; border-radius:14px}
.brand strong{display:block; font-size:1rem}
.brand span{display:block; font-size:.83rem; color:var(--muted)}
.brand-logo-full{height:48px; width:auto; max-width:220px; border-radius:0 !important; object-fit:contain}
.brand-logo-svg{display:flex; align-items:center}
.brand-logo-svg svg{height:40px; width:auto; display:block}
.brand-logo-svg svg .cls-1{fill:#171717}
.nav__links{display:flex; gap:22px; justify-content:center; flex-wrap:wrap}
.nav__links a{font-weight:600; color:#404040}
.nav__cta{display:flex; align-items:center; gap:12px}
.ghost-link{
  color:var(--muted); font-weight:600; cursor:pointer;
}
.primary-btn,.secondary-btn,.support-chip,.icon-btn{
  border:none; cursor:pointer; transition:transform .22s ease, box-shadow .22s ease, background .22s ease, opacity .22s ease;
}
.primary-btn{
  background:var(--ink); color:#fff; padding:14px 20px; border-radius:999px; font-weight:700;
  box-shadow:0 14px 32px rgba(25,25,25,.18);
}
.primary-btn:hover{transform:translateY(-1px); box-shadow:0 18px 36px rgba(25,25,25,.2)}
.secondary-btn{
  background:#fff; color:var(--ink); padding:14px 20px; border-radius:999px; font-weight:700;
  border:1px solid var(--line);
}
.secondary-btn:hover,.support-chip:hover,.ghost-link:hover{transform:translateY(-1px)}
.badge{
  display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 7px;
  border-radius:999px; background:var(--yellow); color:#111; font-size:.85rem; font-weight:800; margin-left:8px;
}
.hero{padding:56px 0 24px}
.hero__grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center;
}
.hero__copy{padding:18px 0}
.eyebrow{
  text-transform:uppercase; letter-spacing:.08em; font-size:.84rem; font-weight:800; color:var(--purple); margin:0 0 14px;
}
h1,h2,h3{margin:0}
.hero h1{font-size:clamp(2.3rem, 5.6vw, 4.4rem); line-height:.96; max-width:12ch}
.hero__text{font-size:1.12rem; line-height:1.6; color:#474747; max-width:58ch; margin:18px 0 0}
.hero__meta{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; color:var(--muted); font-weight:600}
.dot{opacity:.35}
.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px}
.hero__support{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.support-chip{
  background:#fff; border:1px solid var(--line); color:#232323; border-radius:999px; padding:11px 14px; font-weight:700;
}
.hero__mosaic{
  display:grid; grid-template-columns:1.25fr .75fr; gap:14px;
}
.mosaic-card{
  overflow:hidden; border-radius:28px; background:#ddd; min-height:200px; box-shadow:var(--shadow);
}
.mosaic-card--large{grid-row:span 2; min-height:480px}
.mosaic-card img{width:100%; height:100%; object-fit:cover}
.accent-card{
  background:linear-gradient(135deg, var(--yellow), #f8e087);
  display:flex; align-items:flex-end; padding:20px;
}
.accent-card p{font-size:1.08rem; font-weight:800; line-height:1.2; max-width:14ch}
.quick-nav{ display:none; }


.featured-section,.menu-section,.location-section,.story-section{padding:56px 0; scroll-margin-top:120px}
.section-head{
  display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:24px;
}
.section-copy{max-width:44ch; color:var(--muted); line-height:1.55}
.featured-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px;
}
.featured-card{
  border-radius:30px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); position:relative;
}
.featured-card__image{height:260px; background:#ddd}
.featured-card__image img{width:100%; height:100%; object-fit:cover}
.featured-card__body{padding:18px}
.featured-card__title{display:flex; justify-content:space-between; gap:12px; align-items:start; margin-bottom:8px}
.featured-card__title h3{font-size:1.3rem}
.featured-card__price{font-weight:900; font-size:1.15rem}
.featured-card p{color:#505050; margin:0 0 16px; line-height:1.55}
.section-block{margin-top:40px; scroll-margin-top:130px}
.section-block__head{
  display:flex; justify-content:space-between; gap:12px; align-items:end; margin-bottom:18px; border-bottom:1px solid var(--line); padding-bottom:16px;
}
.section-block__head h2{font-size:clamp(1.5rem, 4vw, 2.15rem)}
.availability-note{font-size:.92rem; color:var(--muted); font-weight:600}
.cards-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px;
}
.product-card{
  display:grid; grid-template-columns:160px 1fr; gap:0; background:var(--surface); border-radius:26px; overflow:hidden;
  border:1px solid rgba(0,0,0,.05); box-shadow:0 8px 24px rgba(0,0,0,.05);
}
.product-card__media{
  min-height:100%; background:linear-gradient(135deg, rgba(245,197,36,.22), rgba(138,84,182,.14));
  position:relative;
}
.product-card__media img{width:100%; height:100%; object-fit:cover}
.product-card__body{padding:18px; display:flex; flex-direction:column; gap:10px}
.product-card__top{display:flex; justify-content:space-between; gap:12px}
.product-name{font-size:1.15rem}
.product-price{font-weight:900; white-space:nowrap}
.product-description{margin:0; color:#555; line-height:1.5}
.product-availability{margin:0; color:var(--muted); font-size:.92rem; font-weight:600}
.product-availability.is-all-day{color:#2a9e5c; font-size:.78rem; font-weight:600}
.product-actions{margin-top:auto; display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap}
.product-badges{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px}
.badge-star,.badge-status,.badge-promo{
  display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-size:.78rem; font-weight:800;
}
.badge-star{background:rgba(245,197,36,.2); color:#9f6d00}
.badge-status{background:rgba(0,0,0,.06); color:#555}
.badge-promo{background:rgba(138,84,182,.16); color:var(--purple)}
.badge-new{background:rgba(49,193,201,.18); color:#0a7a82; font-weight:800; font-size:.75rem; padding:3px 9px; border-radius:999px; text-transform:uppercase; letter-spacing:.04em}
.pizza-subhead{
  grid-column: 1 / -1;
  font-size:1.1rem; font-weight:900; color:var(--ink);
  padding:6px 0 2px;
  border-bottom:2px solid var(--brand);
  margin-top:12px; margin-bottom:4px;
  text-transform:uppercase; letter-spacing:.04em;
}
.pizza-choice-subhead{
  font-size:.8rem; font-weight:800; color:var(--muted);
  text-transform:uppercase; letter-spacing:.06em;
  padding:10px 0 4px; margin-top:4px;
  border-bottom:1px solid var(--line);
  width:100%;
}
.card-btn{
  padding:11px 16px; border-radius:999px; border:none; cursor:pointer; font-weight:800;
}
.card-btn--primary{background:var(--ink); color:#fff}
.card-btn--muted{background:#f2f2f2; color:#8a8a8a}
.badge-schedule{
  display:inline-flex; align-items:center; padding:3px 9px; border-radius:999px;
  font-size:.75rem; font-weight:700; background:rgba(234,126,30,.15); color:#a05a10;
}
/* is-unavailable ya no reduce opacidad — items siempre navegables */
.product-card.is-unavailable .card-btn--primary{background:var(--ink); color:#fff}
.card-btn--schedule{opacity:.82}
.product-card.is-text-only .product-card__media{
  display:none;
}
.product-card.is-text-only{
  grid-template-columns:1fr;
}
.pickup-strip{padding:24px 0}
.pickup-strip__inner{
  background:linear-gradient(135deg, rgba(49,193,201,.18), rgba(245,197,36,.2)); border-radius:30px;
  padding:28px; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center;
}
.location-grid,.story-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center;
}
.location-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.map-frame{
  overflow:hidden; border-radius:30px; box-shadow:var(--shadow); border:1px solid rgba(0,0,0,.06)
}
.map-frame iframe{width:100%; height:420px; border:0}
.story-copy p{color:#535353; line-height:1.65}
.story-visual{
  border-radius:30px; overflow:hidden; box-shadow:var(--shadow)
}
.story-visual img{width:100%; height:100%; object-fit:cover; min-height:420px}
.site-footer{
  padding:42px 0 70px; border-top:1px solid var(--line)
}
.footer-grid{
  display:grid; grid-template-columns:1.3fr .7fr .7fr; gap:18px;
}
.footer-grid strong{display:block; margin-bottom:12px}
.footer-grid a,.footer-jobs{display:block; color:#575757; margin:8px 0; background:none; border:none; padding:0; text-align:left; cursor:pointer}
.cart-fab{
  position:fixed; bottom:18px; left:50%; transform:translateX(-50%);
  background:var(--ink); color:#fff; border:none; border-radius:999px;
  padding:14px 18px; display:flex; align-items:center; gap:10px; font-weight:800; box-shadow:var(--shadow); z-index:25;
}
.cart-fab span:first-child{
  background:var(--yellow); color:#111; min-width:24px; height:24px; border-radius:999px; display:grid; place-items:center; padding:0 7px;
}
.cart-drawer{
  position:fixed; inset:0; display:none; z-index:40;
}
.cart-drawer.is-open{display:block}
.cart-drawer::before{
  content:""; position:absolute; inset:0; background:rgba(0,0,0,.32)
}
.cart-drawer__panel{
  position:absolute; top:0; right:0; height:100%; width:min(520px, 100%); background:var(--bg);
  padding:20px; box-shadow:-24px 0 50px rgba(0,0,0,.15); display:flex; flex-direction:column;
}
.cart-drawer__head{
  display:flex; justify-content:space-between; gap:12px; align-items:start; margin-bottom:16px;
}
.icon-btn{
  width:42px; height:42px; border-radius:50%; background:#fff; border:1px solid var(--line)
}
.cart-items{display:flex; flex-direction:column; gap:12px; overflow:auto; padding-right:6px}
.cart-item{
  background:#fff; border:1px solid var(--line); border-radius:20px; padding:14px;
}
.cart-item__top{display:flex; justify-content:space-between; gap:12px; align-items:start}
.cart-item__name{font-weight:800}
.cart-item__meta{font-size:.94rem; color:#5f5f5f; margin-top:8px; line-height:1.5}
.cart-item__price{font-weight:900}
.cart-emp-price{font-weight:900;font-size:1rem;color:var(--ink);white-space:nowrap}
.cart-emp-detail{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.cart-emp-group{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:0 8px;background:var(--bg);border-radius:10px;padding:7px 10px}
.cart-emp-group__tag{font-size:.78rem;font-weight:700;color:var(--muted);grid-column:1}
.cart-emp-group__price{font-size:.88rem;font-weight:800;color:var(--ink);grid-row:1 / span 2;align-self:center;justify-self:end}
.cart-emp-group__items{font-size:.82rem;color:var(--ink);grid-column:1;margin-top:1px}
.cart-emp-note{font-size:.8rem;color:var(--muted);margin-top:2px}

.cart-item__actions{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; align-items:center;
}
.qty-control{
  display:inline-flex; align-items:center; background:#f6f6f6; border-radius:999px; padding:4px;
}
.qty-control button{
  width:34px;height:34px;border:none;background:#fff;border-radius:50%;cursor:pointer;font-weight:900
}
.qty-control span{min-width:30px;text-align:center;font-weight:800}
.linkish{
  background:none; border:none; color:var(--purple); font-weight:800; cursor:pointer; padding:0;
}
.cart-name{margin-top:16px}
.cart-name label{display:block; margin-bottom:8px; font-weight:700}
.cart-name input,.note-area{
  width:100%; background:#fff; border:1px solid var(--line); border-radius:16px; padding:13px 14px;
}
.cart-summary{
  margin-top:16px; background:#fff; border-radius:20px; padding:16px; border:1px solid var(--line)
}
.summary-row{display:flex; justify-content:space-between; gap:12px; margin-bottom:8px}
.summary-row.total{font-size:1.1rem}
.pickup-note{margin:12px 0 0; color:#555; font-size:.92rem; line-height:1.45}
.cart-actions{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px
}
.modal{
  position:fixed; inset:0; display:none; z-index:50;
}
.modal.is-open{display:block}
.modal__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.36)}
.modal__panel{
  position:relative; width:min(720px, calc(100% - 24px)); margin:32px auto; background:var(--bg);
  border-radius:28px; padding:24px; box-shadow:var(--shadow); max-height:calc(100vh - 64px); overflow:auto;
  overflow-anchor: none;
}
.modal__close{position:absolute; right:18px; top:18px}
.modal__product{
  display:grid; grid-template-columns:220px 1fr; gap:20px;
}
.modal__image{
  border-radius:22px; overflow:hidden; min-height:240px; background:linear-gradient(135deg, rgba(49,193,201,.18), rgba(245,197,36,.18));
}
.modal__image img{width:100%; height:100%; object-fit:cover}
.modal__body h3{font-size:1.8rem; margin-bottom:8px}
.modal__body > p{color:#545454; line-height:1.58}
.option-group{margin-top:18px}
.option-group h4{margin:0 0 10px; font-size:1rem}
.option-list{display:grid; gap:10px}
.option-item{
  display:flex; gap:10px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px 14px;
}
.option-item input{margin-top:4px}
.option-item__label{display:flex; justify-content:space-between; gap:12px; width:100%}
.counter-item{align-items:center; justify-content:space-between}
.counter-list{display:grid; gap:8px}
.counter-controls{display:flex; align-items:center; gap:10px; flex-shrink:0}
.counter-btn{
  width:32px; height:32px; border-radius:50%; border:none;
  background:#111; color:#fff; font-size:1.1rem; font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s; line-height:1; flex-shrink:0;
}
.counter-btn:hover{background:#333}
.counter-btn:active{background:#555}
.counter-qty{
  min-width:24px; text-align:center; font-weight:800; font-size:1rem;
}
.note-wrap{margin-top:18px}
.note-wrap label{display:flex; justify-content:space-between; gap:12px; font-weight:700; margin-bottom:8px}
.note-counter{color:var(--muted); font-weight:600; font-size:.86rem}
.modal__footer{
  display:flex; justify-content:space-between; gap:16px; align-items:center; margin-top:20px; border-top:1px solid var(--line); padding-top:16px
}
.modal__total{font-size:1.2rem; font-weight:900}
.modal__add-wrap{display:flex; flex-direction:column; align-items:flex-end; gap:6px}
.modal__validation-hint{
  font-size:.78rem; font-weight:700; color:#c0392b;
  background:#fdf0ef; border:1px solid #f5c6c2;
  border-radius:8px; padding:5px 10px;
  animation: hint-in .2s ease;
}
@keyframes hint-in{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:none}}
.required-mark{color:#c0392b; font-weight:900; font-size:.85rem}
.option-group h4{margin:0 0 10px; font-size:1rem; display:flex; align-items:center; gap:4px}
.toast{
  position:fixed; right:18px; bottom:90px; background:#111; color:#fff; padding:14px 16px; border-radius:16px;
  box-shadow:var(--shadow); opacity:0; transform:translateY(12px); pointer-events:none; transition:.25s ease; z-index:60;
  max-width:300px; line-height:1.4;
}
.toast.is-visible{opacity:1; transform:translateY(0); pointer-events:auto}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .5s ease, transform .5s ease}
.reveal.is-visible{opacity:1; transform:none}
.hidden{display:none !important}

/* Opción C — items fuera de horario en carrito */
.cart-schedule-warning{
  display:flex; align-items:flex-start; gap:8px;
  background:rgba(234,126,30,.1); border:1px solid rgba(234,126,30,.3);
  color:#7a4a08; border-radius:12px; padding:10px 14px;
  font-size:.82rem; line-height:1.4; margin-bottom:10px;
}
.cart-schedule-warning i{margin-top:1px; flex-shrink:0; font-size:14px}
.cart-item__schedule-note{
  display:inline-flex; align-items:center; gap:4px;
  font-size:.78rem; color:#a05a10; margin-top:4px; font-weight:600;
}
.cart-item__schedule-note span::before{content:"⏰ "}
@media (max-width: 980px){
  .nav{grid-template-columns:auto auto; grid-template-areas:"brand cta" "links links"; padding:10px 0 14px}

  .brand{grid-area:brand}
  .nav__cta{grid-area:cta; justify-content:end}
  .nav__links{grid-area:links; justify-content:flex-start; overflow:auto; white-space:nowrap; padding-bottom:4px}
  .brand-logo-svg svg{height:28px}
  .hero__grid,.location-grid,.story-grid,.modal__product{grid-template-columns:1fr}
  .hero__mosaic{grid-template-columns:1fr 1fr}
  .mosaic-card--large{grid-row:auto; min-height:280px}
  .section-head,.pickup-strip__inner{grid-template-columns:1fr; display:grid; align-items:start}
  .featured-grid,.cards-grid{grid-template-columns:1fr}
  .product-card{grid-template-columns:1fr}
  .product-card__media{height:220px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .topbar__inner{align-items:flex-start; flex-direction:column}
  .container{width:min(var(--max), calc(100% - 20px))}
  .nav__cta .ghost-link{display:none}

  .brand-logo-full{height:28px; max-width:130px}
  .brand-logo-svg svg{height:22px}
  .hero{padding-top:28px}
  .hero__actions,.cart-actions{grid-template-columns:1fr; display:grid}
  .hero__support{display:grid; grid-template-columns:1fr 1fr}
  .hero__support > *:last-child{grid-column:1 / -1}
  .footer-grid{grid-template-columns:1fr}
  .cart-drawer__panel{padding:16px}
  .modal__panel{padding:18px; margin:16px auto; max-height:calc(100vh - 32px)}
  .cart-fab{width:calc(100% - 20px); justify-content:center}
}

/* ── Pizza modal ──────────────────────────────────────────────────────────── */
.option-group--pizza{
  animation: fadeSlideIn .22s ease both;
}
@keyframes fadeSlideIn{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Tabs */
.pizza-tabs{
  display:flex; gap:6px; margin-bottom:12px;
}
.pizza-tab{
  flex:1; padding:8px 12px; border-radius:99px;
  border:1.5px solid var(--line); background:var(--surface);
  font-size:.85rem; font-weight:700; cursor:pointer;
  color:var(--muted); transition:all .15s;
}
.pizza-tab.is-active{
  background:var(--ink); color:#fff; border-color:var(--ink);
}

/* Choice wrap */
.pizza-choice-wrap{
  border:1.5px solid var(--line); border-radius:12px;
  margin-bottom:6px; overflow:hidden; transition:border-color .15s;
}
.pizza-choice-wrap.is-selected{
  border-color:var(--brand);
}
.pizza-choice-wrap .option-item{
  border:none; border-radius:0; margin-bottom:0;
}

/* Description under selected pizza */
.pizza-choice-desc{
  font-size:.8rem; color:var(--muted); margin:0;
  padding:0 12px 10px 38px; line-height:1.5;
}

/* Choice wrap with expandable description (e.g. combo empanadas) */
.choice-wrap{
  border:1.5px solid var(--line); border-radius:12px;
  margin-bottom:6px; overflow:hidden; transition:border-color .15s;
}
.choice-wrap.is-selected{
  border-color:var(--brand);
}
.choice-wrap .option-item{
  border:none; border-radius:0; margin-bottom:0;
}
.choice-desc{
  font-size:.8rem; color:var(--muted); margin:0;
  padding:0 12px 10px 38px; line-height:1.5;
}

/* "Sin segunda mitad" option */
.pizza-none-option{
  border:1.5px dashed var(--line); border-radius:12px;
  margin-bottom:10px;
}

/* Footer redesign */
.modal__footer{
  display:flex; justify-content:space-between; gap:16px; align-items:flex-end;
  margin-top:20px; border-top:1px solid var(--line); padding-top:16px;
  position:sticky; bottom:0; background:var(--surface);
  padding-bottom:16px; z-index:10;
}
.modal__footer-left{
  display:flex; flex-direction:column; gap:2px; min-width:0; flex:1;
}
.modal__total{
  font-size:1.6rem; font-weight:900; color:var(--ink); line-height:1;
}
.modal__price-label{
  font-size:.75rem; color:var(--muted); font-weight:500;
  line-height:1.7; margin-top:4px;
  display:flex; flex-direction:column; gap:1px;
}
.emp-price-breakdown{display:flex;flex-direction:column;gap:5px;width:100%}
.emp-price-row{display:flex;justify-content:space-between;font-size:.95rem;color:var(--ink)}
.emp-price-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.55rem;font-weight:900;color:var(--ink);border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.emp-price-total span:first-child{font-size:1.55rem;font-weight:900}
.emp-price-total span:last-child{font-size:1.55rem;font-weight:900}
.emp-price-hint{font-size:.8rem;color:var(--muted);margin-top:2px}
.emp-price-hint--green{color:#1a7a1a;font-weight:600}

.pizza-label__line{
  display:block; line-height:1.4;
}
.pizza-label__line strong{
  font-weight:600; color:var(--ink);
}
.pizza-label__masa{
  font-weight:400; color:var(--muted);
}
.pizza-label__info{
  display:block; margin-top:2px;
}

/* Separadores de grupos en sección Bebidas */
.drink-group-separator{
  grid-column: 1 / -1;
  display: flex; align-items: center; gap: 10px;
  margin: 12px 0 4px;
}
.drink-group-separator:first-child{ margin-top: 0; }
.drink-group-separator__label{
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--muted); white-space: nowrap;
}
.drink-group-separator::after{
  content: ''; flex: 1; height: 1px; background: var(--line);
}

/* Masa inline dentro de pizza elegida */
.pizza-inline-masa{
  padding: 10px 12px 12px;
  border-top: 1px solid var(--line);
  margin-top: 4px;
}
.pizza-inline-masa__label{
  font-size: .78rem; font-weight: 700; color: var(--ink);
  margin: 0 0 8px; text-transform: uppercase; letter-spacing: .04em;
}
.pizza-inline-masa__list{
  display: flex; gap: 8px;
}
.pizza-inline-masa__option{
  flex: 1; display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: 10px;
  border: 1.5px solid var(--line); cursor: pointer;
  font-size: .85rem; font-weight: 500; transition: all .15s;
}
.pizza-inline-masa__option input{ display: none; }
.pizza-inline-masa__option.is-selected{
  border-color: var(--brand); background: var(--brand-tint, #fff8f0); font-weight: 700;
}
.pizza-inline-masa__option.is-selected::before{
  content: '✓'; font-size: .8rem; color: var(--brand); font-weight: 900;
}
/* Frase de link en sección Empanadas */
.section-block__note{
  font-size:.82rem; color:var(--muted); margin:4px 0 0; font-weight:400;
}
.section-block__note-link{
  color:var(--ink); font-weight:600; text-decoration:underline;
  text-underline-offset:2px;
}
.section-block__note-link:hover{ opacity:.7; }

/* Sticky drink group header */
#drink-group-sticky{
  position:fixed;
  left:0; right:0;
  z-index:18;
  display:flex; align-items:center; gap:10px;
  padding:0 16px;
  height:32px;
  background:rgba(251,248,242,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
}
#drink-group-sticky.is-visible{ opacity:1; }
.drink-group-sticky__label{
  font-size:.68rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--muted);
}
#drink-group-sticky::after{
  content:''; flex:1; height:1px; background:var(--line);
}

/* ── Miércoles de Pizza banner ────────────────────────────────────────── */
.wednesday-banner{
  background: linear-gradient(135deg, #fffbea 0%, #fff3c4 100%);
  border: 1.5px solid #f5c400;
  border-radius: 14px;
  padding: 12px 14px;
  margin: 10px 0 14px;
}
.wednesday-banner__head{
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 8px; margin-bottom: 8px;
}
.wednesday-banner__title{
  font-size: .88rem; font-weight: 800; color: #7a5c00;
}
.wednesday-banner__price{
  font-size: 1.1rem; font-weight: 900; color: #7a5c00;
  white-space: nowrap;
}
.wednesday-banner__conds{
  margin: 0 0 8px; padding: 0;
  list-style: none;
  display: flex; flex-direction: column; gap: 3px;
}
.wednesday-banner__conds li{
  font-size: .78rem; color: #7a5c00; font-weight: 500;
}
.wednesday-banner__note{
  margin: 0;
  font-size: .72rem; color: #a07c2a; font-style: italic; line-height: 1.4;
  border-top: 1px solid rgba(245,196,0,.35);
  padding-top: 6px;
}
/* ── Empanada counter (combo de empanadas) ─────────────────────────── */
.empanada-counter-list{ display:flex; flex-direction:column; gap:0; }

.empanada-counter__indicator{
  font-size:.78rem; font-weight:600; color:var(--muted);
  padding:6px 2px 10px; text-align:center;
}
.emp-ind--partial{ color:#d08000; }
.emp-ind--done{ color:#2a9e5c; }

.empanada-row{
  border:1.5px solid var(--line); border-radius:12px;
  margin-bottom:6px; overflow:hidden; transition:border-color .15s;
}
.empanada-row.has-qty{ border-color:var(--brand); }

.empanada-row__main{
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; padding:10px 12px;
}
.empanada-row__name{
  font-size:.9rem; font-weight:500; flex:1; line-height:1.3;
}
.empanada-row__desc{
  font-size:.78rem; color:var(--muted); margin:0;
  padding:0 12px 10px; line-height:1.5;
}

.lang-toggle { display: none !important; }
/* Option group error highlight */
.option-group--error,
.pizza-inline-masa.option-group--error{
  border:2px solid #d93025 !important;
  border-radius:14px;
  animation:group-shake .3s ease;
  background:#fff8f8 !important;
}
.option-group--error > h4::after{
  content:" — elige una opción";
  color:#d93025;
  font-size:.8rem;
  font-weight:600;
}
.pizza-inline-masa.option-group--error .pizza-inline-masa__label{
  color:#d93025;
}
@keyframes group-shake{
  0%{transform:translateX(0)}
  20%{transform:translateX(-5px)}
  40%{transform:translateX(5px)}
  60%{transform:translateX(-4px)}
  80%{transform:translateX(4px)}
  100%{transform:translateX(0)}
}

/* Menu hamburger + buscador */
.menu-nav{ position:static; }
.menu-nav__bar{display:flex;align-items:center;gap:12px;padding:10px 0}
.menu-nav__toggle{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--surface);border:1.5px solid var(--line);
  border-radius:999px;padding:8px 16px;
  font-size:.88rem;font-weight:700;color:var(--ink);
  cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;
}
.menu-nav__toggle:hover{background:#f0ead8;border-color:#bbb}
.menu-nav__toggle[aria-expanded="true"]{background:#111;color:#fff;border-color:#111}
.menu-nav__toggle svg{flex-shrink:0}
.menu-nav__panel{
  background:var(--surface);
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  animation:slideDown .18s ease;
  position:fixed;
  top:0; left:0; right:0;
  z-index:30;
  padding-top:env(safe-area-inset-top);
}
@keyframes slideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.menu-nav__panel.hidden{display:none}
.menu-nav__panel-inner{padding:14px 0 18px;display:flex;flex-direction:column;gap:12px}
.menu-nav__search-wrap{
  display:flex;align-items:center;gap:8px;
  background:#f4f0e8;border-radius:12px;padding:10px 14px;color:var(--muted);
}
.menu-nav__search{
  border:none;outline:none;background:transparent;
  font-size:.95rem;flex:1;color:var(--ink);
}
.menu-nav__search::placeholder{color:var(--muted)}
.menu-nav__search::-webkit-search-cancel-button{display:none}
.menu-nav__search-clear{
  border:none;background:none;cursor:pointer;
  color:var(--muted);font-size:.9rem;padding:0 2px;line-height:1;
}
.menu-nav__search-clear:hover{color:var(--ink)}
.menu-nav__search-clear.hidden{display:none}
#menu-nav-links{display:flex;flex-direction:column;gap:2px}
#menu-nav-links a{
  display:block;padding:11px 14px;border-radius:10px;
  font-weight:600;font-size:.95rem;color:var(--ink);
  text-decoration:none;transition:background .12s;
}
#menu-nav-links a:hover{background:#f4f0e8}
#menu-nav-links a.is-active{background:#111;color:#fff}
.menu-nav__overlay{
  position:fixed;inset:0;z-index:18;
  background:rgba(0,0,0,.18);
}
.menu-nav__overlay.hidden{display:none}

/* Resultados de búsqueda */
.search-count{font-size:.85rem;color:var(--muted);margin:0 0 16px;padding:0}
.search-count strong{color:var(--ink)}
.search-empty{text-align:center;padding:48px 16px;color:var(--muted)}
.search-empty p{margin:0 0 6px;font-size:1rem}
.search-empty strong{color:var(--ink)}
.search-empty__sub{font-size:.85rem}

/* Header simplificado */
.nav--simple{
  display:flex; justify-content:space-between; align-items:center;
  min-height:64px; padding:10px 0;
  position:relative;
}
.nav--simple .nav__links,
.nav--simple .nav__cta{ display:none; }
/* Logo centrado absolutamente en el header */
.nav--simple .brand{
  position:absolute; left:50%; transform:translateX(-50%);
  pointer-events:auto;
}
.nav--simple .brand-logo-svg svg{ height:36px; }

/* Panel scroll */
.menu-nav__panel-scroll{
  max-height: calc(100dvh - 120px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.menu-nav__group-label{
  font-size:.72rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted);
  margin:0 0 4px; padding:0 14px;
}
.menu-nav__divider{
  height:1px; background:var(--line); margin:12px 0;
}
.menu-nav__secondary{ display:flex; flex-direction:column; gap:0; }
.menu-nav__sec-link{
  display:block; padding:9px 14px; border-radius:8px;
  font-size:.9rem; color:var(--muted); text-decoration:none;
  transition:background .12s;
}
.menu-nav__sec-link:hover{ background:#f4f0e8; color:var(--ink); }

/* search-results-wrap */
.search-results-wrap{
  box-sizing:border-box;
  width:100%;
  padding:32px 16px 48px;
  max-width:1180px;
  margin:0 auto;
}

/* Toggle en header */
.nav__left{display:flex;align-items:center;gap:10px}
.menu-nav__toggle--header{
  background:none; border:none; padding:6px;
  cursor:pointer; color:var(--ink); border-radius:8px;
  transition:background .15s; flex-shrink:0;
}
.menu-nav__toggle--header:hover{background:rgba(0,0,0,.06)}
.menu-nav__toggle--header[aria-expanded="true"]{color:var(--ink)}
/* menu-nav sin barra superior */
.menu-nav__bar{display:none}

/* Panel header con botón cerrar */
.menu-nav__panel-header{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 0 10px; border-bottom:1px solid var(--line); margin-bottom:8px;
}
.menu-nav__panel-title{font-weight:800; font-size:1rem}
.menu-nav__close{
  border:none; background:none; cursor:pointer;
  font-size:1.1rem; color:var(--muted); padding:4px 8px;
  border-radius:8px; line-height:1;
}
.menu-nav__close:hover{background:#f0ead8; color:var(--ink)}
/* Scroll del panel descontando topbar ~40px + header ~64px */
.menu-nav__panel-scroll{
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.search-results-wrap--hidden{ display:none; }
