/* /order — parents' reviews. Phone: under the order form. Wide screens: a
   column beside the form, so the form never moves down. */

.reviews { margin-top: 28px; }
.reviews-title { font: 800 22px/1.3 var(--title-font); color: var(--ink); text-align: center; }
.reviews-sub { font-size: 13.5px; font-weight: 700; color: var(--ink-2); text-align: center; margin: 4px auto 14px; max-width: 460px; text-wrap: balance; }
.reviews-list { display: grid; gap: 12px; }

.review {
    position: relative; margin: 0; padding: 18px 18px 12px; border-radius: 22px;
    background: var(--paper); border: 2px solid rgba(42,111,176,0.08); box-shadow: var(--card-shadow);
}
/* A big yellow quote mark in the top corner. */
.review::before {
    content: '\201D'; position: absolute; top: -6px; left: 14px;
    font: 800 64px/1 var(--title-font); color: var(--yellow); pointer-events: none;
}
.review blockquote { margin: 0; }
.review blockquote p { font-size: 14.5px; line-height: 1.85; color: var(--ink); overflow-wrap: anywhere; }
.review blockquote p + p { margin-top: 8px; }
.review mark {
    color: inherit; font-weight: 800; padding: 0 2px; background: var(--marker);
    -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.review figcaption {
    display: flex; align-items: center; gap: 6px; margin-top: 10px; padding-top: 9px;
    border-top: 1.5px dashed rgba(31,58,95,0.10); font-size: 12.5px; font-weight: 700; color: var(--muted);
}
.review figcaption::before { content: ''; width: 18px; height: 18px; flex: none; background: center / contain no-repeat; }
.review .rv-wa::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2325d366'/%3E%3Cpath fill='%23fff' d='M12 4.6a7.4 7.4 0 0 0-6.3 11.2L4.8 19.2l3.5-.9A7.4 7.4 0 1 0 12 4.6zm0 1.4a6 6 0 1 1-3.1 11.1l-.2-.1-2.1.6.6-2-.2-.2A6 6 0 0 1 12 6z'/%3E%3C/svg%3E"); }
.review .rv-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%232A6FB0'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.8' stroke-linejoin='round' d='M6.5 8.5h11v7.5h-11z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.8' stroke-linejoin='round' d='M6.8 8.8l5.2 4.2 5.2-4.2'/%3E%3C/svg%3E"); }

@media (min-width: 760px) {
    .reviews-title { font-size: 25px; }
    .review { padding: 20px 22px 14px; }
}

/* Wide screens: the form keeps its width; the reviews sit beside it. Row 3
   (1fr) takes any extra height, so nothing opens up between the form and
   the WhatsApp strip. */
@media (min-width: 1100px) {
    .order-main {
        max-width: 1044px; display: grid; justify-content: center; align-items: start;
        grid-template-columns: minmax(0, 608px) minmax(0, 380px); grid-template-rows: auto auto 1fr; column-gap: 24px;
    }
    .order-main > * { grid-column: 1; }
    .order-main > .reviews { grid-column: 2; grid-row: 1 / 4; margin-top: 0; }
    .reviews-title, .reviews-sub { text-align: right; margin-inline: 0; }
    .reviews-title { font-size: 22px; }
    .review { padding: 18px 18px 12px; }
    .review blockquote p { font-size: 14px; }
}
