/* Reviews page — page-specific sections.
   Loaded only on the page-reviews.php template (after theme.css). The review
   cards + summary are shared (theme.css); the wall is server-rendered. */
.reviews-page__wall-wrap {
  max-width:1180px;
  margin:0 auto;
  padding:1.8rem 3rem 0
}

@media(max-width:980px) {
  .reviews-page__wall-wrap {
    padding:1.5rem 1.2rem 0
  }
}

.review-all-meta {
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-muted);
  font-weight:600;
  margin-top:1rem
}

/* Leave-a-review CTA */
.review-cta {
  background:var(--text);
  color:var(--bg);
  padding:5rem 3rem;
  margin-top:5rem;
  position:relative;
  overflow:hidden
}

.review-cta::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:var(--accent)
}

.review-cta-in {
  max-width:780px;
  margin:0 auto;
  text-align:center
}

.review-cta-eyebrow {
  font-family:var(--sans);
  font-size:.62rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
  margin-bottom:1rem
}

.review-cta h3 {
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(1.8rem,3.2vw,2.6rem);
  line-height:1.1;
  margin-bottom:1rem;
  color:#fff;
  letter-spacing:.005em
}

.review-cta p {
  font-family:var(--serif);
  font-style:normal;
  font-size:1.1rem;
  line-height:1.6;
  color:#C0B69A;
  margin-bottom:2rem;
  max-width:60ch;
  margin-left:auto;
  margin-right:auto
}

@media(max-width:780px) {
  .review-cta {
    padding:3.5rem 1.2rem;
    margin-top:3rem
  }
}

/* Dark-section button variants (.on-dark .btn*) live in theme.css — loaded as a dependency. */

/* ─── Wall extras, read/submit modals.
   (.cover__inner base + its @780 variant live in theme.css; only the
   reviews-page compact override stays — see bottom of this file.) ─── */
.cover__byline {
  font-family:var(--sans);
  font-size:.66rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#CABFA3;
  font-weight:500;
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem 2.2rem
}

.cover__byline span {
  display:flex;
  align-items:center;
  gap:.5rem
}

.cover__byline strong {
  color:#fff;
  font-weight:700
}

.review-wall.is-few {
  flex-wrap:wrap;
  justify-content:center
}

.review-wall.is-few .review-card {
  flex:0 1 480px
}

.review-quote-readmore {
  font-family:var(--sans);
  font-size:.56rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--accent-strong);
  display:block;
  margin-top:-.5rem;
  margin-bottom:.8rem
}

.review-pol-readmore {
  font-family:var(--sans);
  font-size:.56rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--accent-strong);
  display:inline-block;
  margin-top:-.4rem;
  margin-bottom:.7rem
}

@media(max-width:680px) {
  .review-wall.is-few .review-card {
    flex-basis:100%
  }
}

/* ─── Wall masonry ───
   Flex columns, NOT CSS `column-count` (theme.css). CSS columns re-balance every
   time cards are appended, which made "Показать ещё" reshuffle the whole wall.
   With fixed flex columns, existing cards never move — new cards just append to
   the bottom of the shortest column (placement handled in reviews.js). */
.review-wall {
  display:flex;
  column-count:initial;
  column-gap:normal;
  gap:1.4rem;
  align-items:flex-start
}

.review-col {
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1.4rem
}

.review-col .review-card {
  margin-bottom:0;
  break-inside:auto
}

@media(max-width:680px) {
  .review-wall {
    flex-direction:column
  }
}

/* Card tilt (collage feel) — direction is alternated per card in reviews.js.
   The reveal+tilt CSS is shared in theme.css (.review-card.reveal.tilt-*), so both the
   reviews page and the tour page render the rotation identically. */
/* Show-all button (.review-all base lives in theme.css) */
.review-all-btn {
  /* layout-only; visuals via .btn .btn-ghost */
}

/* =========================================================================
   REVIEW FORM MODAL — reuses .lead-modal aesthetic
   ========================================================================= */
.lead-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem
}

/* Star rating (yellow, click-to-set) */
.review-stars {
  display:flex;
  gap:.3rem;
  direction:rtl;
  justify-content:flex-end;
  padding-top:.15rem
}

.review-stars input {
  position:absolute;
  opacity:0;
  pointer-events:none
}

.review-stars label {
  font-size:1.4rem;
  color:rgba(44,64,67,.2);
  cursor:pointer;
  letter-spacing:0;
  text-transform:none;
  margin:0;
  transition:color .15s;
  padding:0;
  line-height:1;
  font-weight:400
}

.review-stars label:hover,.review-stars label:hover ~ label,.review-stars input:checked ~ label {
  color:var(--accent-strong)
}

/* Photo drop zone */
.review-drop {
  display:block;
  border:1px dashed rgba(44,64,67,.3);
  background:transparent;
  padding:.6rem 1rem;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s,background .2s;
  font-family:var(--sans);
  margin-top:.2rem
}

.review-drop:hover,.review-drop.is-drag {
  border-color:var(--accent-strong);
  background:rgba(255,204,0,.06)
}

.review-drop strong {
  display:block;
  color:var(--text);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.04em;
  margin-bottom:.2rem
}

.review-drop .hint {
  font-family:var(--sans);
  font-size:.55rem;
  color:var(--text-muted);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700
}

.review-drop input[type=file] {
  display:none
}

/* Previews */
.review-previews {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.35rem;
  margin-top:.55rem
}

.review-previews:empty {
  display:none
}

.reviews-page__summary-wrap {
  max-width:1180px;
  margin:0 auto;
  padding:3rem 3rem 0
}

@media(max-width:780px) {
  .reviews-page__summary-wrap {
    padding:2rem 1.2rem 0
  }
}

.reviews-page__note {
  max-width:1180px;
  margin:0 auto;
  padding:2.4rem 3rem 0
}

.reviews-page__note-text {
  color:var(--text-soft,#3A5256);
  line-height:1.65
}

.reviews-page__note-text p {
  margin:0 0 .8rem
}

.reviews-page__note-text p:last-child {
  margin-bottom:0
}

@media(max-width:780px) {
  .reviews-page__note {
    padding:1.6rem 1.2rem 0
  }
}

/* reviews-page compact cover — overrides theme.css .cover__inner base */
.cover__inner {
  padding:2.4rem 1.2rem 2.4rem
}

