/* ============ mmtaart — beheer (admin) stijl ============ */
:root{
  --roze:#fbc0de; --roze-zacht:#fde3ee; --roze-licht:#fff4f9;
  --roze-diep:#d06a96; --roze-donker:#a8456f;
  --inkt:#43353c; --inkt-zacht:#806a74;
  --rand:#f0d6e2; --groen:#2e9e6b; --rood:#d6455f;
}
*{box-sizing:border-box}
body{
  margin:0;font-family:'Nunito',system-ui,sans-serif;color:var(--inkt);
  background:var(--roze-licht);line-height:1.6;
}
a{color:var(--roze-diep);text-decoration:none}
a:hover{color:var(--roze-donker)}

/* top bar */
.adm-top{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;
  background:#fff;border-bottom:1px solid var(--rand);
  padding:10px 22px;position:sticky;top:0;z-index:20;
}
.adm-merk{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--roze-donker)}
.adm-merk img{height:42px}
.adm-nav{display:flex;gap:4px;flex-wrap:wrap}
.adm-nav a{padding:8px 14px;border-radius:999px;font-weight:700;color:var(--inkt)}
.adm-nav a:hover{background:var(--roze-zacht);color:var(--roze-donker)}
.adm-nav a.actief{background:var(--roze);color:#fff}
.adm-nav a.uitloggen{color:var(--rood)}

.adm-main{max-width:980px;margin:0 auto;padding:32px 22px 60px}
.adm-foot{text-align:center;color:var(--inkt-zacht);padding:24px;font-size:.9rem}

h1{font-family:'Cormorant Garamond',serif;color:var(--roze-donker);font-size:2rem;margin:0 0 6px}
h2{font-family:'Cormorant Garamond',serif;color:var(--roze-donker);margin:0 0 12px}
.sub{color:var(--inkt-zacht);margin:0 0 28px}

/* kaarten / panelen */
.paneel{
  background:#fff;border:1px solid var(--rand);border-radius:16px;
  padding:24px;margin-bottom:22px;box-shadow:0 4px 16px rgba(208,106,150,.08);
}
.tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:26px}
.tegel{
  background:#fff;border:1px solid var(--rand);border-radius:16px;padding:22px;
  box-shadow:0 4px 16px rgba(208,106,150,.08);
}
.tegel .groot{font-size:2.2rem;font-weight:800;color:var(--roze-donker);line-height:1}
.tegel .klein{color:var(--inkt-zacht)}

/* formulieren */
label{display:block;font-weight:700;margin:14px 0 5px}
input[type=text],input[type=password],input[type=file],textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--rand);border-radius:11px;
  font-family:inherit;font-size:1rem;background:#fffafc;color:var(--inkt);
}
input:focus,textarea:focus{outline:none;border-color:var(--roze);background:#fff}
textarea{min-height:120px;resize:vertical}
.knop{
  display:inline-block;border:none;cursor:pointer;
  background:var(--roze-diep);color:#fff;font-weight:800;font-family:inherit;
  padding:12px 26px;border-radius:999px;font-size:1rem;transition:background .2s,transform .15s;
}
.knop:hover{background:var(--roze-donker);transform:translateY(-1px);color:#fff}
.knop.klein{padding:8px 16px;font-size:.9rem}
.knop.rood{background:var(--rood)}
.knop.grijs{background:#b9a7af}

/* meldingen */
.melding{padding:13px 16px;border-radius:11px;margin-bottom:18px;font-weight:600}
.melding.ok{background:#e3f6ec;color:var(--groen);border:1px solid #b8e6cd}
.melding.fout{background:#fbe3e8;color:var(--rood);border:1px solid #f3c2cd}

/* foto-beheer grid */
.foto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.foto-kaart{border:1px solid var(--rand);border-radius:14px;overflow:hidden;background:#fff}
.foto-kaart img{width:100%;height:150px;object-fit:cover;display:block;background:var(--roze-zacht)}
.foto-kaart .body{padding:12px}
.foto-kaart .titel{font-weight:700;font-size:.95rem}
.foto-kaart .desc{color:var(--inkt-zacht);font-size:.85rem;margin:2px 0 10px}

/* login */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;
  background:
   radial-gradient(700px 400px at 20% 0%,rgba(251,192,222,.55),transparent 60%),
   var(--roze-licht);}
.login-kaart{
  background:#fff;border:1px solid var(--rand);border-radius:22px;
  padding:36px 32px;width:100%;max-width:380px;text-align:center;
  box-shadow:0 14px 40px rgba(208,106,150,.18);
}
.login-kaart img{height:70px;margin:0 auto 14px}
.login-kaart .knop{width:100%;margin-top:20px}

/* ===== Teksten beheer — gegroepeerde, invouwbare weergave ===== */
.tekst-nav{
  display:flex;flex-wrap:wrap;gap:8px;
  position:sticky;top:64px;z-index:10;
  background:var(--roze-licht);
  padding:12px 0;margin-bottom:8px;
}
.tekst-nav a{
  background:#fff;border:1px solid var(--rand);
  padding:8px 16px;border-radius:999px;font-weight:700;font-size:.92rem;color:var(--inkt);
}
.tekst-nav a:hover{background:var(--roze);color:#fff;border-color:var(--roze)}

.tekst-groep{margin-bottom:30px;scroll-margin-top:120px}
.tekst-groep-titel{
  font-family:'Cormorant Garamond',serif;color:var(--roze-donker);
  border-bottom:2px solid var(--roze-zacht);padding-bottom:6px;margin-bottom:14px;
}

.tekst-item{
  background:#fff;border:1px solid var(--rand);border-radius:14px;
  margin-bottom:12px;overflow:hidden;box-shadow:0 3px 12px rgba(208,106,150,.06);
}
.tekst-item summary{
  cursor:pointer;list-style:none;
  padding:16px 20px;display:flex;flex-direction:column;gap:3px;
  transition:background .15s;
}
.tekst-item summary::-webkit-details-marker{display:none}
.tekst-item summary:hover{background:var(--roze-licht)}
.tekst-item[open] summary{background:var(--roze-licht);border-bottom:1px solid var(--rand)}
.tekst-item-naam{font-weight:800;color:var(--roze-donker)}
.tekst-item-naam::before{content:"▸ ";color:var(--roze)}
.tekst-item[open] .tekst-item-naam::before{content:"▾ "}
.tekst-item-preview{color:var(--inkt-zacht);font-size:.9rem}
.tekst-item[open] .tekst-item-preview{display:none}
.tekst-item form{padding:6px 20px 20px}
