/* Neutral frosted surfaces: the map keeps its natural colour through the glass. */
:root{
 --glass-fill:rgba(31,31,31,.55);
 --glass-edge:rgba(255,255,255,.28);
 --glass-reflection:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 55%,rgba(255,255,255,.07));
 --glass-shadow:0 18px 55px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.22);
}
.property-panel,.destination-card,.map-style-switch,.category-filters button,
.map-controls>button,.zoom-controls,.overview-map-note,.atlas-pin__label,.map-loading,.map-status{
 color:#fff;background:#404040;border:1px solid var(--glass-edge);
 box-shadow:var(--glass-shadow);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .property-panel,.destination-card,.map-style-switch,.category-filters button,
 .map-controls>button,.zoom-controls,.overview-map-note,.atlas-pin__label,.map-loading,.map-status{
  background:var(--glass-reflection),var(--glass-fill);
  -webkit-backdrop-filter:blur(16.08px);
  backdrop-filter:blur(16.08px);
 }
 .property-panel,.destination-card{--glass-fill:rgba(34,34,34,.44);-webkit-backdrop-filter:blur(18.76px) brightness(.82);backdrop-filter:blur(18.76px) brightness(.82)}
}
.property-panel{--ink:#fff;--line:rgba(255,255,255,.18)}
/* Keep native scrolling without visible rails on the glass surfaces. */
html,body,.property-panel,.destination-card,.category-filters,.destination-photos{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.property-panel::-webkit-scrollbar,.destination-card::-webkit-scrollbar,.category-filters::-webkit-scrollbar,.destination-photos::-webkit-scrollbar{display:none;width:0;height:0}
#panel-content{display:flex;flex-direction:column}
.property-body{display:contents}
.property-panel .detail-topbar{order:0;padding:12px 20px;gap:12px;min-height:60px}
.property-panel .detail-topbar .text-button{font-size:11px;min-height:36px}
.property-panel .detail-series{font-size:8px;letter-spacing:1.5px;color:#f3f3f3}
.property-panel .property-heading{order:1;margin:4px 22px 20px}
.property-panel .property-heading>.eyebrow{color:#ededed;font-size:8px;letter-spacing:1.6px;margin-bottom:8px}
.property-panel h1,.property-panel .section-title h2,.destination-card h2{
 font-family:Manrope,var(--font);font-weight:650;letter-spacing:-1px;color:#fff;text-shadow:none;
}
.property-panel h1{font-size:28px;line-height:1.18;margin:0 0 15px}
.property-panel .property-facts{border:0;padding:0;gap:8px;flex-wrap:wrap;color:#fff}
.property-panel .property-facts span{padding:6px 9px;border:1px solid #ffffff20;border-radius:8px;background:#ffffff0b;font-size:10px;gap:5px}
.property-panel .property-facts .icon{width:13px;height:13px}
.property-panel .gallery{order:2;margin:0 20px;border-radius:16px;border-color:#ffffff45;box-shadow:0 9px 24px #00000026;flex:none}
.property-panel .gallery-main{height:240px}
.property-panel .photo-thumbs{order:3;margin:10px 20px 20px;gap:8px}
.property-panel .photo-thumb{height:42px;border-radius:8px;opacity:.72;border-width:1px}
.property-panel .photo-thumb.active{border-color:#fff;opacity:1;box-shadow:0 0 0 2px #ffffff25}
.property-panel .property-description{order:4;margin:0 22px 16px;font-size:12px;line-height:1.75;color:#f5f5f5}
.property-panel .amenities{order:5;margin:0 22px 20px;gap:9px 13px}
.property-panel .amenities span{color:#f2f2f2;font-size:10px}
.property-panel .booking-button{order:6;margin:0 20px;width:auto;min-height:46px;background:linear-gradient(110deg,#ffffff26,#ffffff0d);color:#fff;border:1px solid #ffffff55;border-radius:12px;box-shadow:inset 0 1px #ffffff22,0 5px 18px #0000001a;font-size:11px}
.property-panel .booking-button:hover{background:#ffffff2d}
.property-panel .booking-note{order:7;margin:10px 20px 25px;font-size:9px;color:#ececec}
.property-panel .local-guide{order:8;margin:0 22px 24px;padding-top:22px}
.property-panel .section-title h2{font-size:23px;letter-spacing:-.6px}
.property-panel .section-title .eyebrow{color:#eaeaea;font-size:8px}
.property-panel .guide-intro{font-size:11px;color:#f2f2f2;line-height:1.7}
.property-panel .nearby-item{border:1px solid #ffffff17;background:#ffffff08;border-radius:12px;padding:11px 12px;margin:8px 0;gap:11px}
.property-panel .nearby-item strong{font-size:12px;color:#fff}
.property-panel .nearby-item small{color:#e7e7e7;font-size:10px}
.property-panel .nearby-item:hover,.property-panel .nearby-item.selected{background:#ffffff20;border-color:#ffffff40}
.property-panel .service-icon,.destination-card .service-icon{background:#ffffff16;color:#fff;border:1px solid #ffffff26}
.property-panel .route-disclosure{color:#ebebeb;font-size:9px}
.property-panel .round-button,.property-panel .sheet-toggle{color:#fff;background:#ffffff12;border:1px solid #ffffff3d}
.property-panel .round-button:hover,.property-panel .sheet-toggle:hover{background:#ffffff26}
.property-panel .gallery-navigation button{background:#3838385c;color:#fff;border:1px solid #ffffff65;backdrop-filter:blur(8.04px);-webkit-backdrop-filter:blur(8.04px)}
.property-panel .gallery-navigation>span{background:#2f2f2f63;border-color:#ffffff38}
.property-panel .gallery-autoplay,.property-panel .expand-photo{background:#2f2f2f59;border:1px solid #ffffff4d;border-radius:50%}
.property-panel .round-button[aria-pressed=true]{color:#ffd0bf}
@media(min-width:761px){
 .workspace.detail-mode .property-panel{position:fixed;inset:84px auto 18px 18px;width:calc(var(--panel-width) - 36px);height:auto;padding:0;border-radius:24px;border:1px solid var(--glass-edge)}
 .property-panel .detail-topbar{position:sticky;top:0;z-index:6;background:#363636b8;backdrop-filter:blur(12.06px);-webkit-backdrop-filter:blur(12.06px);border-bottom:1px solid #ffffff15;border-radius:23px 23px 0 0}
 .detail-mode .category-filters{top:84px;left:calc(var(--panel-width) + 22px);gap:8px}
 .detail-mode .destination-card{left:calc(var(--panel-width) + 22px);bottom:22px}
}
/* Floating controls share the same frost, highlights and rounded edges. */
.map-style-switch{border-radius:30px;padding:5px;gap:3px}
.map-style-switch button{border-radius:24px;min-height:34px;min-width:60px;color:#fff;font-size:11px}
.map-style-switch button[aria-pressed=true]{background:#ffffff2d;color:#fff;box-shadow:inset 0 1px #ffffff44,0 2px 8px #00000015}
.category-filters button{border-radius:24px;color:#fff;min-height:40px;padding:10px 14px;font-size:10px;gap:7px;flex:none}
.category-filters button[aria-pressed=true]{background:#ffffff32;color:#fff;border-color:#ffffff88;box-shadow:inset 0 1px #ffffff66,0 4px 18px #0000001f}
.map-controls>button,.zoom-controls{border-radius:20px;overflow:hidden}
.map-controls button{background:transparent;color:#fff;width:44px;height:44px}
.map-controls button:hover{background:#ffffff24}
.zoom-controls button+button{border-top:1px solid #ffffff26}
.overview-map-note,body:not(.is-detail) .overview-map-note{border-radius:20px;background:var(--glass-reflection),var(--glass-fill)}
.overview-map-note div>span,.overview-map-note .note-arrow{color:#e8e8e8}
.atlas-pin__label,.atlas-pin--service .atlas-pin__label{border-radius:12px;padding:10px 12px;color:#fff;background:var(--glass-reflection),rgba(35,35,35,.68);border-color:#ffffff40;box-shadow:0 6px 20px #00000022,inset 0 1px #ffffff1c}
.atlas-pin__label strong{font-weight:550;font-size:11px}
.atlas-pin__label small{color:#e9e9e9}
.atlas-pin--service .atlas-pin__label strong{font-size:10px}
.atlas-pin__dot{border-color:#ffffffb0;box-shadow:0 4px 18px #0003,inset 0 1px #ffffff44}
.map-loading,.map-status{border-radius:16px;color:#fff}
.map-loading .loading-orbit{border-color:#ffffff25;border-top-color:#fff}
.maplibregl-ctrl-attrib{background:#3737378c!important;color:#fff!important;border:1px solid #ffffff26;border-radius:16px!important;backdrop-filter:blur(8.04px);-webkit-backdrop-filter:blur(8.04px)}
.maplibregl-ctrl-attrib a{color:#fff!important}
.maplibregl-ctrl-attrib-button{filter:invert(1)}
/* Destination glass stays consistent with the property window. */
.destination-card{border-radius:24px;padding:20px;--ink:#fff}
.destination-card h2{font-size:26px;margin:2px 0 16px;letter-spacing:-.8px}
.destination-heading{position:sticky;top:-20px;background:#444444e8;margin:-20px -20px 12px;padding:16px 20px 12px;box-shadow:none;border-bottom:1px solid #ffffff17;border-radius:23px 23px 0 0;backdrop-filter:blur(12.06px);-webkit-backdrop-filter:blur(12.06px)}
.destination-heading .eyebrow{color:#f4f4f4;font-size:9px}
.destination-heading>.round-button{color:#fff;border-color:#ffffff55;background:#ffffff10;width:34px;height:34px}
.destination-card .route-summary,.destination-card .route-estimate,.destination-card>p,
.destination-card .destination-location-note,.destination-card .destination-photo-caption,
.destination-card .destination-source{color:#f4f4f4}
.destination-card>p{font-size:12px;line-height:1.7}
.destination-card .destination-location-note,.destination-card .destination-photo-caption{font-size:10px}
.destination-photos{gap:8px;border-radius:12px}
.destination-photos button{border:1px solid #ffffff3d;border-radius:12px}
.destination-card .destination-actions{background:transparent;box-shadow:none;padding:8px 0 0;position:static}
.destination-actions a{background:#ffffff14;color:#fff;border:1px solid #ffffff4d;border-radius:12px;min-height:44px}
.destination-actions .directions-button{background:#ffffff26}
.destination-actions a:hover{background:#ffffff36}
.destination-source{min-height:30px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .detail-mode .property-panel{border:1px solid var(--glass-edge);border-bottom:0;border-radius:26px 26px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
 .property-panel .detail-topbar{padding:8px 16px 6px;min-height:59px;gap:6px;background:#3b3b3bd6;border-radius:25px 25px 0 0}
 .property-panel .detail-topbar .text-button{min-height:44px;font-size:12px}
 .property-panel .property-heading{margin:3px 20px 14px}
 .property-panel h1{font-size:25px;margin:0 0 11px;letter-spacing:-.8px}
 .property-panel .property-facts{gap:6px}
 .property-panel .property-facts span{padding:0;border:0;background:none;font-size:11px;margin-right:9px}
 .property-panel .gallery{margin:0 16px;border-radius:15px}
 .property-panel .gallery-main{height:clamp(160px,26dvh,240px)}
 body:not(.mobile-sheet-expanded) .property-panel .gallery-main{height:max(110px,calc(var(--mobile-sheet-height) - 150px))}
 .property-panel .photo-thumbs{margin:10px 16px 20px}
 .property-panel .photo-thumb{height:45px}
 .property-panel .property-description{margin:0 20px 18px;font-size:14px}
 .property-panel .amenities{margin:0 20px 20px}
 .property-panel .amenities span{font-size:11px}
 .property-panel .booking-button{font-size:12px;min-height:50px}
 .property-panel .booking-note{font-size:10px}
 .property-panel .guide-intro{font-size:13px}
 .property-panel .nearby-item{min-height:62px}
 .property-panel .nearby-item strong{font-size:14px}
 .property-panel .nearby-item small{font-size:11px}
 .map-style-switch button{min-width:50px;min-height:38px}
 .category-filters button{min-height:44px;font-size:11px}
 .map-controls>button,.zoom-controls{border-radius:16px}
 .destination-card{padding:16px;border-radius:24px}
 .destination-heading{top:-16px;margin:-16px -16px 12px;padding:14px 16px 10px}
 .destination-heading>.round-button{width:44px;height:44px}
 .destination-card h2{font-size:25px}
 .destination-card>p{font-size:13px}
 .destination-card .destination-actions{padding-top:8px}
}
@media(max-width:360px){
 .property-panel h1{font-size:23px}
 .property-panel .detail-topbar{padding-inline:12px;gap:5px}
 .map-style-switch button{min-width:44px;font-size:10px;padding-inline:9px}
 .property-panel .property-facts span{font-size:10px;margin-right:5px}
}
/* A darker selected lens keeps white labels legible over pale street tiles. */
.category-filters button[aria-pressed=true]{background:linear-gradient(135deg,#ffffff1f,#ffffff08),rgba(44,44,44,.84);border-color:#ffffffa6}
.map-controls>button{background:var(--glass-reflection),var(--glass-fill)}
.map-controls>button:hover{background:var(--glass-reflection),rgba(70,70,70,.82)}
.property-panel .property-heading>.eyebrow{font-size:9px;letter-spacing:1.4px}
@media(max-width:760px){
 .destination-card .destination-actions{position:sticky;bottom:-16px;margin:0 -16px;padding:12px 16px 16px;background:rgba(52,52,52,.94);border-top:1px solid #ffffff25;box-shadow:0 -8px 18px #00000026;z-index:3;backdrop-filter:blur(12.06px);-webkit-backdrop-filter:blur(12.06px)}
}
@media(max-width:760px) and (max-height:620px){
 .has-destination .maplibregl-ctrl-bottom-right{right:110px;max-width:calc(100vw - 124px)}
 .has-destination .maplibregl-ctrl-attrib{max-width:100%;white-space:normal}
}
@media(max-width:760px){
 .property-panel .detail-topbar{-webkit-backdrop-filter:blur(12.06px);backdrop-filter:blur(12.06px);background:rgba(56,56,56,.94)}
}
.map-caption h1{font-family:Manrope,var(--font);font-weight:650;letter-spacing:-1.5px}
body:not(.is-detail) .map-caption h1 em{font-style:normal;font-weight:350;color:#e7e7e7}
.gallery-dialog{background:var(--glass-reflection),rgba(34,34,34,.82);border:1px solid #ffffff45;border-radius:22px;backdrop-filter:blur(16.08px);-webkit-backdrop-filter:blur(16.08px)}
.gallery-dialog::backdrop{background:#111111a6}
.lightbox-top button,.lightbox-stage>button{border:1px solid #ffffff30;background:#ffffff14}
/* Photo controls keep their contrast over both white bedding and dark rooms. */
.property-panel .gallery-navigation button,.property-panel .gallery-autoplay,.property-panel .expand-photo,
.property-panel .gallery-navigation>span{background:rgba(35,35,35,.68);color:#fff}
/* Borderless glass: soft depth replaces bright outer strokes. */
:root{--glass-edge:transparent;--glass-shadow:0 16px 48px rgba(0,0,0,.2)}
.property-panel,.workspace.detail-mode .property-panel,.destination-card,
.map-style-switch,.category-filters button,.category-filters button[aria-pressed=true],
.map-controls>button,.zoom-controls,.overview-map-note,.atlas-pin__label,.atlas-pin--service .atlas-pin__label,
.map-loading,.map-status,.gallery-dialog,
.property-panel .round-button,.property-panel .sheet-toggle,.property-panel .property-facts span,
.property-panel .gallery,.property-panel .photo-thumb,.property-panel .photo-thumb.active,
.property-panel .booking-button,.property-panel .nearby-item,.property-panel .nearby-item:hover,.property-panel .nearby-item.selected,
.property-panel .service-icon,.destination-card .service-icon,.destination-heading>.round-button,
.property-panel .gallery-navigation button,.property-panel .gallery-navigation>span,
.property-panel .gallery-autoplay,.property-panel .expand-photo,.destination-photos button,
.destination-actions a,.lightbox-top button,.lightbox-stage>button{border-color:transparent}
.property-panel,.workspace.detail-mode .property-panel,.destination-card,
.map-style-switch,.category-filters button,.category-filters button[aria-pressed=true],
.map-controls>button,.zoom-controls,.overview-map-note,.atlas-pin__label,.atlas-pin--service .atlas-pin__label,
.map-loading,.map-status,.gallery-dialog{box-shadow:0 16px 48px rgba(0,0,0,.2)}
.map-style-switch button[aria-pressed=true],.property-panel .photo-thumb.active{box-shadow:none}
.property-panel .booking-button{box-shadow:0 5px 18px #0000001a}
.atlas-pin--property .atlas-pin__dot,.atlas-pin--home .atlas-pin__dot,
.atlas-pin--service .atlas-pin__dot,.atlas-pin--service[data-category] .atlas-pin__dot{border-color:transparent;box-shadow:0 4px 16px #00000050}
.maplibregl-ctrl-attrib{border-color:transparent!important}
.property-panel .gallery,.property-panel .photo-thumb,.destination-photos button{background-clip:padding-box}

/* Neutral photo chrome and supporting text, including inherited base styles. */
.destination-photos button{background-color:#e7e7e7}
.destination-photos button>span{background:rgba(35,35,35,.66);color:#fff;-webkit-backdrop-filter:blur(6.7px);backdrop-filter:blur(6.7px)}
.lightbox-credit{color:#d0d0d0}
.property-panel .detail-series,.property-panel .property-heading>.eyebrow,
.property-panel .property-facts,.property-panel .property-description,
.property-panel .amenities span,.property-panel .booking-note,
.property-panel .section-title .eyebrow,.property-panel .guide-intro,
.property-panel .nearby-item small,.property-panel .route-disclosure{text-shadow:none}
/* Older browsers retain a readable neutral surface without backdrop support. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .property-panel,.workspace.detail-mode .property-panel,.destination-card,
 .map-style-switch,.category-filters button,.map-controls>button,.zoom-controls,
 .overview-map-note,body:not(.is-detail) .overview-map-note,
 .atlas-pin__label,.atlas-pin--service .atlas-pin__label,.map-loading,.map-status,.gallery-dialog,
 .property-panel .detail-topbar,.destination-heading,.destination-card .destination-actions,
 .property-panel .gallery-navigation button,.property-panel .gallery-navigation>span,
 .property-panel .gallery-autoplay,.property-panel .expand-photo,.destination-photos button>span{background:#3a3a3a}
 .category-filters button[aria-pressed=true]{background:#242424}
 .map-controls>button:hover{background:#484848}
 .maplibregl-ctrl-attrib{background:#3a3a3a!important}
}

/* High contrast keeps native system colours and explicit control boundaries. */
@media(forced-colors:active){
 .property-panel,.workspace.detail-mode .property-panel,.destination-card,
 .map-style-switch,.category-filters button,.category-filters button[aria-pressed=true],
 .map-controls>button,.zoom-controls,.overview-map-note,body:not(.is-detail) .overview-map-note,
 .atlas-pin__label,.atlas-pin--service .atlas-pin__label,.map-loading,.map-status,.gallery-dialog,
 .property-panel .detail-topbar,.destination-heading,.destination-card .destination-actions,
 .maplibregl-ctrl-attrib{
  background:Canvas!important;color:CanvasText!important;
  border:1px solid CanvasText!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 }
 .property-panel .round-button,.property-panel .sheet-toggle,.property-panel .booking-button,
 .property-panel .nearby-item,.destination-heading>.round-button,.destination-actions a,
 .property-panel .gallery-navigation button,.property-panel .gallery-navigation>span,
 .property-panel .gallery-autoplay,.property-panel .expand-photo,
 .map-style-switch button,.map-controls button,.lightbox-top button,.lightbox-stage>button,
 .destination-photos button>span{
  background:ButtonFace!important;color:ButtonText!important;
  border:1px solid ButtonText!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
 }
 .map-style-switch button[aria-pressed=true],.category-filters button[aria-pressed=true]{
  background:Highlight!important;color:HighlightText!important;
 }
 .maplibregl-ctrl-attrib a,.lightbox-credit{color:LinkText!important}
 .maplibregl-ctrl-attrib-button{filter:none}
}
