/*
Theme Name: EPDB.info Forum
Theme URI: https://epdb.info/
Author: PSCoat SEO Team
Description: Schlichter, forum-artiger Look (XenForo-Ästhetik) für ein redaktionelles Glossar/Forum rund um die Umweltproduktdeklaration (EPD).
Version: 1.0
Text Domain: t-epdb-info
*/

/* ---------- Tokens ---------- */
:root{
  --bg:#f9f9f9;
  --surface:#edeeef;
  --surface-alt:#e1e3e4;
  --text:#26292b;
  --muted:#646d75;
  --primary:#636b73;
  --secondary:#36817c;
  --accent:#2075cf;
  --link:#147b75;
  --border:#c3c7ca;
  --border-strong:#9da4aa;
  --header-bg:#f9f9f9;
  --header-text:#26292b;
  --footer-bg:#f9f9f9;
  --footer-text:#26292b;
  --font: "Courier New", Courier, monospace;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;height:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.55;
  overflow-x:hidden;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
/* Sticky-Footer: kurze Seiten (z.B. die schmale Forum-Startseite) sollen den
   Footer an den Viewport-Rand binden statt eine leere Fläche darunter zu
   lassen. Lange Seiten wachsen wie gewohnt über den Viewport hinaus. */
body > main{flex:1 0 auto;width:100%;}
body > .site-footer{flex-shrink:0;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px;}
a:hover,a:focus{color:var(--secondary);}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
h1,h2,h3,h4{font-family:var(--font);color:var(--text);line-height:1.25;font-weight:700;}
.wrap{max-width:960px;margin:0 auto;padding:0 14px;}
button{font-family:var(--font);}
ul{margin:0;padding:0;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- Header ---------- */
.site-header{background:var(--header-bg);color:var(--header-text);border-bottom:3px solid var(--primary);}
.logo-banner{padding:16px 0 10px;border-bottom:1px solid var(--border);}
.logo-banner .wrap{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.logo-banner__title{font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin:0;}
.logo-banner__title a{color:var(--header-text);text-decoration:none;}
.logo-banner__tagline{margin:0;font-size:.82rem;color:var(--muted);}

.forum-toolbar{background:var(--surface);border-bottom:1px solid var(--border);}
.forum-toolbar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 14px;}
.primary-nav ul{display:flex;list-style:none;gap:2px;flex-wrap:wrap;}
.primary-nav a{display:block;padding:7px 12px;color:var(--text);text-decoration:none;font-size:.9rem;border-right:1px solid var(--border);}
.primary-nav li:last-child a{border-right:none;}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{background:var(--surface-alt);color:var(--secondary);}

.search-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.search-form__row{display:flex;border:1px solid var(--border-strong);background:var(--bg);}
.search-form input[type="search"]{border:0;background:transparent;padding:6px 8px;font-family:var(--font);font-size:.85rem;color:var(--text);width:170px;max-width:44vw;}
.search-form input[type="search"]:focus{outline:none;}
.search-form button{border:0;border-left:1px solid var(--border-strong);background:var(--surface-alt);padding:6px 10px;cursor:pointer;color:var(--text);display:flex;align-items:center;}
.search-form button svg{width:15px;height:15px;stroke:var(--text);}
.search-form__title-only{display:flex;align-items:center;gap:4px;font-size:.78rem;color:var(--muted);white-space:nowrap;}
.search-form__title-only input{margin:0;}

@media (max-width:640px){
  .forum-toolbar .wrap{flex-direction:column;align-items:stretch;}
  .primary-nav ul{justify-content:center;}
  .search-form{width:100%;}
  .search-form__row{flex:1;}
  .search-form input[type="search"]{width:100%;max-width:none;}
}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.82rem;color:var(--muted);padding:10px 0;}
.breadcrumb a{color:var(--link);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .sep{margin:0 5px;color:var(--border-strong);}

/* ---------- Main ---------- */
main{padding-bottom:36px;}

/* ---------- Pinned notice ---------- */
.pinned-notice{border:1px solid var(--accent);background:#f4f6f9;margin:14px 0;display:flex;gap:10px;padding:12px 14px;}
.pinned-notice__icon{flex:0 0 auto;color:var(--accent);}
.pinned-notice__icon svg{width:20px;height:20px;}
.pinned-notice__body{flex:1;min-width:0;}
.pinned-notice__tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px;}
.tag{display:inline-block;font-size:.68rem;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;font-weight:700;}
.tag--pinned{background:var(--accent);color:#ffffff;}
.tag--ad{background:var(--secondary);color:#ffffff;}
.pinned-notice__title{margin:0 0 4px;font-size:1rem;}
.pinned-notice__title a{color:var(--text);text-decoration:none;}
.pinned-notice__title a:hover{color:var(--accent);text-decoration:underline;}
.pinned-notice p{margin:0 0 6px;font-size:.9rem;color:var(--text);}
.pinned-notice__cta{display:inline-block;font-size:.82rem;font-weight:700;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);}
.pinned-notice__cta:hover{color:var(--secondary);border-color:var(--secondary);}

/* ---------- Category / node list ---------- */
.node-forum{border:1px solid var(--border-strong);margin-bottom:16px;background:var(--bg);}
.node-forum__title{margin:0;background:var(--primary);color:#ffffff;font-size:.92rem;font-weight:700;padding:8px 12px;letter-spacing:.3px;}
.node-row{display:flex;align-items:flex-start;gap:12px;padding:12px;border-top:1px solid var(--border);}
.node-forum > .node-row:first-of-type{border-top:none;}
.node-row:nth-child(even){background:var(--surface);}
.node-row__icon{flex:0 0 auto;width:30px;height:30px;color:var(--muted);}
.node-row__icon svg{width:100%;height:100%;}
.node-row__main{flex:1;min-width:0;}
.node-row__main h3{margin:0 0 3px;font-size:1rem;}
.node-row__main h3 a{color:var(--link);text-decoration:none;}
.node-row__main h3 a:hover{text-decoration:underline;color:var(--secondary);}
.node-row__desc{margin:0;font-size:.85rem;color:var(--muted);}
.node-row__stats{flex:0 0 auto;text-align:right;font-size:.75rem;color:var(--muted);line-height:1.5;min-width:74px;}
.node-row__stats strong{display:block;color:var(--text);font-size:.85rem;}

.more-hint{color:var(--muted);font-size:.85rem;font-style:italic;padding:10px 12px;border:1px dashed var(--border-strong);margin-bottom:20px;}

/* ---------- Legal bar (homepage) ---------- */
.legal-bar{border:1px solid var(--border);background:var(--surface);padding:10px 14px;margin-bottom:10px;}
.legal-bar ul{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;font-size:.8rem;}
.legal-bar li{white-space:nowrap;}
.legal-bar li:not(:last-child)::after{content:"•";margin:0 8px;color:var(--border-strong);}
.legal-bar a{color:var(--link);text-decoration:none;}
.legal-bar a:hover{text-decoration:underline;}

/* ---------- Thread / single article ---------- */
.thread-header{border:1px solid var(--border-strong);border-bottom:none;background:var(--surface);padding:14px 16px;}
.thread-header h1{margin:0 0 6px;font-size:1.35rem;}
.thread-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted);}

.postbit{border:1px solid var(--border-strong);background:var(--bg);}
.postbit__head{background:var(--surface-alt);border-bottom:1px solid var(--border-strong);padding:7px 16px;font-size:.78rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.postbit__head strong{color:var(--text);}
.postbit__body{padding:18px 16px;}
.postbit__foot{border-top:1px solid var(--border);padding:8px 16px;font-size:.78rem;color:var(--muted);text-align:center;font-style:italic;}

/* article content typography */
.entry-content h2{font-size:1.15rem;margin:1.7em 0 .6em;padding-bottom:4px;border-bottom:2px solid var(--border-strong);}
.entry-content h2:first-child{margin-top:0;}
.entry-content h3{font-size:1.02rem;margin:1.3em 0 .5em;}
.entry-content p{margin:0 0 1em;}
.entry-content ul,.entry-content ol{margin:0 0 1em;padding-left:1.4em;}
.entry-content li{margin-bottom:.35em;}
.entry-content table{width:100%;border-collapse:collapse;margin:0 0 1.3em;font-size:.88rem;}
@media (max-width:700px){
  .entry-content table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
.entry-content caption{caption-side:top;text-align:left;font-size:.8rem;color:var(--muted);padding-bottom:4px;}
.entry-content th,.entry-content td{border:1px solid var(--border-strong);padding:7px 9px;text-align:left;vertical-align:top;}
.entry-content thead th{background:var(--primary);color:#ffffff;}
.entry-content tbody tr:nth-child(even){background:var(--surface);}
.entry-content blockquote{margin:0 0 1.2em;padding:10px 14px;border-left:4px solid var(--secondary);background:var(--surface);color:var(--text);font-style:italic;}
.entry-content code{background:var(--surface-alt);padding:1px 5px;font-size:.9em;}
.entry-content figure{margin:0 0 1.2em;}
.entry-content figcaption{font-size:.78rem;color:var(--muted);margin-top:4px;}
.entry-content strong{color:var(--text);}
.entry-content a{word-break:break-word;}

/* Anzeige-Block innerhalb des Artikels */
.entry-content .anzeige,
.entry-content .anzeige-block{
  border:2px solid var(--accent);
  background:#f4f6f9;
  padding:14px 16px;
  margin:1.6em 0;
}
.entry-content .anzeige-label{
  display:inline-block;
  margin:0 0 6px;
  font-size:.7rem;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-weight:700;
  background:var(--accent);
  color:#ffffff;
  padding:2px 8px;
}
.entry-content .anzeige p,.entry-content .anzeige-block p{margin:0 0 .6em;font-size:.92rem;}
.entry-content .anzeige p:last-child,.entry-content .anzeige-block p:last-child{margin-bottom:0;}

/* related threads */
.related-threads{margin-top:22px;border:1px solid var(--border-strong);}
.related-threads__title{margin:0;background:var(--surface);padding:8px 12px;font-size:.85rem;font-weight:700;border-bottom:1px solid var(--border);}
.related-threads ul{list-style:none;}
.related-threads li{border-top:1px solid var(--border);padding:9px 12px;font-size:.88rem;}
.related-threads li:first-child{border-top:none;}
.related-threads a{color:var(--link);text-decoration:none;}
.related-threads a:hover{text-decoration:underline;}

/* ---------- Generic page ---------- */
.page-panel{border:1px solid var(--border-strong);background:var(--bg);}
.page-panel__head{background:var(--surface);padding:12px 16px;border-bottom:1px solid var(--border-strong);}
.page-panel__head h1{margin:0;font-size:1.3rem;}
.page-panel__body{padding:18px 16px;}
.page-panel__body h2{font-size:1.05rem;border-bottom:2px solid var(--border-strong);padding-bottom:4px;margin:1.5em 0 .6em;}
.page-panel__body h2:first-child{margin-top:0;}
.page-panel__body p{margin:0 0 1em;}
.page-panel__body ul{padding-left:1.3em;margin:0 0 1em;}
.page-panel__body li{margin-bottom:.3em;}

/* ---------- 404 ---------- */
.error-panel{border:1px solid var(--border-strong);padding:26px 18px;text-align:center;}
.error-panel h1{font-size:1.6rem;margin:0 0 10px;}
.error-panel p{color:var(--muted);margin:0 0 14px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--footer-bg);color:var(--footer-text);border-top:3px solid var(--primary);margin-top:24px;font-size:.82rem;}
.site-footer .wrap{padding:18px 14px 22px;}
.footer-links ul{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin-bottom:10px;}
.footer-links li:not(:last-child)::after{content:"•";margin:0 8px;color:var(--border-strong);}
.footer-links a{color:var(--footer-text);text-decoration:none;}
.footer-links a:hover{color:var(--link);text-decoration:underline;}
.footer-transparency{margin:0 0 8px;color:var(--muted);max-width:70ch;}
.footer-transparency a{color:var(--link);}
.footer-operator{margin:0 0 4px;}
.footer-credit{margin:0 0 4px;color:var(--muted);font-size:.78rem;}
.footer-copy{margin:0;color:var(--muted);}

/* ---------- Back to top ---------- */
.back-to-top{position:fixed;right:16px;bottom:16px;width:40px;height:40px;background:var(--primary);color:#ffffff;border:none;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:50;}
.back-to-top svg{width:18px;height:18px;stroke:#ffffff;}
.back-to-top.is-visible{display:flex;}
.back-to-top:hover{background:var(--secondary);}

/* Disclaimer-Banner (falls vorhanden) darf angepasst, nie versteckt werden */
.ps-disclaimer{font-family:var(--font);font-size:14px;}
