
  .gamw-lokalen {
    --roze: #ff3355;
    --roze-dk: #cc1133;
    --roze-lt: #fff0f3;
    --rand: #e6e6e6;
    --tekst: #1c1c1e;
    --zacht: #6b6b6b;
    --vrij: #e9f7ef;
    --vrij-rand: #b7e4c7;
    --klassiek: #4c6ef5;
    --jpr: #f08c00;
    --woord: #ae3ec9;
    --radius: 14px;
    --rij: 52px;          /* hoogte van een lokaalrij */
    --naamkolom: 190px;
  }

  /* Compacte modus: een volledige dag van de Georges Desirschool (21 lokalen)
     past dan op een scherm, zonder scrollen. */
  .gamw-lokalen.compact {
    --rij: 24px;
    --naamkolom: 128px;
  }
  * { box-sizing: border-box; }
  .gamw-lokalen {
    margin: 0; padding: 20px 20px 50px; background: #f7f7f8; color: var(--tekst);
    font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
  }
  .wrap { max-width: 1400px; margin: 0 auto; }
  .hint {
    margin-bottom: 18px; padding: 10px 14px; border-radius: 10px;
    background: #fff8db; border: 1px solid #f0e2a0; font-size: 13px; color: #6b5a12;
  }
  h1 { margin: 0 0 2px; font-size: 24px; }
  .sub { margin: 0 0 14px; color: var(--zacht); }
  .gamw-lokalen.compact .hint { display: none; }
  .gamw-lokalen.compact h1 { font-size: 20px; }
  .gamw-lokalen.compact .sub { margin-bottom: 10px; font-size: 14px; }

  /* ---- bediening ---- */
  .balk { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
  .gamw-lokalen.compact .balk { margin-bottom: 8px; }
  .gamw-lokalen.compact select, .gamw-lokalen.compact button, .gamw-lokalen.compact .dag { padding: 6px 12px; font-size: 13px; }
  select, button {
    font: inherit; padding: 9px 14px; border: 1px solid var(--rand); border-radius: 999px;
    background: #fff; color: inherit; cursor: pointer;
  }
  select { padding-right: 30px; }
  .dagen { display: flex; flex-wrap: wrap; gap: 6px; }
  .dag { padding: 8px 16px; border: 1px solid var(--rand); border-radius: 999px; background: #fff; font-weight: 600; }
  .dag.aan { background: var(--roze); border-color: var(--roze); color: #fff; }
  .dag:disabled { opacity: .35; cursor: default; }

  .tijdbalk {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    padding: 10px 14px; margin-bottom: 10px;
    background: #fff; border: 1px solid var(--rand); border-radius: var(--radius);
  }
  .tijdbalk label { font-weight: 600; white-space: nowrap; }
  .tijdbalk input[type=range] { flex: 1; min-width: 220px; accent-color: var(--roze); }
  .gamw-lokalen.compact .tijdbalk { padding: 7px 12px; margin-bottom: 8px; }
  .klok {
    font-variant-numeric: tabular-nums; font-weight: 700; font-size: 20px;
    color: var(--roze-dk); min-width: 76px;
  }

  /* ---- kerncijfers ---- */
  .cijfers { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 12px; }
  .gamw-lokalen.compact .cijfers { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
  .gamw-lokalen.compact .cijfer { padding: 5px 12px; border-radius: 999px; display: flex; align-items: baseline; gap: 7px; }
  .gamw-lokalen.compact .cijfer b { font-size: 15px; }
  .gamw-lokalen.compact .cijfer span { font-size: 11.5px; }
  .cijfer { padding: 14px 16px; background: #fff; border: 1px solid var(--rand); border-radius: var(--radius); }
  .cijfer b { display: block; font-size: 26px; line-height: 1.1; }
  .cijfer span { font-size: 12.5px; color: var(--zacht); text-transform: uppercase; letter-spacing: .04em; }
  .cijfer.let { border-color: #ffb3c1; background: var(--roze-lt); }
  .cijfer.let b { color: var(--roze-dk); }

  /* ---- tijdlijn ---- */
  .kader { background: #fff; border: 1px solid var(--rand); border-radius: var(--radius); overflow: hidden; }
  .scroll { overflow-x: auto; }
  .lijn { display: grid; grid-template-columns: var(--naamkolom) 1fr; align-items: stretch; min-width: 900px; }
  .lijn + .lijn { border-top: 1px solid #f1f1f1; }
  .kop { background: var(--roze-lt); position: sticky; top: 0; z-index: 3; }
  .gamw-lokalen.compact .kop .spoor { height: 22px; }
  .gamw-lokalen.compact .uurlabel { top: 3px; font-size: 10.5px; }
  .kop .naam, .kop .spoor { padding: 9px 12px; font-size: 12px; font-weight: 700;
    letter-spacing: .05em; text-transform: uppercase; color: var(--roze-dk); }
  .naam {
    position: sticky; left: 0; z-index: 2; background: #fff;
    padding: 10px 12px; border-right: 1px solid #f1f1f1; display: flex; flex-direction: column; justify-content: center;
  }
  /* De naamkolom bepaalt de rijhoogte, dus die moet net zo strak als het spoor. */
  .gamw-lokalen.compact .naam { padding: 0 10px; flex-direction: row; align-items: baseline; gap: 6px;
    font-size: 12px; line-height: 1.1; white-space: nowrap; }
  .gamw-lokalen.compact .naam small { font-size: 10px; }
  .gamw-lokalen.compact .lijn.leeg .naam small { display: none; }
  .kop .naam { background: var(--roze-lt); }
  .naam b { font-weight: 700; }
  .naam small { color: var(--zacht); font-size: 12px; }
  .lijn.leeg .naam b { color: #a0a0a0; }
  .lijn.leeg { background: repeating-linear-gradient(45deg, #fbfbfb, #fbfbfb 8px, #f5f7f6 8px, #f5f7f6 16px); }

  .spoor { position: relative; height: var(--rij); }
  .uurlijn { position: absolute; top: 0; bottom: 0; width: 1px; background: #f0f0f0; }
  .uurlabel { position: absolute; top: 6px; font-size: 11.5px; color: var(--zacht); transform: translateX(4px); }
  .nu { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--roze); z-index: 4; pointer-events: none; }

  .blok {
    position: absolute; top: 6px; bottom: 6px; border-radius: 8px; padding: 5px 8px;
    color: #fff; overflow: hidden; font-size: 12.5px; line-height: 1.25;
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
  }
  /* Compact: een regel, uur en leerkracht achter het vak - de tooltip geeft alles. */
  .gamw-lokalen.compact .blok { top: 2px; bottom: 2px; padding: 1px 7px; border-radius: 5px;
    font-size: 10.5px; line-height: 19px; white-space: nowrap; }
  .gamw-lokalen.compact .blok b { display: inline; font-weight: 700; }
  .gamw-lokalen.compact .blok span { display: inline; margin-left: 5px; opacity: .85; }
  .blok b { display: block; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .blok span { opacity: .92; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .blok.klassiek { background: var(--klassiek); }
  .blok.jpr { background: var(--jpr); }
  .blok.woord { background: var(--woord); }
  .blok.overig { background: #868e96; }
  .blok.botsing { outline: 3px solid var(--roze); outline-offset: -3px; }
  .dimmen .blok:not(.nu-actief) { opacity: .38; }
  .blok.nu-actief { box-shadow: 0 2px 6px rgba(0,0,0,.22); }

  /* ---- lijsten ---- */
  .kolommen { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin-top: 16px; }
  .kaart { background: #fff; border: 1px solid var(--rand); border-radius: var(--radius); padding: 16px 18px; }
  .kaart h2 { margin: 0 0 10px; font-size: 15px; }
  .kaart.waarschuwing { border-color: #ffb3c1; background: var(--roze-lt); }
  .pil {
    display: inline-block; margin: 0 6px 6px 0; padding: 5px 11px; border-radius: 999px;
    background: var(--vrij); border: 1px solid var(--vrij-rand); font-weight: 600; font-size: 13px;
  }
  .pil.rood { background: #fff; border-color: #ffb3c1; color: var(--roze-dk); }
  .kaart ul { margin: 0; padding-left: 18px; }
  .kaart li { margin-bottom: 6px; }
  .legende { display: flex; flex-wrap: wrap; gap: 14px; margin: 14px 0 0; font-size: 13px; color: var(--zacht); }
  .legende i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
  .laden { padding: 40px; text-align: center; color: var(--zacht); }

  /* ---- klassieke weergave: zo dicht mogelijk bij de PDF ---- */
  .weergaveknoppen { display: flex; gap: 0; border: 1px solid var(--rand); border-radius: 999px; overflow: hidden; background: #fff; }
  .weergaveknoppen button { border: 0; border-radius: 0; padding: 8px 16px; font-weight: 600; }
  .weergaveknoppen button.aan { background: var(--roze); color: #fff; }

  .pdf { background: #fff; border: 2px solid #2f6b4f; padding: 0; overflow-x: auto; }
  table.pdf-tabel { border-collapse: collapse; width: 100%; min-width: 900px; font-size: 14px; }
  table.pdf-tabel th, table.pdf-tabel td {
    border: 1px solid #c8d6cd; padding: 3px 7px; text-align: left; vertical-align: top;
  }
  /* Alleen lokaal en uur mogen niet afbreken; de rest wel, anders bepaalt de
     langste regel de kolombreedte en blijft er veel wit over. */
  table.pdf-tabel td.lok, table.pdf-tabel td[data-kop="Uur"] { white-space: nowrap; }

  .k-lok   { width: 4.5em; }
  .k-besch { width: 13%; }
  .k-lk    { width: 20%; }
  .k-uur   { width: 8.5em; }
  .k-vak   { width: 26%; }
  .k-fb    { width: 14%; }

  /* Bij een doorlopende tabel de breedte laten bepalen door de inhoud in plaats
     van ze over het hele scherm uit te rekken - anders krijgt VAK honderden
     pixels wit naast een korte vaknaam. De vaste kolomverhoudingen gelden dan
     niet: elke kolom wordt zo breed als ze moet zijn. */
  .pdf--een { width: fit-content; max-width: 100%; }
  /* min-width hoort bij de tweekolomsweergave; hier zou ze de tabel onnodig
     breed houden bij een kleinere letter. */
  .pdf--een table.pdf-tabel { width: auto; max-width: 100%; min-width: 0; }
  .pdf--een col { width: auto !important; }
  /* De invulkolommen houden wel een werkbare breedte, ook als ze leeg zijn. */
  .pdf--een td.invul, .pdf--een th:nth-child(2), .pdf--een th:nth-child(6) { min-width: 9em; }
  table.pdf-tabel thead th { background: #fff; font-weight: 700; border-bottom: 1.5px solid #2f6b4f; }
  table.pdf-tabel tbody tr { background: #eaf0ec; }
  table.pdf-tabel tbody tr.wissel { background: #e2ebe5; }
  table.pdf-tabel td.leeg { color: #9aa8a0; }
  table.pdf-tabel .lok { font-weight: 600; }
  table.pdf-tabel tr.zonderlokaal td { background: #fdeaee; }
  table.pdf-tabel td.notitie {
    white-space: normal; min-width: 240px; cursor: text; background: #fffdf3;
    outline: none; transition: box-shadow .12s;
  }
  table.pdf-tabel td.notitie:hover { box-shadow: inset 0 0 0 1px #d8c88a; }
  table.pdf-tabel td.notitie:focus { box-shadow: inset 0 0 0 2px var(--roze); background: #fff; }
  table.pdf-tabel td.notitie:empty::before {
    content: attr(data-plaatshouder); color: #b0b0a0; font-style: italic;
  }
  .bewaard { margin-left: 10px; font-size: 12.5px; color: #2f6b4f; opacity: 0; transition: opacity .2s; }
  .bewaard.aan { opacity: 1; }
  .pdf-titel { margin: 0 0 10px; font-size: 19px; font-weight: 700; }
  .pdf-hint { margin: 10px 0 0; font-size: 12.5px; color: var(--zacht); }

  .gamw-lokalen.klassiek .tijdbalk,
  .gamw-lokalen.klassiek .legende,
  .gamw-lokalen.klassiek #gl-compact,
  .gamw-lokalen.klassiek #gl-verbergvrij { display: none; }
  .gamw-lokalen:not(.klassiek) #gl-kolommen,
  .gamw-lokalen:not(.klassiek) .letterknoppen { display: none; }
  .letterknoppen { display: inline-flex; gap: 0; border: 1px solid var(--rand);
    border-radius: 999px; overflow: hidden; background: #fff; }
  .letterknoppen button { border: 0; border-radius: 0; padding: 8px 13px; font-weight: 700; }
  .letterknoppen button + button { border-left: 1px solid var(--rand); }
  .letterknoppen #gl-letterAuto { font-weight: 600; font-size: 12.5px; color: var(--zacht); }
  /* Een handmatig gekozen maat mag niet overruled worden door de vaste maat
     van de tweekolomsweergave. */
  .gamw-lokalen.letterhandmatig .pdf table.pdf-tabel { font-size: inherit; }
  @media (max-width: 1099px) { #gl-kolommen { display: none !important; } }

  /* ---- klikbare lokaalnaam + detailpaneel in de tijdlijn ---- */
  button.naam {
    font: inherit; text-align: left; cursor: pointer; border: 0; border-right: 1px solid #f1f1f1;
    border-radius: 0; width: 100%;
  }
  button.naam:hover { background: #fdf3f5; }
  .lijn.open button.naam { background: var(--roze-lt); }
  .naam .info { color: var(--zacht); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .naam .notitiemerk { color: #8a6d00; }
  .gamw-lokalen.compact .naam .info { display: none; }
  .gamw-lokalen.compact .lijn.open .naam .info { display: inline; }

  .paneel { padding: 10px 14px; background: var(--roze-lt); display: flex; flex-wrap: wrap; gap: 14px; }
  .paneel label { flex: 1 1 260px; font-size: 12px; font-weight: 700; color: var(--roze-dk);
    text-transform: uppercase; letter-spacing: .04em; display: flex; flex-direction: column; gap: 5px; }
  .paneel label i { font-weight: 400; text-transform: none; letter-spacing: 0; }
  .paneel .invul { background: #fff; border: 1px solid #ffd0d8; border-radius: 8px; padding: 7px 10px;
    font: 400 14px/1.4 inherit; color: var(--tekst); text-transform: none; letter-spacing: 0; min-height: 34px; }
  .lijn.detail .spoor, .lijn.detail { min-width: 0; }
  .lijn.detail { grid-template-columns: var(--naamkolom) 1fr; }

  /* ---- invulcellen ---- */
  .invul { outline: none; cursor: text; }
  .invul:focus { box-shadow: inset 0 0 0 2px var(--roze); background: #fff; }
  /* De plaatshouder verschijnt pas als je erover gaat of erin klikt: anders
     staat er op elke rij twee keer schuine grijze tekst die niets zegt. */
  .invul:empty::before { content: ''; }
  .invul:empty:hover::before,
  .invul:empty:focus::before { content: attr(data-plaatshouder); color: #b0b0a0; font-style: italic; }
  table.pdf-tabel td.invul:empty { min-height: 1.2em; }
  table.pdf-tabel td.invul { background: #fffdf3; white-space: normal; min-width: 150px; }
  table.pdf-tabel td.invul:hover { box-shadow: inset 0 0 0 1px #d8c88a; }
  table.pdf-tabel tr.vrij td { color: #8d9a92; }

  /* ---- klassieke tabel in twee kolommen ---- */
  .pdf--twee { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  /* De maat wordt door het script gezet; alles daarbinnen rekent in em mee. */
  /* Bij een doorlopende tabel bepaalt het aantal regels de hoogte, niet de
     letter. Daarom hier ook de regelafstand en de padding strak. */
  .pdf--een table.pdf-tabel { font-size: 1em; line-height: 1.2; }
  .pdf--een table.pdf-tabel th,
  .pdf--een table.pdf-tabel td { padding: .15em .5em; }
  .pdf--een table.pdf-tabel td.invul { min-width: 8em; }
  .pdf--twee table.pdf-tabel { min-width: 0; }
  /* Alleen voor de tweekolomsweergave: bij een doorlopende tabel zet het script
     de lettergrootte zelf, en een vaste maat hier zou dat overrulen. */
  .gamw-lokalen.klassiek.compact .pdf--twee table.pdf-tabel { font-size: 12px; }
  .gamw-lokalen.klassiek.compact .pdf--twee table.pdf-tabel th,
  .gamw-lokalen.klassiek.compact .pdf--twee table.pdf-tabel td { padding: 2px 6px; }

  /* ---- telefoon ---- */
  @media (max-width: 760px) {
    body { padding: 14px 12px 40px; }
    h1 { font-size: 19px; }
    .balk { gap: 6px; }
    .weergaveknoppen { width: 100%; }
    .weergaveknoppen button { flex: 1; }
    select, .dagen { width: 100%; }
    .dagen { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
    .tijdbalk { padding: 10px 12px; }
    .cijfers { gap: 6px; }

    /* tijdlijn: het spoor scrollt zijwaarts, de lokaalkolom blijft staan */
    .lijn { min-width: 720px; }
    .gamw-lokalen.compact { --naamkolom: 96px; }

    /* klassieke tabel wordt een kaart per lokaal */
    .pdf { border: 0; background: none; overflow: visible; }
    .pdf--twee { grid-template-columns: 1fr; }
    table.pdf-tabel, table.pdf-tabel tbody, table.pdf-tabel tr, table.pdf-tabel td { display: block; width: auto; }
    table.pdf-tabel { min-width: 0; }
    table.pdf-tabel thead { display: none; }
    table.pdf-tabel tbody tr {
      background: #fff; border: 1px solid #c8d6cd; border-radius: 12px;
      margin-bottom: 10px; padding: 10px 12px; overflow: hidden;
    }
    table.pdf-tabel tbody tr.wissel { background: #fff; }
    table.pdf-tabel td { border: 0; padding: 2px 0; white-space: normal; }
    table.pdf-tabel td.lok { font-size: 17px; font-weight: 700; color: var(--roze-dk); }
    table.pdf-tabel td[data-kop]:not(:empty)::before {
      content: attr(data-kop) ": "; font-weight: 700; color: var(--zacht); font-size: 12px;
    }
    /* Herhaalde regels binnen een cel netjes laten inspringen. */
    table.pdf-tabel td[data-kop] br + * { display: inline; }
    table.pdf-tabel td[data-kop] { line-height: 1.5; }
    table.pdf-tabel td.invul { border: 1px dashed #d8c88a; border-radius: 8px; padding: 6px 9px; margin-top: 6px; }
  }

  /* ---- afdruk- en exportvenster ---- */
  .overlay {
    position: fixed; inset: 0; background: rgba(20,20,25,.45); z-index: 50;
    display: flex; align-items: center; justify-content: center; padding: 20px;
  }
  .overlay[hidden] { display: none; }
  .dialoog {
    background: #fff; border-radius: 16px; padding: 22px 24px; max-width: 460px; width: 100%;
    box-shadow: 0 18px 50px rgba(0,0,0,.28); max-height: 90vh; overflow-y: auto;
  }
  .dialoog h2 { margin: 0 0 14px; font-size: 19px; }
  .dialoog fieldset { border: 1px solid var(--rand); border-radius: 10px; padding: 10px 14px; margin: 0 0 12px; }
  .dialoog legend { padding: 0 6px; font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .05em; color: var(--zacht); }
  .dialoog label { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; }
  .dialoog-knoppen { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
  .dialoog-knoppen .primair { background: var(--roze); border-color: var(--roze); color: #fff; font-weight: 600; }
  .dialoog-hint { margin: 12px 0 0; font-size: 12.5px; color: var(--zacht); }

  #gl-afdruk[hidden] { display: none; }
  .afdrukblok + .afdrukblok { margin-top: 26px; }
  .afdrukblok h2 { margin: 0 0 8px; font-size: 16px; }

  @media print {
    
    /* Bij een export tonen we uitsluitend het opgebouwde afdrukblok. */
    body.gl-afdrukmodus .gamw-lokalen > *:not(#gl-afdruk) { display: none; }
    body.gl-afdrukmodus #gl-afdruk { display: block !important; }
    .afdrukblok { break-after: page; page-break-after: always; }
    .afdrukblok:last-child { break-after: auto; page-break-after: auto; }
    .overlay { display: none !important; }
    .hint, .tijdbalk, .balk, .kaart.geenprint { display: none !important; }
    .kader, .kaart, .cijfer { border-color: #ccc; }
    .lijn { min-width: 0; }
    .pdf--twee { grid-template-columns: 1fr 1fr; }
    table.pdf-tabel { font-size: 10px; }
    table.pdf-tabel th, table.pdf-tabel td { padding: 2px 4px; }
  }

/* ------------------------------------------------ inloggen en meldingen ---- */

/* ---- aanmeldkaart, in de stijl van de docentendatabank ---- */

.gl-aanmeld {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 31, 60, .93);
  padding: 30px 20px;
  overflow-y: auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.gl-aanmeld[hidden] { display: none; }
.gl-kaart {
  position: relative;
  background: #fff;
  border-radius: 18px;
  padding: 40px;
  width: 100%;
  max-width: 360px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .4);
  box-sizing: border-box;
}
.gl-sluit {
  position: absolute; top: 10px; right: 12px;
  border: 0; background: none; padding: 4px 8px;
  font-size: 24px; line-height: 1; color: #9aa0ae; cursor: pointer;
}
.gl-sluit:hover { color: #1A1F3C; }
.gl-kaart-kop { text-align: center; margin-bottom: 28px; }
.gl-merk {
  display: inline-block; margin-bottom: 12px; padding: 7px 16px;
  background: #FF325C; border-radius: 10px;
  font-family: Georgia, "Times New Roman", serif; font-weight: 800; font-size: 22px; color: #fff;
}
.gl-naam { font-weight: 800; font-size: 18px; color: #1A1F3C; }
.gl-onder { margin-top: 4px; font-size: 13px; color: #6B7280; }
.gl-loginfout {
  margin-bottom: 16px; padding: 10px 14px; border-radius: 8px;
  background: #FFF5F5; border: 1px solid #FECACA; color: #DC2626; font-size: 13px;
}

/* Het formulier van WordPress zelf bijwerken. */
.gl-kaart #loginform { all: unset; }
.gl-kaart #user_login,
.gl-kaart #user_pass {
  display: block; width: 100%; margin-bottom: 12px; padding: 9px 12px;
  border: 1.5px solid #E5E7EB; border-radius: 8px;
  font-size: 14px; box-sizing: border-box; outline: none;
}
.gl-kaart #user_login:focus,
.gl-kaart #user_pass:focus { border-color: #1A1F3C; }
.gl-kaart .login-username label,
.gl-kaart .login-password label {
  display: block; margin-bottom: 4px;
  font-size: 11px; font-weight: 700; color: #6B7280;
  text-transform: uppercase; letter-spacing: .04em;
}
.gl-kaart #wp-submit {
  width: 100%; margin-top: 4px; padding: 10px; border: 0; border-radius: 9px;
  background: #FF325C; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 14px rgba(255, 50, 92, .35);
}
.gl-kaart #wp-submit:hover { background: #e82a51; }
.gl-kaart .login-remember { margin: 8px 0; font-size: 13px; color: #6B7280; }
.gl-kaart .login-remember label { display: flex; align-items: center; gap: 6px; }

.gl-poort {
  margin: 22px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.gl-poort a {
  font-size: 17px;
  font-weight: 600;
  color: #cc1133;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gl-poort a:hover { color: #ff3355; }

.gl-inlog, .gl-melding {
  max-width: 420px;
  margin: 40px auto;
  padding: 26px 28px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.gl-inlog h2 { margin: 0 0 8px; font-size: 20px; }
.gl-inlog p { margin: 0 0 16px; color: #6b6b6b; font-size: 14px; }
.gl-fout { color: #cc1133 !important; }
.gl-inlog input[type=text], .gl-inlog input[type=password] {
  width: 100%; padding: 10px 12px; border: 1px solid #d8d8d8; border-radius: 8px;
  font-size: 15px; box-sizing: border-box;
}
.gl-inlog label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; }
.gl-inlog .login-submit input {
  padding: 10px 20px; border: 0; border-radius: 999px; background: #ff3355; color: #fff;
  font-weight: 700; font-size: 15px; cursor: pointer;
}
.gl-titel { margin: 0 0 4px; font-size: 24px; }

/* Een veld dat je niet mag wijzigen ziet er ook niet uit als een invulveld. */
.gamw-lokalen .invul.alleenlezen { background: transparent; cursor: default; }
.gamw-lokalen .invul.alleenlezen:hover { box-shadow: none; }
.gamw-lokalen .bewaard.fout { color: #cc1133; opacity: 1; }
