.site-header .header-row { align-items:center; }
.site-header .nav[data-guide-filters] {
  display:flex;
  flex:1 1 auto;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  min-width:0;
  padding:8px 0;
}
.guide-filter-button, .place-tool, .save-place, .map-place-option {
  border:1px solid var(--ink);
  border-radius:0;
  padding:7px 9px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font:700 10px/1.2 var(--mono);
  letter-spacing:.01em;
}
.guide-filter-button { white-space:nowrap; }
.guide-filter-button[aria-pressed="true"], .place-tool[aria-pressed="true"], .map-place-option[aria-pressed="true"] {
  background:var(--forest);
  color:var(--paper);
}
.guide-filter-button:hover, .place-tool:hover, .save-place:hover, .map-place-option:hover {
  border-color:var(--clay);
  color:var(--clay);
}
.guide-filter-button[aria-pressed="true"]:hover, .place-tool[aria-pressed="true"]:hover, .map-place-option[aria-pressed="true"]:hover { color:var(--paper); }
.guide-filter-button:focus-visible, .place-tool:focus-visible, .save-place:focus-visible, .map-place-option:focus-visible {
  outline:3px solid var(--sun);
  outline-offset:2px;
}
.guide-filter-button--saved { border-color:var(--clay); }
.guide-filter-results {
  margin:18px auto;
  padding:24px max(28px, calc((100% - 1170px) / 2 + 28px));
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.guide-filter-results__head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.guide-filter-results__head h2 { margin:3px 0 0; font:600 32px/1.1 var(--display); letter-spacing:-.04em; }
.guide-filter-results__count {
  flex:0 0 auto;
  padding:4px 8px;
  color:var(--forest);
  background:#e7ead9;
  font:700 11px var(--mono);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.guide-result-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; }
.place-tools-status { color:var(--muted); font-size:12px; }
.place-tools-error { color:#8a301d; font-weight:700; }
.guide-filter-results .tiles { margin-top:18px; grid-template-columns:repeat(3, minmax(0, 1fr)); }
.guide-filter-results .tiles > [data-place-card] { grid-column:auto; min-width:0; }
.guide-filter-results__empty { margin:18px 0 0; color:var(--muted); font-size:13px; }
.guide-filter-results--map .tiles, .guide-filter-results--map .guide-filter-results__empty { display:none; }
.place-map-panel { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.place-map-panel[hidden], [data-place-card][hidden], main > section[hidden] { display:none !important; }
.place-map-layout { display:grid; grid-template-columns:minmax(185px, .45fr) minmax(0, 1fr); gap:16px; }
.map-place-list { display:flex; flex-direction:column; align-items:stretch; gap:7px; max-height:300px; overflow:auto; padding-right:3px; }
.map-place-option { text-align:left; }
.map-place-option small { display:block; margin-top:3px; color:inherit; opacity:.78; font:400 10px/1.3 var(--body); }
.place-map-frame { display:block; width:100%; min-height:300px; border:1px solid var(--line); background:#e7ead9; }
.selected-place-name { margin:0 0 8px; font:600 18px/1.2 var(--display); }
.selected-place-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.selected-place-actions .map-link { font-size:11px; color:var(--forest); }
.save-place { margin-top:15px; align-self:flex-start; }

@media (max-width: 980px) {
  .guide-filter-results .tiles { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .site-header .header-row { flex-wrap:wrap; gap:7px 14px; padding-top:8px; padding-bottom:8px; }
  .site-header .nav[data-guide-filters] { order:3; flex-basis:100%; justify-content:flex-start; }
}
@media (max-width: 760px) {
  .guide-filter-results .tiles { grid-template-columns:minmax(0, 1fr); }
  .site-header .header-row { padding-left:14px; padding-right:14px; }
  .site-header .nav[data-guide-filters] { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .guide-filter-button { flex:0 0 auto; }
  .guide-filter-results { margin-top:0; padding:18px 15px; }
  .guide-filter-results__head { display:block; }
  .guide-filter-results__count { display:inline-block; margin-top:10px; }
  .place-map-layout { grid-template-columns:1fr; }
  .map-place-list { max-height:190px; }
  .place-map-frame { min-height:260px; }
}
@media (max-width: 390px) {
  .site-header .brand { font-size:20px; }
  .site-header .header-actions { max-width:100%; }
  .site-header .action-btn { padding:8px; }
}
@media print {
  .guide-filter-results, .save-place { display:none !important; }
  main > section[hidden] { display:block !important; }
  [data-place-card][hidden] { display:flex !important; }
}