/* ═══════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════ */
:root {
  /* Brand */
  --brand:#C15A34; --brand-dark:#8F3D1F; --brand-light:#E07A52;
  --brand-glow:rgba(193,90,52,.3); --brand-subtle:rgba(193,90,52,.08);
  /* Accent */
  --gold:#C9892A; --gold-light:#F0B84A; --gold-subtle:rgba(201,137,42,.1);
  --sage:#426A3A; --sage-light:#5F8C55;
  /* Neutrals */
  --white:#FFFFFF; --surface:#F8F4EF; --surface-2:#F1EBE2; --border:#E4DDD4;
  --border-strong:#C8BEB2; --ink:#1C1208; --ink-2:#3D2910; --ink-3:#7A5C3E;
  --ink-4:#A88B72;
  /* Shadows */
  --sh-xs:0 1px 4px rgba(28,18,8,.06);
  --sh-sm:0 2px 10px rgba(28,18,8,.08);
  --sh-md:0 6px 24px rgba(28,18,8,.10);
  --sh-lg:0 16px 48px rgba(28,18,8,.13);
  --sh-xl:0 32px 80px rgba(28,18,8,.16);
  --sh-brand:0 8px 32px rgba(193,90,52,.35);
  /* Radii */
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-full:999px;
  /* Typography */
  --font-d:'Fraunces',serif;
  --font-b:'Plus Jakarta Sans',sans-serif;
  /* Admin */
  --adm-bg:#0F0A06; --adm-surface:#1A110A; --adm-surface-2:#241810;
  --adm-border:rgba(255,255,255,.07); --adm-text:rgba(255,255,255,.85);
  --adm-muted:rgba(255,255,255,.38);
}
/* ═══ RESET ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-b);background:var(--surface);color:var(--ink);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-d);line-height:1.1;font-weight:400}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:var(--font-b);cursor:pointer}
input,textarea,select{font-family:var(--font-b)}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--surface-2)}
::-webkit-scrollbar-thumb{background:var(--brand);border-radius:3px}
/* ═══ GRAIN ═══ */
.grain::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
body.grain {
  overflow-x: hidden;
}

/* ════════════════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════════════════ */
#nav {
  position:fixed;top:0;left:0;right:0;z-index:500;
  transition:background .4s,box-shadow .4s,border-color .4s,backdrop-filter .4s;
  background:rgba(12,7,2,.74);
  backdrop-filter:blur(20px) saturate(1.1);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(12,7,2,.22);
}
#nav.nav-translucent {
  background:rgba(12,7,2,.74);
  backdrop-filter:blur(20px) saturate(1.1);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(12,7,2,.22);
}
#nav.nav-dark {
  background:rgba(12,7,2,.92);
  backdrop-filter:blur(18px) saturate(1.05);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 16px 36px rgba(12,7,2,.28);
}
#nav.solid {
  background:rgba(248,244,239,.96);backdrop-filter:blur(24px) saturate(1.5);
  border-color:var(--border);box-shadow:var(--sh-sm);
}
.nav-wrap {
  max-width:1200px;margin:0 auto;padding:0 2rem;
  display:flex;align-items:center;justify-content:space-between;height:72px;
}
.nav-logo {
  display:flex;align-items:center;gap:.65rem;
  font-family:var(--font-d);font-size:1.25rem;font-weight:600;
  color:white;transition:color .3s;white-space:nowrap;
  text-shadow:0 1px 6px rgba(0,0,0,.6);
}
#nav.solid .nav-logo{color:var(--ink);text-shadow:none}
.nav-logo-icon {
  width:36px;height:36px;flex-shrink:0;
  background:var(--brand);border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;box-shadow:var(--sh-brand);
  transition:transform .2s;
}
.nav-logo:hover .nav-logo-icon{transform:rotate(-8deg) scale(1.05)}
.nav-links{display:flex;align-items:center;gap:.15rem;list-style:none;flex-shrink:1}
.nav-links a {
  padding:.5rem .62rem;border-radius:var(--r-full);
  font-size:.82rem;font-weight:500;color:rgba(255,255,255,.9);
  transition:color .2s,background .2s;
  text-shadow:0 1px 6px rgba(0,0,0,.6),0 0 20px rgba(0,0,0,.4);
  white-space:nowrap;
}
#nav.solid .nav-links a{color:var(--ink-2);text-shadow:none}
.nav-links a:hover{color:var(--brand-light);background:var(--brand-subtle)}
#nav.solid .nav-links a:hover{color:var(--brand)}
#nav.nav-translucent .nav-links a.active,
#nav.nav-dark .nav-links a.active {
  color:var(--gold-light);
}
.nav-donate {
  background:var(--brand) !important;color:white !important;
  font-weight:600 !important;font-size:.82rem !important;
  padding:.52rem 1.3rem !important;border-radius:var(--r-full) !important;
  box-shadow:var(--sh-brand);transition:all .2s !important;
  letter-spacing:.02em;
}
.nav-donate:hover{background:var(--brand-dark) !important;transform:translateY(-1px);box-shadow:0 10px 28px var(--brand-glow) !important}

/* ════════════════════════════════════════════════════════════
   NAV DROPDOWN  ("Meer ▾")
════════════════════════════════════════════════════════════ */
.nav-dropdown { position: relative; }

.nav-more-btn {
  display: flex; align-items: center; gap: .3rem;
  padding: .5rem .62rem; border-radius: var(--r-full);
  font-size: .82rem; font-weight: 500;
  color: rgba(255,255,255,.9); background: none; border: none;
  cursor: pointer; transition: color .2s, background .2s;
  text-shadow: 0 1px 6px rgba(0,0,0,.6), 0 0 20px rgba(0,0,0,.4);
  white-space: nowrap; font-family: var(--font-b);
}
.nav-more-btn svg { transition: transform .2s; flex-shrink: 0; }
.nav-more-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
#nav.solid .nav-more-btn { color: var(--ink-2); text-shadow: none; }
.nav-more-btn:hover { color: var(--brand-light); background: var(--brand-subtle); }
#nav.solid .nav-more-btn:hover { color: var(--brand); }

.nav-dropdown-menu {
  position: absolute; top: calc(100% + .6rem); right: 0;
  background: white;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 40px rgba(0,0,0,.15), 0 2px 8px rgba(0,0,0,.08);
  list-style: none; padding: .45rem;
  min-width: 190px;
  opacity: 0; pointer-events: none;
  transform: translateY(-6px) scale(.97);
  transform-origin: top right;
  transition: opacity .2s, transform .2s cubic-bezier(.16,1,.3,1);
  z-index: 200;
}
.nav-dropdown-menu.open {
  opacity: 1; pointer-events: all;
  transform: none;
}
.nav-dropdown-menu li a {
  display: flex; align-items: center; gap: .65rem;
  padding: .6rem .85rem; border-radius: 10px;
  font-size: .84rem; font-weight: 500; color: var(--ink-2);
  text-decoration: none; text-shadow: none;
  transition: background .15s, color .15s;
}
.nav-dropdown-menu li a:hover {
  background: var(--surface-2); color: var(--brand);
}
.nav-dd-icon {
  font-size: .95rem; width: 1.4rem; text-align: center; flex-shrink: 0;
}
/* Scheidingslijn na eerste item */
.nav-dropdown-menu li:first-child a {
  color: var(--brand); font-weight: 600;
}
.nav-dropdown-menu li:first-child {
  border-bottom: 1px solid var(--border); margin-bottom: .35rem; padding-bottom: .35rem;
}

.hamburger{display:none;flex-direction:column;gap:4.5px;padding:6px;border:none;background:none}
.hamburger span{display:block;width:22px;height:1.5px;border-radius:2px;background:white;transition:.3s}
#nav.solid .hamburger span{background:var(--ink)}
.mob-nav{display:none;position:fixed;top:72px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:1.5rem 2rem;flex-direction:column;gap:.5rem;box-shadow:var(--sh-lg);max-height:calc(100vh - 72px);overflow-y:auto;z-index:499}
.mob-nav.open{display:flex}
.mob-nav a{padding:.7rem 1rem;border-radius:var(--r-md);font-size:.92rem;color:var(--ink-2);font-weight:500;transition:background .2s}
.mob-nav a:hover{background:var(--surface-2);color:var(--brand)}

/* ════════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════════ */
.hero {
  min-height:100vh;position:relative;display:flex;align-items:center;
  overflow:hidden;
}
.hero-bg-img {
  position:absolute;inset:0;
  background-position:center 32%;
  background-size:cover;
  background-repeat:no-repeat;
  filter:brightness(1.08);
}
.hero-bg-overlay {
  position:absolute;inset:0;
  background:linear-gradient(150deg,rgba(12,7,2,.76) 0%,rgba(100,40,10,.52) 55%,rgba(50,70,40,.34) 100%);
}
.hero-bg-mesh {
  position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 15% 90%,rgba(201,137,42,.12) 0%,transparent 60%),
             radial-gradient(ellipse 50% 60% at 85% 15%,rgba(66,106,58,.1) 0%,transparent 55%);
}
.hero-bottom-wave {
  position:absolute;bottom:-1px;left:0;right:0;z-index:2;
  height:100px;background:var(--surface);
  clip-path:ellipse(60% 100% at 50% 100%);
}
.hero-inner {
  position:relative;z-index:3;width:100%;padding-top:72px;
}
.hero-content-wrap {
  max-width:1200px;margin:0 auto;padding:5rem 2rem 8rem;
  display:grid;grid-template-columns:1fr 430px;gap:5rem;align-items:center;
}
.hero-kicker {
  display:inline-flex;align-items:center;gap:.6rem;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);padding:.4rem 1.1rem;border-radius:var(--r-full);
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.85);margin-bottom:1.6rem;
  animation:heroIn .9s ease both;
}
.kicker-dot{width:6px;height:6px;border-radius:50%;background:var(--gold-light);animation:pulse 2.5s infinite}
.hero h1 {
  font-size:clamp(3rem,6.5vw,5.6rem);color:white;font-weight:300;
  margin-bottom:1.6rem;letter-spacing:-.02em;
  animation:heroIn .9s .1s ease both;
  text-shadow:0 4px 60px rgba(0,0,0,.4);
}
.hero h1 em{font-style:italic;font-weight:600;color:var(--gold-light)}
.hero-desc {
  font-size:1.08rem;color:rgba(255,255,255,.75);line-height:1.8;
  max-width:500px;margin-bottom:2.5rem;font-weight:300;
  animation:heroIn .9s .2s ease both;
}
.hero-ctas{display:flex;gap:.85rem;flex-wrap:wrap;animation:heroIn .9s .3s ease both}
.btn-primary {
  display:inline-flex;align-items:center;gap:.55rem;
  background:var(--brand);color:white;padding:.9rem 2rem;border-radius:var(--r-full);
  font-weight:600;font-size:.9rem;letter-spacing:.02em;
  border:none;transition:all .25s;box-shadow:0 8px 32px var(--brand-glow);
}
.btn-primary:hover{background:var(--brand-dark);transform:translateY(-3px);box-shadow:0 14px 44px var(--brand-glow)}
.btn-ghost {
  display:inline-flex;align-items:center;gap:.55rem;
  background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);color:white;padding:.9rem 2rem;border-radius:var(--r-full);
  font-weight:500;font-size:.9rem;border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px);transition:all .25s;
}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
/* Hero card */
.hero-card {
  background:rgba(255,255,255,.1);backdrop-filter:blur(28px) saturate(1.4);
  border:1px solid rgba(255,255,255,.18);border-radius:var(--r-xl);padding:2.2rem;
  animation:heroIn .9s .4s ease both;
}
.hero-card-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.4rem}
.hero-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.6rem}
.hstat{background:rgba(255,255,255,.07);border-radius:var(--r-md);padding:1.1rem 1.2rem}
.hstat-val{font-family:var(--font-d);font-size:2.1rem;font-weight:600;color:white;line-height:1}
.hstat-lbl{font-size:.68rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem}
.hero-prog{margin-bottom:1.4rem}
.hero-prog-top{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:.5rem}
.hero-prog-top strong{color:var(--gold-light);font-size:.88rem}
.hero-prog-bar{height:7px;background:rgba(255,255,255,.12);border-radius:var(--r-full);overflow:hidden}
.hero-prog-fill{height:100%;background:linear-gradient(90deg,var(--brand-light),var(--gold-light));border-radius:var(--r-full);width:61%;transition:width 2s .8s cubic-bezier(.16,1,.3,1)}
.hero-card-btn {
  width:100%;padding:.9rem;background:white;color:var(--brand);border:none;
  border-radius:var(--r-full);font-weight:700;font-size:.88rem;
  transition:all .2s;letter-spacing:.02em;
}
.hero-card-btn:hover{background:var(--surface);transform:translateY(-1px);box-shadow:var(--sh-md)}

/* ════════════════════════════════════════════════════
   SECTION SHARED
════════════════════════════════════════════════════ */
.sec{padding:8rem 0}
.sec-alt{background:var(--surface-2)}
.sec-dark{background:var(--ink);color:white}
.label-row{display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem}
.label-line{width:28px;height:1.5px;background:var(--brand);flex-shrink:0}
.label-text{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.sec-dark .label-line{background:var(--gold)}
.sec-dark .label-text{color:var(--gold)}
.sec-h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--ink);letter-spacing:-.02em;margin-bottom:1rem;font-weight:400}
.sec-dark .sec-h2{color:white}
.sec-lead{font-size:1rem;color:var(--ink-3);line-height:1.8;max-width:560px;font-weight:300}
.sec-dark .sec-lead{color:rgba(255,255,255,.6)}

/* ════════════════════════════════════════════════════
   ABOUT
════════════════════════════════════════════════════ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-visual{position:relative}
.about-img-wrap {
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--sh-xl);cursor:zoom-in;
  aspect-ratio:4/3;
}
.about-img-main {
  width:100%;height:100%;
  object-fit:cover;display:block;
  transition:transform .4s ease;
}
.about-img-wrap:hover .about-img-main { transform:scale(1.03); }
.about-img-zoom-hint {
  position:absolute;bottom:.8rem;right:.8rem;
  background:rgba(0,0,0,.45);color:white;
  border-radius:var(--r-full);padding:.35rem .6rem;
  font-size:.85rem;opacity:0;transition:opacity .2s;
  pointer-events:none;backdrop-filter:blur(4px);
}
.about-img-wrap:hover .about-img-zoom-hint { opacity:1; }
/* Lightbox */
.about-lb-overlay {
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.88);
  align-items:center;justify-content:center;
  cursor:zoom-out;
}
.about-lb-overlay.open { display:flex; }
.about-lb-overlay img {
  max-width:92vw;max-height:88vh;
  border-radius:var(--r-lg);
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  object-fit:contain;
}
.about-lb-close {
  position:absolute;top:1.2rem;right:1.4rem;
  background:rgba(255,255,255,.12);border:none;color:white;
  width:40px;height:40px;border-radius:50%;
  font-size:1.1rem;cursor:pointer;
  transition:background .2s;
}
.about-lb-close:hover { background:rgba(255,255,255,.25); }
.about-float-badge {
  position:absolute;bottom:1rem;left:1rem;z-index:4;
  background:var(--gold);color:white;border-radius:var(--r-md);
  padding:.55rem .9rem;font-size:.76rem;font-weight:700;white-space:nowrap;
  box-shadow:0 8px 28px rgba(201,137,42,.5);
  animation:floatY 6s ease-in-out infinite;
}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.about-ring {
  position:absolute;bottom:5%;left:-5%;
  width:90px;height:90px;border-radius:50%;
  border:2px solid var(--border);opacity:.5;
}
.about-ring-2 {
  position:absolute;top:8%;right:2%;
  width:50px;height:50px;border-radius:50%;
  background:var(--brand-subtle);
}
.about-text .sec-h2{margin-bottom:1.4rem}
.about-text p{color:var(--ink-3);line-height:1.85;font-size:.95rem;margin-bottom:.9rem;font-weight:300}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:2rem}
.pillar {
  background:var(--surface-2);border-radius:var(--r-md);padding:1.2rem 1.3rem;
  border-top:2px solid var(--brand);transition:transform .2s,box-shadow .2s;
  border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);
}
.pillar:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.pillar-icon{font-size:1.3rem;margin-bottom:.6rem}
.pillar h4{font-size:.85rem;font-weight:700;color:var(--ink);margin-bottom:.3rem;font-family:var(--font-b)}
.pillar p{font-size:.77rem;color:var(--ink-3);line-height:1.55;font-weight:300}

/* ════════════════════════════════════════════════════
   CAMPAIGNS
════════════════════════════════════════════════════ */
.camp-head-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;gap:1.5rem;flex-wrap:wrap}
.camp-head-text{}
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.6rem}
.camp-card {
  background:var(--white);border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--sh-sm);
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:flex;flex-direction:column;
}
.camp-card:hover{transform:translateY(-8px);box-shadow:var(--sh-xl)}
.camp-img-wrap{position:relative;height:220px;overflow:hidden;flex-shrink:0}
.camp-img{width:100%;object-fit:cover;transition:transform .6s}
.camp-card:hover .camp-img{transform:scale(1.06)}
.camp-badge {
  position:absolute;top:1rem;left:1rem;
  font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.28rem .85rem;border-radius:var(--r-full);backdrop-filter:blur(12px);
}
.badge-active{background:rgba(66,106,58,.85);color:white}
.badge-done{background:rgba(193,90,52,.85);color:white}
.camp-body{padding:1.8rem;flex:1;display:flex;flex-direction:column}
.camp-body h3{font-size:1.25rem;color:var(--ink);margin-bottom:.55rem;font-weight:400}
.camp-body p{font-size:.83rem;color:var(--ink-3);line-height:1.65;margin-bottom:1.3rem;flex:1;font-weight:300}
/* ── Acties secties ──────────────────────────────────────── */
/* ══ ACTIES PAGINA ════════════════════════════════════════════ */
.acties-hero-sec { padding-bottom:0; }
.acties-hero-inner {
  display:grid;grid-template-columns:1fr;
  gap:2rem;padding:2rem 0 2.5rem;
}
.acties-hero-h1 {
  font-size:clamp(2rem,4vw,2.8rem);
  font-family:var(--font-d);
  color:var(--ink);margin:.5rem 0 1rem;line-height:1.15;
}
.acties-hero-sub {
  font-size:1rem;color:var(--ink-3);max-width:580px;
  line-height:1.75;margin-bottom:1.5rem;
}
.acties-type-pills {
  display:flex;flex-wrap:wrap;gap:.5rem;
}
.acties-pill {
  padding:.45rem 1.1rem;border-radius:var(--r-full);
  border:1.5px solid var(--border);background:var(--surface);
  font-size:.82rem;font-weight:600;cursor:pointer;
  color:var(--ink-3);transition:all .18s;
}
.acties-pill:hover { border-color:var(--brand);color:var(--brand); }
.acties-pill-active {
  background:var(--brand);color:white!important;
  border-color:var(--brand);
}
.acties-main-sec { padding-top:2.5rem; }

/* Section blocks */
.camp-section-block { margin-bottom:3.5rem; }
.camp-section-block:last-child { margin-bottom:0; }
.camp-section-header {
  display:flex;align-items:center;gap:1.2rem;
  margin-bottom:2rem;padding-bottom:1.2rem;
  border-bottom:2px solid var(--brand);
}
.camp-section-icon {
  flex-shrink:0;width:52px;height:52px;
  background:var(--brand-subtle);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
}
.camp-section-title {
  font-size:1.3rem;font-family:var(--font-d);
  color:var(--ink);margin:0 0 .25rem;
}
.camp-section-desc { font-size:.84rem;color:var(--ink-3);margin:0; }

/* Cards grid */
.camp-grid-inner {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:1.8rem;
}
.camp-done-divider {
  grid-column:1/-1;font-size:.75rem;font-weight:700;
  color:var(--ink-3);text-transform:uppercase;letter-spacing:.09em;
  padding:.7rem 0 .3rem;border-top:1px dashed var(--border);
  margin-top:.5rem;
}
.camp-empty-state {
  grid-column:1/-1;
  display:flex;flex-direction:column;align-items:center;
  padding:2.5rem 1rem;color:var(--ink-3);
  background:var(--surface-2);border-radius:var(--r-lg);
  border:1.5px dashed var(--border);gap:.6rem;
}
.camp-empty-state span { font-size:2rem;opacity:.5; }
.camp-empty-state p { font-size:.88rem;margin:0; }
.camp-empty-full {
  padding:4rem 2rem;text-align:center;
  background:transparent;border:none;
}
.camp-empty-full div { font-size:3rem;margin-bottom:.8rem; }
.camp-contact {
  display:flex;flex-wrap:wrap;gap:.45rem;
  margin:.75rem 0 .5rem;padding:.75rem;
  background:var(--surface-2);border-radius:var(--r-md);
  border:1px solid var(--border);
}
.camp-contact::before {
  content:'📬 Contact';display:block;width:100%;
  font-size:.7rem;font-weight:700;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:.3rem;
}
.camp-contact-link {
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.79rem;font-weight:600;
  color:var(--brand);background:var(--surface);
  padding:.3rem .75rem;border-radius:var(--r-full);
  border:1.5px solid var(--border);
  text-decoration:none;transition:all .18s;
  white-space:nowrap;
}
.camp-contact-link:hover {
  background:var(--brand);color:white;border-color:var(--brand);
}

.camp-prog{margin-bottom:1.3rem}
.camp-prog-nums{display:flex;justify-content:space-between;font-size:.74rem;color:var(--ink-3);margin-bottom:.5rem}
.camp-prog-nums strong{color:var(--brand);font-size:.88rem}
.prog-track,.actie-detail-progress-bar{height:5px;background:var(--surface-2);border-radius:var(--r-full);overflow:hidden;border:1px solid var(--border)}
.prog-fill,.actie-detail-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:var(--r-full);transition:width 1.4s .2s cubic-bezier(.16,1,.3,1)}
.prog-goal{font-size:.7rem;color:var(--ink-4);margin-top:.35rem}
.btn-camp {
  width:100%;padding:.78rem;background:var(--brand);color:white;
  border:none;border-radius:var(--r-full);font-weight:600;font-size:.83rem;
  transition:all .2s;letter-spacing:.02em;box-shadow:0 4px 16px var(--brand-glow);
}
.btn-camp:hover{background:var(--brand-dark);transform:translateY(-1px)}
.btn-camp-secondary{
  background:var(--surface-2);color:var(--ink);
  border:1px solid var(--border);box-shadow:none;
}
.btn-camp-secondary:hover{background:white;color:var(--brand);border-color:var(--brand)}
.camp-preview-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem}
.camp-mini-chip,.actie-detail-type{
  display:inline-flex;align-items:center;gap:.25rem;
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-3);background:var(--surface-2);border:1px solid var(--border);
  border-radius:var(--r-full);padding:.28rem .7rem;
}
.camp-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:auto}
.camp-preview-actions-stacked{grid-template-columns:1fr}
.camp-card-preview .camp-body p,.camp-card-tile .camp-body p{flex:initial}
.camp-card-tile{transition:transform .25s,box-shadow .25s,border-color .25s}
.camp-card-tile.camp-open{border-color:rgba(193,90,52,.35);box-shadow:var(--sh-lg)}
.camp-card-tile .camp-expand{
  margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);
}
.camp-tile-summary{margin-bottom:1rem}
.camp-tile-summary p{margin:0}
.camp-tile-summary p+p{margin-top:.65rem}
.action-details-card{display:flex;flex-direction:row;
  .camp-img-wrap{height:100%;max-width:50%}
}
@media(max-width:720px) {
  .action-details-card {
    flex-direction: column
  }

  .action-details-card .camp-img-wrap {
    max-width: 100%;
    height: 220px
  }
}

/* ════════════════════════════════════════════════════
   TIMELINE
════════════════════════════════════════════════════ */
.tl-intro{text-align:center;max-width:580px;margin:0 auto 3rem}

/* ── Horizontal Timeline ────────────────────────────── */
.tl-track-outer{
  position:relative;overflow-x:auto;overflow-y:hidden;
  padding:2.5rem 0 3rem;cursor:grab;user-select:none;
  scrollbar-width:thin;scrollbar-color:var(--brand) var(--border);
}
.tl-track-outer:active{cursor:grabbing}
.tl-track-outer::-webkit-scrollbar{height:4px}
.tl-track-outer::-webkit-scrollbar-track{background:var(--border);border-radius:2px}
.tl-track-outer::-webkit-scrollbar-thumb{background:var(--brand);border-radius:2px}
.tl-track{
  display:flex;align-items:flex-start;gap:0;
  min-width:max-content;padding:0 3rem;
  position:relative;
}
/* Center line */
.tl-track::before{
  content:'';position:absolute;top:56px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--brand) 5%,var(--gold) 50%,var(--brand) 95%,transparent 100%);
  z-index:0;
}
.tl-h-item{
  display:flex;flex-direction:column;align-items:center;
  width:260px;flex-shrink:0;position:relative;
  padding:0 1.5rem;
}
.tl-h-dot{
  width:20px;height:20px;border-radius:50%;
  background:var(--brand);border:3px solid white;
  box-shadow:0 0 0 3px var(--brand),0 4px 12px var(--brand-glow);
  position:relative;z-index:2;margin-bottom:1.2rem;
  flex-shrink:0;transition:transform .2s,box-shadow .2s;
}
.tl-h-item:hover .tl-h-dot{
  transform:scale(1.3);
  box-shadow:0 0 0 4px var(--brand),0 6px 20px var(--brand-glow);
}
.tl-h-card{
  background:white;border-radius:var(--r-lg);
  padding:1.2rem;width:220px;
  box-shadow:var(--sh-md);border:1px solid var(--border);
  transition:transform .2s,box-shadow .2s;text-align:center;
}
.tl-h-item:hover .tl-h-card{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.tl-h-icon{font-size:1.6rem;margin-bottom:.4rem}
.tl-h-date{font-size:.68rem;font-weight:700;color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.tl-h-title{font-size:.92rem;font-weight:700;color:var(--ink);margin-bottom:.5rem;font-family:var(--font-d)}
.tl-h-desc{font-size:.77rem;color:var(--ink-3);line-height:1.6;margin-bottom:.6rem}
.tl-h-photos{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center}
.tl-h-photos img{width:58px;height:44px;object-fit:cover;border-radius:var(--r-sm);box-shadow:var(--sh-xs);cursor:zoom-in;transition:transform .2s}
.tl-h-photos img:hover{transform:scale(1.1)}
.tl-scroll-hint{text-align:center;font-size:.75rem;color:var(--ink-4);margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.3rem}

/* Keep old vertical for mobile fallback */
.tl-wrap{display:none}
.tl-axis{display:none}
.tl-item{display:none}
.tl-left{display:none}
.tl-right{display:none}
.tl-center{display:none}
.tl-dot {
  width:16px;height:16px;border-radius:50%;background:var(--brand);
  border:2px solid white;box-shadow:0 0 0 2px var(--brand);flex-shrink:0;margin-top:.2rem;
}
.tl-date{font-size:.68rem;font-weight:700;color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem}
.tl-text-box h3{font-size:1.15rem;color:var(--ink);margin-bottom:.45rem;font-weight:400}
.tl-text-box p{font-size:.83rem;color:var(--ink-3);line-height:1.75;font-weight:300}
.tl-photos{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}
.tl-photos img{width:76px;height:58px;object-fit:cover;border-radius:var(--r-sm);box-shadow:var(--sh-sm);transition:transform .2s}
.tl-photos img:hover{transform:scale(1.06)}


/* ════════════════════════════════════════════════════
   DONATE
════════════════════════════════════════════════════ */
.don-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.don-impact{display:flex;flex-direction:column;gap:.6rem;margin-top:2rem}
.don-ii{
  display:flex;align-items:center;gap:1rem;padding:.85rem 1.2rem;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-md);transition:background .2s;font-size:.87rem;
  color:rgba(255,255,255,.75);
}
.don-ii:hover{background:rgba(255,255,255,.08)}
.don-ii-amt{color:var(--gold-light);font-weight:700;min-width:3.2rem;font-size:.92rem}
.don-form-card{background:var(--white);border-radius:var(--r-xl);padding:2.6rem;box-shadow:var(--sh-xl)}
.don-form-card h3{font-size:1.7rem;color:var(--ink);margin-bottom:1.8rem;font-weight:400}
.amt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.7rem}
.amt-btn{
  padding:.72rem;border:1.5px solid var(--border);border-radius:var(--r-md);
  background:var(--surface);font-weight:700;font-size:.9rem;color:var(--ink-2);
  transition:all .2s;
}
.amt-btn:hover,.amt-btn.on{border-color:var(--brand);background:var(--brand-subtle);color:var(--brand);box-shadow:0 0 0 3px rgba(193,90,52,.1)}
.custom-inp{
  width:100%;padding:.72rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-md);
  font-size:.9rem;background:var(--surface);color:var(--ink);transition:all .2s;display:none;margin-bottom:.7rem;
}
.custom-inp:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(193,90,52,.12)}
.type-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem}
.type-btn{
  padding:.65rem;border:1.5px solid var(--border);border-radius:var(--r-md);
  background:var(--surface);font-size:.82rem;font-weight:600;color:var(--ink-3);transition:all .2s;
}
.type-btn.on{border-color:var(--brand);background:var(--brand-subtle);color:var(--brand)}
.f-row{margin-bottom:.85rem}
.f-row label{display:block;font-size:.7rem;font-weight:700;color:var(--ink-3);margin-bottom:.3rem;letter-spacing:.06em;text-transform:uppercase}
.f-row input{
  width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-md);
  font-size:.87rem;background:var(--surface);color:var(--ink);transition:all .2s;
}
.f-row input:focus{outline:none;border-color:var(--brand);background:white;box-shadow:0 0 0 3px rgba(193,90,52,.1)}
.btn-donate{
  width:100%;padding:1rem;background:var(--brand);color:white;border:none;
  border-radius:var(--r-full);font-weight:700;font-size:.92rem;letter-spacing:.02em;
  transition:all .2s;box-shadow:var(--sh-brand);margin-top:.5rem;
}
.btn-donate:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:0 12px 36px var(--brand-glow)}
.secure-note{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.7rem;color:var(--ink-4);margin-top:.75rem}

/* ════════════════════════════════════════════════════
   BLOG
════════════════════════════════════════════════════ */
.blog-head-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;flex-wrap:wrap;gap:1rem}
.blog-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.8rem}
.blog-card{
  background:var(--white);border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--sh-xs);
  transition:transform .3s,box-shadow .3s;
}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--sh-xl)}
.blog-img{width:100%;object-fit:cover;transition:transform .5s}
.blog-card:hover .blog-img{transform:scale(1.04)}
.blog-card.feat .blog-img{height:300px}
.blog-card.sm .blog-img{height:140px}
.blog-body{padding:1.6rem}
.blog-meta{display:flex;align-items:center;gap:.6rem;font-size:.7rem;color:var(--ink-4);margin-bottom:.55rem}
.blog-cat{color:var(--brand);font-weight:700}
.blog-dot{width:3px;height:3px;background:var(--border-strong);border-radius:50%}
.blog-body h3{font-size:1.15rem;color:var(--ink);font-weight:400;line-height:1.3;margin-bottom:.45rem}
.blog-body p{font-size:.82rem;color:var(--ink-3);line-height:1.65;font-weight:300}
.blog-side{display:flex;flex-direction:column;gap:1.2rem}
.more-link{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.84rem;font-weight:600;color:var(--brand);
  transition:gap .2s;
}
.more-link:hover{gap:.7rem}

/* ════════════════════════════════════════════════════
   TEAM
════════════════════════════════════════════════════ */
.team-head{text-align:center;max-width:560px;margin:0 auto 4.5rem}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.4rem}
.team-card{
  background:var(--white);border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--sh-xs);
  transition:transform .25s,box-shadow .25s;text-align:center;padding-bottom:1.4rem;
}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.team-photo-wrap{height:160px;overflow:hidden;margin-bottom:1.2rem}
.team-photo{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.team-card:hover .team-photo{transform:scale(1.06)}
.team-init{
  width:100%;height:100%;
  background:linear-gradient(135deg,var(--brand),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-d);font-size:2.2rem;color:white;font-weight:400;
}
.team-card h4{font-size:.9rem;font-weight:700;color:var(--ink);font-family:var(--font-b);margin-bottom:.25rem;padding:0 1rem}
.team-card p{font-size:.75rem;color:var(--brand);font-weight:600;padding:0 1rem}

/* ════════════════════════════════════════════════════
   FAQ
════════════════════════════════════════════════════ */
.faq-inner{max-width:720px;margin:0 auto}
.faq-head{text-align:center;margin-bottom:3.5rem}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.3rem 0;cursor:pointer;font-weight:600;color:var(--ink);
  font-size:.92rem;gap:1rem;user-select:none;transition:color .2s;
}
.faq-q:hover{color:var(--brand)}
.faq-icon{
  width:28px;height:28px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;color:var(--ink-3);transition:all .3s;flex-shrink:0;
}
.faq-item.open .faq-icon{background:var(--brand);color:white;border-color:var(--brand);transform:rotate(45deg)}
.faq-a{display:none;padding-bottom:1.3rem;font-size:.86rem;color:var(--ink-3);line-height:1.8;font-weight:300}
.faq-item.open .faq-a{display:block}

/* ════════════════════════════════════════════════════
   CONTACT
════════════════════════════════════════════════════ */
.con-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start}
.con-text .sec-h2{margin-bottom:1.3rem}
.con-text p{color:var(--ink-3);font-size:.93rem;line-height:1.8;margin-bottom:2rem;font-weight:300}
.con-details{display:flex;flex-direction:column;gap:.9rem}
.con-item{display:flex;align-items:center;gap:.9rem;font-size:.88rem;color:var(--ink-3)}
.con-icon{
  width:42px;height:42px;border-radius:var(--r-md);
  background:var(--brand-subtle);border:1px solid rgba(193,90,52,.15);
  display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;
}
.con-form-card{background:var(--surface-2);border-radius:var(--r-xl);padding:2.6rem;border:1px solid var(--border)}
.con-form-card h3{font-size:1.6rem;color:var(--ink);margin-bottom:1.8rem;font-weight:400}
.cf-row{margin-bottom:.85rem}
.cf-row label{display:block;font-size:.7rem;font-weight:700;color:var(--ink-3);margin-bottom:.3rem;letter-spacing:.06em;text-transform:uppercase}
.cf-row input,.cf-row textarea{
  width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--r-md);
  font-size:.87rem;background:var(--white);color:var(--ink);transition:all .2s;
}
.cf-row textarea{min-height:110px;resize:vertical}
.cf-row input:focus,.cf-row textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(193,90,52,.1)}
.btn-send{
  width:100%;padding:1rem;background:var(--brand);color:white;border:none;
  border-radius:var(--r-full);font-weight:700;font-size:.9rem;
  transition:all .2s;box-shadow:var(--sh-brand);margin-top:.5rem;letter-spacing:.02em;
}
.btn-send:hover{background:var(--brand-dark);transform:translateY(-1px)}

/* ════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════ */
footer{background:var(--ink);color:rgba(255,255,255,.55);padding:5.5rem 0 2.5rem}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4.5rem}
.footer-brand-logo{display:flex;align-items:center;gap:.65rem;font-family:var(--font-d);font-size:1.25rem;color:var(--gold);font-weight:600;margin-bottom:.9rem}
.footer-brand p{font-size:.8rem;line-height:1.7;max-width:240px}
.footer-col h5{font-family:var(--font-b);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:1.3rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.footer-col ul li a{font-size:.81rem;transition:color .2s}
.footer-col ul li a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.76rem}
.soc-row{display:flex;gap:.5rem}
.soc-btn{
  width:34px;height:34px;border-radius:var(--r-sm);
  background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;
  font-size:.85rem;transition:background .2s;
}
.soc-btn:hover{background:var(--brand)}

/* ════════════════════════════════════════════════════
   LOGIN MODAL
════════════════════════════════════════════════════ */
.modal-overlay{
  position:fixed;inset:0;background:rgba(12,7,2,.75);backdrop-filter:blur(16px);
  z-index:600;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;padding:1rem;
}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal-box{
  background:var(--white);border-radius:var(--r-xl);padding:3rem;width:100%;max-width:440px;
  position:relative;box-shadow:var(--sh-xl);border:1px solid var(--border);
  transform:translateY(20px) scale(.97);transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.modal-overlay.open .modal-box{transform:none}
.modal-close{
  position:absolute;top:1.3rem;right:1.3rem;width:32px;height:32px;border-radius:var(--r-sm);
  background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  font-size:.9rem;color:var(--ink-3);transition:all .2s;
}
.modal-close:hover{background:var(--surface-2);color:var(--brand)}
.modal-box h3{font-size:1.75rem;color:var(--ink);margin-bottom:.35rem;font-weight:400}
.modal-box > p{font-size:.83rem;color:var(--ink-3);margin-bottom:1.8rem;font-weight:300}
.modal-tabs{display:flex;gap:.3rem;margin-bottom:2rem;background:var(--surface-2);border-radius:var(--r-md);padding:.25rem}
.modal-tab{
  flex:1;padding:.55rem;border:none;border-radius:var(--r-sm);
  font-size:.8rem;font-weight:600;color:var(--ink-3);background:none;transition:all .2s;
}
.modal-tab.on{background:white;color:var(--brand);box-shadow:var(--sh-xs)}
.hint-box{background:var(--gold-subtle);border:1px solid rgba(201,137,42,.2);border-radius:var(--r-md);padding:.85rem 1rem;font-size:.76rem;color:var(--ink-2);margin-top:.8rem;line-height:1.6}
.hint-box strong{color:var(--gold)}

/* ════════════════════════════════════════════════════
   ████ ADMIN PORTAL ████
════════════════════════════════════════════════════ */
.adm-shell{
  position:fixed;inset:0;z-index:700;display:none;
  background:var(--adm-bg);font-family:var(--font-b);
}
.adm-shell.open{display:flex}
/* Sidebar */
.adm-sidebar{
  width:260px;flex-shrink:0;background:var(--adm-surface);
  border-right:1px solid var(--adm-border);
  display:flex;flex-direction:column;overflow-y:auto;height:100vh;
}
.adm-sidebar::-webkit-scrollbar{width:3px}
.adm-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}
.adm-logo-area{padding:1.8rem 1.6rem 1.4rem;border-bottom:1px solid var(--adm-border)}
.adm-logo-row{display:flex;align-items:center;gap:.65rem;font-family:var(--font-d);font-size:1.15rem;color:var(--gold);font-weight:600;margin-bottom:.2rem}
.adm-logo-icon{width:28px;height:28px;background:var(--brand);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}
.adm-role-badge{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.22rem .7rem;border-radius:var(--r-full);
}
.badge-super{background:rgba(201,137,42,.18);color:var(--gold-light)}
.badge-admin{background:rgba(193,90,52,.18);color:var(--brand-light)}
.badge-user{background:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}
.adm-nav-section-label{
  font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.2);padding:.9rem 1.4rem .35rem;
}
.adm-nav{padding:.5rem .8rem;display:flex;flex-direction:column;gap:.1rem;flex:1}
.adm-nav-btn{
  display:flex;align-items:center;gap:.75rem;padding:.72rem 1rem;border-radius:var(--r-md);
  color:var(--adm-muted);font-size:.83rem;font-weight:500;cursor:pointer;
  border:none;background:none;width:100%;text-align:left;transition:all .2s;
  font-family:var(--font-b);
}
.adm-nav-btn .nb-icon{font-size:.9rem;width:18px;text-align:center;flex-shrink:0}
.adm-nav-btn:hover{background:rgba(255,255,255,.05);color:rgba(255,255,255,.8)}
.adm-nav-btn.active{background:rgba(193,90,52,.15);color:#E07A52;font-weight:600}
.adm-sidebar-foot{padding:1.2rem 1.6rem;border-top:1px solid var(--adm-border)}
.adm-user-row{display:flex;align-items:center;gap:.7rem}
.adm-av{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:var(--brand);display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;color:white;
}
.adm-user-info{flex:1;min-width:0}
.adm-user-name{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-user-role{font-size:.68rem;color:var(--adm-muted)}
/* Main Area */
.adm-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}
.adm-topbar{
  background:var(--adm-surface);border-bottom:1px solid var(--adm-border);
  padding:.9rem 2rem;display:flex;align-items:center;gap:1rem;flex-shrink:0;
}
.adm-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.82rem;flex:1}
.bc-home{color:var(--adm-muted);transition:color .2s}
.bc-home:hover{color:rgba(255,255,255,.7)}
.bc-sep{color:rgba(255,255,255,.15);font-size:.7rem}
.bc-current{color:rgba(255,255,255,.85);font-weight:600}
.adm-topbar-actions{display:flex;align-items:center;gap:.75rem}
.btn-close-portal{
  display:flex;align-items:center;gap:.4rem;
  background:rgba(193,90,52,.12);color:var(--brand-light);
  border:1px solid rgba(193,90,52,.25);padding:.48rem 1.1rem;border-radius:var(--r-full);
  font-size:.76rem;font-weight:600;transition:all .2s;font-family:var(--font-b);
}
.btn-close-portal:hover{background:var(--brand);color:white;border-color:var(--brand)}
.adm-content{flex:1;overflow-y:auto;padding:2rem}
.adm-content::-webkit-scrollbar{width:4px}
.adm-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
/* Sections */
.adm-section{display:none}
.adm-section.show{display:block}
/* Stat Cards */
.adm-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-bottom:1.8rem}
.astat{
  background:var(--adm-surface);border:1px solid var(--adm-border);
  border-radius:var(--r-lg);padding:1.4rem 1.5rem;
}
.astat-icon{font-size:1.4rem;margin-bottom:.6rem}
.astat-val{font-family:var(--font-d);font-size:1.85rem;font-weight:600;color:white;line-height:1}
.astat-label{font-size:.68rem;color:var(--adm-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:.25rem}
.astat-delta{font-size:.72rem;font-weight:600;color:var(--sage-light);margin-top:.2rem}
/* Cards */
.adm-card{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--r-lg);padding:1.5rem}
.adm-card-title{
  font-size:.82rem;font-weight:700;color:rgba(255,255,255,.8);
  margin-bottom:1.2rem;display:flex;align-items:center;justify-content:space-between;
  font-family:var(--font-b);
}
.adm-card-title span{font-size:.7rem;font-weight:400;color:var(--adm-muted)}
.adm-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
.adm-grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
/* Tables */
.adm-table{width:100%;border-collapse:collapse;font-size:.78rem}
.adm-table th{text-align:left;padding:.45rem .65rem;border-bottom:1px solid var(--adm-border);color:var(--adm-muted);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.adm-table td{padding:.7rem .65rem;border-bottom:1px solid rgba(255,255,255,.04);color:rgba(255,255,255,.75);vertical-align:middle}
.adm-table tr:last-child td{border-bottom:none}
.adm-table tr:hover td{background:rgba(255,255,255,.02)}
/* Badges */
.abadge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:var(--r-full);font-size:.66rem;font-weight:700}
.abadge-green{background:rgba(66,106,58,.25);color:#7bbf6e}
.abadge-orange{background:rgba(193,90,52,.25);color:#E07A52}
.abadge-blue{background:rgba(80,120,180,.2);color:#7aaeff}
.abadge-yellow{background:rgba(201,137,42,.2);color:#F0B84A}
.abadge-red{background:rgba(180,50,50,.2);color:#ff7a7a}
/* Forms */
.adm-form-panel{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--r-lg);padding:1.7rem}
.adm-form-title{font-size:.84rem;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:1.4rem;font-family:var(--font-b);padding-bottom:.8rem;border-bottom:1px solid var(--adm-border)}
.afield{margin-bottom:.8rem}
.afield label{display:block;font-size:.67rem;font-weight:700;color:var(--adm-muted);margin-bottom:.28rem;letter-spacing:.07em;text-transform:uppercase}
.afield input,.afield textarea,.afield select{
  width:100%;padding:.62rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);
  font-size:.82rem;font-family:var(--font-b);background:rgba(255,255,255,.05);color:rgba(255,255,255,.85);
  transition:all .2s;
}
.afield input:focus,.afield textarea:focus,.afield select:focus{outline:none;border-color:var(--brand-light);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(193,90,52,.15)}
.afield textarea{min-height:80px;resize:vertical}
.afield select{cursor:pointer;-webkit-appearance:none}
.afield select option{background:#1A110A;color:rgba(255,255,255,.85)}
.afield-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
/* Buttons */
.abtn{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.58rem 1.3rem;border-radius:var(--r-full);font-size:.78rem;font-weight:700;
  border:none;transition:all .2s;font-family:var(--font-b);letter-spacing:.02em;
}
.abtn-primary{background:var(--brand);color:white}
.abtn-primary:hover{background:var(--brand-dark);transform:translateY(-1px)}
.abtn-secondary{background:rgba(255,255,255,.12);color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.2)}
.abtn-secondary:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.35)}
.abtn-danger{background:rgba(220,60,60,.2);color:#ff9090;border:1px solid rgba(220,60,60,.35)}
.abtn-danger:hover{background:rgba(220,60,60,.35);color:#ffbaba}
.abtn-gold{background:rgba(201,137,42,.22);color:#f0c060;border:1px solid rgba(201,137,42,.4)}
.abtn-gold:hover{background:rgba(201,137,42,.38)}
.abtn-sm{padding:.38rem .9rem;font-size:.71rem}
/* Item rows */
.aitem{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.85rem 1rem;background:rgba(255,255,255,.03);border-radius:var(--r-md);
  border:1px solid var(--adm-border);transition:background .15s;margin-bottom:.5rem;
}
.aitem:hover{background:rgba(255,255,255,.05)}
.aitem-main{flex:1;min-width:0}
.aitem-title{font-size:.83rem;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:.08rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aitem-sub{font-size:.7rem;color:var(--adm-muted)}
.aitem-actions{display:flex;gap:.4rem;flex-shrink:0}
/* Mini prog */

/* ── Gallery edit thumbnails ─────────────────────────────── */
.aitem-edit-panel {
  background:var(--surface-2);border:1px solid var(--border);
  border-radius:var(--r-md);padding:1rem;margin:.3rem 0 .6rem;
}
.aitem-edit-thumb-row {
  display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem;
}
.gale-thumb {
  position:relative;width:70px;height:70px;flex-shrink:0;
}
.gale-thumb img {
  width:100%;height:100%;object-fit:cover;
  border-radius:var(--r-sm);border:1px solid var(--border);
}
.gale-thumb-del {
  position:absolute;top:-5px;right:-5px;
  width:20px;height:20px;border-radius:50%;
  background:#ef4444;color:white;border:none;
  font-size:.65rem;cursor:pointer;line-height:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 1px 4px rgba(0,0,0,.3);
  transition:background .15s;
}
.gale-thumb-del:hover { background:#dc2626; }
.gale-thumbs-label {
  width:100%;font-size:.72rem;font-weight:700;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;
}

.mprog{margin-bottom:.9rem}
.mprog-top{display:flex;justify-content:space-between;font-size:.73rem;color:rgba(255,255,255,.6);margin-bottom:.35rem}
.mprog-top strong{color:var(--brand-light)}
.mprog-bar{height:4px;background:rgba(255,255,255,.1);border-radius:var(--r-full);overflow:hidden}
.mprog-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:var(--r-full)}
/* Empty state */
.empty-state{text-align:center;padding:3.5rem 1rem;color:var(--adm-muted)}
.empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}
/* Permission guard */
.perm-warning{
  background:rgba(180,50,50,.1);border:1px solid rgba(180,50,50,.2);border-radius:var(--r-md);
  padding:1.2rem 1.4rem;color:#ffaaaa;font-size:.82rem;display:flex;align-items:center;gap:.7rem;margin-bottom:1.5rem;
}

/* Super Admin specific */
.theme-swatch-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.theme-swatch{
  width:36px;height:36px;border-radius:.5rem;cursor:pointer;
  border:2px solid transparent;transition:all .2s;
}
.theme-swatch.on{border-color:white;transform:scale(1.1)}
.module-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1rem;background:rgba(255,255,255,.03);border-radius:var(--r-md);
  border:1px solid var(--adm-border);margin-bottom:.5rem;
}
.module-info h4{font-size:.83rem;font-weight:600;color:rgba(255,255,255,.8);margin-bottom:.1rem}
.module-info p{font-size:.7rem;color:var(--adm-muted)}
.toggle-switch{width:44px;height:24px;background:rgba(255,255,255,.1);border-radius:var(--r-full);cursor:pointer;position:relative;transition:background .3s;border:none;flex-shrink:0}
.toggle-switch.on{background:var(--brand)}
.toggle-switch::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:white;border-radius:50%;transition:transform .3s;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.toggle-switch.on::after{transform:translateX(20px)}

/* ════════════════════════════════════════════════════
   TOAST
════════════════════════════════════════════════════ */
.toast{
  position:fixed;bottom:2rem;right:2rem;z-index:900;
  padding:1rem 1.4rem;border-radius:var(--r-lg);
  display:flex;align-items:center;gap:.8rem;min-width:260px;max-width:400px;
  transform:translateY(80px) scale(.95);opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1);
  box-shadow:var(--sh-xl);font-size:.85rem;font-family:var(--font-b);
}
.toast.show{transform:none;opacity:1}
.toast-ok{background:var(--ink);color:white;border:1px solid rgba(255,255,255,.08)}
.toast-warn{background:#2D1A0A;color:#ffcba4;border:1px solid rgba(200,100,50,.3)}
.toast-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;flex-shrink:0}
.toast-ok .toast-icon{background:var(--sage)}
.toast-warn .toast-icon{background:var(--brand-dark)}
.toast-dismiss{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.3);font-size:1rem;padding:0;transition:color .2s;flex-shrink:0}
.toast-dismiss:hover{color:rgba(255,255,255,.7)}

/* ════════════════════════════════════════════════════
   ANIMATIONS & UTILITY
════════════════════════════════════════════════════ */
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(240,184,74,.5)}70%{box-shadow:0 0 0 6px rgba(240,184,74,0)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.vis{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.divider{height:1px;background:var(--border);margin:2rem 0}

/* ════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .about-grid,.don-grid,.con-grid{grid-template-columns:1fr;gap:3rem}
  .hero-content-wrap{grid-template-columns:1fr;gap:3rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .blog-grid{grid-template-columns:1fr}
  .blog-side{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
  .about-visual{aspect-ratio:auto;height:360px}
  .adm-stats-row{grid-template-columns:1fr 1fr}
  .adm-grid-2{grid-template-columns:1fr}
}
@media(max-width:768px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .camp-grid{grid-template-columns:1fr}
  .hero-content-wrap{padding:4rem 1.5rem 7rem}
  .tl-axis{display:none}
  .tl-item{grid-template-columns:auto 1fr;gap:1rem}
  .tl-left,.tl-item:nth-child(even) .tl-left{display:none}
  .tl-right,.tl-item:nth-child(even) .tl-right{grid-column:2;grid-row:1;text-align:left;padding:0}
  .tl-center,.tl-item:nth-child(even) .tl-center{grid-column:1;grid-row:1;justify-content:flex-start}
  .adm-shell{flex-direction:column}
  .adm-sidebar{width:100%;height:auto;flex-direction:row;overflow-x:auto}
  .adm-logo-area,.adm-nav-section-label,.adm-sidebar-foot{display:none}
  .adm-nav{flex-direction:row;padding:.4rem;overflow-x:auto;flex:none;gap:.2rem}
  .adm-nav-btn{flex-shrink:0;padding:.55rem .8rem;font-size:.75rem;white-space:nowrap}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .blog-side{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .afield-row{grid-template-columns:1fr}
  .adm-stats-row{grid-template-columns:1fr 1fr}
  .adm-grid-equal{grid-template-columns:1fr}
  .sec{padding:5rem 0}
}
@media(max-width:480px){
  .amt-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stats-grid{grid-template-columns:1fr 1fr}
  .adm-stats-row{grid-template-columns:1fr 1fr}
  .container{padding:0 1.25rem}
  .about-visual{height:280px}
  .hstat-val{font-size:1.5rem}
}
/* ════════════════════════════════════════════════════
   ANNOUNCEMENT BANNER
════════════════════════════════════════════════════ */
#siteBanner {
  background: linear-gradient(90deg, var(--brand-dark) 0%, var(--brand) 50%, #b8471e 100%);
  color: white;
  text-align: center;
  padding: .7rem 3.5rem .7rem 1.5rem;
  font-size: .82rem;
  font-weight: 500;
  position: relative;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  letter-spacing: .01em;
  box-shadow: 0 2px 8px rgba(193,90,52,.35);
}
#siteBanner a {
  color: white;
  font-weight: 700;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: var(--r-full);
  padding: .2rem .75rem;
  font-size: .78rem;
  transition: background .2s;
  white-space: nowrap;
  text-decoration: none;
}
#siteBanner a:hover { background: rgba(255,255,255,.3); }
#bannerClose {
  position: absolute; right: .9rem; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px;
  background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%; color: white;
  cursor: pointer; font-size: .75rem;
  display: flex; align-items: center; justify-content: center;
  line-height: 1; transition: background .2s;
}
#bannerClose:hover { background: rgba(255,255,255,.3); }

/* ════════════════════════════════════════════════════
   COUNTDOWN TIMER
════════════════════════════════════════════════════ */
.countdown-label {
  font-size: .72rem;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: .6rem;
}
.countdown-wrap {
  display: flex; gap: .6rem; justify-content: flex-start;
  margin: .4rem 0 1.5rem; flex-wrap: wrap;
}
.countdown-unit {
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-md);
  padding: .65rem .9rem;
  text-align: center;
  min-width: 62px;
  transition: background .3s;
}
.countdown-num {
  font-family: var(--font-d);
  font-size: 1.8rem;
  color: white;
  line-height: 1;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.countdown-lbl {
  font-size: .6rem;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-top: .2rem;
}
.countdown-gone {
  display: flex;
  align-items: center;
  gap: .9rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--r-lg);
  padding: .9rem 1.4rem;
  margin: .8rem 0 1.5rem;
  backdrop-filter: blur(12px);
  font-family: var(--font-d);
  font-size: 1.05rem;
  color: var(--gold-light);
  font-style: italic;
  line-height: 1.4;
  animation: fadeSlideIn .6s ease;
}
.countdown-gone-icon {
  font-size: 2rem;
  animation: flyIn 1.2s ease;
}
@keyframes flyIn {
  0% { transform: translateX(-30px); opacity:0; }
  100% { transform: none; opacity:1; }
}
@keyframes fadeSlideIn {
  0% { opacity:0; transform: translateY(8px); }
  100% { opacity:1; transform: none; }
}
.cd-link { color: var(--gold-light); text-decoration: underline; font-style: normal; font-size: .85rem; }

/* ════════════════════════════════════════════════════
   PARTNER LOGOS
════════════════════════════════════════════════════ */
.logos-section {
  padding: 2.5rem 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.logos-wrap {
  max-width: 1200px; margin: 0 auto; padding: 0 2rem;
  display: flex; align-items: center; justify-content: center;
  gap: 3rem; flex-wrap: wrap;
}
.logos-label {
  font-size: .75rem; color: var(--ink-4);
  text-transform: uppercase; letter-spacing: .1em;
  font-weight: 600; white-space: nowrap;
}
.logo-partner {
  display: flex; align-items: center; justify-content: center;
  padding: .5rem 1.5rem;
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  min-width: 120px; min-height: 56px;
  transition: all .2s; background: white;
  box-shadow: var(--sh-xs);
}
.logo-partner:hover {
  border-color: var(--brand);
  box-shadow: var(--sh-sm);
  transform: translateY(-2px);
}
.logo-partner img {
  max-height: 40px; max-width: 140px; object-fit: contain;
}
.logo-partner-placeholder {
  font-family: var(--font-d);
  font-size: .9rem; color: var(--ink-3);
  text-align: center; padding: .5rem;
}

/* ════════════════════════════════════════════════════
   BLOG DETAIL MODAL
════════════════════════════════════════════════════ */
.blog-modal-overlay {
  position: fixed; inset: 0; z-index: 800;
  background: rgba(28,18,8,.7); backdrop-filter: blur(8px);
  display: flex; align-items: flex-start; justify-content: center;
  padding: 2rem 1rem; overflow-y: auto;
  opacity: 0; pointer-events: none;
  transition: opacity .35s ease;
}
.blog-modal-overlay.open {
  opacity: 1; pointer-events: auto;
}
.blog-modal {
  background: var(--surface);
  border-radius: var(--r-xl);
  max-width: 780px; width: 100%;
  overflow: hidden;
  box-shadow: var(--sh-xl);
  transform: translateY(30px) scale(.97);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.blog-modal-overlay.open .blog-modal {
  transform: none;
}
.blog-modal-hero {
  position: relative; height: 300px; overflow: hidden;
}
.blog-modal-hero img {
  width: 100%; height: 100%; object-fit: cover;
}
.blog-modal-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(28,18,8,.7));
}
.blog-modal-close {
  position: absolute; top: 1rem; right: 1rem;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.9); border: none;
  font-size: 1.1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--sh-md); transition: all .2s; color: var(--ink);
}
.blog-modal-close:hover { background: white; transform: scale(1.05); }
.blog-modal-body { padding: 2.5rem; }
.blog-gallery-nav {
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;border:none;
  background:rgba(255,255,255,.92);color:var(--ink);box-shadow:var(--sh-md);
  display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;
}
.blog-gallery-prev{left:1rem}
.blog-gallery-next{right:1rem}
.blog-gallery-count{
  position:absolute;left:1rem;bottom:1rem;z-index:3;
  background:rgba(28,18,8,.68);color:white;padding:.32rem .65rem;border-radius:var(--r-full);
  font-size:.72rem;font-weight:700;letter-spacing:.04em;
}
.blog-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.65rem;margin-bottom:1.4rem}
.blog-gallery-thumb{padding:0;border:none;background:none;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-xs)}
.blog-gallery-thumb img{width:100%;height:76px;object-fit:cover;display:block}
.blog-gallery-thumb.active{outline:2px solid var(--brand)}
.blog-modal-meta {
  display: flex; align-items: center; gap: .6rem;
  font-size: .78rem; color: var(--ink-3); margin-bottom: 1rem;
}
.blog-modal-title {
  font-family: var(--font-d);
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--ink); line-height: 1.2;
  margin-bottom: 1.5rem;
}
.blog-modal-content {
  color: var(--ink-2); line-height: 1.8;
  font-size: .95rem;
}
.blog-modal-content p { margin-bottom: 1.2rem; }
.blog-related {
  margin-top: 2rem; padding-top: 2rem;
  border-top: 1px solid var(--border);
}
.blog-related-title {
  font-size: .78rem; font-weight: 700; color: var(--ink-3);
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 1rem;
}
.blog-related-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}
.blog-related-card {
  border: 1px solid var(--border); border-radius: var(--r-md);
  overflow: hidden; cursor: pointer; transition: all .2s;
}
.blog-related-card:hover {
  border-color: var(--brand); transform: translateY(-2px); box-shadow: var(--sh-sm);
}
.blog-related-card img { width: 100%; height: 100px; object-fit: cover; }
.blog-related-card-body { padding: .7rem; }
.blog-related-card-body h4 {
  font-size: .8rem; color: var(--ink); line-height: 1.3;
  font-family: var(--font-d);
}
/* Make blog cards clickable */
.blog-card { cursor: pointer; transition: all .25s; }
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--sh-lg); }

/* ════════════════════════════════════════════════════
   ONS VERHAAL PAGE (modal)
════════════════════════════════════════════════════ */
.story-modal-overlay {
  position: fixed; inset: 0; z-index: 790;
  background: rgba(28,18,8,.8); backdrop-filter: blur(10px);
  display: flex; align-items: flex-start; justify-content: center;
  padding: 2rem 1rem; overflow-y: auto;
  opacity: 0; pointer-events: none;
  transition: opacity .35s ease;
}
.story-modal-overlay.open {
  opacity: 1; pointer-events: auto;
}
.story-modal {
  background: var(--surface);
  border-radius: var(--r-xl);
  max-width: 860px; width: 100%;
  overflow: hidden;
  box-shadow: var(--sh-xl);
  transform: translateY(30px) scale(.97);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.story-modal-overlay.open .story-modal { transform: none; }
.story-modal-top {
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 60%, var(--gold) 100%);
  padding: 4rem 3rem 3rem;
  position: relative; overflow: hidden;
}
.story-modal-top::before {
  content: '✦';
  position: absolute; right: 2rem; bottom: -1rem;
  font-size: 8rem; color: rgba(255,255,255,.06);
  font-family: var(--font-d);
}
.story-modal-top h1 {
  font-family: var(--font-d); font-size: clamp(2rem, 4vw, 2.8rem);
  color: white; line-height: 1.1; margin-bottom: 1rem;
}
.story-modal-top p { color: rgba(255,255,255,.8); font-size: 1.05rem; max-width: 560px; }
.story-modal-close {
  position: absolute; top: 1.5rem; right: 1.5rem;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.15); border: none;
  font-size: 1.1rem; cursor: pointer; color: white;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.story-modal-close:hover { background: rgba(255,255,255,.3); }
.story-modal-body { padding: 3rem; }
.story-section { margin-bottom: 2.5rem; }
.story-section h2 {
  font-family: var(--font-d); font-size: 1.5rem; color: var(--ink);
  margin-bottom: 1rem;
}
.story-section p {
  color: var(--ink-2); line-height: 1.8; margin-bottom: 1rem;
  white-space: pre-line;
}
.story-cta-row {
  display: flex; gap: 1rem; flex-wrap: wrap;
  margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--border);
}

/* ════════════════════════════════════════════════════
   TIMELINE VIDEO SUPPORT
════════════════════════════════════════════════════ */
.tl-video-wrap {
  margin-top: 1rem;
  border-radius: var(--r-md); overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--ink);
}
.tl-video-wrap iframe, .tl-video-wrap video {
  width: 100%; height: 100%; border: none; display: block;
}
.tl-photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .6rem; margin-top: .8rem;
}
.tl-photos-grid img {
  width: 100%; height: 130px; object-fit: cover;
  border-radius: var(--r-sm); cursor: pointer;
  transition: transform .2s; display: block;
}
.tl-photos-grid img:hover { transform: scale(1.02); }

/* ════════════════════════════════════════════════════
   LIGHTBOX
════════════════════════════════════════════════════ */
.lightbox {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(0,0,0,.93); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .3s;
  padding: 2rem;
}
.lightbox.open { opacity: 1; pointer-events: auto; }
.lightbox img {
  max-width: 100%; max-height: 90vh; object-fit: contain;
  border-radius: var(--r-md); box-shadow: var(--sh-xl);
}
.lightbox-close {
  position: absolute; top: 1.5rem; right: 1.5rem;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255,255,255,.15); border: none; color: white;
  font-size: 1.3rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.lightbox-close:hover { background: rgba(255,255,255,.25); }

/* ════════════════════════════════════════════════════
   FOOTER ICONS
════════════════════════════════════════════════════ */
.footer-social-icons {
  display: flex; gap: .6rem; margin-top: .5rem; flex-wrap: wrap;
}
.social-icon-btn {
  width: 38px; height: 38px; border-radius: var(--r-sm);
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; color: rgba(255,255,255,.6);
  transition: all .2s; cursor: pointer; text-decoration: none;
}
.social-icon-btn:hover {
  background: var(--brand); border-color: var(--brand);
  color: white; transform: translateY(-2px);
}
.footer-contact-item {
  display: flex; align-items: center; gap: .5rem;
  color: rgba(255,255,255,.55); font-size: .85rem;
  margin-bottom: .4rem;
  overflow-wrap: anywhere;
}
.footer-contact-item a { color: inherit; transition: color .2s; }
.footer-contact-item a:hover { color: var(--brand-light); }
.footer-contact-icon {
  font-size: 1rem; flex-shrink: 0;
}

/* ════════════════════════════════════════════════════
   ADMIN: BANNER & LOGOS & DEPARTURDATE SECTIONS
════════════════════════════════════════════════════ */
.adm-countdown-preview {
  display: flex; gap: .8rem; flex-wrap: wrap;
  margin-top: 1rem; padding: 1.2rem;
  background: rgba(255,255,255,.03);
  border-radius: var(--r-md);
  border: 1px solid var(--adm-border);
}
.adm-countdown-unit {
  background: rgba(255,255,255,.06);
  border-radius: var(--r-sm);
  padding: .5rem .8rem;
  text-align: center; min-width: 56px;
}
.adm-countdown-num {
  font-family: var(--font-d); font-size: 1.4rem; color: white;
}
.adm-countdown-lbl {
  font-size: .62rem; color: var(--adm-muted);
  text-transform: uppercase; letter-spacing: .06em;
}
.logo-preview-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
  margin-top: 1rem;
}
.logo-preview-box {
  background: rgba(255,255,255,.03);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-md); padding: 1rem;
  display: flex; flex-direction: column; align-items: center;
  gap: .5rem; min-height: 80px; justify-content: center;
}
.logo-preview-box img { max-height: 48px; object-fit: contain; }
.logo-preview-placeholder {
  font-size: .75rem; color: var(--adm-muted); text-align: center;
}

/* ════════════════════════════════════════════════════
   CHANGE PASSWORD MODAL
════════════════════════════════════════════════════ */
.chpass-overlay {
  position: fixed; inset: 0; z-index: 950;
  background: rgba(0,0,0,.85); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .3s;
}
.chpass-overlay.open { opacity: 1; pointer-events: auto; }
.chpass-box {
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-xl);
  padding: 2.5rem;
  max-width: 400px; width: 90%;
  box-shadow: var(--sh-xl);
  transform: translateY(20px); transition: transform .35s cubic-bezier(.16,1,.3,1);
}
.chpass-overlay.open .chpass-box { transform: none; }
.chpass-box h2 { color: white; font-size: 1.3rem; margin-bottom: .5rem; }
.chpass-box p { color: var(--adm-muted); font-size: .83rem; margin-bottom: 1.5rem; }

/* ════════════════════════════════════════════════════
   CAMPAIGN ACTIONS ICONS
════════════════════════════════════════════════════ */
.camp-examples {
  font-size: .76rem; color: var(--ink-4);
  margin-top: .5rem; font-style: italic;
}
.camp-examples strong { color: var(--brand); font-style: normal; }

/* ════════════════════════════════════════════════════
   RESPONSIVE EXTRA
════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .blog-modal-hero { height: 200px; }
  .blog-modal-body { padding: 1.5rem; }
  .story-modal-top { padding: 2.5rem 1.5rem 2rem; }
  .story-modal-body { padding: 1.5rem; }
  .countdown-wrap { gap: .6rem; }
  .countdown-unit { min-width: 58px; padding: .6rem .8rem; }
  .countdown-num { font-size: 1.5rem; }
  .logos-wrap { gap: 1.5rem; }
  .logo-preview-grid { grid-template-columns: 1fr; }
  .story-cta-row { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════
   v4 EXTRA STIJLEN
═══════════════════════════════════════════════════════ */

/* Gebruikerslijst tags */
.tag-me   { display:inline-block;padding:.1rem .4rem;border-radius:var(--r-full);background:var(--brand);color:#fff;font-size:.65rem;font-weight:700;margin-left:.4rem;vertical-align:middle; }
.tag-warn { display:inline-block;padding:.1rem .4rem;border-radius:var(--r-full);background:#b45309;color:#fff;font-size:.65rem;font-weight:700;margin-left:.4rem;vertical-align:middle; }
.usr-blocked { opacity:.6; }
.usr-blocked .aitem-title strong { text-decoration:line-through; }
.abadge-red { background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.25); }
.abadge-blue{ background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.25); }

/* Rol select in gebruikersrij */
.role-select {
  background: rgba(255,255,255,.06);
  border: 1px solid var(--adm-border);
  color: var(--adm-text);
  border-radius: var(--r-sm);
  padding: .25rem .5rem;
  font-size: .75rem;
  cursor: pointer;
}
.role-select:hover { border-color: var(--brand); }

/* Super-admin badge in gebruikerslijst */
.tag-super { display:inline-block;padding:.1rem .5rem;border-radius:var(--r-full);background:rgba(201,137,42,.2);color:var(--gold);border:1px solid rgba(201,137,42,.3);font-size:.65rem;font-weight:700;margin-left:.4rem; }

/* Dashboard gebruikersteller */
#ds-users { font-size:1.6rem;font-weight:700;color:var(--adm-text); }

/* Verbeterd lege staat */
.empty-state { text-align:center;padding:2rem;color:var(--adm-muted); }
.empty-state .empty-icon { font-size:2rem;margin-bottom:.5rem; }



/* Systeem reset knop betere stijl */
.danger-zone { border:1px solid rgba(239,68,68,.3);border-radius:var(--r-md);padding:1.2rem;background:rgba(239,68,68,.05);margin-top:1rem; }
.danger-zone h4 { color:#f87171;margin-bottom:.5rem; }

/* Stat voor gebruikers op dashboard */
.adm-stats-row .astat:last-child .astat-icon { font-size:1.2rem; }

/* ═══════════════════════════════════════════════════════════════
   v5 EXTRA STIJLEN
═══════════════════════════════════════════════════════════════ */

/* ── Multi-pagina nav active state ── */
.nav-links a.active { color: var(--brand); font-weight: 600; }
.cd-link { color: var(--gold); text-decoration: underline; }

/* ── Login modal tabs ── */
.login-tab-wrap { display:flex; gap:.5rem; margin-bottom:1.2rem; border-radius:var(--r-md); overflow:hidden; background:rgba(0,0,0,.04); padding:.3rem; }
.login-tab { flex:1; padding:.55rem 1rem; border:none; background:none; border-radius:var(--r-sm); font-size:.85rem; font-weight:600; cursor:pointer; color:var(--ink-3); transition:.2s; font-family:var(--font-b); }
.login-tab.on { background:var(--brand); color:#fff; }
.login-tab[data-mode="super"].on { background: linear-gradient(135deg,#1a0a3e,#3d1a8f); }
#loginModalBox[data-mode="super"] .btn-donate { background: linear-gradient(135deg,#1a0a3e,#3d1a8f); }
#loginModalBox[data-mode="super"] .btn-donate:hover { opacity:.85; }

/* ── Editor portaal shell ── */
#editorShell {
  position:fixed; inset:0; z-index:9998;
  background:var(--adm-bg);
  display:flex; flex-direction:row;
  transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
#editorShell.open { transform:none; }
#editorShell .adm-main { flex:1; display:flex; flex-direction:column; overflow:hidden; min-height:0; }

/* Editor kleurschema: blauw tint ipv donker */
#editorShell .adm-sidebar { background: linear-gradient(160deg,#0f172a,#1e293b); }
#editorShell .adm-logo-row { color:#fff; }
.badge-editor { background:rgba(59,130,246,.2); color:#60a5fa; border:1px solid rgba(59,130,246,.3); }

/* Editor lege staat */
.ed-no-access { text-align:center; padding:2rem 1.5rem; color:rgba(255,255,255,.45); font-size:.9rem; line-height:1.7; }
.ed-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; text-align:center; color:rgba(255,255,255,.5); padding:3rem; }
.ed-empty-state .ed-empty-icon { font-size:3rem; margin-bottom:1rem; }
.ed-empty-state h2 { color:rgba(255,255,255,.7); margin-bottom:.8rem; }

/* ── Super Admin portaal shell ── */
#superShell {
  position:fixed; inset:0; z-index:9999;
  background:var(--adm-bg);
  display:flex; flex-direction:row;
  transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
#superShell.open { transform:none; }
#superShell .adm-main { flex:1; display:flex; flex-direction:column; overflow:hidden; min-height:0; }
#superShell .adm-sidebar { background: linear-gradient(160deg,#0c1220,#1a0a3e,#12082b); }
#superShell .adm-logo-row { color: #c4b5fd; }
#superShell .adm-nav-section-label { color:rgba(196,181,253,.5); }
#superShell .adm-nav-btn { color:rgba(196,181,253,.75); }
#superShell .adm-nav-btn:hover, #superShell .adm-nav-btn.active { background:rgba(139,92,246,.25); color:#c4b5fd; }
.badge-super { background:rgba(139,92,246,.2); color:#c4b5fd; border:1px solid rgba(139,92,246,.3); }
#superShell .adm-topbar { background:rgba(15,5,35,.8); border-bottom:1px solid rgba(139,92,246,.2); }
#superShell .adm-breadcrumb .bc-home { color:rgba(196,181,253,.6); }
#superShell .adm-breadcrumb .bc-current { color:#c4b5fd; }

/* ── Perm modal ── */
.perm-modal-overlay {
  position:fixed; inset:0; z-index:10001;
  background:rgba(0,0,0,.7); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .2s;
}
.perm-modal-overlay.open { opacity:1; pointer-events:all; }
.perm-modal-box {
  background:#1e1b2e; border:1px solid rgba(139,92,246,.3);
  border-radius:var(--r-lg); padding:2rem; max-width:480px; width:90%;
  max-height:80vh; overflow-y:auto;
}
.perm-modal-box h2 { color:#c4b5fd; margin-bottom:.4rem; }
.perm-modal-box p  { color:rgba(255,255,255,.5); font-size:.82rem; margin-bottom:1.5rem; }
.perm-check-row {
  display:flex; align-items:flex-start; gap:.8rem;
  padding:.8rem; border-radius:var(--r-sm);
  border:1px solid rgba(255,255,255,.07); margin-bottom:.5rem;
  cursor:pointer; transition:.15s;
}
.perm-check-row:hover { background:rgba(139,92,246,.1); border-color:rgba(139,92,246,.3); }
.perm-check-row input[type=checkbox] { margin-top:.2rem; accent-color:#8b5cf6; width:16px; height:16px; flex-shrink:0; }
.perm-check-row .perm-icon { font-size:1.1rem; flex-shrink:0; }
.perm-check-row strong { color:rgba(255,255,255,.85); font-size:.85rem; }
.perm-check-row small  { color:rgba(255,255,255,.45); font-size:.75rem; }

/* ── Tags ── */
.tag-me   { display:inline-block;padding:.1rem .4rem;border-radius:var(--r-full);background:var(--brand);color:#fff;font-size:.65rem;font-weight:700;margin-left:.4rem;vertical-align:middle; }
.tag-warn { display:inline-block;padding:.1rem .4rem;border-radius:var(--r-full);background:#b45309;color:#fff;font-size:.65rem;font-weight:700;margin-left:.4rem;vertical-align:middle; }
.usr-blocked { opacity:.6; }
.abadge-red  { background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.25); }
.abadge-blue { background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.25); }
.role-select { background:rgba(255,255,255,.06);border:1px solid var(--adm-border);color:var(--adm-text);border-radius:var(--r-sm);padding:.25rem .5rem;font-size:.75rem;cursor:pointer; }
.role-select:hover { border-color:var(--brand); }
.role-select:disabled { opacity:.4; cursor:not-allowed; }

/* ── Pagina titels (subpagina's) ── */
.page-hero {
  background:linear-gradient(135deg,var(--brand) 0%,color-mix(in srgb,var(--brand) 60%,#000) 100%);
  color:#fff; padding:5rem 0 3rem;
  text-align:center;
}
.page-hero h1 { font-size:clamp(2rem,5vw,3.5rem); font-family:var(--font-d); margin-bottom:.6rem; }
.page-hero p  { opacity:.8; max-width:520px; margin:0 auto; }
.page-nav { display:flex; justify-content:center; gap:.5rem; flex-wrap:wrap; padding:1rem; background:rgba(255,255,255,.95); border-bottom:1px solid rgba(0,0,0,.08); position:sticky; top:60px; z-index:100; backdrop-filter:blur(10px); }
.page-nav a { padding:.4rem .9rem; border-radius:var(--r-full); font-size:.82rem; font-weight:600; color:var(--ink-2); text-decoration:none; transition:.2s; }
.page-nav a:hover { background:var(--brand); color:#fff; }
.page-nav a.active { background:var(--brand); color:#fff; }

/* ── Homepage blog preview ── */
#homeBlogGrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }

/* ── Countdown op homepage ── */
.countdown-gone .cd-link { color:inherit; opacity:.8; }

/* ── Abtn extra ── */


/* ── Users preview op dashboard ── */
#sa-ds-usersPreview .aitem { padding:.6rem; }

/* ── Vaste login-knop onderaan de pagina ── */
.login-fab {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 500;
  background: rgba(20,12,5,.82);
  color: rgba(255,255,255,.75);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--r-full);
  padding: .55rem 1.1rem;
  font-size: .78rem;
  font-weight: 600;
  font-family: var(--font-b);
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: background .2s, color .2s, transform .2s;
  display: flex;
  align-items: center;
  gap: .4rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.login-fab:hover {
  background: var(--brand);
  color: #fff;
  transform: translateY(-2px);
}

/* ── Gebruikerskaarten met inline rechten ── */
.usr-card {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-md);
  padding: 1.2rem;
  margin-bottom: .8rem;
  transition: border-color .2s;
}
.usr-card:hover { border-color: rgba(255,255,255,.15); }
.usr-card.usr-blocked { opacity: .55; }

.usr-card-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.usr-av {
  width: 42px; height: 42px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 700;
  flex-shrink: 0;
}
.usr-card-info { flex: 1; min-width: 0; }
.usr-card-name {
  font-weight: 600;
  color: rgba(255,255,255,.85);
  font-size: .9rem;
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
}
.usr-card-email { font-size: .78rem; color: var(--adm-muted); margin-top: .15rem; }
.usr-card-meta  { font-size: .72rem; color: rgba(255,255,255,.3); margin-top: .15rem; }
.usr-card-controls {
  display: flex; flex-direction: column; align-items: flex-end; gap: .5rem;
  flex-shrink: 0;
}
.usr-card-btns { display: flex; gap: .35rem; }

/* ── Rechten-pills ── */
.usr-perm-section {
  margin-top: 1rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.usr-perm-label {
  font-size: .72rem;
  color: rgba(255,255,255,.35);
  margin-bottom: .5rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.usr-perm-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: .5rem;
}
.perm-pill {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .3rem .65rem;
  border-radius: var(--r-full);
  font-size: .75rem; font-weight: 600;
  font-family: var(--font-b);
  cursor: pointer;
  border: 1.5px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.35);
  transition: all .15s;
}
.perm-pill:hover {
  border-color: rgba(255,255,255,.25);
  color: rgba(255,255,255,.65);
  background: rgba(255,255,255,.08);
}
.perm-pill.on {
  background: rgba(74,222,128,.15);
  border-color: rgba(74,222,128,.4);
  color: #4ade80;
}
.perm-pill.on:hover {
  background: rgba(248,113,113,.12);
  border-color: rgba(248,113,113,.35);
  color: #f87171;
}
.usr-perm-hint {
  font-size: .72rem;
  color: rgba(255,255,255,.3);
}

/* ── Logo sectie in editor ── */
.logo-preview-grid { display:flex; gap:.8rem; margin-top:.8rem; }
.logo-preview-box  { width:120px; height:50px; border:1px dashed rgba(255,255,255,.15); border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.logo-preview-box img { max-width:100%; max-height:100%; object-fit:contain; }
.logo-preview-placeholder { font-size:.68rem; color:var(--adm-muted); text-align:center; padding:.3rem; }

/* ── Dashboard welkomst + snelle acties ── */
.dash-welcome {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem;
  padding: 1.4rem 1.6rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-lg);
  margin-bottom: 1.5rem;
}
.dash-welcome-title {
  font-size: 1.1rem; font-weight: 700;
  color: rgba(255,255,255,.88);
  font-family: var(--font-d);
}
.dash-welcome-sub {
  font-size: .75rem; color: var(--adm-muted); margin-top: .2rem;
}
.dash-quick-actions {
  display: flex; gap: .5rem; flex-wrap: wrap;
}
.dqa-btn {
  padding: .45rem 1rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-full);
  color: rgba(255,255,255,.8);
  font-size: .75rem; font-weight: 600;
  font-family: var(--font-b);
  cursor: pointer; transition: all .15s;
}
.dqa-btn:hover {
  background: rgba(255,255,255,.18);
  color: white;
}
.dqa-btn.dqa-btn-accent {
  background: rgba(193,90,52,.25);
  border-color: rgba(193,90,52,.45);
  color: #f09070;
}
.dqa-btn.dqa-btn-accent:hover { background: rgba(193,90,52,.4); }



/* ════════════════════════════════════════════════════════════
   GALLERY
════════════════════════════════════════════════════════════ */
.gallery-group { margin-bottom: 3rem; }
.gallery-group-header {
  display: flex; align-items: baseline; gap: 1rem;
  margin-bottom: 1.2rem; padding-bottom: .75rem;
  border-bottom: 2px solid var(--border);
}
.gallery-group-date {
  font-size: .78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--brand); flex-shrink: 0;
}
.gallery-group-title {
  font-family: var(--font-d); font-size: 1.3rem; color: var(--ink);
  flex: 1;
}
.gallery-group-count {
  font-size: .75rem; font-weight: 600; color: var(--ink-3);
  background: var(--surface-2); border: 1px solid var(--border);
  padding: .2rem .6rem; border-radius: var(--r-full);
  flex-shrink: 0;
}
.gallery-grid {
  display: flex;
  flex-direction: row;
  gap: .75rem;
  overflow-x: auto;
  padding-bottom: .6rem;
  /* Custom scrollbar */
  scrollbar-width: thin;
  scrollbar-color: var(--brand) var(--surface-2);
}
.gallery-grid::-webkit-scrollbar { height: 5px; }
.gallery-grid::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 99px; }
.gallery-grid::-webkit-scrollbar-thumb { background: var(--brand); border-radius: 99px; }
.gallery-item {
  position: relative; overflow: hidden;
  border-radius: var(--r-md);
  cursor: pointer; background: var(--surface-2);
  flex-shrink: 0;
  width: 220px; height: 165px;
}
.gallery-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.gallery-item:hover img { transform: scale(1.07); }
.gallery-item-overlay {
  position: absolute; inset: 0;
  background: rgba(28,18,8,.4);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .2s;
  font-size: 1.6rem;
}
.gallery-item:hover .gallery-item-overlay { opacity: 1; }
/* Fade-out hint aan rechter kant als er meer foto's zijn */
.gallery-group { position: relative; }
.gallery-grid-fade {
  position: absolute; right: 0; top: 0; bottom: 0;
  width: 60px;
  background: linear-gradient(to right, transparent, var(--surface));
  pointer-events: none; border-radius: 0 var(--r-md) var(--r-md) 0;
  opacity: 0; transition: opacity .2s;
}
.gallery-group.has-overflow .gallery-grid-fade { opacity: 1; }
.gallery-empty { text-align: center; padding: 4rem; color: var(--ink-4); }

/* Lightbox */
.gallery-lightbox {
  position: fixed; inset: 0; z-index: 10010;
  background: rgba(0,0,0,.92);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .25s;
}
.gallery-lightbox.open { opacity: 1; pointer-events: all; }
.glb-backdrop { position: absolute; inset: 0; }
.glb-box {
  position: relative; max-width: 90vw; max-height: 90vh;
  display: flex; align-items: center; justify-content: center;
}
.glb-img {
  max-width: 90vw; max-height: 85vh;
  border-radius: var(--r-md);
  box-shadow: 0 32px 80px rgba(0,0,0,.6);
  object-fit: contain;
}
.glb-close {
  position: absolute; top: -2.5rem; right: 0;
  background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25);
  color: white; border-radius: 50%; width: 36px; height: 36px;
  font-size: 1rem; cursor: pointer; transition: background .2s;
  display: flex; align-items: center; justify-content: center;
}
.glb-close:hover { background: rgba(255,255,255,.3); }
.glb-prev, .glb-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
  color: white; border-radius: 50%; width: 44px; height: 44px;
  font-size: 1.5rem; cursor: pointer; transition: background .2s;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}
.glb-prev { left: -60px; }
.glb-next { right: -60px; }
.glb-prev:hover, .glb-next:hover { background: rgba(255,255,255,.25); }
.glb-counter {
  position: absolute; bottom: -2rem; left: 50%; transform: translateX(-50%);
  color: rgba(255,255,255,.6); font-size: .78rem;
}

/* ════════════════════════════════════════════════════════════
   AGENDA
════════════════════════════════════════════════════════════ */
.agenda-wrap {
  display: grid;
  grid-template-columns: minmax(280px,380px) 1fr;
  gap: 2rem;
  align-items: start;
}
@media(max-width:720px){
  .agenda-wrap { grid-template-columns: 1fr; }
}

/* Calendar */
.agenda-calendar-col {
  background: white;
  border-radius: var(--r-lg);
  box-shadow: var(--sh-md);
  overflow: hidden;
  position: sticky; top: 5rem;
}
.agenda-cal-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.2rem 1.4rem;
  background: var(--brand);
  color: white;
}
.agenda-cal-month {
  font-family: var(--font-d); font-size: 1.1rem;
  font-weight: 600; text-transform: capitalize;
}
.agenda-nav-btn {
  background: rgba(255,255,255,.2); border: none; color: white;
  width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
  font-size: 1.2rem; display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.agenda-nav-btn:hover { background: rgba(255,255,255,.35); }
.agenda-cal-grid {
  display: grid; grid-template-columns: repeat(7,1fr);
  padding: .8rem;
  gap: 2px;
}
.cal-dow {
  text-align: center; font-size: .65rem; font-weight: 700;
  color: var(--ink-4); text-transform: uppercase;
  padding: .3rem 0;
}
.cal-day {
  aspect-ratio: 1; border-radius: var(--r-sm);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-size: .8rem; cursor: pointer; position: relative;
  transition: background .15s; color: var(--ink-2);
}
.cal-day:hover { background: var(--surface-2); }
.cal-day.cal-empty { pointer-events: none; }
.cal-day.cal-today {
  background: var(--brand-subtle); color: var(--brand);
  font-weight: 700; border: 1.5px solid var(--brand);
}
.cal-day.cal-travel { background: rgba(193,90,52,.1); }
.cal-day.cal-has-event { font-weight: 700; }
.cal-day.selected { background: var(--brand) !important; color: white !important; }
.cal-dots {
  display: flex; gap: 2px; margin-top: 2px;
}
.cal-dots span {
  width: 4px; height: 4px; border-radius: 50%;
}

/* Events list */
.agenda-events-col {}
.agenda-events-title {
  font-family: var(--font-d); font-size: 1.4rem;
  margin-bottom: 1.2rem; color: var(--ink);
}
.agenda-event-row {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1rem 1.2rem;
  background: white; border-radius: var(--r-md);
  border-left: 3px solid var(--brand);
  box-shadow: var(--sh-xs);
  margin-bottom: .75rem;
  transition: transform .15s, box-shadow .15s;
}
.agenda-event-row:hover { transform: translateX(4px); box-shadow: var(--sh-sm); }
.agenda-event-icon { font-size: 1.5rem; flex-shrink: 0; }
.agenda-event-body { flex: 1; min-width: 0; }
.agenda-event-title { font-weight: 700; color: var(--ink); margin-bottom: .15rem; }
.agenda-event-date { font-size: .75rem; color: var(--ink-3); margin-bottom: .2rem; }
.agenda-event-desc { font-size: .78rem; color: var(--ink-4); }
.agenda-event-badge {
  font-size: .65rem; font-weight: 700; text-transform: uppercase;
  padding: .2rem .6rem; border-radius: var(--r-full);
  flex-shrink: 0; align-self: flex-start;
}
.agenda-badge-reis { background: rgba(193,90,52,.12); color: var(--brand); }
.agenda-badge-reisdag { background: rgba(193,90,52,.08); color: var(--brand); }
.agenda-badge-actie { background: rgba(201,137,42,.12); color: var(--gold); }
.agenda-badge-event { background: rgba(96,165,250,.12); color: #3b82f6; }
.agenda-empty { text-align: center; padding: 2rem; color: var(--ink-4); font-style: italic; }

/* Legend */
.agenda-legend {
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  font-size: .8rem; color: var(--ink-3);
}
.agenda-legend-title { font-weight: 700; color: var(--ink-2); }
.agenda-legend-item { display: flex; align-items: center; gap: .4rem; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.cal-travel-demo {
  width: 24px; height: 10px; border-radius: 3px;
  background: rgba(193,90,52,.15); flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════
   ACTIES POPUP — Kaarten met foto's en scroll
════════════════════════════════════════════════════════════ */
.acties-popup {
  position: fixed; bottom: 5.5rem; left: 1.5rem;
  z-index: 490; width: 320px;
  background: white;
  border-radius: var(--r-xl);
  box-shadow: 0 24px 64px rgba(28,18,8,.22), 0 4px 16px rgba(28,18,8,.1);
  border: 1px solid var(--border);
  overflow: hidden;
  transform: translateY(20px) scale(.97); opacity: 0; pointer-events: none;
  transition: all .35s cubic-bezier(.34,1.56,.64,1);
}
.acties-popup.show {
  transform: translateY(0) scale(1); opacity: 1; pointer-events: all;
}
.acties-popup-header {
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  color: white; padding: 1rem 1.2rem;
  display: flex; align-items: center; justify-content: space-between;
}
.acties-popup-title {
  font-weight: 700; font-size: .92rem;
  display: flex; align-items: center; gap: .4rem;
}
.acties-popup-close {
  background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.3);
  color: white; width: 26px; height: 26px; border-radius: 50%;
  font-size: .8rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.acties-popup-close:hover { background: rgba(255,255,255,.4); }

/* Scroll-able kaarten */
.acp-scroll {
  display: flex; gap: 0;
  overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; -ms-overflow-style: none;
}
.acp-scroll::-webkit-scrollbar { display: none; }
.acp-card {
  min-width: 100%; scroll-snap-align: start;
  flex-shrink: 0;
}
.acp-card-img {
  height: 140px;
  background-size: cover; background-position: center;
  position: relative;
}
.acp-card-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(28,18,8,.6));
}
.acp-card-pct {
  position: absolute; bottom: .6rem; right: .8rem;
  background: white; color: var(--brand);
  font-weight: 800; font-size: .85rem;
  padding: .2rem .55rem; border-radius: var(--r-full);
}
.acp-card-body { padding: .9rem 1.1rem; }
.acp-card-name {
  font-weight: 700; font-size: .9rem;
  color: var(--ink); margin-bottom: .3rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.acp-card-desc {
  font-size: .75rem; color: var(--ink-3);
  line-height: 1.5; margin-bottom: .6rem;
  min-height: 2.25rem;
}
.acp-bar {
  height: 5px; background: var(--surface-2);
  border-radius: 3px; overflow: hidden; margin-bottom: .35rem;
}
.acp-bar-fill {
  height: 100%; background: linear-gradient(90deg, var(--brand), var(--gold));
  border-radius: 3px; transition: width .6s ease;
}
.acp-meta {
  font-size: .75rem; font-weight: 700; color: var(--brand);
}
.acp-meta span { font-weight: 400; color: var(--ink-3); }

/* Scroll indicators */
.acp-dots {
  display: flex; justify-content: center; gap: 4px;
  padding: .4rem 0;
}
.acp-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--border); transition: background .2s;
}
.acp-dot.on { background: var(--brand); }

.acties-popup-footer {
  padding: .8rem 1.1rem;
  border-top: 1px solid var(--border);
  background: var(--surface);
}
.acties-popup-footer a {
  display: block; text-align: center;
  color: var(--brand); font-weight: 700; font-size: .82rem;
  padding: .5rem; border-radius: var(--r-full);
  border: 2px solid var(--brand); transition: all .2s;
  text-decoration: none;
}
.acties-popup-footer a:hover { background: var(--brand); color: white; }

.acties-popup-trigger {
  position: fixed; bottom: 1.5rem; left: 1.5rem;
  z-index: 490;
  background: var(--brand); color: white;
  border: none; border-radius: var(--r-full);
  padding: .65rem 1.2rem; font-size: .8rem; font-weight: 700;
  font-family: var(--font-b); cursor: pointer;
  box-shadow: 0 8px 24px var(--brand-glow);
  display: flex; align-items: center; gap: .45rem;
  transition: all .2s;
}
.acties-popup-trigger:hover { transform: translateY(-2px); box-shadow: 0 12px 32px var(--brand-glow); }

/* ════════════════════════════════════════════════════════════
   BETERE GHOST KNOPPEN OP HOOFDPAGINA
════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════
   BETERE GHOST KNOPPEN OP HOOFDPAGINA
════════════════════════════════════════════════════════════ */
.btn-ghost-dark {
  display: inline-flex; align-items: center; gap: .55rem;
  background: var(--surface); color: var(--brand);
  padding: .85rem 2rem; border-radius: var(--r-full);
  font-weight: 700; font-size: .9rem;
  border: 2px solid var(--brand);
  transition: all .25s;
  box-shadow: var(--sh-xs);
}
.btn-ghost-dark:hover {
  background: var(--brand); color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px var(--brand-glow);
}

/* ════════════════════════════════════════════════════════════
   MEDIA GALERIJ PREVIEW OP HOMEPAGE
════════════════════════════════════════════════════════════ */
.gallery-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
  gap: .6rem; margin-top: 1.5rem;
}
.gallery-preview-item {
  aspect-ratio: 1; border-radius: var(--r-md); overflow: hidden;
  cursor: pointer; background: var(--surface-2);
}
.gallery-preview-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s;
}
.gallery-preview-item:hover img { transform: scale(1.08); }

/* ════════════════════════════════════════════════════════════
   PAGE HERO VARIANTEN
════════════════════════════════════════════════════════════ */
.page-hero-gallery {
  background: linear-gradient(135deg, #1a0a3e 0%, #0c1220 50%, var(--brand-dark) 100%);
}
.page-hero-agenda {
  background: linear-gradient(135deg, var(--brand-dark) 0%, #1a0a3e 100%);
}
.page-hero-inner { padding: 2rem 0; }
.page-hero-inner h1 { color: white; font-size: 2.4rem; margin: .5rem 0; }
.page-hero-inner p { color: rgba(255,255,255,.7); font-size: 1rem; }

/* ════════════════════════════════════════════════════════════
   ADMIN GALERIJ SECTIE
════════════════════════════════════════════════════════════ */
.gallery-admin-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(100px,1fr));
  gap: .5rem; margin-top: .8rem;
}
.gallery-admin-item {
  position: relative; aspect-ratio: 1;
  border-radius: var(--r-sm); overflow: hidden;
}
.gallery-admin-item img { width:100%; height:100%; object-fit:cover; }
.gallery-admin-item-del {
  position: absolute; top: 2px; right: 2px;
  background: rgba(220,60,60,.85); color: white;
  border: none; border-radius: 50%; width: 20px; height: 20px;
  font-size: .65rem; cursor: pointer; display: flex;
  align-items: center; justify-content: center;
}

/* ════════════════════════════════════════════════════════════
   AGENDA ADMIN SECTIE
════════════════════════════════════════════════════════════ */
.agenda-admin-event {
  display: flex; align-items: center; gap: .75rem;
  padding: .7rem 1rem;
  background: rgba(255,255,255,.04);
  border-radius: var(--r-sm); margin-bottom: .5rem;
  border-left: 3px solid var(--brand);
}
.agenda-admin-event .event-icon { font-size: 1.2rem; }
.agenda-admin-event .event-info { flex: 1; }
.agenda-admin-event .event-title { font-size: .85rem; font-weight: 600; color: rgba(255,255,255,.85); }
.agenda-admin-event .event-date { font-size: .72rem; color: var(--adm-muted); }

/* ════════════════════════════════════════════════════════════
   ADMIN WIDGET DASHBOARD (aanpasbaar)
════════════════════════════════════════════════════════════ */
.widget-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
  gap: 1rem;
}
.widget-card {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.widget-card-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: .9rem 1.1rem;
  border-bottom: 1px solid var(--adm-border);
}
.widget-card-title {
  font-size: .8rem; font-weight: 700; color: var(--adm-text);
  display: flex; align-items: center; gap: .4rem;
}
.widget-card-body { padding: 1rem 1.1rem; }
.widget-toggle {
  background: none; border: none; color: var(--adm-muted);
  cursor: pointer; font-size: .75rem; padding: .2rem .5rem;
  border-radius: var(--r-sm); transition: all .15s;
}
.widget-toggle:hover { background: rgba(255,255,255,.08); color: var(--adm-text); }
.widget-toggle.active { color: var(--brand-light); }

.dash-widget-selector {
  display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem;
}
.wsel-btn {
  padding: .35rem .9rem;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-full);
  color: var(--adm-muted); font-size: .72rem; font-weight: 600;
  cursor: pointer; transition: all .15s; font-family: var(--font-b);
}
.wsel-btn:hover { background: rgba(255,255,255,.12); color: var(--adm-text); }
.wsel-btn.on {
  background: rgba(193,90,52,.2); border-color: rgba(193,90,52,.4);
  color: var(--brand-light);
}

/* ── Afbeelding live-preview box (admin) ── */
.img-prev-box {
  margin: .5rem 0;
  min-height: 60px;
  border: 1px dashed rgba(255,255,255,.15);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.img-prev-box img {
  width: 100%; max-height: 120px; object-fit: cover;
}

/* abadge-blue */
.abadge-blue { background:rgba(96,165,250,.15); color:#93c5fd; border:1px solid rgba(96,165,250,.25); }

/* Agenda home list */
.agenda-home-list .agenda-event-row {
  background: white;
}

/* ════════════════════════════════════════════════════════════
   MEDIA UPLOAD
════════════════════════════════════════════════════════════ */
.media-field-wrap {
  display: flex; gap: .5rem; align-items: center;
  flex-wrap: nowrap;
}
.media-url-input { flex: 1; min-width: 0; }
.media-upload-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .3rem;
  padding: .4rem .8rem;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--r-sm);
  color: rgba(255,255,255,.8);
  font-size: .75rem; font-weight: 600;
  cursor: pointer; white-space: nowrap; flex-shrink: 0;
  transition: all .15s; font-family: var(--font-b);
  height: 38px; line-height: 1;
}
.media-upload-btn:hover { background: rgba(255,255,255,.2); color: white; }
/* Admin panel context — light-on-dark surface */
#superShell .media-upload-btn,
#editorShell .media-upload-btn {
  background: rgba(255,255,255,.07);
  border-color: var(--adm-border);
  color: var(--adm-muted);
}
#superShell .media-upload-btn:hover,
#editorShell .media-upload-btn:hover {
  background: rgba(255,255,255,.15);
  color: var(--adm-text);
}
/* Standalone upload btn after textarea */
.media-upload-btn[style*="margin-top"],
label.media-upload-btn { margin-top: .35rem; }
.media-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .6rem;
}
.media-lib-item {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-sm); overflow: hidden;
}
.media-lib-item img {
  width: 100%; height: 80px; object-fit: cover;
  cursor: pointer; transition: opacity .2s;
}
.media-lib-item img:hover { opacity: .8; }
.media-lib-info { padding: .4rem .5rem; }
.media-lib-name { font-size: .65rem; font-weight: 600; color: rgba(255,255,255,.8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.media-lib-meta { font-size: .6rem; color: var(--adm-muted); }
.media-lib-actions { display: flex; gap: .3rem; padding: .3rem .4rem; border-top: 1px solid var(--adm-border); }

/* ════════════════════════════════════════════════════════════
   DASHBOARD WIDGETS
════════════════════════════════════════════════════════════ */
.dash-widget-selector-wrap {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-lg);
  padding: 1.2rem;
  margin-bottom: 1.5rem;
  display: none;
}
.dash-widget-selector-wrap.open { display: block; }
.wsel-title {
  font-size: .78rem; font-weight: 700;
  color: rgba(255,255,255,.6); margin-bottom: .8rem;
}
.wsel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .5rem;
}
.wsel-card {
  display: flex; align-items: center; gap: .5rem;
  padding: .5rem .7rem;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-sm);
  cursor: pointer; transition: all .15s;
}
.wsel-card:hover { background: rgba(255,255,255,.1); }
.wsel-card.on { background: rgba(193,90,52,.2); border-color: rgba(193,90,52,.5); }
.wsel-icon { font-size: 1rem; }
.wsel-label { flex: 1; font-size: .72rem; font-weight: 600; color: rgba(255,255,255,.75); }
.wsel-check { font-size: .7rem; color: var(--brand-light); font-weight: 700; }

/* Widget grid */
.sa-widget-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.widget-card {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.widget-card-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--adm-border);
  background: rgba(255,255,255,.03);
}
.widget-card-title {
  font-size: .78rem; font-weight: 700;
  color: rgba(255,255,255,.8);
}
.widget-card-body { padding: 1rem; }

/* Stat widget */
.wstat-row { display: flex; align-items: center; gap: .7rem; margin-bottom: .6rem; }
.wstat-icon { font-size: 1.2rem; }
.wstat-val { font-size: 1rem; font-weight: 700; color: rgba(255,255,255,.9); }
.wstat-lbl { font-size: .68rem; color: var(--adm-muted); }
.w-prog { height: 4px; background: rgba(255,255,255,.08); border-radius: 2px; margin: .4rem 0 .6rem; overflow: hidden; }
.w-prog-fill { height: 100%; background: linear-gradient(90deg, var(--brand), var(--gold)); border-radius: 2px; }

/* Countdown widget */
.wcd { text-align: center; padding: 1.2rem; }
.wcd-big { font-size: 3rem; font-weight: 800; color: var(--brand-light); font-family: var(--font-d); }
.wcd-lbl { font-size: .75rem; color: var(--adm-muted); margin-top: -.3rem; }
.wcd-date { font-size: .72rem; color: rgba(255,255,255,.4); margin-top: .4rem; }
.wcd-gone { font-size: 1.2rem; color: var(--gold); }

/* Donation widget */
.wdon-list { display: flex; flex-direction: column; gap: .4rem; }
.wdon-row { display: flex; align-items: center; gap: .5rem; font-size: .75rem; }
.wdon-name { flex: 1; color: rgba(255,255,255,.75); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wdon-amt { font-weight: 700; color: var(--brand-light); }
.wdon-date { color: var(--adm-muted); font-size: .65rem; }

/* Campaign widget */
.wcamp-item { margin-bottom: .8rem; }
.wcamp-name { font-size: .75rem; font-weight: 600; color: rgba(255,255,255,.8); margin-bottom: .3rem; }
.wcamp-prog { height: 4px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; margin-bottom: .2rem; }
.wcamp-fill { height: 100%; background: var(--brand); border-radius: 2px; }
.wcamp-meta { font-size: .65rem; color: var(--adm-muted); }

/* Timeline widget */
.wtl-list { display: flex; flex-direction: column; gap: .5rem; }
.wtl-row { display: flex; align-items: center; gap: .6rem; }
.wtl-icon { font-size: 1.1rem; }
.wtl-title { font-size: .75rem; font-weight: 600; color: rgba(255,255,255,.8); }
.wtl-date { font-size: .65rem; color: var(--adm-muted); }

/* Blog widget */
.wblog-row { padding: .4rem 0; border-bottom: 1px solid var(--adm-border); }
.wblog-row:last-child { border-bottom: none; }
.wblog-title { font-size: .75rem; font-weight: 600; color: rgba(255,255,255,.8); }
.wblog-meta { font-size: .65rem; color: var(--adm-muted); }

/* Team widget */
.wteam-grid { display: flex; flex-wrap: wrap; gap: .4rem; }
.wteam-av {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700; color: white;
  background: var(--brand);
}

/* Agenda widget */
.wag-row { display: flex; align-items: center; gap: .6rem; margin-bottom: .5rem; font-size: .75rem; }
.wag-title { font-weight: 600; color: rgba(255,255,255,.8); }
.wag-date { font-size: .65rem; color: var(--adm-muted); }

/* Gallery widget */
.wgal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .3rem; }
.wgal-item { aspect-ratio: 1; border-radius: var(--r-sm); overflow: hidden; background: rgba(255,255,255,.05); }
.wgal-item img { width: 100%; height: 100%; object-fit: cover; }

/* Users widget */
.wusr-list { display: flex; flex-direction: column; gap: .45rem; }
.wusr-row { display: flex; align-items: center; gap: .6rem; font-size: .75rem; }
.wusr-av { width: 26px; height: 26px; border-radius: 50%; background: var(--brand); display: flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; color: white; flex-shrink: 0; }
.wusr-name { flex: 1; color: rgba(255,255,255,.8); font-weight: 600; }
.wusr-role { font-size: .62rem; color: var(--adm-muted); }
.wusr-status { font-size: .8rem; }
.wusr-status.active { color: #4ade80; }

/* Note widget */
.w-note-ta {
  width: 100%; min-height: 90px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-sm);
  color: rgba(255,255,255,.8);
  padding: .6rem; font-size: .78rem;
  font-family: var(--font-b);
  resize: vertical;
}

/* Quick links widget */
.wql-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .4rem; }
.wql-btn {
  display: flex; flex-direction: column; align-items: center; gap: .2rem;
  padding: .55rem .3rem;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-sm);
  color: rgba(255,255,255,.7); font-size: .65rem; font-weight: 600;
  cursor: pointer; transition: all .15s; font-family: var(--font-b);
}
.wql-btn:hover { background: rgba(193,90,52,.2); border-color: rgba(193,90,52,.4); color: white; }

/* ════════════════════════════════════════════════════════════
   ADMIN NAV TABS (binnen secties)
════════════════════════════════════════════════════════════ */
.adm-tabs {
  display: flex; gap: 0;
  border-bottom: 2px solid var(--adm-border);
  margin-bottom: 1.5rem;
  overflow-x: auto;
}
.adm-tab {
  padding: .6rem 1.2rem;
  background: none; border: none; border-bottom: 2px solid transparent;
  color: var(--adm-muted); font-size: .78rem; font-weight: 600;
  cursor: pointer; transition: all .15s; white-space: nowrap;
  font-family: var(--font-b); margin-bottom: -2px;
}
.adm-tab:hover { color: rgba(255,255,255,.7); }
.adm-tab.active { color: var(--brand-light); border-bottom-color: var(--brand); }
.adm-tab-panel { display: none; }
.adm-tab-panel.show { display: block; }

/* Dashboard customize btn */
.dash-customize-btn {
  background: rgba(255,255,255,.07);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-sm);
  color: rgba(255,255,255,.6);
  padding: .4rem .9rem; font-size: .72rem; font-weight: 600;
  cursor: pointer; transition: all .15s; font-family: var(--font-b);
  display: flex; align-items: center; gap: .35rem;
}
.dash-customize-btn:hover { background: rgba(255,255,255,.13); color: white; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBIEL & TABLET
════════════════════════════════════════════════════════════ */

/* Hamburger knop stijl */
.mob-toggle {
  display: none;
  background: none; border: none;
  cursor: pointer; padding: .4rem;
  flex-direction: column; gap: 5px;
  align-items: center; justify-content: center;
}
.mob-toggle span {
  display: block; width: 22px; height: 2px;
  background: white; border-radius: 2px;
  transition: all .3s ease;
}
.mob-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mob-toggle.open span:nth-child(2) { opacity: 0; }
.mob-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  /* Nav */
  .nav-links { display: none !important; }
  .nav-btns  { display: none; }
  .mob-toggle { display: flex !important; }
  .nav-wrap { padding: .75rem 1.2rem; }
  
  /* Mob nav */
  .mob-nav {
    position: fixed; top: 0; right: -100%; bottom: 0;
    width: min(320px, 85vw);
    height: 100%;
    background: #1a0e06;
    box-shadow: -8px 0 32px rgba(0,0,0,.4);
    z-index: 998; padding: 5rem 1.5rem 2rem;
    transition: right .35s cubic-bezier(.4,0,.2,1);
    overflow-y: auto;
  }
  .mob-nav.open { right: 0; }
  .mob-nav a {
    display: block; padding: .9rem .5rem;
    border-bottom: 1px solid rgba(255,255,255,.07);
    color: rgba(255,255,255,.85); font-size: 1rem;
    text-decoration: none; font-weight: 500;
    transition: color .15s;
  }
  .mob-nav a:hover { color: var(--brand-light); }
  .mob-nav-foot {
    margin-top: 2rem; padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .mob-nav-foot .btn-primary {
    display: block; text-align: center;
    padding: .85rem; border-radius: var(--r-full);
    margin-bottom: .8rem;
  }

  /* Mob overlay */
  .mob-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.5); z-index: 997;
  }
  .mob-overlay.show { display: block; }

  /* Hero */
  .hero-content-wrap { padding: 1.2rem; }
  .hero-stats-bar { flex-wrap: wrap; gap: .5rem; }
  .hstat { min-width: 80px; }
  
  /* Sections */
  .sec { padding: 3rem 1.2rem; }
  .container { padding: 0 1.2rem; }
  
  /* About */
  .about-grid { grid-template-columns: 1fr; gap: 2rem; }
  .about-img-stack { max-width: 100%; margin: 0 auto; }
  
  /* Features / about blocks */
  .feature-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  
  /* Campaigns */
  .camp-grid { grid-template-columns: 1fr; }
  
  /* Blog */
  .blog-grid { grid-template-columns: 1fr; }
  
  /* Team */
  .team-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  
  /* Donate */
  .don-grid { grid-template-columns: 1fr; gap: 2rem; }
  .amt-btns { flex-wrap: wrap; }
  
  /* Contact */
  .con-grid { grid-template-columns: 1fr; gap: 2rem; }
  
  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  
  /* Gallery */
  .gallery-item { width: 160px; height: 120px; }
  
  /* Agenda */
  .agenda-wrap { flex-direction: column; gap: 1.5rem; }
  .agenda-calendar-col { width: 100%; }
  
  /* Acties popup */
  .acties-popup { left: .75rem; right: .75rem; width: auto; max-width: none; }
  .acties-popup-trigger { left: .75rem; }
}

@media (max-width: 600px) {
  /* Kleinere teksten op telefoon */
  .sec-h2 { font-size: clamp(1.6rem, 5vw, 2.2rem); }
  .hero h1 { font-size: clamp(1.8rem, 7vw, 3.5rem); }
  
  /* Features */
  .feature-grid { grid-template-columns: 1fr; }
  
  /* Team */
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  
  /* Gallery */
  .gallery-item { width: 160px; height: 120px; }
  .gallery-preview-grid { grid-template-columns: repeat(2, 1fr); }
  
  /* Admin portal sidebar verbergen */
  .adm-sidebar { 
    position: fixed; left: -280px; top: 0; bottom: 0;
    width: 260px; z-index: 200;
    transition: left .3s ease;
    box-shadow: none;
  }
  .adm-sidebar.mob-open {
    left: 0;
    box-shadow: 4px 0 24px rgba(0,0,0,.5);
  }
  .adm-main { width: 100%; }
  .adm-topbar { position: relative; }
  .adm-mob-menu-btn {
    display: flex !important;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    color: white; padding: .35rem .7rem;
    border-radius: var(--r-sm); cursor: pointer;
    font-size: .8rem; align-items: center; gap: .4rem;
  }
}

/* By default hide mobile menu button in admin */
.adm-mob-menu-btn { display: none; }

/* ════════════════════════════════════════════════════════════
   TEAM MODAL (klik op teamlid)
════════════════════════════════════════════════════════════ */
.team-modal-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(18,10,4,.75); backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .3s ease;
  padding: 1rem;
}
.team-modal-overlay.open { opacity: 1; pointer-events: all; }
.team-modal-box {
  background: white; border-radius: var(--r-xl);
  max-width: 480px; width: 100%;
  box-shadow: 0 32px 80px rgba(18,10,4,.3);
  overflow: hidden;
  transform: translateY(20px) scale(.97);
  transition: transform .3s ease;
}
.team-modal-overlay.open .team-modal-box { transform: none; }
.team-modal-hero {
  height: 480px; position: relative;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand));
  background-size: cover !important; background-position: center top !important;
  background-repeat: no-repeat !important;
}
.team-modal-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(18,10,4,.7));
}
.team-modal-name-row {
  position: absolute; bottom: 1rem; left: 1.4rem; right: 1.4rem;
}
.team-modal-name { font-size: 1.4rem; font-weight: 800; color: white; font-family: var(--font-d); }
.team-modal-role { font-size: .85rem; color: rgba(255,255,255,.7); margin-top: .1rem; }
.team-modal-body { padding: 1.5rem; }
.team-modal-story { font-size: .9rem; line-height: 1.7; color: var(--ink-2); }
.team-modal-close {
  position: absolute; top: .75rem; right: .75rem;
  background: rgba(255,255,255,.2); backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,.3); color: white;
  width: 32px; height: 32px; border-radius: 50%;
  font-size: .85rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; z-index: 2;
}
.team-modal-close:hover { background: rgba(255,255,255,.35); }

/* Team card verbeteringen */
.team-card {
  cursor: pointer; transition: transform .25s, box-shadow .25s;
}
.team-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(193,90,52,.18); }
.team-card .tc-photo-wrap { position: relative; overflow: hidden; }

/* ════════════════════════════════════════════════════════════
   ABOUT BLOCKS (bewerkbare feature grid)
════════════════════════════════════════════════════════════ */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem; margin-top: 2rem;
}
.feature-card {
  background: white; border-radius: var(--r-xl);
  padding: 1.8rem 1.5rem;
  box-shadow: 0 4px 20px rgba(193,90,52,.07);
  border: 1px solid var(--border);
  transition: transform .25s, box-shadow .25s;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(193,90,52,.12); }
.feature-card-icon { font-size: 2rem; margin-bottom: .8rem; }
.feature-card-title { font-size: 1rem; font-weight: 800; color: var(--ink); margin-bottom: .5rem; font-family: var(--font-d); }
.feature-card-desc  { font-size: .85rem; color: var(--ink-3); line-height: 1.6; }

/* ════════════════════════════════════════════════════════════
   WIDGET SELECTOR (verbeterd)
════════════════════════════════════════════════════════════ */
.wsel-header { margin-bottom: 1.2rem; }
.wsel-main-title { font-size: .95rem; font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: .3rem; }
.wsel-sub { font-size: .75rem; color: var(--adm-muted); }
.wsel-group { margin-bottom: 1.2rem; }
.wsel-group-label { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--adm-muted); margin-bottom: .5rem; }
.wsel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; }
.wsel-card {
  background: rgba(255,255,255,.04);
  border: 1.5px solid var(--adm-border);
  border-radius: var(--r-md); padding: .8rem;
  cursor: pointer; transition: all .15s;
}
.wsel-card:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.25); }
.wsel-card.on { background: rgba(193,90,52,.18); border-color: var(--brand); }
.wsel-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .4rem; }
.wsel-icon { font-size: 1.3rem; }
.wsel-check { width: 18px; height: 18px; border-radius: 4px; border: 1.5px solid var(--adm-border); display: flex; align-items: center; justify-content: center; font-size: .65rem; font-weight: 700; color: white; }
.wsel-check.on { background: var(--brand); border-color: var(--brand); }
.wsel-label { font-size: .75rem; font-weight: 700; color: rgba(255,255,255,.85); margin-bottom: .2rem; }
.wsel-desc { font-size: .65rem; color: var(--adm-muted); line-height: 1.4; }

/* Volgorde lijst */
.wsel-order-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--adm-border); }
.wsel-order-list { display: flex; flex-direction: column; gap: .3rem; }
.wsel-order-item {
  display: flex; align-items: center; gap: .6rem;
  padding: .4rem .7rem;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-sm); font-size: .75rem;
}
.wsel-order-icon { font-size: .9rem; }
.wsel-order-name { flex: 1; color: rgba(255,255,255,.8); font-weight: 600; }
.wsel-order-btns { display: flex; gap: .25rem; }
.wsel-order-btns button {
  background: rgba(255,255,255,.08); border: 1px solid var(--adm-border);
  color: rgba(255,255,255,.6); width: 24px; height: 24px;
  border-radius: var(--r-sm); cursor: pointer; font-size: .75rem;
  display: flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.wsel-order-btns button:hover:not(:disabled) { background: rgba(255,255,255,.2); color: white; }
.wsel-order-btns button:disabled { opacity: .3; cursor: not-allowed; }

.wsel-footer { display: flex; gap: .6rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--adm-border); flex-wrap: wrap; }

/* Widget body items */
.widget-body { padding: .9rem 1rem; }
.w-empty { color: var(--adm-muted); font-size: .78rem; font-style: italic; }
.widget-empty-state { grid-column: 1/-1; text-align: center; padding: 3rem; color: var(--adm-muted); }

/* Countdown widget */
.wcd { text-align: center; padding: .8rem; }
.wcd-nums { display: flex; align-items: flex-end; justify-content: center; gap: .25rem; margin-bottom: .5rem; }
.wcd-unit { display: flex; flex-direction: column; align-items: center; }
.wcd-n { font-size: 2rem; font-weight: 800; color: var(--brand-light); font-family: var(--font-d); line-height: 1; }
.wcd-l { font-size: .55rem; color: var(--adm-muted); text-transform: uppercase; letter-spacing: .06em; }
.wcd-sep { font-size: 1.5rem; color: rgba(255,255,255,.2); margin-bottom: .8rem; line-height: 1; }
.wcd-date { font-size: .72rem; color: var(--adm-muted); }
.wcd-gone { font-size: 1.1rem; color: var(--gold); font-weight: 700; }

/* Stats widget */
.ws-big { font-size: 1.6rem; font-weight: 800; color: var(--brand-light); font-family: var(--font-d); }
.ws-sub { font-size: .7rem; color: var(--adm-muted); margin-bottom: .6rem; }
.ws-bar { height: 4px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; margin: .4rem 0 .7rem; }
.ws-bar-fill { height: 100%; background: linear-gradient(90deg,var(--brand),var(--gold)); border-radius: 2px; }
.ws-row { display: flex; justify-content: space-between; font-size: .72rem; color: rgba(255,255,255,.55); margin-bottom: .2rem; }

/* Donation widget */
.wdon-list { display: flex; flex-direction: column; gap: .4rem; }
.wdon-row { display: flex; align-items: center; gap: .5rem; }
.wdon-av { width: 28px; height: 28px; border-radius: 50%; background: var(--brand); display: flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; color: white; flex-shrink: 0; }
.wdon-info { flex: 1; }
.wdon-name { font-size: .73rem; font-weight: 600; color: rgba(255,255,255,.8); }
.wdon-date { font-size: .62rem; color: var(--adm-muted); }
.wdon-amt { font-size: .8rem; font-weight: 700; color: var(--brand-light); }

/* Campaign widget */
.wcamp-item { margin-bottom: .75rem; }
.wcamp-name { font-size: .73rem; font-weight: 600; color: rgba(255,255,255,.8); margin-bottom: .3rem; }
.wcamp-prog { height: 5px; background: rgba(255,255,255,.08); border-radius: 3px; overflow: hidden; margin-bottom: .2rem; }
.wcamp-fill { height: 100%; background: linear-gradient(90deg,var(--brand),var(--gold)); border-radius: 3px; }
.wcamp-meta { font-size: .65rem; color: var(--adm-muted); }

/* Team widget */
.wteam-grid { display: flex; flex-wrap: wrap; gap: .3rem; }
.wteam-av { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; color: white; background: var(--brand); border: 2px solid rgba(255,255,255,.1); }

/* Agenda widget */
.wag-row { display: flex; align-items: flex-start; gap: .5rem; font-size: .73rem; margin-bottom: .45rem; }
.wag-title { font-weight: 600; color: rgba(255,255,255,.85); }
.wag-date { font-size: .62rem; color: var(--adm-muted); }

/* Users widget */
.wusr-list { display: flex; flex-direction: column; gap: .4rem; }
.wusr-row { display: flex; align-items: center; gap: .5rem; }
.wusr-av { width: 26px; height: 26px; border-radius: 50%; background: var(--brand); display: flex; align-items: center; justify-content: center; font-size: .68rem; font-weight: 700; color: white; flex-shrink: 0; }
.wusr-name { font-size: .73rem; font-weight: 600; color: rgba(255,255,255,.8); flex: 1; }
.wusr-role { font-size: .6rem; color: var(--adm-muted); }
.wusr-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.2); }
.wusr-dot.active { background: #4ade80; }

/* Blog widget */
.wblog-row { padding: .4rem 0; border-bottom: 1px solid var(--adm-border); }
.wblog-row:last-child { border-bottom: none; }
.wblog-title { font-size: .73rem; font-weight: 600; color: rgba(255,255,255,.85); }
.wblog-meta { font-size: .62rem; color: var(--adm-muted); }

/* Timeline widget */
.wtl-list { display: flex; flex-direction: column; gap: .5rem; }
.wtl-row { display: flex; align-items: flex-start; gap: .5rem; }
.wtl-icon { font-size: 1rem; flex-shrink: 0; }
.wtl-title { font-size: .73rem; font-weight: 600; color: rgba(255,255,255,.85); }
.wtl-date { font-size: .62rem; color: var(--adm-muted); }

/* Gallery widget */
.wgal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .3rem; }
.wgal-item { aspect-ratio: 1; border-radius: var(--r-sm); overflow: hidden; background: rgba(255,255,255,.05); }
.wgal-item img { width: 100%; height: 100%; object-fit: cover; }

/* Note widget */
.w-note-ta { width: 100%; min-height: 100px; background: rgba(255,255,255,.04); border: 1px solid var(--adm-border); border-radius: var(--r-sm); color: rgba(255,255,255,.8); padding: .65rem; font-size: .78rem; font-family: var(--font-b); resize: vertical; }

/* Media lib */
.media-page-group { margin-bottom: 1.5rem; }
.media-page-label { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.media-page-badge { background: rgba(193,90,52,.2); color: var(--brand-light); font-size: .68rem; font-weight: 700; padding: .2rem .6rem; border-radius: var(--r-full); border: 1px solid rgba(193,90,52,.3); }
.media-page-count { font-size: .65rem; color: var(--adm-muted); }
.media-empty { text-align: center; padding: 2rem; color: var(--adm-muted); }
.media-empty-icon { font-size: 2.5rem; margin-bottom: .5rem; }
.media-lib-section { background: rgba(255,255,255,.08); padding: .1rem .4rem; border-radius: var(--r-full); font-size: .58rem; }
.media-lib-date { font-size: .58rem; color: rgba(255,255,255,.25); margin-top: .1rem; }

/* Quick links widget */
.wql-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .4rem; }
.wql-btn { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .55rem .3rem; background: rgba(255,255,255,.06); border: 1px solid var(--adm-border); border-radius: var(--r-sm); color: rgba(255,255,255,.7); font-size: .63rem; font-weight: 600; cursor: pointer; transition: all .15s; font-family: var(--font-b); }
.wql-btn:hover { background: rgba(193,90,52,.2); border-color: rgba(193,90,52,.4); color: white; }

/* ════════════════════════════════════════════════════════════
   AGENDA BEWERKBAAR (edit inline)
════════════════════════════════════════════════════════════ */
.sa-ag-edit-form {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-radius: var(--r-md); padding: 1rem;
  margin-top: .5rem; display: none;
}
.sa-ag-edit-form.open { display: block; }

/* ════════════════════════════════════════════════════════════
   INLINE EDIT FORMS (team, agenda, about)
════════════════════════════════════════════════════════════ */
.inline-edit-form {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--adm-border);
  border-top: none;
  border-radius: 0 0 var(--r-md) var(--r-md);
  padding: 1rem;
  margin-bottom: .3rem;
  animation: fadeSlide .2s ease;
}
@keyframes fadeSlide {
  from { opacity:0; transform:translateY(-8px); }
  to   { opacity:1; transform:none; }
}

/* Team photo view hint */
.tc-photo-wrap { position: relative; overflow: hidden; }
.tc-view-hint {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(193,90,52,.85); color: white;
  font-size: .68rem; text-align: center; padding: .3rem;
  transform: translateY(100%);
  transition: transform .25s ease;
}
.team-card:hover .tc-view-hint { transform: translateY(0); }

/* Team modal */
.team-modal-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(18,10,4,.75); backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .3s ease; padding: 1rem;
}
.team-modal-overlay.open { opacity: 1; pointer-events: all; }
.team-modal-box {
  background: white; border-radius: var(--r-xl);
  max-width: 480px; width: 100%;
  box-shadow: 0 32px 80px rgba(18,10,4,.3);
  overflow: hidden;
  transform: translateY(20px) scale(.97);
  transition: transform .3s ease;
}
.team-modal-overlay.open .team-modal-box { transform: none; }
.team-modal-hero {
  height: 480px; position: relative;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand));
  background-size: cover !important; background-position: center top !important;
  background-repeat: no-repeat !important;
}
.team-modal-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(18,10,4,.7));
}
.team-modal-name-row {
  position: absolute; bottom: 1rem; left: 1.4rem; right: 1.4rem;
}
.team-modal-name { font-size: 1.4rem; font-weight: 800; color: white; font-family: var(--font-d); }
.team-modal-role { font-size: .85rem; color: rgba(255,255,255,.75); margin-top: .1rem; }
.team-modal-body { padding: 1.5rem; }
.team-modal-story { font-size: .9rem; line-height: 1.8; color: var(--ink-2); white-space: pre-wrap; }
.team-modal-close {
  position: absolute; top: .75rem; right: .75rem;
  background: rgba(255,255,255,.2); backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,.3); color: white;
  width: 32px; height: 32px; border-radius: 50%; font-size: .85rem;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .2s; z-index: 2;
}
.team-modal-close:hover { background: rgba(255,255,255,.35); }

/* About blocks - responsive auto grid */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 1.25rem; margin-top: 2rem;
}
.feature-card {
  background: white; border-radius: var(--r-xl);
  padding: 1.75rem 1.4rem;
  box-shadow: 0 4px 20px rgba(193,90,52,.07);
  border: 1px solid var(--border);
  transition: transform .25s, box-shadow .25s;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(193,90,52,.12); }
.feature-card-icon { font-size: 2rem; margin-bottom: .75rem; }
.feature-card-title { font-size: 1rem; font-weight: 800; color: var(--ink); margin-bottom: .45rem; font-family: var(--font-d); }
.feature-card-desc { font-size: .85rem; color: var(--ink-3); line-height: 1.65; }

/* Site popup */
.site-popup-overlay {
  position: fixed; inset: 0; z-index: 900;
  background: rgba(18,10,4,.6); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .4s ease; padding: 1.2rem;
}
.site-popup-overlay.show { opacity: 1; pointer-events: all; }
.site-popup-box {
  background: white; border-radius: var(--r-xl);
  max-width: 460px; width: 100%;
  box-shadow: 0 32px 80px rgba(18,10,4,.35);
  overflow: hidden; position: relative;
  transform: translateY(30px) scale(.96);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
.site-popup-overlay.show .site-popup-box { transform: none; }
.site-popup-img { height: 200px; width: 100%; object-fit: cover; display: block; }
.site-popup-img-placeholder {
  height: 180px; background: linear-gradient(135deg,var(--brand-dark),var(--brand));
  display: flex; align-items: center; justify-content: center; font-size: 3rem;
}
.site-popup-body { padding: 1.5rem 1.5rem 1.6rem; }

.site-popup-title {
  font-family: var(--font-d, serif);
  font-size: 1.25rem; font-weight: 700;
  color: var(--ink, #1a120b); margin: 0 0 .4rem; line-height: 1.2;
}
.site-popup-desc {
  font-size: .86rem; color: var(--ink-3, #6b5246);
  line-height: 1.7; margin: 0 0 1.1rem;
}
.site-popup-prog-bar { height: 7px; background: var(--surface-2); border-radius: 99px; overflow: hidden; }
.site-popup-prog-fill { height: 100%; background: linear-gradient(90deg,var(--brand),var(--gold)); border-radius: 99px; transition: width .8s ease; }
.site-popup-prog-meta { font-size: .73rem; color: var(--ink-3); margin-top: .3rem; display: flex; justify-content: space-between; margin-bottom: .9rem; }

/* Website link — subtiel bovenaan body */
.site-popup-web {
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .76rem; color: var(--ink-3); text-decoration: none;
  margin-bottom: .9rem; transition: color .2s;
}
.site-popup-web:hover { color: var(--brand); }
.site-popup-web::before { content: '🌐'; font-size: .8rem; }

/* Knoppenrij */
.site-popup-actions {
  display: flex; flex-direction: column; gap: .55rem; margin-top: .25rem;
}
.site-popup-cta, .site-popup-dismiss {
  display: flex; align-items: center; justify-content: center;
  width: 100%; padding: .75rem 1rem;
  border-radius: var(--r-full); font-size: .88rem; font-weight: 700;
  font-family: var(--font-b); cursor: pointer; transition: all .2s;
  text-decoration: none; border: none; letter-spacing: .01em;
}
.site-popup-cta {
  background: var(--brand); color: white;
  box-shadow: 0 4px 16px rgba(193,90,52,.35);
}
.site-popup-cta:hover { background: var(--brand-dark, #a04628); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(193,90,52,.4); }
.site-popup-dismiss {
  background: var(--surface-2, #f5f0eb); color: var(--ink-3);
  border: 1.5px solid var(--border);
}
.site-popup-dismiss:hover { background: var(--surface); color: var(--ink); }
/* Website-knop als dismiss variant */
a.site-popup-dismiss {
  color: var(--brand); background: rgba(193,90,52,.06);
  border-color: rgba(193,90,52,.2);
}
a.site-popup-dismiss:hover { background: rgba(193,90,52,.12); }
/* .site-popup-close – see unified definition at end of file */
.site-popup-nav { display: flex; justify-content: center; gap: 5px; padding: .6rem 0 .25rem; }
.site-popup-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--border); border: none; cursor: pointer; transition: all .2s; }
.site-popup-dot.on { background: var(--brand); transform: scale(1.3); }

/* Widget selector */
.wsel-header { margin-bottom: 1rem; }
.wsel-main-title { font-size: .95rem; font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: .25rem; }
.wsel-sub { font-size: .73rem; color: var(--adm-muted); }
.wsel-group { margin-bottom: 1.2rem; }
.wsel-group-label { font-size: .63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--adm-muted); margin-bottom: .5rem; }
.wsel-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(145px,1fr)); gap: .45rem; }
.wsel-card { background: rgba(255,255,255,.04); border: 1.5px solid var(--adm-border); border-radius: var(--r-md); padding: .75rem; cursor: pointer; transition: all .15s; }
.wsel-card:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.25); }
.wsel-card.on { background: rgba(193,90,52,.18); border-color: var(--brand); }
.wsel-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .4rem; }
.wsel-icon { font-size: 1.25rem; }
.wsel-check { width: 18px; height: 18px; border-radius: 4px; border: 1.5px solid var(--adm-border); display: flex; align-items: center; justify-content: center; font-size: .65rem; font-weight: 700; color: white; }
.wsel-check.on { background: var(--brand); border-color: var(--brand); }
.wsel-label { font-size: .75rem; font-weight: 700; color: rgba(255,255,255,.85); margin-bottom: .15rem; }
.wsel-desc { font-size: .63rem; color: var(--adm-muted); line-height: 1.4; }
.wsel-order-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--adm-border); }
.wsel-order-list { display: flex; flex-direction: column; gap: .3rem; }
.wsel-order-item { display: flex; align-items: center; gap: .5rem; padding: .4rem .7rem; background: rgba(255,255,255,.04); border: 1px solid var(--adm-border); border-radius: var(--r-sm); font-size: .74rem; }
.wsel-order-icon { font-size: .9rem; }
.wsel-order-name { flex: 1; color: rgba(255,255,255,.8); font-weight: 600; }
.wsel-order-btns { display: flex; gap: .25rem; }
.wsel-order-btns button { background: rgba(255,255,255,.08); border: 1px solid var(--adm-border); color: rgba(255,255,255,.6); width: 24px; height: 24px; border-radius: var(--r-sm); cursor: pointer; font-size: .75rem; display: flex; align-items: center; justify-content: center; transition: all .15s; }
.wsel-order-btns button:hover:not(:disabled) { background: rgba(255,255,255,.2); color: white; }
.wsel-order-btns button:disabled { opacity: .3; cursor: not-allowed; }
.wsel-footer { display: flex; gap: .6rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--adm-border); flex-wrap: wrap; }

/* Widget grid */
.sa-widget-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 1rem; }
.widget-card { background: rgba(255,255,255,.05); border: 1px solid var(--adm-border); border-radius: var(--r-lg); overflow: hidden; }
.widget-card-header { display: flex; align-items: center; gap: .5rem; padding: .75rem 1rem; border-bottom: 1px solid var(--adm-border); background: rgba(255,255,255,.03); }
.wcard-icon { font-size: 1rem; }
.widget-card-title { font-size: .78rem; font-weight: 700; color: rgba(255,255,255,.75); }
.widget-body { padding: .8rem 1rem; }
.w-empty { color: var(--adm-muted); font-size: .77rem; font-style: italic; }
.widget-empty-state { grid-column: 1/-1; text-align: center; padding: 3rem; color: var(--adm-muted); }

/* Widget countdown */
.wcd { text-align: center; padding: .6rem; }
.wcd-nums { display: flex; align-items: flex-end; justify-content: center; gap: .25rem; margin-bottom: .5rem; }
.wcd-unit { display: flex; flex-direction: column; align-items: center; }
.wcd-n { font-size: 1.9rem; font-weight: 800; color: var(--brand-light); font-family: var(--font-d); line-height: 1; }
.wcd-l { font-size: .53rem; color: var(--adm-muted); text-transform: uppercase; letter-spacing: .06em; }
.wcd-sep { font-size: 1.4rem; color: rgba(255,255,255,.2); margin-bottom: .8rem; line-height: 1; }
.wcd-date { font-size: .7rem; color: var(--adm-muted); }
.wcd-gone { font-size: 1.1rem; color: var(--gold); font-weight: 700; }

/* Widget stats */
.ws-big { font-size: 1.5rem; font-weight: 800; color: var(--brand-light); font-family: var(--font-d); }
.ws-sub { font-size: .68rem; color: var(--adm-muted); margin-bottom: .5rem; }
.ws-bar { height: 4px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; margin: .3rem 0 .6rem; }
.ws-bar-fill { height: 100%; background: linear-gradient(90deg,var(--brand),var(--gold)); border-radius: 2px; }
.ws-row { display: flex; justify-content: space-between; font-size: .7rem; color: rgba(255,255,255,.5); margin-bottom: .15rem; }

/* Widget donations */
.wdon-list { display: flex; flex-direction: column; gap: .35rem; }
.wdon-row { display: flex; align-items: center; gap: .5rem; }
.wdon-av { width: 26px; height: 26px; border-radius: 50%; background: var(--brand); display: flex; align-items: center; justify-content: center; font-size: .65rem; font-weight: 700; color: white; flex-shrink: 0; }
.wdon-info { flex: 1; }
.wdon-name { font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.8); }
.wdon-date { font-size: .6rem; color: var(--adm-muted); }
.wdon-amt { font-size: .78rem; font-weight: 700; color: var(--brand-light); }

/* Widget campaigns */
.wcamp-item { margin-bottom: .65rem; }
.wcamp-name { font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.8); margin-bottom: .25rem; }
.wcamp-prog { height: 5px; background: rgba(255,255,255,.08); border-radius: 3px; overflow: hidden; margin-bottom: .2rem; }
.wcamp-fill { height: 100%; background: linear-gradient(90deg,var(--brand),var(--gold)); border-radius: 3px; }
.wcamp-meta { font-size: .63rem; color: var(--adm-muted); }

/* Widget team */
.wteam-grid { display: flex; flex-wrap: wrap; gap: .28rem; }
.wteam-av { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .68rem; font-weight: 700; color: white; background: var(--brand); border: 2px solid rgba(255,255,255,.1); overflow: hidden; }
.wteam-av img { width: 100%; height: 100%; object-fit: cover; }

/* Widget agenda */
.wag-row { display: flex; align-items: flex-start; gap: .45rem; font-size: .7rem; margin-bottom: .4rem; }
.wag-title { font-weight: 600; color: rgba(255,255,255,.85); }
.wag-date { font-size: .6rem; color: var(--adm-muted); }

/* Widget users */
.wusr-list { display: flex; flex-direction: column; gap: .35rem; }
.wusr-row { display: flex; align-items: center; gap: .45rem; }
.wusr-av { width: 24px; height: 24px; border-radius: 50%; background: var(--brand); display: flex; align-items: center; justify-content: center; font-size: .6rem; font-weight: 700; color: white; flex-shrink: 0; }
.wusr-name { font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.8); flex: 1; }
.wusr-role { font-size: .58rem; color: var(--adm-muted); }
.wusr-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.2); }
.wusr-dot.active { background: #4ade80; }

/* Widget blog */
.wblog-row { padding: .35rem 0; border-bottom: 1px solid var(--adm-border); }
.wblog-row:last-child { border-bottom: none; }
.wblog-title { font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.85); }
.wblog-meta { font-size: .6rem; color: var(--adm-muted); }

/* Widget timeline */
.wtl-list { display: flex; flex-direction: column; gap: .45rem; }
.wtl-row { display: flex; align-items: flex-start; gap: .45rem; }
.wtl-icon { font-size: .95rem; flex-shrink: 0; }
.wtl-title { font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.85); }
.wtl-date { font-size: .6rem; color: var(--adm-muted); }

/* Widget gallery */
.wgal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .25rem; }
.wgal-item { aspect-ratio: 1; border-radius: var(--r-sm); overflow: hidden; background: rgba(255,255,255,.05); }
.wgal-item img { width: 100%; height: 100%; object-fit: cover; }

/* Widget quicklinks */
.wql-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .35rem; }
.wql-btn { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .5rem .25rem; background: rgba(255,255,255,.06); border: 1px solid var(--adm-border); border-radius: var(--r-sm); color: rgba(255,255,255,.7); font-size: .6rem; font-weight: 600; cursor: pointer; transition: all .15s; font-family: var(--font-b); }
.wql-btn:hover { background: rgba(193,90,52,.2); border-color: rgba(193,90,52,.4); color: white; }

/* Widget note */
.w-note-ta { width: 100%; min-height: 90px; background: rgba(255,255,255,.04); border: 1px solid var(--adm-border); border-radius: var(--r-sm); color: rgba(255,255,255,.8); padding: .6rem; font-size: .77rem; font-family: var(--font-b); resize: vertical; }

/* Widget media */
.wmed-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .25rem; }

/* Media library pagina-groepen */
.media-page-group { margin-bottom: 1.5rem; }
.media-page-label { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.media-page-badge { background: rgba(193,90,52,.2); color: var(--brand-light); font-size: .68rem; font-weight: 700; padding: .2rem .6rem; border-radius: var(--r-full); border: 1px solid rgba(193,90,52,.3); }
.media-page-count { font-size: .65rem; color: var(--adm-muted); }
.media-empty { text-align: center; padding: 2rem; color: var(--adm-muted); }
.media-empty-icon { font-size: 2.5rem; margin-bottom: .5rem; }
.media-lib-section { background: rgba(255,255,255,.08); padding: .1rem .4rem; border-radius: var(--r-full); font-size: .58rem; }
.media-lib-date { font-size: .58rem; color: rgba(255,255,255,.25); margin-top: .1rem; }

/* Responsive — mobiel */
@media(max-width:900px){
  .nav-links,.nav-btns { display:none !important; }
  .mob-toggle { display:flex !important; }
}
@media(max-width:600px){
  .feature-grid { grid-template-columns: repeat(1,1fr); }
  .about-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .camp-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .con-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .gallery-item { width: 150px; height: 112px; }
  .hero-content-wrap { padding: 1rem 1.2rem; }
  .sec { padding: 3rem 1.2rem; }
  .container { padding: 0 1.2rem; }
  .agenda-wrap { flex-direction:column; gap:1.5rem; }
  .agenda-calendar-col { width:100%; }
  .site-popup-box { max-width:100%; }
}

/* Hamburger animatie */
.mob-toggle span { display:block; width:22px; height:2px; background:white; border-radius:2px; transition:all .3s ease; }
.mob-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.mob-toggle.open span:nth-child(2) { opacity:0; }
.mob-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mob-toggle { display:none; background:none; border:none; cursor:pointer; padding:.4rem; flex-direction:column; gap:5px; align-items:center; justify-content:center; }

/* Mob nav styling */
.mob-nav {
  position:fixed; top:0; right:-100%; bottom:0;
  width:min(320px,85vw);
  background:#1a0e06;
  box-shadow: -8px 0 32px rgba(0,0,0,.4);
  z-index:998; padding:5rem 1.5rem 2rem;
  transition:right .35s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
}
.mob-nav.open { right:0; }
.mob-nav a { display:block; padding:.85rem .4rem; border-bottom:1px solid rgba(255,255,255,.07); color:rgba(255,255,255,.85); font-size:.95rem; text-decoration:none; font-weight:500; transition:color .15s; }
.mob-nav a:hover { color:var(--brand-light); }
.mob-nav-foot { margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); }
.mob-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:997; }
.mob-overlay.show { display:block; }

/* ═══════════════════════════════════════════════════════════════
   V6 AANVULLING — Aanvragen, Analytics, Dashboard widgets,
   FAQ, Modules fix, Media upload, Requests
═══════════════════════════════════════════════════════════════ */

/* ── Aanvragen kaarten ───────────────────────────────────── */
.req-card { border-radius:10px; padding:1rem 1.1rem; margin-bottom:.75rem; border:1.5px solid transparent; }
.req-pending  { background:rgba(201,137,42,.08); border-color:rgba(201,137,42,.3); }
.req-approved { background:rgba(52,199,89,.08);  border-color:rgba(52,199,89,.3); }
.req-rejected { background:rgba(255,59,48,.08);  border-color:rgba(255,59,48,.3); }
.req-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:.4rem; flex-wrap:wrap; gap:.4rem; }
.req-meta    { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.req-author  { font-weight:700; font-size:.78rem; }
.req-date    { font-size:.68rem; color:var(--adm-muted); white-space:nowrap; }
.req-title   { font-weight:600; font-size:.83rem; margin-bottom:.25rem; }
.req-desc    { font-size:.75rem; color:var(--adm-muted); margin-bottom:.5rem; }
.req-type    { display:inline-block; font-size:.65rem; padding:2px 7px; border-radius:99px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; }
.req-type-timeline  { background:rgba(193,90,52,.15); color:var(--brand); }
.req-type-blog      { background:rgba(96,165,250,.15); color:#3b82f6; }
.req-type-team      { background:rgba(52,199,89,.15);  color:#16a34a; }
.req-type-campaigns { background:rgba(201,137,42,.15); color:var(--gold); }
.req-type-faq       { background:rgba(139,92,246,.15); color:#7c3aed; }
.req-type-gallery   { background:rgba(236,72,153,.15); color:#db2777; }
.req-type-agenda    { background:rgba(14,165,233,.15); color:#0284c7; }
.req-type-pages, .req-type-banner { background:rgba(100,116,139,.15); color:#475569; }
.req-action      { font-size:.65rem; background:rgba(0,0,0,.07); padding:2px 7px; border-radius:99px; }
.req-status-ok   { font-size:.73rem; color:#16a34a; font-weight:600; margin-top:.4rem; }
.req-status-wait { font-size:.73rem; color:var(--gold); font-weight:600; margin-top:.4rem; }
.req-reason      { font-size:.73rem; color:#dc2626; margin-top:.4rem; padding:.4rem .6rem; background:rgba(220,38,38,.06); border-radius:6px; }
.req-actions     { display:flex; gap:.5rem; margin-top:.6rem; }
.req-badge-dot   { display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:16px; border-radius:99px; background:#dc2626; color:white; font-size:.6rem; font-weight:700; padding:0 4px; }

/* ── Dashboard widget system ─────────────────────────────── */
#sa-widget-grid, #ed-widget-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1rem; align-items:start;
}
.widget-card { background:var(--adm-card); border-radius:12px; border:1.5px solid var(--adm-border); overflow:hidden; transition:box-shadow .2s; }
.widget-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.12); }
.widget-sm { grid-column:span 1; }
.widget-md { grid-column:span 1; }
.widget-lg { grid-column:span 2; }
@media(max-width:700px){ .widget-lg { grid-column:span 1; } }
.widget-header { display:flex; align-items:center; gap:.5rem; padding:.65rem 1rem .5rem; border-bottom:1px solid var(--adm-border); }
.widget-icon   { font-size:1.1rem; }
.widget-title  { font-weight:700; font-size:.8rem; flex:1; }
.widget-controls { display:flex; gap:2px; opacity:0; transition:opacity .15s; }
.widget-card:hover .widget-controls { opacity:1; }
.wctrl-btn     { background:none; border:none; cursor:pointer; font-size:.7rem; padding:2px 4px; border-radius:4px; color:var(--adm-muted); transition:background .15s; }
.wctrl-btn:hover { background:rgba(0,0,0,.08); color:var(--ink-1); }
.wctrl-remove  { background:none; border:none; cursor:pointer; font-size:.75rem; padding:2px 5px; border-radius:4px; color:var(--adm-muted); transition:all .15s; }
.wctrl-remove:hover { background:rgba(220,38,38,.1); color:#dc2626; }
.widget-body   { padding:.75rem 1rem 1rem; min-height:80px; }
.ws-empty      { font-size:.75rem; color:var(--adm-muted); font-style:italic; padding:.5rem 0; }
/* Widget selector */
#dashWidgetSelector, #edDashWidgetSelector { display:none; }
#dashWidgetSelector.open, #edDashWidgetSelector.open { display:block; }
.wsel-inner    { background:var(--adm-card); border:1.5px solid var(--adm-border); border-radius:12px; padding:1.2rem; margin-top:1rem; }
.wsel-inner-title { font-size:.9rem; font-weight:700; margin-bottom:1rem; display:flex; justify-content:space-between; align-items:center; }
.wsel-cat      { margin-bottom:1rem; }
.wsel-cat-label{ font-size:.68rem; text-transform:uppercase; letter-spacing:.6px; color:var(--adm-muted); font-weight:700; margin-bottom:.5rem; }
.wsel-grid     { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.5rem; }
.wsel-item     { border:1.5px solid var(--adm-border); border-radius:8px; padding:.6rem .8rem; cursor:pointer; transition:all .15s; background:var(--adm-bg); }
.wsel-item:hover { border-color:var(--brand); background:rgba(193,90,52,.05); }
.wsel-on       { border-color:var(--brand); background:rgba(193,90,52,.08); }
.wsel-item-icon{ font-size:1.3rem; margin-bottom:.2rem; }
.wsel-item-label{ font-size:.78rem; font-weight:700; }
.wsel-item-desc{ font-size:.65rem; color:var(--adm-muted); margin-top:.15rem; line-height:1.3; }
.wsel-item-badge{ font-size:.62rem; margin-top:.4rem; font-weight:700; color:var(--brand); }
.wsel-on .wsel-item-badge { color:#16a34a; }
/* Widget content types */
.wcd-body  { text-align:center; padding:.5rem 0; }
.wcd-num   { font-size:2.6rem; font-weight:900; line-height:1; color:var(--brand); }
.wcd-label { font-size:.72rem; color:var(--adm-muted); margin-top:.2rem; }
.wcd-date  { font-size:.67rem; color:var(--adm-muted); margin-top:.15rem; }
.ws-stats  { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; }
.ws-stat   { text-align:center; padding:.4rem; background:var(--adm-bg); border-radius:6px; }
.ws-stat-n { font-size:1.3rem; font-weight:800; color:var(--brand-light); }
.ws-stat-l { font-size:.62rem; color:var(--adm-muted); margin-top:.1rem; }
.ws-quicklinks { display:flex; flex-wrap:wrap; gap:.4rem; }
.ws-ql-btn { background:var(--adm-bg); border:1px solid var(--adm-border); border-radius:6px; padding:.3rem .6rem; font-size:.72rem; cursor:pointer; color:var(--ink-1); transition:all .15s; }
.ws-ql-btn:hover { background:var(--brand); color:white; border-color:var(--brand); }
.wcamp-row { margin-bottom:.5rem; }
.wcamp-name { font-size:.73rem; font-weight:600; margin-bottom:.2rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wcamp-progress { height:6px; background:var(--adm-border); border-radius:99px; overflow:hidden; }
.wcamp-pct { font-size:.62rem; color:var(--adm-muted); margin-top:.1rem; }
.wdon-list { display:flex; flex-direction:column; gap:.3rem; }
.wdon-row  { display:flex; justify-content:space-between; align-items:center; padding:.25rem 0; border-bottom:1px solid var(--adm-border); }
.wdon-name { font-size:.73rem; }
.wdon-amt  { font-size:.73rem; font-weight:700; color:var(--brand-light); }
.wlist-row { padding:.3rem 0; border-bottom:1px solid var(--adm-border); }
.wlist-row:last-child { border:none; }
.ws-team-wrap { text-align:center; }
.ws-team-faces { display:flex; gap:.3rem; flex-wrap:wrap; justify-content:center; }
.ws-team-face  { width:34px; height:34px; border-radius:50%; overflow:hidden; background:var(--brand); display:flex; align-items:center; justify-content:center; font-size:.6rem; font-weight:700; color:white; }
.ws-team-face img { width:100%; height:100%; object-fit:cover; }
.widget-note-ta { width:100%; min-height:80px; border:1px solid var(--adm-border); border-radius:6px; padding:.5rem; font-size:.75rem; font-family:inherit; resize:vertical; background:var(--adm-bg); color:var(--ink-1); }
/* Mini analytics chart in widget */
.analytics-mini-chart { display:flex; align-items:flex-end; gap:4px; height:50px; }
.amc-col   { display:flex; flex-direction:column; align-items:center; flex:1; height:100%; justify-content:flex-end; }
.amc-bar   { width:100%; background:var(--brand); border-radius:3px 3px 0 0; transition:height .3s; }
.amc-day   { font-size:.55rem; color:var(--adm-muted); margin-top:2px; }

/* ── Analytics full view ────────────────────────────────── */
.analytics-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-bottom:1.5rem; }
@media(max-width:600px){ .analytics-stats { grid-template-columns:repeat(2,1fr); } }
.astat    { background:var(--adm-bg); border-radius:8px; padding:.7rem 1rem; text-align:center; border:1px solid var(--adm-border); }
.astat-n  { font-size:1.6rem; font-weight:800; color:var(--brand-light); }
.astat-l  { font-size:.67rem; color:var(--adm-muted); margin-top:.15rem; }
.analytics-chart-wrap { margin-bottom:1.5rem; }
.analytics-chart-title { font-size:.78rem; font-weight:700; color:var(--adm-muted); text-transform:uppercase; letter-spacing:.5px; margin-bottom:.6rem; }
.analytics-chart { display:flex; align-items:flex-end; gap:4px; height:90px; background:var(--adm-bg); padding:.5rem; border-radius:8px; border:1px solid var(--adm-border); overflow-x:auto; }
.ac-bar-wrap { display:flex; flex-direction:column; align-items:center; min-width:20px; flex:1; height:100%; justify-content:flex-end; gap:2px; }
.ac-bar   { width:100%; background:var(--brand); border-radius:3px 3px 0 0; transition:height .5s; min-height:2px; }
.ac-bar-val { font-size:.52rem; color:var(--adm-muted); }
.ac-bar-day { font-size:.5rem; color:var(--adm-muted); white-space:nowrap; }
.analytics-pages-wrap { margin-bottom:1.5rem; }
.ap-row { display:flex; align-items:center; gap:.6rem; margin-bottom:.4rem; }
.ap-name { font-size:.73rem; min-width:100px; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ap-bar-wrap { flex:1; height:8px; background:var(--adm-border); border-radius:99px; overflow:hidden; }
.ap-bar { height:100%; background:var(--brand); border-radius:99px; }
.ap-count { font-size:.68rem; color:var(--adm-muted); white-space:nowrap; }

/* ── Media upload fields ─────────────────────────────────── */


/* ── Inline edit enhanced ────────────────────────────────── */
.inline-edit-form { background:var(--adm-bg); border:1.5px solid var(--brand); border-radius:8px; padding:1rem 1.1rem; margin-top:.5rem; animation:fadeSlide .2s ease; }
@keyframes fadeSlide { from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)} }

/* ── Role badges v6 ──────────────────────────────────────── */
.badge-super  { background:rgba(193,90,52,.15); color:var(--brand); }
.badge-editor { background:rgba(96,165,250,.15); color:#3b82f6; }

/* ── Requests nav badge ──────────────────────────────────── */
.adm-nav-btn .req-badge-dot { position:absolute; right:8px; top:50%; transform:translateY(-50%); }
.adm-nav-btn { position:relative; }

/* ── Tabs voor admin ─────────────────────────────────────── */
.adm-tabs { display:flex; gap:.3rem; flex-wrap:wrap; margin-bottom:.5rem; }
.adm-tab  { background:var(--adm-bg); border:1.5px solid var(--adm-border); border-radius:6px; padding:.35rem .8rem; font-size:.75rem; cursor:pointer; font-weight:600; transition:all .15s; color:var(--ink-1); }
.adm-tab.active { background:var(--brand); color:white; border-color:var(--brand); }

/* ── Donaties read-only editor ───────────────────────────── */
.ed-readonly-note { font-size:.75rem; color:var(--adm-muted); font-style:italic; margin-bottom:.8rem; padding:.5rem .8rem; background:var(--adm-bg); border-radius:6px; border:1px solid var(--adm-border); }

/* ── abtn-warn variant ───────────────────────────────────── */
.abtn-warn { background:rgba(234,179,8,.15); color:#854d0e; border-color:rgba(234,179,8,.4); }
.abtn-warn:hover { background:rgba(234,179,8,.25); }

/* ══════════════════════════════════════════════════════════════
   V7 ADDITIONS
══════════════════════════════════════════════════════════════ */

/* ── Cookie Consent Banner ────────────────────────────────── */
.cookie-banner {
  position: fixed; bottom: 1rem; left: 1rem; right: 1rem; z-index: 9999;
  color: #fff;
  transform: translateY(100%); transition: transform .4s cubic-bezier(.2,.8,.3,1);
  pointer-events: none;
}
.cookie-banner.visible { transform: translateY(0); }
.cookie-banner-inner {
  display: flex; align-items: center; gap: 1.2rem;
  max-width: 1040px; margin: 0 auto; padding: 1rem 1.15rem;
  flex-wrap: wrap; pointer-events: auto;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(12,7,2,.94);
  box-shadow: 0 24px 60px rgba(12,7,2,.34);
  backdrop-filter: blur(18px) saturate(1.15);
}
.cookie-icon {
  width: 48px; height: 48px; flex-shrink: 0;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(224,122,82,.28), rgba(201,137,42,.24));
  border: 1px solid rgba(255,255,255,.08);
  font-size: 1.2rem;
}
.cookie-text { flex: 1; min-width: 240px; }
.cookie-text strong { display: block; margin-bottom: .22rem; font-size: 1rem; }
.cookie-text p { font-size: .82rem; color: rgba(255,255,255,.78); margin: 0; line-height: 1.55; }
.cookie-actions { display: flex; gap: .6rem; flex-shrink: 0; }
.cookie-btn-accept {
  background: var(--brand); color: #fff; border: none; cursor: pointer;
  padding: .72rem 1.2rem; border-radius: var(--r-full); font-weight: 700;
  font-size: .85rem; font-family: var(--font-b); transition: opacity .2s, transform .2s;
  min-width: 132px;
}
.cookie-btn-accept:hover { opacity: .92; transform: translateY(-1px); }
.cookie-btn-decline {
  background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.16);
  cursor: pointer; padding: .72rem 1rem; border-radius: var(--r-full);
  font-size: .85rem; font-family: var(--font-b); transition: background .2s, border-color .2s;
  min-width: 118px;
}
.cookie-btn-decline:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.24); }
@media(max-width:600px){
  .cookie-banner { left: .75rem; right: .75rem; bottom: .75rem; }
  .cookie-banner-inner { flex-direction: column; align-items: flex-start; gap: .8rem; }
  .cookie-actions { width: 100%; }
  .cookie-btn-accept, .cookie-btn-decline { flex: 1; text-align: center; }
}

/* ── Social Icon Links (Footer) ───────────────────────────── */
.social-icon-link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.1); color: rgba(255,255,255,.7);
  text-decoration: none; transition: all .2s; margin-right: .4rem;
}
.social-icon-link:hover {
  background: var(--brand); color: #fff; transform: translateY(-2px);
}
.social-icon-link svg { display: block; }

/* ── Acties Pagina: Event badges & cards ──────────────────── */
.camp-event-badge {
  position: absolute; bottom: .6rem; left: .6rem;
  background: var(--gold); color: #fff;
  padding: .3rem .7rem; border-radius: 999px;
  font-size: .72rem; font-weight: 700; letter-spacing: .02em;
}
.camp-section-label {
  grid-column: 1/-1; font-size: .75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--ink-3); padding: .4rem 0 .2rem;
  border-bottom: 1px solid var(--divider); margin-bottom: .5rem;
}
.camp-type-label {
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--brand); margin-bottom: .4rem;
}
.camp-who { font-size: .82rem; color: var(--ink-3); margin: .3rem 0; }
.camp-examples-block {
  background: var(--bg-2,#f0ebe4); border-radius: var(--r-sm);
  padding: .6rem .8rem; margin: .6rem 0;
}
.camp-examples-label {
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: var(--ink-3); margin-bottom: .2rem;
}
.camp-examples-block p { font-size: .82rem; color: var(--ink-2); margin: 0; }
.camp-examples-block p+p { margin-top: .55rem; }

/* ── Pending Items (Admin portal timer) ───────────────────── */
.pending-item {
  background: rgba(255,255,255,.05); border: 1px solid var(--adm-border);
  border-radius: var(--r-sm); padding: .8rem; margin-bottom: .7rem;
}
.pending-item.pending-editor {
  border-left: 3px solid var(--brand);
}
.pending-top {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  margin-bottom: .4rem;
}
.pending-title {
  font-weight: 600; font-size: .85rem; color: white; margin-bottom: .3rem;
}
.pending-timer {
  font-size: .75rem; color: var(--gold); font-variant-numeric: tabular-nums;
  font-weight: 600; margin-bottom: .4rem;
}
.pending-author {
  font-size: .7rem; color: var(--adm-muted); margin-left: auto;
}
.req-action {
  font-size: .7rem; background: rgba(255,255,255,.08);
  padding: .15rem .5rem; border-radius: 999px; color: var(--adm-muted);
}

/* ── Dashboard Widgets V7 ─────────────────────────────────── */
.wa-label {
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--adm-muted); margin-bottom: .5rem;
}
.ws-team-wrap { }
.ws-team-faces { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: .4rem; }
.ws-team-face {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--brand); display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 700; color: white; overflow: hidden;
}
.ws-team-face img { width: 100%; height: 100%; object-fit: cover; }

/* ── Analytics Mini Chart ─────────────────────────────────── */
.analytics-mini-chart {
  display: flex; align-items: flex-end; gap: 2px; height: 50px;
  background: rgba(255,255,255,.04); border-radius: var(--r-sm); padding: .3rem .3rem 0;
}
.amc-col { display: flex; flex-direction: column; align-items: center; flex: 1; height: 100%; }
.amc-bar {
  width: 100%; background: var(--brand); border-radius: 2px 2px 0 0;
  min-height: 2px; transition: height .3s;
}
.amc-day { font-size: .55rem; color: var(--adm-muted); margin-top: 2px; }

/* ══════════════════════════════════════════════════════════════
   V8 ADDITIONS — Dashboard, Sponsors, Analytics, Buttons
══════════════════════════════════════════════════════════════ */

/* ── btn-outline-dark (for light backgrounds) ─────────────── */
.btn-outline-dark {
  display:inline-flex; align-items:center; gap:.55rem;
  background:transparent; color:var(--ink);
  padding:.9rem 2rem; border-radius:var(--r-full);
  font-weight:600; font-size:.9rem;
  border:2px solid rgba(0,0,0,.18);
  transition:all .25s;
}
.btn-outline-dark:hover {
  background:var(--ink); color:#fff;
  transform:translateY(-2px);
}

/* ── Dashboard Widgets V8 ─────────────────────────────────── */
.sa-widget-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1rem;
  margin-top:1rem;
}
.wcard {
  background:var(--adm-surface); border:1px solid var(--adm-border);
  border-radius:var(--r); overflow:hidden;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.wcard-clickable {
  cursor:pointer;
}
.wcard-clickable:hover {
  transform:translateY(-3px);
  box-shadow:0 8px 30px rgba(0,0,0,.3);
  border-color:var(--brand);
}
.wcard-sm { grid-column:span 1; }
.wcard-md { grid-column:span 1; }
.wcard-lg { grid-column:span 2; }
@media(max-width:700px){.wcard-lg{grid-column:span 1;}}
.wcard-header {
  display:flex; align-items:center; gap:.5rem;
  padding:.7rem .9rem .4rem; border-bottom:1px solid var(--adm-border);
}
.wcard-icon { font-size:1rem; }
.wcard-title { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--adm-muted); flex:1; }
.wcard-arrow { font-size:.85rem; color:var(--brand); opacity:.8; }
.wcard-noclick { font-size:.75rem; color:var(--adm-muted); opacity:.4; }
.wcard-body { padding:.8rem .9rem; }

/* Widget content */
.wempty { font-size:.78rem; color:var(--adm-muted); text-align:center; padding:.6rem 0; }
.wcd-empty { color:var(--adm-muted); font-size:.78rem; }
.wcd-wrap { text-align:center; padding:.3rem 0; }
.wcd-emoji { font-size:2.5rem; }
.wcd-num { font-size:2.8rem; font-weight:900; color:var(--brand-light); line-height:1; font-family:var(--font-d); }
.wcd-unit { font-size:.72rem; color:var(--adm-muted); margin:.2rem 0; }
.wcd-date { font-size:.75rem; color:var(--adm-text); }
.wcd-label { font-size:.9rem; font-weight:600; color:var(--adm-text); }

.wstat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; }
.wstat-item { background:rgba(255,255,255,.04); border-radius:var(--r-sm); padding:.5rem .6rem; }
.wstat-n { font-size:1.2rem; font-weight:800; color:var(--adm-text); font-family:var(--font-d); }
.wstat-l { font-size:.62rem; color:var(--adm-muted); margin-top:.1rem; }

.wprog-track { margin-top:.6rem; height:6px; background:rgba(255,255,255,.1); border-radius:99px; overflow:hidden; }
.wprog-fill { height:100%; background:linear-gradient(90deg,var(--brand),var(--gold)); border-radius:99px; transition:width .6s; }

.wagenda-row { display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem; }
.wagenda-icon { font-size:1.1rem; width:1.4rem; text-align:center; flex-shrink:0; }
.wagenda-info { flex:1; }
.wagenda-title { font-size:.78rem; color:var(--adm-text); font-weight:600; }
.wagenda-date { font-size:.65rem; color:var(--adm-muted); }

.wcamp-row2 { display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem; }
.wcamp-name2 { font-size:.75rem; color:var(--adm-text); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wcamp-event-tag { font-size:.6rem; color:var(--gold); margin-left:.3rem; }
.wcamp-bar2 { width:60px; height:6px; background:rgba(255,255,255,.1); border-radius:99px; overflow:hidden; flex-shrink:0; }
.wcamp-pct2 { font-size:.7rem; color:var(--adm-muted); width:28px; text-align:right; flex-shrink:0; }

.wdon-row2 { display:flex; justify-content:space-between; align-items:center; margin-bottom:.35rem; font-size:.77rem; }
.wdon-name2 { color:var(--adm-text); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wdon-amt2 { color:var(--brand-light); font-weight:700; margin-left:.5rem; }
.wdon-total { font-size:.7rem; color:var(--adm-muted); margin-top:.3rem; border-top:1px solid var(--adm-border); padding-top:.3rem; }

.wanalytics-chart { display:flex; align-items:flex-end; gap:3px; height:55px; background:rgba(255,255,255,.03); border-radius:var(--r-sm); padding:.4rem; }
.wac-col { display:flex; flex-direction:column; align-items:center; flex:1; height:100%; }
.wac-bar { width:100%; background:var(--brand); border-radius:2px 2px 0 0; min-height:2px; }
.wac-day { font-size:.5rem; color:var(--adm-muted); margin-top:2px; }

.wusers-list,.wteam-faces { margin-top:.6rem; }
.wuser-row { display:flex; align-items:center; gap:.5rem; margin-bottom:.35rem; }
.wuser-av { width:26px; height:26px; border-radius:50%; background:var(--brand); display:flex; align-items:center; justify-content:center; font-size:.6rem; font-weight:700; color:#fff; flex-shrink:0; }
.wuser-name { font-size:.75rem; color:var(--adm-text); flex:1; }
.wbadge { font-size:.6rem; padding:.15rem .45rem; border-radius:99px; }
.wbadge-super { background:rgba(201,137,42,.2); color:var(--gold); }
.wbadge-editor { background:rgba(193,90,52,.2); color:var(--brand-light,#e07a52); }

.wteam-faces { display:flex; flex-wrap:wrap; gap:.3rem; }
.wteam-face { width:30px; height:30px; border-radius:50%; background:var(--brand); display:flex; align-items:center; justify-content:center; font-size:.6rem; font-weight:700; color:#fff; overflow:hidden; }
.wteam-face.wteam-more { background:rgba(255,255,255,.1); color:var(--adm-muted); font-size:.65rem; }
.wteam-face img { width:100%; height:100%; object-fit:cover; }

.wnotif-row { margin-bottom:.45rem; padding-bottom:.4rem; border-bottom:1px solid var(--adm-border); }
.wnotif-row:last-child { border:none; margin:0; padding:0; }
.wnotif-msg { font-size:.75rem; color:var(--adm-text); }
.wnotif-time { font-size:.62rem; color:var(--adm-muted); margin-top:.1rem; }

.wpend-row { display:flex; align-items:center; gap:.4rem; margin-bottom:.4rem; flex-wrap:wrap; }
.wpend-title { font-size:.75rem; color:var(--adm-text); flex:1; }
.wpend-timer { font-size:.68rem; color:var(--gold); font-variant-numeric:tabular-nums; }

/* ── Analytics improvements ───────────────────────────────── */
.analytics-hint {
  background:rgba(201,137,42,.12); border:1px solid rgba(201,137,42,.3);
  border-radius:var(--r-sm); padding:.6rem .9rem;
  font-size:.78rem; color:var(--adm-text); margin-bottom:1rem; line-height:1.5;
}
.day-detail-row td { border-top:none !important; }
.ap-name { color:var(--adm-text) !important; }
.ap-count { color:var(--adm-text) !important; }
.astat { background:var(--adm-surface); border:1px solid var(--adm-border); border-radius:var(--r-sm); padding:.7rem .9rem; }
.astat-n { font-size:1.4rem; font-weight:900; color:var(--adm-text); font-family:var(--font-d); }
.astat-l { font-size:.65rem; color:var(--adm-muted); margin-top:.1rem; text-transform:uppercase; letter-spacing:.04em; }

/* ── Sponsor Banner (scrolling) ───────────────────────────── */
.sponsor-banner-section {
  background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);
  padding:1rem 0;
  overflow:hidden; position:sticky; bottom:0; z-index:90;
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 -4px 24px rgba(0,0,0,.2);
}
.sponsor-banner-label {
  text-align:center; font-size:.6rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.18em;
  color:rgba(255,255,255,.3); margin-bottom:.6rem;
  padding-top:.2rem;
}
.sponsor-ticker-wrap { overflow:hidden; width:100%; }
.sponsor-ticker {
  display:flex; align-items:center;
  animation:ticker-scroll 20s linear infinite;
  width:max-content;
  will-change:transform;
}
.sponsor-ticker:hover { animation-play-state:paused; }
@keyframes ticker-scroll {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
.sponsor-logo-item {
  flex-shrink:0; display:flex; align-items:center; justify-content:center;
  height:44px;
  padding: 0 2.2rem;
  border-left: 1px solid rgba(255,255,255,.15);
}
.sponsor-logo-item img {
  max-height:30px; max-width:110px; object-fit:contain;
  transition:opacity .2s, filter .2s;
  display: block;
}
.sponsor-logo-item img:hover { scale:1.05; filter:drop-shadow(0 2px 4px rgba(255,255,255,.3)); opacity:0.9; }
.sp-text-logo { font-size:.8rem; color:rgba(255,255,255,.5); white-space:nowrap; font-weight:600; }

/* ── Sponsor Grid ─────────────────────────────────────────── */
.sponsors-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:2rem;
}
.sponsor-card {
  background:#fff; border-radius:var(--r-xl);
  box-shadow:var(--sh-md); overflow:hidden;
  transition:transform .25s,box-shadow .25s;
  border:1px solid var(--border);
}
.sponsor-card:hover { transform:translateY(-6px); box-shadow:var(--sh-xl); }
.sponsor-card-logo-top {
  padding:1.2rem 1.5rem .8rem; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--surface),var(--surface-2));
  border-bottom:1px solid var(--border);
}
.sponsor-card-logo-top img { max-height:48px; max-width:180px; object-fit:contain; }
.sponsor-card-img img { width:100%; height:200px; object-fit:cover; }
.sponsor-video-wrap { position:relative; padding-bottom:56.25%; height:0; }
.sponsor-video-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
.sponsor-card-body { padding:1.5rem; }
.sponsor-card-body h3 { font-size:1.1rem; color:var(--ink); margin-bottom:.5rem; }
.sponsor-card-body p { font-size:.84rem; color:var(--ink-3); line-height:1.65; }
.sponsor-card-logo img { max-height:40px; max-width:140px; object-fit:contain; margin-bottom:.8rem; }
/* Sponsor modal gallery */
.sp-modal-gallery { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.8rem; }
.sp-modal-gallery img { width:80px; height:60px; object-fit:cover; border-radius:var(--r-sm); cursor:zoom-in; transition:transform .2s; }
.sp-modal-gallery img:hover { transform:scale(1.1); }
.sponsor-card-body h3 { font-size:1.1rem; color:var(--ink); font-family:var(--font-d); margin:0 0 .6rem; }
.sponsor-card-body p { font-size:.85rem; color:var(--ink-3); line-height:1.6; margin:0; }

/* ── Sponsor Popup ────────────────────────────────────────── */
.sponsor-popup-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.6);
  z-index:9000; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .4s;
  backdrop-filter:blur(4px);
}
.sponsor-popup-overlay.show { opacity:1; pointer-events:all; }
.sponsor-popup {
  background:#fff; border-radius:var(--r);
  max-width:440px; width:90%; max-height:88vh; overflow-y:auto;
  padding:2rem; position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,.3);
  transform:translateY(30px); transition:transform .4s;
}
.sponsor-popup-overlay.show .sponsor-popup { transform:translateY(0); }
.sponsor-popup-close {
  position:absolute; top:1rem; right:1rem;
  background:rgba(0,0,0,.06); border:none; cursor:pointer;
  width:32px; height:32px; border-radius:50%;
  font-size:1rem; display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.sponsor-popup-close:hover { background:rgba(0,0,0,.12); }
.sp-badge {
  display:inline-block; background:linear-gradient(135deg,var(--brand),var(--gold));
  color:#fff; padding:.25rem .8rem; border-radius:99px;
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  margin-bottom:1rem;
}
.sp-logo-wrap { text-align:center; margin-bottom:1rem; }
.sp-logo-wrap img { max-height:60px; max-width:200px; object-fit:contain; }
.sp-img-wrap img { width:100%; border-radius:var(--r-sm); margin-bottom:1rem; }
.sp-video-wrap { margin-bottom:1rem; position:relative; padding-bottom:56.25%; height:0; }
.sp-video-wrap iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; border-radius:var(--r-sm); }
.sp-name { font-size:1.3rem; font-weight:800; color:var(--ink); font-family:var(--font-d); margin:0 0 .6rem; }
.sp-story { font-size:.85rem; color:var(--ink-3); line-height:1.7; margin:0 0 1.2rem; }
.sp-footer { text-align:center; }

/* ══════════════════════════════════════════════════════════════
   V10 ADDITIONS — Dashboard, Upload, Banner, Footer, Wijzigingen
══════════════════════════════════════════════════════════════ */

/* ── Banner close button ──────────────────────────────────── */
.site-banner,
#siteBanner {
  display:flex; align-items:center; gap:.8rem;
  padding:.5rem 1.2rem; justify-content:center;
  flex-wrap:wrap;
}
.banner-close {
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.2); border:none; cursor:pointer;
  color:white; flex-shrink:0;
  transition:background .2s;
  margin-left:auto;
}
.banner-close:hover { background:rgba(255,255,255,.35); }
#siteBanner button:not(.banner-close) {
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.2); border:none; cursor:pointer;
  color:white; flex-shrink:0; font-size:.9rem;
  transition:background .2s; margin-left:.4rem;
}
#siteBanner button:not(.banner-close):hover { background:rgba(255,255,255,.35); }

/* ── Footer improvements ──────────────────────────────────── */
.footer-cta-btn {
  display:inline-flex; align-items:center; gap:.4rem;
  background:var(--brand); color:white;
  padding:.6rem 1.4rem; border-radius:99px;
  font-size:.82rem; font-weight:600;
  transition:background .2s,transform .2s;
  text-decoration:none;
}
.footer-cta-btn:hover { background:var(--brand-dark,#a04628); transform:translateY(-1px); color:white; }
.footer-bottom-links { display:flex; gap:1.2rem; }
.footer-bottom-links a { color:rgba(255,255,255,.5); font-size:.78rem; text-decoration:none; transition:color .2s; }
.footer-bottom-links a:hover { color:rgba(255,255,255,.85); }
@media(max-width:600px){
  .footer-bottom-links { gap:.8rem; }
  .footer-bottom { flex-direction:column; gap:.4rem; }
}

/* ── Upload field improvements ────────────────────────────── */


/* ── Team foto lightbox (betere kwaliteit) ────────────────── */
.lightbox img#lightboxImg {
  max-width:90vw;
  max-height:85vh;
  object-fit:contain;
  image-rendering:auto;
  -webkit-font-smoothing:antialiased;
}
.team-modal-img {
  width:200px; height:200px;
  border-radius:50%;
  object-fit:cover;
  image-rendering:auto;
}

/* ── Dashboard widget grid ────────────────────────────────── */
#sa-widget-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1rem;
  margin-top:0;
  align-items:start;
}
.wcard { break-inside:avoid; }

/* ── Wijzigingen (changes) cards ──────────────────────────── */
.change-preview {
  font-size:.78rem;color:var(--adm-muted);
  background:rgba(255,255,255,.04);border-radius:var(--r-sm);
  padding:.5rem .75rem;margin:.4rem 0;
  border-left:2px solid var(--brand-dark);
  white-space:pre-wrap;word-break:break-word;
  max-height:80px;overflow:hidden;
}
.change-card {
  background:var(--adm-surface);
  border:1px solid var(--adm-border);
  border-radius:var(--r-sm);
  padding:.8rem 1rem;
  margin-bottom:.6rem;
  transition:border-color .2s;
}
.change-card.change-pending { border-left:3px solid var(--gold); }
.change-card.change-published { border-left:3px solid #10b981; }
.change-card.change-rejected,
.change-card.change-cancelled { border-left:3px solid #ef4444; opacity:.75; }
.change-card.change-error { border-left:3px solid #7c3aed; }
.change-header {
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
  margin-bottom:.4rem;
}
.change-action-badge {
  font-size:.62rem; padding:.1rem .4rem; border-radius:99px;
  background:rgba(255,255,255,.1); color:var(--adm-muted);
  text-transform:uppercase; letter-spacing:.04em;
}
.change-title { font-size:.8rem; color:var(--adm-text); font-weight:600; flex:1; }
.change-timer { font-size:.75rem; color:var(--gold); font-variant-numeric:tabular-nums; margin-left:auto; }
.change-meta { display:flex; gap:.8rem; flex-wrap:wrap; font-size:.7rem; color:var(--adm-muted); }
.change-error {
  margin-top:.5rem; padding:.5rem .7rem;
  background:rgba(124,58,237,.12); border-radius:var(--r-sm);
  border:1px solid rgba(124,58,237,.25);
}
.ce-title { font-size:.75rem; color:#a78bfa; font-weight:600; }
.ce-diag, .ce-fix { font-size:.7rem; color:var(--adm-muted); margin-top:.2rem; }

/* ── Log table ────────────────────────────────────────────── */
#logs-table-wrap .adm-table td { max-width:400px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#logs-table-wrap .adm-table { table-layout:fixed; width:100%; }
#logs-table-wrap .adm-table th:nth-child(1),
#logs-table-wrap .adm-table td:nth-child(1) { width:90px; }
#logs-table-wrap .adm-table th:nth-child(2),
#logs-table-wrap .adm-table td:nth-child(2) { width:80px; }
#logs-table-wrap .adm-table th:nth-child(4),
#logs-table-wrap .adm-table td:nth-child(4) { width:100px; }
#logs-table-wrap .adm-table th:nth-child(5),
#logs-table-wrap .adm-table td:nth-child(5) { width:80px; }

/* ── Popup uniform close button ───────────────────────────── */
.sponsor-popup-close {
  position:absolute; top:.8rem; right:.8rem;
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  background:rgba(0,0,0,.06); border:none; cursor:pointer;
  transition:background .2s; z-index:1; color:inherit;
}
.sponsor-popup-close:hover { background:rgba(0,0,0,.14); }

/* ── Check list (popup admin) ─────────────────────────────── */
.check-list {
  display:flex; flex-direction:column; gap:.3rem;
  background:rgba(255,255,255,.04); border-radius:var(--r-sm);
  padding:.6rem; border:1px solid var(--adm-border);
  max-height:160px; overflow-y:auto;
}
.check-row {
  display:flex; align-items:center; gap:.5rem; cursor:pointer;
  padding:.2rem .3rem; border-radius:4px;
  font-size:.8rem; color:var(--adm-text);
  transition:background .15s;
}
.check-row:hover { background:rgba(255,255,255,.06); }
.check-row input[type=checkbox] { accent-color:var(--brand); }
.toggle-row {
  display:flex; align-items:center; gap:.5rem; cursor:pointer;
  font-size:.82rem; color:var(--adm-text);
}

/* ── Editor pending item edit button ─────────────────────── */
.inline-edit-form {
  background:var(--adm-bg); border:1px solid var(--adm-border);
  border-radius:var(--r-sm); padding:.8rem; margin-top:.5rem;
}
.ief-title {
  font-size:.78rem; font-weight:700; color:var(--adm-muted);
  text-transform:uppercase; letter-spacing:.05em; margin-bottom:.6rem;
}

/* ── Teamfoto vergroot: scherper ──────────────────────────── */
.team-card-img, .team-photo {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}
.team-modal img, .lightbox img {
  image-rendering: auto;
  -webkit-font-smoothing: subpixel-antialiased;
}

/* ════════════════════════════════════════════════════
   MAINTENANCE OVERLAY
════════════════════════════════════════════════════ */
#maintenanceOverlay {
  font-family: var(--font-b);
}
#maintenanceOverlay h1 {
  font-family: var(--font-d);
}

/* ════════════════════════════════════════════════════
   SPONSOR MODAL
════════════════════════════════════════════════════ */
#sponsorModal .team-modal-box {
  max-width: 580px;
}

/* ════════════════════════════════════════════════════
   RESPONSIVE VERBETERINGEN (punt 25)
════════════════════════════════════════════════════ */

/* Horizontal timeline on small screens */
@media(max-width:600px){
  .tl-h-item { width:200px; }
  .tl-h-card { width:180px; padding:.9rem; }
  .tl-h-title { font-size:.85rem; }
  .tl-h-desc { font-size:.72rem; }
  .tl-h-photos img { width:48px; height:36px; }
}

/* Sponsor grid responsive */
@media(max-width:600px){
  .sponsors-grid { grid-template-columns:1fr; }
  .sponsor-card-img img { height:160px; }
}

/* Team grid responsive */
@media(max-width:480px){
  .team-grid { grid-template-columns:repeat(2,1fr); gap:1rem; }
  .team-card { padding:1rem; }
  .team-card-photo { width:64px; height:64px; font-size:1.2rem; }
  .team-card-name { font-size:.85rem; }
}

/* Blog cards responsive */
@media(max-width:600px){
  .blog-grid { grid-template-columns:1fr; }
  .blog-card { max-width:100%; }
}

/* Admin portal mobile improvements */
@media(max-width:768px){
  .adm-content { padding:1rem; }
  .adm-section-header { flex-direction:column; align-items:flex-start; gap:.5rem; }
  .adm-form-panel { padding:1.2rem; }
  .adm-grid-2, .adm-grid-3 { grid-template-columns:1fr !important; }
  .change-card { padding:.8rem; }
  .pending-item { padding:.8rem; }
  .req-card { padding:.8rem; }
}

/* Better touch targets */
@media(max-width:768px){
  .abtn { min-height:40px; padding:.5rem 1rem; }
  .adm-tab { min-height:40px; }
  input, select, textarea { font-size:16px !important; } /* Prevents iOS zoom */
}

/* Fix sticky sponsor banner on mobile */
@media(max-width:768px){
  .sponsor-banner-section { padding:.7rem 0; }
  .sponsor-logo-item { padding:0 1.2rem; height:36px; }
  .sponsor-logo-item img { max-height:26px; max-width:90px; }
}

/* Popup responsive */
@media(max-width:480px){
  .site-popup-box { max-width:calc(100vw - 2rem); margin:1rem; border-radius:var(--r-lg); }
  .site-popup-img { max-height:180px; }
  .site-popup-overlay { align-items:flex-end; padding:.75rem; }
  .site-popup-box {
    width:min(100%,430px);
    max-height:min(78vh,620px);
    overflow:auto;
    margin:0;
    border-radius:20px;
  }
}

/* Hero responsive */
@media(max-width:480px){
  .hero-content-wrap { padding:5rem 1.25rem 6rem; }
  .hero-title { font-size:2.4rem; }
  .hero-sub { font-size:.9rem; }
  .hero-cta-row { flex-direction:column; gap:.6rem; }
  .btn-ghost, .btn-primary { width:100%; justify-content:center; }
  .hero { min-height:92svh; }
  .hero-bg-img { background-position:center 18%; }
}

/* Navigation admin mobile */
@media(max-width:900px){
  #superShell .adm-sidebar,
  #editorShell .adm-sidebar {
    width:100%;
    height:auto;
  }
}

/* Dashboard widget grid on mobile */
@media(max-width:600px){
  #sa-widget-grid, #ed-widget-grid {
    grid-template-columns:1fr;
  }
}

/* ════════════════════════════════════════════════════════════
   SPONSOR TEGELS  (/sponsors)
════════════════════════════════════════════════════════════ */
.sponsors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1.75rem;
}

.sp-tile {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 2px 12px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.05);
  transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s;
  position: relative;
  display: flex; flex-direction: column;
  animation: spTileIn .4s ease both;
}
@keyframes spTileIn {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:none; }
}
/* Stagger per tegel */
.sp-tile:nth-child(1) { animation-delay: .05s; }
.sp-tile:nth-child(2) { animation-delay: .12s; }
.sp-tile:nth-child(3) { animation-delay: .19s; }
.sp-tile:nth-child(4) { animation-delay: .26s; }
.sp-tile:nth-child(5) { animation-delay: .33s; }
.sp-tile:nth-child(6) { animation-delay: .40s; }

.sp-tile:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 48px rgba(0,0,0,.13), 0 4px 12px rgba(0,0,0,.06);
}
.sp-tile:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }

/* Afbeelding */
.sp-tile-img-wrap {
  height: 190px; overflow: hidden; flex-shrink: 0;
  background: linear-gradient(135deg, #f5ede6, #ecddd4);
}
.sp-tile-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.sp-tile:hover .sp-tile-img { transform: scale(1.06); }
.sp-tile-img-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 3.5rem;
}

/* Logo badge */
.sp-tile-logo {
  position: absolute; top: 152px; right: 1rem;
  background: white; border-radius: 10px;
  padding: .35rem .6rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.14);
  border: 1px solid rgba(0,0,0,.06);
}
.sp-tile-logo img { max-height: 26px; max-width: 90px; object-fit: contain; display: block; }

/* Info blok */
.sp-tile-info {
  padding: 1rem 1.2rem 1.25rem;
  display: flex; flex-direction: column; gap: .25rem; flex: 1;
}
.sp-tile-name {
  font-family: var(--font-d); font-size: 1.1rem; color: var(--ink);
  margin: 0; line-height: 1.2; font-weight: 600;
}
.sp-tile-tagline {
  font-size: .8rem; color: var(--ink-3); margin: 0; line-height: 1.45;
}
.sp-tile-cta {
  display: inline-flex; align-items: center; gap: .3rem;
  margin-top: auto; padding-top: .7rem;
  font-size: .78rem; font-weight: 700; color: var(--brand);
  letter-spacing: .01em;
}
.sp-tile-cta svg { transition: transform .2s; flex-shrink: 0; }
.sp-tile:hover .sp-tile-cta svg { transform: translateX(4px); }

@media (max-width: 600px) {
  .sponsors-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  .sp-tile-img-wrap { height: 130px; }
  .sp-tile-logo { top: 96px; }
  .sp-tile-info { padding: .8rem .9rem 1rem; }
  .sp-tile-name { font-size: .95rem; }
}
@media (max-width: 380px) {
  .sponsors-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════
   SPONSOR MODAL OVERLAY  (zelfde stijl als blog-modal)
════════════════════════════════════════════════════════════ */
.sp-modal-ov {
  position: fixed; inset: 0; z-index: 800;
  background: rgba(28,18,8,.75); backdrop-filter: blur(10px);
  display: flex; align-items: flex-start; justify-content: center;
  padding: 2rem 1rem; overflow-y: auto;
  opacity: 0; pointer-events: none;
  transition: opacity .35s ease;
}
.sp-modal-ov.open { opacity: 1; pointer-events: auto; }

.sp-modal-box {
  background: white;
  border-radius: var(--r-xl);
  max-width: 680px; width: 100%;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(18,10,4,.4);
  transform: translateY(32px) scale(.97);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
  margin: auto;
}
.sp-modal-ov.open .sp-modal-box { transform: none; }

.sp-modal-hero {
  position: relative; height: 280px; overflow: hidden;
  background: linear-gradient(135deg, var(--brand-dark, #a04628), var(--brand));
}
.sp-modal-hero img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.sp-modal-hero-empty {
  display: flex; align-items: center; justify-content: center;
  font-size: 4rem;
}
.sp-modal-hero-fade {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,.45));
}
.sp-modal-close {
  position: absolute; top: 1rem; right: 1rem; z-index: 2;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.92); border: none;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.2); transition: all .2s;
  color: var(--ink);
}
.sp-modal-close:hover { background: white; transform: scale(1.08); }
.sp-modal-close svg { pointer-events: none; display: block; }

.sp-modal-body { padding: 1.8rem 2rem 2.2rem; }

.sp-modal-logo { margin-bottom: .8rem; }
.sp-modal-logo img { max-height: 44px; max-width: 160px; object-fit: contain; }

.sp-modal-cat {
  font-size: .62rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .14em; color: var(--brand); margin-bottom: .3rem;
}
.sp-modal-name {
  font-family: var(--font-d); font-size: 1.65rem; color: var(--ink);
  margin: 0 0 .35rem; line-height: 1.15; font-weight: 600;
}
.sp-modal-tagline {
  font-size: .92rem; color: var(--brand); font-weight: 600; margin: 0 0 .9rem;
}
.sp-modal-story {
  font-size: .88rem; color: var(--ink-2); line-height: 1.8;
  margin: 0 0 1.4rem; white-space: pre-line;
  max-height: 350px;
  overflow-y: auto;
}
.sp-modal-gallery {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: .5rem; margin-bottom: 1.4rem;
}
.sp-modal-gallery img {
  width: 100%; height: 90px; object-fit: cover; border-radius: 10px;
  border: 1px solid var(--border); transition: transform .2s;
}
.sp-modal-gallery img:hover { transform: scale(1.04); }

.sp-modal-actions {
  display: flex; gap: .65rem; align-items: center; flex-wrap: wrap;
  padding-top: 1.2rem; border-top: 1.5px solid var(--border);
}
.sp-modal-web {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--brand); color: white;
  padding: .7rem 1.6rem; border-radius: var(--r-full);
  font-size: .86rem; font-weight: 700; text-decoration: none;
  transition: all .2s;
  box-shadow: 0 4px 14px rgba(193,90,52,.3);
}
.sp-modal-web:hover { background: var(--brand-dark, #a04628); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(193,90,52,.4); }
.sp-modal-close-btn {
  background: var(--surface-2, #f5f0eb); color: var(--ink-3);
  border: 1.5px solid var(--border); border-radius: var(--r-full);
  padding: .7rem 1.3rem; font-size: .84rem; font-weight: 600;
  cursor: pointer; transition: all .2s; font-family: var(--font-b);
}
.sp-modal-close-btn:hover { background: var(--surface); color: var(--ink); }

@media (max-width: 600px) {
  .sp-modal-hero { height: 200px; }
  .sp-modal-body { padding: 1.4rem 1.3rem 1.8rem; }
  .sp-modal-name { font-size: 1.35rem; }
  .sp-modal-ov { padding: 0; align-items: flex-end; }
  .sp-modal-box { border-radius: var(--r-xl) var(--r-xl) 0 0; margin: 0; }
}


/* ════════════════════════════════════════════════════════════
   WIJZIGINGEN — DETAIL PREVIEW (super portal changes tab)
════════════════════════════════════════════════════════════ */
.change-detail-grid {
  margin-top:.5rem; background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08); border-radius:var(--r-sm);
  padding:.6rem .8rem; display:grid;
  grid-template-columns:auto 1fr; gap:.25rem .8rem;
  font-size:.78rem;
}
.change-detail-row { display:contents; }
.cdl {
  color:rgba(255,255,255,.45); font-weight:600;
  text-transform:uppercase; font-size:.68rem; letter-spacing:.04em;
  padding:.2rem 0; white-space:nowrap;
}
.cdv {
  color:rgba(255,255,255,.85); padding:.2rem 0;
  word-break:break-word; line-height:1.4;
}
.change-detail-img {
  max-height:60px; max-width:120px; border-radius:var(--r-sm);
  object-fit:cover; margin-top:.2rem;
}
.change-preview-delete {
  color:rgba(255,80,80,.85); font-size:.8rem;
  padding:.4rem .6rem; background:rgba(255,80,80,.08);
  border-radius:var(--r-sm); margin-top:.4rem;
}

/* ════════════════════════════════════════════════════════════
   POPUP BADGE VARIANTS
════════════════════════════════════════════════════════════ */
.sp-badge-sponsor {
  background:linear-gradient(135deg,#5b21b6,#7c3aed);
  font-size:.76rem; padding:.35rem 1.1rem; letter-spacing:.06em;
  box-shadow:0 2px 12px rgba(124,58,237,.35);
}
.sp-badge-actie {
  background:linear-gradient(135deg,var(--brand,#c15a34),#e67e22);
  font-size:.76rem; padding:.35rem 1.1rem; letter-spacing:.06em;
  box-shadow:0 2px 12px rgba(193,90,52,.35);
}

/* ════════════════════════════════════════════════════════════
   POPUP CLOSE BUTTON (unified, clean)
════════════════════════════════════════════════════════════ */
.site-popup-close {
  position:absolute; top:.9rem; right:.9rem; z-index:10;
  width:36px; height:36px; border-radius:50%;
  background:rgba(0,0,0,.06); border:1.5px solid rgba(0,0,0,.12);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .15s, box-shadow .2s;
  color:var(--ink,#1a120b); line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.site-popup-close:hover {
  background:rgba(0,0,0,.12); transform:scale(1.08);
  box-shadow:0 2px 8px rgba(0,0,0,.14);
}
.site-popup-close:active { transform:scale(.96); }
.site-popup-close svg { pointer-events:none; display:block; }
.site-popup-img-wrap { overflow:hidden; }
/* ════════════════════════════════════════════════════════════
   HORIZONTALE TIJDLIJN
════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   HORIZONTALE TIJDLIJN
════════════════════════════════════════════════════════════ */

/* Fade-mask links/rechts */
.htl-outer {
  position: relative;
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0%, black 6%, black 94%, transparent 100%);
  mask-image: linear-gradient(90deg,
    transparent 0%, black 6%, black 94%, transparent 100%);
}

/* Scrollbare track — HOOGTE = kaart(200) + stam(44) + node(56) + stam(44) + kaart(200) = 544px */
.htl-track {
  display:         flex;
  align-items:     center;     /* centreert node op de MIDLIJN */
  justify-content: center;     /* centreert items als ze minder breed zijn dan viewport */
  gap:             0;
  overflow-x:      auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor:          grab;
  padding:         228px 8vw;  /* geeft kaarten boven/onder ruimte */
  position:        relative;
  min-width:       100%;
}
.htl-track:active            { cursor: grabbing; }
.htl-track::-webkit-scrollbar{ display: none; }

/* Doorlopende lijn — strak op de midlijn dankzij align-items:center op track */
.htl-track::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 3px;
  margin-top: -1.5px;
  background: linear-gradient(90deg,
    transparent 0%, var(--brand) 4%,
    var(--brand) 96%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

/* Elk item = kolom: [kaart-boven / stam / NODE / stam / kaart-onder]
   De node zit altijd op row 3 = de midlijn van de track              */
.htl-item {
  display:         grid;
  grid-template-rows: 200px 44px 56px 44px 200px;
  justify-items:   center;
  flex-shrink:     0;
  width:           270px;
  scroll-snap-align: center;
  position:        relative;
  z-index:         1;
  /* reveal */
  opacity: 0;
  transition:
    opacity   .5s ease                          calc(var(--i)*0.07s),
    transform .55s cubic-bezier(.16,1,.3,1)     calc(var(--i)*0.07s);
}
.htl-above { transform: translateY(-22px); }
.htl-below { transform: translateY( 22px); }
.htl-item.htl-vis { opacity: 1; transform: translateY(0) !important; }

/* Rij 1 — kaartzone boven: flex-end zodat kaart onderaan hangt */
.htl-zone-above {
  grid-row: 1;
  align-self: end;
  display: flex; align-items: flex-end;
}
/* Rij 5 — kaartzone onder: flex-start zodat kaart bovenaan hangt */
.htl-zone-below {
  grid-row: 5;
  align-self: start;
  display: flex; align-items: flex-start;
}
/* Lege zone (andere kant) */
.htl-empty { grid-row: inherit; }

/* Stam boven (rij 2) en stam onder (rij 4) */
.htl-stem-a { grid-row: 2; width: 2px; height: 100%; background: var(--brand); opacity: .4; }
.htl-stem-b { grid-row: 4; width: 2px; height: 100%; background: var(--brand); opacity: .4; }

/* NODE — rij 3, precies op de midlijn */
.htl-node {
  grid-row: 3;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--brand);
  box-shadow: 0 0 0 6px rgba(193,90,52,.1), 0 4px 18px rgba(193,90,52,.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.45rem;
  z-index: 2;
  cursor: pointer;
  transition: transform .22s, box-shadow .22s;
  align-self: center;
}
.htl-item:hover .htl-node {
  transform: scale(1.13);
  box-shadow: 0 0 0 9px rgba(193,90,52,.13), 0 6px 24px rgba(193,90,52,.26);
}

/* KAART */
.htl-card {
  width: 230px;
  background: white;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 4px 22px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.04);
  cursor: pointer;
  transition: box-shadow .25s, transform .25s;
}
/* kaart boven lijn zweeft omhoog bij hover */
.htl-zone-above .htl-card:hover { box-shadow: 0 14px 40px rgba(0,0,0,.15); transform: translateY(-6px); }
/* kaart onder lijn zweeft omlaag bij hover */
.htl-zone-below .htl-card:hover { box-shadow: 0 14px 40px rgba(0,0,0,.15); transform: translateY( 6px); }

.htl-img-wrap { height: 128px; overflow: hidden; }
.htl-img-wrap img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s;
}
.htl-card:hover .htl-img-wrap img { transform: scale(1.07); }

.htl-card-body { padding: .9rem 1.1rem 1rem; }
.htl-date {
  font-size: .61rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .11em; color: var(--brand); margin-bottom: .28rem;
}
.htl-title {
  font-family: var(--font-d); font-size: 1rem; color: var(--ink);
  margin: 0 0 .28rem; font-weight: 600; line-height: 1.2;
}
.htl-desc {
  font-size: .73rem; color: var(--ink-3); line-height: 1.6; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.htl-expand-btn {
  display: inline-flex; align-items: center; gap: .28rem;
  margin-top: .5rem; font-size: .7rem; font-weight: 700;
  color: var(--brand); background: none; border: none;
  padding: 0; cursor: pointer; font-family: var(--font-b);
  transition: gap .18s;
}
.htl-expand-btn:hover { gap: .45rem; }

/* Pijlknoppen */
.htl-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%;
  background: white; border: 1.5px solid rgba(0,0,0,.1);
  box-shadow: 0 3px 18px rgba(0,0,0,.13);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 10; color: var(--ink);
  transition: background .2s, transform .2s, opacity .25s;
}
.htl-arrow:hover { background: var(--brand); color: white; transform: translateY(-50%) scale(1.1); }
.htl-arrow-left  { left:  .75rem; }
.htl-arrow-right { right: .75rem; }

/* Scroll-hint */
.htl-hint {
  text-align: center; font-size: .68rem; color: var(--ink-3);
  opacity: .45; padding: .5rem 0 1.4rem; letter-spacing: .05em;
}

/* ── DETAIL MODAL ─────────────────────────────────────── */
.htl-modal-ov {
  position: fixed; inset: 0; z-index: 950;
  background: rgba(15,8,3,.72); backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center; padding: 1.2rem;
  opacity: 0; pointer-events: none; transition: opacity .28s;
}
.htl-modal-ov.open { opacity: 1; pointer-events: all; }

.htl-modal-box {
  background: white; border-radius: 24px; overflow: hidden;
  max-width: 620px; width: 100%; max-height: 92vh; overflow-y: auto;
  box-shadow: 0 40px 100px rgba(0,0,0,.4);
  transform: scale(.93) translateY(24px);
  transition: transform .38s cubic-bezier(.16,1,.3,1);
}
.htl-modal-ov.open .htl-modal-box { transform: none; }

.htl-modal-hero {
  position: relative; height: 280px; overflow: hidden; flex-shrink: 0;
  background: linear-gradient(135deg, #8b3a1e, var(--brand));
  display: flex; align-items: center; justify-content: center;
}
.htl-modal-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.htl-modal-hero-icon { font-size: 5rem; position: relative; z-index: 1; }
.htl-modal-hero-fade {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 45%, rgba(0,0,0,.45));
  z-index: 1;
}
.htl-modal-close {
  position: absolute; top: 1rem; right: 1rem; z-index: 5;
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.9); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 10px rgba(0,0,0,.2); color: var(--ink);
  transition: all .2s; font-size: 1.1rem;
}
.htl-modal-close:hover { background: white; transform: scale(1.08); }

.htl-modal-body { padding: 1.8rem 2rem 2rem; }
.htl-modal-meta {
  font-size: .63rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; color: var(--brand); margin-bottom: .5rem;
}
.htl-modal-title {
  font-family: var(--font-d); font-size: 1.8rem; color: var(--ink);
  margin: 0 0 .9rem; font-weight: 600; line-height: 1.15;
}
.htl-modal-desc {
  font-size: .9rem; color: var(--ink-2); line-height: 1.9; white-space: pre-line;
}
.htl-modal-photos {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(110px,1fr));
  gap: .5rem; margin-top: 1.4rem;
}
.htl-modal-photos img {
  width: 100%; height: 88px; object-fit: cover;
  border-radius: 10px; cursor: pointer; border: 1px solid var(--border);
  transition: transform .2s, box-shadow .2s;
}
.htl-modal-photos img:hover { transform: scale(1.05); box-shadow: 0 4px 16px rgba(0,0,0,.15); }
.htl-modal-footer {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--border);
}
.htl-modal-nav { display: flex; gap: .5rem; }
.htl-modal-nav-btn {
  display: flex; align-items: center; gap: .3rem;
  padding: .55rem 1.1rem; border-radius: var(--r-full);
  border: 1.5px solid var(--border); background: var(--surface-2,#f5f0eb);
  color: var(--ink-3); font-size: .78rem; font-weight: 700;
  cursor: pointer; font-family: var(--font-b); transition: all .2s;
}
.htl-modal-nav-btn:hover:not(:disabled) { background: var(--ink); color: white; border-color: var(--ink); }
.htl-modal-nav-btn:disabled { opacity: .3; cursor: default; }

/* Mobiel */
@media (max-width: 600px) {
  .htl-track    { padding: 180px 5vw; }
  .htl-item     { width: 210px; grid-template-rows: 160px 40px 52px 40px 160px; }
  .htl-card     { width: 180px; }
  .htl-img-wrap { height: 100px; }
  .htl-node     { width: 48px; height: 48px; font-size: 1.2rem; }
  .htl-arrow    { width: 38px; height: 38px; }
  .htl-modal-hero { height: 200px; }
  .htl-modal-body { padding: 1.2rem 1.3rem 1.6rem; }
  .htl-modal-title { font-size: 1.35rem; }
}

/* ============================================================================
   MOBILE HARDENING OVERRIDES (final layer)
   Doel: consistente weergave op telefoon/tablet, zonder desktop te breken.
============================================================================ */
html, body {
  max-width: 100%;
}
@media (max-width: 900px) {
  .container,
  .nav-wrap {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .hero-content-wrap {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    padding: 5rem 1rem 6rem !important;
  }
  .hero-card,
  .don-form-card,
  .about-visual,
  .about-text {
    width: 100%;
    max-width: 100%;
  }
  .cookie-text {
    min-width: 0;
  }
  .adm-topbar {
    flex-wrap: wrap;
    gap: 0.6rem;
  }
}
@media (max-width: 600px) {
  .sec,
  .page-hero {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .container,
  .nav-wrap {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .nav-logo {
    max-width: calc(100vw - 88px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1rem;
  }
  .nav-logo-icon {
    width: 32px;
    height: 32px;
  }
  .hero-content-wrap {
    padding: 4.7rem 1rem 5.3rem !important;
  }
  .hero h1 {
    font-size: clamp(1.9rem, 9vw, 2.9rem) !important;
  }
  .hero-desc {
    font-size: 0.95rem;
    line-height: 1.65;
  }
  .hero-ctas {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    width: 100%;
  }
  .btn-primary,
  .btn-ghost,
  .btn-outline-dark,
  .btn-ghost-dark,
  .btn-send {
    width: 100%;
    justify-content: center;
  }
  .about-grid,
  .don-grid,
  .con-grid,
  .camp-grid,
  .blog-grid,
  .feature-grid,
  .footer-grid,
  .adm-grid-2,
  .adm-grid-equal,
  .afield-row {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.9rem;
  }
  .blog-side {
    grid-template-columns: 1fr !important;
  }
  .amt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .cookie-banner-inner {
    padding: 0.95rem 1rem;
  }
  .cookie-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .cookie-btn-accept,
  .cookie-btn-decline {
    width: 100%;
  }
  .toast {
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    min-width: 0;
    max-width: none;
    width: auto;
  }
  .acties-popup {
    left: 0.75rem !important;
    right: 0.75rem !important;
    width: auto !important;
    max-width: none !important;
  }
  .site-popup-box,
  .sponsor-modal-content,
  .story-modal-box,
  .htl-modal-box {
    width: min(100%, calc(100vw - 1.5rem)) !important;
    max-width: calc(100vw - 1.5rem) !important;
  }
  .adm-content {
    padding: 0.85rem;
  }
  #superShell,
  #editorShell {
    flex-direction: column;
    overflow: hidden;
  }
  #superShell .adm-sidebar,
  #editorShell .adm-sidebar {
    width: 100%;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--adm-border);
    flex-direction: column;
    overflow: hidden;
  }
  #superShell .adm-logo-area,
  #editorShell .adm-logo-area,
  #superShell .adm-sidebar-foot,
  #editorShell .adm-sidebar-foot {
    display: block;
  }
  #superShell .adm-nav,
  #editorShell .adm-nav {
    display: flex;
    flex-direction: row;
    gap: 0.35rem;
    overflow-x: auto;
    padding: 0.65rem 0.85rem 0.9rem;
    scrollbar-width: thin;
  }
  #superShell .adm-nav-section-label,
  #editorShell .adm-nav-section-label {
    display: none;
  }
  #superShell .adm-nav-btn,
  #editorShell .adm-nav-btn {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
  }
  #superShell .adm-topbar,
  #editorShell .adm-topbar {
    padding: 0.85rem 1rem;
  }
  #superShell .adm-topbar-actions,
  #editorShell .adm-topbar-actions {
    width: 100%;
    justify-content: space-between;
  }
  .glb-box {
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
    max-height: calc(100vh - 3rem);
  }
  .glb-img {
    max-width: calc(100vw - 1rem);
    max-height: calc(100vh - 9rem);
  }
  .glb-prev,
  .glb-next {
    top: auto;
    bottom: 1rem;
    transform: none;
    width: 42px;
    height: 42px;
  }
  .glb-prev { left: 1rem; }
  .glb-next { right: 1rem; }
  .glb-close {
    top: 0.5rem;
    right: 0.5rem;
  }
  .glb-counter {
    bottom: 1.75rem;
  }
  .htl-outer {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .htl-arrow-left { left: 0.15rem; }
  .htl-arrow-right { right: 0.15rem; }
}

/* Final mobile stability overrides */
@media (max-width: 900px) {
  .hamburger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 999;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .mob-nav {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(340px, 88vw) !important;
    padding: 5.25rem 1.25rem 1.5rem !important;
    background: #1a0e06 !important;
    border-bottom: 0 !important;
    box-shadow: -8px 0 32px rgba(0,0,0,.42) !important;
    overflow-y: auto !important;
    z-index: 998 !important;
  }
  .mob-nav.open { right: 0 !important; }
  .mob-nav a {
    display: block;
    padding: .9rem .45rem !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.88) !important;
  }
  .mob-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 997;
  }
  .mob-overlay.show { display: block; }
}

@media (max-width: 768px) {
  #superShell,
  #editorShell {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  #superShell .adm-sidebar,
  #editorShell .adm-sidebar {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-width: 0;
    height: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--adm-border) !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  #superShell .adm-main,
  #editorShell .adm-main {
    width: 100% !important;
    min-width: 0;
    overflow: hidden;
  }
  #superShell .adm-nav,
  #editorShell .adm-nav,
  .adm-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  #superShell .adm-nav,
  #editorShell .adm-nav {
    display: flex;
    flex-direction: row;
    gap: .45rem;
    padding: .75rem .9rem .95rem !important;
  }
  #superShell .adm-content,
  #editorShell .adm-content {
    padding: 1rem !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .adm-grid-2,
  .adm-grid-3,
  .adm-grid-equal,
  #superShell .adm-grid-equal,
  #editorShell .adm-grid-equal {
    grid-template-columns: 1fr !important;
  }
  .adm-form-panel,
  .adm-card,
  .change-card,
  .pending-item {
    min-width: 0;
  }
  #superShell .adm-topbar,
  #editorShell .adm-topbar,
  .adm-topbar {
    flex-wrap: wrap;
    gap: .75rem;
    align-items: flex-start;
  }
  #superShell .adm-topbar-actions,
  #editorShell .adm-topbar-actions,
  .adm-topbar-actions {
    width: 100%;
    justify-content: space-between;
  }
  .adm-tab,
  #superShell .adm-nav-btn,
  #editorShell .adm-nav-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .aitem {
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
  }
  .aitem-actions {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  .page-hero {
    padding: 5.75rem 0 2.75rem;
  }
  .gallery-group {
    margin-bottom: 2rem;
  }
  .gallery-group-header {
    display: grid;
    grid-template-columns: 1fr;
    gap: .2rem;
  }
  .gallery-group-title {
    font-size: 1rem;
  }
  .gallery-grid {
    gap: .75rem;
    padding-bottom: .75rem;
    scroll-padding: 0 1rem;
  }
  .gallery-item {
    width: 74vw !important;
    max-width: 240px;
    height: 48vw !important;
    max-height: 170px;
  }
  .gallery-grid-fade {
    display: none;
  }
  .htl-track {
    padding: 1rem 2.75rem 4.25rem !important;
    gap: 1rem;
  }
  .htl-track::before {
    top: 42px !important;
  }
  .htl-item {
    width: 82vw !important;
    min-width: 82vw;
    max-width: 300px;
    grid-template-rows: auto 0 84px 0 auto !important;
    align-items: stretch;
  }
  .htl-above,
  .htl-below {
    transform: none !important;
  }
  .htl-zone-above,
  .htl-zone-below {
    padding: 0;
    align-self: stretch;
  }
  .htl-zone-above { grid-row: 1; }
  .htl-zone-below { grid-row: 5; }
  .htl-stem-a,
  .htl-stem-b,
  .htl-empty {
    display: none;
  }
  .htl-node {
    grid-row: 3 !important;
    width: 52px;
    height: 52px;
    margin: 0 auto;
    align-self: center;
  }
  .htl-card {
    width: 100% !important;
    margin: 0 auto;
  }
  .htl-img-wrap {
    height: 140px;
  }
  .htl-arrow {
    top: auto !important;
    bottom: .5rem !important;
    transform: none !important;
    width: 42px;
    height: 42px;
  }
  .htl-arrow-left { left: .35rem !important; }
  .htl-arrow-right { right: .35rem !important; }
  .htl-hint {
    padding: 0 1rem;
    margin-top: .85rem;
  }
}
@media (max-width: 360px) {
  .team-grid {
    grid-template-columns: 1fr !important;
  }
  .cookie-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  #nav .hamburger,
  #nav .mob-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(18,10,4,.46);
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    backdrop-filter: blur(16px);
  }
  #nav.solid .hamburger,
  #nav.solid .mob-toggle,
  #nav.nav-translucent .hamburger,
  #nav.nav-translucent .mob-toggle {
    background: rgba(255,255,255,.9);
    border-color: rgba(24,16,10,.08);
    box-shadow: 0 12px 26px rgba(18,10,4,.14);
  }
  #nav .hamburger span,
  #nav .mob-toggle span {
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: white;
    transition: transform .25s ease, opacity .2s ease, background .2s ease;
  }
  #nav.solid .hamburger span,
  #nav.solid .mob-toggle span,
  #nav.nav-translucent .hamburger span,
  #nav.nav-translucent .mob-toggle span {
    background: var(--ink);
  }
  #nav:has(.mob-nav.open) {
    height: 100%;
  }
  .mob-nav {
    width: min(360px, 92vw) !important;
    padding: 5.5rem 1rem 1.25rem !important;
    background: linear-gradient(180deg, rgba(22,12,7,.98) 0%, rgba(35,20,11,.98) 100%) !important;
    border-left: 1px solid rgba(255,255,255,.08);
    box-shadow: -16px 0 42px rgba(0,0,0,.34) !important;
  }
  .mob-nav a {
    padding: 1rem .85rem !important;
    margin-bottom: .35rem;
    border: 1px solid transparent;
    border-radius: 14px;
  }
  .mob-nav a:hover,
  .mob-nav a.active {
    color: #fff !important;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.08);
  }
  .mob-overlay {
    background: rgba(6,3,1,.58);
    backdrop-filter: blur(4px);
  }
}

@media (max-width: 600px) {
  .team-modal-overlay {
    align-items: flex-end;
    padding: .6rem;
  }
  .team-modal-box {
    width: min(100%, 430px);
    max-height: min(82vh, 720px);
    margin: 0;
    border-radius: 24px 24px 0 0;
    overflow: hidden auto;
  }
  .team-modal-hero {
    height: min(50vh, 440px);
  }
  .team-modal-name-row {
    left: 1rem;
    right: 1rem;
    bottom: .9rem;
  }
  .team-modal-name {
    font-size: clamp(1.05rem, 5.4vw, 1.45rem);
  }
  .team-modal-role {
    font-size: .78rem;
  }
  .team-modal-body {
    padding: 1rem 1rem 1.35rem;
  }
  .team-modal-story {
    font-size: .88rem;
    line-height: 1.7;
  }
}

@media (max-width: 600px) {
  .camp-preview-actions{grid-template-columns:1fr}
  .blog-gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .blog-gallery-thumb img{height:64px}
  .htl-track{padding:.5rem 1rem 4.25rem !important;align-items:flex-start}
  .htl-track::before{top:26px !important}
  .htl-item{width:min(84vw,320px) !important;min-width:min(84vw,320px) !important;grid-template-rows:52px auto !important;justify-items:stretch}
  .htl-zone-above,.htl-zone-below{grid-row:2 !important;align-self:start !important;width:100%}
  .htl-empty,.htl-stem-a,.htl-stem-b{display:none !important}
  .htl-node{grid-row:1 !important;margin:0 auto .75rem}
  .htl-card{width:100% !important}
}
