:root{--wirix-red:#e51f2b;--wirix-dark:#202328;--wirix-muted:#6b7280;--wirix-card:#fff;--wirix-line:#e5e7eb}
.wirix-weather-bar{position:relative;display:inline-flex;align-items:center;gap:5px;color:#fff!important;text-decoration:none!important;font-size:12px;line-height:1.2;white-space:nowrap;padding:0 9px 0 0;margin-right:9px;border-right:0;vertical-align:middle;z-index:9999}
.wirix-weather-bar::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:transparent}
.wirix-weather-bar:hover{color:#fff!important}.wirix-weather-icon{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 22px}.wirix-weather-icon svg,.weather-hero-icon svg{width:100%;height:100%;overflow:visible}.sun circle{fill:#ffb229;stroke:#ff7a32;stroke-width:2}.sun path{fill:none;stroke:#ff7a32;stroke-width:4;stroke-linecap:round}.cloud{fill:#b9bdc2;stroke:#8c9197;stroke-width:2}.rain path{stroke:#36a9e1;stroke-width:4;stroke-linecap:round}.snow{fill:#79bfe7;font-size:15px}.moon{fill:#ffd45d}.wirix-weather-temp{font-weight:650}.wirix-weather-wind{opacity:.96}.wind-arrow{display:inline-block;transform:rotate(var(--wind-rot));transform-origin:center}.wirix-weather-rain{color:#bfe9ff}.wirix-weather-bar.is-stale{opacity:.72}.wirix-weather-unavailable{color:#fff;opacity:.75}
.wirix-weather-tooltip{position:absolute;top:calc(100% + 10px);left:0;width:430px;padding:16px 18px 13px;background:#fff;color:#202328;border-radius:10px;box-shadow:0 12px 35px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.15s ease;text-align:left;line-height:1.35;z-index:99999;white-space:normal;pointer-events:none}.wirix-weather-tooltip:before{content:"";position:absolute;top:-7px;left:17px;width:14px;height:14px;background:#fff;transform:rotate(45deg)}.wirix-weather-bar:hover .wirix-weather-tooltip,.wirix-weather-bar:focus .wirix-weather-tooltip,.wirix-weather-bar.tooltip-open .wirix-weather-tooltip{opacity:1;visibility:visible;transform:none;pointer-events:auto}.tooltip-title{position:relative;display:block;font-size:15px;margin-bottom:10px}.tooltip-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 24px}.tooltip-grid>span{display:flex;justify-content:space-between;gap:8px}.tooltip-grid em{font-style:normal;color:#707782}.tooltip-grid b{font-weight:650;text-align:right}.tooltip-footer{display:block;margin-top:11px;padding-top:9px;border-top:1px solid #eee;color:#707782;font-size:12px}.tooltip-footer u{color:#d51d27;text-decoration:none;font-weight:650}
.wirix-weather-page{max-width:1180px;margin:0 auto;padding:22px 0 50px}.weather-hero{display:flex;align-items:center;gap:24px;padding:30px;border-radius:18px;background:linear-gradient(135deg,#f6f7f8,#fff);border:1px solid var(--wirix-line)}.weather-hero-icon{width:108px;height:108px;flex:0 0 auto}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:750;color:var(--wirix-red);margin:0 0 5px}.weather-hero h1{margin:0 0 8px;font-size:34px}.hero-line{display:flex;align-items:baseline;gap:16px}.hero-line strong{font-size:44px}.hero-line span{font-size:20px;color:#555}.weather-hero p:last-child{margin:4px 0 0;color:#6b7280}.weather-warning{margin:16px 0;padding:12px 16px;border-radius:8px;background:#fff4d6;border:1px solid #f5d06d}.weather-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 28px}.weather-card{background:#fff;border:1px solid var(--wirix-line);border-radius:14px;padding:19px}.weather-card>span,.weather-card small{display:block;color:#747b85}.weather-card strong{display:block;font-size:25px;margin:6px 0}.weather-history{border-top:1px solid var(--wirix-line);padding-top:24px}.history-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.history-head h2{margin:0}.history-tabs{display:flex;gap:5px;flex-wrap:wrap}.history-tabs button{border:1px solid #ddd;background:#fff;padding:7px 10px;border-radius:7px;cursor:pointer}.history-tabs button.active{background:#25282d;color:#fff;border-color:#25282d}.weather-chart{position:relative;margin-top:18px;height:280px;border:1px solid var(--wirix-line);border-radius:12px;padding:10px;background:#fff}.weather-chart canvas{width:100%;height:100%}.chart-y-label{position:absolute;top:10px;right:12px;font-size:12px;color:#777}.weather-history-empty{padding:24px;border:1px dashed #ccc;border-radius:12px}.weather-source{font-size:12px;color:#7a7f86;margin-top:24px}.wirix-weather-error{padding:18px;background:#fff2f2;border:1px solid #efb6b6;border-radius:10px}
@media(max-width:900px){.wirix-weather-wind,.wirix-weather-rain{display:none}.wirix-weather-bar{margin-right:8px;padding-right:8px}.wirix-weather-tooltip{left:auto;right:0;width:min(430px,90vw)}.wirix-weather-tooltip:before{left:auto;right:28px}.weather-cards{grid-template-columns:repeat(2,1fr)}.history-head{align-items:flex-start;flex-direction:column}.weather-hero h1{font-size:28px}.hero-line strong{font-size:36px}}
@media(max-width:560px){.wirix-weather-page{padding-top:8px}.weather-hero{padding:20px;align-items:flex-start}.weather-hero-icon{width:70px;height:70px}.weather-hero h1{font-size:23px}.hero-line strong{font-size:32px}.weather-cards{grid-template-columns:1fr}.tooltip-grid{grid-template-columns:1fr}.wirix-weather-tooltip{width:min(330px,90vw)}.weather-card{padding:16px}}

.wirix-weather-toplink-align{position:relative;top:1px}

/* Patička – odkaz na aktuální počasí */
.wirix-weather-footer-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;color:inherit!important;text-decoration:none!important;line-height:1.35;transition:opacity .15s ease}
.wirix-weather-footer-link:hover{text-decoration:underline!important}
.wirix-weather-footer-link.is-stale{opacity:.72}
.wirix-weather-footer-icon{width:21px;height:21px;display:inline-grid;place-items:center;flex:0 0 21px}
.wirix-weather-footer-icon svg{width:100%;height:100%;overflow:visible}
.wirix-weather-footer-link strong{font-weight:650;color:inherit}
@media(max-width:900px){.wirix-weather-footer-link{margin-top:18px}}

/* Slunce a Měsíc */
.weather-astronomy{margin:0 0 28px;padding:22px 0 26px;border-top:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}
.astro-heading{margin-bottom:14px}.astro-heading h2{margin:0;font-size:27px}.astro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.astro-item{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 16px;background:#fff;border:1px solid var(--wirix-line);border-radius:12px}.astro-item small,.astro-item strong{display:block}.astro-item small{color:#747b85;margin-bottom:2px}.astro-item strong{font-size:18px;color:#202328}.astro-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px}.astro-icon svg{width:40px;height:40px}.astro-day{font-size:30px;color:#f5a623}.astro-horizon{stroke:#8f969e;stroke-width:3;stroke-linecap:round}.astro-rays{stroke:#ff9b2f;stroke-width:3;stroke-linecap:round}.astro-sun{fill:#ffc247;stroke:#ff8a2a;stroke-width:3}.astro-arrow{fill:none;stroke:#e65127;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.moon-disc{fill:#ffe28a;stroke:#c5a85d;stroke-width:1.5}.moon-shadow{fill:#677083;opacity:.9}
@media(max-width:900px){.astro-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.astro-grid{grid-template-columns:1fr}.weather-astronomy{padding-top:18px}.astro-heading h2{font-size:23px}}

/* Rozšířená historie 24 h / 7 dní / 30 dní / rok */
.history-periods{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.history-periods button{border:1px solid #d8dadd;background:#fff;padding:8px 13px;border-radius:8px;cursor:pointer;font-weight:600;color:#32363b}
.history-periods button.active{background:#25282d;color:#fff;border-color:#25282d}
.history-periods button:disabled{opacity:.55;cursor:wait}
.history-metric-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.history-note{font-size:12px;color:#7a7f86;white-space:nowrap}
.chart-loading{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.82);font-weight:650;color:#555;border-radius:12px;z-index:2}
.chart-loading[hidden]{display:none}
.history-status{min-height:20px;margin-top:8px;font-size:12px;color:#727780}
@media(max-width:900px){.history-periods{justify-content:flex-start}.history-metric-row{align-items:flex-start;flex-direction:column}.history-note{white-space:normal}}


/* Stav připojení meteostanice */
.weather-hero{position:relative}
.weather-hero-copy{min-width:0;flex:1}
.station-status{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin-left:auto;padding:10px 14px;border:1px solid #dfe3e7;border-radius:999px;background:#fff;white-space:nowrap;font-size:13px}
.station-status.is-online{color:#2f3439}
.station-status.is-stale{color:#8a5b00;background:#fffaf0;border-color:#f0dba8}
.station-pulse{position:relative;width:10px;height:10px;border-radius:50%;background:#25b332;flex:0 0 10px}
.station-status.is-online .station-pulse:after{content:"";position:absolute;inset:-7px;border:2px solid rgba(37,179,50,.28);border-radius:50%;animation:wirixPulse 1.8s ease-out infinite}
.station-status.is-stale .station-pulse{background:#e6a100}
@keyframes wirixPulse{0%{transform:scale(.45);opacity:1}75%,100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){.station-status.is-online .station-pulse:after{animation:none}}
@media(max-width:760px){.weather-hero{flex-wrap:wrap}.station-status{order:3;margin:2px 0 0 94px}}
@media(max-width:560px){.station-status{margin-left:0;width:100%;justify-content:center}}

/* Orientační lokální předpověď podle trendu tlaku */
.weather-forecast-local{margin:0 0 28px;padding:22px 0 26px;border-top:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}
.forecast-local-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.forecast-local-heading h2{margin:0;font-size:27px}.forecast-local-heading small{color:#747b85;max-width:470px;text-align:right}
.forecast-local-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;background:#fff;border:1px solid var(--wirix-line);border-radius:14px}
.forecast-local-icon{width:64px;height:64px}.forecast-local-icon svg{width:100%;height:100%;overflow:visible}.forecast-local-card strong{font-size:18px}.forecast-local-card p{margin:4px 0 0;color:#626973}.forecast-trend{min-width:150px;padding-left:18px;border-left:1px solid var(--wirix-line)}.forecast-trend span,.forecast-trend strong{display:block}.forecast-trend span{font-size:12px;color:#747b85;margin-bottom:3px}.forecast-trend strong{font-size:16px}
@media(max-width:760px){.forecast-local-heading{align-items:flex-start;flex-direction:column}.forecast-local-heading small{text-align:left}.forecast-local-card{grid-template-columns:58px 1fr}.forecast-local-icon{width:50px;height:50px}.forecast-trend{grid-column:1/-1;border-left:0;border-top:1px solid var(--wirix-line);padding:12px 0 0}}


/* Přesné hodnoty po najetí / klepnutí do grafu */
.chart-hover-tooltip{position:absolute;z-index:4;min-width:228px;max-width:260px;padding:10px 12px;background:rgba(32,35,40,.96);color:#fff;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:12px;line-height:1.35;pointer-events:none}
.chart-hover-tooltip[hidden]{display:none}.chart-hover-tooltip>strong{display:block;margin-bottom:7px;font-size:12px;color:#fff}.chart-hover-tooltip>div{display:grid;gap:4px}.chart-hover-tooltip span{display:flex;justify-content:space-between;gap:16px;color:#d9dde2}.chart-hover-tooltip span em{font-style:normal}.chart-hover-tooltip span b{font-weight:650;color:#fff;text-align:right;white-space:nowrap}.chart-hover-tooltip span.is-active{color:#fff}.chart-hover-tooltip span.is-active em,.chart-hover-tooltip span.is-active b{font-weight:750}
@media(max-width:560px){.chart-hover-tooltip{min-width:205px;max-width:230px;font-size:11px}}

/* Oficiální hodinová předpověď – zobrazí se pouze při oprávněném API endpointu */
.weather-forecast-official{margin:0 0 28px;padding:22px 0 26px;border-top:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}
.forecast-official-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.forecast-official-heading h2{margin:0;font-size:27px}.forecast-official-heading small{color:#747b85;text-align:right}
.forecast-hourly-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr);overflow-x:auto;border:1px solid var(--wirix-line);border-radius:14px;background:#fff;scrollbar-width:thin}
.forecast-hour-card{min-width:0;padding:14px 12px 13px;text-align:center;border-right:1px solid var(--wirix-line)}.forecast-hour-card:last-child{border-right:0}
.forecast-hour-time{display:block;font-size:15px;color:#34383d}.forecast-hour-icon{width:58px;height:58px;margin:7px auto 4px}.forecast-hour-icon svg{width:100%;height:100%;overflow:visible}
.forecast-hour-phrase{min-height:34px;font-size:13px;color:#555e68;line-height:1.25}.forecast-hour-temp{margin:8px 0 7px;font-size:22px;font-weight:750;color:#202328}
.forecast-hour-meta{display:flex;justify-content:center;gap:9px;font-size:12px;color:#69717b;white-space:nowrap}.forecast-hour-wind{margin-top:5px;font-size:12px;color:#69717b;white-space:nowrap}
.storm-bolt{fill:#f2b01e;stroke:#d98b00;stroke-width:1}.fog-lines path{fill:none;stroke:#8c9197;stroke-width:3;stroke-linecap:round}
@media(max-width:760px){.forecast-official-heading{align-items:flex-start;flex-direction:column}.forecast-official-heading small{text-align:left}.forecast-hourly-strip{grid-auto-columns:138px}}


/* MET Norway – hlavní modelová předpověď */
.weather-forecast-met{margin:0 0 30px;padding:24px 0 28px;border-top:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}
.forecast-met-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.forecast-met-heading h2{margin:0;font-size:30px}.forecast-met-heading small{color:#747b85;text-align:right}
.forecast-met-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));overflow:visible;border:1px solid var(--wirix-line);border-radius:14px;background:#fff}
.forecast-met-hour{min-width:0;padding:15px 12px 14px;text-align:center;border-right:1px solid var(--wirix-line)}.forecast-met-hour:last-child{border-right:0}
.forecast-met-time{display:block;font-size:17px;color:#31353a}.forecast-met-icon{width:68px;height:68px;margin:6px auto 3px}.forecast-met-icon svg{width:100%;height:100%;overflow:visible}
.forecast-met-phrase{min-height:34px;font-size:14px;color:#535b64;line-height:1.25}.forecast-met-temp{margin:7px 0 7px;font-size:23px;font-weight:750;color:#202328}
.forecast-met-meta{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;font-size:12px;color:#68717a;white-space:nowrap}.forecast-met-wind{margin-top:6px;font-size:12px;color:#68717a;white-space:nowrap}
.forecast-met-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:14px;border:1px solid var(--wirix-line);border-radius:14px;background:#fff;overflow:hidden}
.forecast-met-day{text-align:center;padding:14px 8px 13px;border-right:1px solid var(--wirix-line)}.forecast-met-day:last-child{border-right:0}.forecast-met-day>strong{display:block;font-size:15px}.forecast-met-day>small{display:block;margin-top:2px;color:#8a9097;font-size:11px}
.forecast-met-day-icon{width:54px;height:54px;margin:5px auto 0}.forecast-met-day-icon svg{width:100%;height:100%}.forecast-met-day-phrase{display:block;min-height:30px;color:#69717a;font-size:12px;line-height:1.2;margin-bottom:4px}
.forecast-met-day .tmax{color:#e1122c;font-size:19px}.forecast-met-day .tmin{color:#1677c8;font-size:19px;margin-left:6px}.forecast-attribution{margin:10px 0 0;text-align:right;font-size:11px;color:#858b92}.forecast-attribution a{color:inherit;text-decoration:underline}
.forecast-met-error{padding:13px 16px;border:1px solid #efd7a1;background:#fffaf0;border-radius:10px;color:#7a5a13;font-size:13px}
@media(max-width:900px){.forecast-met-heading{align-items:flex-start;flex-direction:column}.forecast-met-heading small{text-align:left}.forecast-met-strip{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.forecast-met-days{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));overflow:visible}.forecast-met-day{border-right:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}}
@media(max-width:560px){.forecast-met-heading h2{font-size:24px}.forecast-met-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-met-icon{width:60px;height:60px}.forecast-met-days{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-attribution{text-align:left}}


/* WIRIX Meteostanice 1.5 – živá hlavní dlaždice, komentátor a kronika */
.wirix-weather-live{display:contents}.weather-hero{overflow:hidden;isolation:isolate}.weather-hero>*:not(.weather-hero-effects){position:relative;z-index:2}
.station-meta{margin-left:auto;display:flex;align-items:center;gap:10px;align-self:flex-start;flex-wrap:wrap;justify-content:flex-end}.station-altitude{font-size:13px;color:#6f7680;white-space:nowrap}
.weather-moderator{margin-top:16px;max-width:820px;padding:13px 15px;border-left:3px solid #ef3340;background:rgba(255,255,255,.72);border-radius:0 10px 10px 0}.weather-moderator strong{display:block;font-size:13px;margin-bottom:3px}.weather-moderator p{margin:0!important;color:#343a40!important;font-size:14px;line-height:1.45}.weather-moderator small{display:block;margin-top:4px;color:#737b84;font-size:12px}
.weather-smart-alert{display:flex;gap:12px;align-items:flex-start;margin:0 0 18px;padding:12px 15px;border-radius:10px;border:1px solid #f2d0c0;background:#fff8f4}.weather-smart-alert strong{white-space:nowrap}.weather-smart-alert span{color:#4b535d}.alert-wind{border-color:#cfe0ef;background:#f6fbff}.alert-uv{border-color:#f2df9d;background:#fffdf2}.alert-cold{border-color:#c8dff4;background:#f6fbff}
.weather-hero-effects{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:var(--fx-opacity,.12)}.fx-sun,.fx-cloud,.fx-rain,.fx-snow{position:absolute;display:block}.fx-sun{width:260px;height:260px;left:var(--sun-x,55%);top:var(--sun-y,11%);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,184,48,.92) 0,rgba(255,208,96,.36) 28%,rgba(255,235,170,.13) 47%,rgba(255,255,255,0) 72%);animation:fxSun 7s ease-in-out infinite alternate}.fx-cloud{width:280px;height:105px;left:-310px;background:radial-gradient(ellipse at 18% 68%,rgba(115,126,139,.46) 0 22%,transparent 23%),radial-gradient(ellipse at 38% 51%,rgba(119,130,143,.50) 0 33%,transparent 34%),radial-gradient(ellipse at 62% 57%,rgba(116,127,140,.48) 0 37%,transparent 38%),radial-gradient(ellipse at 83% 70%,rgba(112,123,136,.43) 0 25%,transparent 26%),linear-gradient(to bottom,transparent 55%,rgba(116,127,140,.43) 56% 78%,transparent 79%);filter:blur(.45px)}.fx-cloud-a{top:20%;animation:fxCloud var(--cloud-duration,32s) linear infinite}.fx-cloud-b{top:55%;transform:scale(.72);animation:fxCloud calc(var(--cloud-duration,32s)*1.35) linear infinite;animation-delay:-10s}.fx-rain,.fx-snow{inset:0}.fx-rain i,.fx-snow i{position:absolute;left:calc((var(--i) * 5.7%));top:-15%;width:2px;height:22px;background:rgba(70,140,200,.9);transform:rotate(9deg);animation:fxRain calc(1.2s + (var(--i) % 5)*.09s) linear infinite;animation-delay:calc(var(--i)*-.13s)}.fx-snow i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 0 3px rgba(110,140,170,.3);animation:fxSnow calc(5s + (var(--i) % 5)*.7s) linear infinite}.effect-heavy-rain .fx-rain i{height:34px;animation-duration:.65s}.effect-rain .fx-rain,.effect-heavy-rain .fx-rain{display:block}.weather-hero-effects:not(.effect-rain):not(.effect-heavy-rain) .fx-rain{display:none}.weather-hero-effects:not(.effect-snow) .fx-snow{display:none}.effect-cloudy .fx-sun,.effect-rain .fx-sun,.effect-heavy-rain .fx-sun,.effect-snow .fx-sun,.effect-fog .fx-sun,.effect-night .fx-sun,.effect-partly-night .fx-sun{display:none}.effect-sunny .fx-cloud{opacity:.15}.effect-partly .fx-cloud{opacity:.7}.effect-cloudy .fx-cloud,.effect-rain .fx-cloud,.effect-heavy-rain .fx-cloud{opacity:1}
@keyframes fxCloud{from{left:-260px}to{left:110%}}@keyframes fxRain{from{transform:translateY(-20%) rotate(9deg)}to{transform:translateY(760px) rotate(9deg)}}@keyframes fxSnow{0%{transform:translate(0,-20px) rotate(0)}50%{transform:translate(24px,330px) rotate(150deg)}100%{transform:translate(-12px,700px) rotate(320deg)}}@keyframes fxSun{from{transform:translate(-50%,-50%) scale(.92);opacity:.58}to{transform:translate(-50%,-50%) scale(1.08);opacity:1}}
.forecast-commentary{margin:0 0 14px;padding:14px 16px;border:1px solid var(--wirix-line);border-radius:12px;background:#fafbfc}.forecast-commentary strong{display:block;font-size:14px;margin-bottom:3px}.forecast-commentary p{margin:0;color:#535b64;line-height:1.5}
.weather-stories{margin:0 0 30px;padding:24px 0 28px;border-top:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}.stories-heading h2{margin:0 0 15px;font-size:30px}.weather-story{padding:18px 20px;border:1px solid var(--wirix-line);border-radius:14px;background:#fff;margin-top:12px}.story-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.story-title h3{margin:0;font-size:20px}.story-title span{color:#7a818a;font-size:12px}.weather-story p{margin:12px 0 0;color:#454c55;line-height:1.55}.story-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px}.story-stats span{padding:10px 12px;border-radius:10px;background:#f7f8fa;color:#6a717a;font-size:11px}.story-stats b{display:block;color:#25292e;font-size:17px;margin-bottom:2px}
.chart-hover-line{position:absolute;z-index:3;top:18px;bottom:34px;width:0;border-left:1px dashed rgba(80,86,94,.62);pointer-events:none}.chart-hover-line[hidden]{display:none}
.wirix-comment-settings{margin:8px 0;border:1px solid #dcdcde;border-radius:5px;background:#fff}.wirix-comment-settings summary{cursor:pointer;padding:8px 10px;font-weight:600}.wirix-comment-settings textarea{margin:0 10px 10px;width:calc(100% - 20px)}
@media(max-width:900px){.station-meta{width:100%;justify-content:flex-start;margin-left:94px}.story-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.station-meta{margin-left:0}.weather-moderator{margin-top:12px}.story-title{align-items:flex-start;flex-direction:column}.story-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stories-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.weather-hero-effects *{animation:none!important}.weather-hero-effects{opacity:calc(var(--fx-opacity,.12)*.45)}}

/* 1.5.1 – referenční historie ČHMÚ */
.weather-reference-history{margin:0 0 30px;padding:24px 0 28px;border-top:1px solid var(--wirix-line);border-bottom:1px solid var(--wirix-line)}.reference-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}.reference-head h2{margin:0;font-size:30px}.reference-head>span{font-size:12px;color:#7b828b}.reference-yesterday,.reference-season{padding:17px 19px;border:1px solid var(--wirix-line);border-radius:14px;background:#fff;margin-top:12px}.reference-yesterday h3,.reference-season h3{margin:0 0 8px;font-size:19px}.reference-yesterday p{margin:0;color:#4b535d}.reference-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.reference-stats span{padding:10px 12px;background:#f7f8fa;border-radius:10px;color:#707780;font-size:11px}.reference-stats b{display:block;color:#262b30;font-size:18px;margin-bottom:2px}.reference-source{font-size:11px;color:#858c94;margin:10px 2px 0}.reference-source a{color:inherit;text-decoration:underline}@media(max-width:760px){.reference-head{align-items:flex-start;flex-direction:column}.reference-head h2{font-size:24px}.reference-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.5.2 – procedurální atmosféra: přirozenější oblačnost, déšť na skle, sníh, mlha, mráz a noční režim */
.weather-hero-effects{opacity:1!important;background:transparent}.weather-hero-effects>*{opacity:var(--fx-opacity,.12)}
.fx-atmosphere{position:absolute;inset:0;display:block;background:linear-gradient(180deg,#8fd1ff 0%,#ddecf4 62%,#f8fafb 100%);transition:background .8s ease}
.effect-partly .fx-atmosphere{background:linear-gradient(180deg,#79c2f5 0%,#d7e8ef 72%,#f8fafb 100%)}
.effect-cloudy .fx-atmosphere,.effect-rain .fx-atmosphere{background:linear-gradient(180deg,#8d9ba9 0%,#c6ccd2 54%,#f4f6f8 100%)}
.effect-heavy-rain .fx-atmosphere,.effect-storm .fx-atmosphere{background:linear-gradient(180deg,#475767 0%,#7e8b98 52%,#d5d9dd 100%)}
.effect-fog .fx-atmosphere{background:linear-gradient(180deg,#d7dde1 0%,#edf0f2 56%,#f8f9fa 100%)}
.effect-nighttime .fx-atmosphere{background:radial-gradient(ellipse at 52% 110%,rgba(78,106,134,.48),transparent 52%),linear-gradient(180deg,#071523 0%,#122a3e 62%,#1e3445 100%)}
.fx-sun{position:absolute;display:block;width:390px;height:390px;left:var(--sun-x,55%);top:var(--sun-y,12%);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,245,.98) 0 2%,rgba(255,225,139,.85) 4%,rgba(255,193,67,.46) 10%,rgba(255,218,137,.18) 24%,transparent 55%);filter:blur(.2px);animation:fxSun 8s ease-in-out infinite alternate}
.fx-sun:before,.fx-sun:after{content:"";position:absolute;inset:9%;border-radius:50%;background:conic-gradient(from 4deg,transparent 0 7deg,rgba(255,227,153,.18) 8deg 9deg,transparent 10deg 28deg,rgba(255,238,197,.11) 29deg 30deg,transparent 31deg 56deg);filter:blur(3px)}
.fx-sun:after{inset:31%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,221,137,.42) 28%,transparent 68%);filter:blur(7px)}
.effect-nighttime .fx-sun,.effect-cloudy .fx-sun,.effect-rain .fx-sun,.effect-heavy-rain .fx-sun,.effect-storm .fx-sun,.effect-fog .fx-sun,.effect-snow .fx-sun{display:none}
.fx-cloud{display:none!important}.fx-cloudscape{position:absolute;left:-8%;width:116%;height:125%;top:-10%;display:block;filter:saturate(.72) contrast(1.08);mix-blend-mode:multiply;animation:fxCloudscape var(--cloud-duration,36s) linear infinite}.fx-cloudscape-b{top:7%;opacity:.78;animation-duration:calc(var(--cloud-duration,36s)*1.55);animation-delay:-17s;transform:scaleY(.86)}
.effect-sunny .fx-cloudscape{opacity:.10}.effect-partly .fx-cloudscape-a{opacity:.35}.effect-partly .fx-cloudscape-b{opacity:.18}.effect-cloudy .fx-cloudscape-a{opacity:.72}.effect-cloudy .fx-cloudscape-b{opacity:.58}.effect-rain .fx-cloudscape,.effect-heavy-rain .fx-cloudscape,.effect-storm .fx-cloudscape{opacity:.88;filter:saturate(.45) contrast(1.2) brightness(.78)}.effect-snow .fx-cloudscape{opacity:.64;filter:saturate(.25) brightness(1.08)}.effect-fog .fx-cloudscape{opacity:.25}
.fx-rain,.fx-snow{position:absolute;inset:0;display:none;overflow:hidden}.effect-rain .fx-rain,.effect-heavy-rain .fx-rain,.effect-storm .fx-rain{display:block}.fx-rain i{position:absolute;left:var(--x);top:-18%;width:var(--sz);height:calc(22px + var(--sz)*7);border-radius:999px;background:linear-gradient(to bottom,transparent,rgba(170,214,242,.88) 28%,rgba(74,147,198,.95));box-shadow:0 0 4px rgba(210,236,250,.45);animation:fxRainGlass calc(.95s + (var(--i) % 9)*.07s) linear infinite;animation-delay:var(--delay);transform:rotate(7deg)}
.effect-heavy-rain .fx-rain i,.effect-storm .fx-rain i{height:calc(34px + var(--sz)*9);animation-duration:calc(.43s + (var(--i) % 7)*.035s);opacity:.92}
.effect-snow .fx-snow,.effect-blizzard .fx-snow{display:block}.fx-snow i{position:absolute;left:var(--x);top:-12%;width:var(--sz);height:var(--sz);border-radius:48% 52% 54% 46%;background:rgba(255,255,255,.96);box-shadow:0 0 calc(var(--sz)*.65) rgba(240,248,255,.9);animation:fxSnowNatural calc(5.2s + (var(--i) % 11)*.42s) linear infinite;animation-delay:var(--delay)}
.effect-blizzard .fx-snow i{animation-name:fxBlizzard;animation-duration:calc(1.25s + (var(--i) % 8)*.12s)}
.fx-fog{position:absolute;inset:-12%;display:none;background:radial-gradient(ellipse at 20% 30%,rgba(255,255,255,.92),transparent 45%),radial-gradient(ellipse at 75% 58%,rgba(244,248,250,.96),transparent 52%),linear-gradient(180deg,rgba(239,243,246,.84),rgba(255,255,255,.94));filter:blur(10px);animation:fxFog 11s ease-in-out infinite alternate}.effect-fog .fx-fog{display:block;opacity:calc(var(--fx-opacity,.12)*2.9)}
.fx-frost{position:absolute;inset:0;display:none;background:radial-gradient(ellipse at 0 0,rgba(255,255,255,.92),transparent 29%),radial-gradient(ellipse at 100% 0,rgba(235,247,255,.86),transparent 27%),radial-gradient(ellipse at 0 100%,rgba(235,247,255,.78),transparent 24%),repeating-conic-gradient(from 12deg at 8% 12%,rgba(255,255,255,.55) 0 1deg,transparent 1.5deg 8deg);mix-blend-mode:screen;filter:blur(.45px)}.effect-frost .fx-frost{display:block;opacity:calc(var(--fx-opacity,.12)*1.55)}
.fx-lightning{position:absolute;inset:0;display:none;background:radial-gradient(circle at 62% 22%,rgba(255,255,255,.98),rgba(205,226,255,.56) 16%,transparent 52%);animation:fxLightning 8.5s steps(1,end) infinite}.effect-storm .fx-lightning{display:block;opacity:calc(var(--fx-opacity,.12)*2.6)}
@keyframes fxCloudscape{0%{transform:translateX(-6%) scale(1.08)}100%{transform:translateX(7%) scale(1.08)}}
@keyframes fxRainGlass{0%{transform:translate3d(0,-80px,0) rotate(7deg);opacity:0}8%{opacity:.9}100%{transform:translate3d(-18px,520px,0) rotate(7deg);opacity:.15}}
@keyframes fxSnowNatural{0%{transform:translate3d(0,-50px,0) rotate(0);opacity:0}10%{opacity:1}45%{transform:translate3d(23px,230px,0) rotate(130deg)}100%{transform:translate3d(-16px,520px,0) rotate(300deg);opacity:.5}}
@keyframes fxBlizzard{0%{transform:translate3d(-80px,-20px,0) rotate(0);opacity:0}8%{opacity:1}35%{transform:translate3d(160px,120px,0) rotate(170deg)}70%{transform:translate3d(-30px,290px,0) rotate(310deg)}100%{transform:translate3d(240px,520px,0) rotate(480deg);opacity:.45}}
@keyframes fxFog{from{transform:translateX(-3%) scale(1.04)}to{transform:translateX(3%) scale(1.08)}}
@keyframes fxLightning{0%,91%,94%,100%{opacity:0}92%{opacity:.85}93%{opacity:.18}95%{opacity:.62}96%{opacity:0}}
.weather-hero.is-night{background:linear-gradient(135deg,#071521,#122c40);border-color:#284459;color:#f5f8fb}.weather-hero.is-night h1,.weather-hero.is-night .hero-line strong,.weather-hero.is-night .hero-line span,.weather-hero.is-night .eyebrow{color:#f6f8fb}.weather-hero.is-night .eyebrow{color:#ff6973}.weather-hero.is-night p:last-child,.weather-hero.is-night .station-altitude{color:#c6d1da}.weather-hero.is-night .station-status{background:rgba(6,20,31,.68);border-color:rgba(255,255,255,.22);color:#f8fbfd}.weather-hero.is-night .weather-moderator{background:rgba(5,19,30,.66);border-left-color:#ff4b57}.weather-hero.is-night .weather-moderator p{color:#eef4f8!important}.weather-hero.is-night .weather-moderator small{color:#b8c7d2}.weather-hero.is-night .weather-hero-icon{filter:drop-shadow(0 2px 8px rgba(255,255,255,.12))}
@media(prefers-reduced-motion:reduce){.fx-cloudscape,.fx-rain i,.fx-snow i,.fx-sun,.fx-fog,.fx-lightning{animation:none!important}.fx-lightning{display:none!important}}

/* 1.5.3 – noční obloha, měsíc/hvězdy a administrační simulace */
.fx-stars,.fx-moon-bg{position:absolute;display:none;pointer-events:none}
.effect-nighttime .fx-stars{display:block;inset:0;background-image:radial-gradient(circle at 8% 18%,rgba(255,255,255,.95) 0 1px,transparent 1.5px),radial-gradient(circle at 18% 55%,rgba(255,255,255,.75) 0 1px,transparent 1.4px),radial-gradient(circle at 29% 31%,rgba(255,255,255,.9) 0 1.3px,transparent 1.7px),radial-gradient(circle at 42% 72%,rgba(255,255,255,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 58% 22%,rgba(255,255,255,.95) 0 1px,transparent 1.4px),radial-gradient(circle at 71% 58%,rgba(255,255,255,.75) 0 1.2px,transparent 1.7px),radial-gradient(circle at 84% 29%,rgba(255,255,255,.9) 0 1px,transparent 1.4px),radial-gradient(circle at 94% 68%,rgba(255,255,255,.7) 0 1px,transparent 1.5px);opacity:.78;animation:fxStars 5s ease-in-out infinite alternate}
.effect-nighttime .fx-moon-bg{display:block;width:82px;height:82px;right:14%;top:15%;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff9d8 0 18%,#f5e6a6 48%,#d7c98d 70%,rgba(215,201,141,.1) 72%);box-shadow:0 0 25px rgba(245,230,166,.24)}
.effect-nighttime.effect-partly-night .fx-cloudscape-a,.effect-nighttime.effect-partly .fx-cloudscape-a{opacity:.36}.effect-nighttime.effect-partly-night .fx-cloudscape-b,.effect-nighttime.effect-partly .fx-cloudscape-b{opacity:.22}
.effect-nighttime.effect-cloudy .fx-stars,.effect-nighttime.effect-rain .fx-stars,.effect-nighttime.effect-heavy-rain .fx-stars,.effect-nighttime.effect-storm .fx-stars,.effect-nighttime.effect-fog .fx-stars{opacity:.06}
.effect-nighttime.effect-cloudy .fx-moon-bg,.effect-nighttime.effect-rain .fx-moon-bg,.effect-nighttime.effect-heavy-rain .fx-moon-bg,.effect-nighttime.effect-storm .fx-moon-bg,.effect-nighttime.effect-fog .fx-moon-bg{opacity:.05}
.effect-nighttime.effect-night .fx-cloudscape{opacity:.04}.effect-nighttime.effect-night .fx-stars{opacity:.9}.effect-nighttime.effect-night .fx-moon-bg{opacity:.9}
@keyframes fxStars{from{filter:brightness(.85)}to{filter:brightness(1.2)}}
.wirix-effect-preview-controls .weather-hero{max-width:980px}.wirix-effect-preview-controls .weather-hero-effects{border-radius:14px}

/* 1.5.5 – denní/noční oblouk a stabilní administrační náhled */
.fx-sun{filter:blur(.2px) hue-rotate(var(--sun-hue,0deg)) saturate(1.15);transition:left 1.2s ease,top 1.2s ease,filter 1.2s ease}
.fx-moon-bg{right:auto!important;left:var(--moon-x,50%);top:var(--moon-y,16%);transform:translate(-50%,-50%);background:none!important;box-shadow:none!important;width:92px!important;height:92px!important;transition:left 1.2s ease,top 1.2s ease}
.fx-moon-bg svg{width:100%;height:100%;filter:drop-shadow(0 0 18px rgba(245,230,166,.28))}.fx-moon-bg .moon-disc{fill:#f7e9b0;stroke:#d4c17a}.fx-moon-bg .moon-shadow{fill:#10283b;opacity:.96}
.wirix-preview-stage{height:260px!important;min-height:260px!important;max-width:none!important;border-radius:14px!important;background:#eef3f7!important;color:#1d2327!important}
.wirix-preview-stage.is-night{background:#071521!important;color:#f7fafc!important}
.wirix-preview-layer,.wirix-preview-layer>.weather-hero-effects{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:14px!important;overflow:hidden!important}
.wirix-preview-copy{position:relative;z-index:3;padding:28px 32px;pointer-events:none}.wirix-preview-copy strong{font-size:22px}.wirix-preview-copy p{margin:8px 0 0}.wirix-preview-stage.is-night .wirix-preview-copy{color:#f7fafc}
.wirix-effect-preview-controls select{min-width:0}

/* 1.5.6 – viditelné částice, přirozenější námraza */
.fx-rain,.fx-snow{z-index:6!important;opacity:1!important;mix-blend-mode:normal!important}
.fx-rain i{height:var(--len,30px)!important;min-height:24px!important;background:linear-gradient(to bottom,rgba(220,242,255,0),rgba(186,225,248,.96) 30%,rgba(56,139,199,.98))!important;box-shadow:0 0 3px rgba(220,242,255,.65)!important}
.effect-rain .fx-rain{opacity:.95!important}.effect-heavy-rain .fx-rain,.effect-storm .fx-rain{opacity:1!important}
.effect-heavy-rain .fx-rain i,.effect-storm .fx-rain i{height:48px!important;width:max(2px,var(--sz))!important}
.fx-snow i{box-shadow:0 0 6px rgba(240,248,255,.88)!important;opacity:.98!important}
.effect-snow .fx-snow,.effect-blizzard .fx-snow{opacity:1!important}
.fx-lightning{z-index:7!important}.fx-fog,.fx-frost{z-index:8!important}
.fx-frost{background:
linear-gradient(135deg,rgba(255,255,255,.82),transparent 17%) 0 0/34% 34% no-repeat,
linear-gradient(225deg,rgba(245,252,255,.82),transparent 18%) 100% 0/34% 34% no-repeat,
linear-gradient(45deg,rgba(236,248,255,.74),transparent 17%) 0 100%/36% 36% no-repeat,
linear-gradient(315deg,rgba(245,252,255,.74),transparent 18%) 100% 100%/36% 36% no-repeat,
repeating-linear-gradient(27deg,transparent 0 16px,rgba(235,248,255,.20) 17px 19px,transparent 20px 42px),
repeating-linear-gradient(153deg,transparent 0 24px,rgba(255,255,255,.18) 25px 27px,transparent 28px 54px)!important;
mask-image:radial-gradient(ellipse at center,transparent 0 38%,rgba(0,0,0,.35) 66%,#000 100%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 0 38%,rgba(0,0,0,.35) 66%,#000 100%);filter:blur(.2px)!important}
.fx-frost:before,.fx-frost:after{content:"";position:absolute;inset:-8%;background:repeating-linear-gradient(74deg,transparent 0 35px,rgba(255,255,255,.34) 36px 38px,transparent 39px 82px);transform:rotate(8deg);opacity:.65}.fx-frost:after{background:repeating-linear-gradient(112deg,transparent 0 47px,rgba(223,244,255,.28) 48px 50px,transparent 51px 94px);transform:rotate(-12deg)}

/* 1.5.7 – částice, noční oblačnost, hvězdy, led a vícenásobné blesky */
.fx-rain,.fx-snow,.fx-stars,.fx-frost,.fx-lightning{pointer-events:none}
.fx-rain i{animation:fxRainGlass var(--dur,.9s) linear infinite!important;animation-delay:var(--delay,0s)!important;height:var(--len,30px)!important;width:var(--sz,2px)!important;top:-20%!important;opacity:.98!important}
.effect-heavy-rain .fx-rain i,.effect-storm .fx-rain i{animation-duration:var(--dur,.48s)!important;height:var(--len,58px)!important}
.fx-snow i{animation:fxSnowNatural var(--dur,5.5s) linear infinite!important;animation-delay:var(--delay,0s)!important;top:-12%!important;opacity:.98!important}
.effect-blizzard .fx-snow i{animation:fxBlizzard var(--dur,1.35s) linear infinite!important;animation-delay:var(--delay,0s)!important}
@keyframes fxSnowNatural{0%{transform:translate3d(0,-35px,0) rotate(0deg);opacity:0}8%{opacity:1}55%{transform:translate3d(var(--drift,18px),250px,0) rotate(170deg)}100%{transform:translate3d(calc(var(--drift,18px)*-.55),540px,0) rotate(360deg);opacity:.72}}
@keyframes fxBlizzard{0%{transform:translate3d(-130px,-35px,0) rotate(0deg);opacity:0}6%{opacity:1}42%{transform:translate3d(220px,165px,0) rotate(210deg)}72%{transform:translate3d(-25px,340px,0) rotate(390deg)}100%{transform:translate3d(300px,560px,0) rotate(620deg);opacity:.58}}
/* Hvězdy různé velikosti – při jasné noci výrazné, pod mraky mizí. */
.effect-nighttime .fx-stars{display:block!important;inset:0;background:none!important;opacity:.92;z-index:2}
.fx-stars i{position:absolute;left:var(--x);top:var(--y);width:var(--sz);height:var(--sz);border-radius:50%;background:rgba(255,255,255,var(--a,.8));box-shadow:0 0 calc(var(--sz) * 2) rgba(210,230,255,.6);animation:fxStarTwinkle 4.8s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
@keyframes fxStarTwinkle{from{transform:scale(.72);opacity:.48}to{transform:scale(1.18);opacity:1}}
.effect-nighttime.effect-partly .fx-stars,.effect-nighttime.effect-partly-night .fx-stars{opacity:.50!important}
.effect-nighttime.effect-cloudy .fx-stars{opacity:.10!important}.effect-nighttime.effect-rain .fx-stars,.effect-nighttime.effect-heavy-rain .fx-stars,.effect-nighttime.effect-storm .fx-stars{opacity:.025!important}.effect-nighttime.effect-snow .fx-stars,.effect-nighttime.effect-blizzard .fx-stars{opacity:.055!important}.effect-nighttime.effect-fog .fx-stars{opacity:.015!important}
/* Noční pozadí skutečně rozlišuje stav oblačnosti. */
.effect-nighttime.effect-night .fx-atmosphere,.effect-nighttime.effect-sunny .fx-atmosphere{background:radial-gradient(ellipse at 50% 110%,rgba(38,77,112,.48),transparent 54%),linear-gradient(180deg,#03101d 0%,#0a2135 62%,#17364d 100%)}
.effect-nighttime.effect-partly .fx-atmosphere,.effect-nighttime.effect-partly-night .fx-atmosphere{background:radial-gradient(ellipse at 50% 110%,rgba(48,78,105,.46),transparent 54%),linear-gradient(180deg,#081522 0%,#183044 65%,#2a4355 100%)}
.effect-nighttime.effect-cloudy .fx-atmosphere{background:linear-gradient(180deg,#121b25 0%,#34404b 55%,#505b65 100%)}
.effect-nighttime.effect-rain .fx-atmosphere{background:linear-gradient(180deg,#0b1722 0%,#263849 54%,#425565 100%)}
.effect-nighttime.effect-heavy-rain .fx-atmosphere,.effect-nighttime.effect-storm .fx-atmosphere{background:linear-gradient(180deg,#040b12 0%,#152332 48%,#293744 100%)}
.effect-nighttime.effect-snow .fx-atmosphere,.effect-nighttime.effect-blizzard .fx-atmosphere{background:linear-gradient(180deg,#182633 0%,#425769 54%,#8996a0 100%)}
.effect-nighttime.effect-fog .fx-atmosphere{background:linear-gradient(180deg,#303b44 0%,#74818a 50%,#a9b1b7 100%)}
.effect-nighttime.effect-partly .fx-cloudscape-a,.effect-nighttime.effect-partly-night .fx-cloudscape-a{opacity:.48!important}.effect-nighttime.effect-partly .fx-cloudscape-b,.effect-nighttime.effect-partly-night .fx-cloudscape-b{opacity:.32!important}
.effect-nighttime.effect-cloudy .fx-cloudscape-a{opacity:.92!important}.effect-nighttime.effect-cloudy .fx-cloudscape-b{opacity:.78!important}
.effect-nighttime.effect-rain .fx-cloudscape,.effect-nighttime.effect-heavy-rain .fx-cloudscape,.effect-nighttime.effect-storm .fx-cloudscape{opacity:.96!important;filter:saturate(.3) contrast(1.35) brightness(.58)!important}
.effect-nighttime.effect-snow .fx-cloudscape,.effect-nighttime.effect-blizzard .fx-cloudscape{opacity:.82!important;filter:saturate(.18) brightness(.82)!important}
/* Měsíc se ztrácí úměrně oblačnosti. */
.effect-nighttime.effect-partly .fx-moon-bg,.effect-nighttime.effect-partly-night .fx-moon-bg{opacity:.62!important}.effect-nighttime.effect-cloudy .fx-moon-bg{opacity:.14!important}.effect-nighttime.effect-rain .fx-moon-bg,.effect-nighttime.effect-heavy-rain .fx-moon-bg,.effect-nighttime.effect-storm .fx-moon-bg,.effect-nighttime.effect-fog .fx-moon-bg{opacity:.025!important}.effect-nighttime.effect-snow .fx-moon-bg,.effect-nighttime.effect-blizzard .fx-moon-bg{opacity:.07!important}
/* Námraza: nepravidelné ledové větvení od více míst, bez pravidelné mřížky. */
.fx-frost{background:radial-gradient(ellipse at 0 0,rgba(248,254,255,.95),transparent 24%),radial-gradient(ellipse at 100% 0,rgba(238,250,255,.82),transparent 23%),radial-gradient(ellipse at 0 100%,rgba(235,249,255,.82),transparent 22%),radial-gradient(ellipse at 100% 100%,rgba(246,253,255,.72),transparent 21%)!important;overflow:hidden}
.fx-frost i{position:absolute;left:var(--x);top:var(--y);width:var(--len);height:var(--wid);transform:rotate(var(--rot));transform-origin:0 50%;background:linear-gradient(90deg,rgba(255,255,255,.85),rgba(199,227,241,.58),transparent);box-shadow:0 0 2px rgba(255,255,255,.72);border-radius:100%;opacity:.56}
.fx-frost i:nth-child(3n){opacity:.31;transform:rotate(calc(var(--rot) + 27deg))}.fx-frost i:nth-child(4n){opacity:.44;transform:rotate(calc(var(--rot) - 19deg))}
/* Bouřka bliká v několika různých částech oblohy, ne stále na jednom místě. */
.fx-lightning{background:none!important;animation:none!important;z-index:9!important}
.fx-lightning i{position:absolute;left:var(--x);top:var(--y);width:28%;height:45%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98),rgba(205,226,255,.54) 18%,transparent 62%);opacity:0;animation:fxLightningSpot 9.2s steps(1,end) infinite;animation-delay:var(--delay,0s)}
@keyframes fxLightningSpot{0%,89%,92%,100%{opacity:0}90%{opacity:.9}91%{opacity:.14}93%{opacity:.58}94%{opacity:0}}
@media(prefers-reduced-motion:reduce){.fx-stars i,.fx-lightning i{animation:none!important}.fx-lightning i{display:none!important}}

/* 1.5.8 – plynulé smyčky oblačnosti a výraznější srážky */
.fx-cloudscape{left:0!important;width:200%!important;animation-name:fxCloudscapeLoop!important;will-change:transform}
@keyframes fxCloudscapeLoop{from{transform:translate3d(0,0,0) scaleY(1.02)}to{transform:translate3d(-50%,0,0) scaleY(1.02)}}
.effect-heavy-rain .fx-rain{filter:brightness(.98) saturate(1.08)}
.effect-heavy-rain .fx-rain i{opacity:1!important;box-shadow:0 0 4px rgba(215,239,255,.8)!important}
.effect-storm .fx-rain{display:block!important;opacity:1!important;filter:brightness(1.04) saturate(1.14)}
.effect-storm .fx-rain i{opacity:1!important;box-shadow:0 0 5px rgba(220,242,255,.88)!important}
.fx-lightning i{width:52%!important;height:72%!important;border-radius:48%!important;background:radial-gradient(ellipse at center,rgba(255,255,255,.96) 0,rgba(218,232,255,.58) 13%,rgba(170,203,245,.24) 34%,transparent 70%)!important;filter:blur(7px);mix-blend-mode:screen}
@keyframes fxLightningSpot{0%,88%,91%,100%{opacity:0}89%{opacity:.78}89.5%{opacity:.16}90%{opacity:.92}90.5%{opacity:0}}

/* 1.5.9 – průhlednost skutečně řídí všechny vrstvy a mraky jsou bezešvé bez sloupců */
/* Atmosféra zůstává jemná, ostatní efekty se škálují podle nastavení 0–90 %. */
.weather-hero-effects .fx-atmosphere{opacity:calc(var(--fx-opacity,.12) * .72)!important}
.effect-daytime.effect-sunny .fx-sun{opacity:calc(var(--fx-opacity,.12) * 1.28)!important}
.effect-daytime.effect-partly .fx-sun{opacity:calc(var(--fx-opacity,.12) * 1.08)!important}
.effect-sunny .fx-cloudscape-a{opacity:calc(var(--fx-opacity,.12) * .22)!important}
.effect-sunny .fx-cloudscape-b{opacity:calc(var(--fx-opacity,.12) * .10)!important}
.effect-partly .fx-cloudscape-a,.effect-partly-night .fx-cloudscape-a{opacity:calc(var(--fx-opacity,.12) * 1.05)!important}
.effect-partly .fx-cloudscape-b,.effect-partly-night .fx-cloudscape-b{opacity:calc(var(--fx-opacity,.12) * .66)!important}
.effect-cloudy .fx-cloudscape-a{opacity:calc(var(--fx-opacity,.12) * 1.72)!important}
.effect-cloudy .fx-cloudscape-b{opacity:calc(var(--fx-opacity,.12) * 1.35)!important}
.effect-rain .fx-cloudscape,.effect-heavy-rain .fx-cloudscape,.effect-storm .fx-cloudscape{opacity:calc(var(--fx-opacity,.12) * 1.78)!important}
.effect-snow .fx-cloudscape,.effect-blizzard .fx-cloudscape{opacity:calc(var(--fx-opacity,.12) * 1.35)!important}
.effect-fog .fx-cloudscape{opacity:calc(var(--fx-opacity,.12) * .62)!important}
.effect-rain .fx-rain{opacity:calc(var(--fx-opacity,.12) * 2.25)!important}
.effect-heavy-rain .fx-rain{opacity:calc(var(--fx-opacity,.12) * 2.75)!important}
.effect-storm .fx-rain{opacity:calc(var(--fx-opacity,.12) * 2.85)!important}
.effect-snow .fx-snow{opacity:calc(var(--fx-opacity,.12) * 2.35)!important}
.effect-blizzard .fx-snow{opacity:calc(var(--fx-opacity,.12) * 2.75)!important}
.effect-frost .fx-frost{opacity:calc(var(--fx-opacity,.12) * 1.75)!important}
.effect-storm .fx-lightning{opacity:calc(var(--fx-opacity,.12) * 2.35)!important}
.effect-nighttime .fx-stars{opacity:calc(var(--fx-opacity,.12) * 2.1)!important}
.effect-nighttime .fx-moon-bg{opacity:calc(var(--fx-opacity,.12) * 2.0)!important}
.effect-nighttime.effect-partly .fx-stars,.effect-nighttime.effect-partly-night .fx-stars{opacity:calc(var(--fx-opacity,.12) * 1.0)!important}
.effect-nighttime.effect-cloudy .fx-stars{opacity:calc(var(--fx-opacity,.12) * .18)!important}
.effect-nighttime.effect-rain .fx-stars,.effect-nighttime.effect-heavy-rain .fx-stars,.effect-nighttime.effect-storm .fx-stars{opacity:calc(var(--fx-opacity,.12) * .04)!important}
.effect-nighttime.effect-snow .fx-stars,.effect-nighttime.effect-blizzard .fx-stars{opacity:calc(var(--fx-opacity,.12) * .10)!important}
.effect-nighttime.effect-fog .fx-stars{opacity:calc(var(--fx-opacity,.12) * .03)!important}
.effect-nighttime.effect-partly .fx-moon-bg,.effect-nighttime.effect-partly-night .fx-moon-bg{opacity:calc(var(--fx-opacity,.12) * 1.25)!important}
.effect-nighttime.effect-cloudy .fx-moon-bg{opacity:calc(var(--fx-opacity,.12) * .26)!important}
.effect-nighttime.effect-rain .fx-moon-bg,.effect-nighttime.effect-heavy-rain .fx-moon-bg,.effect-nighttime.effect-storm .fx-moon-bg,.effect-nighttime.effect-fog .fx-moon-bg{opacity:calc(var(--fx-opacity,.12) * .04)!important}
.effect-nighttime.effect-snow .fx-moon-bg,.effect-nighttime.effect-blizzard .fx-moon-bg{opacity:calc(var(--fx-opacity,.12) * .12)!important}

/* Dvě totožné poloviny SVG se posouvají přesně o polovinu šířky. Na konci smyčky je tedy stejný obraz jako na začátku. */

/* 1.6.0 – preview částice a mraky bez viditelného spoje */
.fx-cloudscape{left:-4%!important;width:108%!important;height:125%!important;animation:fxCloudBreathA var(--cloud-duration,36s) ease-in-out infinite alternate!important;will-change:transform,filter}
.fx-cloudscape-b{left:-5%!important;width:110%!important;animation:fxCloudBreathB calc(var(--cloud-duration,36s) * 1.35) ease-in-out infinite alternate!important}
@keyframes fxCloudBreathA{0%{transform:translate3d(-1.8%,0,0) scale(1.03)}100%{transform:translate3d(1.8%,-1%,0) scale(1.055)}}
@keyframes fxCloudBreathB{0%{transform:translate3d(1.4%,0,0) scale(1.035)}100%{transform:translate3d(-1.4%,1.1%,0) scale(1.06)}}
/* Admin náhled má vždy v DOM plnou sadu částic; podle stavu jen volíme jejich hustotu. */
.is-preview.effect-rain .fx-rain i{display:none!important}
.is-preview.effect-rain .fx-rain i:nth-child(4n+1){display:block!important}
.is-preview.effect-heavy-rain .fx-rain i,.is-preview.effect-storm .fx-rain i{display:block!important}
.is-preview.effect-snow .fx-snow i{display:none!important}
.is-preview.effect-snow .fx-snow i:nth-child(3n+1){display:block!important}
.is-preview.effect-blizzard .fx-snow i{display:block!important}
.is-preview.effect-rain .fx-rain i{height:30px!important;width:2px!important;animation-duration:1.05s!important}
.is-preview.effect-heavy-rain .fx-rain i{height:58px!important;width:2px!important;animation-duration:.44s!important}
.is-preview.effect-storm .fx-rain i{height:64px!important;width:2px!important;animation-duration:.38s!important}
/* Kapky mají kontrast i na světlém denním pozadí. */
.effect-rain .fx-rain i,.effect-heavy-rain .fx-rain i,.effect-storm .fx-rain i{background:linear-gradient(to bottom,rgba(230,247,255,0),rgba(111,185,229,.98) 24%,rgba(32,112,177,1))!important;filter:drop-shadow(0 0 1px rgba(255,255,255,.55))}
.effect-nighttime.effect-rain .fx-rain i,.effect-nighttime.effect-heavy-rain .fx-rain i,.effect-nighttime.effect-storm .fx-rain i{background:linear-gradient(to bottom,rgba(210,239,255,0),rgba(150,213,248,.98) 24%,rgba(88,174,230,1))!important;filter:drop-shadow(0 0 2px rgba(220,244,255,.75))}

/* 1.6.1 – Canvas renderer: jediný zdroj dynamických srážek, oblačnosti, mlhy, námrazy a blesků. */
.fx-weather-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:5;pointer-events:none}
.weather-hero-effects .fx-cloudscape,.weather-hero-effects .fx-rain,.weather-hero-effects .fx-snow,.weather-hero-effects .fx-fog,.weather-hero-effects .fx-frost,.weather-hero-effects .fx-lightning{display:none!important}
/* odstranění horního pásu vznikajícího z předešlých SVG vrstev */
.weather-hero-effects{background:transparent!important}
.wirix-preview-layer>.weather-hero-effects{top:0!important}


/* 1.7.1 – vizuální ikony v dlaždicích */
.weather-card{position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.weather-card:hover{transform:translateY(-1px);border-color:#d6d9dd;box-shadow:0 5px 18px rgba(28,36,44,.05)}
.weather-card-title{display:flex!important;align-items:center;gap:8px;color:#747b85}
.weather-card-symbol{width:22px;height:22px;display:inline-block;position:relative;flex:0 0 22px;color:#718096}
.weather-card-symbol:before,.weather-card-symbol:after{content:"";position:absolute;box-sizing:border-box}
/* teploměr */
.weather-card-temp .weather-card-symbol:before{left:8px;top:2px;width:6px;height:14px;border:2px solid #ef4d5a;border-radius:5px}
.weather-card-temp .weather-card-symbol:after{left:5px;bottom:1px;width:12px;height:12px;background:#ef4d5a;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #ef4d5a}
/* kapka */
.weather-card-humidity .weather-card-symbol:before{left:5px;top:2px;width:12px;height:16px;background:#48aee8;border-radius:60% 40% 58% 42%/70% 40% 60% 30%;transform:rotate(45deg)}
/* vítr – šipka */
.weather-card-wind .weather-card-symbol:before{left:2px;top:10px;width:16px;height:2px;background:#5b6570;border-radius:2px}
.weather-card-wind .weather-card-symbol:after{right:2px;top:6px;width:8px;height:8px;border-top:2px solid #5b6570;border-right:2px solid #5b6570;transform:rotate(45deg)}
/* srážky – mrak + kapky */
.weather-card-rain .weather-card-symbol:before{left:2px;top:4px;width:18px;height:10px;background:#aeb6bf;border-radius:10px;box-shadow:5px -3px 0 -1px #aeb6bf}
.weather-card-rain .weather-card-symbol:after{left:5px;top:15px;width:2px;height:6px;background:#48aee8;border-radius:2px;box-shadow:6px 2px 0 #48aee8,12px 0 0 #48aee8;transform:skewX(-12deg)}
/* tlak – ciferník */
.weather-card-pressure .weather-card-symbol:before{left:2px;top:2px;width:18px;height:18px;border:2px solid #7b8794;border-radius:50%}
.weather-card-pressure .weather-card-symbol:after{left:10px;top:6px;width:2px;height:8px;background:#7b8794;transform-origin:bottom center;transform:rotate(45deg);border-radius:2px}
/* slunce */
.weather-card-solar .weather-card-symbol:before{left:6px;top:6px;width:10px;height:10px;background:#ffb229;border-radius:50%;box-shadow:0 -8px 0 -4px #ff8b2c,0 8px 0 -4px #ff8b2c,8px 0 0 -4px #ff8b2c,-8px 0 0 -4px #ff8b2c,6px 6px 0 -4px #ff8b2c,-6px -6px 0 -4px #ff8b2c,6px -6px 0 -4px #ff8b2c,-6px 6px 0 -4px #ff8b2c}
.cloud-base-note{padding-left:23px;position:relative}
.cloud-base-note:before{content:"";position:absolute;left:0;top:1px;width:16px;height:9px;background:#aeb6bf;border-radius:8px;box-shadow:4px -3px 0 -1px #aeb6bf}


/* 1.7.3 – sjednocené ikonky metrik s ikonografií předpovědi */
.weather-card-symbol{width:23px;height:23px;display:inline-grid;place-items:center;position:relative;flex:0 0 23px}
.weather-card-symbol:before,.weather-card-symbol:after{content:none!important;display:none!important}
.weather-card-symbol .metric-svg{width:22px;height:22px;display:block;overflow:visible;fill:none;stroke:#727b85;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.weather-card-symbol .metric-weather{width:24px;height:24px;stroke-width:initial}
.weather-card-symbol .metric-temp .metric-accent{stroke:#ef4554;stroke-width:2.2}
.weather-card-symbol .metric-temp .metric-accent-fill{fill:#ef4554;stroke:none}
.weather-card-symbol .metric-drop{stroke:none}
.weather-card-symbol .metric-drop-fill{fill:#55b9ef;stroke:none}
.weather-card-symbol .metric-wind{stroke:#6f7882;stroke-width:2}
.weather-card-symbol .metric-pressure{stroke:#727b85;stroke-width:1.7}
.weather-card-symbol .metric-weather .cloud{fill:#b9bdc2;stroke:#8c9197;stroke-width:2}
.weather-card-symbol .metric-weather .rain path{stroke:#36a9e1;stroke-width:4;stroke-linecap:round;fill:none}
.weather-card-symbol .metric-weather .sun circle{fill:#ffb229;stroke:#ff7a32;stroke-width:2}
.weather-card-symbol .metric-weather .sun path{fill:none;stroke:#ff7a32;stroke-width:4;stroke-linecap:round}
.cloud-base-note{padding-left:0!important;display:flex!important;align-items:center;gap:6px}
.cloud-base-note:before{content:none!important;display:none!important}
.cloud-base-icon{width:18px;height:18px;display:inline-grid;place-items:center;flex:0 0 18px}
.cloud-base-icon svg{width:18px;height:18px;overflow:visible}
.cloud-base-icon .cloud{fill:#b9bdc2;stroke:#8c9197;stroke-width:2}

/* 2.0.3 – interaktivní radar ČHMÚ */
.weather-radar{margin:28px 0 34px}
.radar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.radar-heading h2{margin:2px 0 0}
.radar-heading small{color:#727780;text-align:right;line-height:1.35}
.radar-shell{position:relative;border:1px solid #e1e4e8;border-radius:14px;overflow:hidden;background:#e9edf1;box-shadow:0 6px 24px rgba(28,36,44,.06)}
.radar-map{height:300px;width:100%;background:#e9edf1}
.radar-time-badge{position:absolute;left:12px;top:12px;z-index:700;background:rgba(25,28,33,.88);color:#fff;border-radius:9px;padding:7px 10px;box-shadow:0 4px 14px rgba(0,0,0,.18);backdrop-filter:blur(5px);pointer-events:none}
.radar-time-badge strong,.radar-time-badge span{display:block}
.radar-time-badge strong{font-size:13px;line-height:1.2}
.radar-time-badge span{font-size:10px;opacity:.82;margin-top:2px}
.radar-home{position:absolute;right:10px;top:10px;z-index:700;border:1px solid rgba(0,0,0,.16);background:rgba(255,255,255,.92);border-radius:8px;padding:6px 9px;font-weight:650;font-size:11px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.radar-home:hover{background:#fff}
.radar-loading{position:absolute;inset:0;z-index:650;display:grid;place-items:center;background:rgba(242,244,246,.78);color:#5f6670;font-weight:650;text-align:center;padding:20px}
.radar-loading[hidden]{display:none!important}
.radar-loading.is-error{color:#9d1d28;background:rgba(255,244,245,.9)}
.radar-controls{display:grid;grid-template-columns:34px 32px minmax(130px,1fr) 32px minmax(110px,auto) auto;gap:6px;align-items:center;margin-top:8px;padding:5px 7px;background:#f7f8f9;border:1px solid #e2e5e8;border-radius:10px}
.radar-controls button{height:28px;min-width:28px;border:1px solid #d4d8dd;background:#fff;border-radius:7px;cursor:pointer;font-size:16px;line-height:1;color:#2f343a;padding:0 7px}
.radar-controls button:hover{border-color:#b9bec5;background:#fff}
.radar-play{font-size:14px!important;font-weight:700}
.radar-controls input[type=range]{width:100%;accent-color:#d71f2b;cursor:pointer;background:linear-gradient(to right,#9ea4ac 0,var(--radar-now,70%),#d71f2b var(--radar-now,70%),#d71f2b 100%)}
.radar-frame-kind{font-size:11px;font-weight:750;letter-spacing:.04em;color:#5d6670;white-space:nowrap}
.radar-frame-kind.is-forecast{color:#c31d2b}
.radar-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:10px;color:#6b727b;font-size:12px}
.radar-meta p{margin:0;max-width:760px;line-height:1.45}
.radar-legend{flex:0 0 250px;min-width:210px;max-width:250px}
.radar-legend-title,.radar-legend-scale{display:flex;align-items:center;justify-content:space-between;gap:8px}
.radar-legend-title{font-size:10px;color:#737a83;margin-bottom:3px}
.radar-legend-title b{font-size:10px;color:#4e555d;letter-spacing:.04em}
.radar-legend-bar{height:12px;border-radius:4px;border:1px solid rgba(0,0,0,.12);background:linear-gradient(90deg,#4b0082 0%,#153ec7 13%,#0088c6 27%,#00a95a 42%,#a8d900 57%,#ffe000 70%,#ff8c22 82%,#f03a32 91%,#b21465 100%)}
.radar-legend-scale{font-size:9px;color:#7a8088;margin-top:2px}
.radar-source{font-size:11px;color:#80858c;margin:8px 0 0}
.radar-source a{color:inherit;text-decoration:underline}
.weather-radar .leaflet-control-attribution{font-size:9px}
.weather-radar .leaflet-control-zoom a{color:#333!important;text-decoration:none!important}
@media(max-width:760px){
  .radar-heading{align-items:flex-start;flex-direction:column;gap:4px}.radar-heading small{text-align:left}
  .radar-map{height:250px}
  .radar-time-badge{left:9px;top:9px;max-width:72%;padding:6px 8px}.radar-time-badge strong{font-size:12px}
  .radar-home{right:8px;top:8px;padding:5px 7px;font-size:10px}
  .radar-controls{grid-template-columns:34px 30px minmax(100px,1fr) 30px;gap:5px;padding:5px 6px}
  .radar-frame-kind{grid-column:1/-1;text-align:center}
  .radar-meta{align-items:flex-start;flex-direction:column;gap:8px}
  .radar-legend{width:100%;max-width:280px;min-width:0;flex-basis:auto}
}
@media(max-width:430px){
  .radar-map{height:225px}
  .radar-controls{grid-template-columns:32px 28px minmax(80px,1fr) 28px}
  .radar-controls button{height:28px;min-width:28px}
  .radar-time-badge strong{font-size:11px}.radar-time-badge span{font-size:9px}
}


/* Radar 2.0.2: obrazová vrstva se při animaci mění až po úplném načtení nového snímku. */
.radar-home{white-space:nowrap}


/* 2.0.3 – radar + Slunce a Měsíc vedle sebe na desktopu */
.weather-radar-astro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
  margin:28px 0 34px;
  padding-top:22px;
  border-top:1px solid var(--wirix-line);
}
.weather-radar-astro-grid .weather-radar{margin:0;min-width:0}
.weather-radar-astro-grid .weather-astronomy{margin:0;padding:0;border:0;min-width:0}
.weather-radar-astro-grid .astro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.weather-radar-astro-grid .astro-item{padding:12px 11px;gap:8px}
.weather-radar-astro-grid .astro-item strong{font-size:16px}
.weather-radar-astro-grid .astro-icon{width:34px;height:34px;flex-basis:34px}
.weather-radar-astro-grid .astro-icon svg{width:34px;height:34px}
.weather-radar-astro-grid .astro-day{font-size:25px}
.weather-radar-astro-grid .radar-heading{align-items:flex-start;flex-direction:column;gap:3px;margin-bottom:8px}
.weather-radar-astro-grid .radar-heading small{text-align:left;font-size:10px}
.weather-radar-astro-grid .radar-map{height:248px}
.weather-radar-astro-grid .radar-controls{grid-template-columns:30px 28px minmax(80px,1fr) 28px auto;gap:4px;margin-top:6px;padding:3px 5px}
.weather-radar-astro-grid .radar-controls button{height:24px;min-width:24px;padding:0 5px;font-size:14px}
.weather-radar-astro-grid .radar-frame-kind{font-size:9px}
.weather-radar-astro-grid .radar-meta{align-items:flex-start;flex-direction:column;gap:7px;margin-top:8px;font-size:10px}
.weather-radar-astro-grid .radar-legend{width:100%;max-width:210px;min-width:0;flex-basis:auto}
.weather-radar-astro-grid .radar-source{font-size:9px;margin-top:6px}
.weather-radar-astro-grid .radar-time-badge{padding:6px 8px}
.weather-radar-astro-grid .radar-time-badge strong{font-size:11px}
.weather-radar-astro-grid .radar-time-badge span{font-size:9px}
.weather-radar-astro-grid .radar-home{font-size:9px;padding:5px 6px}
@media(max-width:900px){
  .weather-radar-astro-grid{grid-template-columns:1fr;gap:26px;padding-top:18px}
  .weather-radar-astro-grid .radar-map{height:250px}
  .weather-radar-astro-grid .weather-astronomy{padding-top:0}
  .weather-radar-astro-grid .astro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .weather-radar-astro-grid{gap:22px;margin-top:22px}
  .weather-radar-astro-grid .radar-map{height:225px}
  .weather-radar-astro-grid .astro-grid{grid-template-columns:1fr}
}

/* 2.0.4 – kompaktní radar, informace pod astronomií a plynulejší animace */
.weather-radar .wirix-radar-image{transition:opacity .30s linear!important;will-change:opacity}
.weather-radar .leaflet-control-zoom a{width:24px!important;height:24px!important;line-height:24px!important;font-size:16px!important}
.weather-radar .leaflet-control-zoom{margin-left:7px!important;margin-top:7px!important}
.weather-radar .radar-time-badge{left:42px;top:7px;max-width:calc(100% - 150px);padding:5px 8px;border-radius:8px;white-space:nowrap}
.weather-radar .radar-time-badge strong{font-size:10px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.weather-radar .radar-time-badge span{font-size:8px;overflow:hidden;text-overflow:ellipsis}
.weather-radar-astro-grid .radar-time-badge{left:42px;top:7px;max-width:calc(100% - 142px);padding:5px 7px}
.weather-radar-astro-grid .radar-home{top:7px;right:7px;padding:4px 6px}
.weather-astro-radar-info{min-width:0}
.weather-astro-radar-info .weather-astronomy{margin-bottom:0}
.weather-astro-radar-info .radar-info-block{margin-top:18px;padding-top:14px;border-top:1px solid #e5e7ea}
.weather-astro-radar-info .radar-meta{display:block;margin-top:0;font-size:9px;color:#737981}
.weather-astro-radar-info .radar-meta p{max-width:none;margin-top:8px;line-height:1.35}
.weather-astro-radar-info .radar-legend{width:100%;max-width:320px;min-width:0}
.weather-astro-radar-info .radar-legend-bar{height:9px}
.weather-astro-radar-info .radar-source{font-size:8px;line-height:1.35;margin-top:7px}
@media(max-width:860px){
  .weather-astro-radar-info .radar-info-block{margin-top:14px}
  .weather-radar .radar-time-badge{max-width:calc(100% - 125px)}
}

/* 2.0.6 – radar: jediná vrstva, širší výchozí pohled a čas mimo mapu */
.weather-radar .radar-time-badge{display:none!important}
.radar-time-inline{min-width:0;display:flex;align-items:center;gap:5px;color:#59616b;white-space:nowrap;overflow:hidden}
.radar-time-inline strong{font-size:10px;line-height:1.1;color:#2f343a;overflow:hidden;text-overflow:ellipsis}
.radar-time-inline span{display:none}
.weather-radar-astro-grid .radar-controls{grid-template-columns:30px 28px minmax(70px,1fr) 28px minmax(88px,auto) auto}
.weather-radar .leaflet-control-zoom a{width:24px;height:24px;line-height:24px;font-size:16px}
.weather-radar .leaflet-control-zoom{margin-left:7px!important;margin-top:7px!important}
@media(max-width:720px){
 .radar-controls{grid-template-columns:32px 28px minmax(70px,1fr) 28px minmax(82px,auto)!important}
 .radar-frame-kind{display:none}
 .radar-time-inline strong{font-size:9px}
}

/* 2.0.10 – radarový PNG se ořezává serverově na horizontální pole.
   Další CSS clip-path se NESMÍ použít, jinak se již oříznutý radar ořízne podruhé. */



/* 2.2.0 – meteoradar Windy.com */
.weather-radar-windy .radar-heading{margin-bottom:10px}
.radar-windy-shell{position:relative;width:100%;height:300px;border:1px solid #e1e4e8;border-radius:14px;overflow:hidden;background:#eef1f3;box-shadow:0 6px 24px rgba(28,36,44,.06)}
.radar-windy-frame{display:block;width:100%;height:100%;border:0;background:#eef1f3}
.radar-info-windy{margin-top:9px;color:#717780;font-size:10px;line-height:1.45}
.radar-info-windy p{margin:3px 0}
.radar-info-windy .radar-source{font-size:9.5px;color:#858a91}
@media(max-width:760px){
  .radar-windy-shell{height:285px}
  .weather-radar-windy .radar-heading small{font-size:11px}
}
@media(max-width:480px){
  .radar-windy-shell{height:265px;border-radius:12px}
  .radar-info-windy{font-size:9.5px}
}

/* 2.2.1 – srovnání radaru se Sluncem a Měsícem */
.weather-radar-windy .radar-heading{margin-bottom:10px}
.radar-info-windy .radar-provider{margin:0 0 5px;font-size:9.5px;font-weight:650;color:#666d76}
@media(max-width:760px){.radar-info-windy .radar-provider{font-size:9px}}

/* Clickable WIRIX brand links, including the clean partner embed. */
.weather-brand-link{color:inherit;text-decoration:none}
.weather-brand-link:hover{text-decoration:underline}
.weather-source-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.weather-source-link:hover{color:#d71f2b}


/* 2.2.6 – vysvětlivky meteorologických veličin: pouze po kliknutí */
.weather-card{overflow:visible}
.weather-card-meta{display:block!important;min-height:22px}
.metric-help-wrap{position:absolute;top:13px;right:14px;z-index:20}
.metric-help{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:#7b838c;font:700 16px/1 Arial,sans-serif;cursor:pointer;box-shadow:none!important;appearance:none;-webkit-appearance:none}
.metric-help:hover,.metric-help:focus,.metric-help:focus-visible{color:#25282d;background:transparent!important;outline:none;box-shadow:none!important}
.metric-help-pop{position:absolute;right:0;top:calc(100% + 7px);width:285px;max-width:min(285px,calc(100vw - 52px));padding:11px 13px;border:1px solid #d7dce1;border-radius:9px;background:#20252b;color:#fff!important;font-size:12px;line-height:1.45;box-shadow:0 8px 22px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease,visibility .12s;z-index:40}
.metric-help-pop strong{display:block!important;margin:0 0 4px!important;font-size:12px!important;color:#fff!important}
.metric-help-wrap.is-open .metric-help-pop{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.metric-help-pop:after{content:"";position:absolute;right:6px;bottom:100%;border:6px solid transparent;border-bottom-color:#20252b}
@media(max-width:560px){.metric-help-wrap{top:10px;right:11px}.metric-help-pop{width:min(280px,calc(100vw - 48px))}}

/* 2.2.7 – na PC se nápověda otevře pouhým najetím myši; dotyk zůstává na ťuknutí. */
@media (hover:hover) and (pointer:fine){
  .metric-help-wrap:hover .metric-help-pop,
  .metric-help-wrap:focus-within .metric-help-pop{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
}
