/*
Theme Name: gwg-pflicht.ch
Theme URI: https://gwg-pflicht.ch/
Author: Verein gwg-pflicht.ch
Description: Eigenständiges, leichtgewichtiges WordPress-Theme für die Risiko- und Informationsseite gwg-pflicht.ch.
Version: 0.3.4
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: gwg-pflicht
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root { --gwg-ink:#1e2d36; --gwg-muted:#5c6b73; --gwg-paper:#f7f9fa; --gwg-white:#fff; --gwg-line:#d8e1e5; --gwg-amber:#3f708a; --gwg-amber-dark:#28536a; --gwg-red:#87504c; --gwg-navy:#315b71; --gwg-slate:#7893a1; --gwg-shadow:0 10px 26px rgba(38,72,90,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--gwg-ink); background:var(--gwg-paper); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
a { color:var(--gwg-amber-dark); text-underline-offset:3px; }
a:hover { color:var(--gwg-amber-dark); }
.gwg-skip-link { position:absolute; left:-9999px; z-index:100; padding:.75rem 1rem; background:#fff; }
.gwg-skip-link:focus { left:1rem; top:1rem; }
.gwg-site-header { position:sticky; top:0; z-index:1000; background:#fff; color:var(--gwg-ink); border-bottom:1px solid var(--gwg-line); box-shadow:0 3px 14px rgba(38,72,90,.10); }
body.admin-bar .gwg-site-header { top:32px; }
.gwg-header-inner,.gwg-footer-inner,.gwg-footer-bottom,.gwg-main-inner { width:min(1160px,calc(100% - 2.5rem)); margin:0 auto; }
.gwg-header-inner { min-height:76px; display:flex; align-items:center; gap:1.7rem; }
.gwg-branding { margin-right:auto; }
.gwg-wordmark { color:var(--gwg-ink); text-decoration:none; display:block; line-height:1.1; }
.gwg-wordmark:hover { color:var(--gwg-ink); }
.gwg-wordmark-line { display:block; font-size:1.75rem; font-weight:800; letter-spacing:-.05em; }
.gwg-wordmark-primary { color:var(--gwg-amber); }
.gwg-wordmark small { display:block; margin-top:.3rem; color:#667982; font-size:.68rem; letter-spacing:.055em; text-transform:uppercase; }
.gwg-menu-toggle { display:none; background:#fff; border:1px solid #aebfc7; color:var(--gwg-ink); padding:.55rem .8rem; border-radius:4px; }
.gwg-header-navigation { display:flex; align-items:center; gap:1.5rem; }
.gwg-language-switcher { display:flex; list-style:none; gap:.45rem; padding:0; margin:0; }
.gwg-language-switcher a,.gwg-language-switcher span { color:#61737c; font-size:.8rem; text-decoration:none; text-transform:uppercase; }
.gwg-language-switcher .current-lang a { color:var(--gwg-amber-dark); font-weight:800; }
.gwg-primary-nav ul,.gwg-footer-menu { display:flex; list-style:none; gap:1.15rem; padding:0; margin:0; }
.gwg-primary-nav .gwg-menu>li { position:relative; }
.gwg-primary-nav a { color:var(--gwg-ink); text-decoration:none; font-size:.94rem; }
.gwg-footer-menu a { color:#fff; text-decoration:none; font-size:.94rem; }
.gwg-footer-menu a:hover { color:#fff; text-decoration:underline; }
.gwg-primary-nav .sub-menu { position:absolute; top:100%; left:-1rem; min-width:230px; visibility:hidden; opacity:0; pointer-events:none; transform:translateY(8px); background:#fff; padding:1rem; margin:0; border-top:10px solid transparent; background-clip:padding-box; box-shadow:0 14px 32px rgba(38,72,90,.16); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
.gwg-primary-nav li:hover>.sub-menu,.gwg-primary-nav li:focus-within>.sub-menu { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0); }
.gwg-primary-nav .sub-menu li { margin:.35rem 0; white-space:nowrap; }
.gwg-header-cta,.gwg-button { display:inline-block; background:var(--gwg-amber); color:#fff; padding:.7rem 1rem; border-radius:3px; font-weight:750; text-decoration:none; box-shadow:0 2px 0 rgba(27,67,88,.18); }
.gwg-header-cta:hover,.gwg-button:hover { color:#fff; background:var(--gwg-amber-dark); transform:translateY(-1px); }
.gwg-button-light { background:#fff; color:var(--gwg-amber-dark); border:1px solid #b9cbd3; box-shadow:none; }
.gwg-button-light:hover { color:var(--gwg-amber-dark); background:#f2f6f8; }
.gwg-main { overflow:hidden; }
.gwg-main-inner { padding:0 0 5rem; }
.gwg-hero,.gwg-page-hero { position:relative; background:linear-gradient(118deg,#eef4f7 0%,#e5eef2 68%,#dce8ed 100%); color:var(--gwg-ink); padding:clamp(2.7rem,7vw,5.5rem) max(1.5rem,calc((100vw - 1160px)/2)); margin:0 calc(50% - 50vw); border-bottom:1px solid #cfdee5; }
.gwg-hero h1,.gwg-page-hero h1 { max-width:820px; margin:.25rem 0 1.3rem; font-size:clamp(2.3rem,5vw,4.65rem); line-height:1.03; letter-spacing:-.055em; }
.gwg-hero .gwg-lead,.gwg-page-hero .gwg-lead { max-width:750px; font-size:clamp(1.1rem,2vw,1.35rem); color:#435965; }
.gwg-page-hero { background:linear-gradient(118deg,#eef4f7 0%,#e6eff3 72%,#dce8ed 100%); }
.gwg-kicker { color:var(--gwg-amber); text-transform:uppercase; letter-spacing:.14em; font-size:.77rem; font-weight:850; margin:0 0 .8rem; }
.gwg-hero .gwg-kicker,.gwg-page-hero .gwg-kicker { color:var(--gwg-amber-dark); }
.gwg-actions { display:flex; flex-wrap:wrap; gap:1rem; margin:2rem 0 0; }
.gwg-microcopy { font-size:.84rem; color:#5f737d; margin-top:1.2rem; }
.gwg-section { padding:3.5rem 0; }
.gwg-section h2 { max-width:800px; margin-top:0; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.1; letter-spacing:-.04em; }
.gwg-section-warning { margin:0 calc(50% - 50vw); padding-left:max(1.5rem,calc((100vw - 1160px)/2)); padding-right:max(1.5rem,calc((100vw - 1160px)/2)); background:#f2eee5; border-top:1px solid #ddd3c1; border-bottom:1px solid #ddd3c1; }
.gwg-section-dark { margin:0 calc(50% - 50vw); padding-left:max(1.5rem,calc((100vw - 1160px)/2)); padding-right:max(1.5rem,calc((100vw - 1160px)/2)); color:#fff; background:#315b71; }
.gwg-section-dark h2 { color:#fff; }
.gwg-section-dark p { max-width:760px; color:#e2eaed; }
.gwg-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.gwg-cards article { background:#fff; border:1px solid var(--gwg-line); border-top:3px solid var(--gwg-amber); padding:1.4rem; box-shadow:0 7px 20px rgba(20,35,48,.04); }
.gwg-cards h3 { margin-top:0; font-size:1.1rem; }
.gwg-cards p { color:var(--gwg-muted); }
.gwg-split { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:3rem; align-items:start; }
.gwg-callout { padding:1.35rem 1.5rem; border-left:5px solid var(--gwg-amber); background:#fff; box-shadow:var(--gwg-shadow); }
.gwg-callout-alert { border-left-color:var(--gwg-red); background:#f8f3f0; }
.gwg-steps { counter-reset:gwg; padding:0; list-style:none; max-width:820px; }
.gwg-steps li { counter-increment:gwg; display:grid; grid-template-columns:3rem minmax(0,1fr); column-gap:1rem; row-gap:.55rem; padding:1rem 0; border-bottom:1px solid var(--gwg-line); }
.gwg-steps li::before { content:counter(gwg,decimal-leading-zero); grid-column:1; grid-row:1 / span 20; color:var(--gwg-amber-dark); font-weight:900; font-size:1.2rem; }
.gwg-steps li>* { grid-column:2; min-width:0; }
.gwg-risk-list { list-style:none; padding:0; max-width:900px; }
.gwg-risk-list li { display:grid; grid-template-columns:minmax(210px,.7fr) 1fr; gap:1.5rem; padding:1rem 0; border-bottom:1px solid #d9ceb9; }
.gwg-risk-list span { color:#65573f; }
.gwg-archive-header { padding:2rem 0; border-bottom:1px solid var(--gwg-line); }
.gwg-article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; padding-top:2rem; }
.gwg-article-card { background:#fff; padding:1.3rem; border:1px solid var(--gwg-line); }
.gwg-article-card h2 { font-size:1.35rem; }
.gwg-article-card h2 a { text-decoration:none; color:var(--gwg-ink); }
.gwg-meta { color:var(--gwg-muted); font-size:.85rem; }
.gwg-site-footer { background:#294958; color:#e1e8eb; padding:2.8rem 0 1rem; }
.gwg-footer-inner { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:2rem; }
.gwg-footer-heading { color:#fff; font-size:1rem; margin-top:0; }
.gwg-footer-brand p { max-width:420px; }
.gwg-footer-wordmark { color:#fff; font-size:1.35rem; }
.gwg-footer-disclaimer { color:#d7e4e9; font-size:.9rem; }
.gwg-footer-bottom { border-top:1px solid rgba(255,255,255,.2); margin-top:2rem; padding-top:1rem; font-size:.84rem; display:flex; justify-content:space-between; gap:1rem; }
.gwg-footer-bottom p { white-space:pre-line; }
.gwg-footer-menu { display:block; }
.gwg-footer-menu li { margin:.35rem 0; }
.gwg-pagination { margin-top:2rem; }
.gwg-toc { margin:2rem 0; padding:1.25rem 1.5rem; background:#eef3f4; border:1px solid #cddadd; }
.gwg-toc h2 { font-size:1.2rem; margin:0 0 .65rem; }
.gwg-toc ul { columns:2; margin:.4rem 0 0; padding-left:1.2rem; }
.gwg-prose { max-width:880px; }
.gwg-prose h2 { margin-top:2.8rem; }
.gwg-prose h3 { margin-top:2rem; }
.gwg-checklist { padding-left:0; list-style:none; }
.gwg-checklist li { position:relative; padding:.55rem 0 .55rem 2rem; border-bottom:1px solid var(--gwg-line); }
.gwg-checklist li::before { content:'✓'; position:absolute; left:.3rem; color:#28704a; font-weight:900; }
.gwg-source-box { margin:2.5rem 0 1rem; padding:1.35rem 1.5rem; background:#f4f1ea; border-left:5px solid var(--gwg-navy); font-size:.93rem; }
.gwg-source-box h2 { font-size:1.25rem; margin-top:0; }
.gwg-source-box ul { margin-bottom:.4rem; }
.gwg-faq details { margin:.8rem 0; padding:1rem 1.15rem; background:#fff; border:1px solid var(--gwg-line); }
.gwg-faq summary { cursor:pointer; font-weight:800; }
.gwg-faq details p { margin-bottom:0; }
.gwg-related { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--gwg-line); }
@media (max-width:800px) { .gwg-header-inner { min-height:72px; } .gwg-menu-toggle { display:block; } .gwg-header-navigation { display:none; position:absolute; left:0; right:0; top:100%; padding:1rem 1.25rem 1.5rem; background:#fff; flex-direction:column; align-items:stretch; border-top:1px solid var(--gwg-line); box-shadow:var(--gwg-shadow); } .gwg-header-navigation.is-open { display:flex; } .gwg-primary-nav ul { display:block; } .gwg-primary-nav li { margin:.75rem 0; } .gwg-primary-nav .sub-menu { position:static; visibility:visible; opacity:1; pointer-events:auto; transform:none; min-width:0; border:0; box-shadow:none; padding:.2rem 0 .2rem 1rem; } .gwg-header-cta { text-align:center; } .gwg-cards,.gwg-article-grid { grid-template-columns:1fr; } .gwg-split,.gwg-footer-inner { grid-template-columns:1fr; gap:1.5rem; } .gwg-risk-list li { grid-template-columns:1fr; gap:.25rem; } }
@media (max-width:782px) { body.admin-bar .gwg-site-header { top:46px; } }
@media (max-width:600px) { body.admin-bar .gwg-site-header { top:0; } }
@media (max-width:620px) { .gwg-toc ul { columns:1; } }
