/* TMN Services — gedeelde stijlen. De meeste opmaak staat inline in de pagina's. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #FFFFFF; }
img { max-width: 100%; }
a { color: #12263F; }
a:hover { color: #B44A0A; }
summary { cursor: pointer; }
input, select, textarea, button { font: inherit; color: #12263F; }
input:focus-visible, select:focus-visible, textarea:focus-visible,
a:focus-visible, button:focus-visible, label:has(input:focus-visible) {
  outline: 3px solid #F2711C;
  outline-offset: 2px;
}

/* Blokken die het formulier-script toont of verbergt */
[data-if] { display: contents; }
[data-if][hidden] { display: none; }

/* Keuzechips op de contactpagina */
.chip {
  display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px;
  border-radius: 999px; border: 2px solid #C5CED8; background: #FFFFFF; color: #12263F;
  font-weight: 600; font-size: 16px; cursor: pointer;
}
.chip:has(input:checked) { border-color: #12263F; background: #12263F; color: #FFFFFF; }

/* Dienstkaarten in de offerteaanvraag */
.svc {
  display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: 14px;
  border: 2px solid #C5CED8; background: #FFFFFF; color: #12263F; cursor: pointer;
}
.svc svg { stroke: #12263F; }
.svc:has(input:checked) { border-color: #12263F; background: #12263F; color: #FFFFFF; }
.svc:has(input:checked) svg { stroke: #F2711C; }

/* Anti-spamveld, onzichtbaar voor bezoekers */
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.form-error {
  background: #FDECEA; color: #8A1F12; border-radius: 10px; padding: 14px 16px;
  font-size: 15px; font-weight: 600; line-height: 1.5;
}
.form-error a { color: #8A1F12; }

button[disabled] { opacity: 0.6; cursor: wait; }
