/* Audience reviews on individual event pages. */
.event-reviews {
    padding: 64px 0;
    color: #242424;
    background: #f5f4f1;
}

.event-reviews h2,
.event-reviews h3,
.event-reviews p {
    color: inherit;
}

.event-reviews-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 28px;
}

.event-reviews-heading h2 { margin: 0 0 10px; }
.event-reviews-heading p { margin: 0; }
.event-review-link { border: 0; padding: 12px 0; background: transparent; color: #176638; font: inherit; font-weight: 700; text-decoration: underline; white-space: nowrap; cursor: pointer; }
.event-reviews-layout { display: grid; grid-template-columns: 1fr; gap: 48px; }
.event-reviews-layout.is-writing-review { grid-template-columns: 1.2fr 1fr; }
.event-reviews-layout > div { min-width: 0; }
.event-review { border-bottom: 1px solid #d5d5cf; padding: 0 0 24px; margin-bottom: 24px; }
.event-review-rating { color: #176638 !important; font-size: 24px; letter-spacing: 3px; margin: 0 0 12px; }
.event-review-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.event-review-byline { font-size: 14px; overflow-wrap: anywhere; }
.event-review-form-panel { padding: 28px; border-radius: 4px; background: #fff; scroll-margin-top: 120px; }
.event-review-form-panel h3 { margin-top: 0; }
.event-review-form-panel fieldset { margin: 0 0 20px; padding: 0; border: 0; }
.event-review-form-panel legend { float: none; width: auto; font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.event-review-form-panel label { display: block; font-weight: 700; margin-bottom: 6px; }
.event-review-form-panel label > span,
.event-review-form-panel legend > span { font-weight: 400; font-size: 14px; }
.event-review-form-panel input[type="text"],
.event-review-form-panel textarea { box-sizing: border-box; display: block; width: 100%; border: 1px solid #777; padding: 12px; border-radius: 3px; font: inherit; font-size: 16px; color: #242424; background: #fff; }
.event-review-form-panel textarea { resize: vertical; min-height: 140px; }
.event-review-help { font-size: 13px; line-height: 1.5; margin: 7px 0 18px; }
.event-review-stars { display: flex; gap: 6px; }
.event-review-stars label { position: relative; min-width: 44px; min-height: 52px; cursor: pointer; border-radius: 3px; text-align: center; border: 1px solid #777; padding: 1px 5px; margin: 0; }
.event-review-stars input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.event-review-stars label span { display: block; font-size: 25px; line-height: 30px; color: #666; }
.event-review-stars label small { display: block; font-size: 12px; }
.event-review-stars label.is-selected { background: #e6f4e9; border-color: #176638; }
.event-review-stars label.is-selected span { color: #176638; }
.event-review-stars label:focus-within,
.event-reviews input:focus-visible,
.event-reviews textarea:focus-visible,
.event-reviews button:focus-visible,
.event-reviews a:focus-visible { outline: 3px solid #176638; outline-offset: 3px; }
.event-review-button { display: inline-block; border: 0; border-radius: 3px; min-height: 44px; padding: 12px 22px; background: #176638; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.event-review-button:hover { background: #124e2b; }
.event-review-button:disabled { opacity: .65; cursor: wait; }
.event-review-message { margin: 16px 0 0; font-size: 14px; }
.event-review-message.is-error { color: #a22222; }
.event-review-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.event-reviews [hidden] { display: none !important; }

@media (max-width: 767px) {
    .event-reviews { padding: 36px 0; }
    .event-reviews-heading { display: block; }
    .event-review-link { display: inline-block; padding: 12px 0; }
    .event-reviews-layout,
    .event-reviews-layout.is-writing-review { grid-template-columns: 1fr; gap: 24px; }
    .event-review-form-panel { padding: 20px 16px; }
    .event-review-stars { gap: 4px; }
}
