:root{
--ink:#22375b;--muted:#64748b;--paper:#fff;--bg:#f5f7fa;--soft:#f3f6fa;
--brand:#006fbf;--brand-dark:#00528d;--brand-deep:#22375b;--accent:#006fbf;--accent-soft:#e8f4fc;
--line:#d9e1ea;--danger:#b3261e;--radius:18px;--shadow:0 14px 34px rgba(34,55,91,.09);
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
body{margin:0;line-height:1.55}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 34px));margin:0 auto}
.top-strip{background:var(--brand-deep);color:#eaf2fb;font-size:.78rem}.top-strip-inner{display:flex;justify-content:space-between;padding:6px 0}.top-strip-place{font-weight:800;color:#fff}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}
.header-inner{min-height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;color:var(--ink)}.brand:hover{text-decoration:none}
.brand-logo-image{display:block;width:190px;max-width:28vw;height:68px;object-fit:contain;object-position:left center}
.brand-logo-image--footer{width:170px;height:60px;max-width:100%}
.brand-mark{display:none}.brand-word{display:none}
.main-nav{display:flex;align-items:center;justify-content:center;gap:22px;font-weight:750}.main-nav>a{color:var(--ink);padding:27px 0 24px;border-bottom:3px solid transparent}.main-nav>a.active,.main-nav>a:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.nav-soon{color:#8a999e;display:grid;line-height:1}.nav-soon small{font-size:.55rem;font-weight:600}.account-nav{display:flex;align-items:center;gap:12px}.account-link{font-weight:750}
.nav-toggle{display:none;background:white;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.hero{background:linear-gradient(120deg,#f3f6fa 0%,#ffffff 72%);border-bottom:1px solid var(--line);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:430px;height:430px;border:76px solid rgba(0,111,191,.07);border-radius:50%;right:-165px;top:-205px}
.hero-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:50px;align-items:center;min-height:520px;padding:70px 0;position:relative;z-index:1}
.hero-brand-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);display:grid;gap:22px}.hero-place-logo{display:block;width:100%;max-width:390px;height:auto;margin:0 auto}.hero-stats{border-top:1px solid var(--line);padding-top:4px}.hero-stats div{grid-template-columns:72px 1fr;align-items:center}.hero-stats strong{font-size:1.45rem;color:var(--brand)}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:900;color:var(--brand);margin:0 0 10px}
h1,h2,h3{line-height:1.13}h1{font-size:clamp(2.4rem,5.6vw,5rem);letter-spacing:-.045em;margin:0}h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.03em}h3{margin-top:0}
.lead{font-size:1.14rem;color:var(--muted);max-width:760px}.hero-copy .lead{font-size:1.25rem;max-width:700px}
.actions,.header-actions,.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 18px rgba(0,111,191,.18)}
.button:hover{background:var(--brand-dark);text-decoration:none}.button-secondary{background:white;color:var(--brand);border:1px solid var(--line);box-shadow:none}.button-small{min-height:38px;padding:0 14px;font-size:.9rem}.button-wide{width:100%}
.village-card,.feature-card,.management-card,.form-panel,.table-card,.notice-card,.empty-state,.stat-card,.management-tile,.cta-panel,.form-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.village-card{padding:26px}.village-card-top{display:flex;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.village-card-top div{display:grid}.village-card-top span{color:var(--muted)}.village-icon{width:50px;height:50px;border-radius:15px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-size:1.6rem}
.village-points{display:grid}.village-points div{display:grid;padding:15px 0;border-bottom:1px solid var(--line)}.village-points div:last-child{border:0}.village-points span{font-size:.9rem;color:var(--muted)}
.section{padding:68px 0}.section-tight{padding-top:34px}.section-soft{background:#f3f6fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split-intro h2{margin:0}.split-intro>p{font-size:1.08rem;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{padding:26px;position:relative;overflow:hidden}.feature-number{font-size:.75rem;font-weight:900;color:var(--accent)}.feature-card p{color:var(--muted)}.feature-status{font-size:.72rem;background:#eef3f7;border-radius:99px;padding:5px 9px}.text-link{font-weight:850}
.cta-panel{padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:linear-gradient(135deg,#fff,#f3f6fa)}
.page-head{background:linear-gradient(120deg,#f3f6fa,#f8fbfd);border-bottom:1px solid var(--line);padding:48px 0}.page-head.compact{padding:34px 0}.management-head{background:linear-gradient(120deg,#edf5fb,#f3f6fa)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-heading h1{font-size:clamp(2.1rem,4vw,3.7rem)}.dashboard-head{display:flex;justify-content:space-between;gap:30px;align-items:center}
.flash-wrap{background:white}.flash{margin:14px 0;padding:13px 16px;border-radius:12px}.flash.success{background:#e9f7ee;color:#25603d;border:1px solid #bddfc9}.flash.error{background:#fff0ef;color:#8b2b29;border:1px solid #efc7c5}.flash ul{margin:6px 0 0}
.auth-section{padding:72px 0}.auth-shell{display:grid;grid-template-columns:1fr minmax(360px,500px);gap:70px;align-items:center}.auth-shell.narrow{max-width:900px}.auth-intro h1{font-size:clamp(2.5rem,5vw,4.3rem)}.auth-intro p{color:var(--muted);font-size:1.05rem}.form-card{padding:30px;display:grid;gap:18px}
label{display:grid;gap:7px;font-size:.9rem;font-weight:760}label small,.muted{color:var(--muted);font-weight:450}
input,select,textarea{width:100%;border:1px solid #cbd6d2;border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink)}input,select{min-height:45px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(0,111,191,.14);border-color:var(--brand)}
.check-row{display:flex;align-items:center;gap:9px}.check-row input{width:18px;min-height:auto}.form-grid-2,.form-grid-3{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid-3{grid-template-columns:repeat(3,1fr)}.span-2{grid-column:span 2}.form-links{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:24px;align-items:start}.dashboard-main,.dashboard-side{display:grid;gap:18px}.management-card{padding:22px}.organization-row{display:flex;gap:16px;align-items:center}.grow{flex:1}.organization-row h3{margin:7px 0 4px}.organization-row p{margin:0;color:var(--muted)}.row-actions{display:flex;gap:10px;flex-direction:column;font-weight:800}
.organization-logo{width:60px;height:60px;border-radius:15px;background:#edf5fb;color:var(--brand);display:grid;place-items:center;font-size:1.4rem;font-weight:950;overflow:hidden;flex:0 0 auto}.organization-logo img{width:100%;height:100%;object-fit:contain}
.notice-card{padding:20px;max-width:360px;border-left:5px solid var(--accent)}.notice-card p{margin:5px 0;color:var(--muted)}.coming-card{background:#f7fbff}.coming-label,.badge,.status-pill{display:inline-flex;font-size:.72rem;font-weight:900;border-radius:99px;padding:4px 8px}.coming-label{background:var(--accent-soft);color:#00528d}
.meta-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.badge{background:#e8f4fc;color:var(--brand-dark)}.meta{color:var(--muted);font-size:.78rem}
.compact-dl{margin:0}.compact-dl div{border-top:1px solid var(--line);padding:10px 0}.compact-dl div:first-child{border:0}.compact-dl dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.compact-dl dd{margin:2px 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{padding:22px}.stat-card strong{display:block;font-size:2rem}.stat-card span{color:var(--muted)}
.management-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.management-tile{padding:26px;display:grid;gap:8px;color:var(--ink)}.management-tile span{color:var(--brand);font-weight:900}.management-tile strong{font-size:1.2rem}.management-tile em{font-style:normal;color:var(--brand);font-weight:800}.management-tile:hover{text-decoration:none;transform:translateY(-2px)}.management-tile.disabled{opacity:.6}
.management-form{display:grid;gap:20px}.form-panel{padding:26px}.form-panel h2{margin-top:0}.village-choice-grid,.choice-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.choice-stack{grid-template-columns:1fr}.choice-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;border-radius:12px;background:#fbfcfe}.choice-card input{width:18px;min-height:auto}.choice-card span{display:grid}.choice-card small{font-size:.75rem}
.table-card{overflow:auto;box-shadow:none}.data-table{width:100%;border-collapse:collapse;min-width:750px}.data-table th,.data-table td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8faf9}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);margin-top:3px}.actions-cell{display:flex;gap:10px;white-space:nowrap}.status-pill{background:#f0f1f1;color:#667}.status-active{background:#e5f5eb;color:#2d7045}
.inline-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:end}.mini-checks{display:grid;gap:5px}.mini-checks label{display:flex;gap:7px;align-items:center;font-size:.8rem;font-weight:550}.mini-checks input{width:15px;min-height:auto}.roles-form{display:grid;gap:8px}.text-button,.link-button{padding:0;border:0;background:none;color:var(--brand);font:inherit;font-weight:800;cursor:pointer}.danger{color:var(--danger)}.invitation-item{display:grid;padding:10px 0;border-top:1px solid var(--line)}.invitation-item:first-of-type{border-top:0}.invitation-item span,.invitation-item small{color:var(--muted)}
.search-bar{display:flex;gap:10px;margin-bottom:18px}.search-bar input{max-width:440px}.narrow-content{max-width:900px}.empty-state{padding:28px}.pagination-wrap{margin-top:24px}
.site-footer{background:#15343b;color:#dbe7e6;margin-top:50px;padding:46px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:50px}.brand-footer{color:white}.brand-footer .brand-word small{color:#a9c0c0}.footer-grid>div{display:grid;align-content:start;gap:8px}.footer-grid a,.footer-grid .link-button{color:#eaf4f3;text-align:left}.footer-grid span{color:#a9c0c0}.footer-grid em{font-size:.68rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:28px;padding-top:16px;font-size:.8rem;color:#9eb5b5}
@media(max-width:950px){.header-inner{grid-template-columns:auto auto}.main-nav{grid-column:1/-1;display:none;justify-content:flex-start;padding-bottom:14px}.main-nav.open{display:flex}.main-nav>a{padding:5px 0;border:0}.nav-toggle{display:block;justify-self:end}.account-nav{grid-column:1/-1;justify-content:flex-end}.hero-grid,.split-intro,.auth-shell,.dashboard-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr}.village-choice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(100% - 22px,1180px)}.hero-grid{min-height:0;padding:48px 0}.hero h1{font-size:2.6rem}.feature-grid,.management-grid,.stat-grid,.form-grid-2,.village-choice-grid,.footer-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.section-heading,.dashboard-head,.cta-panel{align-items:flex-start;flex-direction:column}.inline-form{grid-template-columns:1fr}.organization-row{align-items:flex-start;flex-wrap:wrap}.row-actions{width:100%;flex-direction:row}.account-nav{justify-content:flex-start;flex-wrap:wrap}.top-strip{display:none}.form-links{flex-direction:column}}

/* Publieke organisaties */
.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr auto auto;gap:12px;align-items:end;padding:18px;background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:28px}
.filters label{display:grid;gap:6px}.filter-reset{align-self:center;white-space:nowrap}
.organization-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.organization-card{display:flex;gap:16px;padding:20px;background:white;border:1px solid var(--line);border-radius:var(--radius)}
.organization-body h2{font-size:1.15rem;margin:8px 0}.organization-body p{color:var(--muted);margin:0}.meta-link{color:var(--muted);font-size:.78rem}
.organization-hero{display:flex;gap:24px;align-items:center}.organization-logo-large{width:100px;height:100px;font-size:2.5rem;border-radius:22px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:24px;align-items:start}.content-card,.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.content-card h2,.contact-card h2{margin-top:0}.contact-card dl{margin:0}.contact-card dl>div{padding:12px 0;border-top:1px solid var(--line)}.contact-card dl>div:first-child{border-top:0}.contact-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.contact-card dd{margin:3px 0}
@media(max-width:950px){.organization-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.organization-grid,.filters{grid-template-columns:1fr}.organization-hero{align-items:flex-start}.organization-logo-large{width:72px;height:72px}}

/* Dorpsnet V2 1.3 — Nieuws */
.news-page-head{background:linear-gradient(120deg,#e6f1ee,#fff5e5)}
.news-heading{margin-bottom:22px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}
.news-card-image{display:block;aspect-ratio:16/9;background:#dfecea;overflow:hidden}.news-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.news-card:hover .news-card-image img{transform:scale(1.025)}
.news-card-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d8ebe7,#fff1d8);color:var(--brand);font-size:2rem;font-weight:950;letter-spacing:-.08em}
.news-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.news-card-body h2{font-size:1.25rem;line-height:1.25;margin:0}.news-card-body h2 a{color:var(--ink)}.news-card-body p{color:var(--muted);margin:0}
.news-card-footer{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:auto;padding-top:8px;font-size:.82rem;color:var(--muted)}.news-card-footer a{font-weight:850;white-space:nowrap}
.news-filters{grid-template-columns:1.35fr 1fr 1fr 1.25fr auto auto}.home-empty{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.news-detail-head{background:linear-gradient(120deg,#e7f2ef,#fff5e7);border-bottom:1px solid var(--line);padding:48px 0}.news-detail-head-inner{max-width:900px}.news-detail-head h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.04;margin:16px 0}.back-link{font-weight:800;font-size:.88rem}.news-byline{display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:var(--muted);margin-top:20px}.news-byline strong{color:var(--ink)}
.news-hero-image{max-width:1040px;margin-top:32px}.news-hero-image img{width:100%;max-height:620px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}
.news-detail-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.65fr);gap:40px;padding-top:42px;padding-bottom:32px;align-items:start}.news-article-body{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow);font-size:1.08rem;line-height:1.75}.news-detail-aside{position:sticky;top:120px}.news-detail-aside p{color:var(--muted)}
.status-pending{background:#fff0cf;color:#8a5c0d}.status-rejected{background:#fde8e6;color:#9a302d}.status-archived{background:#ecefef;color:#626d70}.status-draft{background:#edf1f3;color:#52646b}
.news-dashboard-callout{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#fff,#f3f6fa);border-left:5px solid var(--brand)}.news-dashboard-callout h2{margin:4px 0}.news-dashboard-callout p{margin:0;color:var(--muted)}
.compact-news-list{display:grid;gap:10px}.compact-news-item{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink)}.compact-news-item:hover{text-decoration:none;border-color:#b8cbc6}.compact-news-item span:first-child{display:grid}.compact-news-item small{color:var(--muted);margin-top:3px}
.admin-stat-grid{grid-template-columns:repeat(4,1fr)}.stat-card.attention{border:1px solid #e5c378;background:#fff9e8}.tile-count{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:99px;background:var(--accent);color:#fff;font-size:.78rem;margin-left:5px}
.article-editor{min-height:360px;line-height:1.55}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.current-news-image{max-width:520px;margin-bottom:14px}.current-news-image img{width:100%;max-height:300px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.news-workflow-actions{margin-top:20px;display:flex;justify-content:space-between;gap:24px;align-items:center}.news-workflow-actions h3{margin:0 0 5px}.news-workflow-actions p{margin:0;color:var(--muted)}.news-workflow-actions>.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.review-message{padding:18px 20px;border-radius:14px;border:1px solid #e9d5a7;background:#fff8e6;margin-bottom:20px}.review-message p{margin:5px 0 0}.rejected-message{border-color:#efc7c5;background:#fff0ef;color:#7e2a28}
.moderation-list{display:grid;gap:20px}.moderation-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.moderation-preview{display:grid;grid-template-columns:220px 1fr;gap:24px}.moderation-preview>img{width:100%;height:150px;object-fit:cover;border-radius:14px}.moderation-preview h2{margin:8px 0}.moderation-preview p{color:var(--muted)}.moderation-full{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.moderation-full summary{cursor:pointer;font-weight:850;color:var(--brand)}.moderation-full .prose{padding:16px 0}.moderation-actions{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:end;border-top:1px solid var(--line);padding-top:18px;margin-top:10px}.reject-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.reject-form label{min-width:0}
.news-management-table small{max-width:480px}.news-management-table .status-pill{margin-bottom:4px}

@media(max-width:1000px){.news-grid{grid-template-columns:1fr 1fr}.news-filters{grid-template-columns:1fr 1fr}.news-detail-grid{grid-template-columns:1fr}.news-detail-aside{position:static}.moderation-preview{grid-template-columns:160px 1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.news-grid,.news-filters{grid-template-columns:1fr}.news-card-footer{align-items:flex-start;flex-direction:column}.news-detail-head{padding:36px 0}.news-detail-head h1{font-size:2.5rem}.news-article-body{padding:22px}.news-hero-image{margin-top:18px}.news-dashboard-callout,.news-workflow-actions{align-items:flex-start;flex-direction:column}.moderation-preview{grid-template-columns:1fr}.moderation-preview>img{height:190px}.moderation-actions,.reject-form{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:1fr}.compact-news-item{align-items:flex-start;flex-direction:column}}


/* Dorpsnet V2 1.4 — Dorpsagenda */
.agenda-page-head{background:linear-gradient(120deg,#fff0da,#e9f4f1)}.agenda-heading{margin-bottom:22px}.agenda-filters{grid-template-columns:1.25fr 1fr 1fr 1.15fr .8fr auto auto}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}.event-card-image{display:block;aspect-ratio:16/8.5;background:#f3eadc;position:relative;overflow:hidden}.event-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.event-card:hover .event-card-image img{transform:scale(1.025)}.event-card-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#fff0d8,#dfeeea);color:var(--brand);font-size:1.35rem;font-weight:950}.event-date-badge{position:absolute;left:14px;bottom:14px;width:62px;min-height:64px;border-radius:15px;background:#fff;color:var(--ink);display:grid;place-items:center;align-content:center;box-shadow:0 9px 24px rgba(24,49,59,.18);line-height:1}.event-date-badge strong{font-size:1.6rem}.event-date-badge span{text-transform:uppercase;font-size:.68rem;font-weight:900;color:var(--accent);margin-top:4px}.event-card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.event-card-body h2{font-size:1.24rem;margin:0;line-height:1.25}.event-card-body h2 a{color:var(--ink)}.event-card-body p{color:var(--muted);margin:0}.event-card-meta{display:grid;gap:3px;color:var(--muted);font-size:.82rem;margin-top:auto;padding-top:6px}
.event-detail-head{background:linear-gradient(120deg,#fff1dc,#e6f2ee);border-bottom:1px solid var(--line);padding:48px 0}.event-detail-head-inner{max-width:1040px}.event-detail-head h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.04;margin:16px 0}.event-detail-meta{margin-top:18px}.event-key-info{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.event-key-info>div{min-width:180px;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.78);border:1px solid rgba(217,224,220,.9);display:grid}.event-key-info strong{font-size:1rem}.event-key-info span{color:var(--muted);font-size:.82rem;margin-top:2px}.event-big-date{min-width:115px!important;display:flex!important;align-items:baseline;gap:9px}.event-big-date strong{font-size:2rem;color:var(--brand)}.event-big-date span{font-weight:850;color:var(--ink)}
.event-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);gap:38px;align-items:start}.event-detail-aside{display:grid;gap:14px;position:sticky;top:120px}.event-detail-aside .management-card p{color:var(--muted)}.event-detail-aside .management-card h3{margin:3px 0 8px}.event-links{gap:10px;display:grid}.event-links .eyebrow{margin-bottom:2px}.event-time-grid{margin-top:18px}.all-day-toggle{margin:5px 0 4px}.content-dashboard-callout{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#fff,#f3f6fa);border-left:5px solid var(--accent)}.content-dashboard-callout h2{margin:4px 0}.content-dashboard-callout p{margin:0;color:var(--muted)}.moderation-section-heading{margin:8px 0 18px}.agenda-moderation-heading{margin-top:54px;border-top:1px solid var(--line);padding-top:36px}.admin-stat-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1050px){.event-grid{grid-template-columns:1fr 1fr}.agenda-filters{grid-template-columns:1fr 1fr}.event-detail-grid{grid-template-columns:1fr}.event-detail-aside{position:static}.admin-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.event-grid,.agenda-filters{grid-template-columns:1fr}.event-detail-head{padding:36px 0}.event-detail-head h1{font-size:2.5rem}.event-key-info{display:grid;grid-template-columns:1fr}.event-big-date{display:grid!important}.content-dashboard-callout{align-items:flex-start;flex-direction:column}.admin-stat-grid{grid-template-columns:1fr}}

/* Dorpsnet V2 1.5 — Dorpen & externe publicatie */
.village-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.village-directory-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);color:var(--ink);display:flex;flex-direction:column;gap:18px;min-height:270px;transition:transform .18s ease,border-color .18s ease}.village-directory-card:hover{text-decoration:none;transform:translateY(-3px);border-color:#b7cbc4}.village-directory-card h2{margin:2px 0 8px}.village-directory-card p{color:var(--muted);margin:0}.village-directory-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.4rem;margin-bottom:16px}.village-directory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.village-directory-stats span{padding:10px;border-radius:10px;background:#f5f8f7;color:var(--muted);font-size:.74rem;display:grid}.village-directory-stats strong{color:var(--ink);font-size:1.15rem}.village-hero{background:linear-gradient(120deg,#e4f2ed,#fff1db);border-bottom:1px solid var(--line)}.village-hero-grid{display:grid;grid-template-columns:1.5fr .55fr;gap:50px;align-items:center;padding:58px 0}.village-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.village-location-card{background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);display:grid;gap:6px}.village-location-card strong{font-size:1.55rem}.village-location-card span{color:var(--muted)}.button-ghost{background:transparent;color:var(--brand);box-shadow:none;border:1px solid #b9cbc6}.organization-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.organization-mini-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px;color:var(--ink);display:grid;gap:5px}.organization-mini-card:hover{text-decoration:none;border-color:#b8cbc6}.organization-mini-card span,.organization-mini-card p{color:var(--muted);font-size:.84rem}.organization-mini-card p{margin:5px 0 0}.form-page{max-width:980px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{color:var(--muted);font-size:.86rem}.integrations-layout{display:grid;gap:24px}.integrations-filter{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.integrations-filter .filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.filter-actions{display:flex;gap:14px;align-items:center;margin-top:16px}.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.integration-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.integration-card h2{margin:5px 0 8px;font-size:1.45rem}.integration-card p{color:var(--muted)}.integration-kicker{display:inline-flex;background:#e7f2ef;color:var(--brand-dark);font-size:.72rem;font-weight:900;border-radius:99px;padding:5px 9px;text-transform:uppercase;letter-spacing:.05em}.code-box{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.5;background:#14262c;color:#eaf5f1;border-color:#14262c;margin:8px 0 12px;resize:none}.info-panel{background:linear-gradient(135deg,#fff8e9,#eef7f4);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.info-panel h2{margin-top:0}.info-panel p{margin-bottom:0;color:var(--muted)}
@media(max-width:1050px){.village-directory-grid{grid-template-columns:1fr 1fr}.organization-mini-grid{grid-template-columns:1fr 1fr}.integrations-filter .filter-grid{grid-template-columns:1fr 1fr}.village-hero-grid{grid-template-columns:1fr}.integration-grid{grid-template-columns:1fr}}
@media(max-width:650px){.village-directory-grid,.organization-mini-grid,.integrations-filter .filter-grid,.form-grid.two{grid-template-columns:1fr}.village-directory-stats{grid-template-columns:1fr 1fr 1fr}.village-hero-grid{padding:42px 0}.filter-actions{align-items:flex-start;flex-direction:column}}


/* Dorpsnet V2 1.6 — Vrijwilligersplanning */
.volunteer-page-head,.volunteer-detail-head{background:linear-gradient(120deg,#e7f3ee,#fff0dc)}.volunteer-filters{grid-template-columns:1fr 1fr auto auto;margin-bottom:26px}.volunteer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.volunteer-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:grid;gap:15px}.volunteer-card h2,.volunteer-card h3{margin:0}.volunteer-card p{margin:0;color:var(--muted)}.volunteer-card-top{display:flex;gap:16px;align-items:flex-start}.volunteer-date{width:58px;min-width:58px;height:64px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;align-content:center;color:var(--accent);line-height:1}.volunteer-date strong{font-size:1.6rem}.volunteer-date small{text-transform:uppercase;font-weight:900;margin-top:4px}.volunteer-stats{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.volunteer-stats strong{color:var(--brand)}.volunteer-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:34px;align-items:start}.position-list{display:grid;gap:14px}.position-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.position-card h3{margin:0 0 5px}.position-card p{margin:0;color:var(--muted)}.position-capacity{display:grid;text-align:center;min-width:70px}.position-capacity strong{font-size:1.7rem;color:var(--brand)}.position-capacity span{font-size:.72rem;color:var(--muted)}.volunteer-signup-card{position:sticky;top:120px}.volunteer-signup-card h2{margin:5px 0 15px}.compact-form{display:grid;gap:13px}.compact-form label{display:grid;gap:5px}.readonly-person{display:grid;background:#f2f7f5;border-radius:12px;padding:13px}.readonly-person span{font-size:.82rem;color:var(--muted)}.signup-summary{display:grid;gap:18px}.volunteer-workflow{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0}.volunteer-workflow p{margin:4px 0;color:var(--muted)}.position-admin-row{display:grid;grid-template-columns:minmax(0,1.6fr) 100px 100px 120px auto;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid var(--line)}.position-admin-row label{display:grid;gap:5px}.position-admin-row>div:first-child{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.position-admin-actions{display:grid;gap:6px;justify-items:end}.position-admin-actions span{font-size:.78rem;color:var(--muted)}.position-new-form{margin-top:22px;padding:20px;border-radius:14px;background:#f4f8f6}.table-scroll{overflow-x:auto}.actions-cell form{display:inline}.management-grid .tile-count{margin-left:5px}
@media(max-width:1050px){.volunteer-grid{grid-template-columns:1fr 1fr}.volunteer-detail-grid{grid-template-columns:1fr}.volunteer-signup-card{position:static}.position-admin-row{grid-template-columns:1fr 1fr}.position-admin-row>div:first-child{grid-column:1/-1}}
@media(max-width:650px){.volunteer-grid,.volunteer-filters,.position-card,.position-admin-row,.position-admin-row>div:first-child{grid-template-columns:1fr}.volunteer-stats,.volunteer-workflow{align-items:flex-start;flex-direction:column}.position-capacity{text-align:left}.position-admin-actions{justify-items:start}}

/* Dorpsnet V2 1.7 — Communicatie & nieuwsbrieven */
.communication-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.communication-actions+.section-heading{margin-top:10px}
.management-card code{display:block;overflow-wrap:anywhere;background:#f3f7f5;border:1px solid var(--line);border-radius:9px;padding:9px 10px;margin-top:10px;font-size:.78rem;color:var(--brand-dark)}
.form-help{font-size:.86rem;color:var(--muted);margin:8px 0 0}.management-card .inline-form{margin-top:14px}.management-card h4{margin:18px 0 10px}.newsletter-item{padding:18px 0;border-top:1px solid var(--line)}.newsletter-item:first-child{border-top:0}.newsletter-item h3{margin:0 0 5px}.newsletter-item p{color:var(--muted)}
@media(max-width:650px){.communication-actions{flex-direction:column}.communication-actions .button{width:100%;text-align:center}}


/* Dorpsnet V1-identiteit / V2.1.7 branding */
:root{--dnz-v1-blue:#006fbf;--dnz-v1-navy:#22375b;--dnz-v1-pale:#f3f6fa}
.eyebrow{color:var(--brand)}
.feature-number{color:var(--brand)}
.village-icon{background:var(--accent-soft);color:var(--brand)}
.cta-panel{background:linear-gradient(135deg,#fff,#f3f6fa)}
.page-head{background:linear-gradient(120deg,#f3f6fa,#fff)}
.management-head{background:linear-gradient(120deg,#edf5fb,#f8fbfd)}
@media(max-width:980px){.brand-logo-image{width:160px;max-width:none;height:60px}.hero-brand-panel{max-width:560px}.hero-place-logo{max-width:360px}}
@media(max-width:650px){.brand-logo-image{width:142px;height:54px}.brand-logo-image--footer{width:150px}.hero-brand-panel{padding:18px}.hero-place-logo{max-width:300px}}


/* ================================================================
   Dorpsnet V2 1.7.1 — V1 look & feel
   Publieke website bewust dichter bij het oorspronkelijke dorpsnet.nl.
   ================================================================ */
:root{
  --legacy-red:#8b0a00;
  --legacy-red-dark:#6f0800;
  --legacy-text:#39445a;
  --legacy-nav:#4a556d;
  --legacy-blue:#006fbf;
  --legacy-line:#d9dee7;
  --legacy-soft:#f7f8fa;
  --radius:7px;
  --shadow:none;
}
html{background:#fff;color:var(--legacy-text);font-family:Arial,Helvetica,sans-serif}
body{background:#fff;color:var(--legacy-text);font-size:17px;line-height:1.65}
a{color:var(--legacy-red)}a:hover{color:var(--legacy-red-dark)}
.container{width:min(1440px,calc(100% - 44px));margin-inline:auto}

/* Header */
.site-header.legacy-site-header{position:relative;top:auto;background:#fff;border-bottom:1px solid #eceff3;backdrop-filter:none}
.legacy-header-inner{min-height:92px;display:grid;grid-template-columns:250px minmax(0,1fr) auto;gap:28px;align-items:center}
.legacy-brand{align-self:center}.brand-logo-image{width:230px;height:52px;max-width:230px;object-fit:contain;object-position:left center}
.legacy-main-nav{justify-content:flex-end;gap:26px;font-size:16px;font-weight:400;white-space:nowrap}
.legacy-main-nav>a{color:var(--legacy-nav);padding:34px 0;border-bottom:0}.legacy-main-nav>a:hover,.legacy-main-nav>a.active{color:var(--legacy-red);text-decoration:none}
.legacy-account-nav{gap:14px}.legacy-account-nav .account-link{font-weight:400;color:var(--legacy-nav)}
.legacy-account-nav .button{min-height:36px;padding:0 12px;border-radius:5px}

/* V1 two-column public shell */
.legacy-public-main{background:#fff}
.legacy-site-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start;padding:10px 0 42px}
.legacy-content-column{min-width:0}.legacy-content-column>.hero,.legacy-content-column>.page-head,.legacy-content-column>.section,.legacy-content-column>.auth-section,.legacy-content-column>.volunteer-page-head,.legacy-content-column>.volunteer-detail-head{width:100%;margin:0}
.legacy-content-column .container{width:100%;margin:0}
.legacy-sidebar{padding-top:44px;display:grid;gap:30px;align-content:start}
.legacy-sidebar-block{padding:0;margin:0}.legacy-sidebar-block h2{font-size:24px;line-height:1.2;margin:0 0 18px;color:var(--legacy-red);letter-spacing:0;font-weight:700}
.legacy-search-block h2{font-size:20px;color:var(--legacy-text);font-weight:400;margin-bottom:8px}
.legacy-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.legacy-search-form input{height:52px;border:1px solid #cfd6e1;border-radius:4px;background:#fff;padding:0 12px}
.legacy-search-form button{border:0;background:transparent;color:#24314b;font-size:18px;cursor:pointer;padding:8px 0}
.legacy-join-block p{margin:0 0 18px;font-size:19px;line-height:1.7}.legacy-sidebar-link{font-size:18px;color:var(--legacy-red)}
.legacy-calendar-block h2{text-transform:uppercase;font-size:24px}
#dorpsnet-sidebar-calendar{min-height:280px}

/* Public headings and spacing */
.legacy-content-column .eyebrow{display:none}
.legacy-content-column h1,.legacy-content-column h2,.legacy-content-column h3{letter-spacing:0;color:#18243b}
.legacy-content-column h1{font-size:34px;line-height:1.2;margin:0 0 12px}
.legacy-content-column h2{font-size:25px;line-height:1.25}.legacy-content-column h3{font-size:20px}
.legacy-content-column .lead{font-size:18px;color:#56627a;max-width:none}
.legacy-content-column .page-head,.legacy-content-column .news-page-head,.legacy-content-column .agenda-page-head,.legacy-content-column .volunteer-page-head{background:#fff;border:0;padding:28px 0 10px}
.legacy-content-column .page-head .section-heading{align-items:flex-start}
.legacy-content-column .section{padding:26px 0}.legacy-content-column .section-tight{padding-top:14px}.legacy-content-column .section-soft{background:#fff;border:0}

/* Home as original portal */
.legacy-home{padding:0}.legacy-home-banner{height:285px;position:relative;background:#dce5ef linear-gradient(135deg,#d9e7f2,#f4f6f8);background-size:cover;background-position:center;border:0;overflow:hidden}
.legacy-home-banner-fade{position:absolute;inset:45% 0 0;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.95))}
.legacy-home-banner h1{position:absolute;left:14px;bottom:18px;margin:0;color:#a3260b;font-size:36px;font-weight:700;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}
.legacy-home-copy{padding:24px 14px 12px;font-size:18px}.legacy-home-copy p{margin:0 0 24px}.legacy-intro-strong{font-size:21px;font-weight:700;color:#29354b}.legacy-home-list{margin:8px 0 0;padding-left:40px}.legacy-home-list li{margin:4px 0}
.legacy-content-section{padding:30px 14px;border-top:1px solid #eef0f3}.legacy-heading-row{margin-bottom:18px}.legacy-heading-row h2{margin:0;color:var(--legacy-red);font-size:25px}.legacy-more-link{font-size:15px}

/* Cards: flatter, calmer, more like the original site */
.news-grid,.event-grid,.organization-grid,.volunteer-grid,.village-directory-grid{gap:14px}
.news-card,.event-card,.organization-card,.volunteer-card,.village-directory-card,.feature-card,.management-card,.form-panel,.form-card,.empty-state,.cta-panel,.filters{border:1px solid var(--legacy-line);border-radius:6px;box-shadow:none;background:#fff}
.news-card-body,.event-card-body{padding:15px}.news-card-body h2,.event-card-body h2{font-size:18px}.news-card-body h2 a,.event-card-body h2 a,.organization-card h2 a{color:#23304a}
.news-card-body p,.event-card-body p{color:#59657b}.news-card-footer{font-size:13px}.news-card-footer a{color:var(--legacy-red)}
.news-card-image,.event-card-image{border-bottom:1px solid #e3e6eb}.event-date-badge{border-radius:5px;box-shadow:none;border:1px solid #d8dde5}
.organization-card{padding:15px}.organization-logo{border-radius:4px}.village-directory-card{padding:18px;min-height:220px}.village-directory-icon{border-radius:4px}

/* Forms / newsletter */
.legacy-content-column .narrow-content{max-width:none}.management-form{gap:16px}.form-panel{padding:20px}.form-panel h2{font-size:24px;color:#23304a}.form-panel>p{color:#56627a}
.form-grid-2,.form-grid.two{gap:14px}.choice-card{border-radius:4px;background:#fff;padding:10px}.filters{padding:14px;border-radius:4px;margin-bottom:22px}
input,select,textarea{border-radius:4px!important}.button{background:var(--legacy-blue);border-radius:4px;box-shadow:none}.button:hover{background:#005a9b}.button-secondary{background:#fff;color:#33415a;border:1px solid #cfd6df}.text-link,.filter-reset{color:var(--legacy-red)}
.auth-section{padding:28px 0}.auth-shell{grid-template-columns:1fr;gap:22px}.auth-intro h1{font-size:32px}.form-card{max-width:600px;padding:22px}

/* Footer */
.site-footer.legacy-footer{background:#f7f7f8;color:#515c70;margin-top:34px;padding:28px 0 14px;border-top:1px solid #e2e5ea}
.legacy-footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.brand-logo-image--footer{width:180px;height:42px}.legacy-footer-inner p{margin:8px 0}.legacy-footer-links{display:flex;gap:20px;flex-wrap:wrap}.legacy-footer-links a{color:#59657b}.footer-bottom{border-top:1px solid #e0e3e8;color:#7a8495;margin-top:20px;padding-top:12px}

/* Keep backoffice spacious but branded consistently */
.backoffice-main{background:#f7f8fa;min-height:65vh}.backoffice-main .page-head,.backoffice-main .management-head{background:#fff;border-bottom:1px solid var(--legacy-line)}
.backoffice-main .button{border-radius:4px}.backoffice-main .management-card,.backoffice-main .form-panel,.backoffice-main .table-card{border-radius:6px;box-shadow:none}

@media(max-width:1280px){
  .legacy-header-inner{grid-template-columns:210px minmax(0,1fr) auto;gap:18px}.brand-logo-image{width:195px;max-width:195px}.legacy-main-nav{gap:16px;font-size:15px}.legacy-site-grid{grid-template-columns:minmax(0,1fr) 320px;gap:34px}
}
@media(max-width:980px){
  .container{width:min(100% - 28px,1440px)}.legacy-header-inner{grid-template-columns:1fr auto;min-height:78px}.brand-logo-image{width:190px;height:48px}.nav-toggle{display:block}.legacy-main-nav{grid-column:1/-1;display:none;justify-content:flex-start;flex-wrap:wrap;gap:12px 22px;padding:4px 0 14px}.legacy-main-nav.open{display:flex}.legacy-main-nav>a{padding:4px 0}.legacy-account-nav{grid-column:1/-1;justify-content:flex-start;padding-bottom:12px}.legacy-site-grid{grid-template-columns:1fr}.legacy-sidebar{padding-top:12px;border-top:1px solid #eceff3;grid-template-columns:1fr 1fr}.legacy-calendar-block{grid-column:1/-1}.legacy-home-banner{height:250px}
}
@media(max-width:650px){
  body{font-size:16px}.container{width:min(100% - 22px,1440px)}.legacy-sidebar{grid-template-columns:1fr}.legacy-calendar-block{grid-column:auto}.legacy-home-banner{height:210px}.legacy-home-banner h1{font-size:28px;left:10px;bottom:12px}.legacy-home-copy,.legacy-content-section{padding-left:4px;padding-right:4px}.legacy-content-column h1{font-size:30px}.legacy-content-column h2{font-size:23px}.legacy-footer-inner{flex-direction:column}.legacy-footer-links{gap:12px}.news-grid,.event-grid,.organization-grid,.volunteer-grid,.village-directory-grid{grid-template-columns:1fr!important}
}


/* ================================================================
   Dorpsnet V2 1.7.2 — Dorpsbeelden & grote fotografie
   ================================================================ */
.legacy-home-banner{height:315px;background-position:center 48%}
.legacy-home-banner.has-photo{background-color:#e5e8ec}
.legacy-home-banner.has-photo .legacy-home-banner-fade{inset:48% 0 0;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.98))}
.village-cover-preview{margin:12px 0 18px;border:1px solid var(--legacy-line);background:#f4f5f7;overflow:hidden}
.village-cover-preview img{display:block;width:100%;height:260px;object-fit:cover}
.village-cover-public{position:relative;width:100%;height:320px;overflow:hidden;background:#e5e8ec}
.village-cover-public img{display:block;width:100%;height:100%;object-fit:cover}
.village-cover-public-fade{position:absolute;inset:46% 0 0;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.96))}
.village-cover-public-title{position:absolute;left:max(24px,calc((100vw - min(1440px,calc(100vw - 44px)))/2));bottom:20px;color:#a3260b;font-size:34px;font-weight:700;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}
.village-hero-v172{background:#fff}
.village-hero-v172 .village-hero-grid{padding:28px 0 36px}
.village-directory-card{overflow:hidden}
.village-directory-cover{margin:-18px -18px 4px;height:150px;background:#eef1f4;overflow:hidden}
.village-directory-cover img{width:100%;height:100%;object-fit:cover;display:block}

/* Grote redactionele foto's op detailpagina's */
.legacy-content-column .news-hero-image{max-width:none;width:100%;margin:22px 0 30px}
.legacy-content-column .news-hero-image img{display:block;width:100%;height:auto;max-height:540px;min-height:280px;object-fit:cover;border-radius:0;box-shadow:none}
.news-card-image{aspect-ratio:16/9}
.event-card-image{aspect-ratio:16/9}

/* Als een nieuwskaart een beeld heeft, mag dat visueel nadrukkelijker zijn */
.legacy-card-grid .news-card-image,.legacy-card-grid .event-card-image{min-height:180px}

@media(max-width:980px){
  .legacy-home-banner,.village-cover-public{height:270px}
  .village-cover-public-title{left:20px}
}
@media(max-width:650px){
  .legacy-home-banner,.village-cover-public{height:210px}
  .village-cover-preview img{height:190px}
  .village-cover-public-title{font-size:27px;left:12px;bottom:12px}
  .legacy-content-column .news-hero-image img{min-height:180px;max-height:360px}
}


/* ================================================================
   Dorpsnet V2 1.7.3 — exacte V1 fallbackbeelden image1-image4
   ================================================================ */
.legacy-home-banner{position:relative;isolation:isolate;overflow:hidden}
.legacy-home-banner.has-photo{background-size:cover;background-position:center 50%}
.legacy-home-slideshow,
.legacy-home-static-fallback{
    position:absolute;
    inset:0;
    z-index:-3;
}
.legacy-home-static-fallback{
    background-size:cover;
    background-position:center 50%;
}
.legacy-home-slide{
    position:absolute;
    inset:0;
    opacity:0;
    background-size:cover;
    background-position:center 50%;
    animation:dnLegacyHeroCycle 28s infinite;
    transform:scale(1.002);
}
.legacy-home-slide-1{animation-delay:0s}
.legacy-home-slide-2{animation-delay:7s}
.legacy-home-slide-3{animation-delay:14s}
.legacy-home-slide-4{animation-delay:21s}
@keyframes dnLegacyHeroCycle{
    0%{opacity:0}
    3%{opacity:1}
    22%{opacity:1}
    25%{opacity:0}
    100%{opacity:0}
}
.legacy-home-banner-fade{z-index:-2}
.legacy-home-banner h1{position:relative;z-index:1}

/* Respecteer reduced-motion: toon dan uitsluitend het eerste oude beeld. */
@media (prefers-reduced-motion: reduce){
    .legacy-home-slide{animation:none;opacity:0}
    .legacy-home-slide-1{opacity:1}
}


/* ================================================================
   Dorpsnet V2 1.7.4 — random V1-foto op alle publieke hoofdmenu's
   ================================================================ */

/* Eén gedeelde bannerstijl voor Home, Dorpen, Nieuws, Agenda,
   Organisaties, Vrijwilligers en Nieuwsbrief. */
.legacy-random-hero{
    position:relative;
    width:100%;
    height:315px;
    overflow:hidden;
    background:#dce5ef linear-gradient(135deg,#d9e7f2,#f4f6f8);
    background-size:cover;
    background-position:center 50%;
    margin:0 0 0;
    isolation:isolate;
}
.legacy-random-hero.has-photo{
    background-color:#e5e8ec;
}
.legacy-random-hero-fade{
    position:absolute;
    inset:48% 0 0;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.97));
}

/* Expliciet absolute positionering. Dit corrigeert de 1.7.3-regel
   die de homepage-titel per ongeluk weer position:relative maakte. */
.legacy-random-hero h1,
.legacy-home-banner h1{
    position:absolute !important;
    top:auto !important;
    right:auto !important;
    left:14px !important;
    bottom:18px !important;
    z-index:2 !important;
    margin:0 !important;
    max-width:calc(100% - 28px);
    color:#a3260b;
    font-size:36px;
    line-height:1.08;
    font-weight:700;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff;
}

/* De oude slideshow wordt vanaf 1.7.4 niet meer gebruikt. */
.legacy-home-slideshow,
.legacy-home-static-fallback{
    display:none !important;
}

/* Na de banner volgt alleen nog toelichtende tekst; de H1 zit al
   semantisch correct in de foto. */
.legacy-content-column > .page-head{
    padding-top:22px;
}
.legacy-content-column > .page-head .lead{
    margin-top:2px;
}

/* Home gebruikt exact dezelfde bannercomponent. */
.legacy-home .legacy-random-hero{
    margin-bottom:0;
}

/* Mobiel */
@media(max-width:980px){
    .legacy-random-hero{
        height:270px;
    }
}
@media(max-width:650px){
    .legacy-random-hero{
        height:210px;
    }
    .legacy-random-hero h1,
    .legacy-home-banner h1{
        left:10px !important;
        bottom:12px !important;
        font-size:28px;
        max-width:calc(100% - 20px);
    }
}


/* ========================================================================
   Dorpsnet V2 1.8 — functioneel overleg verenigingen Zuidbroek
   ======================================================================== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.legacy-sidebar{padding-top:0!important}
.legacy-site-grid{align-items:start}
.legacy-search-block{margin-top:0!important;padding-top:0!important}
.legacy-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.legacy-search-form input{height:42px;min-height:42px}
.legacy-search-form button{height:36px;min-height:36px;padding:0 12px;border:1px solid #c9d5e3;background:#fff;color:#8d1607;border-radius:3px;font-size:.9rem;font-weight:600;box-shadow:none}
.legacy-search-form button:hover{background:#f7f9fc;border-color:#9eb3ca}
.button,.button-small{box-shadow:none!important}
.button{min-height:40px!important;padding:0 15px!important;font-weight:700!important;border-radius:4px!important}
.button-subtle,.form-actions .button,.header-actions .button,.filter-actions .button{
    min-height:36px!important;height:auto;padding:8px 13px!important;border-radius:4px!important;
    font-size:.91rem!important;font-weight:700!important;letter-spacing:0!important;box-shadow:none!important
}
.button-secondary,.button-ghost{background:#fff!important}
.account-link-accent{color:#9e1b0b!important;font-weight:700!important}
.village-slogan{font-weight:700;color:#253957}
.village-slogan--hero{font-size:1.18rem;margin:.35rem 0 .8rem;color:#9e1b0b}

.organization-auto-filters{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end;margin:0 0 30px}
.organization-auto-filters label span{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;color:#51627a}
.filter-reset{align-self:center;font-size:.9rem}
.organization-category-section{margin:0 0 34px}
.organization-category-heading{border-bottom:2px solid #9e1b0b;padding-bottom:8px;margin-bottom:4px}
.organization-category-heading h2{margin:0;color:#8d1607;font-size:1.45rem}
.organization-category-heading p{margin:4px 0 0;color:#66738a}
.organization-list-elegant{border-top:1px solid #e2e7ee}
.organization-list-elegant .organization-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 8px;border-bottom:1px solid #e2e7ee;background:#fff}
.organization-logo-large{width:78px;height:78px;display:flex;align-items:center;justify-content:center;border:1px solid #dce3eb;background:#fff;text-decoration:none;overflow:hidden}
.organization-logo-large img{width:100%;height:100%;object-fit:contain;padding:5px}
.organization-logo-large span{font-size:1.8rem;color:#006fbf;font-weight:800}
.organization-row-main h3{margin:0 0 5px;font-size:1.14rem}
.organization-row-main h3 a{color:#22375b;text-decoration:none}
.organization-row-main p{margin:0 0 8px;color:#526077}
.organization-contact-line{display:flex;gap:12px;flex-wrap:wrap;font-size:.88rem;color:#607086}
.organization-row-villages{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.organization-row-villages span,.badge-soft{background:#f0f4f8;color:#43546d;border:1px solid #dde5ed;padding:3px 7px;font-size:.75rem;border-radius:3px}

.category-choice-grid,.village-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice-card{display:flex;gap:9px;align-items:flex-start;border:1px solid #d8e0e9;padding:11px 12px;background:#fff;border-radius:4px}
.choice-card input{margin-top:3px}
.choice-card small{display:block;color:#6b778a;margin-top:2px}
.interest-groups{display:grid;gap:16px}
.interest-group{border:1px solid #d9e1ea;background:#fff}
.interest-group-toggle{display:flex;gap:10px;padding:13px 15px;background:#f4f7fa;border-bottom:1px solid #d9e1ea;align-items:flex-start}
.interest-group-toggle input{margin-top:4px}
.interest-group-toggle small{display:block;color:#657289;font-weight:400;margin-top:3px}
.interest-organizations{display:grid}
.interest-organization{display:grid;grid-template-columns:auto 46px minmax(0,1fr);gap:10px;align-items:center;padding:10px 15px;border-bottom:1px solid #edf0f4}
.interest-organization:last-child{border-bottom:0}
.interest-organization-logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.interest-organization-logo img{max-width:40px;max-height:40px;object-fit:contain}
.interest-organization small{display:block;color:#758196}

.profile-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #e0e6ed}
.profile-summary{display:flex;gap:15px;align-items:flex-start}
.profile-photo-preview{width:110px;height:110px;border-radius:50%;overflow:hidden;border:1px solid #d8e0e9;background:#f5f7fa}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover}

.promotion-target-filter{display:flex;gap:16px;align-items:end;margin-bottom:24px}
.promotion-list{border:1px solid #d9e1ea;background:#fff;margin-bottom:30px}
.promotion-list-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #d9e1ea}
.promotion-list-head h2{margin:0}
.promotion-row{display:grid;grid-template-columns:auto 72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;border-bottom:1px solid #edf0f4}
.promotion-row:last-child{border-bottom:0}
.promotion-row input[type=checkbox]{width:18px;height:18px}
.promotion-thumb{width:66px;height:48px;background:#f2f4f7;overflow:hidden}
.promotion-thumb img{width:100%;height:100%;object-fit:cover}
.promotion-row small,.promotion-row em{display:block;color:#69778d;font-size:.84rem}
.promotion-row em{margin-top:3px;font-style:normal}
.promoted-list{padding:0}
.promoted-list>h2{padding:14px 16px;margin:0;border-bottom:1px solid #d9e1ea}

@media (max-width:900px){
  .organization-auto-filters{grid-template-columns:1fr 1fr}
  .organization-list-elegant .organization-row{grid-template-columns:72px minmax(0,1fr)}
  .organization-row-villages{grid-column:2;justify-content:flex-start}
  .organization-logo-large{width:64px;height:64px}
}
@media (max-width:620px){
  .organization-auto-filters,.category-choice-grid,.village-choice-grid{grid-template-columns:1fr}
  .organization-list-elegant .organization-row{grid-template-columns:58px minmax(0,1fr);gap:12px}
  .organization-logo-large{width:54px;height:54px}
  .interest-organization{grid-template-columns:auto 38px minmax(0,1fr)}
  .promotion-row{grid-template-columns:auto minmax(0,1fr)}
  .promotion-thumb{display:none}
}

.profile-avatar-large{width:110px;height:110px;border-radius:50%;object-fit:cover;border:1px solid #d8e0e9;margin-bottom:14px}


/* ========================================================================
   Dorpsnet V2 1.9 — functioneel overleg + extern nieuws
   ======================================================================== */

/* Account / uitloggen */
.logout-form{display:inline;margin:0;padding:0}
.logout-link{appearance:none;border:0;background:none;padding:0;cursor:pointer;color:#6b778a;font-size:.88rem;font-weight:600}
.logout-link:hover{color:#8d1607;text-decoration:underline}

/* Sidebar: bovenkant exact op lijn met de grote foto en duidelijke CTA */
.legacy-site-grid{align-items:start}
.legacy-sidebar{padding-top:0!important;margin-top:0!important}
.legacy-sidebar-block:first-child{margin-top:0!important;padding-top:0!important}
.legacy-search-form{margin-top:0}
.legacy-organization-cta{
    display:grid;gap:2px;margin-top:14px;padding:12px 14px;border:1px solid #d6dee8;
    border-left:4px solid #9e1b0b;background:#fff;color:#22375b;text-decoration:none;
}
.legacy-organization-cta:hover{background:#fbfcfe;text-decoration:none;border-color:#b8c6d5;border-left-color:#8d1607}
.legacy-organization-cta span{font-size:1rem;font-weight:800;color:#8d1607}
.legacy-organization-cta small{font-size:.78rem;color:#66738a}

/* Knoppen wat eleganter en minder massief */
.button,.button-small,.button-subtle{
    min-height:34px!important;
    padding:7px 12px!important;
    border-radius:3px!important;
    font-size:.9rem!important;
    line-height:1.2!important;
    font-weight:700!important;
}
.button-wide{min-height:40px!important}
.management-tile-accent{border-left:4px solid #9e1b0b!important;background:#fffdfc!important}

/* Organisatieaanmelding als echte call-to-action */
.organization-application-hero{padding:34px 0;background:#f7f9fc;border-bottom:1px solid #d9e1ea}
.organization-application-hero-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.55fr);gap:34px;align-items:center}
.organization-application-hero h1{font-size:clamp(2.1rem,4vw,3.6rem);color:#22375b;margin:.2rem 0 .7rem}
.organization-application-benefits{border-left:4px solid #9e1b0b;padding:14px 0 14px 18px;display:grid;gap:4px}
.organization-application-benefits strong{font-size:1.05rem;color:#8d1607}
.organization-application-benefits span{font-size:.88rem;color:#66738a}
.authority-confirmation{border-left:4px solid #006fbf}
.important-check{align-items:flex-start}
.important-check strong,.important-check small{display:block}
.important-check small{margin-top:3px;color:#64748b}

/* Standaard nieuwsfoto */
.default-news-image-preview{width:min(560px,100%);aspect-ratio:16/7;overflow:hidden;border:1px solid #d9e1ea;background:#f3f6fa;margin:0 0 16px}
.default-news-image-preview img{width:100%;height:100%;object-fit:cover}

/* Organisaties in twee kolommen op desktop */
.organization-list-elegant{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    border-top:0!important;
}
.organization-list-elegant .organization-row{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
    border:1px solid #e2e7ee!important;
    padding:15px!important;
    min-width:0;
}
.organization-list-elegant .organization-row-villages{
    grid-column:2!important;
    justify-content:flex-start!important;
}
.organization-logo-large{width:68px!important;height:68px!important}
.organization-contact-line{font-size:.82rem!important;gap:8px!important}
.organization-row-main h3{font-size:1.05rem!important}

/* Nieuwsfilters zonder filterknop */
.news-auto-filters{grid-template-columns:1.35fr 1fr 1fr 1.25fr auto!important}
.news-auto-filters .filter-reset{align-self:end;padding-bottom:9px}

/* Juridische pagina's */
.legal-content{max-width:900px}
.legal-document{background:#fff;border:1px solid #d9e1ea;padding:28px}
.legal-document h2{margin-top:0;color:#8d1607}
.legal-document .prose{white-space:normal;line-height:1.75;color:#34445d}
.legal-consent{font-size:.88rem;align-items:flex-start}

/* Extern nieuws publiek */
.village-external-news-section{border-top:1px solid #e0e6ed}
.village-external-news-list,.external-news-list{display:grid;border-top:1px solid #e1e7ee}
.village-external-news-item,.external-news-row{
    display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;
    padding:14px 0;border-bottom:1px solid #e1e7ee;align-items:start;
}
.village-external-news-item h3,.external-news-row h2{margin:3px 0 5px;font-size:1.05rem;line-height:1.28}
.village-external-news-item h3 a,.external-news-row h2 a{color:#22375b}
.village-external-news-item p,.external-news-row p{margin:0;color:#64748b;font-size:.9rem}
.village-external-news-image,.external-news-thumb{display:block;width:112px;height:76px;overflow:hidden;background:#f2f5f8;border:1px solid #e0e6ed}
.village-external-news-image img,.external-news-thumb img{width:100%;height:100%;object-fit:cover}
.external-news-disclaimer{margin-top:14px;color:#758196;font-size:.78rem}
.external-news-public-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:25px}

/* Extern nieuws beheer */
.external-source-config{border-left:3px solid #d9e1ea}
.external-source-config .section-heading{margin-bottom:15px}
.switch-label{display:flex!important;align-items:center;gap:8px}
.mini-checks.horizontal{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.mini-checks.horizontal label{display:flex;gap:6px;align-items:center;font-size:.87rem}
.actions-cell{white-space:normal!important}
.actions-cell form{display:inline-block;margin-left:8px}
.link-button{border:0;background:none;padding:0;color:#006fbf;cursor:pointer;font:inherit}
.danger{color:#a52c22!important}

/* Externe nieuwswidget: altijd even hoge thumbnail */
.embed-thumb-fallback{
    display:grid;place-items:center;background:linear-gradient(135deg,#dbeaf5,#f6f8fa);
    color:#006fbf;font-weight:900;font-size:1rem;text-decoration:none;
}

/* Footer juridische links mogen rustig meekomen */
.legacy-footer-links{align-content:start}

/* Beheer: nieuwsbronnen */
.management-grid .management-tile strong{line-height:1.35}

@media(max-width:1050px){
    .organization-list-elegant{grid-template-columns:1fr}
    .organization-application-hero-inner{grid-template-columns:1fr}
    .external-news-public-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
    .news-auto-filters,.external-news-public-filters{grid-template-columns:1fr!important}
    .organization-list-elegant .organization-row{grid-template-columns:58px minmax(0,1fr)!important}
    .organization-logo-large{width:54px!important;height:54px!important}
    .village-external-news-item,.external-news-row{grid-template-columns:1fr}
    .village-external-news-image,.external-news-thumb{width:100%;height:auto;aspect-ratio:16/7}
}

/* Dorpsnet 1.10 - agenda & contentcontrole */
.event-schedule-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 18px}.event-schedule-choice .choice-card{align-items:flex-start}.event-schedule-choice .choice-card span{display:grid;gap:3px}.event-schedule-choice .choice-card small{color:var(--muted);font-weight:500}.form-separator{border:0;border-top:1px solid var(--line);margin:22px 0}.content-check{border:1px solid var(--line);border-left:5px solid #5f786f;border-radius:10px;background:#fff;padding:16px 18px;margin:0 0 20px}.content-check--orange{border-left-color:#c47715;background:#fffaf2}.content-check--red{border-left-color:#ad2d2d;background:#fff6f6}.content-check--green{border-left-color:#31825e;background:#f6fcf9}.content-check-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.content-check-head strong{font-size:1rem}.content-check-score{font-size:.82rem;font-weight:800;color:var(--muted)}.content-check ul{margin:10px 0 0;padding-left:20px}.content-check p{margin:8px 0 0;color:var(--muted)}.content-check--compact{padding:12px 14px;margin:12px 0}.publication-rules{background:#f6f8f7;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:0 0 20px}.publication-rules summary{cursor:pointer;font-weight:850;color:var(--brand)}.publication-rules-body{padding-top:10px}.publication-rules-body p{margin:0 0 9px;color:var(--muted)}.publication-rules-body p:last-child{margin-bottom:0}.event-range-label{font-weight:750;color:var(--brand)}
@media(max-width:650px){.event-schedule-choice{grid-template-columns:1fr}.content-check-head{align-items:flex-start;flex-direction:column}}
