/* Knoppen, menu, de ronde icoontjes voor mailen en bellen, de drie deuren op de home en de sla-over-link.
   Eén vaste actie: "Plan je rondleiding" in de kopbalk. Mailen en bellen: de twee icoontjes */
.btn {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0.8em 1.5em;
  background: var(--color-accent);
  color: var(--color-text-inverse);
  border: 0;
  border-radius: var(--radius-knop);
  font: 600 var(--text-basis) / 1 var(--font-body);
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--duur-druk) var(--curve-uit), background-color var(--duur-hover) ease, color var(--duur-hover) ease;
}
.btn:active { transform: scale(0.97); }
.btn-klein { min-height: 44px; padding: 0.7em 1.2em; font-size: var(--text-klein); }
.btn-donker { background: var(--color-surface); color: var(--color-text); }
.btn-tweede { background: var(--color-kalk); color: var(--color-text-inverse); }
/* Op een licht vlak wordt de tweede knop donker */
.tegel-kop .btn-tweede, .kerk .btn-tweede, .opbrengst-vlak .btn-tweede, .plan-bel .btn-tweede { background: var(--color-surface); color: var(--color-text); }
.knoppen { display: flex; flex-wrap: wrap; gap: 12px; }

/* Menu: op desktop gewone links, daaronder een uitklapmenu zonder JavaScript */
.woordmerk { font-weight: 700; letter-spacing: -0.02em; text-decoration: none; color: var(--color-brand-ink); }
.hoofdmenu { display: flex; gap: 2rem; }
.hoofdmenu a, .voetmenu a {
  text-decoration: underline;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.3em;
  text-decoration-color: transparent;
  transition: text-decoration-color var(--duur-hover) ease;
}
.hoofdmenu a[aria-current="page"] { text-decoration-color: var(--color-accent-ink); }
.menu { display: none; position: relative; }
.menu summary { list-style: none; cursor: pointer; min-height: 44px; display: flex; align-items: center; padding: 0 0.25rem; font-weight: 600; }
.menu summary::-webkit-details-marker { display: none; }
.menu nav {
  position: absolute; right: 0; top: calc(100% + 8px);
  display: grid; min-width: 15rem;
  background: var(--color-kalk); color: var(--color-text-inverse);

  padding: 8px 0;
}
.menu nav a { padding: 0.75rem 1.25rem; text-decoration: none; font-size: var(--text-intro); font-weight: 500; }
.menu nav a[aria-current="page"] { background: var(--color-surface-alt); color: var(--color-text); }
.voetmenu { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }

/* De drie deuren: grote regels die als link werken */
.deur { display: grid; gap: 0.35rem; padding: 18px 0; text-decoration: none; }
.deur h3 { font-size: var(--text-kop); font-weight: 600; letter-spacing: var(--letterafstand-kop); line-height: 1.05; transition: transform var(--duur-ui) var(--curve-uit), color var(--duur-hover) ease; }
.deur p { margin: 0; max-width: 40ch; }
.deur:active h3 { transform: translateX(0.1em) scale(0.99); }
.deur.actief h3 { color: var(--color-accent-ink); }

/* Ronde icoontjes voor mailen en bellen: zwevend rechtsonder en in de afsluiter */
.iconen { position: absolute; }
.icoon-knop {
  display: grid; place-items: center;
  width: 56px; height: 56px; border-radius: 999px;
  background: var(--color-accent); color: var(--color-text-inverse);
  transition: transform var(--duur-druk) var(--curve-uit), background-color var(--duur-hover) ease;
}
.icoon-knop svg { width: 24px; height: 24px; }
.icoon-tel { background: var(--color-kalk); }
.icoon-knop:active { transform: scale(0.94); }
.icoon-groot { width: 80px; height: 80px; }
.icoon-groot svg { width: 32px; height: 32px; }
.zweef {
  position: fixed; z-index: 20;
  right: calc(var(--marge) + env(safe-area-inset-right, 0px));
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  display: grid; gap: 8px;
  padding: 6px; border-radius: 999px;
  background: var(--color-brand-dark);   /* donker houdertje: de icoontjes blijven zichtbaar op licht én oranje */
}

@media (max-width: 63.99em) {
  .hoofdmenu { display: none; }
  .menu { display: block; }
}
/* In de kopbalk alleen op de telefoon; daar vervangen ze de zwevende icoontjes, zodat niets de tekst bedekt */
.balk-iconen { display: none; gap: 8px; }
.icoon-klein { width: 44px; height: 44px; }
.icoon-klein svg { width: 20px; height: 20px; }
@media (max-width: 47.99em) {
  .balk > .btn-klein, .zweef { display: none; }
  .balk-iconen { display: flex; }
}

@media (hover: hover) and (pointer: fine) {
  .btn:hover { background: var(--color-kalk); color: var(--color-text-inverse); }
  .btn-donker:hover, .btn-tweede:hover { background: var(--color-accent); color: var(--color-text-inverse); }
  .hoofdmenu a:hover, .voetmenu a:hover { text-decoration-color: currentColor; }
  .deur:hover h3 { transform: translateX(0.25em); }
  .menu nav a:hover { background: var(--color-accent); color: var(--color-text-inverse); }
  .icoon-knop:hover { transform: scale(1.06); }
  .icoon-mail:hover { background: var(--color-kalk); }
  .icoon-tel:hover { background: var(--color-accent); }
}

.sla-over { position: absolute; left: var(--marge); top: -100px; z-index: 30; }
.sla-over:focus { top: 24px; background: var(--color-kalk); color: var(--color-text-inverse); padding: 0.6em 1em; }
