/* Huisstijl van het Easy Silage leadformulier. Gedeeld door de website en /beheer. */
:root{
  --bg:#EEF2EA; --surface:#FFFFFF; --ink:#15241A; --muted:#56685B; --line:#CFD9CB;
  --field:#1F6B31; --on-field:#FFFFFF; --hay:#F39A1E; --on-hay:#2A1A02;
  --ok:#2E7D4A; --warn:#9A5B00; --danger:#B3261E; --focus:#F39A1E;
  --zebra:#F6F8F4; --hover:#E6EEE2;
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0E1611; --surface:#172219; --ink:#E6EEE6; --muted:#9BB09F; --line:#2B3B30;
    --field:#237A37; --on-field:#FFFFFF; --hay:#F5A43A; --on-hay:#231502;
    --ok:#6BC28A; --warn:#E3A84A; --danger:#F08C84; --zebra:#1A271D; --hover:#203024; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0E1611; --surface:#172219; --ink:#E6EEE6; --muted:#9BB09F; --line:#2B3B30;
  --field:#237A37; --on-field:#FFFFFF; --hay:#F5A43A; --on-hay:#231502;
  --ok:#6BC28A; --warn:#E3A84A; --danger:#F08C84; --zebra:#1A271D; --hover:#203024; color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);
  font:400 18px/1.5 Barlow,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.count{font-family:"Barlow Semi Condensed",Barlow,"Arial Narrow",sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}
a{color:var(--field)}

/* ---------- kop ---------- */
header{background:#FFFFFF;color:#15241A;border-bottom:1px solid #D9DFD5;box-shadow:inset 0 -4px 0 #F39A1E}
.bar{max-width:820px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{margin-right:auto;display:flex;align-items:center;gap:14px}
.brand a{display:block}
.logo{height:52px;width:auto;display:block}
.brand small{font:500 15px Barlow,sans-serif;color:#56685B;border-left:1.5px solid #D9DFD5;padding-left:14px;line-height:1.2}
@media (max-width:560px){.logo{height:40px}.brand small{display:none}}
.langs{display:flex;gap:6px}
.langs button{min-width:50px;height:44px;border-radius:22px;border:1.5px solid #CFD9CB;
  background:#FFFFFF;color:#15241A;font-weight:600;cursor:pointer}
.langs button[aria-pressed="true"]{background:#1F6B31;color:#FFFFFF;border-color:#1F6B31}
nav.tabs{max-width:820px;margin:0 auto;padding:0 20px;display:flex;gap:4px;overflow-x:auto}
nav.tabs a,nav.tabs button{background:none;border:0;color:#15241A;opacity:.65;padding:8px 14px 14px;white-space:nowrap;
  font-weight:600;cursor:pointer;border-bottom:4px solid transparent;position:relative;z-index:1;text-decoration:none}
nav.tabs [aria-current="page"]{opacity:1;border-bottom-color:#1F6B31}
nav.tabs a:hover{opacity:1}

main{max-width:820px;margin:0 auto;padding:24px 20px 96px}
.notice{border-left:4px solid var(--warn);background:var(--surface);padding:12px 16px;border-radius:6px;margin:0 0 18px;font-size:16px}

/* ---------- formulier ---------- */
.steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.step{border-top:5px solid var(--line);padding-top:8px;font-weight:600;font-size:16px;color:var(--muted)}
.step b{font-family:"Barlow Semi Condensed",sans-serif;margin-right:6px}
.step.active{border-top-color:var(--field);color:var(--ink)}
.step.done{border-top-color:var(--hay)}
h1{font-size:40px;line-height:1.05;margin:4px 0 6px}
.lede{color:var(--muted);margin:0 0 26px;max-width:60ch}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.full{grid-column:1/-1}
@media (max-width:560px){.grid{grid-template-columns:1fr}.full{grid-column:auto}}
label,.lbl{display:block;font-weight:600;font-size:16px;margin-bottom:6px}
.opt{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;padding:0 16px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);font-size:19px}
input,select{height:56px}
input[type="checkbox"]{width:auto;height:auto}
textarea{min-height:130px;padding:14px 16px;resize:vertical;line-height:1.4}
input:focus,select:focus,textarea:focus{border-color:var(--field)}
.err{color:var(--danger);font-size:15px;margin-top:4px}
.err:empty{display:none}
.invalid input,.invalid textarea{border-color:var(--danger)}
.suffix{position:relative}
.suffix input{padding-right:44px}
.suffix span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;pointer-events:none}

.seg{display:flex;gap:10px}
.seg button{flex:1;height:56px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:19px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--field);border-color:var(--field);color:var(--on-field)}

.hint{color:var(--muted);font-size:15px;margin:-2px 0 10px}
.silos{display:grid;gap:10px}
.silo{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr auto;gap:10px;align-items:end;background:var(--surface);
  border:1.5px solid var(--line);border-radius:10px;padding:12px}
.silo label{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:4px}
.silo input{height:50px;padding:0 12px;font-size:18px}
.silo.invalid input{border-color:var(--danger)}
.silo .x{height:50px;width:50px;border:0;background:none;color:var(--danger);font-size:24px;cursor:pointer;border-radius:10px}
.silo .x.off{visibility:hidden}
.silo .err{grid-column:1/-1;margin:0}
@media (max-width:560px){.silo{grid-template-columns:1fr 1fr}.silo .x{grid-column:1/-1;width:auto;height:40px;font-size:15px;font-weight:600}}
.add{margin-top:10px;height:48px;padding:0 18px;border-radius:10px;border:1.5px dashed var(--field);background:none;font-weight:600;cursor:pointer}

.nav{display:flex;gap:12px}
.primary{height:64px;border:0;border-radius:12px;background:var(--field);color:var(--on-field);font-weight:600;font-size:21px;cursor:pointer;flex:1}
.primary:disabled{opacity:.6}
.ghost{height:64px;padding:0 24px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:19px;cursor:pointer}
.pending{color:var(--warn);font-size:15px;font-weight:600;margin:18px 0 0}
/* honeypot tegen spambots: onzichtbaar voor mensen */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.thanks{text-align:center;padding:12vh 8px;cursor:pointer}
.thanks h1{font-size:52px}
.thanks p{color:var(--muted);font-size:22px;margin:0}
.thanks .tlogo{height:110px;width:auto;margin:0 auto 28px;display:block;max-width:90%;
  background:#FFFFFF;border-radius:14px;padding:14px 18px;box-sizing:content-box}

/* ---------- knoppen en kleine onderdelen ---------- */
.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 18px;border-radius:10px;
  border:1.5px solid var(--field);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.secondary:disabled{opacity:.5;cursor:default}
.secondary.danger{border-color:var(--danger);color:var(--danger)}
.chip{background:var(--bg);border-radius:6px;padding:3px 9px;font-size:15px}
.count{font-size:64px;font-weight:700;line-height:.9}
.countlbl{color:var(--muted);font-size:16px;margin-top:4px}

.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);
  background:var(--ok);color:#fff;padding:12px 22px;border-radius:24px;font-weight:600;opacity:0;
  transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw;text-align:center;z-index:20}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.warn{background:var(--warn)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
