


:root{
--bg:          #faf9f6;
--panel:       #ffffff;
--ink:         #1f2422;
--ink-muted:   #58615a;
--brand:       #2f6b3f;
--brand-ink:   #214d2d;
--beige:       #f3efe3;
--line:        #e3e7e2;
--shadow:      0 8px 24px rgba(0,0,0,.06);
--radius-xl:   18px;
--radius-lg:   14px;
--radius:      12px;
--s1: .5rem; --s2: .75rem; --s3: 1rem; --s4: 1.5rem; --s5: 2rem; --s6: 3rem;
--maxw: 1100px;
--heading-font: "Lora", Georgia, "Times New Roman", serif;
--section-ink: var(--ink);
--section-link: var(--brand);
--section-link-hover: var(--brand-ink);
--card-bg: var(--panel);
--card-border: var(--line);
--muted: var(--ink-muted);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
margin:0; background:var(--bg); color:var(--ink);
font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial;
-webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; height:auto; display:block; }
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--s3); }
.section{ padding-block: clamp(2.5rem, 5vw, 4rem); }
.small{ font-size:.95rem; }
.muted{ color:var(--muted); }
.nowrap{ white-space:nowrap; }
.visually-hidden{
position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden;
clip:rect(0 0 0 0); clip-path:inset(50%);
}
h1,h2,h3{ letter-spacing:-.01em; line-height:1.25; margin:.6rem 0 .4rem; }
.section h2, h2{
font-family:var(--heading-font); font-weight:700; letter-spacing:-.01em; line-height:1.2; color:var(--brand-ink);
}
a{ color:var(--brand); text-decoration:underline; text-underline-offset:2px; }
a:hover{ color:var(--brand-ink); }
:where(a,button,[role="button"],input,textarea,select):focus-visible{
outline:3px solid #cfead9; outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
.site-header{
position:absolute; top:0; left:0; width:100%; z-index:1000;
background:transparent; transition: background .3s ease, box-shadow .3s ease, color .3s ease;
}
.site-header.scrolled{ position:fixed; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.wrap.nav{ display:flex; align-items:center; justify-content:space-between; min-height:58px; }
.brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit; }
.brand-text{ font-family:var(--heading-font); font-weight:700; letter-spacing:-.01em; color:var(--brand-ink); }
.logo{ width:100px; height:100px; background:url('/assets/images/Logo_site.png') center/contain no-repeat; }
@media (max-width:980px){ .logo{ width:60px; height:60px; } }
.menu {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: .4rem;
}
.menu a {
display: block;
padding: .3rem .45rem;
border-radius: 6px;
font-weight: 600;
font-size: .95rem;
text-decoration: none;
color: var(--brand-ink);
}
.menu a:hover {
background: #e9f3eb;
}
.menu a[aria-current="page"],
.menu a.is-active {
background: #e9f7ee;
border: 1px solid #d0ead8;
}
.burger{
display:none; align-items:center; gap:.5rem; border:1px solid var(--line); background:#fff; border-radius:10px; padding:.5rem .7rem; font-weight:700;
}
@media (max-width:980px){
.burger{ display:inline-flex; }
.menu{
display:none; position:fixed; right:16px; top:60px; flex-direction:column; gap:.2rem;
background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px; box-shadow:var(--shadow); z-index:15000;
}
.menu.is-open{ display:flex; }
}
.hero{ position:relative; height:70vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-img{ width:100%; height:100%; object-fit:cover; }
.hero-overlay{ background:rgba(0,0,0,.35); padding:2rem; text-align:center; border-radius:10px; }
.hero-quote{
font-family:var(--heading-font); font-size:3rem; font-weight:700; color:#fff; margin:0 0 1rem; letter-spacing:-.01em; line-height:1.1;
text-shadow:0 2px 10px rgba(0,0,0,.25);
}
.hero-sub{ font-family:var(--heading-font); font-weight:400; font-size:1.25rem; color:#eef2ee; }
.card{
background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-xl);
padding:var(--s4); box-shadow:var(--shadow); color:inherit; margin-top:var(--s3);
}
.section .card:first-child{ margin-top:0; }
.grid-2{ display:grid; gap:var(--s3); }
@media (min-width:900px){ .grid-2{ grid-template-columns:1.4fr 1fr; } }
.list{ padding-left:1.1rem; margin:.3rem 0; }
.section--light{ background:#ffffff; color:var(--ink); }
.section--beige{ background:var(--beige); color:var(--ink); }
.section--gray  { background:#e6ece6; color:var(--ink); }
.section--about-v2{ background:var(--beige); }
.section--projekt{ background:#ffffff; }
.section--tourismus{ background:#acbeac; }
.section--fauna{ background:#ffffff; }
.section--contact{ background:#ffffff; }
.section--news-dark{
position:relative; color:#fff; overflow:hidden;
}
.section--news-dark::before{
content:""; position:absolute; inset:0;
background:url('/assets/images/leafs.jpg') center/cover no-repeat;
filter:brightness(.7) saturate(.9); z-index:0;
}
.section--news-dark::after{
content:""; position:absolute; inset:0; background:rgba(0,0,0,.55); z-index:1;
}
.section--news-dark .wrap{ position:relative; z-index:2; }
.section :where(p, li, dd, dt, figcaption, small){ color:inherit; }
.section :where(h2,h3){ color:inherit; }
.section--projekt h2{ margin-bottom:.75rem; }
.map-figure img{ width:100%; height:auto; border-radius:12px; }
.map-figure--small{ margin:.8rem 0 1.2rem; }
.map-figure--small img{ width:100%; max-width:450px; border-radius:12px; box-shadow:var(--shadow); }
.projekt-thumbs{ margin-top:2rem; }
.projekt-thumbs h3{ margin-bottom:1rem; }
.thumb-grid{ display:flex; flex-wrap:wrap; gap:1rem; }
.thumb-grid a{
display:block; width:80px; height:80px; border-radius:50%; overflow:hidden;
box-shadow:0 4px 10px rgba(0,0,0,.15); transition:transform .2s ease;
}
.thumb-grid a:hover{ transform:scale(1.05); }
.thumb-grid img{ width:100%; height:100%; object-fit:cover; }
.news-cards{
display:grid; gap:12px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
margin-top:.25rem;
}
.news-card{
display:flex; flex-direction:column; gap:.35rem;
background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px;
text-decoration:none; color:inherit; box-shadow:var(--shadow);
transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.news-card:hover{
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(0,0,0,.08);
border-color: #dbe5df;
}
.news-date{
display:inline-block; font-weight:700; font-size:.9rem; color:var(--brand-ink);
background:#eef6f0; border:1px solid #d6e7dc; border-radius:8px; padding:.15rem .45rem; width:max-content;
}
.news-title{ margin:.1rem 0 .1rem; font-size:1.05rem; line-height:1.35; color:#1f2422; }
.news-src{ font-size:.9rem; color:var(--ink-muted); }
.news-cards--small{ gap:10px; margin-top:.6rem; }
.news-card--sm{ padding:10px 12px; }
.news-card--sm .news-title{ font-size:.98rem; }
.news-more{ margin-top:.8rem; }
.news-more > summary{ cursor:pointer; font-weight:700; color:var(--brand); list-style:none; }
.news-more > summary::marker{ content:""; }
.news-more[open] > summary{ color:var(--brand-ink); }
.contact-two{
display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,3vw,28px); align-items:start;
}
@media (max-width:980px){ .contact-two{ grid-template-columns:1fr; } }
.contact-card h3{ margin-top:0; }
.contact-actions{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.75rem; }
.faq-list{ display:grid; gap:10px; }
.faq-list details{
border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px 14px;
transition: box-shadow .15s ease, border-color .15s ease; color:#111;
}
.faq-list summary{ cursor:pointer; font-weight:600; list-style:none; }
.faq-list summary::-webkit-details-marker{ display:none; }
.faq-list details[open]{ box-shadow:var(--shadow); }
.faq-list p{ margin:.5rem 0 0; }
.btn{
display:inline-block; padding:.65rem 1.2rem; border-radius:10px;
font-size:.95rem; font-weight:700; text-decoration:none; text-align:center;
cursor:pointer; transition:.2s ease;
background:var(--brand); border:2px solid var(--brand); color:#fff;
}
.btn:hover, .btn:focus{ background:#fff; color:var(--brand); border-color:var(--brand); }
.btn:active{ background:var(--brand-ink); border-color:var(--brand-ink); color:#fff; }
.btn--green{ background:var(--brand); border-color:var(--brand); color:#fff; }
.btn--green:hover{ background:#fff; color:var(--brand); }
.btn--ghost{ background:transparent; border:1px solid currentColor; color:var(--ink); }
a.link--green{ color:var(--brand); text-decoration:none; }
a.link--green:hover{ text-decoration:underline; }
.quote{
--accent: var(--brand); --bg:#eef6f0; --text:#0c120e;
margin:1.25rem 0; padding:1rem 1.25rem; border-left:4px solid var(--accent);
background:var(--bg); color:var(--text); border-radius:8px;
}
.quote blockquote{ margin:0 0 .5rem 0; font-size:1.02rem; line-height:1.55; font-weight:600; }
.quote figcaption{ font-size:.9rem; opacity:.8; }
@media (min-width:768px){ .quote blockquote{ font-size:1.1rem; } }
.opinion-block{
background:#ffffff; border-left:5px solid var(--brand); padding:1.5rem; margin-top:1.5rem; border-radius:8px; color:#2b2b2b; box-shadow:var(--shadow);
}
.opinion-block h3{ margin-top:0; font-weight:700; font-family:var(--heading-font); color:var(--brand-ink); }
.abo-quote{
margin:.5rem 0; padding:.75rem 1rem; border-left:4px solid var(--brand);
background:#eef6f0; border-radius:8px;
}
.gallery{
display:grid; gap:12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.gallery__item{
background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); overflow:hidden; color:inherit;
}
.gallery__item img{ width:100%; height:220px; object-fit:cover; }
.evidence-grid{
display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:14px;
}
.evidence-grid figure, .evi-item{
background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 2px 6px rgba(0,0,0,.1); overflow:hidden; color:#111;
}
.evi-img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.evi-cap{ padding:.5rem .75rem; font-size:.9rem; color:#333; }
.impact-grid{
display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:14px;
}
.impact-item{ padding:0; }
.impact-item .impact-img{
width:100%; aspect-ratio: 4/3; object-fit: cover; display:block;
border-top-left-radius: inherit; border-top-right-radius: inherit;
}
.impact-item figcaption{ padding:.6rem .9rem; color:#333; }
.site-footer{
padding-block:var(--s5); border-top:1px solid var(--line); background:#bdbcbb; color:#111;
}
.site-footer a{ text-decoration:none; color:var(--brand); }
.site-footer a:hover{ color:var(--brand-ink); }
.timeline{ list-style:none; padding:0; margin:.5rem 0 0; }
.timeline li{
display:grid; grid-template-columns:120px 1fr; gap:.75rem; padding:.4rem 0; border-bottom:1px dashed rgba(0,0,0,.1);
}
.timeline li:last-child{ border-bottom:0; }
.timeline time{ font-weight:700; color:#0f172a; }
.badge{
display:inline-block; font-size:.75rem; line-height:1;
padding:.18rem .42rem; border-radius:.4rem; margin-left:.35rem;
background:#e8efe6; color:#2a3e32; border:1px solid #d7e3d4;
}
.badge--strict{  background:#f7e7e7; color:#6c1d1d; border-color:#efd0d0; }
.badge--habitat{ background:#e6eef7; color:#1e3b66; border-color:#cfe0f3; }
.badge--prot{    background:#e7f3e7; color:#21472a; border-color:#d5ead7; }
#fauna.section--fauna{
position:relative; color:#111; overflow:hidden;
background:none;
}
#fauna.section--fauna::before{
content:""; position:absolute; inset:0;
background:url('/assets/images/fauna-bg.png') center/cover no-repeat fixed;
z-index:0; filter:saturate(.95);
}
#fauna.section--fauna::after{
content:""; position:absolute; inset:0; background:rgba(0,0,0,.35); z-index:1;
}
#fauna.section--fauna .wrap{ position:relative; z-index:2; }
.about-v2.about-v2--row{
display:grid; grid-template-columns:auto 1fr; align-items:start; gap:1.5rem;
}
@media (max-width:900px){ .about-v2.about-v2--row{ grid-template-columns:1fr; gap:1rem; } }
.section .about-photo-inline{
width:220px; height:auto; border-radius:12px; object-fit:cover;
border:2px solid #e6e8eb; box-shadow:var(--shadow);
}
#ueber-mich .about-photo-inline{
width:160px; height:160px; border-radius:50%; object-fit:cover;
border:2px solid #e6e8eb; box-shadow:var(--shadow);
}
@media (max-width:860px){
:root{ --header-h-mobile:72px; }
.site-header{ position:sticky; top:0; background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.08); z-index:100; }
.hero{ padding-top:var(--header-h-mobile); }
section :where(p, li){ font-size:1.02rem; line-height:1.65; }
section h2{ font-weight:700; line-height:1.25; margin-bottom:.8rem; }
section h3{ font-weight:700; line-height:1.3; margin:.6rem 0 .5rem; }
.grid-2{ grid-template-columns:1fr; }
.contact-two{ grid-template-columns:1fr; }
}
@media print{
:root{ --bg:#fff; --ink:#000; --line:#ddd; }
body{ background:#fff; color:#000; }
.site-header, .site-footer, .burger, .menu{ display:none; }
a{ text-decoration:none; color:#000; }
.card{ box-shadow:none; border-color:#ddd; }
}
.section-law {
padding: clamp(3rem, 6vw, 5rem) 0 !important;
}
.section-law .wrap {
max-width: 1000px;
margin: 0 auto;
}
#nachricht {
position: relative;
overflow: hidden;
}
#nachricht::before {
content: "";
position: absolute;
inset: 0;
background: url('/assets/images/moss.jpg') center/cover no-repeat;
z-index: 0;
filter: brightness(0.7) saturate(0.95);
}
#nachricht::after {
content: "";
position: absolute;
inset: 0;
background: rgba(0,0,0,0.45);
z-index: 1;
}
#nachricht .wrap {
position: relative;
z-index: 2;
}
#nachricht > .wrap > h2 {
color: #fff;
}
#nachricht .card {
background: #fff;
border: 1px solid var(--line);
color: var(--ink);
}
.quote {
margin: .5rem 0 1.25rem;
padding: .75rem 1rem;
border-left: 4px solid var(--brand);
background: #eef6f0;
border-radius: 8px;
font-size: 1.02rem;
line-height: 1.55;
color: #1f2422;
box-shadow: var(--shadow);
}
.quote blockquote {
margin: 0 0 .5rem 0;
font-weight: 600;
}
.quote figcaption {
font-size: .9rem;
opacity: .8;
}
.section--contact .contact-two{
display:grid;
grid-template-columns:1fr;
gap:1rem;
align-items:stretch;
}
@media (min-width:860px){
.section--contact .contact-two{
grid-template-columns:1fr 1fr;
}
}
.section--contact .contact-card{
display:flex;
flex-direction:column;
}
.section--contact .contact-card .contact-actions{
margin-top:auto;
}
.section--contact .faq-list{
display:grid;
gap:6px;
}
.section--contact .faq-list details{
border:1px solid #e0e4df;
border-radius:8px;
background:#fafaf9;
padding:8px 10px;
font-size:.95rem;
}
.section--contact .faq-list summary{
font-weight:600;
cursor:pointer;
list-style:none;
}
.section--contact .faq-list summary::-webkit-details-marker{ display:none; }
.section--contact .faq-list p{
margin:.35rem 0 0;
font-size:.9rem;
line-height:1.45;
}
.subsection#gutachten {
margin-top: 2rem;
padding: 1rem 1.5rem;
background: #fff8f8;
border-left: 4px solid #b91c1c;
border-radius: 8px;
}
.subsection#gutachten h3 {
color: #b91c1c;
margin-top: 0;
}
.photo-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 1rem;
margin-top: 1rem;
}
.photo-grid figure {
margin: 0;
text-align: center;
}
.photo-grid img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
transition: transform 0.2s ease;
}
.photo-grid img:hover {
transform: scale(1.05);
}
.photo-grid figcaption {
margin-top: 0.4rem;
font-size: 0.9rem;
color: #444;
}
.section--energiewende {
background: #f9fafb;
border-top: 3px solid #9ca3af;
}
.section--energiewende h2 {
color: #1f2937;
}
.law-card.highlighting {
border-top: 5px solid #b91c1c;
background-color: #fffafa;
transition: transform 0.3s ease;
}
.law-card.highlighting:hover {
transform: translateY(-3px);
box-shadow: 0 12px 30px rgba(185, 28, 28, 0.1);
}
.badge-warning {
background-color: #b91c1c;
color: #fff;
border: none;
font-weight: 700;
letter-spacing: 0.05em;
padding: 0.3rem 0.6rem;
margin-bottom: 1rem;
}
.explainer-box {
background: #ffffff;
border: 1px solid var(--line);
border-radius: var(--radius);
padding: 1.25rem;
margin-top: 1.5rem;
}
.explainer-box h4 {
color: #b91c1c;
font-size: 0.9rem;
margin-bottom: 0.75rem;
text-transform: uppercase;
}
.explainer-box ul {
list-style: none;
padding: 0;
margin: 0;
}
.explainer-box li {
font-size: 0.9rem;
padding-left: 1.5rem;
position: relative;
margin-bottom: 0.6rem;
color: var(--ink);
}
.explainer-box li::before {
content: "✕";
position: absolute;
left: 0;
color: #b91c1c;
font-weight: bold;
}
.conflict-box {
padding: 1.5rem;
background: #fff;
border-radius: var(--radius);
box-shadow: inset 0 0 0 1px rgba(185, 28, 28, 0.1);
}
.highlight-text {
display: block;
margin-top: 1rem;
padding: 1rem;
background: #fdf2f2;
border-radius: 6px;
color: #b91c1c;
font-weight: 600;
}
.highlight-red {
border-left-color: #b91c1c !important;
background-color: #fef2f2 !important;
}
.highlight-grey {
border-left-color: #666 !important;
background-color: #fef2f2 !important;
}
.law-card.highlight-grey {
background-color: #fdf2f2;
border: 1px solid #999;
border-left: 5px solid #666;
}
.info-text {
padding-left: 1rem;
font-style: italic;
border-left: 2px solid var(--line);
margin-top: 0.5rem;
color: var(--ink-muted);
}
.law-card {
padding: 2rem !important;
overflow: hidden;
position: relative;
}
.law-card.highlight-red {
background-color: #fdf2f2;
border: 1px solid #f1aeb5;
border-left: 5px solid #b91c1c;
}
.badge-warning {
background-color: #b91c1c !important;
color: #ffffff !important;
font-weight: 700;
padding: 0.4rem 0.8rem;
display: inline-block;
margin-bottom: 1rem;
border-radius: 4px;
text-transform: uppercase;
font-size: 0.8rem;
}
.law-card.highlight-red h3 {
color: #842029;
margin-top: 0.5rem;
font-weight: 800;
}
.law-card p {
margin-bottom: 1rem;
}
@font-face {
font-family: 'Inter';
src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Inter';
src: url('../fonts/inter-v20-latin-700.woff2') format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Lora';
src: url('../fonts/lora-v37-latin-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Lora';
src: url('../fonts/lora-v37-latin-700.woff2') format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
}
body {
font-family: 'Lora', serif;
}
h1, h2, h3, h4, .nav-link, .btn {
font-family: 'Inter', sans-serif;
}
html, body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
.map-figure img {
width: 100%;
max-width: 600px;
height: auto;
border-radius: 12px;
margin: 1.5rem 0;
box-shadow: var(--shadow);
border: 1px solid var(--line);
}
@media (min-width: 900px) {
.projekt-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: start;
}
}
.hero {
position: relative;
height: 85vh;
display: flex;
align-items: center;
justify-content: center;
background-size: cover;
background-position: center;
color: #ffffff;
}
.hero-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0.5) 0%,
rgba(0, 0, 0, 0.2) 50%,
rgba(0, 0, 0, 0.6) 100%
);
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.hero-container {
text-align: center;
padding: 0 20px;
max-width: 1000px;
z-index: 5;
}
.hero-quote {
font-size: clamp(2.5rem, 8vw, 5rem);
font-weight: 800;
margin-bottom: 1rem;
text-shadow:
0 2px 4px rgba(0,0,0,0.8),
0 4px 20px rgba(0,0,0,0.6);
line-height: 1.1;
}
.hero-sub {
font-size: clamp(1.1rem, 3vw, 1.8rem);
font-weight: 500;
margin-bottom: 2.5rem;
text-shadow: 0 2px 10px rgba(0,0,0,0.8);
max-width: 750px;
margin-left: auto;
margin-right: auto;
}
.hero-actions .btn {
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
.section--law {
background-color: #fcfcf9;
}
.card--audit {
background: #ffffff;
border: 1px solid #e2e8f0;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
position: relative;
overflow: hidden;
padding: 0;
}
.card-accent-bar {
height: 4px;
background: var(--brand, #1b5e20);
width: 100%;
}
.card-body {
padding: 2.5rem;
}
.status-label {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #b91c1c;
font-weight: 700;
margin-bottom: 0.5rem;
display: block;
}
.law-quote-clean {
border-left: 3px solid #e2e8f0;
padding-left: 1.5rem;
margin: 1.5rem 0;
font-style: italic;
color: #4a5568;
background: #f8fafc;
padding: 1.5rem;
}
.card--subtle {
background: #ffffff;
border: 1px solid #e2e8f0;
padding: 1.5rem;
border-radius: 8px;
}
.card--subtle h4 {
color: var(--brand, #1b5e20);
margin-bottom: 0.5rem;
font-size: 1.1rem;
}
.law-footer-note {
text-align: center;
margin-top: 3rem;
padding-top: 2rem;
border-top: 1px solid #e2e8f0;
font-weight: 600;
color: #64748b;
}
/* Zorg voor gelijke hoogte in de Rechtslage grid */
.law-grid-2, .grid-2 {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
}

.card--subtle {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: flex-start !important;
}

.card--subtle h4 {
    margin-top: 0 !important; /* Dwingt titels naar de bovenkant */
    min-height: 3em; /* Zorgt dat titels van 1 of 2 regels evenveel ruimte innemen */
}
/* Gekleurde bovenranden voor kaarten */
.card--news-latest { border-top: 5px solid #b91c1c !important; } /* Rood voor laatste bericht */
.card--news-green { border-top: 5px solid #2f6b3f !important; }  /* Groen */
.card--news-yellow { border-top: 5px solid #facc15 !important; } /* Geel/Goud */

/* Zorg dat alle kaarten dezelfde radius en schaduw hebben */
.card {
    border-radius: var(--radius-xl);
    overflow: hidden; /* Zorgt dat de kleur de hoek netjes volgt */
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: var(--shadow);
}
/* --- UNIFORM DESIGN SYSTEM --- */

/* 1. De Basis Card (Radius & Schaduw) */
.card, 
.news-card, 
.action-card, 
.contact-card, 
.standpunkt-card,
.opinion-block,
.comparison-box {
    border-radius: 18px !important; /* Overal dezelfde radius */
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* 2. De Gekleurde Borders (Consistentie) */
.highlight-red, .card--danger { 
    border-top: 6px solid #b91c1c !important; 
    border-left: none !important; 
}
.highlight-grey, .card--danger { 
    border-top: 6px solid #666 !important; 
    border-left: none !important; 
}
.highlight-green { 
    border-top: 6px solid #10b981 !important; 
}
.highlight-yellow, .card--warning { 
    border-top: 6px solid #facc15 !important; 
}

/* Speciale Card: De Politieke Alert (Blijft afwijkend voor aandacht) */
.card--political-alert {
    border-left: 6px solid #b91c1c !important;
    border-top: none !important;
    background: #fdf2f2 !important;
}

/* 3. Quotes Uniform maken */
blockquote, .simple-quote, .statement-quote, .law-quote-clean {
    border-left: 4px solid #10b981;
    background: #f8fafc;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    border-radius: 0 12px 12px 0;
    font-family: 'Lora', serif;
}

/* 4. Lijsten Uniform maken */
.list--check li, .fauna-list li, .list--bad li {
    list-style: none;
    padding-left: 1.75rem;
    position: relative;
    margin-bottom: 0.75rem;
}

.list--check li::before { content: "✓"; position: absolute; left: 0; color: #10b981; font-weight: bold; }
.list--bad li::before { content: "⚠️"; position: absolute; left: 0; }
.fauna-list li::before { content: "•"; position: absolute; left: 0; color: #10b981; font-weight: bold; }
/* Editorial Style Base */
.section--editorial {
    background-color: #ffffff;
    padding: 120px 0;
    color: #1a1a1a;
    line-height: 1.6;
}

.editorial-header {
    max-width: 800px;
    margin-bottom: 80px;
}

.editorial-header h2 {
    font-size: 3.5rem; /* Grote, krachtige kop */
    letter-spacing: -2px;
    margin-bottom: 20px;
    color: #1b5e20;
}

.editorial-header .accent-line {
    width: 100px;
    height: 4px;
    background: #10b981; /* De groene kleur uit je screenshot */
    margin-bottom: 30px;
}

/* De Dossier Items */
.dossier-row {
    display: grid;
    grid-template-columns: 100px 1fr 300px; /* Nummer - Tekst - Image/Document */
    gap: 40px;
    padding: 60px 0;
    border-top: 1px solid #eaeaea;
}

.dossier-number {
    font-size: 1.2rem;
    font-weight: 700;
    color: #10b981;
}

.dossier-content h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.dossier-evidence img {
    width: 100%;
    filter: grayscale(100%); /* Standaard rustig */
    transition: 0.4s ease;
    border: 1px solid #eee;
}

.dossier-evidence img:hover {
    filter: grayscale(0%);
}

@media (max-width: 900px) {
    .dossier-row { grid-template-columns: 1fr; gap: 20px; }
    .editorial-header h2 { font-size: 2.5rem; }
}
/* Editorial Framework */
.section--editorial {
  padding: 100px 0;
  background: #fff;
}

.editorial-row {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 80px;
  align-items: center;
  margin-bottom: 10px;
}

.editorial-title {
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: -1.5px;
  color: #1b5e20;
  margin-bottom: 30px;
}

.editorial-lead {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #333;
  margin-bottom: 25px;
}

.img-editorial-portrait {
  width: 100%;
  filter: sepia(20%) contrast(1.1); /* Geeft die 'magazine' look */
  border-radius: 0;
}

/* Breakout Box (Eilmeldung) */
.editorial-breakout {
  background: #f8f9fa;
  padding: 60px;
  border-left: 6px solid #b91c1c;
}

.badge-urgent {
  background: #b91c1c;
  color: #fff;
  padding: 4px 12px;
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
}

/* Quote */
.editorial-quote {
  border: none;
  text-align: center;
  margin: 100px auto;
  max-width: 800px;
}

.editorial-quote p {
  font-size: 2.2rem;
  font-family: serif;
  font-style: italic;
  color: #1b5e20;
  line-height: 1.2;
}

.editorial-quote cite {
  display: block;
  margin-top: 20px;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.9rem;
  color: #999;
}

/* Gallery */
.editorial-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.editorial-gallery img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: opacity 0.3s;
}

.editorial-gallery img:hover {
  opacity: 0.8;
}

@media (max-width: 900px) {
  .editorial-row { grid-template-columns: 1fr; gap: 40px; }
  .editorial-gallery { grid-template-columns: 1fr 1fr; }
}
/* EDITORIAL SYSTEM TOKENS */
:root {
    --e-green: #1b5e20;
    --e-accent: #10b981;
    --e-red: #b91c1c;
    --e-dark: #1a1a1a;
    --e-beige: #f9f7f2;
    --e-white: #ffffff;
}

/* De algemene Editorial Sectie (gebruiken we overal) */
.section-editorial {
    padding: 100px 0;
    position: relative;
}

/* De Blok Header (Consistentie) */
.editorial-header-block {
    display: flex;
    align-items: stretch;
    background: var(--e-green);
    margin-bottom: 60px;
    max-width: fit-content;
}
.header-accent-bar { width: 10px; background: var(--e-accent); }
.header-body { padding: 25px 40px; color: #fff; }
.header-body span { display: block; text-transform: uppercase; font-size: 0.7rem; letter-spacing: 2px; opacity: 0.8; }
.header-body h2 { font-size: 2rem; margin: 0; font-weight: 800; }