/*
Theme Name: lca24.io Fachwissen
Theme URI: https://lca24.io/
Author: PSCoat-SEO
Description: Wiki-artiges Fachartikel-Theme zur Gebaeude-Oekobilanz nach DIN EN 15978 mit rechter sticky Inhaltsverzeichnis-Sidebar, Bildkarten-Raster mit Sidebar-Glossar und Bewertungsmethoden-Tabelle gruppiert nach Norm statt nach Kategorie, plus Monospace-Auszeichnung fuer Modulcodes.
Version: 1.0.0
Text Domain: t-lca24-io
*/

/* ---------------------------------------------------------------------
   Tokens
------------------------------------------------------------------------ */
:root{
  --bg:#f9f9f9;
  --surface:#e0e2e4;
  --surface-2:#e5e6e8;
  --text:#26282b;
  --muted:#646c75;
  --primary:#2d6da1;
  --secondary:#2a4363;
  --accent:#347ed0;
  --link:#1c5d92;
  --header-bg:#f9f9f9;
  --header-text:#26282b;
  --footer-bg:#f9f9f9;
  --footer-text:#26282b;
  --border:#d6d8db;
  --border-strong:#bcc0c4;
  --maxw:1220px;
  --measure:720px;
  --font-heading:'Spectral', Georgia, 'Times New Roman', serif;
  --font-body:'Noto Sans', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}

/* ---------------------------------------------------------------------
   Reset & base
------------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block;}
a{color:var(--link);text-decoration-underline;text-decoration-color:rgba(31,92,143,.4);text-underline-offset:2px;}
a:hover{color:var(--secondary);text-decoration-color:var(--secondary);}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text);line-height:1.22;margin:0 0 .5em;font-weight:600;}
h1{font-size:clamp(1.7rem,3.6vw,2.5rem);}
h2{font-size:clamp(1.3rem,2.2vw,1.55rem);}
h3{font-size:1.12rem;}
p{margin:0 0 1.1em;}
ul,ol{padding-left:1.35em;}
button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit;}
table{border-collapse:collapse;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.skip-link{position:absolute;left:-999px;top:auto;background:var(--secondary);color:#ffffff;padding:10px 16px;z-index:10000;}
.skip-link:focus{left:0;top:0;}
main{display:block;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:600;border:1px solid var(--secondary);color:var(--secondary);background:transparent;text-decoration:none;}
.btn:hover{background:var(--secondary);color:#ffffff;}
.btn-primary{background:var(--secondary);color:#ffffff;}
.btn-primary:hover{background:var(--text);border-color:var(--text);}
.btn svg{width:16px;height:16px;flex:none;}

/* Modulcode-Monospace - Twist: ausschliesslich fuer Modulcodes im Fliesstext */
code.modcode{font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:.86em;background:var(--surface);border:1px solid var(--border-strong);color:var(--secondary);padding:1px 5px;white-space:nowrap;}

/* ---------------------------------------------------------------------
   Disclaimer-Banner (aus mu-plugin) - Feinschliff, nie verstecken.
   lca24.io hat laut Brief keinen Disclaimer aktiv; die Regel bleibt aber
   in Kraft, falls einer gesetzt wird.
------------------------------------------------------------------------ */
.ps-disclaimer{font-family:var(--font-body) !important;background:#dfe9f4 !important;color:#142b44 !important;border-bottom:1px solid #98bbe1 !important;}
.ps-disclaimer__inner{max-width:var(--maxw) !important;}

/* ---------------------------------------------------------------------
   Header
------------------------------------------------------------------------ */
.site-header{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--border-strong);}
.site-header__top{display:flex;align-items:center;gap:24px;padding:20px 20px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--header-text);margin-right:auto;}
.brand__mark{flex:none;width:30px;height:30px;color:var(--primary);}
.brand__mark svg{width:100%;height:100%;}
.brand__text{display:flex;flex-direction:column;}
.brand__name{font-family:var(--font-heading);font-weight:600;font-size:1.35rem;color:var(--text);}
.brand__tag{font-size:.78rem;color:var(--muted);letter-spacing:.01em;}

.site-search{flex:0 1 380px;display:flex;border:1px solid var(--border-strong);background:#ffffff;}
.site-search input{flex:1;border:0;background:transparent;padding:11px 14px;font-size:.95rem;font-family:inherit;color:var(--text);min-width:0;}
.site-search input::placeholder{color:var(--muted);}
.site-search button{padding:0 16px;border-left:1px solid var(--border-strong);color:var(--primary);display:flex;align-items:center;}
.site-search button:hover{background:var(--surface);}
.site-search svg{width:18px;height:18px;}

.burger{display:none;width:40px;height:40px;flex:none;align-items:center;justify-content:center;border:1px solid var(--border-strong);}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:18px;height:2px;background:var(--text);position:relative;}
.burger span::before{position:absolute;top:-6px;}
.burger span::after{position:absolute;top:6px;}

.main-nav{border-top:1px solid var(--border);}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;}
.main-nav a{display:block;padding:12px 16px;text-decoration:none;color:var(--text);font-size:.93rem;font-weight:600;border-right:1px solid var(--border);}
.main-nav li:first-child a{padding-left:0;}
.main-nav a:hover{background:var(--surface);color:var(--primary);}
.nav-scrim{display:none;}

@media (max-width:900px){
  .site-header__top{flex-wrap:wrap;padding:16px 16px;}
  .site-search{order:3;flex:1 1 100%;}
  .burger{display:flex;order:2;}
  .main-nav{display:none;border-top:1px solid var(--border-strong);}
  .site-header.nav-open .main-nav{display:block;}
  .main-nav ul{flex-direction:column;}
  .main-nav a{border-right:0;border-bottom:1px solid var(--border);padding:14px 16px;}
}

/* ---------------------------------------------------------------------
   Breadcrumb
------------------------------------------------------------------------ */
.breadcrumb{font-size:.85rem;color:var(--muted);margin:0 0 10px;}
.breadcrumb a{color:var(--muted);text-decoration-color:rgba(101,116,104,.4);}
.breadcrumb a:hover{color:var(--primary);}

/* ---------------------------------------------------------------------
   Startseite - Kategorieuebersicht statt Hero: Bildkarten-Raster mit
   Sidebar-Glossar statt Zaehler-Boxen (Twist ggue. landglass.io)
------------------------------------------------------------------------ */
.category-strip{padding:34px 0 10px;}
.category-strip__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:14px;border-bottom:2px solid var(--text);padding-bottom:14px;}
.category-strip__head h1{margin:0;}
.category-strip__intro{max-width:var(--measure);color:var(--muted);font-size:.98rem;margin-bottom:24px;}

.overview-layout{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;}

.visual-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-strong);margin-bottom:8px;}
.visual-card{padding:24px 22px;border-right:1px solid var(--border-strong);text-decoration:none;color:inherit;display:block;background:#ffffff;}
.visual-card:last-child{border-right:0;}
.visual-card:hover{background:var(--surface);}
.visual-card__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-strong);color:var(--primary);margin-bottom:14px;}
.visual-card__icon svg{width:22px;height:22px;}
.visual-card__label{display:block;margin:0 0 6px;font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--text);}
.visual-card__desc{font-size:.9rem;color:var(--muted);margin:0;}
.visual-card__more{display:inline-block;margin-top:12px;font-size:.85rem;font-weight:700;color:var(--link);text-decoration:none;}

.mini-glossary{border:1px solid var(--border-strong);background:#ffffff;padding:22px;align-self:start;}
.mini-glossary__title{font-family:var(--font-heading);font-weight:600;font-size:.95rem;margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.mini-glossary .glossary-list--mini > div{padding:9px 0;}
.mini-glossary .glossary-list--mini dt{font-size:.92rem;margin-bottom:2px;}
.mini-glossary .glossary-list--mini dd{font-size:.85rem;color:var(--muted);margin:0;}
.mini-glossary__more{display:inline-block;margin-top:6px;font-size:.85rem;font-weight:700;text-decoration:none;}

@media (min-width:900px){
  .overview-layout{grid-template-columns:1fr 300px;}
}

@media (max-width:760px){
  .visual-card-grid{grid-template-columns:1fr;}
  .visual-card{border-right:0;border-bottom:1px solid var(--border-strong);}
  .visual-card:last-child{border-bottom:0;}
}

/* ---------------------------------------------------------------------
   Block-Sektionen / Artikel-Kacheln
------------------------------------------------------------------------ */
.block{padding:52px 0;}
.block.alt{background:var(--surface);}
.block__head{margin-bottom:26px;max-width:var(--measure);}
.block__eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary);margin-bottom:8px;}
.block__head h2{margin-bottom:.35em;}
.block__head p{color:var(--muted);margin:0;}

.table-scroll{overflow-x:auto;border:1px solid var(--border-strong);}
.methods-table{width:100%;border-collapse:collapse;background:#ffffff;}
.methods-table th,.methods-table td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;}
.methods-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--border-strong);}
.methods-table tbody tr:last-child th,.methods-table tbody tr:last-child td{border-bottom:0;}
.methods-table tbody th{font-family:var(--font-heading);font-weight:600;font-size:1.02rem;color:var(--text);white-space:nowrap;}
.methods-table__title{display:block;font-family:var(--font-body);font-weight:400;font-size:.85rem;color:var(--muted);white-space:normal;margin-top:4px;max-width:26em;}
.methods-table td{color:var(--text);font-size:.95rem;}
.methods-table td a{font-weight:700;white-space:nowrap;}

@media (max-width:640px){
  .methods-table{min-width:560px;}
}

/* ---------------------------------------------------------------------
   Inline-Textlink-Anzeige (Twist: keine Box wie bei landglass.io) -
   Startseite und Artikel-Sidebar
------------------------------------------------------------------------ */
.ad-inline__label{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border-strong);padding:1px 6px;margin-right:7px;vertical-align:middle;}
.toc-ad-inline{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted);line-height:1.55;}
.toc-ad-inline .ad-inline__label{margin-bottom:6px;}
.toc-ad-inline a{font-weight:700;}

/* ---------------------------------------------------------------------
   Hinweis-Streifen (Ueber/Kontakt)
------------------------------------------------------------------------ */
.hint-strip__inner{padding:0;}
.hint-strip p{margin:0 0 14px;max-width:760px;color:var(--muted);font-size:.94rem;}
.hint-strip__links{display:flex;gap:14px;flex-wrap:wrap;}
.hint-strip__links a{font-weight:700;text-decoration:none;}
.hint-strip__links a:hover{text-decoration:underline;}

/* ---------------------------------------------------------------------
   Artikel-Seite: Kopf
------------------------------------------------------------------------ */
.article-hero{padding:30px 0 0;}
.article-hero__cat{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--primary);margin-bottom:8px;}
.article-hero h1{max-width:var(--measure);}
.article-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.85rem;color:var(--muted);margin:14px 0 0;padding-bottom:24px;border-bottom:1px solid var(--border-strong);}
.article-meta span{display:flex;align-items:center;gap:6px;}
.article-meta svg{width:15px;height:15px;}

/* ---------------------------------------------------------------------
   Artikel-Seite: Layout Prosa + rechte sticky TOC
------------------------------------------------------------------------ */
.article-wrap{display:block;padding:0 0 10px;}

.toc-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;border:1px solid var(--border-strong);background:var(--surface);font-weight:700;font-size:.95rem;margin:22px 0 0;}
.toc-toggle svg{width:16px;height:16px;transition:transform .15s ease;}
.toc-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}

.article-toc{display:none;border:1px solid var(--border-strong);border-top:0;background:#ffffff;margin:0 0 30px;}
.article-toc.is-open{display:block;}
.article-toc__inner{padding:18px 20px;}
.article-toc__title{font-family:var(--font-heading);font-weight:600;font-size:.95rem;margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.article-toc ol{list-style:none;margin:0;padding:0;}
.article-toc li{margin:0;}
.article-toc li.toc-level-3{margin-left:16px;}
.article-toc a{display:block;padding:7px 0;font-size:.9rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border);}
.article-toc li:last-of-type a{border-bottom:0;}
.article-toc a:hover{color:var(--link);}
.article-toc__num{color:var(--muted);font-weight:700;margin-right:6px;}

.article-content{padding:30px 0 0;max-width:var(--measure);}

@media (min-width:961px){
  .article-wrap.container{display:grid;grid-template-columns:1fr 300px;grid-template-areas:"content toc";gap:0;align-items:start;}
  .toc-toggle{display:none;}
  .article-toc{display:block !important;grid-area:toc;border:0;border-left:1px solid var(--border-strong);background:transparent;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;}
  .article-content{grid-area:content;padding-right:44px;border-right:0;}
}

.article-content h2{margin-top:1.9em;padding-top:.05em;position:relative;}
.article-content h2:first-child{margin-top:0;}
.article-content h2[data-num]::before,
.article-content h3[data-num]::before{content:attr(data-num) ".";color:var(--muted);font-weight:600;margin-right:10px;font-family:var(--font-body);font-size:.8em;letter-spacing:.02em;}
.article-content h3{margin-top:1.4em;}
.article-content p{color:var(--text);font-size:1.03rem;}
.article-content ul,.article-content ol{color:var(--text);margin-bottom:1.2em;}
.article-content li{margin-bottom:.4em;}
.article-content blockquote{margin:1.6em 0;padding:14px 20px;border-left:3px solid var(--primary);background:var(--surface);color:var(--text);font-style:italic;}
.article-content table{width:100%;margin:1.6em 0;font-size:.92rem;}
.article-content th,.article-content td{border:1px solid var(--border-strong);padding:10px 12px;text-align:left;}
.article-content th{background:var(--surface);font-family:var(--font-heading);font-weight:600;}
.article-content tr:nth-child(even) td{background:#fafafb;}
.article-content figure{margin:1.6em 0;}
.article-content figcaption{font-size:.82rem;color:var(--muted);margin-top:8px;}
.article-content code{background:var(--surface);padding:2px 6px;font-size:.9em;}
.article-content pre{background:var(--text);color:#f2f3f4;padding:16px;overflow:auto;}
.article-content pre code{background:none;color:inherit;padding:0;}

.anzeige-block,.anzeige{background:var(--surface);border:1px solid var(--border-strong);border-left:4px solid var(--secondary);padding:20px 22px;margin:34px 0;}
.anzeige-block .anzeige-label,.anzeige .anzeige-label{display:inline-block;background:var(--secondary);color:#ffffff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;margin:0 0 10px;}
.anzeige-block strong:first-child,.anzeige strong:first-child{display:inline-block;background:var(--secondary);color:#ffffff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;margin:0 0 10px;}
.anzeige-block h3,.anzeige h3{margin-top:0;font-size:1.05rem;}
.anzeige-block em,.anzeige em{font-size:.82rem;color:var(--muted);}
.anzeige-block p:last-child,.anzeige p:last-child{margin-bottom:0;}

.diagram-box{border:1px solid var(--border-strong);background:#ffffff;padding:20px;margin:1.8em 0;}
.diagram-box figcaption{text-align:center;}

/* ---------------------------------------------------------------------
   Verwandte Artikel
------------------------------------------------------------------------ */
.related{border-top:1px solid var(--border-strong);padding-top:26px;margin-top:20px;}
.related h2{font-size:1.1rem;}
.related ul{list-style:none;padding:0;margin:0;}
.related li{border-bottom:1px solid var(--border);padding:10px 0;}
.related a{font-weight:700;text-decoration:none;}
.related a:hover{text-decoration:underline;}

/* ---------------------------------------------------------------------
   Statische Seiten
------------------------------------------------------------------------ */
.page-hero{padding:34px 0 0;}
.page-hero h1{max-width:var(--measure);}
.page-body{max-width:var(--measure);padding:24px 0 56px;}
.page-body h2{margin-top:1.5em;}
.page-body p{font-size:1.03rem;}
.page-body ul{font-size:1.03rem;}

.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--border-strong);margin-top:20px;}
.contact-card{padding:20px 22px;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);}
.contact-card:nth-child(2n){border-right:0;}
.contact-card strong{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.contact-card svg{width:16px;height:16px;color:var(--primary);}
.contact-card a{font-weight:700;}

@media (max-width:600px){
  .contact-grid{grid-template-columns:1fr;}
  .contact-card{border-right:0;}
}

/* Glossar */
.glossary-list{margin:0;padding:0;}
.glossary-list > div{border-bottom:1px solid var(--border);padding:18px 0;}
.glossary-list dt{font-family:var(--font-heading);font-weight:600;font-size:1.08rem;margin-bottom:6px;}
.glossary-list dt code.modcode{font-size:.72em;}
.glossary-list dd{margin:0 0 .4em;color:var(--text);}
.glossary-list dd a{font-size:.9rem;font-weight:700;}

/* ---------------------------------------------------------------------
   404
------------------------------------------------------------------------ */
.error-404{padding:80px 0;text-align:center;}
.error-404__code{font-family:var(--font-heading);font-size:5rem;color:var(--border-strong);font-weight:600;}
.error-404 .btn{margin-top:20px;}

/* ---------------------------------------------------------------------
   Footer
------------------------------------------------------------------------ */
.site-footer{background:var(--footer-bg);color:var(--footer-text);border-top:2px solid var(--text);padding:34px 0 0;font-size:.9rem;}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--border-strong);}
.footer-brand strong{font-family:var(--font-heading);font-size:1.05rem;}
.footer-brand p{margin:.3em 0 0;color:var(--muted);max-width:360px;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;}
.footer-links a{color:var(--footer-text);text-decoration:none;font-weight:700;}
.footer-links a:hover{text-decoration:underline;}
.footer-transparenz{padding:18px 0;border-bottom:1px solid var(--border-strong);color:var(--muted);font-size:.87rem;max-width:900px;}
.footer-transparenz a{font-weight:700;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0 26px;color:var(--muted);font-size:.83rem;}
.footer-credit{margin-top:2px;}

.back-to-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;background:var(--text);color:#ffffff;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:500;}
.back-to-top.is-visible{opacity:1;pointer-events:auto;}
.back-to-top svg{width:18px;height:18px;}

/* Search / archive fallback */
.result-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--border-strong);}
.result-list li{border-bottom:1px solid var(--border);padding:16px 0;}
.result-list a{font-family:var(--font-heading);font-weight:600;font-size:1.1rem;text-decoration:none;}
.result-list a:hover{text-decoration:underline;}
.result-list p{margin:.3em 0 0;color:var(--muted);font-size:.92rem;}
