.accommodations-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 18px}
.accommodation-map-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #365943;border-radius:9px;background:#fff;color:#274b3c;font:inherit;font-size:.85rem;font-weight:600;line-height:1.25;cursor:pointer;text-decoration:none}
.accommodation-map-button:hover{background:#eef3ee}.accommodation-map-open{white-space:nowrap}.accommodation-map-open[hidden]{display:none}.accommodation-map-is-open{overflow:hidden}
.accommodation-map-dialog{box-sizing:border-box;width:calc(100% - 40px);max-width:1440px;height:calc(100dvh - 40px);max-height:100dvh;padding:0;border:0;border-radius:18px;color:#243e35;background:#fff;box-shadow:0 20px 80px #173f4840;overflow:hidden}
.accommodation-map-dialog::backdrop{background:#183f35a6}.accommodation-map-dialog[open]{display:flex;flex-direction:column}.accommodation-map-dialog [hidden]{display:none!important}
.accommodation-map-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 12px;flex-shrink:0}.accommodation-map-eyebrow{margin:0 0 5px;font-size:.72rem;color:#547061;letter-spacing:.07em;text-transform:uppercase}.accommodation-map-header h2{margin:0;font-size:1.3rem;line-height:1.25}.accommodation-map-close{flex-shrink:0}.accommodation-map-close span{font-size:1.6rem;line-height:1}
.accommodation-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 22px 14px;font-size:.85rem;flex-shrink:0}.accommodation-map-toolbar p{margin:0}.accommodation-map-toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.accommodation-map-toolbar .accommodation-map-button{font-size:.8rem;padding:8px 12px}.accommodation-map-list-toggle{display:none}
.accommodation-map-filter-note,.accommodation-map-message{margin:0;padding:9px 22px;font-size:.8rem;line-height:1.4;flex-shrink:0;background:#f4f4ed;border-top:1px solid #e4e7df}.accommodation-map-filter-note a{color:#365943;font-weight:600}.accommodation-map-message{background:#fff6e7;color:#704d1c}
.accommodation-map-body{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;flex:1;min-height:0;border-top:1px solid #e0e6e5;position:relative}
.accommodation-map-list{grid-column:1;grid-row:1/3;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;scrollbar-width:thin}.accommodation-map-row{border-bottom:1px solid #e6e9e5;margin:0}.accommodation-map-result{display:flex;gap:12px;width:100%;padding:16px;border:0;background:#fff;text-align:left;color:inherit;cursor:pointer;font:inherit}.accommodation-map-result:hover,.accommodation-map-result[aria-current]{background:#edf4ef}.accommodation-map-result[aria-current]{box-shadow:inset 4px 0 #365943}.accommodation-map-result img{width:68px;height:68px;object-fit:cover;border-radius:9px;flex:none}.accommodation-map-result-copy{min-width:0;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.accommodation-map-result strong{font-size:.95rem;line-height:1.3}.accommodation-map-result-copy>span{font-size:.75rem;color:#647168}.accommodation-map-result small{font-size:.72rem;line-height:1.4;color:#647168}.accommodation-map-result .accommodation-map-unlocated{color:#885d23}.accommodation-map-empty{padding:20px;line-height:1.5}
.accommodation-map-stage{grid-column:2;grid-row:1;min-height:0;position:relative;background:#e6ece5}.accommodation-map-canvas{height:100%;width:100%;min-height:160px;z-index:0;font-family:inherit}.accommodation-map-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1f3ec;padding:25px;text-align:center}.accommodation-map-canvas .leaflet-control-attribution{font-size:10px;background:#fffffff2}.accommodation-map-canvas .leaflet-control-attribution a{color:#365943}.accommodation-map-canvas .leaflet-bar a{width:40px;height:40px;line-height:40px}
.accommodation-map-pin{background:transparent;border:0}.accommodation-map-pin>span{display:grid;place-items:center;width:34px;height:34px;border:2px solid #fff;border-radius:50%;background:#365943;color:#fff;box-shadow:0 2px 6px #173f4840;font:bold 13px system-ui}.accommodation-map-pin.is-selected>span{background:#a84232;outline:3px solid #fff;transform:scale(1.18);z-index:1}.accommodation-map-canvas .accommodation-map-cluster{display:grid;place-items:center;box-sizing:border-box;background:#fff;border:3px solid #365943;border-radius:50%;color:#274b3c;box-shadow:0 2px 8px #173f4830;font:bold 14px system-ui}.accommodation-map-pin:focus-visible,.accommodation-map-cluster:focus-visible{outline:3px solid #d97b54;outline-offset:4px}.accommodation-map-number{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-right:6px;padding:0 3px;border-radius:50%;background:#365943;color:#fff;font-size:11px;font-weight:700;vertical-align:middle}
.accommodation-map-selection{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;max-height:320px;overflow:auto;background:#fff;border-top:1px solid #d8e1df;padding:16px 20px;position:relative}.accommodation-map-selection>img{width:90px;height:82px;border-radius:10px;object-fit:cover;flex:none}.accommodation-map-selection-copy{flex:1;min-width:0;padding-right:24px;overflow-wrap:anywhere}.accommodation-map-selection h3{margin:0 0 5px;font-size:1.05rem}.accommodation-map-selection p{margin:0 0 6px;font-size:.8rem;line-height:1.4;color:#647168}.accommodation-map-selection a{display:inline-flex;align-items:center;min-height:44px;color:#365943;font-size:.85rem;font-weight:650}.accommodation-map-selection-close{position:absolute;right:4px;top:3px;width:44px;height:44px;border:0;background:transparent;font-size:24px;color:inherit;cursor:pointer}
.accommodation-map-image-label{display:block;position:static;max-width:100%;padding:.45rem .7rem;margin:0;background:#f5f1e8;color:#4e5f56;font:400 .7rem/1.4 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere;overflow:visible;-webkit-line-clamp:unset;text-align:left}.accommodation-map-selection>.accommodation-map-image-label{flex-basis:100%}.accommodation-map-dialog button:focus-visible,.accommodation-map-dialog a:focus-visible,.accommodation-map-open:focus-visible{outline:3px solid #365943;outline-offset:-3px}
.accommodation-map-dialog.map-unavailable .accommodation-map-body{grid-template-columns:minmax(0,1fr)}.accommodation-map-dialog.map-unavailable .accommodation-map-stage{display:none}.accommodation-map-dialog.map-unavailable .accommodation-map-list{display:block;grid-column:1;grid-row:1}.accommodation-map-dialog.map-unavailable .accommodation-map-selection{grid-column:1}
@media(max-width:700px){
 .accommodation-map-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:none;margin:0;border-radius:0}.accommodation-map-header{padding:calc(12px + env(safe-area-inset-top)) 15px 10px;gap:8px}.accommodation-map-eyebrow{font-size:.65rem}.accommodation-map-header h2{font-size:1.06rem}.accommodation-map-close{padding:8px;font-size:.8rem}.accommodation-map-toolbar{padding:0 15px 10px;flex-wrap:wrap;gap:8px;font-size:.8rem}.accommodation-map-toolbar>div{width:100%;justify-content:space-between}.accommodation-map-list-toggle{display:inline-flex}.accommodation-map-filter-note,.accommodation-map-message{padding:8px 15px;font-size:.75rem}.accommodation-map-body{grid-template-columns:minmax(0,1fr)}.accommodation-map-stage{grid-column:1}.accommodation-map-list{display:none;grid-column:1;grid-row:1}.accommodation-map-selection{grid-column:1;padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:8px 10px;max-height:250px}.accommodation-map-selection>img{width:70px;height:76px}.accommodation-map-selection h3{font-size:.95rem}.accommodation-map-selection p{font-size:.74rem}.accommodation-map-selection a{font-size:.8rem}.accommodation-map-dialog.is-list .accommodation-map-list{display:block}.accommodation-map-dialog.is-list .accommodation-map-stage{display:none}.accommodation-map-result{padding:13px 16px}.accommodations-results-heading{gap:8px}.accommodation-map-open{padding:9px 10px;font-size:.8rem}.accommodation-map-canvas{min-height:100px}
}
@media(prefers-reduced-motion:reduce){.accommodation-map-dialog *{scroll-behavior:auto!important}}
.accommodation-map-result .accommodation-map-availability,.accommodation-map-selection .accommodation-map-availability{align-self:flex-start;padding:4px 7px;font-size:.7rem;margin:3px 0;line-height:1.35}
.accommodation-map-selection .accommodation-map-availability{display:inline-flex;margin-bottom:8px}
.accommodation-map-result .accommodation-availability-available,.accommodation-map-selection .accommodation-availability-available{color:#28532c}
.accommodation-map-result .accommodation-availability-unknown,.accommodation-map-selection .accommodation-availability-unknown{color:#414e44;background:#eff1ed}
.accommodation-map-result .accommodation-availability-room_change,.accommodation-map-result .accommodation-availability-mixed,.accommodation-map-selection .accommodation-availability-room_change,.accommodation-map-selection .accommodation-availability-mixed{color:#754706}
.accommodation-map-result .accommodation-availability-unavailable,.accommodation-map-result .accommodation-availability-full,.accommodation-map-selection .accommodation-availability-unavailable,.accommodation-map-selection .accommodation-availability-full{color:#833922}
.accommodation-map-result .accommodation-availability-closed,.accommodation-map-selection .accommodation-availability-closed{color:#50445e}
.accommodation-map-result .accommodation-map-availability,.accommodation-map-selection .accommodation-map-availability{font-size:.83rem;padding:5px 8px}
.accommodation-map-legend{display:flex;flex-wrap:wrap;gap:8px 22px;flex-shrink:0;margin:0;padding:10px 22px;background:#f7f9f6;color:#415a4e;font-size:.81rem;line-height:1.4;border-top:1px solid #e4e7df}
.accommodation-map-legend>span{display:flex;align-items:center;gap:8px}
.accommodation-map-legend-pin,.accommodation-map-legend-cluster{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;font-size:.8rem;font-weight:700}
.accommodation-map-legend-pin{background:#365943;color:#fff}
.accommodation-map-legend-cluster{background:#fff;color:#274b3c;border:2px solid #365943}
.accommodation-map-photo-fallback{display:grid;place-items:center;flex:none;width:68px;height:68px;border-radius:9px;background:#edf1ee;color:#617175;font-size:1.8rem}
.accommodation-map-selection>.accommodation-map-photo-fallback{width:90px;height:82px;border-radius:10px}
@media(max-width:700px){.accommodation-map-selection>.accommodation-map-photo-fallback{width:70px;height:76px}}
@media(max-width:700px){.accommodation-map-legend{padding:8px 15px;gap:6px;font-size:.8rem}.accommodations-results-heading:has(.accommodation-directory-order){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px}.accommodations-results-heading:has(.accommodation-directory-order)>div{display:contents}.accommodations-results-heading:has(.accommodation-directory-order) .directory-result-count{grid-column:1;grid-row:1;margin:0}.accommodations-results-heading .accommodation-directory-order{grid-column:1/-1;grid-row:2;margin:0}.accommodations-results-heading:has(.accommodation-directory-order) .accommodation-map-open{grid-column:2;grid-row:1;margin:0}}
.accommodation-map-header>div{min-width:0;flex:1}.accommodation-map-header h2{overflow-wrap:anywhere}.accommodation-map-close{max-width:45%;white-space:normal}.accommodation-map-stay-summary{margin:0;padding:10px 22px;font-size:.85rem;line-height:1.5;background:#eef4ef;flex-shrink:0}.accommodation-map-edit-stay{display:inline-block;min-height:44px;padding:7px 0;margin-left:8px;border:0;background:transparent;color:#28533d;font:inherit;text-decoration:underline;cursor:pointer}.accommodation-map-dialog.is-reflow{overflow-y:auto}.accommodation-map-dialog.is-reflow .accommodation-map-body{flex:0 0 max(320px,55dvh);min-height:320px}.accommodation-map-dialog.is-reflow .accommodation-map-header{position:sticky;top:0;z-index:3;background:#fff}.accommodation-map-dialog.is-reflow .accommodation-map-eyebrow{display:none}.accommodation-map-dialog.is-reflow .accommodation-map-header h2{font-size:.95rem}.accommodation-map-dialog.is-reflow .accommodation-map-toolbar>div{justify-content:flex-start}.accommodation-map-dialog.is-reflow .accommodation-map-header{align-items:flex-start}
@media(max-width:700px){.accommodation-map-stay-summary{padding:9px 15px}.accommodation-map-close{max-width:44%;min-width:44px}.accommodation-map-dialog.is-reflow .accommodation-map-legend{font-size:.72rem}}
.accommodation-map-dialog.is-reflow .accommodation-map-close{font-size:0;max-width:none;padding:8px;min-width:44px}.accommodation-map-dialog.is-reflow .accommodation-map-close span{font-size:1.4rem}.accommodation-map-dialog.is-reflow.is-list .accommodation-map-legend,.accommodation-map-dialog.is-reflow.is-list [data-accommodation-map-fit]{display:none}.accommodation-map-dialog.is-reflow .accommodation-map-edit-stay{font-size:.8rem}

.accommodation-map-help{flex-shrink:0;border-top:1px solid #e4e7df;background:#f7f9f6;font-size:.81rem;line-height:1.4}
.accommodation-map-help>summary{min-height:44px;box-sizing:border-box;padding:12px 22px;color:#365943;cursor:pointer;list-style-position:inside}
.accommodation-map-help>summary:focus-visible{outline:3px solid #365943;outline-offset:-3px}
@media(max-width:700px){.accommodation-map-eyebrow{display:none}.accommodation-map-header{padding-bottom:8px}.accommodation-map-toolbar{padding-bottom:8px}.accommodation-map-help>summary{padding:12px 15px}.accommodation-map-help .accommodation-map-filter-note a{display:inline-flex;align-items:center;min-height:44px}.accommodation-map-stay-summary{padding-block:6px}}
