
.reviews { display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; row-gap: 30px; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
.review-intro h2 { font-size: clamp(40px, 5vw, 60px); line-height: 1.08; margin: 18px 0 24px; }
.review-intro > p:last-child { color: #526a82; font-size: 17px; line-height: 1.7; max-width: 430px; }
.approved-reviews { grid-column: 1 / -1; margin-top: 0; }
.approved-reviews h3 { font: 500 26px/1.2 var(--serif); margin: 0 0 18px; }
.approved-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.approved-review { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.approved-review .review-stars { color: #e83e8c; font-size: 20px; line-height: 1; letter-spacing: 1px; margin: 0 0 12px; }
.approved-review p { color: #23384d; font-size: 16px; line-height: 1.65; margin: 0 0 16px; }
.approved-review h4 { font-size: 16px; margin: 0 0 4px; }
.approved-review span { color: #607990; font-size: 14px; }
.approved-reviews-more { margin-top: 18px; }
.review-form { display: flex; flex-direction: column; padding: 28px; background: white; border: 1px solid var(--line); border-radius: 20px; min-width: 0; }
.review-form label { font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.review-form label span { font-size: 14px; font-weight: 400; color: #526a82; }
.review-form input, .review-form textarea { width: 100%; min-width: 0; border: 1px solid #9eb6cd; border-radius: 8px; padding: 12px; font: inherit; font-size: 16px; line-height: 1.5; color: var(--ink); background: #fff; margin-bottom: 22px; }
.review-form textarea { resize: vertical; min-height: 140px; }
.rating-field { border: 0; padding: 0; margin: 0 0 22px; min-inline-size: 0; }
.rating-field legend { font-size: 16px; font-weight: 600; margin: 0 0 10px; padding: 0; }
.star-rating { display: inline-flex; align-items: center; gap: 6px; min-height: 46px; }
.review-form .star-rating input[type="radio"] { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); margin: 0; padding: 0; border: 0; }
.review-form .star-rating label { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: #c8d3df; cursor: pointer; font-size: 38px; line-height: 1; margin: 0; user-select: none; -webkit-tap-highlight-color: transparent; transition: color .15s ease, transform .15s ease; }
.review-form .star-rating label:hover,
.review-form .star-rating label.is-selected { color: #e83e8c; }
.review-form .star-rating label:hover { transform: scale(1.08); }
.review-form input:focus-visible, .review-form textarea:focus-visible, .review-form button:focus-visible, .star-rating input:focus-visible + label { outline: 3px solid #e83e8c; outline-offset: 3px; border-radius: 8px; }
.review-form .review-note { font-size: 14px; line-height: 1.6; color: #526a82; margin: 0 0 18px; }
.review-form .google-review-option { display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 10px; color: #102a43; cursor: pointer; font-size: 15px; font-weight: 600; line-height: 1.45; margin: 0 0 18px; }
.review-form .google-review-option input[type="checkbox"] { width: 20px; height: 20px; min-width: 20px; border-radius: 5px; margin: 0; padding: 0; accent-color: #e83e8c; }
.google-review-actions { align-items: center; gap: 12px; flex-wrap: wrap; margin: 14px 0 0; }
.google-review-actions.is-visible { display: flex; }
.review-form .google-review-actions .button { margin: 0; text-decoration: none; }
.review-form .google-review-actions button.secondary { background: #fff; border: 1px solid #9eb6cd; color: #102a43; }
.review-check { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 10px; margin: 0 0 16px; color: #23384d; line-height: 1.5; }
.review-check input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: #1261a6; }
.review-hidden { position: absolute; left: -9999px; width: 1px !important; height: 1px; opacity: 0; pointer-events: none; }
.review-form button { align-self: flex-start; border: 0; font: inherit; padding: 13px 30px; min-height: 44px; }
.review-form button:disabled { opacity: .55; cursor: not-allowed; }
.review-form #review-status { margin: 14px 0 0; }
@media (max-width: 850px) { .reviews { grid-template-columns: 1fr; gap: 24px; } .approved-reviews { grid-column: 1; } .approved-review-list { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .review-form { padding: 20px; } }

.approved-review { display: flex; flex-direction: column; }
.approved-review[hidden] { display: none; }
.approved-review .review-date { margin-top: auto; padding-top: 16px; align-self: flex-end; text-align: right; color: #607990; font-size: 14px; line-height: 1.5; }
