.presura-forecast__mobile-hours,
.presura-forecast__chart-tabs {
    display: none;
}

@media (max-width: 767.98px) {
    .presura-shell[data-shell-page="forecast"] .presura-shell__content {
        padding-bottom: calc(var(--presura-mobile-bottom-nav-height, 58px) + env(safe-area-inset-bottom, 0px));
    }

    .presura-forecast {
        min-height: 100dvh;
        overflow-x: clip;
        background:
            radial-gradient(circle at 88% 1%, rgba(40, 174, 206, 0.14), transparent 24rem),
            radial-gradient(circle at 4% 22%, rgba(13, 143, 122, 0.1), transparent 20rem),
            var(--tblr-body-bg);
    }

    .presura-forecast > .container-xl {
        width: 100%;
        max-width: none;
        padding: 0.75rem clamp(0.7rem, 3.6vw, 1rem) 1.5rem !important;
    }

    .presura-forecast__hero {
        margin-bottom: 0.9rem !important;
    }

    .presura-forecast__hero-grid {
        grid-template-areas:
            "location location"
            "current facts";
        grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
        gap: 0.65rem;
    }

    .presura-forecast__hero-copy,
    .presura-forecast__now,
    .presura-forecast__hero-facts {
        border-radius: 1rem;
        background: color-mix(in srgb, var(--tblr-card-bg) 91%, transparent);
        box-shadow: 0 12px 30px rgba(0, 37, 31, 0.1);
        backdrop-filter: blur(14px) saturate(125%);
    }

    .presura-forecast__hero-copy {
        padding: 1rem;
    }

    .presura-forecast__hero-copy .badge {
        margin-bottom: 0.45rem !important;
        font-size: 0.62rem;
    }

    .presura-forecast__hero-copy h1 {
        margin-bottom: 0.25rem;
        font-size: clamp(1.75rem, 9vw, 2.4rem);
        overflow-wrap: anywhere;
    }

    .presura-forecast__hero-copy > p {
        font-size: 0.76rem;
        line-height: 1.35;
    }

    .presura-forecast__location-tools {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 48px;
        gap: 0.5rem;
        margin-top: 0.8rem;
    }

    .presura-forecast__location-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-column: 1 / -1;
        gap: 0.4rem;
    }

    .presura-forecast__location-search .form-control,
    .presura-forecast__location-search .btn,
    .presura-forecast__location-tools > .btn {
        min-height: 46px;
        border-radius: 0.75rem;
        font-size: 0.76rem;
    }

    .presura-forecast__location-search .btn {
        padding-inline: 0.75rem;
    }

    .presura-forecast__location-tools > .btn {
        grid-column: 1 / -1;
        width: 100%;
    }

    .presura-forecast__location-results {
        grid-column: 1 / -1;
        max-height: 210px;
    }

    .presura-forecast__now {
        min-height: 116px;
        justify-content: center;
        gap: 0.45rem;
        padding: 0.85rem 0.65rem;
    }

    .presura-forecast__now .presura-forecast__weather-icon {
        width: 42px;
        height: 42px;
    }

    .presura-forecast__now strong {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .presura-forecast__hero-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.35rem;
        padding: 0.45rem;
    }

    .presura-forecast__hero-facts span {
        align-content: center;
        gap: 0.18rem;
        padding: 0.5rem 0.35rem;
        text-align: center;
    }

    .presura-forecast__hero-facts small {
        font-size: 0.5rem;
    }

    .presura-forecast__hero-facts strong {
        overflow: hidden;
        font-size: 0.68rem;
        text-overflow: ellipsis;
    }

    .presura-forecast__mobile-hours {
        display: block;
    }

    .presura-forecast__section-head {
        margin-bottom: 0.65rem;
    }

    .presura-forecast__section-head h2 {
        font-size: 1.25rem;
    }

    .presura-forecast__section-head .text-secondary,
    .presura-forecast__section-head > small {
        font-size: 0.68rem;
    }

    .presura-forecast__hour-strip,
    .presura-forecast__days {
        display: grid;
        grid-auto-flow: column;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .presura-forecast__hour-strip::-webkit-scrollbar,
    .presura-forecast__days::-webkit-scrollbar,
    .presura-forecast__chart-tabs::-webkit-scrollbar {
        display: none;
    }

    .presura-forecast__hour-strip {
        grid-auto-columns: 76px;
        gap: 0.45rem;
        padding: 0.1rem 0 0.45rem;
    }

    .presura-forecast__hour {
        display: grid;
        min-height: 112px;
        place-items: center;
        gap: 0.22rem;
        padding: 0.65rem 0.45rem;
        border: 1px solid var(--tblr-border-color);
        border-radius: 0.85rem;
        background: color-mix(in srgb, var(--tblr-card-bg) 94%, var(--forecast-accent) 6%);
        scroll-snap-align: start;
    }

    .presura-forecast__hour time,
    .presura-forecast__hour span {
        color: var(--forecast-muted);
        font-size: 0.66rem;
    }

    .presura-forecast__hour strong {
        color: var(--forecast-ink);
        font-size: 1rem;
    }

    .presura-forecast__hour .presura-forecast__weather-icon {
        width: 28px;
        height: 28px;
    }

    .presura-forecast section.mb-5 {
        margin-bottom: 1.35rem !important;
    }

    .presura-forecast__days {
        grid-template-columns: none;
        grid-auto-columns: minmax(144px, 44vw);
        gap: 0.55rem;
        padding: 0.1rem 0 0.45rem;
    }

    .presura-forecast__day {
        scroll-snap-align: start;
        border-radius: 0.9rem;
    }

    .presura-forecast__day .card-body {
        padding: 0.85rem;
    }

    .presura-forecast__day-temperature {
        margin: 0.75rem 0 0.45rem;
    }

    .presura-forecast__day p {
        min-height: 2.4em;
        margin-bottom: 0.55rem;
        font-size: 0.72rem;
    }

    .presura-forecast .row-cards {
        --tblr-gutter-y: 0.55rem;
        --tblr-gutter-x: 0.55rem;
    }

    .presura-forecast__metric,
    .presura-forecast section[aria-labelledby="forecast-astronomy-title"] .card {
        border-radius: 0.85rem;
    }

    .presura-forecast__metric .card-body,
    .presura-forecast section[aria-labelledby="forecast-astronomy-title"] .card-body {
        padding: 0.75rem;
    }

    .presura-forecast__metric-head {
        gap: 0.4rem;
        margin-bottom: 0.55rem;
    }

    .presura-forecast__metric-icon {
        width: 30px;
        height: 30px;
    }

    .presura-forecast__metric-head .text-secondary {
        font-size: 0.68rem;
    }

    .presura-forecast__metric-value,
    .presura-forecast__astro-value {
        font-size: 1rem;
    }

    .presura-forecast__chart-tabs {
        display: flex;
        gap: 0.42rem;
        margin: 0 0 0.65rem;
        padding: 0.25rem 0 0.4rem;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .presura-forecast__chart-tabs button {
        min-width: max-content;
        min-height: 42px;
        padding: 0.55rem 0.8rem;
        border: 1px solid var(--tblr-border-color);
        border-radius: 999px;
        background: var(--tblr-card-bg);
        color: var(--forecast-muted);
        font: inherit;
        font-size: 0.7rem;
        font-weight: 750;
        scroll-snap-align: center;
    }

    .presura-forecast__chart-tabs button.is-active {
        border-color: rgba(29, 174, 151, 0.48);
        background: rgba(13, 143, 122, 0.18);
        color: var(--forecast-ink);
    }

    .presura-forecast [data-forecast-chart-panel] {
        display: none;
    }

    .presura-forecast [data-forecast-chart-panel].is-active {
        display: block;
    }

    .presura-forecast__chart-card {
        overflow: hidden;
        border-radius: 1rem;
    }

    .presura-forecast__chart-card .card-header {
        min-height: 66px;
        padding: 0.8rem;
    }

    .presura-forecast__chart-card .card-title {
        font-size: 0.9rem;
    }

    .presura-forecast__chart-card .card-header p,
    .presura-forecast__chart-card .badge {
        font-size: 0.64rem;
    }

    .presura-forecast__chart-card .card-body {
        padding: 0.35rem 0.25rem 0.65rem;
    }

    .presura-forecast__chart {
        height: 284px;
        cursor: crosshair;
        touch-action: pan-y pinch-zoom;
    }

    .presura-forecast__chart-readout {
        min-height: 3.1rem;
        margin: 0.35rem 0.55rem 0.05rem;
        padding: 0.62rem 0.7rem;
        font-size: 0.72rem;
    }
}

@media (max-width: 374.98px) {
    .presura-forecast__hero-grid {
        grid-template-areas: "location" "current" "facts";
        grid-template-columns: minmax(0, 1fr);
    }

    .presura-forecast__now {
        justify-content: flex-start;
        min-height: 92px;
    }

    .presura-forecast__hero-facts strong {
        font-size: 0.64rem;
    }
}

@media (min-width: 768px) {
    .presura-forecast [data-forecast-chart-panel] {
        display: block !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .presura-forecast__hour-strip,
    .presura-forecast__days,
    .presura-forecast__chart-tabs {
        scroll-behavior: auto;
    }
}
