/**
 * METEO SANTA SUSANNA
 * Fitxer: public/assets/css/forecast-v180.css
 * Versió: 1.8.7b
 * Desenvolupament i proveïdor: SOMOSDIGITAL.NET
 * © 2026 SOMOSDIGITAL.NET
 */
.forecast-page{max-width:1200px;margin:0 auto 42px;padding:16px;box-sizing:border-box}.forecast-heading{border-radius:0;margin-bottom:18px}.forecast-panel{background:var(--card-bg,#fff);border:1px solid var(--border-color,#dce3ea);border-radius:18px;padding:18px}.forecast-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.forecast-module{background:var(--card-bg,#fff);border:1px solid var(--border-color,#dce3ea);border-radius:18px;box-shadow:0 6px 20px rgba(20,40,70,.06);overflow:hidden}.forecast-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px 8px}.forecast-module-head h3{margin:0 0 3px;font-size:1.12rem}.forecast-module-head p{margin:0;color:var(--muted-text,#687789);font-size:.86rem}.forecast-module-badge{white-space:nowrap;background:#eaf3ff;color:#175a9b;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:600}.forecast-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 12px 12px}.forecast-day{border:1px solid var(--border-color,#dce3ea);border-radius:13px;padding:9px 10px;background:rgba(248,251,254,.86);min-width:0}.forecast-day-date{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.forecast-day-date strong{font-size:1rem}.forecast-day-date span{font-size:.8rem;color:var(--muted-text,#687789)}.forecast-icon{height:50px;display:grid;place-items:center}.forecast-icon svg{width:46px;height:46px;overflow:visible}.fc-sun{fill:#f6bd2f;stroke:#e49c00;stroke-width:2}.fc-rays path{fill:none;stroke:#e49c00;stroke-width:3;stroke-linecap:round}.fc-cloud{fill:#dbe4ee;stroke:#7890a7;stroke-width:2}.fc-rain path{fill:none;stroke:#1985d0;stroke-width:3;stroke-linecap:round}.forecast-condition{text-align:center;font-weight:600;min-height:1.9em;font-size:.9rem}.forecast-temp{display:flex;justify-content:center;gap:9px;align-items:baseline;margin:4px 0 7px}.forecast-temp strong{color:#d52b2b;font-size:1.08rem}.forecast-temp span{color:#2477b8;font-weight:600}.forecast-metrics{margin:0;display:grid;grid-template-columns:1fr;gap:3px;font-size:.76rem}.forecast-metrics div{display:flex;justify-content:space-between;gap:6px;border-top:1px solid rgba(130,150,170,.18);padding-top:4px}.forecast-metrics dt{color:var(--muted-text,#687789)}.forecast-metrics dd{margin:0;font-weight:600}.forecast-source{padding:0 16px 12px;color:var(--muted-text,#687789);font-size:.74rem}.forecast-error{margin:12px 18px 18px;padding:14px;border-radius:12px;background:#fff4f4;color:#a23232}.forecast-empty{padding:18px;color:var(--muted-text,#687789)}
@media(max-width:820px){.forecast-page{width:min(100% - 20px,760px);margin:0 auto 36px;padding:14px}.forecast-panel{padding:12px}.forecast-modules{grid-template-columns:1fr}.forecast-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.forecast-days{grid-template-columns:1fr}.forecast-module-head{padding:12px 13px 7px}.forecast-day{padding:9px 10px}.forecast-page{width:calc(100% - 14px);padding:10px 0}}
/* v1.8.0b radar modules */
.radar-map{height:430px;margin:8px 14px 14px;border-radius:14px;overflow:hidden;border:1px solid var(--border-color,#dce3ea);background:#e8eef4;position:relative}.radar-loading{position:absolute;inset:0;display:grid;place-items:center;color:#687789}.meteociel-radar{margin:8px 14px 14px;border-radius:14px;overflow:hidden;border:1px solid var(--border-color,#dce3ea);background:#eef3f7;display:flex;align-items:center;justify-content:center;min-height:300px}.meteociel-radar img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain}.forecast-source a{color:inherit;text-decoration:underline}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:520px){.radar-map{height:360px;margin:6px 10px 12px}.meteociel-radar{margin:6px 10px 12px;min-height:220px}}

/* v1.8.0c · RainViewer zoom + animation */
.radar-map{position:relative}
.radar-player{position:absolute;left:10px;bottom:10px;z-index:700;display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(20,40,60,.18);font-size:.74rem;color:#173246}
.radar-player button{width:31px;height:31px;border:1px solid #cdd9e4;border-radius:8px;background:#fff;color:#173246;cursor:pointer;font-size:.9rem;line-height:1}
.radar-player-time{min-width:42px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700}
html[data-theme="dark"] .radar-player{background:rgba(24,38,50,.92);color:#eef6fb}
html[data-theme="dark"] .radar-player button{background:#243847;color:#eef6fb;border-color:#526777}

/* v1.8.0d · weather model module */
.model-switch{display:flex;gap:8px;flex-wrap:wrap;padding:4px 14px 10px}.model-switch button{border:1px solid var(--border-color,#dce3ea);background:#fff;color:#173246;border-radius:9px;padding:7px 10px;font-weight:600}.model-switch button.is-active{background:#173f59;color:#fff;border-color:#173f59}.model-switch button:disabled{opacity:.45}.model-view{margin:0 14px 14px;border:1px solid var(--border-color,#dce3ea);border-radius:14px;overflow:hidden;background:#fff}.model-view img{display:block;width:100%;height:auto}.forecast-module--models{grid-column:auto}.forecast-module--models-large{grid-column:span 2}.forecast-module--models-small .model-view img{width:100%;height:auto}.forecast-module--models-small .model-view{margin:0 12px 12px}.forecast-module--models-small .model-switch{padding-left:12px;padding-right:12px}@media(max-width:820px){.forecast-module--models-large{grid-column:auto}}

/* v1.8.0f · radar interaction guard + official warnings */
.radar-drag-hint{position:absolute;right:10px;bottom:10px;z-index:700;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(20,40,60,.15);font-size:.7rem;font-weight:700;color:#50677a;pointer-events:none}.radar-drag-hint.is-active{background:#173f59;color:#fff}html[data-theme="dark"] .radar-drag-hint{background:rgba(24,38,50,.92);color:#dce8ef}.warning-switch{display:flex;gap:8px;padding:4px 14px 10px}.warning-switch button{border:1px solid var(--border-color,#dce3ea);background:#fff;color:#173246;border-radius:9px;padding:7px 12px;font-weight:700;cursor:pointer}.warning-switch button.is-active{background:#173f59;color:#fff;border-color:#173f59}.warning-view{padding:0 14px 14px;display:grid;gap:10px}.warning-loading,.warning-error,.warning-none{min-height:110px;border:1px solid var(--border-color,#dce3ea);border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--muted-text,#687789)}.warning-none{gap:8px}.warning-ok{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dff5e4;color:#197038;font-weight:900}.warning-item{border:1px solid var(--border-color,#dce3ea);border-left-width:6px;border-radius:14px;padding:12px 14px;background:rgba(250,252,254,.94)}.warning-item h4{margin:5px 0 7px;font-size:1rem}.warning-level{display:flex;align-items:center;gap:6px;font-size:.77rem;font-weight:800;text-transform:uppercase}.warning-level span{width:11px;height:11px;border-radius:50%;background:currentColor}.warning-yellow{border-left-color:#e3bd00}.warning-yellow .warning-level{color:#9c7d00}.warning-orange{border-left-color:#f08b18}.warning-orange .warning-level{color:#c26800}.warning-red{border-left-color:#d33232}.warning-red .warning-level{color:#b52121}.warning-green{border-left-color:#42a45b}.warning-green .warning-level{color:#27763a}.warning-threshold,.warning-area,.warning-valid,.warning-comment{margin:4px 0;font-size:.82rem}.warning-area{font-weight:700}.warning-comment{color:var(--muted-text,#687789);line-height:1.35}.warning-source{padding-top:0}html[data-theme="dark"] .warning-switch button{background:#243847;color:#eef6fb;border-color:#526777}html[data-theme="dark"] .warning-switch button.is-active{background:#2d6385}html[data-theme="dark"] .warning-item{background:rgba(30,43,54,.94)}

/* v1.8.0g · Radar movement is intentionally protected against accidental drags */
#rainviewer-map{cursor:default}
#rainviewer-map.radar-drag-enabled{cursor:grab}
#rainviewer-map.radar-drag-enabled:active{cursor:grabbing}

/* v1.8.0k · official warning map is the default warning-module view */
.warning-mode-switch{padding-top:0}
.warning-mode-switch button{font-size:.78rem;padding:5px 10px}
.warning-map-view{padding:0 14px 14px}
.warning-map-frame{width:560px;max-width:100%;height:530px;margin:0 auto;overflow:hidden;border:1px solid var(--border-color,#dce3ea);border-radius:14px;background:#f5f8fa;position:relative}
.warning-map-frame iframe{display:block;width:720px;height:680px;border:0;background:#fff;transform:scale(.78);transform-origin:top left}
.warning-map-link{text-align:right;padding-top:7px;font-size:.76rem;font-weight:700}
.warning-map-link a{text-decoration:none}
.warning-map-link a:hover{text-decoration:underline}
.warning-map-view[hidden],.warning-view[hidden]{display:none!important}
html[data-theme="dark"] .warning-map-frame{background:#20313d}
@media(max-width:820px){.warning-map-frame{width:520px;max-width:100%;height:505px}.warning-map-frame iframe{width:720px;height:700px;transform:scale(.72)}}

@media(max-width:520px){.warning-map-frame{width:100%;height:455px}.warning-map-frame iframe{width:680px;height:735px;transform:scale(.57)}}

/* v1.8.3a · model centre */
.model-location{margin:-3px 14px 10px;font-size:.82rem;opacity:.72}
.forecast-module--models-small .model-location{margin-left:12px;margin-right:12px}
.model-switch button{cursor:pointer}
.model-switch button:not(.is-active):hover{background:#f2f6f8}
html[data-theme="dark"] .model-switch button:not(.is-active){background:#243847;color:#eef6fb;border-color:#60798a}
html[data-theme="dark"] .model-switch button:not(.is-active):hover{background:#304b5d}


/* v1.8.3a2 · Predicció i Models dark-mode parity */
html[data-theme="dark"] .forecast-page{
    --card-bg:#172533;
    --border-color:#304454;
    --muted-text:#9eb1be;
    color:#e6f0f6;
}
html[data-theme="dark"] .forecast-panel,
html[data-theme="dark"] .forecast-module{
    background:#172533;
    color:#e6f0f6;
    border-color:#304454;
    box-shadow:0 6px 20px rgba(0,0,0,.24);
}
html[data-theme="dark"] .forecast-module-head h3,
html[data-theme="dark"] .forecast-day-date strong,
html[data-theme="dark"] .forecast-metrics dd{
    color:#e6f0f6;
}
html[data-theme="dark"] .forecast-module-head p,
html[data-theme="dark"] .forecast-day-date span,
html[data-theme="dark"] .forecast-metrics dt,
html[data-theme="dark"] .forecast-source,
html[data-theme="dark"] .model-location{
    color:#9eb1be;
}
html[data-theme="dark"] .forecast-module-badge{
    background:#223b4e;
    color:#9ed8f5;
}
html[data-theme="dark"] .forecast-day{
    background:#1b2c39;
    border-color:#304454;
}
html[data-theme="dark"] .forecast-metrics div{
    border-top-color:rgba(158,177,190,.18);
}
html[data-theme="dark"] .radar-map{
    background:#13212c;
    border-color:#304454;
}
html[data-theme="dark"] .radar-loading{
    color:#9eb1be;
}
html[data-theme="dark"] .meteociel-radar{
    background:#13212c;
    border-color:#304454;
}
html[data-theme="dark"] .model-view{
    background:#13212c;
    border-color:#304454;
}
html[data-theme="dark"] .warning-view{
    color:#e6f0f6;
}
html[data-theme="dark"] .warning-loading,
html[data-theme="dark"] .warning-error,
html[data-theme="dark"] .warning-none{
    background:#1b2c39;
    color:#9eb1be;
    border-color:#304454;
}
html[data-theme="dark"] .warning-item{
    background:#1b2c39;
    color:#e6f0f6;
    border-color:#304454;
}
html[data-theme="dark"] .warning-comment{
    color:#9eb1be;
}
html[data-theme="dark"] .forecast-error{
    background:#402628;
    color:#f2b0b4;
}
html[data-theme="dark"] .forecast-empty{
    color:#9eb1be;
}


/* v1.8.3b · ICON ENS native data view */
.model-data-view{min-height:250px;background:var(--card-bg,#fff);color:inherit}
.model-data-view[hidden]{display:none!important}
.model-data-loading,.model-data-error{min-height:250px;display:grid;place-items:center;padding:18px;text-align:center;color:var(--muted-text,#687789)}
.icon-ens-card{padding:12px 14px 10px}
.icon-ens-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:6px;font-size:.78rem}
.icon-ens-head strong,.icon-ens-head span{display:block}.icon-ens-head span{color:var(--muted-text,#687789);margin-top:2px}
.icon-ens-chart{display:block;width:100%;height:auto;min-height:250px}
.icon-grid line{stroke:rgba(110,135,155,.20);stroke-width:1}.icon-grid .day-line{stroke:rgba(90,115,135,.34);stroke-dasharray:4 5}
.icon-axis text,.icon-label{fill:var(--muted-text,#687789);font-size:12px}.icon-axis .day-label{font-size:11px;font-weight:700}
.icon-temp-band{fill:rgba(218,73,73,.15);stroke:none}
.icon-temp-line{fill:none;stroke:#d84949;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.icon-rain-bars rect{fill:#2689c8;opacity:.82}
.icon-baseline{stroke:rgba(90,115,135,.5);stroke-width:1}
.icon-ens-note{margin-top:5px;color:var(--muted-text,#687789);font-size:.7rem}
html[data-theme="dark"] .model-data-view{background:#13212c}
html[data-theme="dark"] .icon-temp-band{fill:rgba(244,116,116,.16)}
html[data-theme="dark"] .icon-temp-line{stroke:#f07a7a}
html[data-theme="dark"] .icon-rain-bars rect{fill:#58a9df}
@media(max-width:520px){.icon-ens-card{padding:9px 8px 7px}.icon-ens-head{display:block}.icon-ens-head>div+div{margin-top:4px}.icon-ens-chart{min-height:220px}}


/* v1.8.3b1 · model switch exclusivity */
.model-view > [hidden]{display:none!important}
.model-view > img[hidden]{display:none!important}


/* v1.8.3c · mobile model-card header */
@media(max-width:720px){
    .forecast-module--models .forecast-module-head{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:start;
        column-gap:10px;
    }
    .forecast-module--models .forecast-module-head > div:first-child{
        min-width:0;
        width:100%;
    }
    .forecast-module--models .forecast-module-head h3,
    .forecast-module--models .forecast-module-head p{
        width:100%;
        max-width:none;
    }
    .forecast-module--models .forecast-module-head p{
        text-wrap:pretty;
    }
    .forecast-module--models .forecast-module-badge{
        max-width:118px;
        white-space:normal;
        text-align:center;
    }
}
@media(max-width:460px){
    .forecast-module--models .forecast-module-head{
        grid-template-columns:minmax(0,1fr);
    }
    .forecast-module--models .forecast-module-badge{
        justify-self:start;
        max-width:none;
        margin-top:2px;
    }
}


/* v1.8.3c1 · keep model provider badge visible at top-right on mobile */
@media(max-width:720px){
    .forecast-module--models .forecast-module-head{
        position:relative;
        display:block;
        padding-right:128px;
        min-height:48px;
    }
    .forecast-module--models .forecast-module-head > div:first-child{
        width:100%;
        min-width:0;
    }
    .forecast-module--models .forecast-module-head p{
        width:calc(100% + 118px);
        max-width:none;
        padding-right:0;
        margin-right:-118px;
    }
    .forecast-module--models .forecast-module-badge{
        display:inline-flex;
        position:absolute;
        top:0;
        right:0;
        max-width:118px;
        white-space:normal;
        text-align:center;
    }
}
@media(max-width:460px){
    .forecast-module--models .forecast-module-head{
        display:block;
        padding-right:116px;
    }
    .forecast-module--models .forecast-module-head p{
        width:calc(100% + 106px);
        margin-right:-106px;
    }
    .forecast-module--models .forecast-module-badge{
        position:absolute;
        top:0;
        right:0;
        max-width:106px;
        margin-top:0;
        justify-self:auto;
    }
}

/* v1.8.3d · model comparison */
.model-compare-controls{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.model-compare-controls button{border:1px solid var(--border-color,#ccd8df);background:transparent;color:inherit;border-radius:999px;padding:6px 11px;font:inherit;font-size:.78rem;cursor:pointer}.model-compare-controls button.is-active{background:#176f9b;border-color:#176f9b;color:#fff}
.model-compare-view{min-height:240px;border:1px solid var(--border-color,#d9e2e7);border-radius:12px;overflow:hidden;padding:8px;background:var(--card-bg,#fff)}.model-compare-chart{display:block;width:100%;height:auto;min-height:220px}.model-compare-grid line{stroke:rgba(110,135,155,.20);stroke-width:1}.model-compare-grid .day-line{stroke:rgba(90,115,135,.34);stroke-dasharray:4 5}.model-compare-axis text,.model-compare-unit{fill:var(--muted-text,#687789);font-size:12px}.model-compare-axis .day-label{font-size:11px;font-weight:700}.model-compare-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.model-line-1{stroke:#d84949}.model-line-2{stroke:#2689c8}.model-line-3{stroke:#55a35a}.model-compare-legend{display:flex;gap:12px;flex-wrap:wrap;padding:4px 5px 2px;font-size:.72rem;color:var(--muted-text,#687789)}.model-compare-legend span{display:inline-flex;align-items:center;gap:5px}.model-compare-legend i{width:17px;height:3px;border-radius:2px}.model-compare-legend i.model-line-1{background:#d84949}.model-compare-legend i.model-line-2{background:#2689c8}.model-compare-legend i.model-line-3{background:#55a35a}html[data-theme="dark"] .model-compare-view{background:#13212c;border-color:#304454}


/* v1.8.3e · Meteosat module */
.forecast-module--meteosat .meteosat-view{
    border:1px solid var(--border-color,#d9e2e7);
    border-radius:12px;
    overflow:hidden;
    background:#0c1117;
}
.forecast-module--meteosat .meteosat-view img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}
html[data-theme="dark"] .forecast-module--meteosat .meteosat-view{
    border-color:#304454;
}
