/* V18.10 — first-party wedding service rating. Scoped to this local component only. */
.wedding-rating-section[hidden] { display: none !important; }
.wedding-rating-section { border-top: 1px solid rgba(216, 178, 74, .18); border-bottom: 1px solid rgba(216, 178, 74, .18); }
.wedding-rating-shell { max-width: 980px; }
.wedding-rating-shell h2 { margin-bottom: 16px; }
.wedding-rating-aggregate { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 10px; margin-top: 14px; }
.wedding-rating-stars { color: #d8b24a; font-size: 1.15rem; letter-spacing: .08em; white-space: nowrap; }
.wedding-rating-score { color: #f5f2e9; font-weight: 700; font-variant-numeric: tabular-nums; }
.wedding-rating-count { color: rgba(245, 242, 233, .78); }
.wedding-rating-note { margin-top: 10px; max-width: 68ch; color: rgba(245, 242, 233, .7); font-size: .94rem; line-height: 1.55; }
.wedding-rating-invite { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(216, 178, 74, .14); }
.wedding-rating-invite h3 { margin: 0 0 12px; }
.wedding-rating-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.wedding-rating-stars-input { display: inline-flex; gap: 3px; }
.wedding-rating-star { width: 46px; height: 46px; padding: 0; border: 1px solid rgba(216, 178, 74, .38); border-radius: 9px; background: transparent; color: #d8b24a; font: inherit; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.wedding-rating-star:hover { border-color: rgba(216, 178, 74, .78); }
.wedding-rating-star:focus-visible,
.wedding-rating-submit:focus-visible { outline: 2px solid #d8b24a; outline-offset: 3px; }
.wedding-rating-star:disabled { cursor: default; opacity: .66; }
.wedding-rating-submit { min-height: 46px; }
.wedding-rating-status { min-height: 1.5em; margin-top: 12px; color: rgba(245, 242, 233, .82); }

@media (max-width: 520px) {
  .wedding-rating-controls { align-items: stretch; }
  .wedding-rating-stars-input { width: 100%; justify-content: space-between; }
  .wedding-rating-star { width: 48px; height: 48px; }
  .wedding-rating-submit { width: 100%; }
}
