/* ============================================================
   OROSEIMETEO · POLLINI E ALLERGENI
   ============================================================ */

.pollen-page{
    background:#fff;
    color:#17465f;
}

.pollen-shell{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
}

.pollen-hero{
    padding:42px 0 36px;
    border-bottom:1px solid #edf3f6;
    background:#fbfdfe;
}

.pollen-kicker{
    display:block;
    color:#168bb4;
    font-size:14px;
    line-height:1.35;
    font-weight:800;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.pollen-hero h1{
    margin:7px 0 14px;
    color:#17465f;
    font-size:clamp(44px,5.2vw,62px);
    line-height:1.02;
    font-weight:800;
    letter-spacing:-1.8px;
}

.pollen-hero p{
    max-width:880px;
    margin:0;
    color:#607c8d;
    font-size:18px;
    line-height:1.7;
}

.pollen-hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:22px;
}

.pollen-hero-meta span{
    display:inline-flex;
    align-items:center;
    min-height:35px;
    padding:0 12px;
    border:1px solid rgba(84,120,136,.14);
    border-radius:11px;
    background:#fff;
    color:#607c8d;
    font-size:13px;
    font-weight:750;
}

.pollen-section{
    padding:40px 0;
}

.pollen-section-soft{
    border-top:1px solid #edf3f6;
    border-bottom:1px solid #edf3f6;
    background:#fbfdfe;
}

.pollen-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:20px;
}

.pollen-section-head h2,
.pollen-source-card h2{
    margin:5px 0 0;
    color:#17465f;
    font-size:34px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.7px;
}

.pollen-section-head > p{
    max-width:560px;
    margin:0;
    color:#708998;
    font-size:16px;
    line-height:1.65;
}

.pollen-update{
    flex:0 0 auto;
    text-align:right;
}

.pollen-update span{
    display:block;
    color:#7e94a0;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.pollen-update strong{
    display:block;
    margin-top:4px;
    color:#315e76;
    font-size:14px;
}


/* ============================================================
   STATO
   ============================================================ */

.pollen-status-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border:1px solid rgba(84,120,136,.14);
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 17px rgba(24,77,105,.045);
}

.pollen-status-icon{
    width:14px;
    height:14px;
    flex:0 0 auto;
    border-radius:50%;
    background:#9babb4;
    box-shadow:0 0 0 7px rgba(155,171,180,.12);
}

.pollen-status-card[data-state="ok"] .pollen-status-icon{
    background:#38a769;
    box-shadow:0 0 0 7px rgba(56,167,105,.12);
}

.pollen-status-card[data-state="error"] .pollen-status-icon{
    background:#d45d5d;
    box-shadow:0 0 0 7px rgba(212,93,93,.12);
}

.pollen-status-card span{
    display:block;
    color:#7d93a0;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.pollen-status-card strong{
    display:block;
    margin-top:3px;
    color:#17465f;
    font-size:19px;
    line-height:1.25;
    font-weight:800;
}

.pollen-status-card small{
    display:block;
    margin-top:4px;
    color:#8196a2;
    font-size:13px;
    line-height:1.45;
}


/* ============================================================
   VALORI ATTUALI
   ============================================================ */

.pollen-current-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}

.pollen-current-card{
    min-width:0;
    padding:17px 16px;
    border:1px solid rgba(84,120,136,.14);
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 17px rgba(24,77,105,.045);
}

.pollen-current-name{
    display:block;
    color:#788f9c;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.pollen-current-card strong{
    display:inline-block;
    margin-top:8px;
    color:#17465f;
    font-size:30px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.7px;
}

.pollen-current-card > small{
    margin-left:5px;
    color:#8398a4;
    font-size:12px;
    font-weight:700;
}

.pollen-current-card b{
    display:block;
    width:max-content;
    margin-top:10px;
    padding:5px 8px;
    border-radius:8px;
    background:#f2f6f8;
    color:#698391;
    font-size:11px;
    line-height:1;
    font-weight:800;
}

.pollen-current-card.is-loading{
    opacity:.65;
}

.pollen-current-note{
    margin:12px 0 0;
    color:#8297a3;
    font-size:13px;
    line-height:1.55;
}


/* ============================================================
   GIORNI
   ============================================================ */

.pollen-days-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.pollen-day-card{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(84,120,136,.14);
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 17px rgba(24,77,105,.045);
}

.pollen-day-card.is-loading{
    min-height:180px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8398a4;
}

.pollen-day-head{
    padding:16px;
    border-bottom:1px solid #edf3f6;
}

.pollen-day-head span{
    display:block;
    color:#168bb4;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.pollen-day-head strong{
    display:block;
    margin-top:5px;
    color:#17465f;
    font-size:22px;
    line-height:1.15;
    font-weight:800;
}

.pollen-day-dominant{
    margin-top:8px;
    color:#6f8897;
    font-size:13px;
    line-height:1.45;
}

.pollen-day-list{
    display:grid;
}

.pollen-day-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:11px 14px;
    border-bottom:1px solid #edf3f6;
}

.pollen-day-row:last-child{
    border-bottom:0;
}

.pollen-day-row > div span{
    display:block;
    color:#5f7b8c;
    font-size:14px;
    line-height:1.3;
    font-weight:750;
}

.pollen-day-row > div small{
    display:block;
    margin-top:3px;
    color:#8ba0ab;
    font-size:12px;
}

.pollen-level{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:88px;
    min-height:31px;
    padding:0 8px;
    border:1px solid transparent;
    border-radius:8px;
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-align:center;
}

.level-none{
    border-color:#e1e9ed !important;
    background:#f7f9fa !important;
    color:#81949e !important;
}

.level-low{
    border-color:#d9dfad !important;
    background:#faf9ed !important;
    color:#8c872c !important;
}

.level-medium{
    border-color:#ecd5a2 !important;
    background:#fdf7e9 !important;
    color:#a97b26 !important;
}

.level-high{
    border-color:#e1b0ad !important;
    background:#faeceb !important;
    color:#b0524f !important;
}


/* ============================================================
   GRAFICO
   ============================================================ */

.pollen-chart-card{
    overflow:hidden;
    border:1px solid rgba(84,120,136,.14);
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 22px rgba(24,77,105,.055);
}

.pollen-chart-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    padding:14px 15px;
    border-bottom:1px solid #edf3f6;
}

.pollen-chart-tabs button{
    min-height:35px;
    padding:0 11px;
    border:1px solid #d5e4eb;
    border-radius:10px;
    background:#fff;
    color:#587486;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.pollen-chart-tabs button.is-active{
    border-color:#168bb4;
    background:#168bb4;
    color:#fff;
}

.pollen-chart{
    height:340px;
}


/* ============================================================
   SOGLIE
   ============================================================ */

.pollen-reference-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.pollen-reference-grid article{
    min-width:0;
    padding:18px;
    border:1px solid rgba(84,120,136,.14);
    border-radius:15px;
    background:#fff;
}

.pollen-ref-name{
    display:block;
    margin-bottom:12px;
    color:#17465f;
    font-size:19px;
    line-height:1.25;
    font-weight:800;
}

.pollen-ref-scale{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
}

.pollen-ref-scale b{
    min-width:0;
    padding:10px 8px;
    border:1px solid transparent;
    border-radius:9px;
    font-size:12px;
    line-height:1.35;
    font-weight:800;
}

.pollen-ref-scale small{
    display:block;
    margin-top:4px;
    font-size:11px;
    font-weight:700;
}


/* ============================================================
   INFO
   ============================================================ */

.pollen-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.pollen-info-card{
    min-width:0;
    padding:20px;
    border:1px solid rgba(84,120,136,.14);
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 17px rgba(24,77,105,.045);
}


.pollen-info-card h3{
    margin:0;
    color:#17465f;
    font-size:22px;
    line-height:1.2;
    font-weight:800;
}

.pollen-info-card p{
    margin:10px 0 0;
    color:#587486;
    font-size:16px;
    line-height:1.7;
}


/* ============================================================
   FONTI
   ============================================================ */

.pollen-source-section{
    padding-top:26px;
    padding-bottom:52px;
}

.pollen-source-card{
    padding:24px;
    border:1px solid rgba(84,120,136,.14);
    border-radius:16px;
    background:#fbfdfe;
}

.pollen-source-card p{
    margin:13px 0 0;
    color:#587486;
    font-size:16px;
    line-height:1.72;
}

.pollen-source-card strong{
    color:#315e76;
}

.pollen-source-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.pollen-source-links a{
    display:inline-flex;
    align-items:center;
    min-height:39px;
    padding:0 12px;
    border:1px solid #d2e3ea;
    border-radius:10px;
    background:#fff;
    color:#168bb4;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(max-width:980px){

    .pollen-days-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pollen-current-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){

    .pollen-shell{
        width:min(100% - 22px,1180px);
    }

    .pollen-hero{
        padding:30px 0 28px;
    }

    .pollen-hero h1{
        font-size:42px;
        line-height:1.04;
        letter-spacing:-1.1px;
    }

    .pollen-hero p{
        font-size:16px;
        line-height:1.68;
    }

    .pollen-hero-meta span{
        font-size:12px;
    }

    .pollen-section{
        padding:32px 0;
    }

    .pollen-section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
        margin-bottom:16px;
    }

    .pollen-section-head h2,
    .pollen-source-card h2{
        font-size:30px;
    }

    .pollen-section-head > p{
        font-size:15.5px;
    }

    .pollen-update{
        text-align:left;
    }

    .pollen-status-card{
        padding:15px;
    }

    .pollen-current-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .pollen-current-card{
        padding:15px 13px;
        border-radius:13px;
    }

    .pollen-current-card strong{
        font-size:27px;
    }

    .pollen-days-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .pollen-current-name{font-size:12px;}
    .pollen-current-card > small{font-size:11.5px;}
    .pollen-current-card b{font-size:11px;}
    .pollen-current-note{font-size:13px;}
    .pollen-day-head span{font-size:12px;}
    .pollen-day-head strong{font-size:22px;}
    .pollen-day-dominant{font-size:13px;}
    .pollen-day-row > div span{font-size:14px;}
    .pollen-day-row > div small{font-size:12px;}
    .pollen-level{min-width:92px;min-height:32px;font-size:11px;}
    .pollen-ref-name{font-size:20px;}
    .pollen-ref-scale b{font-size:12px;}
    .pollen-ref-scale small{font-size:11px;}
    .pollen-info-card h3{font-size:22px;}
    .pollen-source-links a{font-size:12px;}

    .pollen-chart-tabs{
        flex-wrap:nowrap;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .pollen-chart-tabs::-webkit-scrollbar{
        display:none;
    }

    .pollen-chart-tabs button{
        flex:0 0 auto;
    }

    .pollen-chart{
        height:300px;
    }

    .pollen-reference-grid{
        grid-template-columns:1fr;
    }

    .pollen-ref-scale{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pollen-info-grid{
        grid-template-columns:1fr;
    }

    .pollen-info-card{
        padding:18px 16px;
    }

    .pollen-info-card p,
    .pollen-source-card p{
        font-size:16px;
        line-height:1.7;
    }

    .pollen-source-card{
        padding:20px 18px;
    }
}

@media(max-width:430px){

    .pollen-current-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pollen-current-card strong{
        font-size:25px;
    }
}
