:root{
  --bijdorp-green:#07583d;--bijdorp-dark:#063d2d;--bijdorp-lime:#c7ef35;
  --bijdorp-cream:#fbfcef;--bijdorp-soft:#f2f8df;--bijdorp-coral:#ff817b;
  --bijdorp-aqua:#80e2df;--bijdorp-yellow:#ffd45d;--bijdorp-purple:#9987e8;
  --bijdorp-shadow:0 16px 45px rgba(7,88,61,.09);
}
.public-body,.admin-body,.auth-body{
  --accent:#07583d;--secondary:#c7ef35;
  --bijdorp-green:#07583d;--bijdorp-dark:#063d2d;--bijdorp-lime:#c7ef35;
}
.public-body,.admin-body{min-height:100vh;display:flex;flex-direction:column}
.public-body .site-shell,.admin-body .admin-shell{width:100%;min-height:0;flex:1 0 auto;display:flex;flex-direction:column}
.public-body .site-shell>:not(footer){width:100%}
.public-body .hero,.public-body .news-archive,.public-body .club-overview{max-width:1304px;margin-left:auto;margin-right:auto}
.public-body .event-detail,.public-body .news-detail{margin:24px auto 0}
.public-body footer,.admin-body footer{width:100%;margin-top:auto}
body{color:var(--bijdorp-dark)}
h1,h2,h3,h4{color:var(--bijdorp-dark)}
.eyebrow{color:#718d0d}
.button,button{border-radius:999px;background:var(--bijdorp-green);font-weight:800;transition:transform .18s,box-shadow .18s}
.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,88,61,.17)}
.button.ghost{color:var(--bijdorp-green);border-color:#dce8d7;background:#fff}
input,textarea,select{border-color:#d8e3d3;border-radius:13px;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--bijdorp-green);box-shadow:0 0 0 4px rgba(7,88,61,.11)}
.flash{border-radius:16px;box-shadow:0 8px 26px rgba(7,88,61,.08)}

/* Publieke vervolgpagina's */
.public-body{background:linear-gradient(180deg,#fff 0,#fff 55%,#fbfcef 100%)}
.public-body .hero.compact{position:relative;overflow:hidden;padding:52px clamp(28px,6vw,76px);min-height:225px}
.public-body .hero.compact:before{content:"✦";position:absolute;right:7%;top:22px;color:var(--bijdorp-purple);font-size:42px;opacity:.75}
.public-body .hero.compact h1{font-size:clamp(42px,6vw,68px);letter-spacing:-.05em;margin:8px 0 12px}
.public-body .hero.compact p{font-size:19px;color:#527064;margin-bottom:0}
.public-body .content-card,.public-body .event-list,.public-body .event-detail,.public-body .news-detail,
.public-body .membership-section,.public-body .membership-thanks{border:0;box-shadow:var(--bijdorp-shadow)}
.public-body .content-card,.public-body .event-list,.public-body .event-detail,.public-body .news-detail{border-radius:28px}
.public-body .content-card{font-size:17px;padding:clamp(28px,5vw,55px)}
.public-body .page-content{font-family:'DM Sans','Segoe UI',Arial,sans-serif;font-size:17px}
.public-body .page-content h1{font:800 clamp(36px,4vw,48px)/1.14 'Manrope','Segoe UI',Arial,sans-serif!important;color:var(--bijdorp-dark);letter-spacing:-.025em;margin:8px 0 26px}
.public-body .content-card h2,.public-body .page-content h2{font:800 clamp(28px,4vw,38px)/1.15 'Manrope';letter-spacing:-.025em}
.public-body .page-content h2{font:750 clamp(23px,2.5vw,29px)/1.25 'Manrope','Segoe UI',Arial,sans-serif!important;color:var(--bijdorp-dark);letter-spacing:-.015em}
.public-body .page-content h3{font:750 clamp(19px,2vw,23px)/1.3 'Manrope','Segoe UI',Arial,sans-serif!important;color:#294c40}
.public-body .page-content h4{font-family:'Manrope','Segoe UI',Arial,sans-serif!important;font-weight:750!important;color:#294c40}
.public-body .page-content p,.public-body .page-content li{max-width:1080px;font-family:'DM Sans','Segoe UI',Arial,sans-serif!important;font-size:17px!important;font-weight:400!important;color:#385149;line-height:1.68!important;letter-spacing:0!important}
.public-body .page-content p *,.public-body .page-content li *{font-family:'DM Sans','Segoe UI',Arial,sans-serif!important}
.public-body .page-content p{margin:0 0 20px}
.public-body .content-card h2:after,.public-body .page-content h2:after{content:" ✦";color:var(--bijdorp-yellow);font-size:.7em}
.public-body .content-card a,.public-body .event-content a{color:var(--bijdorp-green);font-weight:700}
.public-body .event{border-color:#e4ecdf;border-radius:20px;padding:20px;margin:5px 0}
.public-body .event:hover{background:var(--bijdorp-cream)}
.public-body .event time{border-radius:16px;background:var(--bijdorp-lime);padding:11px 7px;color:var(--bijdorp-dark);align-self:start}
.public-body .event h2{font:800 22px 'Manrope';margin-top:2px}
.public-body .pill,.public-body .news-type{background:var(--bijdorp-soft);color:var(--bijdorp-green)}
.public-body .event-detail h1,.public-body .news-detail h1{color:var(--bijdorp-green)}
.public-body .event-gallery img,.public-body .news-detail-image{border-radius:25px}
.public-body .registration-card{background:linear-gradient(135deg,#eef8d5,#fbfcef);border:0;border-radius:25px}
.public-body .back-link{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--bijdorp-soft);color:var(--bijdorp-green)}

/* Nieuws */
.public-body .news-card{border:0;border-radius:25px;box-shadow:0 12px 38px rgba(7,88,61,.08)}
.public-body .news-card:hover{box-shadow:0 20px 45px rgba(7,88,61,.13)}
.public-body .news-card:nth-child(3n+1) .news-card-body{border-top:5px solid var(--bijdorp-lime)}
.public-body .news-card:nth-child(3n+2) .news-card-body{border-top:5px solid var(--bijdorp-aqua)}
.public-body .news-card:nth-child(3n) .news-card-body{border-top:5px solid var(--bijdorp-coral)}
.public-body .news-card h2{font-family:'Manrope',sans-serif;color:var(--bijdorp-dark)}
.public-body .news-card strong{color:var(--bijdorp-green)}

/* Lid worden */
.public-body .membership-intro>div{background:radial-gradient(circle at 5% 8%,rgba(199,239,53,.3),transparent 28%),#fff}
.public-body .membership-intro h1,.public-body .membership-thanks h1{color:var(--bijdorp-green);letter-spacing:-.04em}
.public-body .membership-intro aside{background:linear-gradient(145deg,#eff8d5,#fbfcef)}
.public-body .membership-intro aside h2:after{content:" ✦";color:var(--bijdorp-yellow)}
.public-body .membership-section{border-radius:26px}
.public-body .membership-section-heading h2:after{content:" ✦";color:var(--bijdorp-aqua)}
.public-body .member-row{border-color:#e4ecdf}
.public-body .fee-total strong{color:var(--bijdorp-green)}
.public-body .submit-membership{background:var(--bijdorp-lime);color:var(--bijdorp-dark)}

/* Beheeromgeving */
.admin-body{background:linear-gradient(135deg,#f7faee 0,#f5f7f4 52%,#eff8d5 100%);min-height:100vh}
.admin-body .topbar,.public-body .topbar{width:100%;min-width:0;height:82px;border:0;box-shadow:0 8px 30px rgba(7,88,61,.08);padding:0 clamp(22px,3vw,52px);gap:28px}
.admin-body .brand,.public-body .brand{color:var(--bijdorp-green);font-size:21px;gap:13px}
.admin-body .brandmark,.public-body .brandmark{width:64px;height:48px;border-radius:0;background:url('/assets/bijdorp-mark.svg') center/contain no-repeat;font-size:0;box-shadow:none;flex:0 0 64px}
.admin-body .brand-logo,.public-body .brand-logo{width:64px;height:48px;border-radius:0;object-fit:contain;flex:0 0 64px}
.admin-body .topbar nav{min-width:0;margin-left:auto;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.admin-body .topbar nav>a,.admin-body .admin-nav-menu>summary{padding:9px 13px;border-radius:999px}
.admin-body .topbar nav>a:hover,.admin-body .admin-nav-menu>summary:hover{background:var(--bijdorp-soft);color:var(--bijdorp-green)}
.admin-body .admin-shell{max-width:1320px;padding-top:43px}
.admin-title{position:relative;padding-left:20px}
.admin-title:before{content:"";position:absolute;left:0;top:6px;bottom:5px;width:6px;border-radius:10px;background:linear-gradient(var(--bijdorp-lime),var(--bijdorp-aqua))}
.admin-title h1{color:var(--bijdorp-green);letter-spacing:-.035em}
.admin-grid{gap:20px}
.admin-card,.editor-card,.table-wrap,.membership-detail,.mail-test,.rate-settings{border:0!important;border-radius:24px!important;box-shadow:var(--bijdorp-shadow)}
.admin-card{min-height:155px;position:relative;overflow:hidden;transition:.18s}
.admin-card:nth-child(3n+1){background:linear-gradient(145deg,#fff,#f1f9da)}
.admin-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,#e8faf8)}
.admin-card:nth-child(3n){background:linear-gradient(145deg,#fff,#fff5dc)}
.admin-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(7,88,61,.14)}
.admin-card span{font:800 20px 'Manrope';color:var(--bijdorp-dark)}
.admin-card b{color:var(--bijdorp-green)}
.admin-card small{color:#61756c}
.editor-card{padding:clamp(23px,4vw,36px)}
.site-picker select{background-color:#fff;font-weight:700;color:var(--bijdorp-green)}
.toolbar .button:not(.ghost){background:var(--bijdorp-lime);color:var(--bijdorp-dark)}
.table-wrap{overflow:hidden}
.table-wrap th{background:#edf6d9;color:var(--bijdorp-green);text-transform:uppercase;letter-spacing:.045em}
.table-wrap td{border-color:#edf1ea}
.table-wrap tr:nth-child(even) td{background:#fbfdf7}
.table-wrap tr:hover td{background:#f3f9e5}
.admin-body fieldset{border-color:#dce8d7;background:#fbfdf7;border-radius:17px}
.admin-body .editor-toolbar{background:#edf6d9;border-color:#dce8d7}
.admin-body .visual-editor{border-color:#dce8d7}
.admin-body .admin-nav-menu>div{border:0;border-radius:18px;box-shadow:0 18px 45px rgba(7,88,61,.17)}
.admin-body .admin-nav-menu>div a:hover{background:var(--bijdorp-soft)}
.admin-body footer{border-top:1px solid #dce8d7;margin-top:38px}
.status-new{background:#e7f3ff}.status-processing{background:#fff3d5}.status-accepted{background:#e2f7e6}.status-rejected{background:#ffe8e4}

/* Inloggen en installeren */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 15%,rgba(199,239,53,.42),transparent 26%),radial-gradient(circle at 88% 80%,rgba(128,226,223,.32),transparent 26%),var(--bijdorp-cream)}
.auth-body:before{content:"✦";position:fixed;right:9%;top:10%;color:var(--bijdorp-purple);font-size:48px}
.auth-card{width:min(100%,500px);margin:0;border-radius:30px;padding:42px;box-shadow:0 24px 70px rgba(7,88,61,.14)}
.auth-card .auth-logo{display:block;width:82px;height:58px;margin-bottom:20px;background:url('/assets/bijdorp-mark.svg') center/contain no-repeat}
.auth-card h1{color:var(--bijdorp-green);margin:5px 0 6px;letter-spacing:-.035em}
.auth-card>p{color:#61756c;margin:0 0 25px}
.auth-card button{justify-content:center;background:var(--bijdorp-lime);color:var(--bijdorp-dark);padding:14px 22px}

@media(max-width:800px){
  .public-body .hero.compact{margin:20px 16px 0;padding:35px 25px;min-height:auto}
  .public-body .event{grid-template-columns:68px 1fr}
  .admin-body .topbar{height:auto;padding:14px 18px}
  .admin-body .admin-shell{padding:28px 16px}
  .admin-title{padding-left:15px}
  .table-wrap{border-radius:18px!important}
}
@media(max-width:1050px){
  .admin-body .topbar,.public-body .topbar{height:auto;min-height:82px;padding-top:12px;padding-bottom:12px;align-items:center}
  .admin-body .topbar nav,.public-body .topbar nav{row-gap:4px}
  .admin-body .topbar nav>a,.admin-body .admin-nav-menu>summary{padding:7px 10px}
}
@media(max-width:520px){
  .auth-card{padding:30px 24px}.public-body .event{grid-template-columns:1fr}.public-body .event time{width:82px}
}
