/* ── REVIEW PAGE STYLES ── */

.review-hero {
  min-height: 70vh; display: flex; flex-direction: column;
  justify-content: flex-end; padding: 0 3rem 5rem;
  position: relative; overflow: hidden;
}

.review-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 65% 25%, rgba(140,74,42,0.14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 15% 85%, rgba(42,51,40,0.25) 0%, transparent 60%),
    linear-gradient(160deg, #161310 0%, #0d0b08 60%);
}

.back-link {
  position: absolute; top: 7rem; left: 3rem; z-index: 2;
  font-size: 0.68rem; letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--cream-dim); display: flex; align-items: center; gap: 0.6rem;
  transition: color 0.3s, gap 0.3s;
}
.back-link::before { content: '←'; color: var(--gold); }
.back-link:hover { color: var(--cream); gap: 0.9rem; }

.review-hero-inner { position: relative; z-index: 1; }

.review-eyebrow {
  font-size: 0.68rem; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.2rem;
  display: flex; align-items: center; gap: 1rem;
  opacity: 0; animation: fadeUp 0.9s 0.1s cubic-bezier(0.22,1,0.36,1) both;
}
.review-eyebrow::before { content: ''; width: 40px; height: 1px; background: var(--gold); opacity: 0.5; }

.review-title {
  font-family: 'Cormorant', serif;
  font-size: clamp(4.5rem, 10vw, 9rem); font-weight: 300; font-style: italic;
  line-height: 0.9; margin-bottom: 2rem;
  opacity: 0; animation: fadeUp 0.9s 0.25s cubic-bezier(0.22,1,0.36,1) both;
}

.review-meta-row {
  display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem;
  opacity: 0; animation: fadeUp 0.9s 0.4s cubic-bezier(0.22,1,0.36,1) both;
}

.stars { display: flex; gap: 3px; align-items: center; }

/* PLAYER BAR */
.player-bar {
  background: var(--bg2); border-bottom: 1px solid var(--border);
  padding: 1.1rem 3rem; display: flex; align-items: center; gap: 1.5rem;
  position: sticky; top: 68px; z-index: 50;
}
.player-bar-label { font-size: 0.62rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
.btn-play-sm { width: 36px; height: 36px; border-radius: 50%; background: var(--gold); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.2s, background 0.2s; }
.btn-play-sm:hover { transform: scale(1.06); background: var(--cream); }
.player-bar-track { font-family: 'Cormorant', serif; font-style: italic; font-size: 0.95rem; color: var(--cream-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-shrink: 1; }
.progress-wrap { flex: 1; display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
.progress-bar { height: 2px; background: var(--border2); border-radius: 1px; cursor: pointer; }
.progress-fill { height: 100%; background: var(--gold); border-radius: 1px; width: 0%; pointer-events: none; position: relative; }
.progress-fill::after { content: ''; position: absolute; right: -4px; top: -3px; width: 8px; height: 8px; background: var(--gold); border-radius: 50%; }
.player-times { display: flex; justify-content: space-between; font-size: 0.6rem; color: var(--cream-dim); }
.no-audio-note { font-size: 0.68rem; color: var(--cream-dim); opacity: 0.55; font-style: italic; }

/* REVIEW BODY */
.review-body { max-width: 720px; margin: 0 auto; padding: 5rem 2rem 6rem; }

.review-text p {
  font-size: 1rem; line-height: 1.95; color: var(--cream-dim); margin-bottom: 1.75rem;
}

/* First sentence — lede */
.review-text p.lede {
  font-family: 'Cormorant', serif;
  font-size: clamp(1.4rem, 2.8vw, 1.9rem); font-weight: 300; font-style: italic;
  line-height: 1.4; color: var(--cream);
  padding-bottom: 2.5rem; margin-bottom: 2.5rem;
  border-bottom: 1px solid var(--border);
}

/* Drop cap on first body paragraph (not lede) */
.review-text p:not(.lede):not(.closing):first-of-type::first-letter {
  font-family: 'Cormorant', serif; font-size: 4rem; font-weight: 400;
  line-height: 0.8; float: left; margin: 0.05em 0.1em 0 0; color: var(--gold);
}

/* Closing line */
.review-text p.closing {
  font-family: 'Cormorant', serif;
  font-size: 1.4rem; font-style: italic; font-weight: 300;
  color: var(--cream); border-top: 1px solid var(--border);
  padding-top: 2rem; margin-top: 1rem;
}

/* NEXT REVIEW */
.next-review {
  border-top: 1px solid var(--border); padding: 4rem 3rem;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  background: var(--bg2); transition: background 0.3s; text-decoration: none;
}
.next-review:hover { background: var(--bg3); }
.next-label { font-size: 0.62rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-dim); margin-bottom: 0.5rem; }
.next-title { font-family: 'Cormorant', serif; font-size: 2.2rem; font-style: italic; transition: color 0.3s; color: var(--cream); }
.next-review:hover .next-title { color: var(--gold); }
.next-arrow { font-size: 2rem; color: var(--gold); transition: transform 0.3s; }
.next-review:hover .next-arrow { transform: translateX(8px); }

@media (max-width: 768px) {
  .review-hero { padding: 0 1.5rem 4rem; }
  .back-link { left: 1.5rem; }
  .player-bar { padding: 1rem 1.5rem; gap: 0.75rem; }
  .player-bar-track { display: none; }
  .review-body { padding: 3rem 1.5rem 4rem; }
  .next-review { padding: 3rem 1.5rem; }
}
