/*
Theme Name: Weerstation Medemblik Pro
Theme URI: https://weerstationmedemblik.nl/
Author: HBP Media
Description: Professioneel responsive weerstation-thema voor Weerstation Medemblik met live meetdata, radar, waarschuwingen, historie, tropische stormen, sterrenkaart, wereldwijde aardbevingen en live vliegverkeer.
Version: 1.9.42
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: weerstation-medemblik-pro
Tags: weather, responsive-layout, custom-logo, custom-menu
*/

:root{
  --bg:#eef4f7;
  --card:#ffffff;
  --panel:#f7fafc;
  --ink:#0f2334;
  --muted:#6f8799;
  --line:#d7e3ec;
  --navy:#062840;
  --navy2:#031726;
  --blue:#1195d9;
  --cyan:#23c8ef;
  --green:#1db784;
  --yellow:#f4c23a;
  --red:#ee5852;
  --shadow:0 18px 55px rgba(12,38,58,.12);
  --max:1460px;
}
html[data-theme="dark"]{
  --bg:#07111b;
  --card:#0c1c29;
  --panel:#122635;
  --ink:#eef7fb;
  --muted:#98afc1;
  --line:#1e394c;
  --navy:#071c2b;
  --navy2:#020b12;
  --blue:#39afeb;
  --cyan:#37d6f4;
  --green:#28c8a0;
  --yellow:#ffd05d;
  --red:#ff6b66;
  --shadow:0 22px 70px rgba(0,0,0,.42);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.screen-reader-text{position:absolute!important;left:-9999px!important}
.wsm-wrap{width:min(var(--max),calc(100% - 34px));margin:0 auto}

/* Header */
.wsm-topbar{background:var(--navy2);color:#d1e3ee;font-size:.78rem}
.wsm-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:36px}
.wsm-topbar-left,.wsm-topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.wsm-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#35d38b;box-shadow:0 0 0 5px rgba(53,211,139,.14);margin-right:7px}
.wsm-brandbar{position:relative;background:linear-gradient(rgba(4,21,34,.24),rgba(4,21,34,.24)),url('assets/images/header-medemblik.webp') center/cover no-repeat;color:#fff;overflow:hidden}
.wsm-brandbar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,30,.56),rgba(4,19,30,.08) 60%,rgba(4,19,30,.30));pointer-events:none}
.wsm-brand-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:198px;padding:26px 0}
.wsm-branding{display:flex;align-items:flex-start;gap:18px;max-width:72%}
.wsm-branding img{width:min(430px,48vw);height:auto}
.wsm-brand-copy{padding-bottom:8px}
.wsm-brand-copy strong{display:block;font-size:2.1rem;line-height:1;font-weight:900}
.wsm-brand-copy span{display:block;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:#d7edf7;margin-top:7px}
.wsm-brand-meta{text-align:right;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);padding:16px 18px;border-radius:18px;min-width:220px}
.wsm-brand-temp{font-size:2.3rem;line-height:1;font-weight:900}
.wsm-brand-desc{font-size:.79rem;color:#e1f3fb;margin-top:7px}
.wsm-brand-sub{font-size:.76rem;color:#cae5f1;margin-top:5px}
.wsm-navbar{position:sticky;top:0;z-index:100;background:linear-gradient(90deg,var(--navy2),var(--navy));color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.wsm-nav-inner{display:flex;align-items:center;gap:10px;min-height:56px}
.wsm-nav{flex:1}
.wsm-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.wsm-nav a{display:block;padding:17px 14px;border-bottom:3px solid transparent;font-size:.88rem;font-weight:760}
.wsm-nav a:hover,.wsm-nav .current-menu-item>a{border-bottom-color:var(--cyan);background:rgba(255,255,255,.05)}
.wsm-actions{display:flex;align-items:center;gap:6px}
.wsm-icon-btn{width:42px;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;display:grid;place-items:center;cursor:pointer}
.wsm-icon-btn:hover{background:rgba(255,255,255,.11)}
.wsm-menu-btn{display:none}
.wsm-theme-toggle{position:relative}
.wsm-theme-toggle span{position:absolute;transition:opacity .18s ease, transform .18s ease}
html[data-theme="light"] .wsm-theme-sun{opacity:0;transform:scale(.62) rotate(-25deg)}
html[data-theme="light"] .wsm-theme-moon{opacity:1}
html[data-theme="dark"] .wsm-theme-sun{opacity:1}
html[data-theme="dark"] .wsm-theme-moon{opacity:0;transform:scale(.62) rotate(25deg)}

/* Main dashboard */
.wsm-main{padding:24px 0 56px}
.wsm-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr);gap:20px;margin-bottom:18px}
.wsm-now{position:relative;overflow:hidden;min-height:400px;border-radius:24px;color:#fff;background:radial-gradient(circle at 75% 18%,rgba(65,211,246,.35),transparent 34%),linear-gradient(130deg,#07314e,#0c6793 58%,#19bcc9);box-shadow:var(--shadow)}
.wsm-now:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,25,39,.14),transparent 40%,rgba(5,25,39,.14));pointer-events:none}
.wsm-now-inner{position:relative;z-index:1;height:100%;padding:32px;display:grid;grid-template-columns:1fr 250px;gap:16px;align-items:center}
.wsm-location{font-size:.82rem;text-transform:uppercase;font-weight:850;letter-spacing:.12em;color:#c8f4ff}
.wsm-now-temp{font-size:clamp(5.3rem,10vw,9rem);line-height:.86;font-weight:950;letter-spacing:-.08em;margin:10px 0}
.wsm-now-desc{font-size:1.35rem;font-weight:780}
.wsm-now-sub{display:flex;gap:16px;flex-wrap:wrap;font-size:.87rem;color:#d7f5fb;margin-top:14px}
.wsm-weather-icon{position:relative;height:220px;display:grid;place-items:center}
.wsm-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wsm-summary-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(14,43,63,.06)}
.wsm-summary-card small{display:block;font-size:.66rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.wsm-summary-card strong{display:block;font-size:1.7rem;line-height:1.08;margin-top:7px}
.wsm-summary-card span{font-size:.76rem;color:var(--muted)}

.wsm-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0 14px}
.wsm-section-head h2{margin:0;font-size:1.45rem}
.wsm-section-head p{margin:4px 0 0;color:var(--muted);font-size:.84rem}
.wsm-section-link{font-size:.8rem;font-weight:800;color:var(--blue)}

.wsm-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wsm-metric{position:relative;min-height:138px;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:17px;transition:transform .18s ease, box-shadow .18s ease}
.wsm-metric:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.wsm-metric-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wsm-metric-label{font-size:.73rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wsm-metric-icon{font-size:1.14rem}
.wsm-metric-value{font-size:2rem;line-height:1;font-weight:900;margin:14px 0 8px}
.wsm-metric-sub{font-size:.76rem;color:var(--muted)}
.wsm-chart-btn{position:absolute;right:11px;bottom:10px;border:0;border-radius:8px;background:var(--panel);color:var(--blue);padding:7px 9px;font-size:.72rem;font-weight:800;cursor:pointer}
.wsm-chart-btn:hover{background:var(--blue);color:#fff}

.wsm-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wsm-live-panel,.wsm-box{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(10,40,60,.06)}
.wsm-live-panel-head,.wsm-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line)}
.wsm-live-panel-head h3,.wsm-box-head h3{margin:0;font-size:1rem}
.wsm-live-panel-head span,.wsm-box-head span{font-size:.72rem;color:var(--muted)}
.wsm-frame-preview{height:330px;position:relative;background:#07111b;cursor:pointer;overflow:hidden}
.wsm-frame-preview iframe{width:150%;height:150%;transform:scale(.667);transform-origin:0 0;border:0;pointer-events:none}
.wsm-frame-cover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:15px;background:linear-gradient(180deg,transparent 72%,rgba(0,0,0,.45))}
.wsm-enlarge{background:rgba(4,25,38,.86);border:1px solid rgba(255,255,255,.25);color:#fff;padding:8px 11px;border-radius:9px;font-size:.75rem;font-weight:800}
.wsm-station-body{padding:18px;display:grid;grid-template-columns:128px 1fr;gap:16px;align-items:start}
.wsm-station-body img{width:128px;height:128px;object-fit:cover;border-radius:14px}
.wsm-station-body p{margin:0;color:var(--muted);font-size:.88rem}
.wsm-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.wsm-badge{padding:6px 9px;background:var(--panel);border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:800}

.wsm-page-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 10px 35px rgba(10,40,60,.06)}
.wsm-page-card h1{margin-top:0}
.wsm-page-card h2,.wsm-page-card h3{color:var(--ink)}
.wsm-page-card p,.wsm-page-card li{color:var(--muted)}

.wsm-all-data{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:19px;margin-top:18px}
.wsm-all-data summary{cursor:pointer;font-weight:850}
.wsm-raw-search{margin:15px 0 10px;width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}
.wsm-raw-table-wrap{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.wsm-raw-table{width:100%;border-collapse:collapse;font-size:.78rem}
.wsm-raw-table th,.wsm-raw-table td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left}
.wsm-raw-table th{position:sticky;top:0;z-index:2;background:var(--panel)}

/* modals */
.wsm-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,8,15,.78);backdrop-filter:blur(8px)}
.wsm-modal.is-open{display:flex}
.wsm-modal-card{width:min(1500px,97vw);height:min(900px,93vh);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 25px 100px rgba(0,0,0,.5)}
.wsm-modal-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--line)}
.wsm-modal-head h3{margin:0}
.wsm-modal-close{border:0;background:var(--panel);color:var(--ink);width:38px;height:38px;border-radius:9px;font-size:1.35rem;cursor:pointer}
.wsm-modal-body{flex:1;min-height:0}
.wsm-modal-body iframe{width:100%;height:100%;border:0;background:#07111b}
.wsm-chart-card{width:min(1100px,96vw);height:auto;max-height:92vh}
.wsm-chart-body{padding:20px;overflow:auto}
.wsm-periods{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.wsm-period-btn{padding:8px 11px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:.75rem;font-weight:800;cursor:pointer}
.wsm-period-btn.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.wsm-chart-shell{height:410px;padding:10px;position:relative;border-radius:14px;border:1px solid var(--line);background:var(--panel)}
.wsm-chart-shell svg{width:100%;height:100%;overflow:visible}
.wsm-chart-empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);padding:25px}
.wsm-chart-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.wsm-chart-stat{padding:9px 12px;border-radius:9px;background:var(--panel);border:1px solid var(--line);font-size:.76rem}

/* Footer */
.wsm-footer{margin-top:36px;background:var(--navy2);color:#c8dce7;padding:38px 0 24px}
.wsm-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
.wsm-footer-logo{width:330px;max-width:100%;filter:brightness(0) invert(1)}
.wsm-footer h3{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-top:0}
.wsm-footer p,.wsm-footer li{font-size:.8rem}
.wsm-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.wsm-footer-bottom{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.78rem;color:#a8c2d0}

/* Responsive */
@media(max-width:1100px){
  .wsm-hero{grid-template-columns:1fr}
  .wsm-summary{grid-template-columns:repeat(4,1fr)}
  .wsm-data-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .wsm-wrap{width:min(var(--max),calc(100% - 24px))}
  .wsm-topbar-right{display:none}
  .wsm-brand-inner{min-height:145px;align-items:flex-start;padding:22px 0}
  .wsm-branding{max-width:100%}
  .wsm-branding img{width:310px;max-width:70vw}
  .wsm-brand-copy{display:none}
  .wsm-brand-meta{display:none}
  .wsm-menu-btn{display:grid}
  .wsm-nav{display:none;position:absolute;left:0;right:0;top:56px;background:var(--navy2);box-shadow:0 20px 45px rgba(0,0,0,.35)}
  .wsm-nav.is-open{display:block}
  .wsm-nav ul{display:block}
  .wsm-nav a{padding:13px 20px}
  .wsm-summary{grid-template-columns:1fr 1fr}
  .wsm-now-inner{grid-template-columns:1fr 180px;padding:26px}
  .wsm-weather-icon{height:170px}
  .wsm-sun-disc{width:92px;height:92px}
  .wsm-cloud{width:126px;height:42px}
  .wsm-data-grid{grid-template-columns:1fr 1fr}
  .wsm-grid-two,.wsm-footer-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .wsm-topbar-inner{justify-content:center}
  .wsm-topbar-left span:nth-child(2){display:none}
  .wsm-brandbar{background-position:center top}
  .wsm-branding img{width:290px;max-width:82vw}
  .wsm-main{padding-top:14px}
  .wsm-now{min-height:360px;border-radius:18px}
  .wsm-now-inner{display:block;padding:24px}
  .wsm-now-temp{font-size:5.9rem}
  .wsm-weather-icon{position:absolute;right:12px;top:48px;width:146px;height:132px;opacity:.95}
  .wsm-sun-disc{width:74px;height:74px}
  .wsm-cloud{width:108px;height:40px;bottom:16px}
  .wsm-summary{gap:9px}
  .wsm-summary-card{padding:14px}
  .wsm-summary-card strong{font-size:1.34rem}
  .wsm-data-grid{grid-template-columns:1fr;gap:9px}
  .wsm-grid-two{gap:12px}
  .wsm-frame-preview{height:246px}
  .wsm-station-body{grid-template-columns:1fr}
  .wsm-station-body img{width:100%;height:190px}
  .wsm-modal{padding:6px}
  .wsm-modal-card{width:100vw;height:96vh;border-radius:12px}
  .wsm-chart-shell{height:320px}
  .wsm-footer-bottom{display:block}
  .wsm-footer-bottom span{display:block;margin-top:4px}
}

/* v1.3.0 */

.wsm-radar-single{max-width:100%;}


/* Weather Underground historie */
.wsm-history-link{display:inline-flex;align-items:center;height:38px;padding:0 13px;border-radius:10px;background:rgba(35,200,239,.13);border:1px solid rgba(70,217,247,.30);font-size:.78rem;font-weight:850;letter-spacing:.02em;color:#e9faff;white-space:nowrap}
.wsm-history-link:hover{background:rgba(35,200,239,.24)}
.wsm-history-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.6fr);gap:18px;margin-bottom:20px}
.wsm-history-intro{position:relative;overflow:hidden;border-radius:22px;padding:28px 30px;color:#fff;background:linear-gradient(125deg,#07314e,#0d6f9c 58%,#18b8c7);box-shadow:var(--shadow)}
.wsm-history-intro:after{content:"";position:absolute;right:-55px;top:-90px;width:270px;height:270px;border-radius:50%;background:rgba(255,255,255,.08)}
.wsm-history-intro>*{position:relative;z-index:1}.wsm-history-intro h1{margin:0 0 9px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02}.wsm-history-intro p{max-width:800px;margin:0;color:#dcf5fb}
.wsm-history-status{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;justify-content:center}.wsm-history-status small{font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.wsm-history-status strong{font-size:1.25rem;margin-top:6px}.wsm-history-status span{font-size:.78rem;color:var(--muted);margin-top:8px}
.wsm-history-shell{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 40px rgba(10,40,60,.07);overflow:hidden}
.wsm-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--panel)}
.wsm-history-ranges,.wsm-history-tabs{display:flex;gap:7px;flex-wrap:wrap}
.wsm-history-range,.wsm-history-tab{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:8px 11px;font-size:.76rem;font-weight:820;cursor:pointer;transition:.15s}
.wsm-history-range:hover,.wsm-history-tab:hover{border-color:var(--blue)}
.wsm-history-range.is-active,.wsm-history-tab.is-active{background:var(--blue);border-color:var(--blue);color:#fff}
.wsm-history-tabs{padding:14px 18px;border-bottom:1px solid var(--line)}
.wsm-history-chart-area{padding:20px}
.wsm-history-chart-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.wsm-history-chart-title h2{margin:0;font-size:1.25rem}.wsm-history-chart-title p{margin:4px 0 0;font-size:.78rem;color:var(--muted)}
.wsm-history-chart{height:470px;border:1px solid var(--line);border-radius:16px;background:var(--panel);position:relative;padding:12px;overflow:hidden}.wsm-history-chart svg{width:100%;height:100%;overflow:visible}.wsm-history-loading{height:100%;display:grid;place-items:center;color:var(--muted);text-align:center;padding:25px}.wsm-history-error{color:var(--red)}
.wsm-history-legend{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 12px}.wsm-history-legend button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:7px 9px;border-radius:9px;font-size:.73rem;font-weight:800;cursor:pointer}.wsm-history-legend button.is-off{opacity:.42}.wsm-history-dot{width:9px;height:9px;border-radius:50%;background:var(--legend-color)}
.wsm-history-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.wsm-history-stat{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:11px 13px}.wsm-history-stat small{display:block;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.wsm-history-stat strong{display:block;font-size:1.15rem;margin-top:4px}
.wsm-history-note{margin-top:14px;font-size:.75rem;color:var(--muted)}
.wsm-history-tooltip{position:absolute;display:none;min-width:180px;padding:10px 12px;border-radius:10px;background:rgba(3,20,32,.94);color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:.72rem;pointer-events:none;z-index:5}.wsm-history-tooltip strong{display:block;margin-bottom:5px}.wsm-history-tooltip span{display:block;color:#d7edf7;margin-top:2px}
.wsm-history-actions{display:flex;gap:8px;flex-wrap:wrap}.wsm-history-action{border:1px solid var(--line);background:var(--card);color:var(--blue);padding:8px 11px;border-radius:9px;font-size:.75rem;font-weight:800;cursor:pointer}
@media(max-width:860px){.wsm-history-hero{grid-template-columns:1fr}.wsm-history-stats{grid-template-columns:1fr 1fr}.wsm-history-chart{height:400px}}
@media(max-width:560px){.wsm-history-chart-area{padding:13px}.wsm-history-chart{height:330px}.wsm-history-stats{grid-template-columns:1fr 1fr}.wsm-history-toolbar,.wsm-history-tabs{padding:11px}.wsm-history-intro{padding:22px}.wsm-history-chart-title{display:block}.wsm-history-actions{margin-top:10px}}


/* Performance: radar previews are loaded only when they approach the viewport. */
.wsm-frame-preview iframe[data-src]:not([data-loaded="1"]){opacity:0}
.wsm-frame-preview:has(iframe[data-src]:not([data-loaded="1"])):before{
  content:"Live kaart wordt geladen zodra deze in beeld komt";
  position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;
  color:#b9ced9;background:radial-gradient(circle at 50% 30%,#123954,#07111b 72%);
  font-size:.8rem;font-weight:750;z-index:0
}
.wsm-frame-preview iframe{transition:opacity .2s ease}

/* 15-daagse verwachting – tabdashboard */
.wsm-forecast-section{margin-top:32px}
.wsm-forecast-location{display:inline-flex;margin-bottom:5px;color:var(--blue);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.075em}
.wsm-forecast-updated{font-size:.72rem;color:var(--muted);white-space:nowrap}
.wsm-forecast-dashboard{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 42px rgba(10,40,60,.08)}
.wsm-forecast-tabs{display:grid;grid-template-columns:repeat(6,1fr);background:linear-gradient(180deg,var(--panel),var(--card));border-bottom:1px solid var(--line)}
.wsm-forecast-tab{position:relative;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);padding:15px 12px 14px;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}
.wsm-forecast-tab:last-child{border-right:0}
.wsm-forecast-tab span{display:block;color:var(--muted);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.wsm-forecast-tab strong{display:block;margin-top:3px;font-size:.83rem}
.wsm-forecast-tab:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:transparent}
.wsm-forecast-tab:hover{background:rgba(17,149,217,.06)}
.wsm-forecast-tab.is-active{background:var(--card);color:var(--blue)}
.wsm-forecast-tab.is-active:after{background:var(--blue)}
.wsm-forecast-panel{padding:22px}
.wsm-forecast-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}
.wsm-forecast-kicker{display:block;color:var(--blue);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.wsm-forecast-panel-head h3{margin:4px 0 2px;font-size:1.25rem}
.wsm-forecast-panel-head p{margin:0;color:var(--muted);font-size:.79rem}
.wsm-forecast-current-stat{min-width:150px;text-align:right;padding:10px 12px;border-radius:13px;background:var(--panel);border:1px solid var(--line)}
.wsm-forecast-current-stat small{display:block;color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}
.wsm-forecast-current-stat strong{display:block;margin-top:3px;font-size:1.55rem;line-height:1;color:var(--ink)}
.wsm-forecast-chart{height:355px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--panel),var(--card));padding:6px 8px;overflow:hidden}
.wsm-forecast-chart svg{width:100%;height:100%;display:block}
.wsm-forecast-loading{height:100%;min-height:230px;display:grid;place-items:center;color:var(--muted);font-size:.82rem}
.wsm-forecast-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.wsm-forecast-stats>div{padding:11px 13px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.wsm-forecast-stats small{display:block;color:var(--muted);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.wsm-forecast-stats strong{display:block;margin-top:3px;font-size:1rem}
.wsm-forecast-days{display:grid;grid-template-columns:repeat(15,minmax(92px,1fr));gap:8px;margin-top:14px;overflow-x:auto;padding:1px 1px 7px;scrollbar-width:thin}
.wsm-forecast-day{min-width:92px;padding:10px;border-radius:13px;background:var(--panel);border:1px solid var(--line)}
.wsm-forecast-day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:5px}
.wsm-forecast-day-top strong{display:block;font-size:.72rem}
.wsm-forecast-day-top span:not(.wsm-forecast-day-icon){display:block;color:var(--muted);font-size:.58rem}
.wsm-forecast-day-icon{font-size:1.05rem;line-height:1}
.wsm-forecast-day>b{display:block;margin:11px 0 5px;font-size:1.02rem}
.wsm-forecast-day>small{display:block;height:29px;overflow:hidden;color:var(--muted);font-size:.58rem;line-height:1.3}
.wsm-forecast-day>em{display:block;margin-top:5px;color:var(--muted);font-size:.58rem;font-style:normal;font-weight:800}
@media(max-width:1050px){
  .wsm-forecast-tabs{grid-template-columns:repeat(3,1fr)}
  .wsm-forecast-tab:nth-child(3){border-right:0}
  .wsm-forecast-tab:nth-child(-n+3){border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
  .wsm-forecast-tabs{display:flex;overflow-x:auto}
  .wsm-forecast-tab{min-width:145px;border-bottom:0!important}
  .wsm-forecast-panel{padding:14px}
  .wsm-forecast-panel-head{align-items:stretch;flex-direction:column;gap:10px}
  .wsm-forecast-current-stat{text-align:left;min-width:0}
  .wsm-forecast-chart{height:315px;overflow-x:auto}
  .wsm-forecast-chart svg{min-width:860px}
  .wsm-forecast-stats{grid-template-columns:repeat(2,1fr)}
  .wsm-forecast-updated{display:none}
}


/* Radar en onweerdetectie met beeld, zonder dubbele websiteheader */
.wsm-radar-card{overflow:hidden}
.wsm-radar-preview{
  position:relative;
  display:block;
  width:100%;
  height:330px;
  padding:0;
  border:0;
  background:#06131d;
  overflow:hidden;
  cursor:pointer;
  text-align:left;
}
.wsm-radar-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  transition:transform .28s ease,filter .28s ease;
}
.wsm-radar-preview:hover .wsm-radar-image{transform:scale(1.035)}
.wsm-radar-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(3,18,29,.78) 100%);
  pointer-events:none;
}
.wsm-radar-label{
  position:absolute;
  left:18px;
  bottom:17px;
  z-index:3;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.55)
}
.wsm-radar-label strong{display:block;font-size:1rem}
.wsm-radar-label small{display:block;margin-top:3px;font-size:.72rem;color:#d8edf7}
.wsm-radar-open{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:4;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(3,28,43,.84);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:.7rem;
  font-weight:850;
  backdrop-filter:blur(5px)
}
.wsm-lightning-preview .wsm-radar-image{
  filter:saturate(.75) brightness(.56) contrast(1.18) hue-rotate(12deg)
}
.wsm-lightning-tint{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 72% 32%,rgba(147,94,255,.30),transparent 24%),
    radial-gradient(circle at 38% 58%,rgba(30,195,255,.18),transparent 26%),
    linear-gradient(180deg,rgba(4,13,28,.10),rgba(4,9,23,.50));
  pointer-events:none
}
.wsm-lightning-bolts{position:absolute;inset:0;z-index:2;pointer-events:none}
.wsm-lightning-bolts i{
  position:absolute;
  color:#ffe45d;
  font-style:normal;
  font-size:2.15rem;
  filter:drop-shadow(0 0 9px rgba(255,225,79,.9));
  opacity:.92
}
.wsm-lightning-bolts i:nth-child(1){left:28%;top:30%;transform:rotate(-10deg)}
.wsm-lightning-bolts i:nth-child(2){left:61%;top:43%;transform:rotate(8deg) scale(.86)}
.wsm-lightning-bolts i:nth-child(3){left:75%;top:20%;transform:rotate(-4deg) scale(.72)}
.wsm-lightning-preview:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(180deg,transparent 48%,rgba(3,10,23,.83) 100%);
  pointer-events:none
}
.wsm-radar-credit{
  margin:7px 3px 0;
  text-align:right;
  color:var(--muted);
  font-size:.62rem
}
.wsm-radar-credit a{color:var(--blue);font-weight:800}
@media(max-width:700px){
  .wsm-radar-preview{height:270px}
  .wsm-radar-label small{max-width:190px}
}

/* Popupfix radar/onweer */
.wsm-modal-body{background:#07111b}.wsm-modal-body iframe{display:block;width:100%;height:100%;border:0;background:#07111b}


/* v1.6.0 – radar popups + tablet/mobile */
html,body{max-width:100%;overflow-x:hidden}
.wsm-nav-inner{position:relative}
.wsm-radar-preview:focus-visible,.wsm-forecast-tab:focus-visible,.wsm-icon-btn:focus-visible,.wsm-history-link:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

/* Echte Blitzortung-preview rond Medemblik */
.wsm-lightning-preview{background:#07111b}
.wsm-lightning-map-preview{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#07111b}
.wsm-lightning-preview-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(2,10,18,.03) 48%,rgba(2,10,18,.82) 100%);pointer-events:none}
.wsm-lightning-preview .wsm-radar-label,.wsm-lightning-preview .wsm-radar-open{z-index:3}

/* Popup: Buienradar als passende afbeelding, onweerradar als interactieve kaart */
.wsm-modal-body iframe[hidden],.wsm-radar-modal-image-wrap[hidden]{display:none!important}
.wsm-modal-card.is-radar{width:min(790px,96vw);height:min(890px,94vh)}
.wsm-modal-card.is-lightning{width:min(1480px,97vw);height:min(900px,93vh)}
.wsm-radar-modal-image-wrap{flex:1;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:14px;background:#07111b}
.wsm-radar-modal-image-wrap img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px}
.wsm-modal-card.is-lightning .wsm-modal-body iframe{display:block;width:100%;height:100%;border:0}

/* Tablet */
@media(max-width:1024px){
  .wsm-wrap{width:min(var(--max),calc(100% - 28px))}
  .wsm-brand-inner{min-height:165px;padding:20px 0}
  .wsm-branding img{width:min(360px,45vw)}
  .wsm-brand-copy strong{font-size:1.7rem}
  .wsm-brand-copy span{font-size:.73rem}
  .wsm-brand-meta{min-width:195px;padding:13px 15px}
  .wsm-brand-temp{font-size:2rem}
  .wsm-nav a{padding-left:10px;padding-right:10px;font-size:.8rem}
  .wsm-hero{grid-template-columns:1fr}
  .wsm-summary{grid-template-columns:repeat(4,1fr)}
  .wsm-data-grid{grid-template-columns:repeat(2,1fr)}
  .wsm-grid-two{grid-template-columns:1fr 1fr}
  .wsm-radar-preview{height:300px}
  .wsm-station-body{grid-template-columns:110px 1fr}
  .wsm-station-body img{width:110px;height:110px}
}

/* Kleine tablet / grote telefoon */
@media(max-width:860px){
  .wsm-wrap{width:calc(100% - 24px)}
  .wsm-topbar-inner{min-height:34px}
  .wsm-topbar-right{display:none}
  .wsm-brand-inner{min-height:135px;align-items:center;padding:18px 0}
  .wsm-branding{max-width:100%;width:100%}
  .wsm-branding img{width:min(320px,72vw)}
  .wsm-brand-copy,.wsm-brand-meta{display:none}
  .wsm-menu-btn{display:grid;flex:0 0 auto}
  .wsm-nav-inner{min-height:54px}
  .wsm-nav{display:none;position:absolute;z-index:120;left:0;right:0;top:54px;max-height:calc(100vh - 80px);overflow-y:auto;background:var(--navy2);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 20px 45px rgba(0,0,0,.4)}
  .wsm-nav.is-open{display:block}
  .wsm-nav ul{display:block}
  .wsm-nav a{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07);font-size:.86rem}
  .wsm-actions{margin-left:auto}
  .wsm-summary{grid-template-columns:1fr 1fr}
  .wsm-now-inner{grid-template-columns:minmax(0,1fr) 170px;padding:24px}
  .wsm-data-grid{grid-template-columns:1fr 1fr}
  .wsm-grid-two,.wsm-footer-grid{grid-template-columns:1fr}
  .wsm-radar-preview{height:330px}
  .wsm-section-head{align-items:flex-start;flex-wrap:wrap}
  .wsm-section-head>div{min-width:0}
  .wsm-history-hero{grid-template-columns:1fr}
  .wsm-history-ranges,.wsm-history-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .wsm-history-range,.wsm-history-tab{flex:0 0 auto}
  .wsm-history-chart{height:390px;overflow:hidden}
  .wsm-history-chart svg{min-width:0;max-width:100%;width:100%;height:100%}
  .wsm-modal-card.is-radar{width:min(760px,96vw);height:min(860px,94vh)}
  .wsm-modal-card.is-lightning{width:97vw;height:92vh}
}

/* Telefoon */
@media(max-width:560px){
  .wsm-wrap{width:calc(100% - 18px)}
  .wsm-topbar-inner{justify-content:center}
  .wsm-topbar-left span:nth-child(2){display:none}
  .wsm-brandbar{background-position:center top}
  .wsm-brand-inner{min-height:112px;padding:14px 0}
  .wsm-branding img{width:min(285px,82vw)}
  .wsm-history-link{height:36px;padding:0 10px;font-size:.7rem}
  .wsm-icon-btn{width:38px;height:38px}
  .wsm-main{padding:12px 0 42px}
  .wsm-hero{gap:12px}
  .wsm-now{min-height:330px;border-radius:17px}
  .wsm-now-inner{display:block;padding:20px}
  .wsm-now-temp{font-size:clamp(4.6rem,22vw,5.6rem)}
  .wsm-now-desc{font-size:1.12rem;max-width:62%}
  .wsm-now-sub{font-size:.76rem;gap:9px;max-width:65%}
  .wsm-weather-icon{position:absolute;right:6px;top:48px;width:128px;height:120px}
  .wsm-sun-disc{width:68px;height:68px}
  .wsm-cloud{width:96px;height:36px;right:2px;bottom:18px}
  .wsm-summary{grid-template-columns:1fr 1fr;gap:8px}
  .wsm-summary-card{padding:13px}
  .wsm-summary-card strong{font-size:1.28rem}
  .wsm-section-head{margin:22px 0 11px}
  .wsm-section-head h2{font-size:1.22rem}
  .wsm-section-head p{font-size:.76rem}
  .wsm-data-grid{grid-template-columns:1fr;gap:8px}
  .wsm-metric{min-height:126px}
  .wsm-radar-preview{height:255px}
  .wsm-radar-label{left:13px;bottom:13px;max-width:65%}
  .wsm-radar-label strong{font-size:.88rem}
  .wsm-radar-label small{font-size:.65rem}
  .wsm-radar-open{right:11px;bottom:11px;padding:7px 8px;font-size:.64rem}
  .wsm-station-body{grid-template-columns:1fr;padding:14px}
  .wsm-station-body img{width:100%;height:175px}
  .wsm-page-card{padding:18px}
  .wsm-modal{padding:0}
  .wsm-modal-card,.wsm-modal-card.is-radar,.wsm-modal-card.is-lightning{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0}
  .wsm-modal-head{height:54px;flex:0 0 54px;padding:0 12px}
  .wsm-modal-head h3{font-size:.92rem}
  .wsm-radar-modal-image-wrap{padding:8px}
  .wsm-history-intro{padding:18px}
  .wsm-history-chart-area{padding:10px}
  .wsm-history-chart{height:315px;overflow:hidden}
  .wsm-history-chart svg{min-width:0;max-width:100%;width:100%;height:100%}
  .wsm-history-stats{grid-template-columns:1fr 1fr;gap:7px}
  .wsm-footer-bottom{display:block}
  .wsm-footer-bottom span{display:block;margin-top:4px}
}

/* Zeer smalle telefoon */
@media(max-width:390px){
  .wsm-history-link{display:none}
  .wsm-now-desc,.wsm-now-sub{max-width:58%}
  .wsm-weather-icon{right:0;transform:scale(.9);transform-origin:right top}
  .wsm-summary-card strong{font-size:1.15rem}
  .wsm-topbar{font-size:.7rem}
}


/* v1.6.1 – oorspronkelijke radarframe-opzet terug */
.wsm-weather-modal-card{width:min(1500px,97vw);height:min(900px,93vh)}
.wsm-weather-modal-card .wsm-modal-body{padding:0;background:#07111b}
.wsm-weather-modal-card .wsm-modal-body iframe{display:block;width:100%;height:100%;border:0;background:#07111b}
.wsm-frame-preview{height:330px;position:relative;background:#07111b;cursor:pointer;overflow:hidden}
.wsm-frame-preview iframe{display:block;width:150%;height:150%;transform:scale(.667);transform-origin:0 0;border:0;pointer-events:none;background:#07111b}
.wsm-frame-cover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:15px;background:linear-gradient(180deg,transparent 74%,rgba(0,0,0,.45))}
.wsm-enlarge{background:rgba(4,25,38,.88);border:1px solid rgba(255,255,255,.25);color:#fff;padding:8px 11px;border-radius:9px;font-size:.75rem;font-weight:850;backdrop-filter:blur(4px)}
.wsm-frame-preview:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

@media(max-width:1024px){
  .wsm-frame-preview{height:300px}
  .wsm-weather-modal-card{width:96vw;height:91vh}
}
@media(max-width:860px){
  .wsm-frame-preview{height:320px}
  .wsm-frame-preview iframe{width:135%;height:135%;transform:scale(.741)}
  .wsm-weather-modal-card{width:97vw;height:92vh}
}
@media(max-width:560px){
  .wsm-frame-preview{height:250px}
  .wsm-frame-preview iframe{width:125%;height:125%;transform:scale(.8)}
  .wsm-frame-cover{padding:10px}
  .wsm-enlarge{padding:7px 9px;font-size:.67rem}
  .wsm-weather-modal-card{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0}
}


/* v1.6.2 – mobiele stabiliteit */
.wsm-frame-preview iframe[src="about:blank"]{background:
  radial-gradient(circle at 50% 44%,rgba(35,200,239,.12),transparent 30%),
  linear-gradient(135deg,#07111b,#0c2231)}
@media(max-width:860px){
  .wsm-navbar{contain:layout paint}
  .wsm-nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .wsm-frame-preview{contain:layout paint}
  .wsm-frame-preview iframe{will-change:auto}
}
@media(max-width:560px){
  body{min-width:0}
  .wsm-wrap,.wsm-main,.wsm-hero,.wsm-now,.wsm-summary,.wsm-data-grid,.wsm-grid-two,.wsm-forecast-section,.wsm-history-shell{min-width:0}
  .wsm-frame-preview{height:238px}
  .wsm-frame-preview iframe{width:100%;height:100%;transform:none}
  .wsm-weather-modal-card .wsm-modal-body iframe{width:100%;height:100%;transform:none}
}


/* v1.7.0 – weerkaarten & pluimen */
.wsm-radar-more{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.wsm-radar-more span{color:var(--muted);font-size:.75rem}
.wsm-primary-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--blue);color:#fff;padding:10px 13px;font-size:.78rem;font-weight:850}
.wsm-primary-link:hover{filter:brightness(1.08)}

.wsm-model-page{--plume-member:#4aaad4;--plume-mean:#f0a928}
.wsm-model-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.5fr);gap:18px;margin-bottom:18px}
.wsm-model-hero>div{padding:30px;border-radius:22px;color:#fff;background:linear-gradient(125deg,#071d2c,#0c5476 55%,#1697ab);box-shadow:var(--shadow)}
.wsm-model-eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#bfeeff}
.wsm-model-hero h1{margin:7px 0 8px;font-size:clamp(2.1rem,4vw,3.35rem);line-height:1}
.wsm-model-hero p{max-width:850px;margin:0;color:#ddf3fb;line-height:1.55}
.wsm-model-hero aside{display:flex;flex-direction:column;justify-content:center;padding:23px;border-radius:22px;background:var(--card);border:1px solid var(--line)}
.wsm-model-hero aside small{font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.wsm-model-hero aside strong{margin-top:6px;font-size:1.35rem}.wsm-model-hero aside span{margin-top:5px;color:var(--muted);font-size:.8rem}

.wsm-model-main-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:17px;overflow:hidden;background:var(--card);margin-bottom:14px}
.wsm-model-main-tabs button{position:relative;border:0;border-right:1px solid var(--line);background:var(--card);color:var(--ink);padding:14px 15px;text-align:left;cursor:pointer}
.wsm-model-main-tabs button:last-child{border-right:0}
.wsm-model-main-tabs button span{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.wsm-model-main-tabs button strong{display:block;margin-top:3px;font-size:.95rem}
.wsm-model-main-tabs button.is-active{background:var(--panel);color:var(--blue)}
.wsm-model-main-tabs button.is-active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--blue);border-radius:3px 3px 0 0}

.wsm-model-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 38px rgba(7,35,51,.07)}
.wsm-model-panel[hidden]{display:none!important}
.wsm-model-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 20px;border-bottom:1px solid var(--line)}
.wsm-model-panel-head span{display:block;color:var(--blue);font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.075em}
.wsm-model-panel-head h2{margin:3px 0 2px;font-size:1.28rem}
.wsm-model-panel-head p{margin:0;color:var(--muted);font-size:.76rem}
.wsm-model-panel-head>b{display:grid;place-items:center;min-width:82px;height:48px;border-radius:12px;background:var(--navy);color:#fff;font-size:.9rem;letter-spacing:.05em}

.wsm-layer-tabs,.wsm-plume-tabs{display:flex;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel);overflow-x:auto}
.wsm-layer-tabs button,.wsm-plume-tabs button{flex:0 0 auto;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);padding:8px 12px;font-size:.75rem;font-weight:820;cursor:pointer}
.wsm-layer-tabs button.is-active,.wsm-plume-tabs button.is-active{background:var(--blue);border-color:var(--blue);color:#fff}

.wsm-model-map{height:650px;background:#07111b}
.wsm-model-map iframe{display:block;width:100%;height:100%;border:0;background:#07111b}
.wsm-model-source{margin:0;padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.67rem}

.wsm-plume-card{padding:16px}
.wsm-plume-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.wsm-plume-head strong{font-size:.9rem}.wsm-plume-head span{color:var(--muted);font-size:.68rem}
.wsm-plume-chart{height:445px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,var(--panel),var(--card));padding:8px;overflow:hidden}
.wsm-plume-chart svg{display:block;width:100%;height:100%}
.wsm-plume-loading{height:100%;display:grid;place-items:center;color:var(--muted);font-size:.8rem;text-align:center;padding:25px}.wsm-plume-error{color:var(--red)}
.wsm-plume-legend{display:flex;gap:18px;align-items:center;margin-top:10px;color:var(--muted);font-size:.68rem}
.wsm-plume-legend span{display:flex;align-items:center;gap:7px}.wsm-plume-legend i{display:block;width:22px;height:3px;border-radius:3px}
.wsm-plume-legend i.members{background:var(--plume-member);opacity:.45}.wsm-plume-legend i.mean{background:var(--plume-mean)}

.wsm-model-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.wsm-model-info>div{padding:15px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.wsm-model-info strong{display:block;color:var(--blue);font-size:.78rem}.wsm-model-info span{display:block;margin-top:5px;color:var(--muted);font-size:.7rem;line-height:1.45}

@media(max-width:900px){
  .wsm-model-hero{grid-template-columns:1fr}
  .wsm-model-main-tabs{grid-template-columns:1fr 1fr}
  .wsm-model-main-tabs button:nth-child(2){border-right:0}
  .wsm-model-main-tabs button:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .wsm-model-map{height:560px}
  .wsm-model-info{grid-template-columns:1fr}
}
@media(max-width:600px){
  .wsm-radar-more{align-items:flex-start;flex-direction:column}
  .wsm-model-hero>div{padding:21px}
  .wsm-model-hero h1{font-size:2rem}
  .wsm-model-main-tabs{display:flex;overflow-x:auto}
  .wsm-model-main-tabs button{min-width:145px;border-bottom:0!important}
  .wsm-model-panel-head{align-items:flex-start}.wsm-model-panel-head>b{min-width:64px;height:42px}
  .wsm-model-map{height:72vh;min-height:480px}
  .wsm-plume-card{padding:10px}
  .wsm-plume-chart{height:350px;overflow-x:auto}
  .wsm-plume-chart svg{min-width:760px}
  .wsm-plume-head{align-items:flex-start;flex-direction:column;gap:3px}
}


/* v1.7.1 – frontpage zonder radar-iframes */
.wsm-static-radar-preview,.wsm-static-lightning-preview{
  position:relative;height:330px;overflow:hidden;background:#07131d;cursor:pointer
}
.wsm-static-radar-preview:focus-visible,.wsm-static-lightning-preview:focus-visible{
  outline:3px solid var(--cyan);outline-offset:-3px
}
.wsm-static-map-bg{
  position:absolute;inset:0;background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 42% 46%,rgba(18,112,148,.28),transparent 22%),
    linear-gradient(135deg,#173039,#0d252f 42%,#143944 100%);
  background-size:42px 42px,42px 42px,auto,auto
}
.wsm-static-map-bg:after{
  content:"Noordwest-Nederland";position:absolute;right:15px;top:14px;color:rgba(255,255,255,.55);
  font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase
}
.wsm-map-coast{position:absolute;display:block;border:1px solid rgba(132,190,161,.32);background:rgba(78,117,93,.18);transform:rotate(-13deg)}
.coast-a{width:180px;height:255px;left:35%;top:25px;border-radius:55% 30% 45% 40%}
.coast-b{width:105px;height:120px;left:19%;top:145px;border-radius:42% 55% 37% 53%}
.coast-c{width:115px;height:80px;left:58%;top:155px;border-radius:50%}
.wsm-map-marker{position:absolute;z-index:3;left:49%;top:37%;display:flex;align-items:center;gap:5px;color:#fff;font-size:.66rem;font-weight:850;text-shadow:0 2px 7px #000}
.wsm-map-marker i{width:9px;height:9px;border-radius:50%;background:var(--cyan);border:2px solid #fff;box-shadow:0 0 0 5px rgba(35,200,239,.23)}
.wsm-static-radar-preview>img{
  position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;opacity:.83;mix-blend-mode:screen
}
.wsm-static-lightning-preview>img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:43% 31%;transform:scale(1.18);transition:transform .25s ease
}
.wsm-static-lightning-preview:hover>img{transform:scale(1.22)}
.wsm-static-radar-preview:after,.wsm-static-lightning-preview:after{
  content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(2,14,23,.88) 100%);pointer-events:none
}
.wsm-static-preview-status{
  position:absolute;z-index:5;left:17px;right:17px;bottom:15px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;color:#fff
}
.wsm-static-preview-status strong{display:block;font-size:.92rem}
.wsm-static-preview-status small{display:block;margin-top:3px;color:#cae4ee;font-size:.65rem}
.wsm-static-preview-status b{
  flex:0 0 auto;padding:8px 10px;border-radius:9px;background:rgba(3,28,43,.86);border:1px solid rgba(255,255,255,.22);
  font-size:.68rem;backdrop-filter:blur(5px)
}

/* Mobiel/tablet: geen automatische zware kaartcomponenten */
@media(max-width:1024px){
  .wsm-static-radar-preview,.wsm-static-lightning-preview{height:295px}
}
@media(max-width:860px){
  .wsm-static-radar-preview,.wsm-static-lightning-preview{height:320px;contain:layout paint}
}
@media(max-width:560px){
  .wsm-static-radar-preview,.wsm-static-lightning-preview{height:235px}
  .wsm-static-preview-status{left:12px;right:12px;bottom:11px}
  .wsm-static-preview-status span{max-width:67%}
  .wsm-static-preview-status strong{font-size:.8rem}
  .wsm-static-preview-status small{font-size:.58rem}
  .wsm-static-preview-status b{font-size:.62rem;padding:7px 8px}
}


/* v1.7.2 – 15-daagse verwachting zonder grafiek */
.wsm-forecast-panel-head{margin-bottom:12px}
.wsm-forecast-stats{margin-top:0}
.wsm-forecast-days{margin-top:12px}
.wsm-forecast-empty{
  grid-column:1/-1;
  padding:22px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
  color:var(--muted);
  text-align:center;
  font-size:.8rem
}


/* v1.7.3 – landelijk weerbericht + hoofdmetingen in blauw vlak */
.wsm-now-inner{align-items:center}
.wsm-now-inner>div:first-child{min-width:0}
.wsm-now-metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
  margin-top:20px;max-width:820px
}
.wsm-now-metrics>div{
  min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.15);
  border-radius:12px;background:rgba(3,25,39,.23);backdrop-filter:blur(5px)
}
.wsm-now-metrics small{
  display:block;color:#c9e6f2;font-size:.58rem;font-weight:850;
  text-transform:uppercase;letter-spacing:.05em
}
.wsm-now-metrics strong{
  display:block;margin-top:4px;color:#fff;font-size:.95rem;white-space:nowrap
}
.wsm-now-metrics span{
  display:block;margin-top:3px;color:#c9e6f2;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.wsm-now-metrics b{font-weight:800}

.wsm-national-forecast{
  min-height:100%;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:20px;background:var(--card);
  box-shadow:0 10px 34px rgba(6,35,53,.08)
}
.wsm-national-head{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:17px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--panel),var(--card))
}
.wsm-national-head span{
  display:block;color:var(--blue);font-size:.61rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.07em
}
.wsm-national-head h2{margin:3px 0 0;font-size:1.13rem}
.wsm-national-head>b{
  display:grid;place-items:center;width:42px;height:42px;border-radius:11px;
  background:var(--navy);color:#fff;font-size:.75rem;letter-spacing:.05em
}
.wsm-national-window{
  position:relative;flex:1;min-height:240px;max-height:310px;overflow:hidden;
  padding:0 18px;background:
    linear-gradient(var(--card) 0%,transparent 9%),
    linear-gradient(transparent 88%,var(--card) 100%)
}
.wsm-national-track{position:relative}
.wsm-national-track.is-scrolling{animation:wsm-national-scroll 32s linear infinite}
.wsm-national-window:hover .wsm-national-track{animation-play-state:paused}
.wsm-national-copy{padding:15px 0}
.wsm-national-item{padding:0 0 16px;margin:0 0 14px;border-bottom:1px solid var(--line)}
.wsm-national-item:last-child{margin-bottom:0}
.wsm-national-item h3{margin:0 0 6px;font-size:.82rem;line-height:1.3}
.wsm-national-item p{margin:0;color:var(--muted);font-size:.73rem;line-height:1.58}
.wsm-national-foot{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 17px;border-top:1px solid var(--line);background:var(--panel);
  color:var(--muted);font-size:.62rem
}
.wsm-national-foot a{color:var(--blue);font-weight:800}
@keyframes wsm-national-scroll{
  0%,9%{transform:translateY(0)}
  91%,100%{transform:translateY(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .wsm-national-track.is-scrolling{animation:none}
  .wsm-national-window{overflow-y:auto}
}

@media(max-width:1100px){
  .wsm-now-metrics{grid-template-columns:repeat(2,1fr)}
  .wsm-national-window{max-height:300px}
}
@media(max-width:860px){
  .wsm-national-forecast{min-height:330px}
  .wsm-national-window{max-height:260px}
}
@media(max-width:560px){
  .wsm-now{min-height:430px}
  .wsm-now-desc{max-width:100%}
  .wsm-now-sub{max-width:100%;padding-right:100px}
  .wsm-now-metrics{grid-template-columns:1fr 1fr;gap:6px;margin-top:16px}
  .wsm-now-metrics>div{padding:8px}
  .wsm-now-metrics strong{font-size:.82rem}
  .wsm-national-forecast{min-height:340px}
  .wsm-national-window{max-height:270px;padding:0 14px}
  .wsm-national-head{padding:14px}
  .wsm-national-foot{padding:9px 13px}
}


/* v1.7.4 – Chrome mobiel: lichtere eerste render */
@media(max-width:860px){
  .wsm-brand-meta,.wsm-now-metrics>div,.wsm-static-preview-status b,.wsm-enlarge{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important
  }
  .wsm-topbar,.wsm-navbar{backface-visibility:hidden}
}
@media(max-width:560px){
  .wsm-now{contain:layout paint}
  .wsm-national-forecast{contain:layout paint}
}


/* v1.7.5 – klikbare dagen in 15-daagse verwachting */
button.wsm-forecast-day{
  appearance:none;
  -webkit-appearance:none;
  width:auto;
  text-align:left;
  color:var(--ink);
  font:inherit;
  cursor:pointer;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease
}
button.wsm-forecast-day:hover{
  transform:translateY(-2px);
  border-color:rgba(25,146,201,.45);
  box-shadow:0 8px 22px rgba(10,55,78,.10)
}
button.wsm-forecast-day.is-active{
  border-color:var(--blue);
  background:linear-gradient(180deg,rgba(22,145,198,.10),var(--panel));
  box-shadow:0 0 0 2px rgba(22,145,198,.10)
}
button.wsm-forecast-day.is-active:before{
  content:"Geselecteerd";
  display:block;
  margin-bottom:7px;
  color:var(--blue);
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase
}
button.wsm-forecast-day:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:2px
}


/* v1.8.0 – Meteo Dashboard */
.wsm-meteo-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 4px;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,var(--panel),var(--card))}
.wsm-meteo-cta strong{display:block;font-size:.88rem}.wsm-meteo-cta span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}.wsm-meteo-cta a{flex:0 0 auto;padding:10px 13px;border-radius:10px;background:var(--blue);color:#fff;font-size:.75rem;font-weight:850}

.wsm-meteo-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(245px,.45fr);gap:18px;margin-bottom:18px}
.wsm-meteo-hero>div{padding:30px;border-radius:23px;color:#fff;background:linear-gradient(128deg,#061c2b,#0b5277 55%,#16a6b9);box-shadow:var(--shadow)}
.wsm-meteo-eyebrow{font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#c9effb}
.wsm-meteo-hero h1{margin:7px 0 9px;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1}.wsm-meteo-hero p{margin:0;max-width:850px;color:#dcf4fb;line-height:1.55}
.wsm-meteo-hero aside{display:flex;flex-direction:column;justify-content:center;padding:23px;border:1px solid var(--line);border-radius:23px;background:var(--card)}
.wsm-meteo-hero aside small{font-size:.63rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.wsm-meteo-hero aside strong{margin-top:6px;font-size:1.35rem}.wsm-meteo-hero aside span{margin-top:4px;color:var(--muted);font-size:.75rem}

.wsm-meteo-tabs{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:14px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:var(--card)}
.wsm-meteo-tabs button{position:relative;border:0;border-right:1px solid var(--line);background:var(--card);color:var(--ink);padding:13px 12px;text-align:left;cursor:pointer}.wsm-meteo-tabs button:last-child{border-right:0}
.wsm-meteo-tabs button span{display:block;color:var(--muted);font-size:.56rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.wsm-meteo-tabs button strong{display:block;margin-top:3px;font-size:.86rem}
.wsm-meteo-tabs button.is-active{background:var(--panel);color:var(--blue)}.wsm-meteo-tabs button.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}

.wsm-meteo-panel{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:0 12px 38px rgba(8,43,61,.07)}.wsm-meteo-panel[hidden]{display:none!important}
.wsm-meteo-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}
.wsm-meteo-panel-head span{display:block;color:var(--blue);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.wsm-meteo-panel-head h2{margin:3px 0;font-size:1.25rem}.wsm-meteo-panel-head p{margin:0;color:var(--muted);font-size:.73rem}.wsm-meteo-panel-head>strong{flex:0 0 auto;color:var(--muted);font-size:.69rem}
.wsm-meteo-loading{display:grid;place-items:center;min-height:220px;padding:25px;color:var(--muted);text-align:center;font-size:.8rem}.wsm-meteo-error{color:var(--red)}.wsm-meteo-note{margin:0;padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.66rem}

.wsm-hours-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:13px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.wsm-hours-summary>div{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card)}.wsm-hours-summary small{display:block;color:var(--muted);font-size:.58rem;text-transform:uppercase;font-weight:850}.wsm-hours-summary strong{display:block;margin-top:3px;font-size:.96rem}
.wsm-hours-strip{display:flex;gap:8px;overflow-x:auto;padding:15px;scroll-snap-type:x proximity}.wsm-hour-card{flex:0 0 150px;scroll-snap-align:start;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.wsm-hour-time{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.wsm-hour-time strong{font-size:.76rem}.wsm-hour-time span{color:var(--muted);font-size:.58rem}.wsm-hour-icon{font-size:1.55rem;margin:8px 0 4px}.wsm-hour-card>b{font-size:1.45rem}.wsm-hour-card>small{display:block;color:var(--muted);font-size:.62rem}.wsm-hour-card>em{display:block;margin:8px 0 7px;font-style:normal;font-size:.67rem;font-weight:760}.wsm-hour-lines{display:grid;gap:3px;color:var(--muted);font-size:.58rem}

.wsm-sunmoon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}.wsm-astro-card{min-height:150px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.wsm-astro-card>span{display:block;font-size:1.8rem}.wsm-astro-card small{display:block;margin-top:10px;color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase}.wsm-astro-card strong{display:block;margin-top:3px;font-size:1.16rem}.wsm-astro-card em{display:block;margin-top:4px;color:var(--muted);font-style:normal;font-size:.65rem}

.wsm-windrose-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.55fr);gap:14px;padding:16px}.wsm-windrose-chart{min-height:480px;display:grid;place-items:center;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.wsm-windrose-chart svg{width:min(100%,520px);height:auto}.wsm-windrose-stats{display:grid;gap:9px;align-content:start}.wsm-windrose-stats>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.wsm-windrose-stats small{display:block;color:var(--muted);font-size:.58rem;text-transform:uppercase;font-weight:850}.wsm-windrose-stats strong{display:block;margin-top:3px;font-size:1.1rem}.wsm-windrose-stats span{display:block;margin-top:3px;color:var(--muted);font-size:.62rem}

.wsm-rain-days{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;padding:16px;align-items:end}.wsm-rain-day{display:grid;grid-template-rows:auto 180px auto auto;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.wsm-rain-day>div:first-child strong{display:block;font-size:.7rem}.wsm-rain-day>div:first-child span{display:block;margin-top:2px;color:var(--muted);font-size:.56rem}.wsm-rain-bar{position:relative;display:flex;align-items:flex-end;justify-content:center;width:26px;height:100%;margin:auto;border-radius:9px;background:rgba(15,140,205,.08);overflow:hidden}.wsm-rain-bar i{display:block;width:100%;border-radius:7px 7px 0 0;background:linear-gradient(#43b4ef,#147ab2)}.wsm-rain-day>b{text-align:center;font-size:.8rem}.wsm-rain-day>small{text-align:center;color:var(--muted);font-size:.58rem}

.wsm-air-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:16px}.wsm-air-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.wsm-air-card small{display:block;color:var(--muted);font-size:.6rem;font-weight:850;text-transform:uppercase}.wsm-air-card strong{display:block;margin-top:5px;font-size:1.55rem}.wsm-air-card span{display:block;margin-top:3px;color:var(--muted);font-size:.65rem}.wsm-air-card.aqi.good{border-color:rgba(38,174,104,.45)}.wsm-air-card.aqi.fair{border-color:rgba(108,184,70,.45)}.wsm-air-card.aqi.moderate{border-color:rgba(230,170,45,.5)}.wsm-air-card.aqi.poor,.wsm-air-card.aqi.verypoor,.wsm-air-card.aqi.extreme{border-color:rgba(224,78,67,.55)}

.wsm-record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px}.wsm-record-card{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.wsm-record-card>span{display:block;font-size:1.45rem}.wsm-record-card small{display:block;margin-top:8px;color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase}.wsm-record-card strong{display:block;margin-top:4px;font-size:1.08rem}.wsm-record-card em{display:block;margin-top:4px;color:var(--muted);font-size:.6rem;font-style:normal}
.wsm-meteo-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.wsm-meteo-links a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--blue);font-size:.72rem;font-weight:800}

@media(max-width:1000px){.wsm-meteo-tabs{grid-template-columns:repeat(3,1fr)}.wsm-meteo-tabs button:nth-child(3n){border-right:0}.wsm-hours-summary{grid-template-columns:1fr 1fr}.wsm-sunmoon-grid{grid-template-columns:1fr 1fr}.wsm-rain-days{overflow-x:auto;display:flex}.wsm-rain-day{flex:0 0 130px}.wsm-air-grid{grid-template-columns:repeat(3,1fr)}.wsm-record-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.wsm-meteo-hero{grid-template-columns:1fr}.wsm-meteo-tabs{display:flex;overflow-x:auto}.wsm-meteo-tabs button{min-width:130px;flex:0 0 auto}.wsm-windrose-layout{grid-template-columns:1fr}.wsm-windrose-chart{min-height:360px}.wsm-meteo-cta{align-items:flex-start;flex-direction:column}.wsm-meteo-cta a{width:100%;text-align:center}}
@media(max-width:560px){.wsm-meteo-hero>div{padding:21px}.wsm-meteo-hero h1{font-size:2rem}.wsm-meteo-panel-head{align-items:flex-start}.wsm-meteo-panel-head>strong{padding-top:4px}.wsm-hours-summary{grid-template-columns:1fr 1fr;padding:10px}.wsm-hours-strip{padding:10px}.wsm-hour-card{flex-basis:138px}.wsm-sunmoon-grid{grid-template-columns:1fr 1fr;padding:10px}.wsm-astro-card{min-height:135px;padding:12px}.wsm-air-grid{grid-template-columns:1fr 1fr;padding:10px}.wsm-record-grid{grid-template-columns:1fr 1fr;padding:10px}.wsm-windrose-layout{padding:10px}}


/* v1.8.2 – zichtbare kaart onder de neerslagradar */
.wsm-radar-live-map{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#dfe7ea;
}
.wsm-radar-base-layer,
.wsm-radar-overlay-layer{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.wsm-radar-base-layer{z-index:1}
.wsm-radar-overlay-layer{z-index:2;pointer-events:none}
.wsm-radar-base-layer img,
.wsm-radar-overlay-layer img{
  position:absolute;
  width:256px;
  height:256px;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  user-select:none;
}
.wsm-radar-base-layer img{z-index:1}
.wsm-radar-overlay-layer img{z-index:2;opacity:.78}
.wsm-radar-center{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:6px;
  color:#fff;
  font-size:.66rem;
  font-weight:900;
  text-shadow:0 1px 5px rgba(0,0,0,.9);
  pointer-events:none;
}
.wsm-radar-center i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#18c8ef;
  border:2px solid #fff;
  box-shadow:0 0 0 5px rgba(24,200,239,.25),0 2px 6px rgba(0,0,0,.35);
}
.wsm-radar-attribution{
  position:absolute;
  z-index:5;
  right:7px;
  top:7px;
  padding:4px 6px;
  border-radius:5px;
  background:rgba(3,25,39,.70);
  color:#fff;
  font-size:.49rem;
  line-height:1.1;
  pointer-events:none;
}
.wsm-static-radar-preview>.wsm-radar-live-map+ .wsm-static-preview-status{
  z-index:7;
}
@media(max-width:560px){
  .wsm-radar-attribution{font-size:.45rem}
  .wsm-radar-center{font-size:.58rem}
}


/* v1.8.3 – progressieve jaarhistorie */
.wsm-history-progress-note{display:block;margin-top:5px;color:var(--muted);font-size:.58rem;line-height:1.35}


/* v1.8.4 – tablet/mobile navigatiemenu */
@media(max-width:860px){
  /*
   * Belangrijk: geen paint-containment op de sticky navbar.
   * Het uitklapmenu staat absoluut onder de 54px hoge balk en werd door
   * contain:paint volledig afgeknipt, hoewel .is-open correct werd gezet.
   */
  .wsm-navbar{
    contain:none!important;
    overflow:visible!important;
    z-index:500;
  }
  .wsm-nav-inner{
    position:relative;
    overflow:visible!important;
  }
  .wsm-nav{
    display:block;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    position:absolute;
    z-index:510;
    left:0;
    right:0;
    top:54px;
    max-height:calc(100dvh - 88px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:var(--navy2);
    border-top:1px solid rgba(255,255,255,.08);
    border-radius:0 0 14px 14px;
    box-shadow:0 22px 48px rgba(0,0,0,.42);
    transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
  }
  .wsm-nav.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .16s ease,transform .16s ease;
  }
  .wsm-nav ul{
    display:block;
    width:100%;
    margin:0;
    padding:6px 0 10px;
  }
  .wsm-nav li{
    display:block;
    width:100%;
    margin:0;
  }
  .wsm-nav a{
    display:block;
    width:100%;
    padding:14px 18px;
    border-bottom:1px solid rgba(255,255,255,.07);
    border-left:3px solid transparent;
    font-size:.88rem;
  }
  .wsm-nav a:hover,
  .wsm-nav .current-menu-item>a{
    border-bottom-color:rgba(255,255,255,.07);
    border-left-color:var(--cyan);
    background:rgba(255,255,255,.07);
  }
  .wsm-menu-btn{
    position:relative;
    z-index:520;
    font-size:1.25rem;
    line-height:1;
  }
  .wsm-menu-btn span{
    display:block;
    line-height:1;
    transform:translateY(-1px);
  }
  .wsm-navbar.menu-open{
    box-shadow:0 8px 24px rgba(0,0,0,.22);
  }
}
@media(max-width:560px){
  .wsm-nav{
    left:-9px;
    right:-9px;
    max-height:calc(100dvh - 76px);
    border-radius:0 0 12px 12px;
  }
}


/* v1.8.5 – historie schaalt volledig mee op tablet en mobiel */
.wsm-history-chart{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden!important;
}
.wsm-history-chart svg{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  touch-action:pan-y;
}
.wsm-history-chart-area,
.wsm-history-shell,
.wsm-history-chart-title,
.wsm-history-legend,
.wsm-history-stats{
  min-width:0;
  max-width:100%;
}
@media(max-width:860px){
  .wsm-history-chart{
    height:clamp(320px,52vw,390px);
    padding:8px;
  }
}
@media(max-width:560px){
  .wsm-history-chart{
    height:clamp(270px,78vw,330px);
    padding:5px;
    border-radius:12px;
  }
  .wsm-history-chart-area{padding:9px}
  .wsm-history-legend{gap:5px}
  .wsm-history-legend button{
    padding:6px 7px;
    font-size:.64rem;
  }
}




/* v1.9.3 – donkere radarweergave */
.wsm-radar-live-map{
  background:#071019;
}
.wsm-radar-base-layer img{
  filter:grayscale(.92) invert(.92) hue-rotate(180deg) brightness(.62) contrast(1.18) saturate(.68);
}
.wsm-radar-overlay-layer img{
  opacity:.82;
}
.wsm-static-radar-preview{
  background:#071019;
}


/* v1.9.4 – radar intensity + dark preview */
.wsm-radar-live-map{
  background:#061019!important;
}
.wsm-radar-mini-legend{
  position:absolute;
  z-index:9;
  left:10px;
  bottom:25px;
  display:grid;
  grid-template-columns:minmax(90px,140px) auto auto;
  gap:6px;
  align-items:center;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:8px;
  background:rgba(2,15,25,.88);
  color:#eaf8ff;
  font-size:9px;
  font-weight:700;
  backdrop-filter:blur(5px);
}
.wsm-radar-mini-legend i{
  display:block;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,#88ddee,#0077aa,#ffee00,#ff8100,#c10000,#ffaaff,#fff);
}
@media(max-width:560px){
  .wsm-radar-mini-legend{
    grid-template-columns:80px auto auto;
    font-size:8px;
    left:7px;
    bottom:24px;
  }
}


/* v1.9.7 – KNMI weerwaarschuwingen in het blauwe actuele-weervlak */
.wsm-warning-field{
  margin-top:17px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:62px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:13px;
  background:rgba(4,28,43,.30);
  color:#fff;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(5px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.wsm-warning-field:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.44);
  color:#fff;
}
.wsm-warning-indicator{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  font-size:1rem;
  font-weight:950;
}
.wsm-warning-copy{
  min-width:0;
  display:block;
}
.wsm-warning-copy small{
  display:block;
  margin-bottom:2px;
  color:#d4edf6;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.wsm-warning-copy strong{
  display:block;
  color:#fff;
  font-size:.91rem;
  line-height:1.14;
}
.wsm-warning-copy>span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#d7eff6;
  font-size:.68rem;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wsm-warning-source{
  align-self:center;
  color:#d8f1f8;
  font-size:.62rem;
  font-weight:850;
  white-space:nowrap;
}
.wsm-warning-field.is-none{
  background:rgba(2,48,62,.32);
}
.wsm-warning-field.is-none .wsm-warning-indicator{
  background:rgba(36,211,153,.16);
  border-color:rgba(109,244,198,.32);
  color:#a7f3d0;
}
.wsm-warning-field.is-yellow{
  background:linear-gradient(100deg,rgba(112,83,0,.72),rgba(55,55,21,.48));
  border-color:rgba(255,226,79,.72);
}
.wsm-warning-field.is-yellow .wsm-warning-indicator{
  background:#f4d318;
  border-color:#ffe866;
  color:#151515;
}
.wsm-warning-field.is-orange{
  background:linear-gradient(100deg,rgba(151,69,0,.78),rgba(83,41,11,.54));
  border-color:rgba(255,154,51,.78);
}
.wsm-warning-field.is-orange .wsm-warning-indicator{
  background:#ff8a1f;
  border-color:#ffbb78;
  color:#17100a;
}
.wsm-warning-field.is-red{
  background:linear-gradient(100deg,rgba(148,17,26,.86),rgba(79,19,25,.62));
  border-color:rgba(255,77,88,.86);
}
.wsm-warning-field.is-red .wsm-warning-indicator{
  background:#e51c2a;
  border-color:#ff737d;
  color:#fff;
}
.wsm-warning-field.is-warning{
  background:rgba(69,55,16,.54);
  border-color:rgba(255,210,75,.55);
}
.wsm-warning-field.is-unavailable{
  background:rgba(50,61,70,.42);
  border-color:rgba(255,255,255,.18);
}
.wsm-warning-field.is-unavailable .wsm-warning-indicator{
  color:#d8e4ea;
}
@media(max-width:560px){
  .wsm-warning-field{
    grid-template-columns:30px minmax(0,1fr);
    gap:8px;
    margin-top:13px;
    padding:9px;
  }
  .wsm-warning-indicator{
    width:29px;height:29px;
  }
  .wsm-warning-source{
    display:none;
  }
  .wsm-warning-copy strong{
    font-size:.82rem;
  }
  .wsm-warning-copy>span{
    white-space:normal;
    font-size:.63rem;
  }
}


/* ==========================================================================
   v1.9.8 – waarschuwingenkaart, kleinere temperatuur en lichte radar
   ========================================================================== */

/* Hoofdtemperatuur in het blauwe vlak ongeveer de helft kleiner. */
.wsm-now-temp{
  font-size:clamp(2.7rem,5vw,4.6rem)!important;
  line-height:.92;
  letter-spacing:-.055em;
  margin:9px 0 7px;
}
@media(max-width:860px){
  .wsm-now-temp{font-size:3.15rem!important}
}
@media(max-width:560px){
  .wsm-now-temp{font-size:clamp(2.6rem,12vw,3.15rem)!important}
}

/* Weerwaarschuwingenpagina */
.wsm-warnings-page{overflow:visible}
.wsm-warnings-hero{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.48fr);
  gap:18px;
  margin-bottom:15px;
}
.wsm-warnings-hero>div{
  padding:30px;
  border-radius:23px;
  color:#fff;
  background:linear-gradient(128deg,#071f31,#0b5a80 57%,#20a9be);
  box-shadow:var(--shadow);
}
.wsm-warnings-hero h1{
  margin:7px 0 9px;
  font-size:clamp(2.1rem,4vw,3.4rem);
  line-height:1;
}
.wsm-warnings-hero p{
  max-width:860px;
  margin:0;
  color:#ddf4fb;
  line-height:1.55;
}
.wsm-warnings-hero aside{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid var(--line);
  border-radius:23px;
  background:var(--card);
}
.wsm-warnings-hero aside small{
  color:var(--muted);
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wsm-warnings-hero aside span{
  margin-top:5px;
  color:var(--muted);
  font-size:.72rem;
}
.wsm-warning-hero-status{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  padding:7px 10px;
  border-radius:10px;
  background:var(--panel);
  font-size:1.15rem;
}
.wsm-warning-hero-status.is-yellow{background:#f2d51b;color:#16130a}
.wsm-warning-hero-status.is-orange{background:#ff8b24;color:#181008}
.wsm-warning-hero-status.is-red{background:#e42534;color:#fff}

.wsm-warning-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-bottom:15px;
}
.wsm-warning-summary>div{
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--card);
}
.wsm-warning-summary small{
  display:block;
  color:var(--muted);
  font-size:.61rem;
  font-weight:850;
  text-transform:uppercase;
}
.wsm-warning-summary strong{
  display:block;
  margin-top:3px;
  font-size:1.5rem;
}
.wsm-warning-summary .is-yellow{border-top:4px solid #f2d51b}
.wsm-warning-summary .is-orange{border-top:4px solid #ff8b24}
.wsm-warning-summary .is-red{border-top:4px solid #e42534}
.wsm-warning-summary .is-none{border-top:4px solid #83a493}

.wsm-warning-map-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
  gap:15px;
  align-items:start;
}
.wsm-warning-map-card,
.wsm-warning-province-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 10px 30px rgba(10,40,60,.06);
}
.wsm-warning-map-card .wsm-box-head,
.wsm-warning-province-panel .wsm-box-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
}
.wsm-warning-map-card .wsm-box-head h2,
.wsm-warning-province-panel .wsm-box-head h2{
  margin:0;
  font-size:1.08rem;
}
.wsm-warning-map-card .wsm-box-head span,
.wsm-warning-province-panel .wsm-box-head span{
  color:var(--muted);
  font-size:.65rem;
}
.wsm-warning-map-shell{
  position:relative;
  min-height:650px;
  padding:13px;
  background:
    radial-gradient(circle at 55% 35%,rgba(26,149,208,.08),transparent 42%),
    linear-gradient(180deg,var(--panel),var(--card));
}
.wsm-warning-map-svg{
  display:block;
  width:100%;
  height:650px;
  overflow:visible;
}
.wsm-warning-province-shape{
  stroke:#fff;
  stroke-width:2.1;
  vector-effect:non-scaling-stroke;
  cursor:pointer;
  outline:none;
  transition:filter .16s ease,opacity .16s ease,stroke-width .16s ease;
}
html[data-theme="dark"] .wsm-warning-province-shape{
  stroke:#233b4a;
}
.wsm-warning-province-shape:hover,
.wsm-warning-province-shape:focus{
  filter:brightness(.92) saturate(1.1);
  stroke:#075f83;
  stroke-width:3.2;
}
.wsm-warning-map-tooltip{
  position:absolute;
  z-index:8;
  min-width:130px;
  max-width:210px;
  pointer-events:none;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:9px;
  background:rgba(5,30,45,.94);
  color:#fff;
  box-shadow:0 8px 26px rgba(0,0,0,.20);
}
.wsm-warning-map-tooltip strong,
.wsm-warning-map-tooltip span{display:block}
.wsm-warning-map-tooltip span{margin-top:2px;color:#d4edf6;font-size:.67rem}
.wsm-warning-map-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  color:var(--muted);
  text-align:center;
  font-size:.8rem;
}
.wsm-warning-map-loading.is-error{color:var(--red)}
.wsm-warning-map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 13px;
  padding:11px 15px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.64rem;
}
.wsm-warning-map-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
.wsm-warning-map-legend i{
  width:11px;height:11px;border-radius:3px;border:1px solid rgba(0,0,0,.08);
}
.wsm-warning-map-legend .is-none{background:#dce9e2}
.wsm-warning-map-legend .is-yellow{background:#f2d51b}
.wsm-warning-map-legend .is-orange{background:#ff8b24}
.wsm-warning-map-legend .is-red{background:#e42534}
.wsm-warning-map-legend .is-unavailable{background:#9aa9b5}
.wsm-warning-map-credit{
  margin:0;
  padding:0 15px 12px;
  color:var(--muted);
  font-size:.58rem;
}

.wsm-warning-province-list{
  max-height:720px;
  overflow:auto;
  padding:8px;
}
.wsm-warning-province{
  width:100%;
  display:grid;
  grid-template-columns:13px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 9px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.wsm-warning-province:last-child{border-bottom:0}
.wsm-warning-province:hover{background:var(--panel)}
.wsm-warning-province-dot{
  width:11px;height:11px;border-radius:50%;background:#9aa9b5;
}
.wsm-warning-province.is-none .wsm-warning-province-dot{background:#83a493}
.wsm-warning-province.is-yellow .wsm-warning-province-dot{background:#f2d51b}
.wsm-warning-province.is-orange .wsm-warning-province-dot{background:#ff8b24}
.wsm-warning-province.is-red .wsm-warning-province-dot{background:#e42534}
.wsm-warning-province.is-warning .wsm-warning-province-dot{background:#d0aa38}
.wsm-warning-province span:nth-child(2){min-width:0}
.wsm-warning-province strong{display:block;font-size:.77rem}
.wsm-warning-province small{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:var(--muted);
  font-size:.61rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wsm-warning-province>b{color:var(--muted);font-size:1.1rem}

.wsm-warning-explain{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:15px;
}
.wsm-warning-explain article{
  display:grid;
  grid-template-columns:16px 1fr;
  gap:10px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
}
.wsm-warning-explain-dot{
  width:14px;height:14px;border-radius:50%;margin-top:3px;
}
.wsm-warning-explain-dot.is-yellow{background:#f2d51b}
.wsm-warning-explain-dot.is-orange{background:#ff8b24}
.wsm-warning-explain-dot.is-red{background:#e42534}
.wsm-warning-explain h3{margin:0;font-size:.9rem}
.wsm-warning-explain p{margin:4px 0 0;color:var(--muted);font-size:.69rem;line-height:1.45}
.wsm-warning-page-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.65rem;
  line-height:1.5;
}

.wsm-warning-modal[hidden]{display:none}
.wsm-warning-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
}
.wsm-warning-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,14,22,.70);
  backdrop-filter:blur(4px);
}
.wsm-warning-modal-card{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:min(720px,calc(100vh - 40px));
  overflow:auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 30px 90px rgba(0,0,0,.30);
}
.wsm-warning-modal-close{
  position:absolute;
  right:10px;top:10px;
  width:36px;height:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:1.35rem;
}
.wsm-warning-modal-head{padding-right:45px}
.wsm-warning-modal-head h2{margin:8px 0 0;font-size:1.6rem}
.wsm-warning-modal-code{
  display:inline-flex;
  padding:6px 9px;
  border-radius:8px;
  background:#dce9e2;
  color:#1d342a;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}
.wsm-warning-modal-code.is-yellow{background:#f2d51b;color:#17130a}
.wsm-warning-modal-code.is-orange{background:#ff8b24;color:#1a1006}
.wsm-warning-modal-code.is-red{background:#e42534;color:#fff}
.wsm-warning-modal-code.is-unavailable{background:#9aa9b5;color:#fff}
.wsm-warning-modal-code.is-warning{background:#d0aa38;color:#16120a}
.wsm-warning-modal-card>h3{margin:18px 0 6px;font-size:1.1rem}
.wsm-warning-modal-card>p{margin:0;color:var(--muted);line-height:1.55}
.wsm-warning-modal-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:17px 0;
}
.wsm-warning-modal-meta>div{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
}
.wsm-warning-modal-meta dt{
  color:var(--muted);
  font-size:.58rem;
  font-weight:850;
  text-transform:uppercase;
}
.wsm-warning-modal-meta dd{margin:3px 0 0;font-size:.75rem}
.wsm-warning-knmi-link{
  display:inline-flex;
  padding:9px 12px;
  border-radius:10px;
  background:var(--blue);
  color:#fff;
  font-size:.74rem;
  font-weight:850;
}
body.wsm-modal-open{overflow:hidden}

@media(max-width:960px){
  .wsm-warnings-hero,
  .wsm-warning-map-layout{grid-template-columns:1fr}
  .wsm-warning-province-list{max-height:none}
}
@media(max-width:700px){
  .wsm-warning-summary{grid-template-columns:1fr 1fr}
  .wsm-warning-explain{grid-template-columns:1fr}
  .wsm-warning-map-shell{min-height:520px;padding:7px}
  .wsm-warning-map-svg{height:520px}
}
@media(max-width:520px){
  .wsm-warnings-hero>div{padding:21px}
  .wsm-warnings-hero h1{font-size:2rem}
  .wsm-warning-summary{gap:7px}
  .wsm-warning-summary>div{padding:10px}
  .wsm-warning-map-shell{min-height:440px}
  .wsm-warning-map-svg{height:440px}
  .wsm-warning-map-legend{gap:7px}
  .wsm-warning-modal{padding:10px}
  .wsm-warning-modal-card{padding:18px}
  .wsm-warning-modal-meta{grid-template-columns:1fr}
}


/* v1.9.9 – provincies direct klikbaar/tapbaar */
.wsm-warning-map-svg{
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.wsm-warning-province-shape{
  pointer-events:all!important;
  touch-action:manipulation;
  cursor:pointer;
}
.wsm-warning-province-shape:active{
  filter:brightness(.84) saturate(1.12);
}
.wsm-warning-map-loading{
  pointer-events:none;
}


/* ==========================================================================
   v1.9.12 – wereldwijde tropische stormenradar met 3D-globe
   ========================================================================== */

.wsm-tropical-page{
  overflow:visible;
}
.wsm-tropical-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.42fr);
  gap:16px;
  margin-bottom:15px;
}
.wsm-tropical-hero>div{
  padding:30px;
  border-radius:23px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 28%,rgba(45,212,191,.25),transparent 28%),
    linear-gradient(125deg,#051923,#073d58 58%,#087f8c);
  box-shadow:var(--shadow);
}
.wsm-tropical-hero h1{
  margin:7px 0 9px;
  font-size:clamp(2.05rem,4vw,3.35rem);
  line-height:1;
}
.wsm-tropical-hero p{
  max-width:880px;
  margin:0;
  color:#ddf6f7;
  line-height:1.55;
}
.wsm-tropical-hero aside{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid var(--line);
  border-radius:23px;
  background:var(--card);
}
.wsm-tropical-hero aside small{
  color:var(--muted);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wsm-tropical-hero aside strong{
  margin-top:5px;
  font-size:2.35rem;
  line-height:1;
}
.wsm-tropical-hero aside span{
  margin-top:7px;
  color:var(--muted);
  font-size:.67rem;
}

.wsm-tropical-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);
  gap:15px;
  align-items:start;
}
.wsm-tropical-globe-card,
.wsm-tropical-list-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 10px 30px rgba(10,40,60,.07);
}
.wsm-tropical-globe-card .wsm-box-head,
.wsm-tropical-list-card .wsm-box-head{
  padding:14px 16px;
  border-bottom:1px solid var(--line);
}
.wsm-tropical-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.wsm-tropical-toolbar h2,
.wsm-tropical-list-card h2{
  margin:0;
  font-size:1.08rem;
}
.wsm-tropical-toolbar span,
.wsm-tropical-list-card .wsm-box-head span{
  color:var(--muted);
  font-size:.65rem;
}
.wsm-tropical-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.wsm-tropical-actions button{
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:.67rem;
  font-weight:800;
}
.wsm-tropical-actions button:hover{
  border-color:var(--blue);
}
.wsm-tropical-globe-shell{
  position:relative;
  height:660px;
  min-height:480px;
  overflow:hidden;
  background:#04131f;
}
.wsm-tropical-globe{
  position:absolute;
  inset:0;
}
.wsm-tropical-globe canvas{
  display:block;
  outline:none;
}
.wsm-tropical-loading,
.wsm-tropical-empty{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  width:min(360px,calc(100% - 34px));
  transform:translate(-50%,-50%);
  padding:17px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(3,22,35,.88);
  color:#fff;
  text-align:center;
  backdrop-filter:blur(8px);
}
.wsm-tropical-loading strong,
.wsm-tropical-loading span,
.wsm-tropical-empty strong,
.wsm-tropical-empty span{
  display:block;
}
.wsm-tropical-loading span,
.wsm-tropical-empty span{
  margin-top:4px;
  color:#cae5ef;
  font-size:.69rem;
  line-height:1.45;
}
.wsm-tropical-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  padding:10px 15px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.62rem;
}
.wsm-tropical-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
.wsm-tropical-legend i{
  width:10px;
  height:10px;
  border-radius:50%;
}
.wsm-tropical-legend .td{background:#7e8ce0}
.wsm-tropical-legend .ts{background:#29b6f6}
.wsm-tropical-legend .c1{background:#ffd23f}
.wsm-tropical-legend .c3{background:#e53935}
.wsm-tropical-credit{
  margin:0;
  padding:0 15px 13px;
  color:var(--muted);
  font-size:.58rem;
  line-height:1.45;
}

.wsm-tc-globe-marker{
  display:flex;
  align-items:center;
  gap:5px;
  max-width:170px;
  padding:4px 7px 4px 5px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  background:rgba(3,20,31,.86);
  color:#fff;
  box-shadow:0 3px 13px rgba(0,0,0,.28);
  cursor:pointer;
  white-space:nowrap;
  transform:translate(-10px,-50%);
  backdrop-filter:blur(5px);
}
.wsm-tc-globe-marker:hover,
.wsm-tc-globe-marker:focus{
  border-color:#fff;
  outline:none;
  transform:translate(-10px,-50%) scale(1.06);
}
.wsm-tc-marker-dot{
  flex:0 0 auto;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#21c9c3;
  box-shadow:0 0 0 4px rgba(33,201,195,.18);
}
.wsm-tc-marker-name{
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:10px;
  font-weight:900;
  letter-spacing:.01em;
}
.wsm-tc-globe-marker.is-depression .wsm-tc-marker-dot{background:#7e8ce0}
.wsm-tc-globe-marker.is-storm .wsm-tc-marker-dot{background:#29b6f6}
.wsm-tc-globe-marker.is-cat1 .wsm-tc-marker-dot{background:#ffd23f}
.wsm-tc-globe-marker.is-cat2 .wsm-tc-marker-dot{background:#ff9f1c}
.wsm-tc-globe-marker.is-cat3 .wsm-tc-marker-dot{background:#fb6a23}
.wsm-tc-globe-marker.is-cat4 .wsm-tc-marker-dot{background:#e53935}
.wsm-tc-globe-marker.is-cat5 .wsm-tc-marker-dot{background:#d81b60}

.wsm-tropical-list{
  max-height:660px;
  overflow:auto;
  padding:8px;
}
.wsm-tropical-list-loading,
.wsm-tropical-list-empty{
  padding:22px 13px;
  color:var(--muted);
  text-align:center;
  font-size:.72rem;
}
.wsm-tc-list-item{
  width:100%;
  display:block;
  padding:11px 10px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.wsm-tc-list-item:last-child{border-bottom:0}
.wsm-tc-list-item:hover,
.wsm-tc-list-item.is-selected{
  background:var(--panel);
}
.wsm-tc-list-item.is-selected{
  box-shadow:inset 3px 0 0 var(--blue);
}
.wsm-tc-list-head{
  display:flex;
  align-items:center;
  gap:8px;
}
.wsm-tc-list-head i{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:50%;
}
.wsm-tc-list-head strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.83rem;
}
.wsm-tc-list-class{
  display:block;
  margin-top:4px;
  color:var(--ink);
  font-size:.67rem;
  font-weight:800;
}
.wsm-tc-list-item small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.6rem;
  line-height:1.35;
}

.wsm-tropical-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:15px;
}
.wsm-tropical-info-grid article{
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
}
.wsm-tropical-info-grid strong{
  display:block;
  font-size:.83rem;
}
.wsm-tropical-info-grid p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.48;
}

.wsm-tc-modal[hidden]{display:none}
.wsm-tc-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
}
.wsm-tc-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,12,19,.75);
  backdrop-filter:blur(4px);
}
.wsm-tc-modal-card{
  position:relative;
  z-index:1;
  width:min(570px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.wsm-tc-modal-close{
  position:absolute;
  right:10px;
  top:10px;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:1.35rem;
}
.wsm-tc-modal-class{
  display:inline-flex;
  padding:6px 9px;
  border-radius:8px;
  background:#21c9c3;
  color:#06232b;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}
.wsm-tc-modal-class.is-depression{background:#7e8ce0;color:#fff}
.wsm-tc-modal-class.is-storm{background:#29b6f6;color:#071c27}
.wsm-tc-modal-class.is-cat1{background:#ffd23f;color:#201b08}
.wsm-tc-modal-class.is-cat2{background:#ff9f1c;color:#1d1305}
.wsm-tc-modal-class.is-cat3{background:#fb6a23;color:#fff}
.wsm-tc-modal-class.is-cat4{background:#e53935;color:#fff}
.wsm-tc-modal-class.is-cat5{background:#d81b60;color:#fff}
.wsm-tc-modal-card h2{
  margin:10px 45px 0 0;
  font-size:1.75rem;
}
.wsm-tc-modal-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:18px 0 14px;
}
.wsm-tc-modal-stats>div{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
}
.wsm-tc-modal-stats small{
  display:block;
  color:var(--muted);
  font-size:.57rem;
  font-weight:850;
  text-transform:uppercase;
}
.wsm-tc-modal-stats strong{
  display:block;
  margin-top:3px;
  font-size:.77rem;
}
.wsm-tc-modal-card>p{
  color:var(--muted);
  font-size:.72rem;
}
.wsm-tc-source-link{
  display:inline-flex;
  margin-top:7px;
  padding:9px 12px;
  border-radius:10px;
  background:var(--blue);
  color:#fff;
  font-size:.73rem;
  font-weight:850;
}

@media(max-width:980px){
  .wsm-tropical-hero,
  .wsm-tropical-layout{
    grid-template-columns:1fr;
  }
  .wsm-tropical-list{
    max-height:none;
  }
}
@media(max-width:720px){
  .wsm-tropical-globe-shell{
    height:560px;
  }
  .wsm-tropical-info-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .wsm-tropical-hero>div{
    padding:21px;
  }
  .wsm-tropical-hero h1{
    font-size:2rem;
  }
  .wsm-tropical-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .wsm-tropical-globe-shell{
    height:500px;
  }
  .wsm-tc-globe-marker{
    max-width:118px;
    padding:3px 5px;
  }
  .wsm-tc-marker-name{
    font-size:8px;
  }
  .wsm-tc-modal{
    padding:10px;
  }
  .wsm-tc-modal-card{
    padding:18px;
  }
  .wsm-tc-modal-stats{
    grid-template-columns:1fr;
  }
}


/* v1.9.13 – uitgebreide stormdetails */
.wsm-tc-modal-stats{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.wsm-tc-models{
  margin:4px 0 16px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
}
.wsm-tc-models[hidden]{display:none}
.wsm-tc-models h3{
  margin:0;
  font-size:.84rem;
}
.wsm-tc-models>p{
  margin:4px 0 10px;
  color:var(--muted);
  font-size:.61rem;
  line-height:1.45;
}
.wsm-tc-model-row{
  display:grid;
  grid-template-columns:minmax(85px,.7fr) 1fr 1fr;
  gap:8px;
  align-items:center;
  padding:7px 0;
  border-top:1px solid var(--line);
}
.wsm-tc-model-row:first-child{border-top:0}
.wsm-tc-model-row strong{
  font-size:.67rem;
}
.wsm-tc-model-row span{
  color:var(--muted);
  font-size:.62rem;
}
@media(max-width:560px){
  .wsm-tc-modal-stats{grid-template-columns:1fr}
  .wsm-tc-model-row{
    grid-template-columns:1fr;
    gap:2px;
  }
}


/* v1.9.14 – GDACS Event summary / Score-tabel */
.wsm-tc-model-row{
  grid-template-columns:minmax(95px,.8fr) 1fr 1fr 1fr;
}
@media(max-width:720px){
  .wsm-tc-model-row{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .wsm-tc-model-row{
    grid-template-columns:1fr;
  }
}


/* ==========================================================================
   v1.9.15 – configureerbaar topmenu helemaal bovenaan
   ========================================================================== */

.wsm-topbar{
  position:relative;
  z-index:130;
  min-height:38px;
  background:#041c2b;
  color:#d7edf7;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.wsm-topbar-inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.wsm-topmenu{
  min-width:0;
  flex:1 1 auto;
}
.wsm-topmenu ul,
.wsm-topmenu-list{
  display:flex;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.wsm-topmenu li{
  position:relative;
  margin:0;
  padding:0;
}
.wsm-topmenu a{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:0 9px;
  color:#d7edf7;
  font-size:.68rem;
  line-height:1;
  font-weight:760;
  letter-spacing:.015em;
  text-decoration:none;
  white-space:nowrap;
  transition:background .16s ease,color .16s ease;
}
.wsm-topmenu a:hover,
.wsm-topmenu a:focus,
.wsm-topmenu .current-menu-item>a,
.wsm-topmenu .current-menu-ancestor>a{
  background:rgba(255,255,255,.075);
  color:#fff;
  outline:none;
}
.wsm-topmenu .menu-item-has-children>a:after{
  content:"⌄";
  margin-left:5px;
  color:#8ecbe0;
  font-size:.66rem;
}
.wsm-topmenu .sub-menu{
  position:absolute;
  z-index:150;
  left:0;
  top:100%;
  min-width:190px;
  display:none;
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:0 0 10px 10px;
  background:#06273b;
  box-shadow:0 12px 28px rgba(0,0,0,.23);
}
.wsm-topmenu li:hover>.sub-menu,
.wsm-topmenu li:focus-within>.sub-menu{
  display:block;
}
.wsm-topmenu .sub-menu li{
  width:100%;
}
.wsm-topmenu .sub-menu a{
  min-height:34px;
  padding:8px 10px;
  border-radius:6px;
  line-height:1.25;
}
.wsm-topbar-status{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:13px;
  color:#a9cfdd;
  font-size:.62rem;
  white-space:nowrap;
}
.wsm-topbar-live{
  display:flex;
  align-items:center;
  gap:6px;
  color:#d7edf7;
  font-weight:760;
}
.wsm-topbar-location{
  padding-left:12px;
  border-left:1px solid rgba(255,255,255,.12);
}
.wsm-topbar .wsm-live-dot{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:#42e4a8;
  box-shadow:0 0 0 3px rgba(66,228,168,.13);
}

/* Het hoofdmenu blijft sticky onder het logo; topmenu scrollt normaal mee. */
.wsm-navbar{
  top:0;
}

@media(max-width:900px){
  .wsm-topbar-inner{
    gap:9px;
  }
  .wsm-topmenu{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .wsm-topmenu::-webkit-scrollbar{
    display:none;
  }
  .wsm-topmenu ul,
  .wsm-topmenu-list{
    width:max-content;
    min-width:100%;
  }
  .wsm-topmenu a{
    min-height:36px;
    padding:0 8px;
    font-size:.64rem;
  }
  .wsm-topmenu .menu-item-has-children>a:after{
    display:none;
  }
  .wsm-topmenu .sub-menu{
    display:none!important;
  }
  .wsm-topbar-location{
    display:none;
  }
}
@media(max-width:620px){
  .wsm-topbar{
    min-height:36px;
  }
  .wsm-topbar-inner{
    min-height:36px;
  }
  .wsm-topbar-status{
    gap:5px;
  }
  .wsm-topbar-live{
    font-size:0;
    gap:0;
  }
  .wsm-topbar-live .wsm-live-dot{
    width:8px;
    height:8px;
  }
}


/* v1.9.16 – hoofdmenu opgeschoond na introductie Topmenu */
.wsm-nav-inner{
  justify-content:space-between;
}
.wsm-nav{
  min-width:0;
}


/* ==========================================================================
   v1.9.18 – header mee laten schakelen met light/dark + betere logo-contrast
   ========================================================================== */

/* Basis: light mode */
.wsm-brandbar{
  position:relative;
  overflow:hidden;
  color:#0d3347;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.58),transparent 34%),
    linear-gradient(118deg,#dff3fb 0%,#b9e6f4 48%,#8fd2e8 100%);
  border-bottom:1px solid rgba(15,79,108,.16);
  transition:
    background .28s ease,
    color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}
.wsm-brandbar:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,.02) 58%,rgba(16,91,120,.08));
  pointer-events:none;
  transition:background .28s ease;
}
.wsm-brand-copy strong{
  color:#0d3347;
  text-shadow:0 1px 0 rgba(255,255,255,.50);
  transition:color .28s ease,text-shadow .28s ease;
}
.wsm-brand-copy span{
  color:#315f73;
  transition:color .28s ease;
}
.wsm-brand-meta{
  color:#0c3042;
  background:rgba(255,255,255,.52);
  border-color:rgba(13,79,105,.14);
  box-shadow:0 8px 24px rgba(18,77,102,.08);
  transition:
    background .28s ease,
    color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}
.wsm-brand-desc{
  color:#315f73;
}
.wsm-brand-sub{
  color:#456d7d;
}

/* Dark mode */
html[data-theme="dark"] .wsm-brandbar{
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(32,166,211,.22),transparent 34%),
    linear-gradient(118deg,#031824 0%,#062f45 48%,#07536e 100%);
  border-bottom-color:rgba(255,255,255,.10);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] .wsm-brandbar:before{
  background:
    linear-gradient(90deg,rgba(4,19,30,.58),rgba(4,19,30,.08) 60%,rgba(4,19,30,.30));
}
html[data-theme="dark"] .wsm-brand-copy strong{
  color:#ffffff;
  text-shadow:0 1px 1px rgba(0,0,0,.30);
}
html[data-theme="dark"] .wsm-brand-copy span{
  color:#d7edf7;
}
html[data-theme="dark"] .wsm-brand-meta{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
}
html[data-theme="dark"] .wsm-brand-desc{
  color:#e1f3fb;
}
html[data-theme="dark"] .wsm-brand-sub{
  color:#cae5f1;
}

/* Logo krijgt in beide modi iets meer visuele scheiding van de achtergrond. */
.wsm-branding img{
  filter:drop-shadow(0 2px 5px rgba(4,33,47,.16));
  transition:filter .28s ease;
}
html[data-theme="dark"] .wsm-branding img{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.32));
}

@media(prefers-reduced-motion:reduce){
  .wsm-brandbar,
  .wsm-brandbar:before,
  .wsm-brand-copy strong,
  .wsm-brand-copy span,
  .wsm-brand-meta,
  .wsm-branding img{
    transition:none!important;
  }
}


/* ==========================================================================
   v1.9.19 – geanimeerde weericoontjes in het blauwe vak
   ========================================================================== */

.wsm-weather-icon{
  position:relative;
  height:220px;
  display:grid;
  place-items:center;
  width:230px;
  justify-self:end;
  overflow:visible;
}
.wsm-weather-icon > *{
  position:absolute;
  opacity:0;
  transition:opacity .26s ease, transform .26s ease;
}
.wsm-icon-sun{
  width:118px;
  height:118px;
  left:26px;
  top:18px;
  display:block;
  opacity:0;
  transform:scale(.9);
  filter:drop-shadow(0 0 18px rgba(255,213,91,.42));
}
.wsm-icon-core{
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff8c8 0,#ffe280 34%,#ffbf39 72%,#f59e0b 100%);
  box-shadow:0 0 0 10px rgba(255,208,92,.10),0 0 26px rgba(255,197,71,.42);
}
.wsm-icon-ray{
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:54px;
  margin-left:-7px;
  margin-top:-27px;
  transform-origin:50% 50%;
}
.wsm-icon-ray:before{
  content:"";
  position:absolute;
  left:5px;
  top:-12px;
  width:4px;
  height:24px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,251,216,.98),#ffd25b);
  box-shadow:0 0 10px rgba(255,217,99,.50);
}
.wsm-icon-ray:after{
  content:"";
  position:absolute;
  left:3px;
  top:-4px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,223,118,.82);
  filter:blur(.4px);
}
.wsm-icon-ray-1{transform:rotate(0deg) translateY(-72px)}
.wsm-icon-ray-2{transform:rotate(45deg) translateY(-72px)}
.wsm-icon-ray-3{transform:rotate(90deg) translateY(-72px)}
.wsm-icon-ray-4{transform:rotate(135deg) translateY(-72px)}
.wsm-icon-ray-5{transform:rotate(180deg) translateY(-72px)}
.wsm-icon-ray-6{transform:rotate(225deg) translateY(-72px)}
.wsm-icon-ray-7{transform:rotate(270deg) translateY(-72px)}
.wsm-icon-ray-8{transform:rotate(315deg) translateY(-72px)}

.wsm-icon-cloud{
  height:56px;
  border-radius:40px;
  background:linear-gradient(180deg,#ffffff 0%,#e2edf5 100%);
  box-shadow:0 12px 26px rgba(3,34,52,.17);
}
.wsm-icon-cloud:before,
.wsm-icon-cloud:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:inherit;
}
.wsm-icon-cloud-back{
  width:110px;
  left:52px;
  top:54px;
  opacity:.84;
  background:linear-gradient(180deg,#eef7fd,#d5e6f1);
}
.wsm-icon-cloud-back:before{width:46px;height:46px;left:14px;bottom:12px}
.wsm-icon-cloud-back:after{width:58px;height:58px;right:10px;bottom:10px}
.wsm-icon-cloud-main{
  width:160px;
  left:54px;
  top:80px;
}
.wsm-icon-cloud-main:before{width:68px;height:68px;left:22px;bottom:16px}
.wsm-icon-cloud-main:after{width:86px;height:86px;right:14px;bottom:10px}
.wsm-icon-cloud-front{
  width:138px;
  left:76px;
  top:96px;
  opacity:.92;
}
.wsm-icon-cloud-front:before{width:52px;height:52px;left:17px;bottom:12px}
.wsm-icon-cloud-front:after{width:72px;height:72px;right:12px;bottom:8px}

.wsm-icon-rain{
  left:84px;
  top:132px;
  width:116px;
  height:80px;
}
.wsm-drop{
  position:absolute;
  width:7px;
  height:24px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(213,243,255,.08),#7ed4ff 55%,#00a8ff 100%);
  transform:translateY(-14px);
  opacity:0;
}
.wsm-drop.d1{left:2px;animation-delay:.0s}
.wsm-drop.d2{left:20px;animation-delay:.25s}
.wsm-drop.d3{left:37px;animation-delay:.12s}
.wsm-drop.d4{left:55px;animation-delay:.4s}
.wsm-drop.d5{left:73px;animation-delay:.18s}
.wsm-drop.d6{left:90px;animation-delay:.52s}
.wsm-drop.d7{left:104px;animation-delay:.07s}

.wsm-icon-snow{
  left:86px;
  top:132px;
  width:114px;
  height:82px;
}
.wsm-flake{
  position:absolute;
  color:#f3fbff;
  text-shadow:0 0 7px rgba(255,255,255,.5);
  font-size:18px;
  opacity:0;
}
.wsm-flake.f1{left:8px;animation-delay:.0s}
.wsm-flake.f2{left:28px;animation-delay:.32s}
.wsm-flake.f3{left:50px;animation-delay:.14s}
.wsm-flake.f4{left:72px;animation-delay:.45s}
.wsm-flake.f5{left:95px;animation-delay:.22s}

.wsm-icon-fog{
  left:48px;
  top:122px;
  width:164px;
  height:58px;
}
.wsm-fog-line{
  position:absolute;
  left:0;
  width:136px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(241,248,252,.95),rgba(255,255,255,0));
  opacity:0;
}
.wsm-fog-line.l1{top:0}
.wsm-fog-line.l2{top:18px;left:16px}
.wsm-fog-line.l3{top:36px;left:4px}

.wsm-icon-lightning{
  left:96px;
  top:120px;
  width:92px;
  height:80px;
}
.wsm-bolt{
  position:absolute;
  width:28px;
  height:48px;
  background:linear-gradient(180deg,#fff6a7,#ffd54e 50%,#f59e0b 100%);
  clip-path:polygon(46% 0,100% 0,58% 45%,88% 45%,25% 100%,43% 60%,14% 60%);
  filter:drop-shadow(0 0 10px rgba(255,215,84,.62));
  opacity:0;
}
.wsm-bolt.b1{left:6px;top:0}
.wsm-bolt.b2{right:8px;top:14px;transform:scale(.76)}

.wsm-icon-wind{
  left:32px;
  top:76px;
  width:186px;
  height:98px;
}
.wsm-wind-line{
  position:absolute;
  right:0;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(224,247,255,.88) 25%,rgba(255,255,255,0));
  opacity:0;
}
.wsm-wind-line:before{
  content:"";
  position:absolute;
  right:8px;
  top:-2px;
  width:22px;
  height:14px;
  border-top:3px solid rgba(224,247,255,.9);
  border-right:3px solid rgba(224,247,255,.9);
  border-radius:0 16px 0 0;
  transform:rotate(18deg);
}
.wsm-wind-line.wl1{top:0;width:130px}
.wsm-wind-line.wl2{top:28px;width:216px}
.wsm-wind-line.wl3{top:58px;width:144px}

.wsm-weather-icon.is-sunny .wsm-icon-sun,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-sun{
  opacity:1;
  transform:scale(1);
  animation:wsmSunFloat 6s ease-in-out infinite;
}
.wsm-weather-icon.is-sunny .wsm-icon-ray,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray{
  opacity:1;
  animation:wsmRayGlow 2.4s ease-in-out infinite;
}
.wsm-weather-icon.is-sunny .wsm-icon-ray-1,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-1{animation-delay:0s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-2,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-2{animation-delay:.2s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-3,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-3{animation-delay:.4s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-4,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-4{animation-delay:.6s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-5,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-5{animation-delay:.8s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-6,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-6{animation-delay:1s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-7,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-7{animation-delay:1.2s}
.wsm-weather-icon.is-sunny .wsm-icon-ray-8,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-ray-8{animation-delay:1.4s}
.wsm-weather-icon.is-partly-cloudy .wsm-icon-cloud-main,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-cloud-front{
  opacity:1;
}
.wsm-weather-icon.is-cloudy .wsm-icon-cloud-main,
.wsm-weather-icon.is-cloudy .wsm-icon-cloud-front,
.wsm-weather-icon.is-cloudy .wsm-icon-cloud-back,
.wsm-weather-icon.is-rain .wsm-icon-cloud-main,
.wsm-weather-icon.is-rain .wsm-icon-cloud-front,
.wsm-weather-icon.is-heavy-rain .wsm-icon-cloud-main,
.wsm-weather-icon.is-heavy-rain .wsm-icon-cloud-front,
.wsm-weather-icon.is-thunder .wsm-icon-cloud-main,
.wsm-weather-icon.is-thunder .wsm-icon-cloud-front,
.wsm-weather-icon.is-thunder .wsm-icon-cloud-back,
.wsm-weather-icon.is-storm .wsm-icon-cloud-main,
.wsm-weather-icon.is-storm .wsm-icon-cloud-front,
.wsm-weather-icon.is-storm .wsm-icon-cloud-back,
.wsm-weather-icon.is-fog .wsm-icon-cloud-main,
.wsm-weather-icon.is-fog .wsm-icon-cloud-front,
.wsm-weather-icon.is-snow .wsm-icon-cloud-main,
.wsm-weather-icon.is-snow .wsm-icon-cloud-front{
  opacity:1;
  animation:wsmCloudDrift 6s ease-in-out infinite;
}
.wsm-weather-icon.is-rain .wsm-icon-rain .wsm-drop,
.wsm-weather-icon.is-heavy-rain .wsm-icon-rain .wsm-drop{
  opacity:1;
  animation:wsmRain 1.3s linear infinite;
}
.wsm-weather-icon.is-heavy-rain .wsm-icon-rain{
  transform:scale(1.08) translateY(2px);
}
.wsm-weather-icon.is-heavy-rain .wsm-icon-rain .wsm-drop{
  width:8px;
  height:30px;
  animation-duration:.82s;
}
.wsm-weather-icon.is-thunder .wsm-bolt{
  opacity:1;
  animation:wsmLightning 1.8s step-end infinite;
}
.wsm-weather-icon.is-thunder .wsm-icon-rain .wsm-drop{
  opacity:1;
  animation:wsmRain 1.0s linear infinite;
}
.wsm-weather-icon.is-storm .wsm-wind-line{
  opacity:1;
  animation:wsmWind 2.1s ease-in-out infinite;
}
.wsm-weather-icon.is-storm .wsm-icon-cloud-main,
.wsm-weather-icon.is-storm .wsm-icon-cloud-front,
.wsm-weather-icon.is-storm .wsm-icon-cloud-back{
  animation:wsmStormCloud 2.2s ease-in-out infinite;
}
.wsm-weather-icon.is-fog .wsm-fog-line{
  opacity:1;
  animation:wsmFog 3.2s ease-in-out infinite;
}
.wsm-weather-icon.is-snow .wsm-flake{
  opacity:1;
  animation:wsmSnow 2.6s linear infinite;
}
.wsm-weather-icon.is-sunny .wsm-icon-cloud-main,
.wsm-weather-icon.is-sunny .wsm-icon-cloud-front,
.wsm-weather-icon.is-sunny .wsm-icon-cloud-back,
.wsm-weather-icon.is-sunny .wsm-icon-rain,
.wsm-weather-icon.is-sunny .wsm-icon-snow,
.wsm-weather-icon.is-sunny .wsm-icon-fog,
.wsm-weather-icon.is-sunny .wsm-icon-lightning,
.wsm-weather-icon.is-sunny .wsm-icon-wind{
  opacity:0;
}

@keyframes wsmRayGlow{
  0%,100%{
    opacity:.72;
    filter:brightness(.96);
  }
  50%{
    opacity:1;
    filter:brightness(1.18);
  }
}
@keyframes wsmSunFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes wsmCloudDrift{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(5px)}
}
@keyframes wsmStormCloud{
  0%,100%{transform:translateX(0)}
  30%{transform:translateX(6px)}
  60%{transform:translateX(-7px)}
}
@keyframes wsmRain{
  0%{transform:translateY(-10px) scaleY(.8);opacity:0}
  15%{opacity:1}
  75%{opacity:1}
  100%{transform:translateY(40px) scaleY(1.05);opacity:0}
}
@keyframes wsmLightning{
  0%,55%,100%{opacity:0}
  56%,60%{opacity:1}
  62%,64%{opacity:0}
  65%,70%{opacity:1}
  71%,100%{opacity:0}
}
@keyframes wsmWind{
  0%{transform:translateX(0);opacity:.3}
  50%{transform:translateX(-16px);opacity:1}
  100%{transform:translateX(0);opacity:.3}
}
@keyframes wsmFog{
  0%,100%{transform:translateX(0);opacity:.42}
  50%{transform:translateX(18px);opacity:1}
}
@keyframes wsmSnow{
  0%{transform:translateY(-8px) rotate(0deg);opacity:0}
  15%{opacity:1}
  100%{transform:translateY(36px) translateX(6px) rotate(180deg);opacity:0}
}

html[data-theme="light"] .wsm-icon-cloud{
  box-shadow:0 12px 26px rgba(26,72,102,.18);
}
html[data-theme="dark"] .wsm-icon-cloud{
  background:linear-gradient(180deg,#f4fbff 0%,#dce9f2 100%);
}
html[data-theme="dark"] .wsm-fog-line,
html[data-theme="dark"] .wsm-wind-line{
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(234,247,255,.92) 25%,rgba(255,255,255,0));
}

@media(max-width:1100px){
  .wsm-weather-icon{width:180px;height:170px}
  .wsm-icon-sun{transform:scale(.84);transform-origin:left top;left:10px;top:12px}
  .wsm-icon-cloud-back{left:30px;top:42px;transform:scale(.84);transform-origin:left top}
  .wsm-icon-cloud-main{left:36px;top:66px;transform:scale(.84);transform-origin:left top}
  .wsm-icon-cloud-front{left:52px;top:79px;transform:scale(.84);transform-origin:left top}
  .wsm-icon-rain{left:62px;top:112px;transform:scale(.85);transform-origin:left top}
  .wsm-icon-snow{left:60px;top:112px;transform:scale(.85);transform-origin:left top}
  .wsm-icon-lightning{left:70px;top:103px;transform:scale(.85);transform-origin:left top}
  .wsm-icon-fog{left:28px;top:104px;transform:scale(.85);transform-origin:left top}
  .wsm-icon-wind{left:14px;top:68px;transform:scale(.85);transform-origin:left top}
}
@media(max-width:760px){
  .wsm-weather-icon{width:150px;height:128px}
}
@media(prefers-reduced-motion:reduce){
  .wsm-weather-icon *,
  .wsm-weather-icon > *{
    animation:none!important;
    transition:none!important;
  }
}


/* v1.9.20 – echte zonnestralen rondom de zon */
.wsm-weather-icon.is-sunny .wsm-icon-core,
.wsm-weather-icon.is-partly-cloudy .wsm-icon-core{
  animation:wsmSunCorePulse 3.2s ease-in-out infinite;
}

@keyframes wsmSunCorePulse{
  0%,100%{
    box-shadow:0 0 0 10px rgba(255,208,92,.10),0 0 26px rgba(255,197,71,.42);
  }
  50%{
    box-shadow:0 0 0 14px rgba(255,208,92,.14),0 0 34px rgba(255,197,71,.58);
  }
}


/* ==========================================================================
   v1.9.21 – Sterrenkaart van de dag
   ========================================================================== */

.wsm-starmap-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.42fr);
  gap:16px;
  margin-bottom:14px;
}
.wsm-starmap-hero>div{
  padding:30px;
  border-radius:23px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 22%,rgba(96,117,255,.25),transparent 27%),
    radial-gradient(circle at 66% 68%,rgba(52,211,153,.10),transparent 25%),
    linear-gradient(128deg,#030713,#08152d 55%,#122d5b);
  box-shadow:var(--shadow);
}
.wsm-starmap-hero h1{
  margin:7px 0 9px;
  font-size:clamp(2.05rem,4vw,3.35rem);
  line-height:1;
}
.wsm-starmap-hero p{
  max-width:900px;
  margin:0;
  color:#d8e5ff;
  line-height:1.55;
}
.wsm-starmap-hero aside{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid var(--line);
  border-radius:23px;
  background:var(--card);
}
.wsm-starmap-hero aside small{
  color:var(--muted);
  font-size:.62rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.wsm-starmap-hero aside strong{
  margin-top:5px;
  font-size:1.55rem;
}
.wsm-starmap-hero aside span{
  margin-top:5px;
  color:var(--muted);
  font-size:.68rem;
}

.wsm-starmap-controls{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) auto minmax(170px,.45fr);
  gap:12px;
  align-items:end;
  margin-bottom:14px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--card);
}
.wsm-starmap-controls label>span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:.61rem;
  font-weight:850;
  text-transform:uppercase;
}
.wsm-starmap-controls input{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
  color:var(--ink);
  font:inherit;
}
.wsm-starmap-control-buttons{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.wsm-starmap-control-buttons button{
  min-height:42px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-weight:800;
}
.wsm-starmap-control-buttons button:hover{
  border-color:var(--blue);
}
.wsm-starmap-summary{
  text-align:right;
}
.wsm-starmap-summary strong{
  display:block;
  font-size:1.65rem;
}
.wsm-starmap-summary span{
  color:var(--muted);
  font-size:.62rem;
}

.wsm-starmap-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);
  gap:15px;
  align-items:start;
}
.wsm-starmap-card,
.wsm-starmap-tips,
.wsm-starmap-brightest{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 10px 30px rgba(10,40,60,.06);
}
.wsm-starmap-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
}
.wsm-starmap-head h2,
.wsm-starmap-brightest h2{
  margin:0;
  font-size:1.06rem;
}
.wsm-starmap-head span,
.wsm-starmap-brightest .wsm-box-head span{
  color:var(--muted);
  font-size:.63rem;
}
.wsm-starmap-key{
  display:flex;
  gap:10px;
  color:var(--muted);
  font-size:.6rem;
}
.wsm-starmap-key span{
  display:flex;
  align-items:center;
  gap:5px;
}
.wsm-starmap-key i{
  display:block;
  border-radius:50%;
  background:#fff;
}
.wsm-starmap-key .is-bright{width:9px;height:9px;box-shadow:0 0 8px #fff}
.wsm-starmap-key .is-faint{width:4px;height:4px;opacity:.72}

.wsm-starmap-canvas-shell{
  position:relative;
  min-height:720px;
  background:#01070e;
}
.wsm-starmap-canvas-shell canvas{
  display:block;
  width:100%;
  height:720px;
  touch-action:manipulation;
}
.wsm-starmap-loading{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-content:center;
  padding:25px;
  background:rgba(1,7,14,.74);
  color:#fff;
  text-align:center;
  pointer-events:none;
}
.wsm-starmap-loading[hidden]{display:none}
.wsm-starmap-loading strong,
.wsm-starmap-loading span{display:block}
.wsm-starmap-loading span{
  margin-top:4px;
  color:#bcd4e6;
  font-size:.68rem;
}
.wsm-starmap-foot{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.61rem;
}

.wsm-starmap-side{
  display:grid;
  gap:15px;
}
.wsm-starmap-tips{
  padding:17px;
}
.wsm-starmap-tips h2{
  margin:0 0 8px;
  font-size:1rem;
}
.wsm-starmap-tips p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.5;
}
.wsm-starmap-brightest .wsm-box-head{
  padding:14px;
  border-bottom:1px solid var(--line);
}
.wsm-starmap-star-item{
  width:100%;
  display:grid;
  grid-template-columns:11px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.wsm-starmap-star-item:last-child{border-bottom:0}
.wsm-starmap-star-item:hover{background:var(--panel)}
.wsm-starmap-star-item i{
  width:9px;
  height:9px;
  border-radius:50%;
  box-shadow:0 0 7px currentColor;
}
.wsm-starmap-star-item strong{
  display:block;
  font-size:.75rem;
}
.wsm-starmap-star-item small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.58rem;
}
.wsm-starmap-list-loading{
  padding:20px;
  color:var(--muted);
  text-align:center;
  font-size:.68rem;
}
.wsm-starmap-credit{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.6rem;
  line-height:1.48;
}

/* Star details modal */
.wsm-star-modal[hidden]{display:none}
.wsm-star-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
}
.wsm-star-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,7,14,.78);
  backdrop-filter:blur(5px);
}
.wsm-star-modal-card{
  position:relative;
  z-index:1;
  width:min(680px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}
.wsm-star-modal-close{
  position:absolute;
  right:10px;
  top:10px;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:1.35rem;
}
.wsm-star-modal-kicker{
  display:inline-flex;
  padding:5px 8px;
  border-radius:7px;
  background:var(--panel);
  color:var(--blue);
  font-size:.62rem;
  font-weight:900;
}
.wsm-star-modal-card h2{
  margin:9px 45px 0 0;
  font-size:1.8rem;
}
.wsm-star-modal-position{
  margin:4px 0 16px;
  color:var(--muted);
  font-size:.7rem;
}
.wsm-star-modal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.wsm-star-modal-grid>div{
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}
.wsm-star-modal-grid small{
  display:block;
  color:var(--muted);
  font-size:.55rem;
  font-weight:850;
  text-transform:uppercase;
}
.wsm-star-modal-grid strong{
  display:block;
  margin-top:3px;
  font-size:.74rem;
}
.wsm-star-modal-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.48;
}

@media(max-width:980px){
  .wsm-starmap-hero,
  .wsm-starmap-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .wsm-starmap-controls{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .wsm-starmap-summary{text-align:left}
  .wsm-starmap-canvas-shell{min-height:600px}
  .wsm-starmap-canvas-shell canvas{height:600px}
  .wsm-starmap-foot{flex-direction:column}
}
@media(max-width:560px){
  .wsm-starmap-hero>div{padding:21px}
  .wsm-starmap-hero h1{font-size:2rem}
  .wsm-starmap-canvas-shell{min-height:500px}
  .wsm-starmap-canvas-shell canvas{height:500px}
  .wsm-star-modal{padding:10px}
  .wsm-star-modal-card{padding:18px}
  .wsm-star-modal-grid{grid-template-columns:1fr}
}

/* =========================================================
   v1.9.22 – Weeralmanak + handelingsadvies waarschuwingen
   ========================================================= */
.wsm-warning-advice{
  margin:0 0 17px;
  padding:15px;
  border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--blue) 6%,var(--panel));
}
.wsm-warning-advice[hidden]{display:none}
.wsm-warning-advice-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}
.wsm-warning-advice-head>span{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:11px;
  background:var(--card);
  border:1px solid var(--line);
  font-size:1.25rem;
}
.wsm-warning-advice-head small{
  display:block;
  color:var(--muted);
  font-size:.57rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wsm-warning-advice-head h3{
  margin:2px 0 0;
  font-size:1rem;
}
.wsm-warning-advice>p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.5;
}
.wsm-warning-advice ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0 0 0 19px;
  color:var(--ink);
  font-size:.72rem;
  line-height:1.48;
}
.wsm-warning-advice-source{
  display:block;
  margin-top:11px;
  color:var(--muted);
  font-size:.56rem;
  line-height:1.45;
}

.wsm-almanac-page{overflow:visible}
.wsm-almanac-hero{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);
  gap:18px;
  margin-bottom:15px;
}
.wsm-almanac-hero>div{
  padding:30px;
  border-radius:23px;
  color:#fff;
  background:linear-gradient(128deg,#071f31,#0b5a80 57%,#20a9be);
  box-shadow:var(--shadow);
}
.wsm-almanac-hero h1{
  margin:7px 0 9px;
  font-size:clamp(2.1rem,4vw,3.4rem);
  line-height:1;
}
.wsm-almanac-hero p{
  max-width:850px;
  margin:0;
  color:#ddf4fb;
  line-height:1.55;
}
.wsm-almanac-hero aside{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid var(--line);
  border-radius:23px;
  background:var(--card);
}
.wsm-almanac-hero aside small{
  color:var(--muted);
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wsm-almanac-hero aside strong{
  margin-top:4px;
  color:var(--blue);
  font-size:2.6rem;
  line-height:1;
}
.wsm-almanac-hero aside span{
  margin-top:8px;
  color:var(--muted);
  font-size:.67rem;
  line-height:1.45;
}
.wsm-almanac-tools{
  position:sticky;
  top:63px;
  z-index:20;
  margin-bottom:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--card) 95%,transparent);
  box-shadow:0 10px 30px rgba(10,40,60,.06);
  backdrop-filter:blur(12px);
}
.wsm-almanac-search{
  display:grid;
  grid-template-columns:auto minmax(180px,460px);
  gap:10px;
  align-items:center;
}
.wsm-almanac-search span{
  color:var(--muted);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wsm-almanac-search input{
  width:100%;
  min-height:42px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  color:var(--ink);
  font:inherit;
  font-size:.78rem;
  outline:none;
}
.wsm-almanac-search input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 17%,transparent);
}
.wsm-almanac-filter{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
}
.wsm-almanac-filter button{
  min-height:34px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:.63rem;
  font-weight:760;
}
.wsm-almanac-filter button:hover,
.wsm-almanac-filter button:focus{
  border-color:var(--blue);
}
.wsm-almanac-filter button.is-active{
  border-color:var(--blue);
  background:var(--blue);
  color:#fff;
}
.wsm-almanac-result{
  margin:10px 0 0;
  color:var(--muted);
  font-size:.64rem;
}
.wsm-almanac-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.wsm-almanac-card{
  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--card);
  box-shadow:0 8px 24px rgba(10,40,60,.045);
}
.wsm-almanac-card[hidden]{display:none}
.wsm-almanac-letter{
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border-radius:13px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 90%,#fff),#075f83);
  color:#fff;
  font-size:1.1rem;
  font-weight:900;
}
.wsm-almanac-category{
  display:block;
  color:var(--blue);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wsm-almanac-card h2{
  margin:3px 0 5px;
  font-size:.96rem;
  line-height:1.25;
}
.wsm-almanac-card p{
  margin:0;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.5;
}
.wsm-almanac-empty{
  padding:28px;
  border:1px dashed var(--line);
  border-radius:15px;
  background:var(--card);
  text-align:center;
}
.wsm-almanac-empty[hidden]{display:none}
.wsm-almanac-empty strong,
.wsm-almanac-empty span{display:block}
.wsm-almanac-empty span{margin-top:4px;color:var(--muted);font-size:.7rem}
.wsm-almanac-note{
  margin-top:15px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--card);
}
.wsm-almanac-note h2{margin:0;font-size:1rem}
.wsm-almanac-note p{margin:6px 0 10px;color:var(--muted);font-size:.69rem;line-height:1.5}
.wsm-almanac-note a{font-size:.7rem;font-weight:850}

@media(max-width:960px){
  .wsm-almanac-hero{grid-template-columns:1fr}
  .wsm-almanac-tools{position:relative;top:auto}
}
@media(max-width:760px){
  .wsm-almanac-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .wsm-almanac-hero>div{padding:21px}
  .wsm-almanac-hero h1{font-size:2rem}
  .wsm-almanac-search{grid-template-columns:1fr;gap:5px}
  .wsm-almanac-filter{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
  }
  .wsm-almanac-filter button{flex:0 0 auto}
  .wsm-almanac-card{grid-template-columns:38px minmax(0,1fr);padding:13px}
  .wsm-almanac-letter{width:38px;height:38px;border-radius:10px}
}

/* ==========================================================================
   v1.9.23 – wereldwijde aardbevingen met interactieve 3D-globe
   ========================================================================== */
.wsm-earthquake-page{overflow:visible}
.wsm-earthquake-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.42fr);
  gap:16px;
  margin-bottom:15px;
}
.wsm-earthquake-hero>div{
  padding:30px;
  border-radius:23px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 27%,rgba(255,143,0,.20),transparent 28%),
    radial-gradient(circle at 64% 100%,rgba(239,59,44,.15),transparent 35%),
    linear-gradient(125deg,#07131d,#253547 58%,#6e341f);
  box-shadow:var(--shadow);
}
.wsm-earthquake-hero h1{
  margin:7px 0 9px;
  font-size:clamp(2.05rem,4vw,3.35rem);
  line-height:1;
}
.wsm-earthquake-hero p{
  max-width:900px;
  margin:0;
  color:#edf3f6;
  line-height:1.55;
}
.wsm-earthquake-hero aside{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid var(--line);
  border-radius:23px;
  background:var(--card);
}
.wsm-earthquake-hero aside small{
  color:var(--muted);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wsm-earthquake-hero aside strong{
  margin-top:5px;
  font-size:2.35rem;
  line-height:1;
}
.wsm-earthquake-hero aside span{
  margin-top:7px;
  color:var(--muted);
  font-size:.67rem;
  line-height:1.4;
}
.wsm-earthquake-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);
  gap:15px;
  align-items:start;
}
.wsm-earthquake-globe-card,
.wsm-earthquake-list-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 10px 30px rgba(10,40,60,.07);
}
.wsm-earthquake-globe-card .wsm-box-head,
.wsm-earthquake-list-card .wsm-box-head{
  padding:14px 16px;
  border-bottom:1px solid var(--line);
}
.wsm-earthquake-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
.wsm-earthquake-toolbar h2,
.wsm-earthquake-list-card h2{margin:0;font-size:1.08rem}
.wsm-earthquake-toolbar>div:first-child>span,
.wsm-earthquake-list-card .wsm-box-head span{
  color:var(--muted);
  font-size:.65rem;
}
.wsm-earthquake-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.wsm-earthquake-actions>button,
.wsm-eq-filters button{
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:.67rem;
  font-weight:800;
}
.wsm-earthquake-actions>button:hover,
.wsm-eq-filters button:hover{border-color:var(--blue)}
.wsm-eq-filters{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
}
.wsm-eq-filters button{
  min-height:30px;
  padding:5px 8px;
  border:0;
  background:transparent;
}
.wsm-eq-filters button.is-active{
  background:var(--blue);
  color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.wsm-earthquake-globe-shell{
  position:relative;
  height:660px;
  min-height:480px;
  overflow:hidden;
  background:#04131f;
}
.wsm-earthquake-globe{position:absolute;inset:0}
.wsm-earthquake-globe canvas{display:block;outline:none}
.wsm-earthquake-loading,
.wsm-earthquake-empty{
  position:absolute;
  z-index:5;
  left:50%;
  top:50%;
  width:min(380px,calc(100% - 34px));
  transform:translate(-50%,-50%);
  padding:17px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(3,22,35,.9);
  color:#fff;
  text-align:center;
  backdrop-filter:blur(8px);
}
.wsm-earthquake-loading strong,
.wsm-earthquake-loading span,
.wsm-earthquake-empty strong,
.wsm-earthquake-empty span{display:block}
.wsm-earthquake-loading span,
.wsm-earthquake-empty span{
  margin-top:4px;
  color:#cae5ef;
  font-size:.69rem;
  line-height:1.45;
}
.wsm-earthquake-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  padding:10px 15px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.62rem;
}
.wsm-earthquake-legend span{display:flex;align-items:center;gap:5px}
.wsm-earthquake-legend i{width:10px;height:10px;border-radius:50%}
.wsm-earthquake-legend .m1{background:#7e8ce0}
.wsm-earthquake-legend .m25{background:#42a5f5}
.wsm-earthquake-legend .m4{background:#ffd54f}
.wsm-earthquake-legend .m5{background:#ff8f00}
.wsm-earthquake-legend .m6{background:#ef3b2c}
.wsm-earthquake-legend .m7{background:#d50000}
.wsm-earthquake-credit{
  margin:0;
  padding:0 15px 13px;
  color:var(--muted);
  font-size:.58rem;
  line-height:1.45;
}
.wsm-earthquake-list-headbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.wsm-earthquake-list-headbar select{
  min-height:34px;
  max-width:110px;
  padding:5px 8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
  color:var(--ink);
  font-size:.65rem;
  font-weight:750;
}
.wsm-earthquake-list{
  max-height:660px;
  overflow:auto;
  padding:8px;
}
.wsm-earthquake-list-loading,
.wsm-earthquake-list-empty{
  padding:22px 13px;
  color:var(--muted);
  text-align:center;
  font-size:.72rem;
}
.wsm-eq-list-item{
  width:100%;
  display:block;
  padding:11px 10px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.wsm-eq-list-item:last-child{border-bottom:0}
.wsm-eq-list-item:hover,
.wsm-eq-list-item.is-selected{background:var(--panel)}
.wsm-eq-list-item.is-selected{box-shadow:inset 3px 0 0 var(--blue)}
.wsm-eq-list-head{display:flex;align-items:center;gap:8px}
.wsm-eq-list-head i{
  display:grid;
  place-items:center;
  width:37px;
  height:28px;
  flex:0 0 auto;
  border-radius:999px;
  background:#7e8ce0;
  color:#fff;
  font-size:.65rem;
  font-style:normal;
  font-weight:900;
}
.wsm-eq-list-item.is-m25 .wsm-eq-list-head i{background:#42a5f5}
.wsm-eq-list-item.is-m4 .wsm-eq-list-head i{background:#e6b900;color:#1d1a08}
.wsm-eq-list-item.is-m5 .wsm-eq-list-head i{background:#ff8f00;color:#201303}
.wsm-eq-list-item.is-m6 .wsm-eq-list-head i{background:#ef3b2c}
.wsm-eq-list-item.is-m7 .wsm-eq-list-head i{background:#d50000}
.wsm-eq-list-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
}
.wsm-eq-list-item small{
  display:block;
  margin:4px 0 0 45px;
  color:var(--muted);
  font-size:.59rem;
  line-height:1.35;
}
.wsm-earthquake-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:15px;
}
.wsm-earthquake-info-grid article{
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
}
.wsm-earthquake-info-grid strong{display:block;font-size:.83rem}
.wsm-earthquake-info-grid p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.48;
}
.wsm-eq-modal[hidden]{display:none}
.wsm-eq-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
}
.wsm-eq-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,12,19,.76);
  backdrop-filter:blur(4px);
}
.wsm-eq-modal-card{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--card);
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.wsm-eq-modal-close{
  position:absolute;
  right:10px;
  top:10px;
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:var(--ink);
  cursor:pointer;
  font-size:1.35rem;
}
.wsm-eq-modal-mag{
  display:inline-flex;
  padding:6px 10px;
  border-radius:8px;
  background:#7e8ce0;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}
.wsm-eq-modal-mag.is-m25{background:#42a5f5}
.wsm-eq-modal-mag.is-m4{background:#ffd54f;color:#201b08}
.wsm-eq-modal-mag.is-m5{background:#ff8f00;color:#201303}
.wsm-eq-modal-mag.is-m6{background:#ef3b2c}
.wsm-eq-modal-mag.is-m7{background:#d50000}
.wsm-eq-modal-card h2{
  margin:10px 45px 0 0;
  font-size:1.55rem;
  line-height:1.15;
}
.wsm-eq-modal-time{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.67rem;
}
.wsm-eq-modal-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:18px 0 14px;
}
.wsm-eq-modal-stats>div{
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
}
.wsm-eq-modal-stats small{
  display:block;
  color:var(--muted);
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.wsm-eq-modal-stats strong{
  display:block;
  margin-top:3px;
  overflow-wrap:anywhere;
  font-size:.75rem;
}
.wsm-eq-explain{
  margin:4px 0 13px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--panel);
}
.wsm-eq-explain h3{margin:0;font-size:.83rem}
.wsm-eq-explain p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.5;
}
.wsm-eq-source-link{
  display:inline-flex;
  margin-top:2px;
  padding:9px 12px;
  border-radius:10px;
  background:var(--blue);
  color:#fff;
  font-size:.73rem;
  font-weight:850;
}
@media(max-width:1100px){
  .wsm-earthquake-toolbar{align-items:flex-start;flex-direction:column}
  .wsm-earthquake-actions{justify-content:flex-start;width:100%}
}
@media(max-width:980px){
  .wsm-earthquake-hero,
  .wsm-earthquake-layout{grid-template-columns:1fr}
  .wsm-earthquake-list{max-height:520px}
}
@media(max-width:720px){
  .wsm-earthquake-globe-shell{height:560px}
  .wsm-earthquake-info-grid{grid-template-columns:1fr}
  .wsm-earthquake-actions{align-items:stretch}
  .wsm-eq-filters{width:100%}
  .wsm-eq-filters button{flex:1 1 auto}
}
@media(max-width:560px){
  .wsm-earthquake-hero>div{padding:21px}
  .wsm-earthquake-hero h1{font-size:2rem}
  .wsm-earthquake-globe-shell{height:500px}
  .wsm-eq-modal{padding:10px}
  .wsm-eq-modal-card{padding:18px}
  .wsm-eq-modal-stats{grid-template-columns:1fr}
  .wsm-earthquake-list-headbar{align-items:flex-start;flex-direction:column}
  .wsm-earthquake-list-headbar select{max-width:none;width:100%}
}


/* ==========================================================
   v1.9.24 – groter klik-/tapgebied aardbevingsmarkers
   ========================================================== */
.wsm-eq-hit-target{
  width:var(--eq-hit-size,36px);
  height:var(--eq-hit-size,36px);
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:transparent;
  cursor:pointer;
  transform:translate(-50%,-50%);
  outline:none;
  touch-action:manipulation;
}
.wsm-eq-hit-target:hover,
.wsm-eq-hit-target:focus-visible{
  background:rgba(91,215,255,.08);
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 0 5px rgba(91,215,255,.07);
}
@media (max-width:780px), (pointer:coarse){
  .wsm-eq-hit-target{
    width:max(var(--eq-hit-size,36px),44px);
    height:max(var(--eq-hit-size,36px),44px);
  }
}


/* === Vliegverkeer / live flight radar 1.9.25 === */
.wsm-flights-page{overflow:visible}
.wsm-flights-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;margin:0 0 18px}
.wsm-flights-hero>div,.wsm-flights-hero aside,.wsm-flights-map-card,.wsm-flights-list-card,.wsm-flights-info-grid article{border:1px solid var(--wsm-border,#dce4ee);background:var(--wsm-card,#fff);border-radius:18px;box-shadow:0 12px 34px rgba(15,35,58,.07)}
.wsm-flights-hero>div{padding:26px 28px}.wsm-flights-hero h1{margin:5px 0 8px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.02}.wsm-flights-hero p{margin:0;max-width:820px;color:var(--wsm-muted,#66758a)}
.wsm-flights-hero aside{padding:22px;display:flex;flex-direction:column;justify-content:center}.wsm-flights-hero aside small{color:var(--wsm-muted,#66758a);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.wsm-flights-hero aside strong{font-size:3rem;line-height:1;margin:6px 0;color:#2687e9}.wsm-flights-hero aside span{font-size:.84rem;color:var(--wsm-muted,#66758a)}
.wsm-flights-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,.75fr);gap:18px;align-items:start}.wsm-flights-map-card,.wsm-flights-list-card{overflow:hidden}.wsm-flights-toolbar,.wsm-flights-list-headbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--wsm-border,#dce4ee)}.wsm-flights-toolbar h2,.wsm-flights-list-card h2{margin:0;font-size:1.08rem}.wsm-flights-toolbar span,.wsm-flights-list-headbar span{display:block;margin-top:3px;color:var(--wsm-muted,#66758a);font-size:.78rem}.wsm-flights-actions{display:flex;gap:8px;flex-wrap:wrap}.wsm-flights-actions button,.wsm-flights-list-headbar select{min-height:40px;border:1px solid var(--wsm-border,#dce4ee);border-radius:10px;background:var(--wsm-card,#fff);color:inherit;padding:0 12px;font:inherit;font-weight:700;cursor:pointer}.wsm-flights-actions button:hover{border-color:#2687e9;color:#2687e9}.wsm-flights-actions button:disabled{opacity:.5;cursor:wait}
.wsm-flights-map-shell{position:relative;height:650px;background:#e8eef5}.wsm-flights-map{position:absolute;inset:0;z-index:1}.wsm-flights-loading{position:absolute;z-index:500;inset:0;display:grid;place-content:center;text-align:center;background:rgba(8,24,44,.78);color:#fff;pointer-events:none}.wsm-flights-loading[hidden]{display:none}.wsm-flights-loading strong,.wsm-flights-loading span{display:block}.wsm-flights-loading span{margin-top:5px;font-size:.84rem;opacity:.75}.wsm-flights-legend{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding:11px 16px;border-top:1px solid var(--wsm-border,#dce4ee);font-size:.75rem}.wsm-flights-legend span{display:flex;align-items:center;gap:5px}.wsm-flights-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.wsm-flights-legend .ground{background:#9aa6b2}.wsm-flights-legend .low{background:#3ecf8e}.wsm-flights-legend .mid{background:#42a5f5}.wsm-flights-legend .high{background:#9b7bff}.wsm-flights-legend .ring{margin-left:auto;color:var(--wsm-muted,#66758a)}.wsm-flights-credit{margin:0;padding:0 16px 15px;color:var(--wsm-muted,#66758a);font-size:.72rem;line-height:1.55}
.wsm-flight-marker-wrap{background:transparent!important;border:0!important}.wsm-flight-hit{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.wsm-flight-list-plane{display:grid;place-items:center}.wsm-flight-plane-svg{display:block;width:28px;height:28px;fill:var(--plane,#42a5f5);filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));transform-origin:50% 50%;transition:transform .25s ease}.wsm-flight-plane-svg.is-list{width:23px;height:23px}.wsm-flight-hit:hover{background:rgba(38,135,233,.12);box-shadow:0 0 0 1px rgba(38,135,233,.22)}.wsm-flight-tooltip{border:0!important;border-radius:9px!important;background:rgba(5,18,34,.93)!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important;font-weight:800!important}.wsm-flight-tooltip:before{border-top-color:rgba(5,18,34,.93)!important}.wsm-flight-tooltip span{font-size:.7rem;opacity:.72;font-weight:600}.wsm-medemblik-label{border:0!important;background:rgba(229,57,53,.92)!important;color:#fff!important;font-size:.7rem!important;font-weight:800!important;border-radius:7px!important}.wsm-medemblik-label:before{border-top-color:rgba(229,57,53,.92)!important}
.wsm-flights-list-headbar select{max-width:135px}.wsm-flights-list{max-height:650px;overflow:auto}.wsm-flights-list-loading,.wsm-flights-list-empty{padding:28px 18px;color:var(--wsm-muted,#66758a);text-align:center;font-size:.85rem}.wsm-flight-list-item{width:100%;border:0;border-bottom:1px solid var(--wsm-border,#e4eaf1);background:transparent;color:inherit;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;text-align:left;cursor:pointer}.wsm-flight-list-item:hover{background:rgba(38,135,233,.07)}.wsm-flight-list-plane{text-align:center}.wsm-flight-list-main,.wsm-flight-list-meta{min-width:0}.wsm-flight-list-main strong,.wsm-flight-list-main small,.wsm-flight-list-meta strong,.wsm-flight-list-meta small{display:block}.wsm-flight-list-main strong{font-size:.86rem}.wsm-flight-list-main small{margin-top:2px;color:var(--wsm-muted,#66758a);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsm-flight-list-meta{text-align:right}.wsm-flight-list-meta strong{font-size:.78rem}.wsm-flight-list-meta small{margin-top:2px;color:var(--wsm-muted,#66758a);font-size:.66rem;white-space:nowrap}
.wsm-flights-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.wsm-flights-info-grid article{padding:17px 18px}.wsm-flights-info-grid strong{display:block;font-size:.84rem}.wsm-flights-info-grid p{margin:5px 0 0;color:var(--wsm-muted,#66758a);font-size:.77rem;line-height:1.55}
.wsm-flight-modal[hidden]{display:none}.wsm-flight-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.wsm-flight-modal-backdrop{position:absolute;inset:0;background:rgba(3,12,24,.72);backdrop-filter:blur(4px)}.wsm-flight-modal-card{position:relative;z-index:1;width:min(900px,96vw);max-height:88vh;overflow:auto;border-radius:18px;background:var(--wsm-card,#fff);color:var(--wsm-text,#142235);border:1px solid var(--wsm-border,#dce4ee);box-shadow:0 28px 90px rgba(0,0,0,.32);padding:24px}.wsm-flight-modal-close{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid var(--wsm-border,#dce4ee);background:var(--wsm-card,#fff);color:inherit;font-size:1.5rem;cursor:pointer}.wsm-flight-modal-type{display:inline-flex;max-width:calc(100% - 54px);padding:5px 9px;border-radius:999px;background:rgba(38,135,233,.12);color:#2687e9;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.wsm-flight-modal-card h2{margin:9px 55px 2px 0;font-size:1.75rem}.wsm-flight-modal-sub{margin:0 0 16px;color:var(--wsm-muted,#66758a);font-size:.85rem}.wsm-flight-modal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wsm-flight-modal-stats>div{min-width:0;padding:10px;border:1px solid var(--wsm-border,#e2e8f0);border-radius:11px;background:rgba(38,135,233,.035)}.wsm-flight-modal-stats small,.wsm-flight-modal-stats strong{display:block}.wsm-flight-modal-stats small{color:var(--wsm-muted,#66758a);font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.wsm-flight-modal-stats strong{margin-top:2px;font-size:.78rem;overflow-wrap:anywhere}.wsm-flight-source-link{display:inline-flex;margin-top:16px;padding:9px 12px;border-radius:10px;background:#2687e9;color:#fff!important;font-weight:800;text-decoration:none}.wsm-modal-open{overflow:hidden}
[data-theme="dark"] .wsm-flights-map-card,[data-theme="dark"] .wsm-flights-list-card,[data-theme="dark"] .wsm-flights-hero>div,[data-theme="dark"] .wsm-flights-hero aside,[data-theme="dark"] .wsm-flights-info-grid article,[data-theme="dark"] .wsm-flight-modal-card,[data-theme="dark"] .wsm-flight-modal-close,[data-theme="dark"] .wsm-flights-actions button,[data-theme="dark"] .wsm-flights-list-headbar select{--wsm-card:#0e1b2b;--wsm-text:#edf5ff;--wsm-muted:#9babc0;--wsm-border:#21344a;background:var(--wsm-card);color:var(--wsm-text)}
@media(max-width:1000px){.wsm-flights-layout,.wsm-flights-hero{grid-template-columns:1fr}.wsm-flights-list{max-height:480px}.wsm-flight-modal-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.wsm-flights-hero aside{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px}.wsm-flights-hero aside strong{font-size:2.2rem;margin:0}}
@media(max-width:700px){.wsm-flights-hero>div{padding:20px}.wsm-flights-hero h1{font-size:2rem}.wsm-flights-map-shell{height:520px}.wsm-flights-toolbar,.wsm-flights-list-headbar{align-items:flex-start;flex-direction:column}.wsm-flights-actions{width:100%}.wsm-flights-actions button{flex:1}.wsm-flights-list-headbar select{max-width:none;width:100%}.wsm-flights-info-grid{grid-template-columns:1fr}.wsm-flight-modal{padding:8px}.wsm-flight-modal-card{width:100%;max-height:92vh;padding:18px}.wsm-flight-modal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wsm-flights-legend .ring{margin-left:0}.wsm-flight-list-item{grid-template-columns:34px minmax(0,1fr);}.wsm-flight-list-meta{grid-column:2;text-align:left;display:flex;gap:7px;align-items:center}}
@media(max-width:430px){.wsm-flights-map-shell{height:470px}.wsm-flight-modal-stats{grid-template-columns:1fr}.wsm-flights-hero aside{grid-template-columns:1fr auto}.wsm-flights-hero aside span{grid-column:1/-1}}


/* === Vliegverkeer 1.9.26: vloeiende beweging + vliegtuigfoto === */
.wsm-flight-modal-main{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:14px;align-items:start}
.wsm-flight-photo-card{min-height:210px;border:1px solid var(--wsm-border,#e2e8f0);border-radius:13px;overflow:hidden;background:rgba(38,135,233,.035);display:flex;flex-direction:column}
.wsm-flight-photo-link{display:block;background:#0b1724;text-decoration:none;line-height:0}
.wsm-flight-photo-link[hidden]{display:none}
.wsm-flight-photo-link img{display:block;width:100%;min-height:180px;max-height:235px;object-fit:cover;background:#0b1724}
.wsm-flight-photo-placeholder{min-height:180px;display:grid;place-items:center;align-content:center;gap:4px;padding:18px;text-align:center;color:var(--wsm-muted,#66758a)}
.wsm-flight-photo-placeholder span{font-size:2.4rem;color:#2687e9;line-height:1}
.wsm-flight-photo-placeholder strong{font-size:.86rem;color:var(--wsm-text,#142235)}
.wsm-flight-photo-placeholder small{max-width:210px;font-size:.68rem;line-height:1.45}
.wsm-flight-photo-credit{margin:auto 0 0;padding:8px 10px;border-top:1px solid var(--wsm-border,#e2e8f0);font-size:.62rem;line-height:1.4;color:var(--wsm-muted,#66758a)}
.wsm-flight-photo-card.has-photo .wsm-flight-photo-credit{background:rgba(0,0,0,.025)}
.wsm-flight-photo-card.is-loading .wsm-flight-photo-placeholder span{animation:wsm-flight-photo-pulse 1.3s ease-in-out infinite}
@keyframes wsm-flight-photo-pulse{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.wsm-flight-modal-main .wsm-flight-modal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.wsm-flight-marker-wrap{will-change:transform}
.wsm-flight-plane-svg{will-change:transform}
.wsm-flights-info-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media(prefers-reduced-motion:reduce){.wsm-flight-photo-card.is-loading .wsm-flight-photo-placeholder span{animation:none}.wsm-flight-plane-svg{transition:none}}
@media(max-width:760px){.wsm-flight-modal-main{grid-template-columns:1fr}.wsm-flight-photo-card{min-height:0}.wsm-flight-photo-link img{min-height:160px;max-height:240px}.wsm-flight-modal-main .wsm-flight-modal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.wsm-flight-modal-main .wsm-flight-modal-stats{grid-template-columns:1fr}}


/* ==========================================================================
   v1.9.27 – Topmenu harmonica voor tablet en mobiel
   ========================================================================== */
.wsm-topmenu-toggle,
.wsm-topmenu-subtoggle{
  display:none;
}

@media(max-width:900px){
  .wsm-topbar{
    min-height:44px;
  }
  .wsm-topbar-inner{
    position:relative;
    min-height:44px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
    padding-top:4px;
    padding-bottom:4px;
  }
  .wsm-topmenu-toggle{
    display:inline-flex;
    min-height:36px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex:0 0 auto;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:8px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font:inherit;
    font-size:.72rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.015em;
    cursor:pointer;
  }
  .wsm-topmenu-toggle:hover,
  .wsm-topmenu-toggle:focus-visible,
  .wsm-topmenu-toggle[aria-expanded="true"]{
    background:rgba(255,255,255,.11);
    border-color:rgba(142,203,224,.55);
    outline:none;
  }
  .wsm-topmenu-toggle-icon{
    display:grid;
    place-items:center;
    width:18px;
    color:#8ecbe0;
    font-size:.82rem;
    line-height:1;
  }
  .wsm-topbar-status{
    margin-left:auto;
  }
  .wsm-topmenu{
    display:none;
    flex:1 0 100%;
    order:10;
    width:100%;
    overflow:visible;
    padding:0 0 6px;
  }
  .wsm-topmenu.is-open{
    display:block;
  }
  .wsm-topmenu ul,
  .wsm-topmenu-list{
    display:block;
    width:100%;
    min-width:0;
    margin:0;
    padding:4px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:#06273b;
    box-shadow:0 12px 26px rgba(0,0,0,.18);
  }
  .wsm-topmenu li{
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .wsm-topmenu li:last-child{
    border-bottom:0;
  }
  .wsm-topmenu a{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:7px;
    font-size:.76rem;
    line-height:1.25;
    white-space:normal;
  }
  .wsm-topmenu .menu-item-has-children{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    align-items:stretch;
  }
  .wsm-topmenu .menu-item-has-children>a{
    grid-column:1;
    min-width:0;
  }
  .wsm-topmenu .menu-item-has-children>a:after{
    display:none;
  }
  .wsm-topmenu-subtoggle{
    grid-column:2;
    display:grid;
    place-items:center;
    min-width:44px;
    min-height:44px;
    margin:2px;
    padding:0;
    border:0;
    border-left:1px solid rgba(255,255,255,.08);
    border-radius:7px;
    background:transparent;
    color:#8ecbe0;
    cursor:pointer;
  }
  .wsm-topmenu-subtoggle:hover,
  .wsm-topmenu-subtoggle:focus-visible,
  .wsm-topmenu-subtoggle[aria-expanded="true"]{
    background:rgba(255,255,255,.09);
    color:#fff;
    outline:none;
  }
  .wsm-topmenu-subtoggle-icon{
    font-size:.9rem;
    line-height:1;
  }
  .wsm-topmenu .sub-menu{
    grid-column:1/-1;
    position:static;
    left:auto;
    top:auto;
    min-width:0;
    width:100%;
    margin:0 0 4px;
    padding:3px 4px 4px 14px;
    border:0;
    border-top:1px solid rgba(255,255,255,.07);
    border-radius:0 0 8px 8px;
    background:rgba(0,0,0,.12);
    box-shadow:none;
    display:none!important;
  }
  .wsm-topmenu li.is-accordion-open>.sub-menu{
    display:block!important;
  }
  .wsm-topmenu .sub-menu li{
    display:block;
    border-bottom:0;
  }
  .wsm-topmenu .sub-menu a{
    min-height:42px;
    padding:9px 11px;
    font-size:.73rem;
    color:#c9e2ec;
  }
  .wsm-topbar.topmenu-open{
    box-shadow:0 12px 30px rgba(0,0,0,.20);
  }
}

@media(max-width:620px){
  .wsm-topbar-inner{
    min-height:44px;
  }
  .wsm-topmenu-toggle{
    min-width:118px;
  }
  .wsm-topmenu a{
    font-size:.78rem;
  }
}


/* ==========================================================================
   v1.9.28 – taalkeuze met 15×15 vlaggen in het topmenu
   ========================================================================== */
.wsm-language-switcher{position:relative;flex:0 0 auto;color:#d7edf7}
.wsm-language-switcher summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:30px;padding:0 8px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(255,255,255,.045);color:#d7edf7;font-size:.62rem;font-weight:800;cursor:pointer;user-select:none;white-space:nowrap}
.wsm-language-switcher summary::-webkit-details-marker{display:none}
.wsm-language-switcher summary:hover,.wsm-language-switcher summary:focus-visible,.wsm-language-switcher[open] summary{background:rgba(255,255,255,.10);border-color:rgba(142,203,224,.48);outline:none}
.wsm-language-switcher img{display:block;width:15px!important;height:15px!important;min-width:15px;max-width:15px;object-fit:cover;border-radius:1px;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.wsm-language-chevron{color:#8ecbe0;font-size:.66rem;line-height:1;transition:transform .15s ease}
.wsm-language-switcher[open] .wsm-language-chevron{transform:rotate(180deg)}
.wsm-language-menu{position:absolute;z-index:260;right:0;top:calc(100% + 6px);width:226px;padding:5px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#06273b;box-shadow:0 14px 34px rgba(0,0,0,.30)}
.wsm-language-menu a{display:grid;grid-template-columns:15px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:36px;padding:7px 8px;border-radius:6px;color:#d7edf7;text-decoration:none;font-size:.7rem;font-weight:720;line-height:1.15}
.wsm-language-menu a:hover,.wsm-language-menu a:focus-visible{background:rgba(255,255,255,.09);color:#fff;outline:none}
.wsm-language-menu a.is-active{background:rgba(35,200,239,.10);color:#fff}
.wsm-language-check{justify-self:end;color:#42e4a8;font-weight:900}
@media(max-width:900px){
  .wsm-topbar-status{gap:8px}
  .wsm-language-switcher summary{min-height:36px;padding:0 9px;font-size:.68rem}
  .wsm-language-menu{top:calc(100% + 5px);right:0;width:226px}
  .wsm-language-menu a{min-height:42px;font-size:.74rem}
}
@media(max-width:620px){
  .wsm-language-switcher summary{min-width:42px;justify-content:center;padding:0 7px}
  .wsm-language-current-name{display:none}
  .wsm-language-chevron{font-size:.6rem}
  .wsm-language-menu{right:0;width:176px}
}
@media(max-width:370px){
  .wsm-topmenu-toggle{min-width:104px;padding-left:9px;padding-right:9px}
  .wsm-language-switcher summary{min-width:38px;padding:0 6px}
}


/* ==========================================================================
   v1.9.29 – Lokale Live Monitor + compactere weeranimatie
   ========================================================================== */
@media (min-width:761px){.wsm-weather-icon{transform:scale(.82);transform-origin:right center}}
@media (max-width:760px){.wsm-weather-icon{transform:scale(.78)!important;transform-origin:right top!important}}

.wsm-local-livebar{position:relative;z-index:72;background:linear-gradient(90deg,#061d2f,#092c45 48%,#07334d);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.09);color:#e8f5fc}
.wsm-local-livebar-inner{min-height:48px;display:flex;align-items:stretch;gap:0}
.wsm-local-livebar-title{display:flex;align-items:center;gap:8px;padding:0 16px 0 0;white-space:nowrap;font-size:.69rem;letter-spacing:.055em;text-transform:uppercase;color:#8fbed6}
.wsm-local-livebar-title i{width:7px;height:7px;border-radius:50%;background:#23d69c;box-shadow:0 0 0 4px rgba(35,214,156,.1),0 0 13px rgba(35,214,156,.5)}
.wsm-local-chip{appearance:none;border:0;border-left:1px solid rgba(255,255,255,.08);background:transparent;color:inherit;display:flex;align-items:center;min-width:260px;padding:6px 12px;gap:10px;text-align:left;cursor:pointer;transition:background .18s ease}
.wsm-local-chip:hover,.wsm-local-chip:focus-visible{background:rgba(255,255,255,.07);outline:none}
.wsm-local-chip-icon{flex:0 0 31px;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(17,149,217,.17);border:1px solid rgba(80,196,255,.28);color:#67d2ff;font-size:1.15rem;font-weight:900}
.wsm-local-chip-icon.is-road{font-size:.66rem;letter-spacing:.02em;background:#132d40;color:#fff;border-color:rgba(255,255,255,.17)}
.wsm-local-chip-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.wsm-local-chip-copy small{font-size:.61rem;color:#8fb4ca;white-space:nowrap}.wsm-local-chip-copy strong{font-size:.76rem;color:#f4fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wsm-local-chip.is-good .wsm-local-chip-icon{background:rgba(29,183,132,.14);border-color:rgba(29,183,132,.34);color:#5be0b5}.wsm-local-chip.is-warn .wsm-local-chip-icon{background:rgba(244,194,58,.15);border-color:rgba(244,194,58,.35);color:#ffd96d}.wsm-local-chip.is-bad .wsm-local-chip-icon{background:rgba(238,88,82,.18);border-color:rgba(238,88,82,.4);color:#ff8b86}
.wsm-local-chip-arrow{margin-left:auto;color:#7da9bf;font-size:1.25rem}.wsm-local-livebar-updated{margin-left:auto;display:flex;align-items:center;padding-left:14px;font-size:.61rem;color:#718fa1;white-space:nowrap}
@media(max-width:1040px){.wsm-local-livebar-title{display:none}.wsm-local-chip{min-width:0;flex:1}.wsm-local-livebar-updated{display:none}}
@media(max-width:640px){.wsm-local-livebar-inner{padding:0}.wsm-local-chip{padding:7px 9px}.wsm-local-chip-copy small{font-size:.56rem}.wsm-local-chip-copy strong{font-size:.68rem}.wsm-local-chip-icon{flex-basis:29px;width:29px;height:29px}.wsm-local-chip-arrow{display:none}}
@media(max-width:410px){.wsm-local-chip-copy small{max-width:118px;overflow:hidden;text-overflow:ellipsis}.wsm-local-chip-copy strong{max-width:118px}}

body.wsm-modal-open{overflow:hidden}.wsm-local-modal[hidden]{display:none!important}.wsm-local-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.wsm-local-modal-backdrop{position:absolute;inset:0;background:rgba(1,13,22,.78);backdrop-filter:blur(7px)}
.wsm-local-dialog{position:relative;width:min(1050px,96vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:0 34px 90px rgba(0,0,0,.35);color:var(--ink)}
.wsm-local-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 23px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--card),var(--panel))}.wsm-local-dialog-kicker{display:block;color:var(--blue);font-size:.64rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase}.wsm-local-dialog-head h2{margin:3px 0 4px;font-size:1.5rem}.wsm-local-dialog-head p{margin:0;color:var(--muted);font-size:.76rem}.wsm-local-close{flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);font-size:1.55rem;line-height:1;cursor:pointer}.wsm-local-close:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.wsm-local-dialog-body{padding:20px 23px 23px;overflow:auto}.wsm-local-dialog-foot{display:flex;justify-content:space-between;gap:15px;padding:10px 23px;border-top:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:.65rem}.wsm-local-loading{display:flex;align-items:center;gap:10px;color:var(--muted)}.wsm-local-loading span{width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:wsmLocalSpin .8s linear infinite}@keyframes wsmLocalSpin{to{transform:rotate(360deg)}}
.wsm-local-hero-value{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-radius:17px;background:linear-gradient(130deg,#06283f,#0b5a7d);color:#fff}.wsm-local-hero-value span{display:block;font-size:.68rem;color:#9fd6eb}.wsm-local-hero-value strong{display:block;margin-top:2px;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.wsm-local-hero-value strong small{font-size:.9rem;font-weight:700}.wsm-local-hero-value em{display:block;margin-top:8px;font-style:normal;font-size:.72rem;color:#d9eef6}.wsm-local-hero-value em .up{color:#7ee8be}.wsm-local-hero-value em .down{color:#89cfff}.wsm-local-source-badge{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.11);font-size:.62rem;font-weight:800;color:#e7f8ff;white-space:nowrap}
.wsm-local-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.wsm-local-statgrid>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.wsm-local-statgrid small{display:block;color:var(--muted);font-size:.59rem;text-transform:uppercase;letter-spacing:.055em}.wsm-local-statgrid strong{display:block;margin-top:4px;font-size:.78rem;overflow-wrap:anywhere}
.wsm-local-chart{border:1px solid var(--line);border-radius:15px;background:var(--panel);padding:13px;margin:12px 0}.wsm-local-chart-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.wsm-local-chart-head strong{font-size:.77rem}.wsm-local-chart-head span{font-size:.66rem;color:var(--muted)}.wsm-local-chart svg{display:block;width:100%;height:auto;max-height:220px;overflow:visible}.wsm-local-chart line{stroke:var(--line);stroke-width:1}.wsm-local-chart polyline{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 3px rgba(17,149,217,.15))}
.wsm-local-map{height:310px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#dfe8ee;margin-top:12px}.wsm-local-map.is-traffic{height:360px}.wsm-local-note{margin:10px 2px 0;color:var(--muted);font-size:.64rem;line-height:1.55}.wsm-local-error,.wsm-local-empty{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted)}.wsm-local-error strong{display:block;color:var(--ink);margin-bottom:5px}.wsm-local-empty.is-good{color:#187657;background:rgba(29,183,132,.07);border-color:rgba(29,183,132,.2)}
.wsm-local-traffic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:17px;border-radius:16px;background:linear-gradient(135deg,#09253a,#0b4160);color:#fff}.wsm-local-traffic-head span,.wsm-local-traffic-head small{display:block;color:#a9d1e3;font-size:.66rem}.wsm-local-traffic-head strong{display:block;margin:3px 0;font-size:1.25rem}.wsm-local-traffic-head a{flex:0 0 auto;padding:9px 11px;border-radius:10px;background:#fff;color:#09253a;font-size:.68rem;font-weight:900;text-decoration:none}.wsm-traffic-list{display:grid;gap:7px;margin-top:12px}.wsm-traffic-item{appearance:none;width:100%;display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:10px 12px;cursor:pointer}.wsm-traffic-item:hover{border-color:#9fcde4;background:var(--panel)}.wsm-traffic-dot{width:10px;height:10px;border-radius:50%;background:#f4a62a;box-shadow:0 0 0 4px rgba(244,166,42,.12)}.wsm-traffic-dot.is-jam{background:#e44343;box-shadow:0 0 0 4px rgba(228,67,67,.12)}.wsm-traffic-item strong{display:block;font-size:.75rem}.wsm-traffic-item small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}.wsm-traffic-item em{display:block;margin-top:3px;color:var(--muted);font-size:.6rem;font-style:normal}.wsm-traffic-item>b{color:var(--muted);font-size:1.1rem}
@media(max-width:720px){.wsm-local-modal{padding:8px}.wsm-local-dialog{width:100%;max-height:94vh;border-radius:17px}.wsm-local-dialog-head{padding:16px}.wsm-local-dialog-body{padding:14px 14px 17px}.wsm-local-dialog-foot{padding:9px 14px}.wsm-local-statgrid{grid-template-columns:1fr 1fr}.wsm-local-traffic-head{flex-direction:column}.wsm-local-traffic-head a{width:100%;text-align:center}.wsm-local-map,.wsm-local-map.is-traffic{height:280px}.wsm-local-source-badge{display:none}}

/* ==========================================================================
   v1.9.31 – originele Lokale Live Monitor-balk in het blauwe actuele-weervlak
   ========================================================================== */
.wsm-now>.wsm-local-livebar-in-now{
  position:relative;z-index:3;margin-top:0;border-bottom:0;
  background:linear-gradient(90deg,#061d2f,#092c45 48%,#07334d);
}
.wsm-now>.wsm-local-livebar-in-now .wsm-local-livebar-inner{
  width:calc(100% - 34px);max-width:none;
}
@media(max-width:760px){
  .wsm-now>.wsm-local-livebar-in-now .wsm-local-livebar-inner{width:calc(100% - 24px)}
}
@media(max-width:640px){
  .wsm-now>.wsm-local-livebar-in-now .wsm-local-livebar-inner{width:100%;padding:0}
}


/* ==========================================================================
   v1.9.32 – zichtbare Lokale Live Monitor in het blauwe actuele-weervlak
   ========================================================================== */
.wsm-now{
  display:flex;
  flex-direction:column;
}
.wsm-now>.wsm-now-inner{
  height:auto;
  flex:1 1 auto;
  min-height:0;
}
.wsm-now>.wsm-local-livebar-in-now{
  position:relative;
  z-index:4;
  flex:0 0 auto;
  width:100%;
  margin:0;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:0;
  background:linear-gradient(90deg,#061d2f,#092c45 48%,#07334d);
}
.wsm-now>.wsm-local-livebar-in-now .wsm-local-livebar-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 24px;
  box-sizing:border-box;
}
@media(max-width:760px){
  .wsm-now>.wsm-local-livebar-in-now .wsm-local-livebar-inner{padding:0 14px}
}
@media(max-width:640px){
  .wsm-now>.wsm-local-livebar-in-now .wsm-local-livebar-inner{padding:0}
}

/* ==========================================================================
   v1.9.33 – weericoon naast temperatuur, boven waarschuwingen
   ========================================================================== */
.wsm-now>.wsm-now-inner{
  display:block;
  padding:32px;
}
.wsm-now-inner>div:first-child{
  width:100%;
}
.wsm-temp-icon-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-width:0;
}
.wsm-temp-icon-row .wsm-now-temp{
  flex:0 1 auto;
  margin:10px 0;
}
.wsm-weather-icon-slot{
  position:relative;
  flex:0 0 88px;
  width:88px;
  height:78px;
  overflow:visible;
  pointer-events:none;
}
.wsm-weather-icon-slot>.wsm-weather-icon{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:0!important;
  width:230px!important;
  height:220px!important;
  transform:scale(.34)!important;
  transform-origin:left top!important;
  opacity:1;
  margin:0!important;
}
@media(max-width:860px){
  .wsm-now>.wsm-now-inner{padding:26px}
  .wsm-temp-icon-row{gap:12px}
  .wsm-weather-icon-slot{flex-basis:70px;width:70px;height:65px}
  .wsm-weather-icon-slot>.wsm-weather-icon{transform:scale(.32)!important}
}
@media(max-width:560px){
  .wsm-now>.wsm-now-inner{padding:20px}
  .wsm-temp-icon-row{gap:6px;align-items:center}
  .wsm-temp-icon-row .wsm-now-temp{min-width:0;margin:8px 0}
  .wsm-weather-icon-slot{flex:0 0 46px;width:46px;height:48px}
  .wsm-weather-icon-slot>.wsm-weather-icon{
    transform:scale(.225)!important;
    transform-origin:left top!important;
  }
  .wsm-now-desc,.wsm-now-sub{max-width:none}
}
@media(max-width:390px){
  .wsm-weather-icon-slot{flex-basis:40px;width:40px;height:44px}
  .wsm-weather-icon-slot>.wsm-weather-icon{transform:scale(.20)!important}
  .wsm-temp-icon-row .wsm-now-temp{font-size:clamp(4.2rem,21vw,4.8rem)}
  .wsm-now-desc,.wsm-now-sub{max-width:none}
}

/* v1.9.34 – extra talen + RTL */
html[dir="rtl"] .wsm-language-menu{right:auto;left:0;text-align:right}
html[dir="rtl"] .wsm-language-menu a{grid-template-columns:16px minmax(0,1fr) 15px}
html[dir="rtl"] .wsm-language-check{justify-self:start}


/* ==========================================================================
   v1.9.36 – automatische browsertaal + compacter weericoon
   ========================================================================== */
.wsm-weather-icon-slot{flex-basis:72px;width:72px;height:64px}
.wsm-weather-icon-slot>.wsm-weather-icon{transform:scale(.28)!important}
.wsm-language-menu .wsm-language-auto{border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:4px;padding-bottom:9px}
@media(max-width:860px){
  .wsm-weather-icon-slot{flex-basis:58px;width:58px;height:54px}
  .wsm-weather-icon-slot>.wsm-weather-icon{transform:scale(.255)!important}
}
@media(max-width:560px){
  .wsm-weather-icon-slot{flex:0 0 38px;width:38px;height:40px}
  .wsm-weather-icon-slot>.wsm-weather-icon{transform:scale(.185)!important}
}
@media(max-width:390px){
  .wsm-weather-icon-slot{flex-basis:34px;width:34px;height:38px}
  .wsm-weather-icon-slot>.wsm-weather-icon{transform:scale(.165)!important}
}


/* ==========================================================================
   v1.9.37 – browsertaal zonder pulldown, weericoon als één schaalbaar canvas,
             dynamische temperatuurkleuren
   ========================================================================== */

/* De zichtbare taalkeuze is verwijderd; browser Accept-Language is leidend. */
.wsm-language-switcher{display:none!important}

/*
 * Schaal niet meer het geanimeerde scene-element zelf. Een aparte wrapper
 * schaalt het complete 230×220 canvas, zodat kern, stralen, wolken en neerslag
 * altijd exact bij elkaar blijven tijdens animaties.
 */
.wsm-weather-icon-slot{
  position:relative;
  flex:0 0 56px;
  width:56px;
  height:54px;
  overflow:visible;
  pointer-events:none;
}
.wsm-weather-icon-scale{
  position:absolute;
  left:0;
  top:50%;
  width:230px;
  height:220px;
  transform:translateY(-50%) scale(.22);
  transform-origin:left center;
  pointer-events:none;
}
.wsm-weather-icon-scale>.wsm-weather-icon{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:230px!important;
  height:220px!important;
  margin:0!important;
  transform:none!important;
  opacity:1;
}
@media(max-width:860px){
  .wsm-weather-icon-slot{flex-basis:50px;width:50px;height:48px}
  .wsm-weather-icon-scale{transform:translateY(-50%) scale(.20)}
}
@media(max-width:560px){
  .wsm-weather-icon-slot{flex:0 0 44px;width:44px;height:44px}
  .wsm-weather-icon-scale{transform:translateY(-50%) scale(.18)}
}
@media(max-width:390px){
  .wsm-weather-icon-slot{flex-basis:41px;width:41px;height:42px}
  .wsm-weather-icon-scale{transform:translateY(-50%) scale(.17)}
}

/* Temperatuurkleur volgens thermometer-schaal (v1.9.41).
   De kleur wordt via --wsm-temp-color continu berekend uit de meetwaarde. */
.wsm-now-temp[data-temp-color]{
  color:var(--wsm-temp-color,#fff);
  -webkit-text-stroke:1.35px rgba(255,255,255,.96);
  paint-order:stroke fill;
  text-shadow:0 0 1px rgba(255,255,255,.92),0 3px 12px rgba(0,30,48,.20);
  transition:color .35s ease,-webkit-text-stroke-color .35s ease,text-shadow .35s ease;
}

/* ================================================================
   v1.9.39 – Terug naar boven
   Verschijnt pas na scrollen, compact op mobiel en toegankelijk.
   ================================================================ */
.wsm-back-to-top{
  position:fixed;
  right:max(18px, env(safe-area-inset-right));
  bottom:max(18px, env(safe-area-inset-bottom));
  z-index:999;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.20);
  border-radius:50%;
  background:rgba(5,29,46,.92);
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.26);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.94);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .18s ease;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.wsm-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.wsm-back-to-top:hover{
  background:rgba(8,79,111,.98);
}
.wsm-back-to-top:focus-visible{
  outline:3px solid rgba(255,255,255,.92);
  outline-offset:3px;
}
.wsm-back-to-top svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:700px){
  .wsm-back-to-top{
    width:44px;
    height:44px;
    right:max(12px, env(safe-area-inset-right));
    bottom:max(12px, env(safe-area-inset-bottom));
  }
  .wsm-back-to-top svg{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){
  .wsm-back-to-top{transition:none}
}


/* ================================================================
   v1.9.41 – doorlopende thermometerkleuren voor actuele temperatuur
   Schaal gebaseerd op het aangeleverde voorbeeld: -10°C lichtblauw,
   0°C blauw, 10°C turquoise, 15°C groen, 20°C geel,
   25–30°C oranje, 35°C rood en 40°C roze/magenta.
   ================================================================ */


/* ================================================================
   v1.9.42 – robuuste live-datafallback
   Weather Underground blijft primair; lokale gevalideerde clientraw-data
   neemt automatisch over wanneer de externe PWS-API niet beschikbaar is.
   ================================================================ */
