/* De leeskolom van /writing/. Laadt bovenop to.css, dat de basis doet
   (body, wrap, nav, knoppen, wachtlijst, voettekst).

   Bron: Paper, pagina "Redesign App", artboards "Site · Blog artikel —
   336 recensies" en "Site · Blog overzicht".

   De maatvoering is die van een leespagina, niet van een
   landingspagina: één kolom van 680px, tekst op 19px/33px, en geen
   enkel blok dat breder is dan die kolom. Dat is het verschil dat de
   eerste versie miste. */

/* to.css kent --ground-raised niet (die staat alleen in
   src/styles/global.css, voor de React-homepage). Zelfde waarde, hier
   aangevuld zodat het cijferkader dezelfde verhoogde vlakkleur heeft
   als de rest van de site. */
:root {
  --ground-raised: #171412;
}

.lees {
  padding-top: clamp(56px, 7vw, 104px);
  padding-bottom: clamp(48px, 6vw, 88px);
}

.lees-kolom {
  width: min(680px, 100% - clamp(40px, 10vw, 144px));
  margin: 0 auto;
}

.lees-terug {
  display: inline-block;
  font-size: 15px;
  color: var(--text-muted);
  margin-bottom: 28px;
}

.lees-terug:hover {
  color: var(--text);
}

.lees-kolom h1 {
  font-size: clamp(34px, 4.6vw, 56px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.14;
}

.lees-dek {
  margin-top: 22px;
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.62;
  color: var(--text-secondary);
}

/* Byline. Het portret is rechthoekig, zoals elke foto op de site; de
   naam linkt naar de auteurspagina zodat de auteur een eigen entiteit
   is voor answer engines. */
.byline {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--hairline);
}

.byline-foto {
  flex-shrink: 0;
  line-height: 0;
}

.byline-foto img {
  width: 44px;
  height: 55px;
  object-fit: cover;
  border-radius: 4px;
}

.byline-tekst {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.byline-naam {
  font-size: 15px;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--hairline-input);
  text-underline-offset: 3px;
}

.byline-naam:hover {
  text-decoration-color: var(--accent);
}

.byline-rol {
  font-size: 14px;
  color: var(--text-muted);
}

/* Lopende tekst */
.lees-kolom h2 {
  margin-top: 64px;
  font-size: clamp(24px, 2.6vw, 30px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.33;
}

.lees-kolom p {
  margin-top: 24px;
  font-size: 19px;
  line-height: 33px;
  color: var(--text-soft);
}

.lees-kolom h2 + p {
  margin-top: 20px;
}

/* Eerste alinea van een sectie: vol contrast, de rest zachter. Dat is
   de hiërarchie uit maat en kleur in plaats van uit lettergewicht. */
.lees-sterk {
  color: var(--text) !important;
}

.lees-kolom a:not(.lees-terug):not(.byline-naam):not(.btn-fill) {
  text-decoration: underline;
  text-decoration-color: var(--hairline-input);
  text-underline-offset: 3px;
}

.lees-kolom a:not(.lees-terug):not(.byline-naam):not(.btn-fill):hover {
  text-decoration-color: var(--accent);
}

/* Cijferkader */
.cijfers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 40px;
  margin-top: 44px;
  padding: 36px 40px;
  border-radius: 16px;
  background: var(--ground-raised);
}

.cijfer {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cijfer-getal {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

/* Eén accentmoment per pagina: het cijfer waar het hele stuk om draait. */
.cijfer-accent {
  color: var(--accent);
}

.cijfer-label {
  font-size: 16px;
  line-height: 24px;
  color: var(--text-secondary);
}

/* Genummerde klachten */
.klachten,
.antwoorden {
  list-style: none;
  margin-top: 40px;
}

.klachten li,
.antwoorden li {
  padding: 26px 0;
  border-top: 1px solid var(--hairline);
}

.klachten li:last-child,
.antwoorden li:last-child {
  border-bottom: 1px solid var(--hairline);
}

.klacht-nr {
  display: block;
  font-size: 14px;
  line-height: 20px;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.klachten h3,
.antwoorden h3 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 30px;
}

.klachten p,
.antwoorden p {
  margin-top: 10px;
  font-size: 18px;
  line-height: 30px;
  color: var(--text-soft);
}

/* Citaat */
.lees-kolom blockquote {
  margin-top: 56px;
  padding-left: 28px;
  border-left: 2px solid var(--accent);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.5;
}

/* Slot: de wachtlijst staat in het stuk zelf, niet als aparte balk. */
.lees-slot {
  margin-top: 72px;
  padding-top: 32px;
  border-top: 1px solid var(--hairline);
}

.lees-slot p {
  margin-top: 0;
  color: var(--text-soft);
}

.lees-slot .waitlist {
  margin-top: 20px;
}


/* Auteurspagina */
.auteur-foto {
  width: 200px;
  height: 250px;
  object-fit: cover;
  border-radius: 4px;
  margin-bottom: 32px;
}

.auteur-links,
.auteur-berichten {
  list-style: none;
  margin-top: 28px;
}

.auteur-links li {
  display: inline-block;
  margin-right: 24px;
  font-size: 17px;
}

.auteur-berichten li {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid var(--hairline);
  font-size: 18px;
}

.auteur-berichten li:last-child {
  border-bottom: 1px solid var(--hairline);
}

.auteur-berichten span {
  color: var(--text-muted);
  flex-shrink: 0;
}

/* Overzicht */
.overzicht-kop {
  font-size: clamp(40px, 5.4vw, 64px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.overzicht-sub {
  margin-top: 24px;
  max-width: 640px;
  font-size: clamp(18px, 2vw, 21px);
  line-height: 1.62;
  color: var(--text-secondary);
}

.berichten {
  margin-top: clamp(48px, 6vw, 88px);
}

.bericht {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  padding: 40px 0;
  border-top: 1px solid var(--hairline);
}

.bericht:last-child {
  border-bottom: 1px solid var(--hairline);
}

.bericht-datum {
  width: 160px;
  flex-shrink: 0;
  font-size: 16px;
  line-height: 42px;
  color: var(--text-muted);
}

.bericht-tekst {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
}

.bericht-kop {
  font-size: clamp(24px, 2.8vw, 34px);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.24;
}

.bericht:hover .bericht-kop {
  color: var(--accent);
}

.bericht-dek {
  font-size: 18px;
  line-height: 30px;
  color: var(--text-soft);
}

.bericht-duur {
  width: 120px;
  flex-shrink: 0;
  text-align: right;
  font-size: 16px;
  line-height: 42px;
  color: var(--text-muted);
}

@media (max-width: 760px) {
  .cijfers {
    grid-template-columns: minmax(0, 1fr);
    padding: 28px;
  }

  .bericht {
    flex-direction: column;
    gap: 12px;
  }

  .bericht-datum,
  .bericht-duur {
    width: auto;
    line-height: 24px;
    text-align: left;
  }
}
