/* NowMeteo editorial charts 1.0 — articles only, no external libraries. */
.nm-article-chart{margin:27px 0 34px;padding:23px 25px 19px;background:#fff;border:1px solid #dfe7ef;border-radius:18px;box-shadow:0 9px 26px rgba(24,47,73,.055);color:#193047;max-width:100%;min-width:0}
.nm-article-chart__head{margin:0 0 18px}
.nm-article-chart__tag{display:inline-block;font-size:.72rem;line-height:1.1;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:#2879b4;margin-bottom:10px}
.nm-article-chart__head h2{font-size:clamp(1.12rem,2.2vw,1.4rem);line-height:1.24;margin:0 0 6px;letter-spacing:-.01em;color:#17324c}
.nm-article-chart__head p{margin:0;color:#526577;line-height:1.48;font-size:.91rem}
.nm-article-chart figcaption{border-top:1px solid #e9eff5;margin-top:19px;padding-top:11px;color:#627185;font-size:.79rem;line-height:1.48}
.nm-article-chart__area{font-weight:750;line-height:1.25;color:#294159;font-size:.85rem}
.nm-article-chart__track,.nm-article-chart__temperature-track{display:block;position:relative;height:14px;border-radius:999px;background:#eaf1f6;overflow:hidden}
.nm-article-chart__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#65a9d8,#167bc0)}
.nm-article-chart__probability-row{display:grid;grid-template-columns:minmax(75px,105px) minmax(0,1fr);gap:12px;align-items:center;padding:8px 0;border-top:1px solid #f0f4f7}
.nm-article-chart__probability-row:first-child{border-top:0}
.nm-article-chart__probability-parts{display:grid;gap:7px;min-width:0}
.nm-article-chart__probability-item{display:grid;grid-template-columns:61px minmax(0,1fr) 45px;gap:9px;align-items:center;min-width:0}
.nm-article-chart__period{font-size:.77rem;color:#617589;font-weight:600}
.nm-article-chart__probability-item strong{text-align:right;font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.nm-article-chart__temperature-legend{display:flex;justify-content:space-between;color:#758597;font-size:.76rem;margin:0 58px 8px 110px}
.nm-article-chart__temperature-row{display:grid;grid-template-columns:minmax(75px,105px) minmax(0,1fr) 65px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #f0f4f7}
.nm-article-chart__temperature-row strong{text-align:right;font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.nm-article-chart__temperature-track{height:18px}
.nm-article-chart__zero{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#8191a2;z-index:2}
.nm-article-chart__delta{position:absolute;top:0;height:100%;display:block;min-width:1px}
.nm-article-chart__delta.is-warmer{background:#e99351;border-radius:0 7px 7px 0}
.nm-article-chart__delta.is-cooler{background:#408fc7;border-radius:7px 0 0 7px}
.nm-article-chart__scroll{overflow-x:auto;max-width:100%;outline-offset:3px}
.nm-article-chart__heatmap{border-collapse:separate;border-spacing:4px 5px;min-width:580px;width:100%;table-layout:fixed;text-align:center;font-variant-numeric:tabular-nums}
.nm-article-chart__heatmap th{font-size:.77rem;color:#4d6276;font-weight:700}
.nm-article-chart__heatmap th:first-child{width:91px;text-align:left}
.nm-article-chart__heatmap th small{display:block;font-size:.69rem;font-weight:500;color:#8593a1;margin-top:3px}
.nm-article-chart__heatmap td{padding:0}
.nm-article-chart__heatcell{display:block;border-radius:7px;padding:12px 2px;min-height:40px;box-sizing:border-box;font-size:.81rem;color:#163e5b;font-weight:750}
.nm-article-chart__heatcell.is-missing{background:#f5f7fa;color:#8e9bac}
.nm-article-chart__timeline{margin:28px 0 3px}
.nm-article-chart__timeline-scale{position:relative;height:20px;border-radius:12px;background:linear-gradient(90deg,#dfeef9,#b9d8ed);overflow:hidden}
.nm-article-chart__timeline-peak{position:absolute;top:0;bottom:0;background:#1772b4;min-width:2px;border-left:2px solid #07527f;border-right:2px solid #07527f;box-sizing:border-box}
.nm-article-chart__timeline-ends{display:flex;justify-content:space-between;gap:12px;margin-top:10px}
.nm-article-chart__timeline-ends span{display:flex;flex-direction:column;gap:3px;color:#43566a;font-size:.84rem;white-space:nowrap}
.nm-article-chart__timeline-ends span:last-child{text-align:right}
.nm-article-chart__timeline-ends strong{font-size:.76rem;color:#76879a;text-transform:uppercase;letter-spacing:.035em}
.nm-article-chart__timeline-callout{background:#edf7fe;color:#1c557d;border-radius:10px;padding:10px 12px;margin-top:17px;margin-bottom:0;font-size:.88rem;line-height:1.55}
.nm-article-chart__moon{display:grid;grid-template-columns:repeat(7,minmax(62px,1fr));gap:10px;min-width:530px;align-items:end;padding:7px 2px 0}
.nm-article-chart__moon-column{display:flex;flex-direction:column;align-items:center;gap:7px;color:#2a465e;font-size:.81rem;font-variant-numeric:tabular-nums}
.nm-article-chart__moon-column strong{font-size:.86rem}
.nm-article-chart__moon-track{width:100%;height:125px;background:#f1f5f9;display:flex;align-items:flex-end;border-radius:9px 9px 3px 3px;overflow:hidden;border-bottom:2px solid #bccbd9}
.nm-article-chart__moon-track i{display:block;width:100%;min-height:2px;background:linear-gradient(0deg,#2874b4,#80afd9);border-radius:7px 7px 0 0}
.nm-article-chart__moon-column>span:last-child{text-align:center;font-weight:750}
.nm-article-chart__moon-column small{display:block;color:#8291a2;font-size:.71rem;font-weight:500;padding-top:3px}
@media (max-width:640px){.nm-article-chart{padding:17px 13px 14px;margin:20px 0 25px;border-radius:14px}.nm-article-chart__probability-row{grid-template-columns:69px minmax(0,1fr);gap:7px}.nm-article-chart__probability-item{grid-template-columns:47px minmax(0,1fr) 40px;gap:5px}.nm-article-chart__temperature-row{grid-template-columns:69px minmax(0,1fr) 53px;gap:6px}.nm-article-chart__temperature-legend{margin-left:74px;margin-right:45px}.nm-article-chart__probability-item strong,.nm-article-chart__temperature-row strong{font-size:.78rem}.nm-article-chart__head p{font-size:.85rem}.nm-article-chart__area{font-size:.78rem}}

/* Meteo Oggi: precipitation is a measured forecast accumulation (mm), not a probability. */
.nm-article-chart__precipitation-row{display:grid;grid-template-columns:minmax(75px,105px) minmax(0,1fr) 79px;gap:11px;align-items:center;padding:10px 0;border-top:1px solid #f0f4f7}
.nm-article-chart__precipitation-row:first-child{border-top:0}
.nm-article-chart__precipitation-row strong{text-align:right;white-space:nowrap;font-size:.86rem;font-variant-numeric:tabular-nums}
.nm-article-chart__precipitation-row .nm-article-chart__track{height:17px}
@media (max-width:640px){.nm-article-chart__precipitation-row{grid-template-columns:69px minmax(0,1fr) 73px;gap:6px}.nm-article-chart__precipitation-row strong{font-size:.78rem}}

/* Event timeline v2: peak timestamps are positioned on the same axis as the peak bar. */
.nm-article-chart__timeline--marked{margin-top:22px}
.nm-article-chart__timeline--marked .nm-article-chart__timeline-ends{margin:0 0 12px}
.nm-article-chart__timeline--marked .nm-article-chart__timeline-ends span{font-variant-numeric:tabular-nums}
.nm-article-chart__timeline-axis{position:relative}
.nm-article-chart__timeline-axis .nm-article-chart__timeline-scale{height:20px;overflow:hidden}
.nm-article-chart__timeline-tick{
    position:absolute;top:-6px;height:32px;width:3px;transform:translateX(-50%);
    background:#123e63;border-radius:2px;box-shadow:0 0 0 2px rgba(255,255,255,.86);
    z-index:2;pointer-events:none
}
.nm-article-chart__timeline-tick::after{
    content:"";position:absolute;bottom:-1px;left:-3px;width:9px;height:5px;
    border-radius:3px;background:#123e63
}
.nm-article-chart__timeline-labels{position:relative;height:64px;margin-top:15px}
.nm-article-chart__timeline-label{
    position:absolute;top:0;transform:translateX(-50%);
    width:clamp(92px,16vw,150px);
    display:flex;flex-direction:column;align-items:center;gap:4px;
    text-align:center;line-height:1.25;overflow-wrap:normal;pointer-events:none
}
.nm-article-chart__timeline-label strong{
    color:#526c83;font-size:.72rem;font-weight:750;
    text-transform:uppercase;letter-spacing:.025em
}
.nm-article-chart__timeline-label time{
    display:block;color:#123e63;font-size:.90rem;font-weight:800;
    font-variant-numeric:tabular-nums;white-space:nowrap
}
.nm-article-chart__timeline-label.is-leading{
    transform:none;align-items:flex-start;text-align:left
}
.nm-article-chart__timeline-label.is-trailing{
    transform:translateX(-100%);align-items:flex-end;text-align:right
}
.nm-article-chart__timeline-labels.is-tight{height:115px}
.nm-article-chart__timeline-labels.is-tight .nm-article-chart__timeline-label.is-end{top:55px}

@media(max-width:680px){
    .nm-article-chart__timeline--marked{margin-top:18px}
    .nm-article-chart__timeline--marked .nm-article-chart__timeline-ends strong{font-size:.68rem}
    .nm-article-chart__timeline--marked .nm-article-chart__timeline-ends time{font-size:.79rem}
    .nm-article-chart__timeline-labels,
    .nm-article-chart__timeline-labels.is-tight{height:113px}
    .nm-article-chart__timeline-label.is-end,
    .nm-article-chart__timeline-labels.is-tight .nm-article-chart__timeline-label.is-end{top:56px}
    .nm-article-chart__timeline-label strong{font-size:.66rem}
    .nm-article-chart__timeline-label time{font-size:.80rem}
}
