@media screen and (max-width: 700px) {

    .weather-section {
        padding: 12px 0 24px !important;
    }

    .weather-section .weather-box {
        width: calc(100% - 28px) !important;
        margin: 0 auto !important;
        padding: 16px !important;
    }

    .weather-symbol {
        width: 46px !important;
        height: 46px !important;
        flex: 0 0 46px !important;
        font-size: 36px !important;
    }

    .weather-details {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding-top: 12px !important;
    }

    .weather-details > div {
        min-height: 0 !important;
        padding: 10px 7px !important;
    }

    .weather-temperature {
        grid-column: 1 / -1 !important;
        padding: 10px !important;
        font-size: 2.35rem !important;
    }

    .forecast-box {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        width: calc(100% - 28px) !important;
        margin: 12px auto 0 !important;
    }

    .forecast-day {
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 12px 5px !important;
        border-radius: 13px !important;
    }

    .forecast-day strong {
        display: block !important;
        margin-bottom: 4px !important;
        font-size: 0.78rem !important;
    }

    .forecast-temp {
        display: block !important;
        margin-bottom: 3px !important;
        font-size: 1.3rem !important;
    }

    .forecast-day small {
        display: block !important;
        font-size: 0.65rem !important;
        line-height: 1.2 !important;
    }
}