.weather-block-section {
    position: relative;
    z-index: 100600;
    overflow: visible;
}

.weather-block-section .weather_block,
.weather-block-section .weather_block > ul {
    overflow: visible;
}

.weather-page--with-davis {
    overflow: visible;
}

.davis-current-weather {
    margin: 0 0 1rem;
    border: 0;
    background: transparent;
}

.davis-current-weather .weather_block {
    box-shadow: none;
}

.weather_block li.davis-station-info {
    position: relative;
    z-index: 100601;
    margin-left: 0.2em;
}

.weather_block li.davis-station-info details {
    position: relative;
}

.weather_block li.davis-station-info summary {
    display: grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    padding: 0;
    border: 1px solid var(--link-color);
    border-radius: 50%;
    color: var(--link-color);
    background: transparent;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    list-style: none;
    cursor: pointer;
}

.weather_block li.davis-station-info summary::-webkit-details-marker {
    display: none;
}

.weather_block li.davis-station-info summary:hover,
.weather_block li.davis-station-info summary:focus-visible,
.weather_block li.davis-station-info details[open] summary {
    color: #fff;
    background: var(--link-color);
}

.weather_block li.davis-station-info summary:focus-visible {
    outline: 2px solid var(--link-color);
    outline-offset: 2px;
}

.davis-station-info__popup {
    position: absolute;
    top: calc(100% + 0.55rem);
    right: 0;
    z-index: 100602;
    width: min(19rem, calc(100vw - 2rem));
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(33, 135, 255, 0.25);
    border-radius: 0.5rem;
    color: #333;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.45;
}

.davis-station-info__popup::before {
    content: "";
    position: absolute;
    right: 0.45rem;
    bottom: 100%;
    border-right: 0.4rem solid transparent;
    border-bottom: 0.4rem solid #fff;
    border-left: 0.4rem solid transparent;
}

.davis-station-info__link {
    display: inline-flex;
    margin-top: 0.65rem;
    color: var(--link-color);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.davis-station-info__link:hover,
.davis-station-info__link:focus-visible {
    text-decoration-thickness: 2px;
}

.davis-station-info__link:focus-visible {
    outline: 2px solid var(--link-color);
    outline-offset: 2px;
}

body.dark .davis-station-info__popup {
    border-color: #444;
    color: #eee;
    background: #2b2b2b;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55);
}

body.dark .davis-station-info__popup::before {
    border-bottom-color: #2b2b2b;
}

@media screen and (max-width: 36rem) {
    .weather_block ul {
        position: relative;
    }

    .weather_block li.davis-station-info,
    .weather_block li.davis-station-info details {
        position: static;
    }

    .davis-station-info__popup {
        top: 100%;
        right: 0.5rem;
        left: 0.5rem;
        width: auto;
    }

    .davis-station-info__popup::before {
        display: none;
    }

    .davis-current-weather .weather-pressure {
        display: flex;
    }
}
