/* gidsen.css: gidsen.html in het affiche (sessie 254). Brief: .impeccable/surfaces/gidsen-html.md.
   Primitieven in affiche-basis.css, sinds sessie 256 ook de kopgroep, de gids op de naad en de
   hoofdstukken (de samples gebruiken ze ook). Hier de prijslijst, de koop en het slot. */

/* ==================== Het aanbod: kop en prijslijst ==================== */
/* De prijslijst, in de grammatica van de cijfertabel. Geen index: geen volgorde. */
.gi-lijst {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  margin: clamp(32px, 2.8vw, 48px) 0 0;   /* de grote stap: >= 1,4x de 20px in de kopgroep */
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--af-inkt);
}

.gi-lijst > li {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
}

.af .gi-rij,
.gi-som {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: baseline;
  padding: 12px 0;        /* actie boven de vouw t/m 1024x768 */
  border-bottom: 1px solid var(--af-lijn-sterk);
  color: var(--af-inkt);
  text-decoration: none;
}

/* Een rij wijst naar zijn gids: inversie, zoals de cijfertabel. */
.af .gi-rij:hover,
.af .gi-rij:focus-visible {
  background: var(--af-inkt);
  color: var(--af-papier);
}

.af .gi-rij:hover .gi-wat,
.af .gi-rij:focus-visible .gi-wat,
.af .gi-rij:hover .gi-paginas,
.af .gi-rij:focus-visible .gi-paginas {
  color: var(--af-papier);
}

.gi-titel {
  grid-column: 1 / 8;
  padding-left: var(--af-cel);
  font-family: var(--af-kop);
  font-size: var(--af-h3);
  font-weight: 700;
  line-height: 1.2;
}

.gi-wat {
  display: block;
  padding-top: 4px;
  font-family: var(--af-tekst);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.45;
  color: var(--af-inkt-2);
}

.gi-paginas {
  grid-column: 8 / 10;
  padding-left: var(--af-cel);
  font-family: var(--af-mono);
  font-size: var(--af-klein);
  color: var(--af-inkt-2);
  white-space: nowrap;
}

.gi-prijs {
  grid-column: 10 / -1;
  justify-self: end;
  padding-right: var(--af-cel);
  font-family: var(--af-kop);
  font-size: var(--af-h3);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* De bundel is de som: 2px inkt erboven en eronder. */
.gi-lijst > li:has(+ .gi-som) .gi-rij {
  border-bottom: 0;
}

.gi-som {
  border-top: 2px solid var(--af-inkt);
  border-bottom: 2px solid var(--af-inkt);
}

/* De actie hoort bij de som. */
.gi-koop {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  row-gap: 16px;
  padding-top: 16px;
}

.gi-koop .af-cta {
  grid-column: 8 / -1;
  justify-self: end;
}

/* ==================== Slot: de bundel terug, dan de gratis route ==================== */
/* Tegenhanger van de prijslijst (s255), als het slot van de homepage. Papier, niet inkt:
   inkt op de inkten footer is één zwart vlak (E1, s249). */
.gi-slot {
  padding-block: var(--af-sectie-kort);
}

.af .gi-slot h2 {
  grid-column: 1 / -1;
  font-size: var(--gi-h1);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.af .gi-slot-zin,
.af .gi-slot-gratis,
.gi-slot-actie {
  grid-column: 1 / 8;
}

.af .gi-slot-zin {
  padding-top: 20px;
  font-size: 1.1rem;
}

.gi-slot-actie {
  padding-top: 24px;
}

.af .gi-slot-gratis {
  padding-top: 32px;
  color: var(--af-inkt-2);
}

@media (min-width: 1280px) {
  .af .gi-slot-zin {
    grid-column: 1 / 9;
    grid-row: 2;
    align-self: start;
  }

  /* 9-12: dit label brak in 10-12 (334px) over twee regels. */
  .gi-slot-actie {
    grid-column: 9 / -1;
    grid-row: 2 / 4;
    justify-self: end;
    padding-top: 20px;    /* de knop op de hoogte van de eerste regel van de zin */
  }

  .af .gi-slot-gratis {
    grid-column: 1 / 9;
    grid-row: 3;
  }
}

/* ==================== Tablet ==================== */
/* Onder 1024: kolom 8-12 te smal voor knop (±346px) en kantlijn; alles onder elkaar. */
@media (max-width: 1023px) {
  .gi-koop .af-cta {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .af .gi-slot-zin,
  .af .gi-slot-gratis,
  .gi-slot-actie {
    grid-column: 1 / -1;
  }
}

/* ==================== Mobiel ==================== */
/* Vier kolommen: titel over de rij, pagina's en prijs eronder. */
@media (max-width: 767px) {
  .gi-titel {
    grid-column: 1 / -1;
    padding-inline: 0;
  }

  .gi-paginas {
    grid-column: 1 / 3;
    grid-row: 2;
    padding: 10px 0 0;
  }

  .gi-prijs {
    grid-column: 3 / -1;
    grid-row: 2;
    padding: 10px 0 0;
  }

  .af .gi-rij,
  .gi-som {
    padding-inline: 0;
  }

  .gi-koop .af-cta,
  .gi-slot-actie .af-cta {
    justify-self: stretch;
  }

  .gi-slot-actie {
    display: grid;
  }
}
