/* Keep the review usable even when the dynamic theme is unavailable. */
html body .appointment-review-modal .appointment-review-dialog {
    color: var(--site-surface-ink, #493f35) !important;
    background: var(--site-surface, #fff) !important;
    border-color: var(--site-border, #ddd0be) !important;
    border-radius: var(--site-card-radius, 23px) !important;
    box-shadow: var(--site-card-shadow, 0 24px 65px rgba(31, 24, 17, .24)) !important;
}

html body .appointment-review-dialog .appointment-review-submit {
    color: var(--site-primary-contrast, #fff) !important;
    background: var(--site-primary, #a57b38) !important;
    border-radius: var(--site-button-radius, 12px) !important;
}

html body .appointment-review-dialog .appointment-review-submit:hover {
    color: var(--site-primary-hover-contrast, #fff) !important;
    background: var(--site-primary-hover, #8c652b) !important;
}

html body .appointment-review-dialog .appointment-review-rating label {
    color: #b8b0a4 !important;
    color: color-mix(in srgb, var(--site-rating-star, #d4a23c) 35%, var(--site-muted-text, #746963)) !important;
}

html body .appointment-review-dialog .appointment-review-rating label:hover,
html body .appointment-review-dialog .appointment-review-rating label:hover ~ label,
html body .appointment-review-dialog .appointment-review-rating input:checked ~ label {
    color: var(--site-rating-star, #d4a23c) !important;
    opacity: 1;
}

html body .appointment-review-dialog .appointment-review-rating input:focus-visible + label {
    outline: 2px solid var(--site-rating-star, #d4a23c);
    outline-offset: 3px;
}
