/* FLUFFYTECH: Beaminster Tennis Club / Homepage weather and reviews | Version 1.0.1 | Updated 2026-11-12 */
hr.news { border-top-width: .03125rem; margin-left: .5rem; }


    .spinner-container {
        margin-left: 0.25em;
        display: inline-block;
        height: 1.2em;
        overflow: hidden;
        vertical-align: top;
    }
    .spinner {
        display: inline-block;
        text-align: center;
        animation: spin 2s ease-in-out;
    }
    @keyframes spin {
        0% { transform: translateY(-100%); }
        100% { transform: translateY(0); }
    }


/* Keep numeric forecasts right-aligned during and after each spin. */
#temperature,
#wind-speed,
#humidity,
#members {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

#temperature { width: 5ch; }
#wind-speed { width: 6ch; }
#humidity { width: 4ch; }
#members { width: 2ch; }

/* Conditions remain left-aligned throughout the spin. */
#weather {
    padding-left: 0.25em;
    text-align: left;
}

/* Google rating: update the number and star fills manually below. */
.google-rating {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin: -1.5em 0 3em;
    color: #fff;
    font-size: 0.9em;
}
.google-rating svg {
    width: 7em;
    height: 1.2em;
    overflow: visible;
}

/* Homepage buttons */
.google-review {
    margin: 3em 0;
    padding-left: 10px;
    text-align: left;
    line-height: 0;
}

a.google-review-button,
a.google-review-button:visited,
a.google-review-button:active {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding: 0.5em 1em;
    border: 1.5px solid #fff;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 0.8em;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transform: translateY(-0.1em);
    box-shadow: 0 0.22em 0 rgba(255,255,255,0.3);
    transition: transform 0.075s ease-out, box-shadow 0.075s ease-out, color 0.075s ease-out, border-color 0.075s ease-out;
}

a.google-review-button:hover,
a.google-review-button:focus-visible {
    border: 1.5px solid rgba(255,255,255,0.8);
    background: transparent;
    color: rgba(255,255,255,0.8);
}

a.google-review-button:focus-visible {
    box-shadow: 0 0 0 0.12em rgba(255,255,255,0.65);
}

a.google-review-button:active {
    transform: translateY(0.12em);
    box-shadow: 0 0 0 rgba(255,255,255,0);
    transition: none;
}

a.google-review-button.is-refreshing {
    color: #fff;
    border-color: #fff;
    transform: translateY(0.12em);
    box-shadow: 0 0 0 rgba(255,255,255,0);
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    a.google-review-button,
    a.google-review-button.is-refreshing {
        transition: none;
        transform: none;
    }
}
