/* Gedeelde stijlen Zorgpartners+ (uit de drie bronpagina's; identiek op alle pagina's).
   Paginaspecifieke regels staan in home.css, vacatures.css en vacature.css. */
:root{
  --ink:#241229;          /* deep aubergine ink */
  --plum:#2D1B3D;         /* hero anchor */
  --plum-2:#3d2152;
  --magenta:#D6286E;      /* primary accent */
  --magenta-soft:#fbe4ee;
  --green:#1B6B5A;        /* secondary accent */
  --green-soft:#e2efe9;
  --paper:#FBF8F4;        /* warm offwhite */
  --paper-2:#F4EFE9;
  --card:#ffffff;
  --line:#e9e0d8;
  --muted:#6c5f68;
  --shadow:0 1px 2px rgba(36,18,41,.04), 0 12px 32px -16px rgba(36,18,41,.18);
  --r:22px;
  --r-sm:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;line-height:1.05;font-weight:600;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--magenta);display:inline-flex;align-items:center;gap:.55rem;
}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;
  padding:.85rem 1.5rem;border-radius:999px;transition:.2s;cursor:pointer;border:none;
}
.btn-primary{background:var(--magenta);color:#fff}
.btn-primary:hover{background:#b81f5c;transform:translateY(-2px)}
.btn-dark{background:var(--plum);color:#fff}
.btn-dark:hover{background:var(--plum-2);transform:translateY(-2px)}

/* ---------- NAV ---------- */
header{position:sticky;top:0;z-index:50;background:rgba(251,248,244,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{display:flex;align-items:center;gap:.55rem}
.logo .tree{width:34px;height:auto;display:block}
.logo .wordmark{height:19px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2rem;font-size:.93rem;font-weight:500}
.nav-links a{color:var(--muted);transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{display:flex;align-items:center;gap:1rem}
.menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.menu-btn span{width:24px;height:2px;background:var(--ink);display:block;border-radius:2px;transition:.3s}
.nav-cta-mobile{display:none}

/* ---------- FOOTER ---------- */
footer{padding:54px 0 40px;border-top:1px solid var(--line)}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.foot .logo .tree{width:30px}
.foot .logo .wordmark{height:17px}
.foot p{color:var(--muted);font-size:.9rem}
.foot-links{display:flex;gap:1.6rem;font-size:.9rem;color:var(--muted)}

@media(max-width:900px){
  .nav-links{display:none}
  .menu-btn{display:flex}
  .nav-links.show{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;background:var(--paper);
    padding:24px;gap:1.2rem;border-bottom:1px solid var(--line)}
}
/* Smalle telefoons: naast logo en hamburger past "Plan een gesprek" niet meer op één regel.
   De knop verdwijnt dan uit de balk en staat onderaan het mobiele menu. */
@media(max-width:560px){
  .nav-cta .btn{display:none}
  .nav-links.show .nav-cta-mobile{display:inline-flex;align-self:flex-start;margin-top:.4rem}
}

/* ---------- FORMULIEREN (contact en sollicitatie, beide op een donkere kaart) ---------- */
form.has-errors{scroll-margin-top:100px}
.field-error{font-size:.8rem;color:#f6b8d3;margin-top:.35rem}
.field.has-error input,.field.has-error textarea,.field.has-error select,.field.has-error .file-label{border-color:#f6b8d3}
.form-error-general{background:rgba(214,40,110,.28);border:1px solid #f6b8d3;border-radius:12px;padding:.8rem 1rem;margin-bottom:14px;font-size:.92rem}
.form-done{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-sm);padding:28px 24px}
.form-done h3{font-size:1.5rem;margin-bottom:.5rem;color:#fff}
.form-done p{color:rgba(255,255,255,.82)}
/* honeypot: buiten beeld, niet display:none (sommige bots slaan dat over) */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
