.bst-block{box-sizing:border-box;min-width:0}.bst-block *{box-sizing:border-box}.bst-block a{ text-underline-offset:.2em}.bst-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-bottom:1.5rem}.bst-filters label{display:grid;gap:.4rem;flex:1 1 150px;font-size:.85em;font-weight:600}.bst-filters input,.bst-filters select,.bst-selector select{font:inherit;padding:.8rem;border:1px solid #a8b3ab;border-radius:6px;background:#fff;color:#152d24;min-width:0;width:100%}.bst-filters button,.bst-pagination button{font:inherit;border:1px solid currentColor;border-radius:6px;padding:.8rem 1rem;cursor:pointer;background:#fff;color:#17392d}.bst-filters button[type=submit]{background:#17392d;color:white}.bst-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);align-items:start}.bst-map{min-height:420px;width:100%;border-radius:12px;background:#edf2ed;isolation:isolate;overflow:hidden}.bst-map-message{padding:1.5rem}.bst-results{min-width:0;display:grid;gap:1rem}.bst-card{border:1px solid #d5ded8;border-radius:12px;padding:1.5rem;background:var(--bst-card-background,#fff);color:var(--bst-card-color,#19382d);box-shadow:0 3px 16px #183b2410}.bst-card h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;margin:.2rem 0 .8rem}.bst-card p{margin:.5rem 0}.bst-card img{width:100%;height:160px;object-fit:cover;border-radius:8px}.bst-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.bst-card-actions{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid #dde4df;margin-top:1rem;padding-top:1rem}.bst-card-actions a{font-weight:600}.bst-card.is-selected{outline:3px solid #00805e;outline-offset:2px}.bst-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.bst-contact-grid h2,.bst-hours h2{font-size:1.6rem}.bst-contact-grid address{font-style:normal}.bst-hours dl{margin:0}.bst-hours dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #d9e1dc}.bst-hours dd{margin:0}.bst-actions{display:flex;gap:1rem;flex-wrap:wrap}.bst-selector label{display:block;margin-bottom:.6rem;font-weight:600}.bst-navigation ul{list-style:none;padding:0;display:flex;gap:.75rem 1.5rem;flex-wrap:wrap}.bst-pagination{display:flex;gap:1rem;align-items:center;margin-top:1.5rem}.bst-city-anchor{scroll-margin-top:140px}.bst-city-anchor:empty{height:1px}.bst-list .bst-directory-layout{grid-template-columns:1fr}.bst-count{display:inline}.bst-status{text-transform:capitalize}.bst-block :focus-visible{outline:3px solid #007e61;outline-offset:4px}.bst-result-status{font-weight:600}.bst-map .leaflet-control-attribution{font-size:11px}.bst-block[hidden]{display:none}

.bst-directory .bst-results{max-height:650px;overflow-y:auto;padding:4px;scrollbar-gutter:stable}.bst-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.bst-gallery img{max-width:100%;height:auto;border-radius:12px}.bst-card-actions button{font:inherit;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;padding:0}.bst-tile-error{position:absolute;z-index:1000;bottom:1.5rem;left:1rem;right:1rem;background:white;color:#19382d;padding:.5rem;border-radius:4px}

.bst-map-block{min-height:420px}.bst-map-block>.bst-map{min-height:inherit}
.bst-region-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:24px; }
.bst-region-group h3 { margin:0 0 16px; }
.bst-region-group ul { list-style:none; margin:0; padding:0; }
.bst-region-group a { display:inline-flex; flex-wrap:wrap; gap:6px; min-height:44px; align-items:center; }
.bst-availability-badge { display:inline-block; flex-shrink:0; padding:3px 8px; border-radius:999px; background:#fff0cc; color:#664500; font-size:12px; font-weight:600; line-height:1.5; white-space:nowrap; text-transform:none; }
.bst-availability-badge--temporarily-closed,.bst-availability-badge--closed { background:#f6e4e4; color:#762626; }
.bst-pagination { display:flex; flex-wrap:wrap; gap:8px; margin-block:24px; }
.bst-pagination :is(a,button) { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; padding:8px 12px; border-radius:4px; }
.bst-pagination [aria-current=page] { font-weight:700; text-decoration:underline; }
.bst-directory-root[aria-busy=true] { opacity:.65; }
.bst-region-group :focus-visible,.bst-pagination :focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.bst-actions { display:flex; flex-wrap:wrap; gap:12px; }
.bst-actions p { flex-basis:100%; }
/* Legacy city destinations remain measurable scroll targets between result pages. */
.bst-city-anchor { display:block; width:1px; height:1px; scroll-margin-top:160px; }

/* Map and summary remain usable independently; dialogs are outside Leaflet's clipped canvas. */
.bst-map-shell{min-width:0;position:relative}.bst-map-muted .leaflet-tile-pane{filter:grayscale(1)}
.bst-map-block{min-height:420px}.bst-map-block>.bst-map-shell,.bst-map-block>.bst-map-shell>.bst-map{min-height:inherit}
.bst-map-alternative{display:grid;gap:1rem;margin-block-start:1rem;min-width:0}
.bst-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;color:#111;background:#fff}
.bst-map .leaflet-control-attribution{max-width:100%;font:12px/1.5 sans-serif;color:#111;background:#fff;padding:4px 8px;white-space:normal}
.bst-map .leaflet-control-attribution a{color:#111;text-decoration:underline}
.bst-map-pin{background:none;border:0;cursor:pointer}.bst-map-pin svg{display:block;width:44px;height:44px;filter:drop-shadow(0 1px 2px #0008)}
.bst-map-pin:hover{filter:brightness(1.15)}
.bst-map :focus-visible,.bst-map-alternative :focus-visible,.bst-directory-root :focus-visible,.bst-location-dialog :focus-visible{outline:3px solid #111;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.bst-map-pin:focus-visible{border-radius:50%;z-index:10000!important}
.bst-card-actions button{font:inherit;cursor:pointer;min-height:44px;padding:8px 14px;border:1px solid currentColor;border-radius:6px;background:#fff;color:#111}
.bst-location-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:640px;max-height:calc(100dvh - 32px);padding:24px;border:1px solid #777;border-radius:12px;background:#fff;color:#111;overflow:auto;overscroll-behavior:contain;margin:auto;line-height:1.6}
.bst-location-dialog::backdrop{background:rgb(0 0 0 / .65)}
.bst-location-dialog .bst-dialog-dismiss{display:block;margin-inline-start:auto;min-width:44px;min-height:44px;padding:8px 12px;font:inherit;background:#fff;color:#111;border:1px solid currentColor;border-radius:6px;cursor:pointer}
.bst-dialog-body{margin-top:12px;overflow-wrap:anywhere;min-width:0}
.bst-dialog-body .wp-block-group{min-width:0}.bst-modal-field{margin-block:12px;min-width:0}
.bst-modal-field--name{font-size:1.8rem;line-height:1.2}.bst-modal-name{font-size:inherit;line-height:inherit;margin:0}
.bst-modal-field address{font-style:normal}.bst-modal-field h3{font-size:1.15em;margin-block:0 12px}
.bst-modal-hours{margin:0}.bst-modal-hours>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 16px}.bst-modal-hours dd{margin:0}.bst-modal-timezone{font-size:.875em}
.bst-modal-field .wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:normal;text-align:center;font:inherit;text-decoration:none;cursor:pointer}
.bst-dialog-body a:not(.wp-element-button){color:inherit;text-decoration:underline}.bst-modal-close{background:#fff!important;color:#111!important;border:2px solid #111!important}
@media (prefers-reduced-motion:reduce){.bst-map-shell *,.bst-map-alternative *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media (forced-colors:active){.bst-map-pin svg{forced-color-adjust:none}.bst-map-pin svg path{fill:CanvasText;stroke:Canvas}.bst-map-pin svg circle{fill:Canvas;stroke:CanvasText}.bst-map :focus-visible,.bst-location-dialog :focus-visible{outline-color:Highlight;box-shadow:none}.bst-location-dialog{border:2px solid CanvasText}}
.bst-location-choices{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px}
.bst-location-choices button{display:block;width:100%;min-height:44px;padding:12px 16px;border:1px solid #54595f;border-radius:6px;background:#fff;color:#111;font:inherit;text-align:left;cursor:pointer}
.bst-location-choices button:hover{background:#f1f2f3}.bst-map{scroll-margin-top:180px}
/* Reflect native block styles on semantic content nested in a dynamic field wrapper. */
.bst-modal-field.has-text-color :is(a,button,h2,h3){color:inherit!important}
.bst-modal-field.has-background .wp-element-button{background:inherit!important}
.bst-modal-preview-note{font-size:14px;padding:12px;border:1px dashed #777;color:#54595f}
.editor-styles-wrapper .is-root-container:has([data-type="beanstalk-locations/modal-field"]){max-width:640px!important;margin:32px auto!important;padding:24px;background:#fff;border-radius:12px}
@media (forced-colors:active){.bst-map-pin svg text{fill:CanvasText}}

/* Native list is an enhancement: these bounds apply only after successful initialization. */
.bst-directory-root.bst-list-ready .bst-directory-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:stretch;height:clamp(560px,75svh,840px);gap:24px}
.bst-directory-root.bst-list-ready .bst-map-shell{height:100%;min-width:0;min-height:0}
.bst-directory-root.bst-list-ready .bst-map{height:100%;min-height:0}
.bst-list-panel{min-width:0}
.bst-directory-root.bst-list-ready .bst-list-panel{display:flex;flex-direction:column;min-height:0;gap:8px}
.bst-directory-root.bst-list-ready .bst-results{display:flex;flex-direction:column;gap:16px;position:relative;min-width:0;min-height:0;height:100%;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;padding:6px;margin:0;flex:1}
.bst-directory-root.bst-list-ready .bst-card{cursor:pointer}
.bst-directory-root .bst-card-select{display:block;text-align:left;width:100%;font:inherit;font-weight:inherit;color:inherit;background:none;border:0;border-radius:0;padding:4px 0;min-height:44px;cursor:pointer}
.bst-directory-root .bst-card-select:hover{text-decoration:underline;text-underline-offset:.2em}
.bst-map-pin.is-selected{filter:drop-shadow(0 0 3px currentColor)}
.bst-directory-root .bst-pagination[hidden]{display:none}
