/* =========================================================
   Walter Peters — "Erfolgreich im Agrarvertrieb" — Lead-Butler-Website
   CI (Agrar-Grün, aus Marke + Buchcover):
   Tief-Waldgrün #20351b · Forst-Grün #356b43 · Blatt-Grün #8cc63f · Weiß
   ========================================================= */

/* ---------- Fonts (lokal, DSGVO) ---------- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/archivo-700.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/archivo-800.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2');}

/* ---------- Variablen ---------- */
:root{
  --color-accent:#8cc63f;        /* Blatt-/Feldgrün, pop auf dunkel */
  --color-accent-dark:#5a8a2c;   /* dunkleres Blattgrün, Akzent auf hell */
  --color-primary:#356b43;       /* Forst-/Markengrün, Buttons auf hell */
  --color-primary-hover:#2c5a38;
  --color-dark:#20351b;          /* tiefes Waldgrün, Hero + dunkle Sektionen */
  --color-bg:#ffffff;
  --color-soft:#f2f6ec;          /* sehr helles Grün-Grau */
  --color-text:#232821;
  --color-muted:#5c6356;
  --max-width:1180px;
  --read-width:720px;
  --font-head:'Archivo',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:var(--font-body);color:var(--color-text);
  background:var(--color-bg);line-height:1.6;font-size:17px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--font-head);font-weight:800;line-height:1.08;letter-spacing:-.01em;margin:0 0 .5em;}
p{margin:0 0 1em;}
a{color:inherit;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;font-family:var(--font-head);font-weight:800;
  text-transform:uppercase;letter-spacing:.02em;font-size:16px;
  padding:16px 30px;border-radius:6px;text-decoration:none;cursor:pointer;
  transition:transform .15s ease,background .15s ease;border:0;
}
.btn-primary{background:var(--color-primary);color:#fff;}
.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45);}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-on-dark{background:var(--color-accent);color:#16240f;}
.btn-on-dark:hover{background:#9ed455;transform:translateY(-2px);}
.btn-tel{background:transparent;color:#fff;border:2px solid var(--color-accent);}
.btn-tel:hover{background:var(--color-accent);color:#16240f;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:1100;background:rgba(255,255,255,.95);
  backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #e7ece0;
}
.header-inner{max-width:var(--max-width);margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;text-decoration:none;}
.brand img{height:40px;width:auto;}
.desktop-nav{display:none;align-items:center;gap:26px;}
.desktop-nav a{text-decoration:none;color:var(--color-text);font-weight:600;font-size:15px;}
.desktop-nav a:hover{color:var(--color-accent-dark);}
.header-cta{display:none;}
@media(min-width:880px){
  .desktop-nav{display:flex;}
  .header-cta{display:inline-block;}
}

/* ---------- Hero ---------- */
.hero{background:var(--color-dark);color:#fff;padding:72px 0 80px;position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;position:relative;z-index:1;}
.hero-eyebrow{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--color-accent);margin-bottom:18px;}
.hero h1{font-size:clamp(34px,7vw,58px);color:#fff;}
.hero h1 .hl{color:var(--color-accent);}
.hero-sub{font-size:clamp(17px,2.4vw,20px);color:rgba(255,255,255,.84);max-width:40ch;margin:18px 0 28px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.hero-meta{margin-top:26px;font-size:14px;color:rgba(255,255,255,.62);}
.hero-cover{justify-self:center;}
@media(min-width:880px){
  .hero-grid{grid-template-columns:1.12fr .88fr;gap:56px;}
}

/* ---------- Sektionen ---------- */
section{padding:72px 0;}
.section-soft{background:var(--color-soft);}
.section-dark{background:var(--color-dark);color:#fff;}
.section-dark h2{color:#fff;}
.eyebrow{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--color-accent-dark);margin-bottom:14px;}
.section-dark .eyebrow{color:var(--color-accent);}
h2.section-title{font-size:clamp(28px,4.4vw,42px);max-width:20ch;}
.lead{font-size:19px;color:var(--color-muted);max-width:62ch;}
.section-dark .lead{color:rgba(255,255,255,.82);}

/* Pain-Cards */
.cards{display:grid;grid-template-columns:1fr;gap:22px;margin-top:38px;}
@media(min-width:760px){.cards{grid-template-columns:repeat(3,1fr);}}
.card{background:#fff;border:1px solid #e3e8da;border-radius:10px;padding:28px;}
.section-soft .card{background:#fff;}
.card h3{font-size:20px;}
.card p{margin:0;color:var(--color-muted);font-size:16px;}
.card .ic{width:44px;height:44px;border-radius:9px;background:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:22px;}

/* Lösung-Liste */
.checklist{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:18px;}
.checklist li{display:flex;gap:14px;align-items:flex-start;font-size:17px;}
.checklist li::before{content:"";flex:0 0 12px;width:12px;height:12px;margin-top:8px;border-radius:3px;background:var(--color-accent);}

/* Methoden-Kacheln (VKT/IWN/KLV/ROI/PSV) */
.method-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:38px;}
@media(min-width:620px){.method-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.method-grid{grid-template-columns:repeat(3,1fr);}}
.method{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:24px;}
.method .abbr{font-family:var(--font-head);font-weight:800;font-size:15px;letter-spacing:.06em;color:var(--color-accent);background:rgba(140,198,63,.14);display:inline-block;padding:4px 10px;border-radius:6px;margin-bottom:14px;}
.method h3{font-size:18px;color:#fff;margin:0 0 8px;}
.method p{margin:0;font-size:15px;color:rgba(255,255,255,.74);}

/* Beweis / Stats */
.proof-quote{max-width:62ch;font-family:var(--font-head);font-weight:700;font-size:clamp(20px,3vw,28px);line-height:1.3;}
.proof-quote cite{display:block;font-family:var(--font-body);font-weight:600;font-size:15px;color:rgba(255,255,255,.65);font-style:normal;margin-top:18px;}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:48px;}
@media(min-width:760px){.stats{grid-template-columns:repeat(4,1fr);}}
.stat .num{font-family:var(--font-head);font-weight:800;font-size:clamp(30px,4.6vw,44px);color:var(--color-accent);line-height:1;}
.stat .lbl{font-size:14px;color:rgba(255,255,255,.78);margin-top:10px;}
.stat .src{font-size:11px;color:rgba(255,255,255,.45);margin-top:6px;}

/* Autoren-/Über-Band */
.author-band{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
@media(min-width:820px){.author-band{grid-template-columns:1fr 1.1fr;gap:48px;}}
.author-photo img{width:100%;border-radius:14px;box-shadow:0 26px 54px rgba(0,0,0,.22);}
.author-cred{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px;}
.author-cred li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--color-text);}
.author-cred li::before{content:"✓";color:var(--color-accent-dark);font-weight:800;flex:0 0 auto;}

/* Logo-Strip (Referenzen) */
.logo-strip{display:flex;flex-wrap:wrap;gap:30px 46px;align-items:center;justify-content:center;margin-top:36px;}
.logo-strip img{height:42px;width:auto;opacity:.78;filter:grayscale(100%);transition:opacity .2s ease,filter .2s ease;}
.logo-strip img:hover{opacity:1;filter:grayscale(0);}
.logo-caption{text-align:center;margin-top:8px;font-size:14px;color:var(--color-muted);}

/* Angebot */
.offer-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
@media(min-width:880px){.offer-grid{grid-template-columns:.82fr 1.18fr;}}
.offer ul{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:12px;}
.offer li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.88);}
.offer li::before{content:"›";color:var(--color-accent);font-weight:800;font-family:var(--font-head);}
.isbn{font-size:14px;color:rgba(255,255,255,.58);margin-top:18px;}

/* FAQ */
.faq{max-width:var(--read-width);margin:38px auto 0;}
.faq details{border-bottom:1px solid #e1e6d9;padding:8px 0;}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-head);font-weight:700;font-size:19px;padding:16px 40px 16px 0;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:26px;color:var(--color-accent-dark);transition:transform .2s ease;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{color:var(--color-muted);margin:0 0 16px;}

/* Finaler CTA */
.final-cta{text-align:center;}
.final-cta h2{font-size:clamp(28px,5vw,46px);max-width:22ch;margin:0 auto .4em;}
.final-cta p{color:rgba(255,255,255,.82);max-width:54ch;margin:0 auto 30px;}
.final-tel{margin-top:22px;font-size:15px;color:rgba(255,255,255,.7);}
.final-tel a{color:var(--color-accent);font-weight:700;text-decoration:none;}

/* ---------- 3D-Buch mit Akzent-Glow ---------- */
.cover3d{position:relative;display:inline-block;perspective:1600px;}
.cover3d .glow{
  position:absolute;inset:-22% -16%;z-index:0;pointer-events:none;
  background:radial-gradient(closest-side,rgba(140,198,63,.5),rgba(140,198,63,0) 70%);
  filter:blur(34px);
}
.cover3d figure{
  position:relative;z-index:1;margin:0;transform-style:preserve-3d;
  transform:rotateY(-23deg);
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.cover3d:hover figure{transform:rotateY(-7deg);}
.cover3d figure img{display:block;border-radius:2px 5px 5px 2px;box-shadow:6px 18px 44px rgba(0,0,0,.55);}
.cover3d figure::before{
  content:"";position:absolute;top:2px;bottom:2px;right:0;width:24px;
  background:repeating-linear-gradient(90deg,#e7e7e1 0,#ffffff 1px,#d8d8d0 3px);
  transform:translateX(24px) rotateY(78deg);transform-origin:left center;
  border-radius:0 3px 3px 0;box-shadow:2px 0 6px rgba(0,0,0,.2);
}
.cover3d figure::after{
  content:"";position:absolute;top:0;bottom:0;left:0;width:16%;z-index:2;
  background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,0));
  border-radius:2px 0 0 2px;pointer-events:none;
}
@media(max-width:880px){.cover3d figure{transform:rotateY(-15deg);}}
.hero-cover .cover3d figure img{width:min(320px,74vw);}
@media(min-width:880px){.hero-cover .cover3d figure img{width:340px;}}
.offer-cover .cover3d figure img{width:min(280px,64vw);margin:0 auto;}

/* ---------- Generische Seiten (Über, Presse, Magazin) ---------- */
.page-hero{background:var(--color-dark);color:#fff;padding:64px 0 56px;}
.page-hero h1{color:#fff;font-size:clamp(30px,5vw,46px);}
.page-hero p{color:rgba(255,255,255,.8);max-width:60ch;}
.prose{max-width:var(--read-width);margin:0 auto;}
.prose p{font-size:18px;}
.prose h2{font-size:28px;margin-top:40px;}

/* Über: Portrait + Timeline */
.about-top{display:grid;grid-template-columns:1fr;gap:34px;align-items:start;margin-bottom:8px;}
@media(min-width:780px){.about-top{grid-template-columns:340px 1fr;gap:48px;align-items:center;}}
.portrait img{width:100%;border-radius:16px;box-shadow:0 26px 54px rgba(0,0,0,.2);}
.portrait .credit{font-size:12px;color:var(--color-muted);margin:10px 0 0;text-align:center;}
.about-card{background:var(--color-soft);border-radius:12px;padding:26px;margin-top:8px;}
.about-card h3{font-size:18px;margin-bottom:14px;}
.about-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:15px;color:var(--color-muted);}
.about-card li::before{content:"›";color:var(--color-accent-dark);font-weight:800;margin-right:8px;}
.timeline{margin:20px 0 0;border-left:2px solid #e1e6d9;padding:0 0 0 26px;display:grid;gap:24px;list-style:none;}
.timeline li{position:relative;}
.timeline li::before{content:"";position:absolute;left:-33px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:2px solid #fff;box-shadow:0 0 0 2px #e1e6d9;}
.timeline .yr{display:block;font-family:var(--font-head);font-weight:800;font-size:14px;color:var(--color-accent-dark);letter-spacing:.04em;margin-bottom:2px;}
.timeline .ev{font-size:16px;color:var(--color-text);}

/* Presse */
.press-block{display:grid;grid-template-columns:1fr;gap:28px;}
@media(min-width:820px){.press-block{grid-template-columns:1fr 1fr;}}
.press-list{list-style:none;padding:0;margin:0;display:grid;gap:14px;}
.press-list a{display:block;background:var(--color-soft);border-radius:8px;padding:18px 20px;text-decoration:none;font-weight:600;}
.press-list a:hover{background:#e9efdd;}
.press-list span{display:block;font-weight:400;font-size:14px;color:var(--color-muted);margin-top:4px;}
.asset-box,.contact-box{background:var(--color-soft);border-radius:12px;padding:26px;}
.asset-box h3,.contact-box h3{margin-top:0;}
.download-btn{display:inline-block;margin-top:8px;font-weight:600;color:var(--color-accent-dark);text-decoration:none;}
.download-btn:hover{text-decoration:underline;}
.press-images{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px;}
@media(min-width:720px){.press-images{grid-template-columns:repeat(3,1fr);}}
.press-img{background:#fff;border:1px solid #e3e8da;border-radius:12px;padding:16px;text-align:center;display:flex;flex-direction:column;}
.press-img img{width:100%;margin:0 auto 12px;border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.14);}
.press-img .nm{font-size:14px;font-weight:600;margin:0 0 4px;}
.press-img .meta{font-size:12px;color:var(--color-muted);margin:0 0 12px;}
.press-img .dl{margin-top:auto;font-size:13px;font-weight:700;color:var(--color-accent-dark);text-decoration:none;}

/* PM-Fließtext */
.prose .pm-meta{font-size:14px;color:var(--color-muted);margin-bottom:24px;}
.prose blockquote{margin:28px 0;padding:18px 24px;border-left:3px solid var(--color-accent);background:var(--color-soft);border-radius:0 8px 8px 0;font-size:18px;}
.prose .boiler{margin-top:40px;padding-top:24px;border-top:1px solid #e1e6d9;font-size:15px;color:var(--color-muted);}
.prose .back{display:inline-block;margin-top:28px;font-weight:600;color:var(--color-accent-dark);text-decoration:none;}

/* Magazin */
.mag-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:8px;}
@media(min-width:760px){.mag-grid{grid-template-columns:repeat(2,1fr);}}
.mag-tile{position:relative;display:flex;flex-direction:column;background:var(--color-dark);color:#fff;border-radius:16px;padding:30px;min-height:200px;overflow:hidden;}
.mag-tile .no{position:absolute;top:2px;right:18px;font-family:var(--font-head);font-weight:800;font-size:120px;line-height:1;color:rgba(140,198,63,.14);pointer-events:none;}
.mag-tile .kicker{position:relative;z-index:1;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--color-accent);margin-bottom:12px;}
.mag-tile h3{position:relative;z-index:1;color:#fff;font-size:21px;margin:0;line-height:1.18;}
.mag-tile .kw{position:relative;z-index:1;font-size:13px;color:rgba(255,255,255,.6);margin-top:14px;}
.mag-empty{text-align:center;color:var(--color-muted);background:var(--color-soft);border-radius:12px;padding:40px 24px;margin-top:24px;}

/* ---------- Hamburger (Pflicht-Snippet) ---------- */
.hamburger{z-index:1100;position:relative;background:transparent;border:0;width:44px;height:44px;cursor:pointer;padding:0;}
.menu-overlay{z-index:1000;}
.mobile-menu{z-index:1050;}
.hamburger span{display:block;width:24px;height:2px;background:var(--color-text,#1a1a1a);margin:6px auto;transition:transform .3s ease,opacity .3s ease;border-radius:2px;}
.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}
.menu-overlay.active{opacity:1;visibility:visible;}
.mobile-menu{position:fixed;top:0;right:0;width:min(80vw,360px);height:100vh;background:var(--color-bg,#fff);transform:translateX(100%);transition:transform .3s ease;padding:80px 32px 32px;}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu ul{list-style:none;padding:0;margin:0;}
.mobile-menu li{margin-bottom:16px;}
.mobile-menu a{font-size:20px;text-decoration:none;color:var(--color-text);font-family:var(--font-head);font-weight:700;}
@media(min-width:880px){.hamburger,.mobile-menu,.menu-overlay{display:none;}}

/* ---------- Footer (Pflicht-Snippet) ---------- */
.site-footer{background:#16240f;color:rgba(255,255,255,.85);padding:48px 24px 32px;margin-top:0;}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;font-size:14px;}
.footer-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:24px;flex-wrap:wrap;}
.footer-nav a,.footer-service a{color:inherit;text-decoration:none;}
.footer-nav a:hover,.footer-service a:hover{color:var(--color-accent);}
.copyright{margin:0;}
.footer-social{display:flex;gap:16px;align-items:center;}
.footer-social a{color:rgba(255,255,255,.7);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:color .2s ease,background .2s ease;}
.footer-social a:hover{color:#fff;background:rgba(255,255,255,.12);}
.footer-social svg{display:block;}
.footer-service a{font-size:13px;opacity:.75;}

/* ---------- Legal-Seiten ---------- */
body.legal-page main{max-width:var(--max-width);margin:0 auto;padding:48px 20px 64px;}
body.legal-page main h1{margin:0 0 24px;font-size:clamp(28px,4vw,40px);line-height:1.2;}
body.legal-page main [id^="easyrecht-"]{font-size:1rem;line-height:1.6;}
body.legal-page main [id^="easyrecht-"] h2,body.legal-page main [id^="easyrecht-"] h3{margin-top:32px;margin-bottom:12px;}
body.legal-page main [id^="easyrecht-"] p,body.legal-page main [id^="easyrecht-"] ul,body.legal-page main [id^="easyrecht-"] ol{margin-bottom:16px;}
body.legal-page main [id^="easyrecht-"] a{color:var(--color-primary);text-decoration:underline;word-break:break-word;}
@media(max-width:768px){body.legal-page main{padding:32px 16px 48px;}}


/* === Magazinartikel-Layout (Skill 07) === */

body.article-page main {
  background: #fff;
}

.article {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 1.25rem 4rem;
}

.article-cover {
  margin: 0 -1.25rem 2.5rem;
}

.article-cover img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
}

@media (min-width: 768px) {
  .article-cover {
    margin: 2rem 0 3rem;
  }
  .article-cover img {
    border-radius: 8px;
  }
}

.article-header {
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 1.5rem;
}

.article-meta {
  font-size: 0.875rem;
  color: #666;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.article-header h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.2;
  margin: 0 0 1rem;
  color: var(--color-primary);
}

.article-lead {
  font-size: 1.2rem;
  line-height: 1.55;
  color: #333;
  margin: 0;
  font-weight: 500;
}

.article-toc {
  background: #f7f7f7;
  border-left: 4px solid var(--color-primary);
  padding: 1.25rem 1.5rem;
  margin: 0 0 3rem;
  border-radius: 4px;
}

.article-toc h2 {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #555;
}

.article-toc ol {
  margin: 0;
  padding-left: 1.25rem;
}

.article-toc li {
  margin: 0.4rem 0;
}

.article-toc a {
  color: #222;
  text-decoration: none;
  border-bottom: 1px dotted #aaa;
}

.article-toc a:hover {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

.article-body {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #1a1a1a;
}

.article-body h2 {
  font-size: 1.625rem;
  margin: 2.5rem 0 1rem;
  line-height: 1.3;
  color: var(--color-primary);
  scroll-margin-top: 6rem;
}

.article-body h3 {
  font-size: 1.25rem;
  margin: 1.75rem 0 0.75rem;
  line-height: 1.4;
}

.article-body p {
  margin: 0 0 1.25rem;
}

.article-body ul,
.article-body ol {
  margin: 0 0 1.5rem;
  padding-left: 1.5rem;
}

.article-body li {
  margin: 0.5rem 0;
}

.article-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.article-body blockquote {
  margin: 2rem 0;
  padding: 1.25rem 1.75rem;
  border-left: 4px solid var(--color-primary);
  background: #fafafa;
  font-style: italic;
  font-size: 1.125rem;
  color: #333;
}

.article-body figure {
  margin: 2rem 0;
}

.article-body figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

.article-body figcaption {
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.5rem;
  text-align: center;
}

.article-related {
  margin: 4rem 0 2rem;
  padding: 2rem;
  background: #f7f7f7;
  border-radius: 8px;
}

.article-related h2 {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  color: #222;
}

.article-related ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.article-related li {
  margin: 0.5rem 0;
}

.article-related a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
}

.article-related a:hover {
  text-decoration: underline;
}

.article-cta {
  margin: 3rem 0 0;
  padding: 2.5rem 2rem;
  background: var(--color-primary);
  color: #fff;
  text-align: center;
  border-radius: 8px;
}

.article-cta h2 {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: 1.5rem;
}

.article-cta p {
  margin: 0 0 1.5rem;
  font-size: 1.0625rem;
  line-height: 1.5;
  opacity: 0.95;
}

.article-cta .btn-primary {
  background: #fff;
  color: var(--color-primary);
  padding: 0.875rem 2rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
  display: inline-block;
  transition: transform 0.15s ease;
}

.article-cta .btn-primary:hover {
  transform: translateY(-1px);
}


/* === Magazin-Karten (Skill 07) === */

.magazin-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

@media (min-width: 720px) {
  .magazin-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1080px) {
  .magazin-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.magazin-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.magazin-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.magazin-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.magazin-card-cover img {
  width: 100%;
  height: auto;
  display: block;
}

.magazin-card-body {
  padding: 1.25rem 1.5rem 1.5rem;
}

.magazin-card-meta {
  font-size: 0.8125rem;
  color: #666;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.magazin-card-body h3 {
  margin: 0 0 0.75rem;
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--color-primary);
}

.magazin-card-lead {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #333;
}

.magazin-card-cta {
  font-size: 0.9375rem;
  color: var(--color-primary);
  font-weight: 600;
}
