/* One continuous frame; native text-field painting must not add an inner edge. */
.menu-search-form {
  border:1px solid #c8ccbf;
  background:var(--surface-raised);
  background-clip:padding-box;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.menu-search-form input[type="text"] {
  -webkit-appearance:none;
  appearance:none;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  outline:none;
}
.menu-search-form:focus-within {
  border-color:var(--forest-900);
  box-shadow:inset 0 0 0 1px var(--forest-900);
}

/* Menu controls share the rectangular, softly rounded language of the app. */
.discover-page .chip,.discover-page .primary-button,.discover-page .secondary-button,.discover-page .tertiary-button,.discover-page .menu-search-form,.active-menu-filters button,.menu-filter-sheet .chip,.menu-filter-sheet .primary-button,.menu-filter-sheet .tertiary-button{border-radius:12px}
.discover-page .discover-services{padding:0;margin:0 0 18px;gap:8px}
.discover-page .discover-services .chip{min-height:44px;padding:10px 14px;flex-shrink:0;line-height:1.4}
.discover-page .menu-layout.menu-layout--focused{display:block;min-width:0}
.active-menu-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.active-menu-filters button{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:var(--forest-050,#e7eee5);color:var(--forest-900,#244633);font:inherit;font-size:12px;line-height:1.4;cursor:pointer;text-align:left;overflow-wrap:anywhere}
.active-menu-filters svg{width:14px;height:14px;flex:none}
.menu-filter-sheet{width:min(560px,100%)}
.menu-filter-sheet .filter-intro{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.6}
.menu-filter-sheet .filter-group{margin:0 0 24px}
.menu-filter-sheet .filter-group h3{margin:0 0 10px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;color:var(--forest-900,#244633)}
.menu-filter-sheet .filter-group .micro{margin:0 0 12px;font-size:12px;line-height:1.5}
.menu-filter-sheet .filter-section-options,.menu-filter-sheet .filter-chip-grid{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding:0}
.menu-filter-sheet .chip{max-width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);background:var(--surface-raised,#fffdf8);color:var(--forest-900,#244633);font-size:13px;line-height:1.4;white-space:normal;text-align:left}
.menu-filter-sheet .chip[aria-pressed=true]{background:var(--forest-050,#e7eee5);border-color:var(--forest-900,#244633);box-shadow:inset 0 0 0 1px var(--forest-900,#244633)}
.filter-spice-rows{display:grid;gap:8px}
.filter-spice-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised,#fffdf8);color:var(--forest-900,#244633);text-align:left;cursor:pointer;font:inherit}
.filter-spice-row strong{font-size:13px;font-weight:600;line-height:1.4;flex:1;min-width:0}
.filter-spice-row .spice-level-icon svg{width:24px;height:24px}
.filter-spice-row .spice-level-marks{margin-left:0;gap:4px}
.filter-spice-row .spice-level-marks>span{width:7px;height:7px}
.filter-spice-row .spice-level-marks.is-no-spice>.is-active{background:var(--forest-900,#244633);border-color:var(--forest-900,#244633)}
.filter-choice-mark{display:grid;place-items:center;flex:none;width:20px;height:20px;margin-left:4px;border:1px solid #aab6a8;border-radius:5px;color:var(--surface-raised,#fffdf8)}
.filter-choice-mark svg{width:14px;height:14px;visibility:hidden}
.filter-spice-row[aria-pressed=true]{background:var(--forest-050,#e7eee5);border-color:var(--forest-900,#244633)}
.filter-spice-row[aria-pressed=true] .filter-choice-mark{background:var(--forest-900,#244633);border-color:var(--forest-900,#244633)}
.filter-spice-row[aria-pressed=true] .filter-choice-mark svg{visibility:visible}
.menu-filter-sheet button:focus-visible,.active-menu-filters button:focus-visible,.discover-services button:focus-visible{outline:2px solid var(--forest-900,#244633);outline-offset:3px}
.menu-filter-sheet .filter-sheet-actions{display:flex;gap:8px;padding:14px 20px max(14px,env(safe-area-inset-bottom))}
.menu-filter-sheet .filter-sheet-actions button{flex:1;min-width:0;min-height:44px;padding:10px 8px;font-size:13px;line-height:1.4}
.menu-filter-sheet .filter-sheet-actions .primary-button{flex:1.6}
@media(max-width:380px){.filter-spice-row{gap:8px;padding:10px}.filter-spice-row .spice-level-marks{gap:3px}.menu-filter-sheet .sheet-body{padding-left:16px;padding-right:16px}.menu-filter-sheet .filter-sheet-actions{padding-left:16px;padding-right:16px}}

/* Prices share the last text baseline, even when a product name wraps. */
.product-card.has-photo .product-head-row,
.product-card.has-photo.has-generic-photo .product-head-row{align-items:flex-end;align-items:last baseline}

/* Horarios y descubrimiento: misma escala y colores que la carta. */
.schedule-notice { display:flex; align-items:flex-start; gap:12px; padding:16px 18px; margin:16px 0 24px; border:1px solid rgba(36,70,51,.18); border-radius:16px; background:rgba(36,70,51,.05); color:var(--ink, #244633); }
.schedule-notice > svg { flex:0 0 20px; width:20px; height:20px; margin-top:3px; }
.schedule-notice p { margin:0; line-height:1.6; font-size:.9rem; }
.product-schedule { margin:10px 0 0; font-size:.78rem; line-height:1.5; color:var(--muted, #66645b); overflow-wrap:anywhere; }
.detail-schedule { margin:16px 0; font-size:.9rem; }
.later-menu { margin-top:36px; padding-top:28px; border-top:1px solid rgba(36,70,51,.16); }
.later-menu > .section-head { margin-bottom:20px; }
.later-menu .section-head .muted { margin:10px 0 0; max-width:52ch; }
@media(max-width:600px) { .schedule-notice { padding:14px; gap:10px; margin:14px 0 20px; } .later-menu { margin-top:28px; padding-top:24px; } }

.product-card.has-photo .product-schedule { color:inherit; opacity:.9; display:block; -webkit-line-clamp:unset; overflow:visible; }

/* Schedule belongs to the group; cards keep the focus on each dish. */
.later-menu>.section-head{margin-bottom:16px}
.schedule-group+.schedule-group{margin-top:28px}
.schedule-group__head{margin-bottom:14px}
.schedule-group__head h3{margin:0 0 5px;font:650 1rem var(--ui);color:var(--forest-900);line-height:1.3}
.schedule-group__head p{margin:0;max-width:60ch;color:var(--muted);font-size:.82rem;line-height:1.45;text-wrap:pretty}
