/* Delivery is the primary journey. The entry selector reveals one panel at a time.
   Keep natural scrolling for phones and zoom; never clip expanded districts. */
.order-page .wrap { max-width:1120px; margin:auto; padding:0 32px 12px; }
.order-header { height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.order-logo { width:180px; height:84px; object-fit:cover; }
.order-nav a { display:flex; align-items:center; min-height:44px; font-size:14px; font-weight:700; }
.order-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.order-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:40px; align-items:start; }
.order-intro .eyebrow { font-size:10px; margin-bottom:10px; }
.order-intro h1 { font-size:56px; max-width:300px; }
.order-photo { height:300px; margin-top:24px; overflow:hidden; }
.order-photo img { width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.order-chooser { min-width:0; }
.entry-selector { display:grid; grid-template-columns:1.3fr 1fr; gap:10px; margin-bottom:14px; }
.entry-selector a { display:flex; align-items:center; justify-content:center; min-height:56px; padding:10px 16px; border:1px solid var(--ink); font:24px/1.1 var(--font-display); text-transform:uppercase; }
.entry-selector a[aria-current] { background:var(--ink); color:var(--cream); }
.entry-selector a:hover { text-decoration:underline; text-underline-offset:4px; }
.delivery-panel { background:var(--ink); color:var(--cream); padding:22px 24px 18px; scroll-margin-top:16px; }
.panel-intro { font-size:14px; margin-bottom:14px; }
.delivery-district { border-top:1px solid var(--accent); transition:opacity 160ms ease; }
/* Focus ad arrivals on the open district without blocking other choices. */
#delivery-list:has([open]) > :where(.delivery-district:not([open])) { opacity:.60; }
#delivery-list .delivery-district:focus-within { opacity:1; }
@media (hover:hover) {
  #delivery-list .delivery-district:hover { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  .delivery-district { transition:none; }
}
.delivery-district:last-child { border-bottom:1px solid var(--accent); }
.delivery-district summary { min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }
.delivery-district summary::-webkit-details-marker { display:none; }
.district-name { font:25px/1.1 var(--font-display); text-transform:uppercase; }
.district-hint { font-size:11px; }
.delivery-district[open] .district-name { color:var(--accent); }
.delivery-district[open] .district-hint { visibility:hidden; }
.delivery-district summary:focus-visible { outline-offset:2px; }
.apps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 0 14px; }
.app { min-height:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:8px; background:white; color:var(--ink); }
.app img { width:128px; max-width:100%; height:28px; object-fit:contain; }
.app span { font-size:11px; font-weight:700; }
.app:hover { outline:2px solid var(--cream); outline-offset:2px; }
.app:focus-visible { outline-color:var(--cream); }
.app[aria-disabled="true"] { opacity:.5; cursor:default; }
.delivery-note { margin-top:12px; font-size:11px; }
.order-fallback { font-size:14px; margin-top:16px; }
.order-fallback a { text-decoration:underline; }
.visit-panel { padding:20px 24px; border:1px solid var(--line); scroll-margin-top:16px; }
/* Explicitly respect hidden even if a future panel layout uses display:flex/grid. */
.order-chooser section[hidden] { display:none; }
.visit-heading { padding-bottom:16px; }
.visit-heading .eyebrow { font-size:10px; margin-bottom:6px; }
.visit-heading h2 { font-size:36px; }
.store { border-top:1px solid var(--line); padding:16px 0; }
.store-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.store h3 { font-size:27px; }
.status { font-size:11px; font-weight:700; }
.addr { font-size:14px; font-weight:600; margin-top:8px; }
.hours { font:700 11px/1.5 var(--font-mono); margin-top:5px; }
.maps { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; margin-top:12px; border:1px solid var(--ink); font-size:13px; font-weight:700; }
.maps:hover { background:var(--ink); color:var(--cream); }
.order-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:14px; min-height:44px; font-size:11px; }
.order-footer a { display:flex; align-items:center; min-height:44px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
@media (min-width:901px) and (max-height:680px) {
  .order-header { height:72px; }
  .order-logo { height:72px; }
  .order-intro h1 { font-size:48px; }
  .order-photo { height:260px; margin-top:18px; }
  .entry-selector { margin-bottom:12px; }
  .entry-selector a { min-height:48px; }
  .delivery-panel { padding:16px 22px; }
  .panel-intro { margin-bottom:10px; }
  .delivery-district summary { min-height:44px; }
  .apps { padding-bottom:10px; }
  .app { min-height:68px; gap:4px; }
  .visit-panel { padding:16px 22px; }
  .visit-heading { padding-bottom:8px; }
  .visit-heading h2 { font-size:32px; }
  .store { padding:8px 0; }
  .addr { margin-top:6px; }
  .maps { margin-top:6px; }
  .order-footer { margin-top:10px; }
}
@media (max-width:900px) {
  .order-page .wrap { max-width:680px; padding:0 24px 20px; }
  .order-header { height:80px; }
  .order-layout { display:block; }
  .order-intro { margin-bottom:24px; }
  .order-intro .eyebrow { display:none; }
  .order-intro h1 { font-size:44px; max-width:none; }
  .order-photo { display:none; }
}
@media (max-width:600px) {
  .order-page .wrap { padding:0 18px 18px; }
  .order-logo { margin-left:-18px; }
  .order-intro { margin-bottom:20px; }
  .order-intro h1 { font-size:42px; }
  .entry-selector { gap:8px; margin-bottom:12px; }
  .entry-selector a { min-height:54px; font-size:23px; }
  .delivery-panel { padding:18px 16px; }
  .panel-intro { font-size:13px; margin-bottom:12px; }
  .delivery-district summary { min-height:54px; }
  .district-name { font-size:25px; }
  .apps { gap:6px; }
  .app { padding:8px 5px; min-height:72px; }
  .app img { height:24px; }
  .app span { font-size:10px; }
  .delivery-note { font-size:10px; }
  .visit-panel { padding:20px 16px; }
  .visit-heading h2 { font-size:32px; }
  .store h3 { font-size:25px; }
  .status { font-size:10px; }
  .addr { font-size:14px; }
  .maps { min-height:48px; }
  .order-footer { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-top:22px; padding-top:14px; border-top:1px solid var(--line); }
  .order-footer span { grid-column:1/-1; }
  .order-footer a:last-child { justify-self:end; }
}
