/* XIONIA_MAP_EXPERIENCE_R352 */
/* XIONIA_MAP_EXPERIENCE_R351 */
/* Shared controls, labels and subtle temperature colour across Xionia maps. */
.leaflet-container{font-family:system-ui,sans-serif;border:1px solid #aec3cf;border-radius:14px;isolation:isolate}
#ski-guide-map{height:560px;width:100%;margin:14px 0}
#ski-guide-regions{display:flex;gap:8px;flex-wrap:wrap}
#ski-guide-regions button{min-height:44px;padding:8px 13px;border:1px solid #acc5d5;border-radius:9px;background:#edf6fb;color:#17344b;font:600 14px system-ui;cursor:pointer}
#ski-guide-regions button[aria-pressed=true]{background:#1d637f;color:#fff;border-color:#1d637f}
.xgp-destination-photo img{display:block;width:100%;height:auto;border-radius:12px}
.leaflet-container .xme-label-r3.x34-place-label{display:flex!important;max-width:none!important;min-width:46px!important;gap:4px}
.leaflet-container .xme-label-r3 .x34-place-name{flex:1 1 auto;min-width:0}
.leaflet-container .map-temperature-chip,.leaflet-container .xionia-map-selection{background:var(--x35-temperature-background,#fff)!important;color:#17344b!important}
.leaflet-container .map-weather-values strong{color:#17344b!important}
.leaflet-container .map-weather-icon,.leaflet-container .map-selection-icon{background:#ffffffb8!important}
.leaflet-container .leaflet-control-zoom{border:1px solid #adc1ce!important;border-radius:10px!important;overflow:hidden;box-shadow:0 2px 8px #17344b25}
.leaflet-container .leaflet-control-zoom a{background:#fff!important;color:#17344b!important;width:36px;height:36px;line-height:36px}
.x35-export-control{clear:both!important;position:relative;border-radius:10px;background:#fff;border:1px solid #adc1ce;box-shadow:0 2px 8px #17344b25}
.leaflet-container .x35-export-control button{display:grid!important;place-items:center;width:38px!important;height:38px!important;min-height:38px!important;min-width:38px!important;padding:0!important;margin:0!important;border:0!important;border-radius:10px!important;background:#fff!important;color:#17344b!important;cursor:pointer}
.x35-export-control button:disabled{opacity:.6;cursor:wait}
.leaflet-container :is(.x35-export-control button,.xme-tools-r3 button,.xme-tools-r3 select):focus-visible{outline:3px solid #0874a7!important;outline-offset:2px}
.x35-export-status{position:absolute;left:46px;top:0;min-width:160px;max-width:220px;padding:7px 9px;background:#fff;color:#17344b;border:1px solid #adc1ce;border-radius:8px;font:500 12px/1.5 system-ui;pointer-events:none}
.x35-export-status:empty{display:none}
.x35-country-directory,.x35-resort-directory{margin:26px 0;padding:clamp(14px,3vw,24px);border:1px solid #c5d8e3;border-radius:16px;background:#f5f9fc;color:#17344b}
.x35-country-grid,.x35-resort-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;margin:16px 0;padding:0;list-style:none}
.x35-country-grid>a,.x35-resort-grid>li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #c8dae5;border-radius:11px;background:#fff;color:#17344b;text-decoration:none;font:600 15px/1.4 system-ui}
.x35-country-grid>a:hover{border-color:#16789d;background:#edf7fc}
.x35-country-grid small{font-size:12px;white-space:nowrap;font-weight:500;color:#49697d}
.x35-resort-grid>li{display:block;font-weight:400}
.x35-resort-grid a{color:#12678e;font-weight:650}
.x35-resort-grid p{font-size:14px;line-height:1.55;margin:8px 0}
.x35-resort-grid small{color:#466577}
.x35-guide-search{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:14px 0}
.x35-guide-search input{flex:1;min-width:170px;max-width:360px;padding:10px 12px;border:1px solid #adc5d3;border-radius:9px;background:#fff;color:#17344b;font:16px system-ui}
.x35-guide-search [role=status]{font-size:13px}
.x35-resort-grid [hidden],.x35-country-grid [hidden]{display:none!important}
.x35-country-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0;color:inherit}
.x35-country-controls select{max-width:100%;min-height:44px;padding:8px 10px;border:1px solid #acc5d5;border-radius:9px;background:#fff;color:#17344b;font:16px system-ui}
.x35-country-controls a{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;border:1px solid #acc5d5;border-radius:9px;background:#edf6fb;color:#145d81;font-weight:600}
.x35-map-key{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;color:#34566a;font:500 13px/1.5 system-ui}
.x35-map-key span{display:inline-flex;gap:5px;align-items:center}
.xionia-dark :is(.x35-country-directory,.x35-resort-directory){background:#142d3d;border-color:#416174;color:#e4eff6}
.xionia-dark .x35-country-grid>a,.xionia-dark .x35-resort-grid>li{background:#1b384a;border-color:#49697d;color:#e4eff6}
.xionia-dark .x35-resort-grid a{color:#a8dcf4}.xionia-dark .x35-country-grid small,.xionia-dark .x35-resort-grid small,.xionia-dark .x35-map-key{color:#c8deeb}
#station-workspace .sm-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end;gap:12px;padding:16px;border:1px solid #c5d8e3;border-radius:14px 14px 0 0;background:#f4f8fb;color:#17344b}
#station-workspace .sm-toolbar>label{display:flex;flex-direction:column;gap:6px;min-width:0;font:600 13px/1.45 system-ui}
#station-workspace .sm-toolbar>label:has(input[type=checkbox]){flex-direction:row;align-items:center;min-height:44px}
#station-workspace .sm-toolbar :is(select,input[type=search],button){box-sizing:border-box;width:100%;max-width:100%;min-height:44px;border:1px solid #b3cad8;border-radius:9px;padding:9px 11px;background:#fff;color:#17344b;font-size:14px}
#station-workspace .sm-toolbar :is(select,input,button):focus-visible{outline:3px solid #167ea5;outline-offset:2px}
#station-workspace #sm-map{border-radius:0 0 14px 14px;box-shadow:0 8px 24px #153e5112}
#station-workspace .sm-map-footer{padding:12px 0;line-height:1.55}
#station-workspace #sm-legend{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;font-size:13px}
#station-workspace #sm-legend small{flex-basis:100%;line-height:1.6}
#station-workspace .sm-marker-pill{border-radius:8px;box-shadow:0 2px 5px #102f4b35;font-variant-numeric:tabular-nums}
.xionia-dark #station-workspace .sm-toolbar{background:#142d3d;border-color:#446275;color:#e7f1f7}
.xionia-dark #station-workspace .sm-toolbar :is(select,input[type=search],button){background:#1c3a4c;border-color:#527386;color:#e7f1f7}
@media(max-width:640px){#station-workspace .sm-toolbar{grid-template-columns:1fr 1fr;padding:12px;gap:10px}#station-workspace .sm-toolbar :is(select,input[type=search]){font-size:16px}#station-workspace .sm-toolbar>label:has(#sm-search),#station-workspace .sm-toolbar>label:has(#sm-metric){grid-column:1/-1}#ski-guide-map{height:470px}}
@media(max-width:640px),(pointer:coarse){.leaflet-container .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.leaflet-container .x35-export-control button{width:44px!important;height:44px!important}.x35-export-status{left:51px;max-width:180px}.x35-country-grid,.x35-resort-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.leaflet-container *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* r3.5.1: compact cards and readable temperature colors matching model maps. */
.leaflet-container.xionia-forecast-map-r12 :is(.map-temperature-chip,.xionia-map-selection){color:var(--x351-temperature-ink,#17344b)!important}
.leaflet-container.xionia-forecast-map-r12 :is(.map-weather-name,.map-weather-values strong,.map-selection-name,.map-selection-weather strong,.map-selection-date,.map-selection-status,.xionia-map-selection small,.map-selection-close){color:var(--x351-temperature-ink,#17344b)!important}
.leaflet-container.xionia-forecast-map-r12 :is(.map-weather-name,.map-selection-name) .x34-kind-icon{color:inherit!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12 .map-temperature-chip{width:104px!important;height:54px!important;min-height:54px!important;padding:3px 4px!important;gap:2px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12 .map-weather-name{max-width:94px!important;font-size:11.5px!important;line-height:1.2!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12 .map-weather-values{gap:3px!important;min-height:25px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12 .map-weather-icon{flex-basis:25px!important;width:25px!important;height:25px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12 .map-weather-icon>.xw-weather-svg{width:25px!important;height:25px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12.xionia-map-compact-r2 .map-temperature-chip{width:96px!important;height:52px!important;min-height:52px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12.xionia-map-compact-r2 .map-weather-name{max-width:86px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12.xionia-map-compact-r2 .map-weather-values{gap:2px!important;min-height:22px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12.xionia-map-compact-r2 .map-weather-icon{flex-basis:22px!important;width:22px!important;height:22px!important}
.leaflet-container.xionia-map-layout-r2.xionia-forecast-map-r12.xionia-map-compact-r2 .map-weather-icon>.xw-weather-svg{width:22px!important;height:22px!important}
#station-workspace .sm-marker .sm-marker-pill{box-sizing:border-box;width:100%;height:100%;min-width:0!important;min-height:0!important;padding:0 2px!important;border-radius:6px}
#station-workspace .sm-marker .sm-marker-pill.sm-marker-dual{min-width:0!important;font-size:12px;line-height:14px}
#station-workspace .sm-marker .sm-marker-pill.sm-marker-dual .sm-marker-rain{font-size:11.5px;line-height:14px;gap:2px}
#station-workspace .sm-marker .sm-marker-rain>svg{flex-basis:9px;width:9px!important;height:12px!important}
.x351-area-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0}
.x351-area-controls select{min-height:42px;max-width:100%;padding:8px;border:1px solid #acc5d5;border-radius:9px;background:#fff;color:#17344b;font-size:15px}

/* Shared temperature key, with explicit text colors in either page theme. */
html body .x352-temperature-legend{box-sizing:border-box;margin:10px 0 14px;padding:10px 12px 8px;border:1px solid #bdced9;border-radius:10px;background:#f7fafc;color:#17344b;font:12px/1.35 system-ui,sans-serif;max-width:100%;text-align:left}
html body .x352-temperature-legend[hidden]{display:none!important}
html body .x352-temperature-legend :is(figcaption,span,small){color:#17344b!important;background:transparent!important;text-shadow:none!important}
html body .x352-temperature-legend-title{margin:0 0 7px;font-weight:650;font-size:12px}
html body .x352-temperature-legend-bar{height:12px;border:1px solid #9caebc;border-radius:4px}
html body .x352-temperature-legend-ticks{position:relative;height:20px;margin:3px 0 0;font-variant-numeric:tabular-nums}
html body .x352-temperature-legend-tick{position:absolute;transform:translateX(-50%);white-space:nowrap;font-size:11px}
html body .x352-temperature-legend-tick:first-child{transform:none}
html body .x352-temperature-legend-tick:last-child{transform:translateX(-100%)}
html body .x352-temperature-legend-note{display:block;margin:0;font-size:11px;line-height:1.3}
html body .leaflet-container>.x352-temperature-legend--overlay{display:none;position:absolute;right:12px;bottom:38px;z-index:800;float:none;margin:0;pointer-events:none;width:420px;max-width:calc(100% - 24px);box-shadow:0 2px 10px #17344b25}
html body .leaflet-container.xn-map-full>.x352-temperature-legend--overlay,html body .leaflet-container:fullscreen>.x352-temperature-legend--overlay{display:block}
@media(max-width:600px){html body .x352-temperature-legend{padding:8px;font-size:11px}html body .x352-temperature-legend-title{font-size:11px}html body .x352-temperature-legend-tick{font-size:10px}html body .leaflet-container>.x352-temperature-legend--overlay{bottom:67px}}
