/* Benson Street visit map — styles scoped to the visit section. */
#visit{background:#f9f8f6;color:#171717;text-align:left;padding:76px 24px;scroll-margin-top:24px}#visit .visit-inner{max-width:1244px;margin:auto}#visit .eyebrow{color:#302b27;margin:0 0 16px;font-size:12px}#visit h2{max-width:850px;margin:0 0 20px}#visit .visit-intro{color:#55514d;max-width:740px;margin:0 0 28px}#visit .visit-links{font-size:15px;color:#55514d;margin:28px 0 0;max-width:850px}#visit p{color:inherit}#visit button,#visit input{font:inherit}#visit button:focus-visible,#visit input:focus-visible,#visit summary:focus-visible{outline:3px solid #302b27;outline-offset:4px}#visit .map-shell{border:1px solid #d8d0c9;background:#ffffff;border-radius:8px;overflow:hidden}#visit .map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #d8d0c9}#visit .map-toolbar h3{font:400 27px/1.2 'Playfair Display',Georgia,serif;margin:0}#visit .map-toolbar p{font-size:13px;margin:5px 0 0;max-width:none;color:#55514d}#visit .map-reset{min-height:44px;padding:9px 15px;border:1px solid #302b27;background:transparent;color:#302b27;border-radius:4px;cursor:pointer;white-space:nowrap}#visit .map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px}#visit .map-stage{position:relative;min-width:0;background:#f2eeeb}#benson-map{height:630px;width:100%}#visit .map-status{position:absolute;top:14px;left:14px;right:58px;z-index:2;background:#ffffff;border:1px solid #d8d0c9;padding:10px 14px;border-radius:4px;font-size:13px;pointer-events:none}#visit .map-status[hidden]{display:none}#visit .shop-panel{min-width:0;border-left:1px solid #d8d0c9;display:flex;flex-direction:column;height:630px}#visit .shop-panel-head{padding:20px 20px 13px;border-bottom:1px solid #d8d0c9}#visit .shop-panel h4{font:400 25px/1.2 'Playfair Display',Georgia,serif;margin:0 0 8px}#visit .shop-panel-head p{font-size:13px;margin:0 0 10px;color:#55514d}#visit .shop-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}#visit .shop-actions button{min-height:38px;border:0;background:transparent;padding:0;color:#302b27;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:13px;font-weight:700}#visit .shop-count{font-size:12px;color:#55514d}#visit .shop-list{overflow-y:auto;overscroll-behavior:contain;list-style:none;padding:0;margin:0;flex:1}#visit .shop-row{display:grid;grid-template-columns:24px 32px minmax(0,1fr);gap:10px;align-items:start;border-bottom:1px solid #e8e2dc;padding:15px 18px}#visit .shop-row.is-selected{background:#f2eeeb}#visit .shop-row input{width:20px;height:20px;margin:7px 0 0;accent-color:#302b27;cursor:pointer}#visit .shop-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#302b27;color:#fff;border-radius:50%;font-size:12px;font-weight:700;margin-top:1px}#visit .shop-row.is-hidden .shop-number{background:#bcae9f}#visit .shop-name{display:block;border:0;background:transparent;text-align:left;font-weight:700;font-size:14px;line-height:1.4;padding:2px 0 4px;color:#302b27;cursor:pointer;min-height:30px}#visit .shop-name:hover{text-decoration:underline}#visit .shop-address{font-size:12px;line-height:1.45;display:block;color:#55514d}#visit .shop-web{display:inline-block;font-size:12px;color:#302b27;margin-top:5px;text-underline-offset:3px}#visit .map-legend{display:flex;flex-wrap:wrap;gap:12px 24px;padding:15px 22px;border-top:1px solid #d8d0c9;font-size:13px}#visit .legend-item{display:flex;align-items:center;gap:8px}#visit .legend-swatch{width:15px;height:15px;flex-shrink:0;background:#548669;border:1px solid #336a47;border-radius:3px}#visit .legend-swatch.weekend{background:#d9a63e;border-color:#986b16}#visit .legend-swatch.shop{background:#302b27;border-color:#302b27;border-radius:50%}#visit .map-note{font-size:12px;line-height:1.6;color:#55514d;margin:0;max-width:none;padding:0 22px 17px}#visit .parking-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}#visit .parking-card{border:1px solid #d8d0c9;border-top:4px solid #548669;padding:19px 20px;border-radius:4px;background:#ffffff}#visit .parking-card.weekend{border-top-color:#c49229}#visit .parking-card h4{font:400 23px/1.2 'Playfair Display',Georgia,serif;margin:0 0 10px}#visit .parking-card p{font-size:14px;color:#55514d;margin:0 0 12px;max-width:none}#visit .parking-card a{font-size:12px;color:#302b27;text-underline-offset:3px}#visit .parking-tag{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:#326046;display:block;margin-bottom:10px}#visit .weekend .parking-tag{color:#795510}#visit .reference-notes{border-top:1px solid #d8d0c9;border-bottom:1px solid #d8d0c9;padding:17px 0}#visit .reference-notes summary{cursor:pointer;color:#302b27;font-weight:700;font-size:14px;min-height:30px;padding:4px 0}#visit .reference-notes p{font-size:13px;color:#55514d;max-width:950px;margin:12px 0 18px}#visit .reference-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px}#visit .reference-grid li{font-size:13px;padding:0 0 12px;border-bottom:1px solid #d8d0c9}#visit .reference-grid strong{display:block;margin-bottom:4px}#visit .reference-grid a{color:#302b27;font-size:12px;margin-left:4px}#visit .benson-pin{width:32px;height:36px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 2px 2px #17171730)}#visit .benson-pin span{position:absolute;top:0;left:0;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#302b27;border:2px solid #ffffff}#visit .benson-pin b{position:absolute;top:4px;left:0;width:30px;color:white;font:700 12px/22px 'DM Sans',Arial,sans-serif;z-index:1;text-align:center}#visit .benson-pin:hover span,#visit .benson-pin:focus-visible span{background:#7b6a59}#visit .parking-label{font:700 11px/1.3 'DM Sans',Arial,sans-serif;background:#eff8ef;color:#28533b;border:1px solid #548669;border-radius:3px;padding:4px 6px;max-width:140px;text-align:center;cursor:pointer;box-shadow:0 1px 3px #0002}#visit .parking-label.weekend{background:#fff4d9;color:#6b4b0e;border-color:#c49229}#visit .maplibregl-popup-content{padding:20px;min-width:230px;background:#ffffff;border-radius:6px;color:#171717;box-shadow:0 5px 24px #17171733}#visit .maplibregl-popup-content h4{font:400 24px/1.15 'Playfair Display',Georgia,serif;margin:0 12px 10px 0}#visit .maplibregl-popup-content p{font:14px/1.5 'DM Sans',Arial,sans-serif;margin:0 0 10px;max-width:none;color:#55514d}#visit .maplibregl-popup-content a{color:#302b27;font:700 14px/1.4 'DM Sans',Arial,sans-serif;text-underline-offset:3px;display:inline-block;min-height:32px}#visit .maplibregl-popup-close-button{font-size:24px;line-height:1;width:34px;height:34px;color:#302b27}#visit .maplibregl-ctrl-attrib{font-size:10px;max-width:100%}#visit .maplibregl-ctrl-attrib a{color:#333}#visit .maplibregl-ctrl button{min-height:36px;width:36px}#visit .maplibregl-ctrl-scale{font-family:'DM Sans',Arial,sans-serif}.map-fallback{padding:16px;background:#ffffff}
@media(max-width:950px){#visit .map-workspace{grid-template-columns:minmax(0,1fr) 300px}#visit .parking-cards{gap:12px}#visit .parking-card{padding:16px}}
@media(max-width:760px){#visit{padding:58px 16px}#visit h2{font-size:39px}#visit .visit-intro{font-size:16px}#visit .map-workspace{display:flex;flex-direction:column}#benson-map{height:430px}#visit .shop-panel{border-left:0;border-top:1px solid #d8d0c9;height:390px}#visit .map-toolbar{padding:16px;gap:10px}#visit .map-toolbar h3{font-size:24px}#visit .map-toolbar p{font-size:12px}#visit .map-reset{font-size:12px;padding:8px 10px}#visit .map-legend{padding:14px 16px;gap:10px 16px;font-size:12px}#visit .map-note{padding:0 16px 16px}#visit .parking-cards{grid-template-columns:1fr;gap:12px}#visit .parking-card{padding:16px 18px}#visit .reference-grid{grid-template-columns:1fr}#visit .parking-label{font-size:10px;max-width:110px}#visit .maplibregl-popup-content{min-width:210px;padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#visit .other-bridal-stores{margin:30px 0;padding:28px 0;border-top:1px solid #d8d0c9;border-bottom:1px solid #d8d0c9}#visit .other-bridal-stores h3{font:400 clamp(28px,3vw,38px)/1.2 'Playfair Display',Georgia,serif;margin:0 0 12px;color:#302b27}#visit .other-bridal-stores p{font-size:15px;color:#55514d;margin:0 0 20px;max-width:760px}#visit .other-bridal-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#visit .other-bridal-grid li{min-width:0}#visit .other-bridal-grid a{display:flex;flex-direction:column;justify-content:center;gap:6px;height:100%;min-height:94px;padding:18px 20px;border:1px solid #d8d0c9;border-radius:4px;background:#ffffff;color:#302b27;text-decoration:none;overflow-wrap:anywhere}#visit .other-bridal-grid a:hover{background:#f2eeeb;border-color:#302b27}#visit .other-bridal-grid a:focus-visible{outline:3px solid #302b27;outline-offset:3px}#visit .other-bridal-name{font-size:16px;font-weight:700;line-height:1.4}#visit .other-bridal-address{font-size:13px;color:#55514d}#visit p.other-bridal-source{font-size:13px;margin:18px 0 0}#visit .other-bridal-source a{color:#302b27;text-underline-offset:3px}@media(max-width:760px){#visit .other-bridal-grid{grid-template-columns:1fr}#visit .other-bridal-stores{padding:24px 0}#visit .other-bridal-grid a{padding:16px;min-height:86px}}
