/* Same menu and order flow; responsive presentation of the existing catalogue. */
:root { --menu-ink: #282824; --menu-muted: #65655e; --menu-line: #e7e5de; --menu-surface: #fffefa; --cu-product-photo-surface: #fefefe; }
:root { --menu-inset: #f5f3ed; --menu-selected: #fff5cd; --menu-focus: #755600; --menu-danger: #a92c23; }
body { color: var(--menu-ink); -webkit-font-smoothing: antialiased; }
body :is(button,a,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid #755600; outline-offset: 3px; }
.app-frame { background: #f7f7f3; }
.app-shell { box-shadow: none; }
.screen-home .lab-header { padding-block: 16px; border-bottom: 1px solid var(--menu-line); }
.screen-home .lab-brand { font-size: 26px; font-weight: 600; letter-spacing: -.035em; }
.screen-home .hero-wrap { margin-bottom: 16px; }
.screen-home .hero-dots { display: none; }
.screen-home .home-search-wrap { border-radius: 12px; box-shadow: none; border-color: var(--menu-line); min-height: 48px; }
.screen-home .home-search-input { font-size: 16px; }
.screen-home .section-title { font-size: 22px; font-weight: 600; }
.screen-home .section-sub { font-size: 14px; color: var(--menu-muted); }
.screen-home .menu-cat-sticky-head { box-shadow: none; background: var(--menu-surface); }
.screen-home .menu-cat-products { display: grid; gap: 16px; }
.screen-home .product-card { border: 1px solid var(--menu-line); border-radius: 16px; box-shadow: none; padding: 16px; gap: 16px; background: var(--menu-surface); }
.screen-home .product-thumb { border-radius: 12px; background: var(--cu-product-photo-surface); }
.screen-home .product-thumb img { object-fit: contain; object-position: center; background: var(--cu-product-photo-surface); }
.screen-home .product-name { font-size: 18px; line-height: 1.25; white-space: normal; letter-spacing: -.015em; }
.screen-home .product-desc { font-size: 14px; line-height: 1.45; color: var(--menu-muted); }
.screen-home .product-meta-chip { color: var(--menu-muted); font-size: 12px; }
.screen-home .product-foot { flex-wrap: wrap; gap: 8px; align-items: center; }
.screen-home .product-price { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.screen-home .btn-add-pill { min-height: 44px; border-radius: 10px; font-size: 14px; padding: 0 16px; }
.screen-home .btn-add-pill--options { background: var(--cu-yellow); border-color: var(--cu-yellow); }
.screen-home .product-card:hover { border-color: #bcb9ac; }
.bottom-dock { box-shadow: none; border-top-color: var(--menu-line); }
.bottom-dock .nav-item { min-height: 56px; }
.sheet-hero { height: clamp(264px,72vw,320px); min-height: 264px; max-height: 320px; overflow: hidden; background: var(--cu-product-photo-surface); display: grid; place-items: center; }
.sheet-hero img { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; padding: 8px; box-sizing: border-box; object-fit: contain; object-position: center; }
/* Compensa el lienzo blanco particular sin recortar la hamburguesa ni alterar el archivo. */
.sheet-hero img[src$="/ambiciosa.png"] { transform: scale(1.15); }
.sheet-hero img[src$="/Cuarto.png"] { transform: scale(1.08); object-position: 56% 42%; }
.sheet-content { padding-inline: 20px; }
.sheet-content :is(h1,h2) { font-weight: 600; letter-spacing: -.025em; }
.sheet-content :is(p,.sheet-ingredients-list) { font-size: 15px; line-height: 1.5; }
.sheet-scroll-area, .product-mod-body { overscroll-behavior: contain; }
.sheet-topbar .icon-btn, .qty-control button, .cart-item-rm { min-width: 44px; min-height: 44px; }
.cart-item { border-color: var(--menu-line); box-shadow: none; border-radius: 14px; }
.cart-item-name { font-size: 17px; }
.cart-item-mods li, .cart-item-unit { font-size: 13px; color: var(--menu-muted); }
.cart-item-foot { gap: 12px; flex-wrap: wrap; }
.cart-mod-row { background: #fff7db; border-radius: 12px; }
.cart-mod-row strong { font-size: 16px; }
:is(.extras-card__visual,.upsell-pick__visual,.extras-row__visual) { background: var(--cu-product-photo-surface); }
:is(.extras-card__visual,.upsell-pick__visual,.extras-row__visual) .extras-card__photo,
:is(.extras-card__visual,.upsell-pick__visual,.extras-row__visual) .extras-card__photo img {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background: var(--cu-product-photo-surface);
  object-fit: contain;
  object-position: center;
}
.upsell-pick__visual .extras-card__photo img { padding: 4px; }
:is(.cart-address-input,.cart-guest-name-input) { font-size: 16px; min-height: 48px; }
@media (min-width: 700px) {
  .app-frame > .app-shell { width: min(100%,1120px); max-width: 1120px; margin: 0 auto; border-radius: 0; }
  .screen-home { padding-inline: 24px; }
  .screen-home .hero-wrap { max-width: 720px; margin-inline: auto; }
  .screen-home .hero-img { max-height: 300px; }
  .screen-home .home-search-wrap { max-width: 640px; margin-inline: auto; }
  .screen-home .menu-cat-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .screen-home .product-card { grid-template-columns: 104px minmax(0,1fr); }
  .screen-home .product-thumb { width: 104px; height: 132px; }
  .sheet-hero { height: min(40vh,360px); min-height: 320px; max-height: 360px; }
  .bottom-dock { width: min(100%,1120px); }
  .bottom-dock .bottom-nav { max-width: 640px; margin-inline: auto; }
  .app-screen:not(.screen-home) { max-width: 720px; margin-inline: auto; }
  .overlay-product,.product-sheet { width: min(100vw,540px); }
}
@media (max-width: 420px) {
  .screen-home .product-card { grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 12px; }
  .screen-home .product-thumb { width: 100px; height: 132px; }
  .screen-home .product-foot { align-items: flex-start; flex-direction: column; }
  .screen-home .btn-add-pill { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Same controls and flows: hierarchy, touch targets and inset form surfaces. */
.sheet-content { background: var(--menu-surface); padding-top: 24px; }
.sheet-content .sheet-title { font-size: 26px; line-height: 1.2; margin-bottom: 12px; }
.sheet-content .sheet-desc { color: var(--menu-muted); font-weight: 400; }
.sheet-content .sheet-price-inline, .sheet-footer .price { color: var(--menu-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.sheet-content .sheet-group { border-color: var(--menu-line); margin-block: 20px; }
.sheet-content .sheet-group summary { padding-block: 16px; gap: 6px; }
.sheet-content .sheet-group-label { font-size: 16px; }
.sheet-content .sheet-group-hint { font-size: 13px; color: var(--menu-muted); }
.sheet-content .sheet-ingredients-list { padding-bottom: 12px; color: var(--menu-muted); }
.sheet-content :is(.menu-row,.toggle-row) { min-height: 64px; padding: 16px 0; gap: 12px; border-color: var(--menu-line); }
.sheet-content :is(.menu-row,.toggle-row) strong { font-size: 16px; line-height: 1.35; }
.sheet-content :is(.menu-row,.toggle-row) small { font-size: 13px; line-height: 1.45; color: var(--menu-muted); }
.sheet-content .menu-row div { min-width: 0; }
.sheet-content .toggle { flex-shrink: 0; }
.sheet-footer { border-top: 1px solid var(--menu-line); background: var(--menu-surface); gap: 16px; padding: 16px 20px max(16px,env(safe-area-inset-bottom)); }
.sheet-footer .btn-primary { min-height: 48px; border-radius: 12px; box-shadow: none; font-size: 16px; }
.sheet-qty button { min-width: 44px; min-height: 44px; }
.sheet-qty { min-height: 44px; background: var(--menu-surface); border-color: var(--menu-line); }
:is(.mod-sheet,.sheet-full,.cart-sheet) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { box-sizing: border-box; max-width: 100%; font: inherit; font-size: 16px; color: var(--menu-ink); background-color: var(--menu-inset); border: 1px solid var(--menu-line); border-radius: 10px; padding: 12px; }
:is(.mod-sheet,.sheet-full,.cart-sheet) textarea { min-height: 96px; resize: vertical; }
:is(.mod-sheet,.sheet-full,.cart-sheet) :is(input,select,textarea):disabled { opacity: .65; cursor: not-allowed; }
:is(.mod-sheet,.sheet-full,.cart-sheet) [aria-invalid=true] { border-color: var(--menu-danger); }
:is(.mod-sheet,.sheet-full,.cart-sheet) :is(input[type=checkbox],input[type=radio]) { accent-color: var(--menu-focus); width: 20px; height: 20px; flex-shrink: 0; }
.sheet-upsell { border-color: var(--menu-line); background: var(--menu-inset); border-radius: 14px; padding: 16px; }
.sheet-upsell-head h3, .cart-upsell__title { font-size: 18px; font-weight: 600; color: var(--menu-ink); }
.sheet-upsell-head p, .cart-upsell__hint { color: var(--menu-muted); font-size: 14px; }
.upsell-pick, .extras-row { border-color: var(--menu-line); gap: 12px; }
.extras-row__name { font-size: 16px; line-height: 1.35; }
.extras-row__price { color: var(--menu-ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.extras-row__qty .extras-qty-btn { width: 44px; height: 44px; min-width: 44px; }
.cart-upsell { border-color: var(--menu-line); box-shadow: none; }
.product-mod-body .mod-option { min-height: 52px; border-color: var(--menu-line); border-radius: 12px; padding: 12px; gap: 12px; }
.product-mod-body .mod-option em { color: var(--menu-ink); font-style: normal; font-weight: 500; font-variant-numeric: tabular-nums; }
.product-mod-body .mod-option:has(input:checked) { background: var(--menu-selected); border-color: var(--menu-focus); }
.product-mod-foot .btn-primary { box-shadow: none; min-height: 48px; border-radius: 12px; }
.precart-empty { margin: 0; padding: 16px 0; font-size: 15px; line-height: 1.5; color: var(--menu-muted); }
.cart-item :is(.cart-item-name,.cart-item-unit) { overflow-wrap: anywhere; }
@media (hover: hover) {
  .sheet-content .menu-row:hover { background: var(--menu-inset); }
  .btn-add-pill:hover { filter: brightness(.97); }
}
@media (prefers-reduced-motion: no-preference) {
  :is(.btn-add-pill,.sheet-footer .btn-primary,.extras-qty-btn) { transition: transform 120ms ease-out; }
  :is(.btn-add-pill,.sheet-footer .btn-primary,.extras-qty-btn):active { transform: scale(.98); }
}
