#discoverySearch #searchForm{grid-template-columns:minmax(150px,1.3fr) minmax(140px,.85fr) auto auto}
#mapSearch{background:#fff7dc;color:#132b4d;border:1px solid #c79824;border-radius:8px;font-weight:750;padding:8px 15px;cursor:pointer}
#mapSearch{display:inline-flex;align-items:center;justify-content:center;gap:8px}
#mapSearch img{width:28px;height:28px;flex:none}
#restaurantMapPanel{border-top:1px solid #cad6e2;padding:18px;background:white;color:#132b4d}
#restaurantMapPanel[hidden]{display:none}
.restaurant-map-header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}
.restaurant-map-header h2{font-size:1.3rem;margin:0}
.restaurant-map-count,.restaurant-map-note,.restaurant-map-status{margin:5px 0;color:#43566b;font-size:.85rem}
.restaurant-map-grid{display:grid;grid-template-columns:minmax(230px,32%) minmax(0,1fr);gap:12px}
.restaurant-map-stage{grid-column:2;grid-row:1;position:relative;min-width:0}
.restaurant-geo{height:445px;border-radius:10px;background:#e6eced;isolation:isolate}
.restaurant-recenter{position:absolute;z-index:2;bottom:22px;left:10px;background:white;border:1px solid #8c9aa7;color:#132b4d;font-weight:700;border-radius:7px;min-height:44px;padding:8px 12px}
.restaurant-map-list{grid-column:1;grid-row:1;overflow:auto;max-height:445px;border:1px solid #d6dee7;border-radius:8px}
.restaurant-map-list details{padding:0 12px;border-bottom:1px solid #dae0e5}
.restaurant-map-list summary{padding:13px 0;cursor:pointer;font-weight:700;font-size:.85rem;min-height:44px}
.restaurant-map-list small,.restaurant-map-meal small{display:block;color:#546476;font-size:.78rem}
.restaurant-map-meal{padding:8px 0}.restaurant-map-meal a{font-weight:700;color:#164da5}
.restaurant-pin{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#163450;color:#fff;border:2px solid white;box-shadow:0 1px 4px #19304b70;font:bold 13px system-ui}
.restaurant-map-origin{background:#ffda6a;color:#112d46;font-weight:800}
.restaurant-map-popup .restaurant-map-meal{padding:4px 0}.restaurant-map-note{margin:12px 0 0}
@media(max-width:960px){#discoverySearch #searchForm{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#restaurantMapPanel{padding:12px}.restaurant-map-grid{display:flex;flex-direction:column}.restaurant-geo{height:clamp(280px,45svh,410px)}.restaurant-map-list{max-height:250px}.restaurant-map-header h2{font-size:1.1rem}.restaurant-map-header .outline{white-space:nowrap}.restaurant-map-count{font-size:.78rem}}
#searchForm .find-compact { display: none; }

/* Align trip types, fields and view controls on the same two-column grid. */
@media (max-width: 640px) {
  #discoverySearch .trip-chooser,
  #discoverySearch #searchForm,
  #discoverySearch .trip-guide-links { padding-inline: 16px; }
  #discoverySearch .trip-chooser h2 { text-align: center; }
  #discoverySearch .trip-chooser .segmented,
  #discoverySearch #searchForm { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 10px; }
  #discoverySearch #searchForm { row-gap: 14px; padding-block: 16px; }
  #discoverySearch #searchForm > label,
  #discoverySearch #searchForm > button { grid-column: auto; width: 100%; }
  #discoverySearch #searchForm > label { font-size: .82rem; }
  #discoverySearch #searchForm input:not([type=hidden]),
  #discoverySearch #searchForm select { width: 100%; min-width: 0; font-size: max(16px, .9rem); }
  #discoverySearch #searchForm > button { padding-inline: 8px; font-size: .89rem; white-space: normal; }
  #discoverySearch #mapSearch { background: #fff5d7; color: #132b4d; gap: 6px; }
  #discoverySearch #mapSearch img { width: 21px; height: 21px; }
  #searchForm .find-wide { display: none; }
  #searchForm .find-compact { display: inline; }
}
@media (max-width: 300px) {
  #discoverySearch #searchForm { grid-template-columns: minmax(0, 1fr); }
}
