.wx-page{max-width:1120px;margin:24px auto 65px;padding:0 14px;color:#20232a}.wx-intro{margin:10px 0 25px}.wx-kicker{font-size:11px;letter-spacing:.15em;color:#df2233;font-weight:900}.wx-intro h1{font-size:clamp(27px,5vw,43px);margin:7px 0;letter-spacing:-.04em}.wx-intro p,.wx-heading p{color:#6b7280;margin:0}.wx-hero,.wx-section,.wx-stats article{background:#fff;border:1px solid #e8eaf0;box-shadow:0 10px 28px rgba(22,28,40,.055);border-radius:22px}.wx-hero{display:flex;align-items:center;gap:30px;padding:24px 35px;min-height:240px;border-top:4px solid #e32234}.wx-art{flex:0 0 200px;text-align:center}.wx-art svg{width:190px;max-width:100%;filter:drop-shadow(0 9px 9px rgba(30,40,60,.12))}.wx-badge{display:inline-flex;border-radius:30px;padding:7px 13px;background:#fff0f1;color:#c41d2d;font-weight:800;font-size:12px}.wx-hero h2{font-size:clamp(23px,4vw,35px);letter-spacing:-.04em;margin:12px 0 8px}.wx-hero p{color:#535b67;line-height:1.55}.wx-hero small{color:#858c98}.wx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:17px 0}.wx-stats article{padding:21px;display:flex;flex-direction:column;gap:7px}.wx-stats span{font-weight:750;color:#565f6d;font-size:13px}.wx-stats strong{font-size:36px;letter-spacing:-.05em}.wx-stats small{font-size:12px;color:#858c98}.wx-section{padding:23px;margin:17px 0}.wx-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.wx-heading h2{font-size:21px;margin:0 0 6px}.wx-heading p{font-size:13px}.wx-switch{display:flex;background:#f4f5f8;padding:4px;border-radius:12px;gap:2px}.wx-switch button{border:0;border-radius:9px;padding:9px 13px;background:transparent;font-weight:800;color:#626977;cursor:pointer}.wx-switch button.active{background:#e32234;color:#fff}.wx-bars{display:flex;align-items:end;gap:4px;height:155px;border-bottom:1px solid #e6e8ed}.wx-hour{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;min-width:0}.wx-columns{display:flex;align-items:end;justify-content:center;gap:2px;height:125px}.wx-columns i{display:block;width:40%;min-height:2px;border-radius:4px 4px 0 0}.wx-base{background:#cfd3db}.wx-current{background:#e32234}.wx-hour small{text-align:center;height:23px;font-size:10px;color:#77808e}.wx-legend{display:flex;gap:20px;margin-top:12px;font-size:12px;color:#707783}.wx-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.wx-key.current{background:#e32234}.wx-key.baseline{background:#cfd3db}.wx-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:680px;overflow-y:auto}.wx-day{border:1px solid #e9ebef;border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.wx-day-title{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.wx-mini{width:45px;flex:0 0 45px}.wx-mini svg{width:45px;height:45px}.wx-day-title strong,.wx-day-title small,.wx-day-numbers b,.wx-day-numbers small{display:block}.wx-day-title strong{font-size:13px;text-transform:capitalize}.wx-day-title small,.wx-day-numbers small{font-size:10px;color:#7b8390}.wx-day-numbers{text-align:right;min-width:54px}.wx-day-numbers b{font-size:17px}.wx-note{font-size:12px;color:#7b8390;line-height:1.6;margin:20px 5px}@media(max-width:720px){.wx-hero{padding:20px;gap:10px;flex-direction:column;text-align:center}.wx-art{flex:0 0 auto}.wx-art svg{width:145px}.wx-stats{gap:8px}.wx-stats article{padding:13px 9px}.wx-stats span{font-size:11px}.wx-stats strong{font-size:25px}.wx-stats small{font-size:10px}.wx-section{padding:15px}.wx-heading{align-items:flex-start;flex-direction:column}.wx-history{grid-template-columns:1fr}.wx-day{padding:10px}.wx-day-numbers{min-width:58px}}


/* Animations météo V2 : uniquement l'icône principale, historique immobile. */
.wx-art .wx-weather-svg{overflow:visible}
.wx-art .wx-sun-rays{transform-box:view-box;transform-origin:70px 67px;animation:wx-rays-turn 5s ease-in-out infinite}
.wx-art .wx-sun-core{transform-box:fill-box;transform-origin:center;animation:wx-core-pulse 5s ease-in-out infinite}
.wx-art .wx-cloud{animation:wx-cloud-drift 4.5s ease-in-out infinite}
.wx-weather-level-1 .wx-art .wx-cloud{animation-duration:5.5s}
.wx-weather-level-2 .wx-art .wx-cloud{animation-duration:3.8s}
.wx-art .wx-drop{animation:wx-drop-fall 1.15s linear infinite}
.wx-art .wx-drop-2{animation-delay:-.38s}
.wx-art .wx-drop-3{animation-delay:-.76s}
.wx-art .wx-bolt{animation:wx-bolt-flash 5.2s linear infinite}
.wx-weather-level-4 .wx-art .wx-cloud{animation:wx-storm-cloud 3.5s ease-in-out infinite}
@keyframes wx-rays-turn{
  0%,100%{transform:rotate(-11deg)}
  50%{transform:rotate(11deg)}
}
@keyframes wx-core-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.07)}
}
@keyframes wx-cloud-drift{
  0%,100%{transform:translate(-6px,1px)}
  50%{transform:translate(7px,-4px)}
}
@keyframes wx-drop-fall{
  0%{transform:translateY(-5px);opacity:0}
  20%{opacity:1}
  75%{opacity:1}
  100%{transform:translateY(10px);opacity:0}
}
@keyframes wx-bolt-flash{
  0%,40%,44%,48%,100%{opacity:.6;filter:brightness(1)}
  41%,43%,46%,47%{opacity:1;filter:brightness(1.8) drop-shadow(0 0 7px #f7c64c)}
}
@keyframes wx-storm-cloud{
  0%,100%{transform:translateX(-4px)}
  50%{transform:translateX(5px)}
}
@media(prefers-reduced-motion:reduce){
 .wx-art .wx-sun-rays,.wx-art .wx-sun-core,.wx-art .wx-cloud,.wx-art .wx-drop,.wx-art .wx-bolt{animation:none!important}
}

/* Observatoire V5 : modules sans dépendances */
.wx-v5-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:16px;margin:20px 0}
.wx-v5-card{border-radius:22px;padding:24px;background:linear-gradient(135deg,#fff,#f7f9fc);border:1px solid #e8eaf0;box-shadow:0 12px 30px #17223a0a;min-height:210px}
.wx-v5-analysis{background:linear-gradient(135deg,#fff,#fff0f2)}
.wx-v5-kicker{font-size:11px;letter-spacing:.1em;font-weight:900;color:#d31d2f}
.wx-v5-card h3{font-size:22px;line-height:1.25;margin:32px 0 10px}
.wx-v5-card p{font-size:13px;line-height:1.6;color:#586171}
.wx-v5-gauge{--index:0;width:130px;height:130px;margin:15px auto;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;position:relative;background:conic-gradient(#e32234 calc(var(--index)*1%),#e9edf3 0)}
.wx-v5-gauge:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.wx-v5-gauge strong,.wx-v5-gauge small{position:relative;z-index:1}
.wx-v5-gauge strong{font-size:40px;letter-spacing:-.05em}.wx-v5-gauge small{font-size:12px;color:#677080}
.wx-v5-events{display:grid;gap:10px}.wx-v5-event{display:flex;gap:14px;padding:15px;border-radius:15px;background:#fff8f8;border:1px solid #f4dade}
.wx-v5-event strong{font-size:13px}.wx-v5-event p,.wx-v5-empty{font-size:13px;color:#626b78;margin:5px 0}
.wx-v5-graph{display:flex;align-items:flex-end;gap:2px;height:160px;overflow:hidden;border-bottom:1px solid #dce1e8}
.wx-v5-col{height:100%;flex:1;min-width:2px;display:flex;align-items:flex-end;gap:1px}
.wx-v5-actual,.wx-v5-baseline{display:block;flex:1;border-radius:3px 3px 0 0}.wx-v5-actual{background:#e32234}.wx-v5-baseline{background:#bdc5d0}
@media(max-width:850px){.wx-v5-grid{grid-template-columns:1fr 1fr}.wx-v5-analysis{grid-column:1/-1}}
@media(max-width:520px){.wx-v5-grid{grid-template-columns:1fr}.wx-v5-analysis{grid-column:auto}.wx-v5-card{min-height:unset}}

/* V5.1 — Tableau de bord compact et graphique accessible */
.wx-v5-dashboard{--v5-tone:#14986b;margin:20px 0 24px;padding:25px;border-radius:25px;background:linear-gradient(145deg,#fff,#f9fafc);border:1px solid #e5e8ed;box-shadow:0 12px 32px rgba(30,35,50,.055)}
.wx-v5-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.wx-v5-dashboard-head h2{font-size:24px;margin:8px 0 0;letter-spacing:-.025em}.wx-v5-status{background:#e6f8f0;color:#087c53;border-radius:30px;font-size:12px;font-weight:800;padding:9px 13px;white-space:nowrap}
.wx-v5-status[data-status=watch]{background:#fff4d9;color:#936100}.wx-v5-status[data-status=warning]{background:#fff0e4;color:#ae5218}.wx-v5-status[data-status=critical]{background:#ffedf0;color:#bb1933}.wx-v5-status[data-status=unknown]{background:#eef0f3;color:#677180}
.wx-v5-summary{display:flex;align-items:center;gap:28px;padding:18px 0}.wx-v5-summary-info{flex:1;min-width:0}.wx-v5-summary-info h3{font-size:26px;line-height:1.18;margin:12px 0}.wx-v5-summary-info p{font-size:13px;color:#697282;margin:0}
.wx-v5-dashboard .wx-v5-gauge{--v5-tone:#14986b;flex:0 0 120px;width:120px;height:120px;margin:0;background:conic-gradient(var(--v5-tone) calc(var(--index)*1%),#e9edf3 0);transition:background .5s}.wx-v5-dashboard .wx-v5-gauge[data-status=watch]{--v5-tone:#e4b22e}.wx-v5-dashboard .wx-v5-gauge[data-status=warning]{--v5-tone:#e97c31}.wx-v5-dashboard .wx-v5-gauge[data-status=critical]{--v5-tone:#e32234}.wx-v5-dashboard .wx-v5-gauge[data-status=unknown]{--v5-tone:#9da6b2}.wx-v5-gauge-center{position:relative;display:flex;align-items:center;flex-direction:column}.wx-v5-gauge-center strong{font-size:38px}.wx-v5-gauge-center small{font-size:12px}
.wx-v5-separator{height:1px;background:#e9ecf1;margin:4px 0 18px}.wx-v5-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wx-v5-metrics>div{display:flex;flex-direction:column;gap:8px}.wx-v5-metrics strong{font-size:19px;line-height:1.2}.wx-v5-metrics small{color:#707987;font-size:12px;line-height:1.4}
.wx-v5-insight{display:flex;gap:12px;align-items:flex-start;background:#f4f7fa;border-radius:15px;margin-top:20px;padding:16px}.wx-v5-insight-icon{font-size:23px;color:#e32234}.wx-v5-insight p{font-size:13px;line-height:1.65;color:#3d4858;margin:0}.wx-v5-disclaimer{font-size:11px;color:#89909c;margin:13px 0 0}
.wx-v5-events{display:grid;gap:10px}.wx-v5-event{display:block;background:#fff7f8;border:1px solid #f3e0e2;padding:14px;border-radius:13px}.wx-v5-event p{margin:5px 0 0;color:#67717f;font-size:12px}
.wx-v5-chart-key{display:flex;gap:18px;font-size:12px;color:#66717e;margin:12px 0}.wx-v5-chart-key span{display:flex;align-items:center;gap:7px}.wx-v5-chart-key i{display:inline-block;width:17px;height:3px;border-radius:4px}.wx-v5-key-actual{background:#e32234}.wx-v5-key-reference{background:#aeb7c5}
.wx-v5-chart-wrap{position:relative;min-height:190px}.wx-v5-chart{width:100%;height:230px;display:block;overflow:visible;touch-action:pan-y}.wx-v5-gridline{stroke:#e9edf2;stroke-width:1}.wx-v5-ylabel{font-size:12px;fill:#9099a7}.wx-v5-line-reference{fill:none;stroke:#aeb7c5;stroke-width:2.5;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wx-v5-line-observed{fill:none;stroke:#e32234;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wx-v5-guide{stroke:#c3cbd5;stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.wx-v5-dot{fill:#fff;stroke:#e32234;stroke-width:3;vector-effect:non-scaling-stroke}.wx-v5-chart-tip{position:absolute;bottom:10px;transform:translateX(-50%);background:#1d2634;color:#fff;border-radius:9px;padding:9px 12px;max-width:85%;min-width:180px;text-align:center;pointer-events:none;font-size:11px;box-shadow:0 6px 22px #0002}.wx-v5-chart-axis{display:flex;justify-content:space-between;color:#8993a1;font-size:11px;padding-left:35px}.wx-v5-empty{font-size:13px;color:#6e7885}
@media(max-width:600px){.wx-v5-dashboard{padding:19px;border-radius:21px}.wx-v5-dashboard-head{flex-direction:column;gap:9px}.wx-v5-dashboard-head h2{font-size:22px}.wx-v5-summary{gap:16px;padding:22px 0}.wx-v5-dashboard .wx-v5-gauge{flex-basis:96px;width:96px;height:96px}.wx-v5-dashboard .wx-v5-gauge strong{font-size:31px}.wx-v5-summary-info h3{font-size:20px}.wx-v5-metrics{gap:12px}.wx-v5-metrics strong{font-size:16px}.wx-v5-kicker{font-size:10px}.wx-v5-chart{height:200px}.wx-v5-chart-wrap{min-height:170px}}
@media(prefers-reduced-motion:reduce){.wx-v5-dashboard .wx-v5-gauge{transition:none}}

/* V5.2 : résumé compact quand aucune perturbation collective n'est détectée */
.wx-v5-perturbations-section{margin:17px 0}
.wx-v5-perturbations-summary{display:flex;align-items:center;gap:13px;padding:16px 19px;background:#eefaf3;border:1px solid #c9ecd7;border-radius:17px;color:#195a37;box-shadow:0 5px 18px rgba(20,70,45,.035)}
.wx-v5-perturbations-summary strong{display:block;font-size:14px;line-height:1.4;font-weight:800}
.wx-v5-perturbations-summary p{margin:4px 0 0;font-size:12px;line-height:1.5;color:#42785a}
.wx-v5-perturbations-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:#24a467;box-shadow:0 0 0 5px rgba(36,164,103,.12)}
.wx-v5-perturbations-section[data-state="alert"] .wx-v5-perturbations-summary{background:#fff4ed;border-color:#ffd6b9;color:#8c420e}
.wx-v5-perturbations-section[data-state="alert"] .wx-v5-perturbations-dot{background:#f07826;box-shadow:0 0 0 5px #f078261e}
.wx-v5-perturbations-section[data-state="alert"] .wx-v5-perturbations-summary p{color:#99603c}
.wx-v5-perturbations-section[data-state="unknown"] .wx-v5-perturbations-summary{background:#f5f6f8;border-color:#e1e5eb;color:#505b69}
.wx-v5-perturbations-section[data-state="unknown"] .wx-v5-perturbations-dot{background:#9da5b0;box-shadow:0 0 0 5px #9da5b01e}
.wx-v5-perturbations-section[data-state="unknown"] .wx-v5-perturbations-summary p{color:#6e7682}
.wx-v5-perturbations-section .wx-v5-events:not([hidden]){margin-top:11px}
.wx-v5-perturbations-section .wx-v5-events[hidden]{display:none!important}
@media(max-width:520px){.wx-v5-perturbations-summary{padding:13px 14px;gap:12px;border-radius:15px}.wx-v5-perturbations-summary strong{font-size:13px}.wx-v5-perturbations-summary p{font-size:11px}}

/* ============================================================
   FreeboxSMS — scène météo immersive V5.3
   Décor purement CSS : aucune dépendance, aucune requête réseau,
   aucun calcul supplémentaire dans le CRON.
   ============================================================ */
.wx-hero{position:relative;isolation:isolate;overflow:hidden;transition:background-color 1.8s ease,border-color 1.8s ease;--wx-sky-top:#f5faff;--wx-sky-bottom:#fffaf3;--wx-haze:rgba(247,198,76,.28);--wx-cloud-alpha:.32;background:linear-gradient(155deg,var(--wx-sky-top),var(--wx-sky-bottom));border-top-color:#e32234!important}
.wx-hero.wx-atmo-level-1{--wx-sky-top:#eef5fc;--wx-sky-bottom:#f9fafc;--wx-haze:rgba(247,198,76,.20);--wx-cloud-alpha:.52}
.wx-hero.wx-atmo-level-2{--wx-sky-top:#e9eff7;--wx-sky-bottom:#f5f7fa;--wx-haze:rgba(247,198,76,.07);--wx-cloud-alpha:.74}
.wx-hero.wx-atmo-level-3{--wx-sky-top:#dce6f0;--wx-sky-bottom:#edf1f7;--wx-haze:rgba(247,198,76,.04);--wx-cloud-alpha:.85}
.wx-hero.wx-atmo-level-4{--wx-sky-top:#cbd5e2;--wx-sky-bottom:#e4e8ef;--wx-haze:rgba(227,34,52,.12);--wx-cloud-alpha:.95}
.wx-hero.wx-atmo-level-unknown{--wx-sky-top:#f7f8fa;--wx-sky-bottom:#fff;--wx-haze:transparent;--wx-cloud-alpha:.2}
.wx-hero .wx-art,.wx-hero .wx-hero-text{position:relative;z-index:3}
.wx-hero .wx-art{filter:drop-shadow(0 10px 15px rgba(219,64,51,.09))}
.wx-hero .wx-weather-svg{filter:drop-shadow(0 8px 14px rgba(26,32,44,.09))}
.wx-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.wx-atmo-glow{position:absolute;width:390px;height:390px;left:1%;top:-160px;border-radius:50%;background:radial-gradient(circle,var(--wx-haze) 0%,transparent 69%);animation:wx-atmo-breathe 8s ease-in-out infinite;transition:background 1.5s}
.wx-atmo-orbit{position:absolute;left:9%;top:9%;width:260px;height:260px;border:1px solid rgba(227,34,52,.07);border-radius:50%;animation:wx-atmo-orbit 35s linear infinite}
.wx-atmo-orbit-b{left:3%;top:-7%;width:360px;height:360px;border-color:rgba(227,34,52,.045);animation-duration:48s;animation-direction:reverse}
.wx-atmo-cloud{position:absolute;width:154px;height:40px;border-radius:100px;background:rgba(255,255,255,.85);opacity:var(--wx-cloud-alpha);filter:drop-shadow(0 8px 12px rgba(87,110,139,.13));transition:opacity 1.8s ease,background 1.8s ease;animation:wx-atmo-drift 18s ease-in-out infinite alternate}
.wx-atmo-cloud:before,.wx-atmo-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}
.wx-atmo-cloud:before{width:72px;height:63px;left:24px;bottom:13px}.wx-atmo-cloud:after{width:64px;height:53px;right:16px;bottom:9px}
.wx-atmo-cloud-a{top:16%;right:7%;transform:scale(.7);animation-delay:-5s}
.wx-atmo-cloud-b{bottom:13%;left:4%;transform:scale(.48);animation-duration:24s;animation-delay:-11s}
.wx-atmo-cloud-c{bottom:25%;right:-4%;transform:scale(.55);animation-duration:28s;animation-delay:-17s}
.wx-atmo-level-3 .wx-atmo-cloud,.wx-atmo-level-4 .wx-atmo-cloud{background:rgba(139,157,182,.68)}
.wx-atmo-rain{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;background-image:repeating-linear-gradient(110deg,transparent 0,transparent 23px,rgba(111,147,181,.32) 24px,rgba(111,147,181,.32) 25px,transparent 26px,transparent 43px);background-size:110px 115px;mask-image:linear-gradient(to bottom,transparent 0%,black 35%,black 90%,transparent 100%);animation:wx-atmo-rainfall 1.6s linear infinite}
.wx-atmo-rain-b{background-size:175px 170px;animation-duration:2.3s;animation-delay:-.9s;opacity:0}
.wx-atmo-level-3 .wx-atmo-rain-a{opacity:.26}.wx-atmo-level-3 .wx-atmo-rain-b{opacity:.12}
.wx-atmo-level-4 .wx-atmo-rain-a{opacity:.43}.wx-atmo-level-4 .wx-atmo-rain-b{opacity:.28}
.wx-atmo-lightning{position:absolute;right:14%;top:12%;width:4px;height:105px;opacity:0;transform:rotate(25deg);background:linear-gradient(#fff,rgba(227,34,52,.85));clip-path:polygon(30% 0,100% 0,58% 42%,100% 42%,0 100%,37% 49%,0 49%);filter:drop-shadow(0 0 10px #fff)}
.wx-atmo-level-4 .wx-atmo-lightning{width:42px;animation:wx-atmo-flash 10s linear infinite}
.wx-atmo-spark{position:absolute;width:5px;height:5px;background:#e32234;border-radius:50%;opacity:.22;box-shadow:0 0 16px rgba(227,34,52,.35);animation:wx-atmo-sparkle 6s ease-in-out infinite}
.wx-atmo-spark-a{left:15%;top:18%}.wx-atmo-spark-b{right:23%;top:23%;animation-delay:-2s}.wx-atmo-spark-c{left:28%;bottom:16%;animation-delay:-4s}
.wx-atmo-level-3 .wx-atmo-spark,.wx-atmo-level-4 .wx-atmo-spark{opacity:0}
@keyframes wx-atmo-breathe{0%,100%{transform:scale(.94);opacity:.7}50%{transform:scale(1.12);opacity:1}}
@keyframes wx-atmo-drift{from{translate:-16px 0}to{translate:25px -7px}}
@keyframes wx-atmo-orbit{to{rotate:360deg}}
@keyframes wx-atmo-rainfall{to{background-position:-90px 230px}}
@keyframes wx-atmo-flash{0%,69%,72%,75%,100%{opacity:0}70%,74%{opacity:.9}71%{opacity:.12}}
@keyframes wx-atmo-sparkle{0%,100%{opacity:.06;transform:scale(.65)}50%{opacity:.3;transform:scale(1.3)}}
@media(max-width:720px){.wx-hero{min-height:300px}.wx-atmo-glow{left:50%;top:-135px;transform:translateX(-50%);width:310px;height:310px;animation:none}.wx-atmo-orbit{left:calc(50% - 130px);top:12px}.wx-atmo-orbit-b{left:calc(50% - 180px);top:-42px}.wx-atmo-cloud-a{right:-12%;top:14%;scale:.75}.wx-atmo-cloud-b{left:-17%;bottom:39%;scale:.75}.wx-atmo-cloud-c{right:-15%;bottom:19%;scale:.8}.wx-atmo-lightning{right:7%;top:14%}}
@media(prefers-reduced-motion:reduce){.wx-atmosphere *,.wx-hero .wx-weather-svg *{animation:none!important;transition:none!important}.wx-atmo-lightning{display:none}}

/* V5.4 — Atmosphère FreeboxSMS : décor concentré dans la partie haute */
.wx-hero{--wx-sky-top:#edf7ff;--wx-sky-bottom:#fffaf2;--wx-cloud-alpha:.7;background:linear-gradient(180deg,var(--wx-sky-top) 0%,#fff 68%,var(--wx-sky-bottom) 100%);transition:background 1.5s ease;flex-direction:column;gap:0;padding:0 24px 25px!important;min-height:0}
.wx-hero .wx-art{width:100%;height:230px;min-height:230px;display:flex;align-items:center;justify-content:center;position:relative;z-index:3;margin:0!important;filter:drop-shadow(0 8px 16px rgba(226,6,19,.12))}
.wx-hero .wx-art svg{width:min(185px,46vw)!important;height:min(185px,46vw)!important;max-width:none!important;overflow:visible;filter:drop-shadow(0 6px 9px rgba(226,6,19,.12))}
.wx-hero .wx-hero-text{width:100%;max-width:660px;margin:0 auto;position:relative;z-index:6;text-align:center;padding:6px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.85));border-radius:22px}
.wx-hero .wx-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.wx-hero .wx-atmosphere:after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,transparent,#fff 85%);pointer-events:none}
.wx-atmo-glow{width:360px;height:310px;top:-65px;left:calc(50% - 180px);transform:none!important;background:radial-gradient(ellipse at center,rgba(255,213,79,.5) 0%,rgba(255,218,100,.22) 33%,transparent 72%);animation:wx-v54-glow 8s ease-in-out infinite}
.wx-atmo-orbit{left:calc(50% - 118px);top:4px;width:236px;height:236px;border-color:rgba(226,6,19,.035);animation:none}
.wx-atmo-orbit-b{left:calc(50% - 153px);top:-31px;width:306px;height:306px;border-color:rgba(226,6,19,.025)}
.wx-atmo-cloud{opacity:var(--wx-cloud-alpha);background:rgba(255,255,255,.96);box-shadow:0 7px 18px rgba(106,134,158,.13),inset 0 -5px 9px rgba(171,198,217,.13);filter:none;animation:wx-v54-cloud 20s ease-in-out infinite alternate}
.wx-atmo-cloud:before,.wx-atmo-cloud:after{background:inherit;box-shadow:inset 0 5px 8px rgba(255,255,255,.6)}
.wx-atmo-cloud-a{top:52px;right:6%;transform:scale(.76);animation-delay:-6s}
.wx-atmo-cloud-b{top:143px;left:3%;bottom:auto;transform:scale(.65);animation-duration:24s;animation-delay:-12s}
.wx-atmo-cloud-c{top:167px;right:-3%;bottom:auto;transform:scale(.6);animation-duration:27s;animation-delay:-17s}
.wx-atmo-spark{opacity:.13;animation-duration:8s}
.wx-atmo-spark-a{top:64px}.wx-atmo-spark-b{top:98px}.wx-atmo-spark-c{bottom:auto;top:196px}
.wx-atmo-level-1{--wx-sky-top:#edf4fa;--wx-sky-bottom:#fff;--wx-cloud-alpha:.85}
.wx-atmo-level-2{--wx-sky-top:#e9eef5;--wx-sky-bottom:#fafcff;--wx-cloud-alpha:.96}
.wx-atmo-level-3{--wx-sky-top:#dbe4ee;--wx-sky-bottom:#f9fafc;--wx-cloud-alpha:1}
.wx-atmo-level-4{--wx-sky-top:#cfd7e3;--wx-sky-bottom:#f5f7fa;--wx-cloud-alpha:1}
.wx-atmo-level-3 .wx-atmo-glow,.wx-atmo-level-4 .wx-atmo-glow{background:radial-gradient(ellipse,rgba(218,229,242,.3),transparent 70%)}
.wx-atmo-level-3 .wx-atmo-cloud,.wx-atmo-level-4 .wx-atmo-cloud{background:rgba(130,151,178,.78)}
.wx-atmo-rain{z-index:2;top:70px;bottom:auto;height:170px}
.wx-atmo-lightning{z-index:4;top:52px}
@keyframes wx-v54-glow{0%,100%{opacity:.7;filter:brightness(.97)}50%{opacity:1;filter:brightness(1.08)}}
@keyframes wx-v54-cloud{from{translate:-10px 0}to{translate:18px -4px}}
@media(max-width:720px){.wx-hero{padding:0 16px 23px!important;gap:0!important;min-height:0!important}.wx-hero .wx-art{height:220px;min-height:220px}.wx-hero .wx-art svg{width:172px!important;height:172px!important}.wx-hero .wx-hero-text{padding:0 6px 5px}.wx-atmo-glow{left:calc(50% - 155px);top:-34px;width:310px;height:270px;animation:wx-v54-glow 8s ease-in-out infinite}.wx-atmo-orbit{left:calc(50% - 118px);top:4px}.wx-atmo-orbit-b{left:calc(50% - 153px);top:-31px}.wx-atmo-cloud-a{top:45px;right:-8%;scale:1;transform:scale(.62)}.wx-atmo-cloud-b{top:145px;left:-15%;bottom:auto;scale:1;transform:scale(.6)}.wx-atmo-cloud-c{top:162px;right:-17%;bottom:auto;scale:1;transform:scale(.55)}}
@media(prefers-reduced-motion:reduce){.wx-atmo-glow,.wx-atmo-cloud{animation:none!important;translate:none!important}}

/* V5.5 — infobulle accessible pour les barres horaires */
.wx-hours-parent{position:relative}
.wx-hour{cursor:pointer;outline-offset:3px;touch-action:manipulation}
.wx-hour:focus-visible{outline:2px solid #e32234;border-radius:5px}
.wx-hour.wx-hour-active .wx-current,.wx-hour:hover .wx-current{filter:brightness(.88);box-shadow:0 0 0 2px rgba(227,34,52,.18)}
.wx-hour.wx-hour-active .wx-base{filter:brightness(.88)}
.wx-hour-tooltip{position:absolute;z-index:20;box-sizing:border-box;width:max-content;max-width:calc(100% - 20px);min-width:180px;padding:12px 14px;background:#1c2637;color:#fff;border-radius:13px;box-shadow:0 10px 30px rgba(20,30,50,.25);font-size:12px;line-height:1.55;pointer-events:none}
.wx-hour-tooltip[hidden]{display:none!important}
.wx-hour-tooltip strong,.wx-hour-tooltip span{display:block}
.wx-hour-tooltip strong{font-size:13px;margin-bottom:5px}
.wx-hour-tooltip .wx-tip-red{color:#ff4b5e}.wx-hour-tooltip .wx-tip-gray{color:#bfc6d1}

/* V5.6 — choix de période et infobulle toujours visible */
.wx-v5-periods{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 16px}
.wx-v5-periods button{font:inherit;font-size:13px;font-weight:700;padding:9px 14px;border-radius:11px;border:1px solid #e4e6eb;background:#f5f6f9;color:#565e6c;cursor:pointer}
.wx-v5-periods button.active{background:#e51d30;color:white;border-color:#e51d30}
.wx-v5-periods button:disabled{opacity:.42;cursor:not-allowed}
.wx-v5-chart-tip:not([hidden]){z-index:9999;max-width:min(300px,calc(100vw - 16px));width:max-content;white-space:normal;overflow-wrap:anywhere;pointer-events:none;box-sizing:border-box}
@media(max-width:480px){.wx-v5-periods button{padding:8px 12px;font-size:12px}}

/* V5.7 — Correctif de l'infobulle étirée sur toute la hauteur de l'écran.
   L'ancienne règle bottom:10px et le top dynamique provoquaient une hauteur énorme. */
.wx-v5-chart-tip, .wx-v5-chart-tip:not([hidden]){
 position:fixed!important;top:auto;bottom:auto!important;left:auto;right:auto!important;
 display:block;width:max-content;max-width:min(300px,calc(100vw - 24px));
 min-width:0;height:auto!important;min-height:0!important;max-height:none!important;
 transform:none!important;white-space:normal;overflow-wrap:break-word;
 padding:10px 12px;line-height:1.4;z-index:9999;pointer-events:none;
}
.wx-v5-chart-tip[hidden]{display:none!important}

/* V5.9 : cycle jour/nuit à Paris (visuel seulement, sans modifier les données réseau). */
.wx-hero{transition:background 2.4s ease,background-color 2.4s ease}
.wx-hero.wx-night{
 --wx-sky-top:#14243d;--wx-sky-bottom:#263752;--wx-haze:rgba(255,226,156,.16);
 background:linear-gradient(180deg,#16233d 0%,#304260 48%,#f9fbff 79%,#fff 100%)!important;
}
.wx-hero.wx-night .wx-atmo-glow{
 background:radial-gradient(ellipse at center,rgba(255,231,160,.28),rgba(226,214,177,.08) 42%,transparent 72%);
}
.wx-hero.wx-night .wx-atmo-cloud{
 background:rgba(192,204,225,.83);box-shadow:0 7px 18px rgba(13,24,48,.15);
}
.wx-hero.wx-night .wx-atmo-spark{background:#fff0ba;box-shadow:0 0 10px #ffe9a1;opacity:.6}
.wx-hero .wx-art{isolation:isolate}
.wx-hero .wx-celestial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity 2.5s ease,transform 2.5s ease;will-change:opacity,transform}
.wx-hero .wx-celestial-day{opacity:1;transform:translateY(0) scale(1)}
.wx-hero .wx-celestial-night{opacity:0;transform:translateY(20px) scale(.91);pointer-events:none}
.wx-hero.wx-night .wx-celestial-day{opacity:0;transform:translateY(-22px) scale(.9)}
.wx-hero.wx-night .wx-celestial-night{opacity:1;transform:translateY(0) scale(1)}
.wx-hero .wx-lunar-svg{filter:drop-shadow(0 0 18px rgba(255,231,164,.38))!important}
@media(prefers-reduced-motion:reduce){
 .wx-hero,.wx-hero .wx-celestial{transition:none!important;animation:none!important}
}

/* V5.11 : cycle solaire continu (crépuscules astronomiques, Paris).
   La pente de couleur suit l'altitude réelle du soleil, et non une minuterie. */
.wx-hero.wx-solar-cycle{
 background:linear-gradient(180deg,var(--wx-tw-top) 0%,var(--wx-tw-mid) 47%,var(--wx-tw-horizon) 73%,#f9fbff 89%,#fff 100%)!important;
 transition:background-color 55s linear;
}
.wx-hero.wx-solar-cycle .wx-celestial-day{
 opacity:var(--wx-sun-opacity,1)!important;
 transform:translateY(var(--wx-sun-shift,0px)) scale(1)!important;
}
.wx-hero.wx-solar-cycle .wx-celestial-night{
 opacity:var(--wx-moon-opacity,0)!important;
 transform:translateY(0) scale(1)!important;
}
.wx-hero.wx-solar-cycle .wx-night-stars{
 opacity:var(--wx-stars-opacity,0);
 transition:opacity 55s linear;
}
.wx-hero.wx-solar-cycle .wx-celestial{
 transition:opacity 55s linear,transform 55s linear;
}
.wx-hero.wx-solar-cycle.wx-twilight .wx-atmo-glow{
 background:radial-gradient(ellipse at center,rgba(255,176,108,.30),rgba(255,200,155,.12) 45%,transparent 73%);
}
.wx-hero.wx-solar-cycle.wx-night .wx-atmo-glow{
 background:radial-gradient(ellipse at center,rgba(255,231,160,.28),rgba(226,214,177,.08) 42%,transparent 72%);
}
@media(prefers-reduced-motion:reduce){.wx-hero.wx-solar-cycle .wx-celestial,.wx-hero.wx-solar-cycle .wx-night-stars{transition:none!important}}
