/* ========================================
   Prompt Dojo - Randori (/randori)

   Klein met opzet: de pagina leunt op style.css (kleuren, fonts, .btn,
   .quote-divider) en registratie.css (.reg-page, .reg-intro,
   .reg-form-wrapper, .reg-form-submit, .reg-error). Hier staat alleen wat
   die twee niet leveren.
   ======================================== */

/* Leeskolom: de uitleg is broodtekst en leest niet prettig over de volle
   containerbreedte van 1200px. */
.rnd-kolom {
  max-width: 720px;
}

/* ---- de kop ---- */

.rnd-hero {
  text-align: center;
  margin-bottom: 2.5rem;
}

/* Het sparbeeld boven de kop. Vierkant en transparant, dus het pakt de grond
   van de sectie; een vaste hoogte zou het samendrukken. */
.rnd-beeld {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
  margin: 0 auto 1.5rem;
}

.rnd-hero h1 {
  margin-bottom: 1rem;
}

.rnd-onderkop {
  font-size: 1.15rem;
  color: var(--donkerbruin);
  line-height: 1.7;
  margin: 0;
}

/* ---- de uitleg ---- */

.rnd-uitleg {
  margin-bottom: var(--spacing-lg);
}

.rnd-uitleg p {
  margin-bottom: 1.1rem;
  line-height: 1.7;
}

/* De wijsheid in rood handschrift. Bewust geen .quote-divider: die zet er
   ruimte en een lijn omheen; hier staat hij strak tussen de kop en de
   onderkop, als één adem. */
.rnd-wijsheid {
  font-family: var(--font-handwritten);
  font-size: 2.1rem;
  color: var(--rood);
  text-align: center;
  line-height: 1.4;
  margin: 0 0 1.75rem;
}

/* In het kopblok staat de wijsheid tussen de titel en de onderkop, dus daar
   hoort minder lucht onder dan bij een los citaat middenin een tekst. */
.rnd-hero .rnd-wijsheid {
  margin-bottom: 0.5rem;
}

/* De datums staan bewust in een witte kaart: dit is het enige blok op de
   pagina waar iemand naar terugkomt om iets op te zoeken. */
.rnd-datums {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
  padding: 1.5rem 1.75rem;
  margin: 0 0 1.75rem;
}

.rnd-eerst {
  margin: 0 0 1rem;
  line-height: 1.5;
}

.rnd-eerst span {
  display: block;
  color: var(--donkerbruin);
}

.rnd-eerst strong {
  font-size: 1.15rem;
  color: var(--rood);
}

.rnd-agenda {
  margin: 0 0 .4rem;
  font-weight: 500;
}

.rnd-datums ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--donkerbruin);
  line-height: 1.6;
}

/* De agendaknop onder het rijtje datums. .btn-outline geeft de rode rand en
   rode tekst; de grond zetten we hard op wit in plaats van doorzichtig, zodat
   hij ook wit blijft als het datumkader ooit een kleur krijgt. */
.rnd-agendaknop {
  display: inline-block;
  background-color: #fff;
  margin-top: 1.25rem;
}

.rnd-waarom {
  font-size: .9rem;
  color: #595959;
  font-style: italic;
  line-height: 1.6;
  text-align: center;
  margin: 0 0 1.75rem;
}

/* ---- de poort zelf: één witte kaart, inhoud wisselt per toestand ---- */

.rnd-poort {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
  padding: 2rem;
}

.rnd-inleiding {
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

.rnd-formulier {
  display: flex;
  flex-direction: column;
}

.rnd-formulier label {
  font-weight: 500;
  margin-bottom: 0.4rem;
}

/* De belofte staat tussen het veld en de knop, en dat is met opzet: je leest
   waar je adres heen gaat vlak voordat je het weggeeft. */
.rnd-privacy {
  font-size: .9rem;
  color: var(--donkerbruin);
  line-height: 1.6;
  margin: 1.25rem 0 0;
}

.rnd-tip {
  font-size: 0.85rem;
  color: var(--donkerbruin);
  border-left: 3px solid var(--rood);
  padding-left: 1rem;
  line-height: 1.6;
  margin: 1.25rem 0 0;
}

/* ---- binnen: de mat ---- */

.rnd-midden {
  text-align: center;
}

.rnd-mat {
  display: block;
  width: 100%;
  max-width: 260px;
  height: auto;
  margin: 0 auto 1rem;
}

/* ---- het vraagveld ---- */

.rnd-vraag {
  border-top: 1px solid #eee;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
}

.rnd-vraag label {
  display: block;
  font-weight: 500;
  margin-bottom: .4rem;
}

.rnd-vraaghint {
  font-weight: 400;
  color: var(--donkerbruin);
  font-size: .9rem;
}

.rnd-vraagveld {
  width: 100%;
  padding: .75rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: 1rem;
  resize: vertical;
}

.rnd-vraagveld:focus {
  outline: none;
  border-color: var(--rood);
}

.rnd-vraagrij {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .6rem;
}

.rnd-vraaguitleg {
  font-size: .95rem;
  color: var(--donkerbruin);
  line-height: 1.6;
  margin: 0;
}

.rnd-bewaar {
  flex: none;
  font-size: .9rem;
  padding: .4rem 1rem;
}

.rnd-invoer {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: var(--font-body);
  font-size: 1rem;
}

.rnd-invoer:focus {
  outline: none;
  border-color: var(--rood);
}

.rnd-groet {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  color: var(--heading-color);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}

.rnd-open {
  font-family: var(--font-handwritten);
  font-size: 1.6rem;
  color: var(--rood);
  margin-bottom: 1rem;
}

.rnd-wanneer {
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}

.rnd-klein {
  font-size: 0.95rem;
  color: var(--donkerbruin);
  line-height: 1.6;
  margin-top: 0.75rem;
}

/* De knop naar de Meet. Groter dan de gewone .btn, want dit is het enige wat
   je op woensdag om half een hoeft te zien. */
.rnd-knop {
  display: inline-block;
  font-size: 1.25rem;
  padding: 0.8rem 2rem;
  max-width: none;
}

.rnd-melding {
  margin-bottom: 1rem;
}

.rnd-nee {
  font-weight: 500;
  color: var(--rood);
}

/* ---- het aanbod onder een afwijzing ---- */

.rnd-mailrij {
  margin-top: 1rem;
}

.rnd-aanbod {
  margin-top: var(--spacing-md);
  padding-top: var(--spacing-md);
  border-top: 1px solid #e3e0d9;
}

.rnd-aanbodkop {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  color: var(--heading-color);
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 1rem;
}

/* Eén kaartje per trainingssoort. Als link en niet als knop: het zijn drie
   gelijkwaardige wegen, en drie rode knoppen naast elkaar laten de bezoeker
   niet kiezen maar aarzelen. */
.rnd-kaart {
  display: block;
  text-decoration: none;
  border: 1px solid #e3e0d9;
  border-radius: 8px;
  padding: .9rem 1.1rem;
  margin-bottom: .6rem;
  transition: border-color .2s ease, transform .2s ease;
}

.rnd-kaart:hover {
  border-color: var(--rood);
  transform: translateY(-1px);
}

.rnd-kaart-titel {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.15rem;
  color: var(--rood);
  text-transform: uppercase;
  letter-spacing: .03em;
}

.rnd-kaart-onder {
  display: block;
  font-size: .95rem;
  color: var(--donkerbruin);
  line-height: 1.5;
}

@media (max-width: 600px) {
  .rnd-groet   { font-size: 1.35rem; }
  .rnd-knop    { width: 100%; }
  .rnd-poort   { padding: 1.5rem 1.25rem; }
  .rnd-datums  { padding: 1.25rem; }
  .rnd-wijsheid { font-size: 1.8rem; }

  /* Uitleg en knop onder elkaar; naast elkaar wordt de knop op 375px zo smal
     dat "Bewaar mijn vraag" over drie regels breekt. */
  .rnd-vraagrij {
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
  }
}

/* ---- de wachtknop ---- */

/* Staat onder het vraagveld, dus met een streep ertussen: het is een eigen
   moment, geen onderdeel van het invullen. */
.rnd-wacht {
  border-top: 1px solid #eee;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  text-align: center;
}

/* Grijs en dood tot de server de Meet-link stuurt. Bewust een echte
   disabled-knop en geen gestylede tekst: schermlezers melden hem dan ook als
   uitgeschakeld, en hij is niet met tab te bereiken. */
.rnd-wachtknop[disabled] {
  background-color: #d9d5cd;
  border-color: #d9d5cd;
  color: #6f6a62;
  cursor: default;
  box-shadow: none;
}

.rnd-wachtknop[disabled]:hover {
  background-color: #d9d5cd;
  color: #6f6a62;
  transform: none;
}

.rnd-wachtregel {
  margin-top: 0.6rem;
}
