/* Shared review carousel, derived from the /15min/ reviews block. */
.visit-reviews__panel{background:#fff;border:1px solid #e3e5e8;border-top:3px solid var(--red);box-shadow:0 14px 35px rgba(15,17,21,.07);border-radius:8px;padding:28px;min-width:0}
.visit-reviews__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}
.visit-reviews__heading h2,.visit-reviews__heading h3{font-size:clamp(24px,2.7vw,34px);letter-spacing:-.035em;line-height:1.15;text-transform:none;margin:0 0 10px;font-weight:800}
.visit-reviews__heading p{font-size:18px;line-height:1.4;margin:0;color:#4b4f56}
.visit-reviews__track{--reviews-per-page:3;display:flex;align-items:flex-start;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a3a6ab transparent;overscroll-behavior-x:contain;padding:2px 2px 14px}
.visit-review{flex:0 0 calc((100% - 100px)/3);min-width:0;min-height:408px;padding:22px;display:flex;flex-direction:column;border:1px solid #d9dcdf;background:white;border-radius:14px;scroll-snap-align:start;box-shadow:0 2px 3px #11111103}
.visit-review__author{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.visit-review__avatar{position:relative;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#f0f1f2;color:#60656d;font-size:17px;font-weight:700;display:grid;place-items:center;overflow:hidden}
.visit-review__avatar img{position:absolute;inset:0;width:48px;height:48px;object-fit:cover;border-radius:50%}
.visit-review__avatar img[hidden]{display:none}
.visit-review__author h3,.visit-review__author h4{font-size:16px;line-height:1.3;margin:0 0 6px;font-weight:700;text-transform:none;overflow-wrap:anywhere}
.visit-review__author time{color:#636773;font-size:13px;line-height:1.3}
.visit-review blockquote{font-size:16px;line-height:1.55;margin:0;overflow-wrap:anywhere;font-style:normal}
.visit-review strong{font-weight:750;color:#fff;background:var(--red);padding:.06em .22em;border-radius:.2em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.visit-review__rating{display:flex;align-items:center;gap:5px;margin-top:4px;color:#555b63;font-size:12px;line-height:1.25;white-space:nowrap}
.visit-review__rating [aria-hidden]{color:#e4a000;letter-spacing:.02em;font-size:13px}
.visit-review__window{--review-lines:10;position:relative;min-width:0}
.visit-review__window.is-clipped{overflow:hidden}
.visit-review__window.has-tail::after{content:'';position:absolute;right:0;left:0;height:38px;pointer-events:none;z-index:1;bottom:0;background:linear-gradient(transparent,#fff)}
.visit-review .visit-review__full{margin:0;white-space:pre-wrap}
.visit-review .visit-review__full:has(p){white-space:normal}
.visit-review .visit-review__full p{margin:0}
.visit-review .visit-review__full p+p{margin-top:1em}
.visit-review__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:48px;width:100%;font:inherit;font-size:14px;color:#30343a;border:0;border-top:1px solid #d9dcdf;padding:12px 0 0;margin:20px 0 0;background:transparent;text-align:left}
.visit-review__toggle[hidden]{display:none}
.visit-review__toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.visit-review__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.visit-reviews__controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.visit-reviews__controls[hidden]{display:none}
.visit-reviews__dots{display:flex;align-items:center;gap:2px;flex-wrap:wrap;max-width:70%}
.review-dot{display:grid;place-items:center;width:30px;height:36px;padding:0;border:0;background:transparent;cursor:pointer}
.review-dot::before{content:'';width:8px;height:8px;background:#c3c6ca;border-radius:50%}
.review-dot[aria-current="true"]::before{background:var(--red);width:10px;height:10px}
.visit-reviews__navigation{display:flex;align-items:center;gap:10px;flex-shrink:0}
.review-arrow{display:grid;place-items:center;background:transparent;border:1px solid #a0a4aa;border-radius:50%;width:48px;height:48px;padding:0;color:var(--ink);cursor:pointer}
.review-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.review-arrow:hover:not(:disabled){background:#fff;border-color:var(--ink)}
.review-arrow:disabled{opacity:.3;cursor:default}
.visit-reviews__counter{min-width:62px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums;color:#50545c}
.visit-reviews button:focus-visible,.visit-reviews__track:focus{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:1100px){
 .visit-reviews__track{--reviews-per-page:2}
 .visit-review{flex-basis:calc((100% - 76px)/2)}
 .visit-reviews__heading{display:block}
}
@media(max-width:650px){
 .visit-reviews__panel{padding:14px;border-radius:16px}
 .visit-reviews__heading{padding:8px 6px 0;margin-bottom:18px}
 .visit-reviews__heading h2,.visit-reviews__heading h3{font-size:24px}
 .visit-reviews__heading p{font-size:16px}
 .visit-reviews__track{--reviews-per-page:1;gap:12px;scroll-snap-type:x mandatory}
 .visit-review{flex-basis:calc(100% - 36px);padding:18px;min-height:390px}
 .visit-reviews__controls{justify-content:flex-end;margin-top:4px}
 .visit-reviews__dots{display:none}
}
/* Stellest keeps its section placement and the existing lead-time explanation. */
.stellest-page .stellest-reviews{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:clamp(68px,8vw,108px) 0;border-top:1px solid var(--line)}
.stellest-page .visit-reviews__heading .stellest-reviews__note{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
@media(max-width:650px){.stellest-page .stellest-reviews{width:min(100% - 28px,1220px)}}
