/* Search preferences belong beside the brief, not inside a hidden filter drawer. */
.discovery-filters{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line,#e5e0e5)}
.discovery-filters label{display:grid;gap:7px;font-size:12px;font-weight:650;color:#635768}
.discovery-filters select{width:100%;min-width:0;height:46px;background:#fff;border:1px solid #d8d0db;border-radius:12px;padding:0 30px 0 12px;font:inherit;font-size:14px;color:#302239}
.preference-hint{font-size:12px;color:#706575;margin:9px 0 0}
.results-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sort-control{display:flex;align-items:center;gap:8px;font-size:12px;color:#65576c}
.sort-control select{max-width:235px;border:1px solid #ded6e1;border-radius:10px;background:#fff;padding:10px 30px 10px 12px;color:#302239;font:inherit;font-size:13px}
.venue-character{font-size:14px;line-height:1.55;color:#65576b;margin:9px 0 12px;max-width:58ch}
.atmosphere-pill{background:#f0ecf4;color:#65516f;border:1px solid #e3dce9}
.atmosphere-pill.preferred{background:#e9f2ea;color:#2a613e;border-color:#b9d3bf}
.atmosphere-match{display:flex;gap:6px;align-items:center;color:#326443;font-size:12px;font-weight:650;margin:4px 0 12px}
.venue-character-detail{padding:20px 26px 0}.character-source{font-size:12px;color:#726478;margin-bottom:12px}.character-source summary{cursor:pointer}.character-source p{max-width:70ch;line-height:1.6}
.discovery-map{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.65fr);gap:22px;align-items:start;width:100%}
.discovery-map .map-list{max-height:790px;overflow:auto;padding:2px 7px 2px 2px;scrollbar-width:thin}
.discovery-map .map-item{border:1px solid #e1d9e5;border-radius:16px;background:#fff;padding:12px;margin-bottom:10px;transition:border-color .2s,background-color .2s}
.discovery-map .map-item.active{border-color:#695078;background:#f4eff7;box-shadow:0 0 0 1px #695078}
.discovery-map .map-select{display:flex;align-items:center;gap:10px;width:100%;padding:0;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:8px}
.discovery-map .map-select img{width:58px;height:72px;object-fit:cover;border-radius:9px;flex-shrink:0}.discovery-map .map-select>.map-index{display:grid;place-items:center;min-width:23px;flex:0 0 23px;height:23px;background:#302239;color:white;border-radius:50%;font-size:11px}
.map-item-copy{display:grid;gap:4px;min-width:0}.map-item-copy strong{font-size:16px}.map-item-copy small{font-size:11px;line-height:1.4}.map-price{font-size:15px;font-weight:650;margin-top:3px}.discovery-map .map-item .rating{margin:10px 0 0}.discovery-map .map-item .fit-label{margin:8px 0 0;font-size:11px}.discovery-map .map-item .atmosphere-match{margin:7px 0 0}
.discovery-map .map-stage{position:sticky;top:95px;min-width:0;background:transparent;border:0;overflow:visible}
.discovery-map .map-frame{height:440px;min-height:0;position:relative;border:1px solid #ded5e4;border-radius:20px;overflow:hidden;background:#eeebf0}
.venue-map-canvas{height:100%;width:100%;z-index:1;min-height:300px;font-family:inherit!important}
.venue-map-canvas .ol-attribution{font-size:10px;background:rgba(255,255,255,.95)}
.venue-map-canvas .ol-attribution a{color:#49375c}.venue-map-canvas .ol-zoom button{color:#302239;width:34px;height:34px;line-height:34px}
.venue-pin{background:transparent;border:0;width:36px;height:42px;padding:0;cursor:pointer}.venue-pin span{display:grid;place-items:center;width:36px;height:36px;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:#fff;border:2px solid #44314f;color:#302239;box-shadow:0 3px 8px #30223933;font:700 14px system-ui}.venue-pin span::first-letter{transform:rotate(45deg)}
.venue-pin span{border-radius:50%;transform:none}.venue-pin:after{content:'';position:absolute;bottom:1px;left:13px;width:10px;height:10px;background:#fff;border-right:2px solid #44314f;border-bottom:2px solid #44314f;transform:rotate(45deg);z-index:-1}
.venue-pin.is-selected span,.venue-pin.is-selected:after{background:#50385e;color:#fff;border-color:#50385e}.venue-pin:focus{outline:3px solid #cb91c5;outline-offset:4px;border-radius:50%}
.map-fit{position:absolute;top:12px;right:12px;z-index:500;border:1px solid #d8d0de;border-radius:10px;background:#fff;padding:11px 13px;font:inherit;font-size:12px;font-weight:600;color:#302239;box-shadow:0 2px 10px #30223915;cursor:pointer}
.map-status{position:absolute;z-index:510;bottom:28px;left:12px;right:12px;background:#fff;padding:12px 15px;border-radius:10px;border:1px solid #ded5e4;font-size:12px;line-height:1.5;box-shadow:0 2px 10px #30223915}
.map-precision{font-size:11px;line-height:1.5;color:#716379;margin:8px 4px 15px}
.discovery-map .map-selection{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px;border:1px solid #e0d6e5;border-radius:18px;background:#fff;align-items:start}
.map-selection-copy{min-width:0}.map-selection-copy>strong{display:block;font-size:22px;margin:7px 0}.map-selection-copy .pills{margin-top:12px}.map-selection-copy .venue-character{font-size:12px}.map-selection-action{display:grid;gap:8px;max-width:200px;text-align:right}.map-total{font-size:21px}.map-selection-action small{font-size:11px;color:#726478;line-height:1.5}.map-selection-action button{margin-top:4px;font-size:12px;padding:12px}.map-consent p{max-width:45ch;margin:12px auto 20px;line-height:1.7}.discovery-map .map-consent{padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}
@media(max-width:900px){.discovery-map{grid-template-columns:minmax(240px,.75fr) minmax(0,1fr);gap:15px}.discovery-map .map-selection{grid-template-columns:1fr}.map-selection-action{max-width:none;text-align:left;grid-template-columns:1fr 1fr}.map-selection-action strong,.map-selection-action small{grid-column:1/-1}.discovery-map .map-frame{height:390px}.discovery-map .map-select img{display:none}.results-bar{gap:14px;align-items:flex-start}.results-controls{justify-content:flex-end;gap:10px}.sort-control>span{display:none}}
@media(max-width:620px){.discovery-filters{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.discovery-filters label:last-child{grid-column:1/-1}.discovery-filters select{font-size:13px}.preference-hint{line-height:1.5}.results-bar{flex-wrap:wrap}.results-controls{width:100%;justify-content:space-between}.sort-control select{max-width:210px;font-size:12px}.discovery-map{grid-template-columns:1fr}.discovery-map .map-stage{position:static;order:-1}.discovery-map .map-frame{height:350px;border-radius:15px}.discovery-map .map-list{max-height:none;overflow:visible;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.discovery-map .map-item{margin:0;padding:12px}.discovery-map .map-select{align-items:flex-start;gap:7px}.map-item-copy strong{font-size:14px}.discovery-map .map-select>.map-index{min-width:20px;height:20px;font-size:10px}.map-selection-copy>strong{font-size:20px}.map-selection-copy .venue-character{margin-bottom:8px}.map-selection-action .btn{font-size:12px}.venue-character-detail{padding:16px 18px 0}.map-consent h2{font-size:24px}.discovery-map .map-consent{padding:22px}.map-consent p{font-size:13px}}
@media(max-width:360px){.sort-control select{max-width:175px}.discovery-map .map-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.discovery-map *{transition:none!important;animation:none!important}}

.occasion-options{background:#f1edf4;border-color:#e0d7e5}.occasion-options button[aria-pressed=true]{background:#50385e}.occasion-options button:hover:not([aria-pressed=true]){background:#e6deec;color:#50385e}

.venue-map-canvas .ol-zoom{top:12px;left:12px}.venue-map-canvas .ol-zoom button{background:#fff;color:#302239;font-size:22px;border:1px solid #d5cddd;border-radius:7px;width:34px;height:34px}.venue-map-canvas .ol-attribution{max-width:100%;right:0;bottom:0;background:rgba(255,255,255,.95);border-radius:0;font-size:9px}.venue-map-canvas .ol-attribution ul{font-size:9px;color:#302239}.venue-map-canvas .ol-attribution li{white-space:normal}.venue-pin.is-selected{z-index:10}.discovery-map .map-select>.map-index{flex-shrink:0}
.map-selection-copy .menu-choice{display:grid;min-width:0;margin:13px 0}.map-selection-copy .variant{width:100%;min-width:0;max-width:100%;font-size:13px}.map-selection-copy .menu-choice-single{font-size:13px;margin:12px 0}
@media(max-width:650px){.search>.field:first-child{display:grid;grid-template-columns:1fr;gap:2px}.search>.field:first-child label{min-width:0;margin:0}.search>.field:first-child select{width:100%;min-width:0;min-height:40px;padding:3px 24px 3px 0;font-size:15px}}
