/* TDM Pogoda 1.0 — odizolowane style dla Nova i Editorial. */
.tdm-weather-section { padding: 35px 18px 12px; background: transparent; }
.tdm-weather-section *, .tdm-weather-section *::before, .tdm-weather-section *::after { box-sizing: border-box; }
.tdm-weather-container { width: min(1160px, 100%); margin: 0 auto; }
.tdm-weather { --wd-text:#fff; --wd-muted:rgba(255,255,255,.76); color:var(--wd-text); position:relative; isolation:isolate; overflow:hidden; border-radius:26px; background:linear-gradient(117deg,#1147a4 0%,#2575e9 62%,#42a1fa 100%); box-shadow:0 15px 42px rgba(12,55,136,.17); font:inherit; }
.tdm-weather::before { content:""; width:360px; height:360px; position:absolute; top:-240px; right:-65px; border-radius:50%; background:rgba(255,255,255,.075); z-index:-1; }
.tdm-weather::after { content:""; width:300px; height:300px; position:absolute; bottom:-225px; left:25%; border-radius:50%; background:rgba(255,255,255,.055); z-index:-1; }
.tdm-weather-main { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap:20px; padding:31px 34px 22px; align-items:center; }
.tdm-weather-summary { min-width:0; }
.tdm-weather-kicker { font:700 11px/1.4 system-ui,sans-serif; letter-spacing:.19em; color:var(--wd-muted); }
.tdm-weather h2 { color:inherit; font:700 clamp(24px,3vw,33px)/1.2 system-ui,sans-serif; margin:9px 0 6px; overflow-wrap:anywhere; }
.tdm-weather-temperature { display:flex; align-items:center; gap:14px; }
.tdm-weather-temperature strong { font:700 clamp(61px,7vw,93px)/1.1 system-ui,sans-serif; letter-spacing:-.075em; white-space:nowrap; }
.tdm-weather-temperature sup { font-size:.36em; letter-spacing:0; vertical-align:top; position:relative; top:.4em; margin-left:7px; }
.tdm-weather-symbol { font-size:clamp(52px,6vw,82px); line-height:1; filter:drop-shadow(0 8px 10px rgba(0,0,0,.1)); flex:none; }
.tdm-weather-description { color:inherit; font-size:16px; font-weight:600; margin:7px 0 8px; }
.tdm-weather-updated { font-size:12px; color:var(--wd-muted); }
.tdm-weather-details { display:grid; grid-template-columns:1fr; gap:9px; max-width:340px; width:100%; justify-self:end; }
.tdm-weather-detail { display:flex; align-items:center; gap:12px; padding:11px 15px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.1); }
.tdm-weather-detail>span { font-size:26px; flex:none; }
.tdm-weather-detail div { display:flex; flex-direction:column; gap:3px; }
.tdm-weather-detail small { color:var(--wd-muted); font:500 12px/1.3 system-ui,sans-serif; }
.tdm-weather-detail strong { font:700 16px/1.3 system-ui,sans-serif; color:var(--wd-text); }
.tdm-weather-forecast { margin:0 34px; padding:15px 0 17px; border-top:1px solid rgba(255,255,255,.2); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tdm-weather-day { display:grid; grid-template-columns:minmax(0,1fr) 42px auto; gap:8px; align-items:center; padding:10px 12px; border-radius:13px; background:rgba(255,255,255,.08); min-width:0; }
.tdm-weather-day-name { font-weight:700; font-size:13px; }
.tdm-weather-day-symbol { font-size:30px; line-height:1; text-align:center; }
.tdm-weather-day strong { font-size:14px; white-space:nowrap; color:var(--wd-text); }
.tdm-weather-day strong span { color:var(--wd-muted); font-weight:500; }
.tdm-weather-day small { grid-column:1/-1; font-size:12px; color:var(--wd-muted); }
.tdm-weather-credit { text-align:right; padding:7px 34px 17px; color:var(--wd-muted); font:400 11px/1.4 system-ui,sans-serif; }
.tdm-weather-credit a { color:var(--wd-text); text-decoration:underline; text-underline-offset:2px; }
.tdm-weather-credit a:hover { opacity:.8; }
.tdm-weather-unavailable { display:flex; align-items:center; gap:20px; padding:38px 34px 20px; }
.tdm-weather-unavailable strong { display:block; font-size:20px; }
.tdm-weather-unavailable p { margin:6px 0 0; color:var(--wd-muted); font-size:14px; }
.tdm-weather--light { --wd-text:#122743; --wd-muted:#587087; background:linear-gradient(120deg,#f5fbff,#dcefff); border:1px solid #cbdff8; box-shadow:0 12px 35px rgba(18,71,130,.08); }
.tdm-weather--light::before { background:rgba(32,115,211,.055); }
.tdm-weather--light::after { background:rgba(32,115,211,.05); }
.tdm-weather--light .tdm-weather-detail, .tdm-weather--light .tdm-weather-day { background:rgba(255,255,255,.66); border-color:rgba(20,94,164,.10); }
.tdm-weather--light .tdm-weather-forecast { border-color:rgba(20,94,164,.16); }
@media(max-width:750px){
  .tdm-weather-section { padding:20px 14px 6px; }
  .tdm-weather { border-radius:20px; }
  .tdm-weather-main { grid-template-columns:1fr; padding:24px 22px 17px; gap:24px; }
  .tdm-weather-details { max-width:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .tdm-weather-detail { flex-direction:column; align-items:flex-start; padding:11px 10px; gap:7px; min-width:0; }
  .tdm-weather-detail>span { font-size:22px; }
  .tdm-weather-detail strong { font-size:13px; white-space:normal; overflow-wrap:anywhere; }
  .tdm-weather-detail small { font-size:10px; }
  .tdm-weather-forecast { margin:0 22px; }
  .tdm-weather-day { grid-template-columns:1fr; text-align:center; justify-items:center; gap:5px; padding:10px 5px; }
  .tdm-weather-day-symbol { font-size:30px; }
  .tdm-weather-day strong { font-size:13px; }
  .tdm-weather-day small { grid-column:auto; }
  .tdm-weather-credit { padding:7px 20px 16px; }
}
@media(max-width:380px){
  .tdm-weather-main { padding:22px 16px 15px; }
  .tdm-weather-forecast { margin:0 16px; gap:5px; }
  .tdm-weather-detail { padding:9px 7px; }
  .tdm-weather-credit { text-align:center; }
}
@media(prefers-reduced-motion:reduce) { .tdm-weather *, .tdm-weather *::before, .tdm-weather *::after { animation:none !important; transition:none !important; } }
