.pb-home #place-detail .pb-detail-top > div { min-width: 0; flex: 1; }
.pb-home #map-brewery-beers { min-width: 0; }
.pb-home #pb-detail-beer-slot #map-brewery-beers { padding: 0; margin: 14px 0; max-width: 100%; }
.pb-home #map-brewery-beers .pb-section-head { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.pb-home #map-brewery-beers h2 { font: 700 18px/1.3 Arial, sans-serif; margin: 0; color: #183c52; }
.pb-home #map-brewery-beers #map-brewery-beers-note { font-size: 11px; line-height: 1.4; margin: 4px 0; }
.pb-home #map-brewery-beer-track { display: flex !important; gap: 10px; }
.pb-home #map-brewery-beer-track > .pb-beer-card { flex: 0 0 calc((100% - 30px) / 4); min-width: 0; }
.pb-home #map-brewery-beer-track .pb-beer-card > a:first-child { display: block; height: 110px; background: #f6f5f1; }
.pb-home #map-brewery-beer-track .pb-beer-card > a > img { width: 100%; height: 110px; object-fit: contain; display: block; }
.pb-home #map-brewery-beer-track .pb-beer-copy { padding: 6px; }
.pb-home #map-brewery-beer-track h3 { font: 700 12px/1.3 Arial, sans-serif; margin: 0 0 3px; overflow-wrap: anywhere; }
.pb-home #map-brewery-beer-track .pb-beer-copy p { font-size: 10px; line-height: 1.35; margin: 3px 0; }
.pb-home #map-brewery-beer-track .pb-beer-copy > p:first-of-type { display: none; }
.pb-home #map-brewery-beer-track .pb-beer-copy > a { font-size: 10px; padding: 2px 0; min-height: 0; border: 0; background: none; color: var(--red); }
.pb-home #map-brewery-beer-controls { display: flex; gap: 5px; }
.pb-home #map-brewery-beer-controls button { font-size: 11px; min-height: 28px; padding: 4px 7px; }
.pb-home #map-brewery-beer-page { font-size: 10px; margin: 5px 0; }
.pb-home #place-detail .pb-detail-top > img[src*='/place-cards/'] {
  height: auto !important;
  aspect-ratio: 8 / 5;
  object-fit: contain !important;
}
@media (max-width: 760px) {
  .pb-home #map-brewery-beer-track > .pb-beer-card { flex-basis: calc((100% - 20px) / 3); }
  .pb-home #map-brewery-beer-track .pb-beer-card > a:first-child,
  .pb-home #map-brewery-beer-track .pb-beer-card > a > img { height: 90px; }
  .pb-home #explore .pb-search-panel.pb-mobile-filter-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 8px 14px;
  }
  .pb-mobile-filter { min-width: 0; border: 1px solid #c7d3df; border-radius: 8px; background: #fff; }
  .pb-mobile-filter[open] { grid-column: auto; }
  .pb-mobile-filter > summary {
    display: grid; grid-template-columns: minmax(0, 1fr) 10px;
    align-items: center;
    gap: 3px; padding: 5px 6px; min-height: 30px;
    box-sizing: border-box; list-style: none; cursor: pointer; color: #142d4e;
  }
  .pb-mobile-filter > summary::-webkit-details-marker { display: none; }
  .pb-mobile-filter > summary::after { content: '⌄'; grid-column: 2; grid-row: 1; align-self: center; font-size: 14px; line-height: 1; }
  .pb-mobile-filter[open] > summary::after { content: '⌃'; }
  .pb-mobile-filter > summary:focus-visible { outline: 3px solid #cf9e35; outline-offset: 2px; }
  .pb-mobile-filter-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .pb-mobile-filter-value { grid-column: 1; grid-row: 1; font: 700 11px/1.4 Arial, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pb-home #explore > #back-home {
    margin-top: 3px !important;
    margin-bottom: 3px !important;
    padding-top: 2.5px !important;
    padding-bottom: 2.5px !important;
    min-height: 0 !important;
    color: #1565c0 !important;
  }
  .pb-mobile-filter[open] .pb-mobile-filter-value { white-space: nowrap; }
  .pb-mobile-filter-body { padding: 4px 12px 12px; border-top: 1px solid #e8edf2; }
  .pb-mobile-filter-body > [hidden] { display: none !important; }
  .pb-mobile-filter-body > .pb-modes { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; margin: 8px 0 0; }
  .pb-mobile-filter-body > .pb-modes button { min-height: 44px; flex: 1; }
  .pb-mobile-filter-body > .pb-search-row { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding-top: 10px; }
  .pb-mobile-filter-body .pb-field { width: 100%; min-width: 0; }
  .pb-mobile-filter-body input[type='text'], .pb-mobile-filter-body input:not([type]) { font-size: 16px !important; }
  .pb-mobile-filter-body > .pb-radius { margin: 10px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
  .pb-mobile-filter-body > .pb-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
  .pb-mobile-filter-body .pb-category { min-height: 42px; box-sizing: border-box; }
  .pb-mobile-filter-body #restaurant-filter { margin-top: 10px; }
  .pb-mobile-filter-body #amish-filter { width: 100%; margin-top: 8px; }
  .pb-home .pb-mobile-filter-panel > .pb-statusline { grid-column: 1 / -1; font-size: 11px; line-height: 1.4; }
  .pb-home #explore .pb-mobile-filter-panel { position: relative; overflow: visible; z-index: 30; }
  .pb-mobile-filter { position: static; }
  .pb-mobile-filter[open] > summary { background: #edf3fa; border-radius: 7px; }
  .pb-mobile-filter-body {
    position: absolute; top: 45px; left: 14px; right: 14px; z-index: 100;
    background: white; border: 1px solid #c7d3df; border-radius: 8px;
    box-shadow: 0 6px 18px #142d4e26; padding: 8px;
    max-height: min(340px, 55dvh); overflow-y: auto;
  }
  .pb-mobile-native-filter > summary { display: block; padding: 0; }
  .pb-mobile-native-filter > summary::after { display: none; }
  .pb-mobile-native-select {
    display: block !important; width: 100%; min-width: 0; height: 30px !important;
    min-height: 30px !important; max-height: 30px; box-sizing: border-box;
    border: 0 !important; background-color: transparent !important; border-radius: 7px;
    color: #142d4e; padding: 0 3px !important; margin: 0 !important;
    font: 700 11px/1.4 Arial, sans-serif !important; text-overflow: ellipsis;
  }
  .pb-mobile-filter[data-filter='distance'] .pb-radius > strong,
  .pb-mobile-filter[data-filter='distance'] [data-radius],
  .pb-mobile-filter[data-filter='distance'] #distance-note { display: none !important; }
  .pb-mobile-filter[data-filter='distance'] .pb-radius { margin: 0; }
  .pb-mobile-filter[data-filter='categories'] .pb-categories {
    display: flex; flex-direction: column; gap: 0; margin-top: 0;
  }
  .pb-mobile-filter[data-filter='categories'] .pb-category {
    width: 100%; min-height: 40px; border: 0; border-radius: 0;
    background: white; padding: 8px 10px; justify-content: flex-start;
    font-size: 14px;
  }
  .pb-mobile-filter[data-filter='categories'] .pb-category:has(input:checked) { background: #edf3fa; }
}

/* Compact nearby controls on brewery details. */
.pb-home #place-detail .pb-detail-nearby-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px; flex:0 0 100%; position:relative; min-width:0; }
.pb-home .pb-detail-nearby-menu { min-width:0; }
.pb-home #place-detail .pb-detail-nearby-menu > summary,
.pb-home #place-detail #nearby-brewery-select { display:flex; align-items:center; justify-content:space-between; gap:5px; width:100%; height:40px!important; min-height:40px!important; box-sizing:border-box; border:1px solid var(--line); border-radius:7px; padding:8px 10px!important; background:white; color:var(--ink); font:400 13px/1.2 Arial,sans-serif!important; list-style:none; cursor:pointer; margin:0; }
.pb-home .pb-detail-nearby-menu > summary::-webkit-details-marker { display:none; }
.pb-home .pb-detail-nearby-options { position:absolute; top:46px; left:0; right:0; z-index:100; max-height:340px; overflow-y:auto; padding:8px; border:1px solid #c7d3df; border-radius:8px; background:white; box-shadow:0 6px 18px #142d4e26; }
.pb-home #place-detail .pb-detail-nearby-options h3 { font:700 13px/1.3 Arial,sans-serif; margin:8px 0 3px; padding:5px 8px; color:#183c52; background:#edf3fa; }
.pb-home #place-detail .pb-detail-nearby-options button { display:block; width:100%; min-height:38px!important; border:0; border-radius:0; background:white; padding:8px!important; text-align:left; font:400 13px/1.4 Arial,sans-serif!important; }
.pb-home #place-detail .pb-detail-nearby-options button:hover { background:#f3f6fa; }
.pb-home #place-detail .pb-detail-nearby-options p { margin:4px 8px 10px; font-size:12px; color:#64706c; }

.pb-home .pb-nearby-breweries-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:4px 8px 8px; border-bottom:1px solid #e3e5df; position:sticky; top:-8px; background:white; z-index:1; font-size:13px; }
.pb-home #explore #place-detail #nearby-breweries-map { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px!important; width:40px!important; max-width:40px!important; min-width:40px; height:26px!important; min-height:26px!important; padding:3px 7px!important; border:1px solid #142d4e; border-radius:5px; background:#142d4e; color:white; font:600 11px/1 Arial,sans-serif!important; }
