/* Formulieren (blok 5). Tokens uit eo.css. */
.eo-form,.eo-form *,.eo-form *::before,.eo-form *::after{box-sizing:border-box}
.eo-form{max-width:720px;margin-inline:auto;padding:clamp(24px,4vw,48px);background:#fff;border:1px solid #e3e1da;color:var(--eo-navy)}
.eo-form__titel{font-family:var(--eo-font-kop);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.1;margin:0 0 .4em}
.eo-form__intro{margin:0 0 24px;color:var(--eo-blue)}
.eo-form__form{display:grid;gap:16px}
.eo-form__rij{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.eo-form__veld{display:grid;gap:6px;align-content:start;min-width:0}
.eo-form label,.eo-form legend{font-size:.9rem;font-weight:600}
.eo-form__optioneel{font-weight:400;color:var(--eo-green)}
.eo-form input[type=text],.eo-form input[type=email],.eo-form input[type=tel],.eo-form select,.eo-form textarea{
	width:100%;max-width:100%;margin:0;min-height:48px;padding:12px 14px;font:400 1rem/1.4 var(--eo-font);color:var(--eo-navy);
	background:var(--eo-off);border:1px solid var(--eo-line);border-radius:var(--eo-radius);transition:border-color .15s var(--eo-ease),background .15s var(--eo-ease)}
.eo-form textarea{min-height:120px;resize:vertical}
.eo-form input:focus,.eo-form select:focus,.eo-form textarea:focus{outline:2px solid var(--eo-focus);outline-offset:1px;border-color:var(--eo-navy);background:#fff}
.eo-form [aria-invalid=true]{border-color:var(--eo-danger);background:#fff}
.eo-form__fout{margin:0;font-size:.85rem;color:var(--eo-danger)}
.eo-form__hint{margin:0;font-size:.85rem;color:var(--eo-blue)}
.eo-form__hint button{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--eo-green-dark);text-decoration:underline;cursor:pointer}
.eo-form__keuzes{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.eo-form__keuzes legend{margin-bottom:8px;padding:0;width:100%}
.eo-form__keuze,.eo-form__akkoord label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.95rem;cursor:pointer}
.eo-form input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--eo-green);flex:none}
.eo-form__akkoord a{color:var(--eo-green-dark)}
.eo-form__knop{justify-self:start;cursor:pointer;margin-top:8px}
.eo-form__knop:disabled{opacity:.6;cursor:wait}
.eo-form__knop:focus-visible{outline:2px solid var(--eo-focus);outline-offset:2px}
.eo-form__status{margin:0;font-size:.9rem;min-height:1.4em;color:var(--eo-blue)}
.eo-form__bedankt{padding:20px;background:var(--eo-off);border-left:4px solid var(--eo-green);display:grid;gap:12px;justify-items:start}
.eo-form__bedankt p{margin:0;font-weight:600}
.eo-form__bedankt:focus{outline:none}
.eo-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion:reduce){.eo-form *{transition:none!important}}

/* Bezichtiging (taak 29): één moment (J40). */
.eo-form__momenten{border:0;margin:0;padding:16px;background:var(--eo-off);border-left:4px solid var(--eo-accent);display:grid;gap:12px;min-width:0}
.eo-form__momenten legend{float:left;width:100%;padding:0;margin:0 0 4px}
.eo-form__uitleg{margin:0;font-size:.9rem;color:var(--eo-blue);clear:both}
.eo-form__moment{display:grid;gap:6px;min-width:0}
.eo-form__moment-label{font-size:.85rem;font-weight:600;color:var(--eo-green-dark)}
.eo-form__moment-keuze{display:grid;gap:8px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.eo-form__momenten select{background:#fff}
.eo-form__unit{margin:0;font-weight:600;font-size:.9rem}
.eo-form__nieuwsbrief label{font-size:.9rem}
.eo-formulieren--bezichtiging{padding-bottom:0}
@media (max-width:420px){.eo-form__moment-keuze{grid-template-columns:1fr}}

/* Taak 42: agenda in 2 stappen (alleen met JS; zonder JS blijven de keuzelijsten). */
.eo-agenda,.eo-agenda__gekozen{display:none}
.eo-form--agenda .eo-agenda{display:grid;gap:12px;min-width:0}
.eo-form--agenda .eo-form__moment{display:none}
.eo-form--stap1 > :not(.eo-form__momenten):not(input[type=hidden]):not(.eo-form__hp){display:none}
.eo-form--stap2 .eo-agenda,.eo-form--stap2 .eo-form__momenten legend,.eo-form--stap2 .eo-form__uitleg{display:none}
.eo-form--stap2 .eo-agenda__gekozen{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.eo-agenda__kop{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}
.eo-agenda__week{margin:0;text-align:center;font-weight:600;font-size:.95rem}
.eo-agenda__nav{min-height:44px;background:#fff;border:1px solid var(--eo-line);border-radius:var(--eo-radius);color:var(--eo-navy);font-size:1.4rem;line-height:1;cursor:pointer}
.eo-agenda__nav:disabled{opacity:.35;cursor:default}
.eo-agenda__dagnaam{font-weight:600;font-size:.85rem;text-transform:capitalize}
.eo-agenda__datum{font-size:.75rem;color:var(--eo-blue)}
/* Taak 46: eerst dag, dan tijden */
.eo-agenda__dagen{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;min-width:0}
.eo-agenda__dag{display:grid;gap:2px;justify-items:center;min-height:52px;padding:6px 2px;background:#fff;border:1px solid var(--eo-line);border-radius:var(--eo-radius);color:var(--eo-navy);font:inherit;line-height:1.2;cursor:pointer;min-width:0}
.eo-agenda__dag:hover:not(:disabled){border-color:var(--eo-green)}
.eo-agenda__dag[aria-pressed=true]{background:var(--eo-navy);border-color:var(--eo-navy);color:#fff}
.eo-agenda__dag[aria-pressed=true] .eo-agenda__datum{color:#fff}
.eo-agenda__dag:disabled{opacity:.4;cursor:default}
.eo-agenda__dag--gekozen{box-shadow:inset 0 -3px 0 var(--eo-green)}
.eo-agenda__tijden{display:grid;gap:10px;min-width:0}
.eo-agenda__deel{display:grid;gap:6px}
.eo-agenda__deelkop{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--eo-blue)}
.eo-agenda__rij{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}
.eo-agenda__leeg{margin:0;color:var(--eo-blue);font-size:.9rem}
.eo-agenda__tijd{min-height:44px;padding:6px 4px;background:#fff;border:1px solid var(--eo-line);border-radius:var(--eo-radius);font:600 .9rem/1 var(--eo-font);color:var(--eo-navy);cursor:pointer;min-width:0}
.eo-agenda__nav:focus-visible,.eo-agenda__dag:focus-visible,.eo-agenda__tijd:focus-visible,.eo-agenda__ander:focus-visible{outline:2px solid var(--eo-focus);outline-offset:2px}
@media (max-width:420px){.eo-agenda__dagen{gap:4px}.eo-agenda__dagnaam,.eo-agenda__datum{font-size:.75rem}.eo-agenda__rij{grid-template-columns:repeat(4,minmax(0,1fr))}}
.eo-agenda__tijd:hover{border-color:var(--eo-green)}
.eo-agenda__tijd[aria-pressed=true]{background:var(--eo-green);border-color:var(--eo-green);color:#fff}
.eo-agenda__samen{margin:0;font-size:.9rem;font-weight:600}
.eo-agenda__verder{justify-self:start;cursor:pointer}
.eo-agenda__verder:disabled{opacity:.5;cursor:default}
.eo-agenda__gekozen-tekst{margin:0;font-weight:600}
.eo-agenda__ander{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--eo-green-dark);text-decoration:underline;cursor:pointer;min-height:44px}

/* Nieuwsbrief in de footer (donker). */
.eo-voet__nb{border-top:1px solid #3a4152;margin-top:32px;padding-top:24px}
.eo-nb{max-width:560px}
.eo-nb__intro{margin:0 0 12px}
.eo-nb__form{gap:10px}
.eo-nb__rij{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.eo-nb__rij .eo-form__veld{flex:1 1 220px;display:grid;gap:4px;min-width:0}
.eo-nb input[type=email]{width:100%;min-height:48px;padding:12px 14px;font:400 1rem/1.4 var(--eo-font);color:var(--eo-navy);background:#fff;border:1px solid var(--eo-line);border-radius:var(--eo-radius);margin:0}
.eo-nb input[type=email]:focus{outline:2px solid var(--eo-focus);outline-offset:1px}
.eo-nb .eo-form__knop{margin:0;min-height:48px}
.eo-nb .eo-form__akkoord label{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;cursor:pointer;color:#cfd3dc}
.eo-nb input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;accent-color:var(--eo-green);flex:none}
.eo-nb .eo-form__akkoord a{color:#fff;text-decoration:underline}
.eo-nb .eo-form__fout{color:#f2b8a6;font-size:.85rem;margin:0}
.eo-nb .eo-form__status{margin:0;font-size:.85rem;color:#cfd3dc;min-height:1.2em}
.eo-nb .eo-form__bedankt{background:transparent;border-left-color:var(--eo-accent);padding:8px 16px;color:#fff}
.eo-nb .eo-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
