/*
Theme Name: DGV Editorial
Theme URI: https://digital-geld-verdienen.de/
Author: Petra Burger
Description: Redaktionelles Theme für digital-geld-verdienen.de. Große Plakatschrift, strenges Raster, helle und dunkle Variante mit Umschalter, selbst gehostete Schrift ohne externe Aufrufe.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dgv-editorial
Tags: blog, editorial, custom-menu, dark-mode, translation-ready
*/

/* ---------- Schrift (selbst gehostet, kein Google-Aufruf) ---------- */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 800;font-display:swap;
src:url("assets/fonts/schibsted-grotesk-latin.woff2") format("woff2");
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 800;font-display:swap;
src:url("assets/fonts/schibsted-grotesk-latin-ext.woff2") format("woff2");
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Farbwerte ---------- */
:root{
color-scheme:light;
--paper:#FFFFFF;--ink:#07070A;--mid:#64646E;--faint:#8E8E98;
--rule:#E2E2E6;--rule-strong:#07070A;
--accent:#1F2BFF;--accent-fg:#FFFFFF;
--band-bg:#07070A;--band-fg:#FFFFFF;--band-dim:#9A9AA6;
--btn-bg:#07070A;--btn-fg:#FFFFFF;
--soft:#F5F5F7;
--sel:rgba(31,43,255,.18);
--f:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
[data-theme="dark"]{
color-scheme:dark;
--paper:#0B0B0E;--ink:#F3F3F6;--mid:#9496A0;--faint:#73757F;
--rule:#23232A;--rule-strong:#F3F3F6;
--accent:#8FA0FF;--accent-fg:#0B0B0E;
--band-bg:#15161B;--band-fg:#F3F3F6;--band-dim:#9496A0;
--btn-bg:#F3F3F6;--btn-fg:#0B0B0E;
--soft:#131419;
--sel:rgba(143,160,255,.26)}

/* ---------- Grundlagen ---------- */
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;
-webkit-font-smoothing:antialiased;transition:background-color .25s,color .25s;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--sel);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 28px}
.narrow{width:100%;max-width:720px;margin:0 auto;padding:0 28px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:var(--paper);padding:12px 20px;font-weight:600}
.skip-link:focus{left:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ---------- Kopfzeile ---------- */
.site-head{border-bottom:1.5px solid var(--rule-strong)}
.site-head .wrap{display:flex;align-items:center;min-height:72px;gap:30px}
.brand{font-weight:800;letter-spacing:-.045em;font-size:19px;line-height:1.1}
.brand img{max-height:36px;width:auto}
.menu{display:none;gap:30px;font-size:15px;font-weight:500;list-style:none;padding:0;margin:0}
.menu li{position:relative}
.menu>li>a{padding-bottom:2px;border-bottom:1.5px solid transparent;display:inline-block}
.menu>li>a:hover,.menu .current-menu-item>a,.menu .current_page_item>a{border-color:var(--rule-strong)}
.menu .sub-menu{display:none;position:absolute;left:0;top:calc(100% + 12px);min-width:210px;background:var(--paper);
border:1.5px solid var(--rule-strong);padding:6px;flex-direction:column;z-index:60;list-style:none;gap:0}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:flex}
.menu .sub-menu a{display:block;padding:9px 12px;font-size:14.5px;border:0}
.menu .sub-menu a:hover{background:var(--soft)}
.head-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.navcta{font-size:15px;font-weight:600;color:var(--accent);white-space:nowrap}
.navcta:hover{text-decoration:underline;text-underline-offset:4px}
.icon-btn{width:34px;height:34px;flex:none;border:1.5px solid var(--rule-strong);background:transparent;color:var(--ink);
cursor:pointer;display:grid;place-items:center;padding:0;transition:background .18s,color .18s}
.icon-btn:hover{background:var(--ink);color:var(--paper)}
.icon-btn svg{width:16px;height:16px}
.icon-btn .i-moon{display:block}.icon-btn .i-sun{display:none}
[data-theme="dark"] .icon-btn .i-moon{display:none}[data-theme="dark"] .icon-btn .i-sun{display:block}
.nav-toggle{display:grid}
.mobile-menu{display:none;list-style:none;padding:6px 0 22px;margin:0}
.mobile-menu.is-open{display:block}
.mobile-menu a{display:block;padding:14px 2px;font-size:18px;font-weight:600;letter-spacing:-.025em;border-bottom:1px solid var(--rule)}
.mobile-menu .sub-menu{list-style:none;padding:0 0 0 18px;margin:0}
.mobile-menu .sub-menu a{font-size:16px;font-weight:500;color:var(--mid)}
@media(min-width:1000px){.menu{display:flex;margin-left:auto}.head-right{margin-left:0}.nav-toggle{display:none}.mobile-menu{display:none!important}}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-size:16px;font-weight:600;padding:16px 28px;border:1.5px solid var(--btn-bg);
background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;text-align:center;white-space:nowrap;
transition:background .18s,border-color .18s,color .18s}
.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn-2{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.btn-2:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- Startseite ---------- */
.hero{padding:52px 0 0}
@media(min-width:960px){.hero{padding:84px 0 0}}
.kicker{font-size:15px;font-weight:500;color:var(--mid);max-width:34ch}
.hero h1{margin-top:26px;font-size:clamp(3rem,13.5vw,10.5rem);line-height:.86;font-weight:800;letter-spacing:-.06em;text-wrap:balance}
.hero h1 span{display:block}
.hero h1 .accent{color:var(--accent)}
.hmeta{display:grid;gap:28px;margin-top:48px;padding:34px 0;border-top:1.5px solid var(--rule-strong);border-bottom:1px solid var(--rule)}
@media(min-width:900px){.hmeta{grid-template-columns:1.6fr 1fr auto;gap:52px;align-items:start}}
.hmeta .blurb{font-size:clamp(1.05rem,1.9vw,1.22rem);max-width:48ch;color:var(--ink)}
.facts{font-size:15px;color:var(--mid);display:grid;gap:9px;margin:0}
.facts div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding-bottom:9px}
.facts dt{margin:0}
.facts dd{color:var(--ink);font-weight:600;margin:0}
.hacts{display:flex;flex-direction:column;gap:12px}

/* ---------- Abschnitte ---------- */
.sec{padding:84px 0}
.sec-top{padding-top:0}
.head-row{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;justify-content:space-between;margin-bottom:0;padding-bottom:14px}
.head-row h2{font-size:clamp(1.7rem,4.6vw,3rem);font-weight:700;letter-spacing:-.05em;line-height:1.04}
.head-row a{font-size:15px;font-weight:600;color:var(--accent)}
.head-row a:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- Beitragsliste ---------- */
.cards{display:block;border-top:1.5px solid var(--rule-strong)}
.post-row{display:grid;gap:12px;padding:34px 0;border-bottom:1px solid var(--rule)}
@media(min-width:900px){.post-row{grid-template-columns:.42fr 1fr;gap:56px}}
.row-meta{font-size:14px;color:var(--mid);display:flex;flex-direction:column;gap:4px}
.row-meta b{font-weight:600;color:var(--ink);font-size:15px}
.row-meta b a:hover{color:var(--accent)}
.post-row h2,.post-row h3{font-size:clamp(1.4rem,3.3vw,2.1rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;max-width:26ch}
.post-row h2 a,.post-row h3 a{transition:color .18s}
.post-row:hover h2 a,.post-row:hover h3 a{color:var(--accent)}
.post-row p{margin-top:14px;color:var(--mid);max-width:58ch;font-size:16.5px}

/* ---------- Zitat-Band ---------- */
.band{padding:76px 0;border-top:1.5px solid var(--rule-strong);border-bottom:1.5px solid var(--rule-strong);
background:var(--band-bg);color:var(--band-fg);transition:background .25s,color .25s}
.band blockquote{font-size:clamp(1.5rem,4.4vw,2.9rem);font-weight:600;letter-spacing:-.045em;line-height:1.14;max-width:28ch}
.band cite{display:block;margin-top:26px;font-style:normal;font-size:15px;color:var(--band-dim)}

.after-band{height:84px}

/* ---------- Newsletter ---------- */
.cta-box{border-top:3px solid var(--rule-strong);padding-top:34px;display:grid;gap:30px}
@media(min-width:1000px){.cta-box{grid-template-columns:repeat(12,1fr);gap:24px}.cta-a{grid-column:1/span 6}.cta-b{grid-column:7/span 6;align-self:end}}
.cta-box h2{font-size:clamp(1.7rem,4.2vw,2.7rem);font-weight:700;letter-spacing:-.05em;line-height:1.06;max-width:20ch}
.cta-box p{color:var(--mid);margin-top:16px;max-width:44ch}
.cta-form{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--rule-strong)}
.cta-form input[type=email],.cta-form input[type=text]{font-size:17px;padding:16px 2px;border:0;background:transparent;
color:var(--ink);flex:1;min-width:200px}
.cta-form input::placeholder{color:var(--faint)}
.cta-form input:focus{outline:0}
.cta-form .btn{border:0;padding:16px 26px}
.fine{margin-top:14px;font-size:14px;color:var(--mid)}
.fine a{text-decoration:underline}

/* ---------- Artikel ---------- */
.entry-head{padding:52px 0 0}
@media(min-width:900px){.entry-head{padding:80px 0 0}}
.entry-head .kind{font-size:15px;font-weight:600;color:var(--accent)}
.entry-head h1{font-size:clamp(2.2rem,7vw,4.6rem);line-height:.96;font-weight:800;letter-spacing:-.055em;margin-top:18px;max-width:20ch}
.entry-meta{margin-top:26px;padding-top:18px;border-top:1.5px solid var(--rule-strong);font-size:14.5px;color:var(--mid);display:flex;flex-wrap:wrap;gap:22px}
.entry-hero{margin:44px auto 0;max-width:1280px;padding:0 28px}
.entry-hero img{width:100%}
.entry{padding:48px 0 76px;font-size:18.5px;line-height:1.72}
.entry>*{margin-bottom:1.3em}
.entry>*:last-child{margin-bottom:0}
.entry h2{font-size:clamp(1.55rem,3.6vw,2.1rem);font-weight:700;letter-spacing:-.045em;line-height:1.14;margin-top:2.1em}
.entry h3{font-size:clamp(1.22rem,2.6vw,1.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.22;margin-top:1.8em}
.entry h4{font-size:1.12rem;font-weight:600;margin-top:1.6em}
.entry a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.entry a:hover{text-decoration-thickness:2.5px}
.entry ul,.entry ol{padding-left:1.25em}
.entry li{margin-bottom:.5em}
.entry li::marker{color:var(--accent)}
.entry blockquote{border-left:3px solid var(--rule-strong);padding:2px 0 2px 24px;margin-left:0;font-size:1.12em;font-weight:500}
.entry blockquote p{color:inherit}
.entry figcaption{font-size:14px;color:var(--mid);margin-top:10px}
.entry code{font-family:var(--mono);font-size:.86em;background:var(--soft);padding:3px 7px;border:1px solid var(--rule)}
.entry pre{background:var(--soft);border:1px solid var(--rule);padding:22px;overflow-x:auto;font-size:15px}
.entry pre code{background:none;border:0;padding:0}
.entry hr{border:0;border-top:1.5px solid var(--rule-strong);margin:2.6em 0}
.entry table{width:100%;border-collapse:collapse;font-size:16px}
.entry th,.entry td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule)}
.entry th{font-weight:700;border-bottom-color:var(--rule-strong)}
.entry .wp-block-table{overflow-x:auto}
.entry .wp-block-pullquote{border-top:1.5px solid var(--rule-strong);border-bottom:1.5px solid var(--rule-strong);padding:30px 0;text-align:center}
.entry .wp-block-button__link{display:inline-block;background:var(--btn-bg);color:var(--btn-fg);padding:16px 28px;font-weight:600;text-decoration:none}
.entry .alignleft{float:left;margin:0 1.6em 1.2em 0;max-width:46%}
.entry .alignright{float:right;margin:0 0 1.2em 1.6em;max-width:46%}
.entry .aligncenter{margin-left:auto;margin-right:auto}
.entry .alignwide{width:min(1180px,calc(100vw - 56px));margin-left:50%;transform:translateX(-50%);max-width:none}
.entry .alignfull{width:100vw;margin-left:50%;transform:translateX(-50%);max-width:none}
@media(max-width:800px){.entry .alignleft,.entry .alignright{float:none;margin:0 0 1.2em;max-width:100%}}
.entry-foot{display:flex;flex-wrap:wrap;gap:10px;padding-top:28px;border-top:1px solid var(--rule)}
.tag-link{font-size:14px;padding:7px 15px;border:1.5px solid var(--rule);color:var(--mid)}
.tag-link:hover{border-color:var(--rule-strong);color:var(--ink)}

/* ---------- Seitenkopf, Blättern, Kommentare ---------- */
.page-head{padding:56px 0 10px}
@media(min-width:900px){.page-head{padding:84px 0 14px}}
.page-head h1{font-size:clamp(2.2rem,7vw,4.4rem);font-weight:800;letter-spacing:-.06em;line-height:.96;max-width:20ch}
.page-head p{color:var(--mid);margin-top:18px;max-width:52ch}
.pager{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}
.pager .page-numbers{display:grid;place-items:center;min-width:46px;height:46px;padding:0 14px;
border:1.5px solid var(--rule);font-weight:600;font-size:15px}
.pager .page-numbers:hover{border-color:var(--rule-strong)}
.pager .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.comments{padding:0 0 76px}
.comments h2{font-size:1.6rem;font-weight:700;letter-spacing:-.04em;margin-bottom:24px;padding-bottom:14px;border-bottom:1.5px solid var(--rule-strong)}
.comment-list{list-style:none;padding:0;margin:0}
.comment-list ol.children{list-style:none;padding-left:26px;margin:0}
.comment-body{padding:22px 0;border-bottom:1px solid var(--rule)}
.comment-meta{font-size:13.5px;color:var(--faint);margin-bottom:10px}
.comment-author img{border-radius:99px;display:inline-block;vertical-align:middle;margin-right:8px}
.comment-form{display:grid;gap:14px;margin-top:30px}
.comment-form label{font-size:14.5px;font-weight:600}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
width:100%;padding:14px 14px;border:1.5px solid var(--rule);background:transparent;color:var(--ink);font-size:16px}
.comment-form textarea{min-height:150px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--rule-strong)}
.comment-form .form-submit{margin:0}
.comment-form .submit{font-size:16px;font-weight:600;padding:16px 28px;border:0;cursor:pointer;background:var(--btn-bg);color:var(--btn-fg)}

/* ---------- Suche & Leerzustand ---------- */
.searchform{display:flex;gap:0;flex-wrap:wrap;margin-top:26px;border-bottom:2px solid var(--rule-strong);max-width:560px}
.searchform input[type=search]{font-size:17px;padding:15px 2px;border:0;background:transparent;color:var(--ink);flex:1;min-width:180px}
.searchform input:focus{outline:0}
.searchform .btn{border:0;padding:15px 24px}
.empty{padding:40px 0 10px;color:var(--mid);font-size:1.1rem}

/* ---------- Fußzeile ---------- */
.site-foot{padding:36px 0;font-size:14px;color:var(--mid);border-top:1.5px solid var(--rule-strong);margin-top:70px}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.site-foot ul{display:flex;flex-wrap:wrap;gap:20px;list-style:none;padding:0;margin:0}
.site-foot a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

.admin-bar .skip-link:focus{top:32px}
