/* Same selected-review interaction as home; tokens follow each city identity. */
body { --review-stars:var(--terra); --review-core:var(--alpine,#1d3531); --review-shell:var(--lake-pale,#e7efed); --review-paper:var(--paper,#f6f5f2); --review-radius:8px 32px 8px 32px; --review-inner-radius:4px 28px 4px 28px; }
body.chamonix-v2 { --review-core:var(--pine); --review-shell:var(--mist); --review-paper:var(--snow); }
body.geneva-v2 { --review-core:var(--lake-deep); --review-shell:var(--sage-rich); --review-radius:12px 32px 32px 32px; --review-inner-radius:8px 28px 28px 28px; }
body.lausanne-v2 { --review-core:var(--leman); --review-shell:var(--sage); --review-radius:9px 36px 9px 9px; --review-inner-radius:5px 32px 5px 5px; }
body.megeve-v2 { --review-stars:var(--brass); --review-core:var(--fir); --review-shell:var(--linen); --review-paper:var(--paper-light); --review-radius:0; --review-inner-radius:0; }
body.montreux-v2 { --review-core:var(--forest); --review-shell:var(--lake-pale); --review-radius:9px 40px 9px 9px; --review-inner-radius:5px 36px 5px 5px; }
.reviews-mobile-selectors,.reviews-mobile-read { display:none; }
.reviews-full-dialog { width:min(440px,calc(100% - 32px)); max-height:80dvh; padding:26px; border:0; border-radius:var(--review-radius); background:var(--review-paper); color:var(--ink); }
.reviews-full-dialog::backdrop { background:rgba(17,34,29,.78); }
.reviews-full-dialog h2 { margin:20px 0; font:400 2rem/1.15 var(--font-story); }
.reviews-full-dialog p { font:400 1.5rem/1.35 var(--font-story); }
.reviews-full-close { display:block; min-height:44px; margin-left:auto; padding:10px 16px; border:0; border-radius:999px; background:var(--review-core); color:var(--review-paper); font:600 .75rem var(--font-ui); cursor:pointer; }
@media(max-width:767px) {
  body .reviews-section.reviews-mobile-ready { padding:36px 6vw 32px; }
  body .reviews-mobile-ready .reviews-heading { display:block; }
  body .reviews-mobile-ready .reviews-grid { display:block; margin-top:22px; padding:4px; border-radius:var(--review-radius); background:var(--review-shell); box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }
  body .reviews-mobile-ready .reviews-grid .review-card { display:none; min-height:270px; margin:0; padding:24px; border:0; border-radius:var(--review-inner-radius); background:var(--review-core); color:var(--review-paper); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
  body .reviews-mobile-ready .reviews-grid .review-card.is-selected { display:flex; flex-direction:column; opacity:1; transform:none; }
  body .reviews-mobile-ready .review-index { display:none; }
  body .reviews-mobile-ready .review-card .review-stars { color:var(--review-stars); font-size:.85rem; }
  body .reviews-mobile-ready .reviews-grid .review-card > p { display:-webkit-box; flex:none; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:20px 0 22px; min-height:3.6em; color:inherit; font:400 1.65rem/1.2 var(--font-story); }
  body .reviews-mobile-ready .review-card footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 10px; margin-top:auto; padding:0; border:0; }
  body .reviews-mobile-ready .review-card cite { grid-column:1/-1; color:inherit; font:400 1.25rem/1.2 var(--font-story); }
  body .reviews-mobile-ready .review-card footer span { color:var(--review-paper); opacity:.8; font-size:.55rem; }
  body .reviews-mobile-ready .reviews-mobile-read { display:block; min-height:44px; padding:0; border:0; background:transparent; color:var(--review-paper); font:500 .62rem var(--font-ui); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
  body .reviews-mobile-ready .reviews-mobile-selectors { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:14px 0 3px; }
  .reviews-mobile-selectors button { flex:none; min-height:44px; padding:10px 14px; border:1px solid var(--review-core); border-radius:999px; background:transparent; color:var(--ink); font:600 .65rem var(--font-ui); cursor:pointer; transition:background .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1); }
  .reviews-mobile-selectors button[aria-pressed=true] { background:var(--review-core); color:var(--review-paper); }
  .reviews-mobile-selectors button:active { transform:scale(.98); }
  .reviews-mobile-selectors button:focus-visible,.reviews-full-close:focus-visible { outline:2px solid var(--terra-dark); outline-offset:4px; }
  body .reviews-mobile-ready .reviews-mobile-read:focus-visible { outline:2px solid var(--review-paper); outline-offset:4px; }
}
@media(prefers-reduced-motion:reduce) { .reviews-mobile-selectors button { transition:none; } }
