/*
Theme Name:   GCN Child
Theme URI:    https://gcn.com
Description:  Child-Theme für Global Current News. Basiert auf GeneratePress.
Author:       GCN
Template:     generatepress
Version:      1.0.0
Text Domain:  gcn-child
*/

/* =========================================================
   1. Design-Tokens
   ========================================================= */
:root{
  --gcn-ink:#14161B;
  --gcn-paper:#FFFFFF;
  --gcn-muted:#71767F;
  --gcn-rule:#E7E9EC;
  --gcn-accent:#1F5C4B;
  --gcn-slot:#F6F7F8;
  --gcn-measure:640px;
}

/* =========================================================
   2. Grundtypografie
   ========================================================= */
body{
  font-family:"Newsreader",Georgia,serif;
  color:var(--gcn-ink);
  background:var(--gcn-paper);
  -webkit-font-smoothing:antialiased;
}

.site-header,.main-navigation,.entry-meta,.gcn-margin,
.entry-title,h1,h2,h3,h4,.widget-title,button,input,
.gcn-author,.gcn-ad,figcaption,.page-header{
  font-family:"Archivo",system-ui,-apple-system,sans-serif;
}

a{color:var(--gcn-accent)}
a:focus-visible{outline:2px solid var(--gcn-accent);outline-offset:3px}

/* =========================================================
   3. Kopfzeile
   ========================================================= */
.site-header{border-bottom:1px solid var(--gcn-rule);padding:0}
.site-header .inside-header{padding:18px 24px}
.main-title,.site-title a{font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--gcn-ink)}
.main-navigation a{
  font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--gcn-muted);
}
.main-navigation a:hover{color:var(--gcn-ink)}
.main-navigation{background:transparent}

/* =========================================================
   4. Artikelseite
   ========================================================= */
.single-post .inside-article{
  position:relative;
  max-width:var(--gcn-measure);
  margin:0 auto;
  padding:48px 0 0;
}

/* GeneratePress-Standardmeta ausblenden — wir setzen eigene */
.single-post .entry-meta{display:none}

.single-post .entry-title{
  font-weight:600;
  font-size:clamp(29px,4.4vw,44px);
  line-height:1.1;
  letter-spacing:-.022em;
  margin:0 0 20px;
}

/* Vorspann (aus dem Auszug) */
.gcn-standfirst{
  font-family:"Archivo",sans-serif;
  font-weight:400;
  font-size:clamp(17px,2vw,20px);
  line-height:1.5;
  color:var(--gcn-muted);
  margin:0 0 34px;
}

/* --- Die hängende Marginalie: das Signature-Element --- */
.gcn-margin{
  margin:0 0 30px;
  padding-bottom:14px;
  border-bottom:1px solid var(--gcn-rule);
}
.gcn-margin .gcn-section{
  display:inline-block;
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gcn-accent);
  padding-bottom:9px;
  border-bottom:1px solid var(--gcn-ink);
}
.gcn-margin .gcn-stamp{
  display:flex;gap:16px;margin-top:12px;
  font-size:12px;color:var(--gcn-muted);
}

/* Ab 1080px hängt sie links neben dem Text */
@media(min-width:1080px){
  .single-post .inside-article{overflow:visible}
  .gcn-margin{
    position:absolute;
    left:-190px;
    top:48px;
    width:150px;
    margin:0;padding:0;border:0;
  }
  .gcn-margin .gcn-stamp{
    display:block;line-height:1.7;margin-top:14px;
  }
}

/* Beitragsbild */
.single-post .featured-image,
.single-post .post-image{margin:0 0 12px}
.single-post .post-image img{
  width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--gcn-rule);
}
.single-post figcaption,
.single-post .wp-caption-text{
  font-size:12px;color:var(--gcn-muted);padding-top:9px;line-height:1.45;
}

/* Fließtext */
.single-post .entry-content p{
  font-size:19.5px;line-height:1.65;margin:0 0 22px;
}
.single-post .entry-content h2{
  font-weight:600;font-size:20px;letter-spacing:-.005em;margin:40px 0 16px;
}
.single-post .entry-content a{
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
}

/* =========================================================
   5. Autorenbox
   ========================================================= */
.gcn-author{
  display:flex;gap:14px;align-items:center;
  border-top:1px solid var(--gcn-rule);
  margin-top:48px;padding-top:22px;
}
.gcn-author img,.gcn-author .gcn-avatar{
  width:44px;height:44px;border-radius:50%;flex:none;
}
.gcn-author .gcn-avatar{
  background:var(--gcn-ink);color:#fff;
  display:grid;place-items:center;font-weight:600;font-size:14px;
}
.gcn-author .gcn-name{font-weight:600;font-size:14.5px;color:var(--gcn-ink)}
.gcn-author .gcn-bio{font-size:13.5px;color:var(--gcn-muted);line-height:1.45;margin-top:2px}

/* =========================================================
   6. Anzeigenflächen (feste Höhe = CLS 0)
   ========================================================= */
.gcn-ad{
  background:var(--gcn-slot);border:1px solid var(--gcn-rule);
  display:grid;place-items:center;margin:36px 0;
}
.gcn-ad::before{
  content:attr(data-label);
  font-size:10px;font-weight:500;letter-spacing:.14em;
  color:#9AA0A8;text-transform:uppercase;
}
.gcn-ad.is-lead{min-height:100px}
.gcn-ad.is-mid{min-height:250px}

.gcn-ad.is-rail{min-height:600px;margin:0}

/* =========================================================
   7. Gemeinsame Bausteine
   ========================================================= */
.gcn-home,.gcn-archive,.gcn-profile{
  max-width:1100px;margin:0 auto;padding:0 16px;
}
.gcn-label{
  font-family:"Archivo",sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gcn-accent);text-decoration:none;
}
.gcn-rule-label{
  border-bottom:1px solid var(--gcn-ink);
  padding-bottom:9px;margin-bottom:22px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.gcn-rule-label a{font-family:"Archivo",sans-serif;font-size:11px;font-weight:500;color:var(--gcn-muted);text-decoration:none}
.gcn-meta{font-family:"Archivo",sans-serif;font-size:12px;color:var(--gcn-muted)}

/* =========================================================
   8. Startseite
   ========================================================= */
.gcn-hero{
  display:grid;grid-template-columns:1.55fr 1fr;gap:44px;
  padding:40px 0 8px;border-bottom:1px solid var(--gcn-rule);
}
@media(max-width:900px){.gcn-hero{grid-template-columns:1fr;gap:32px}}

.gcn-lead h2{
  font-family:"Archivo",sans-serif;font-weight:600;
  font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.022em;
  margin:14px 0 12px;
}
.gcn-lead h2 a{color:var(--gcn-ink);text-decoration:none}
.gcn-lead h2 a:hover{color:var(--gcn-accent)}
.gcn-dek{
  font-family:"Archivo",sans-serif;font-size:17px;line-height:1.5;
  color:var(--gcn-muted);margin:0 0 12px;
}
.gcn-lead img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--gcn-rule)}
.gcn-lead .gcn-meta{display:block;padding-top:10px}

.gcn-wire ul{list-style:none;margin:0;padding:0}
.gcn-wire li{
  border-bottom:1px solid var(--gcn-rule);
  padding:0 0 14px;margin-bottom:14px;
  display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:baseline;
}
.gcn-wire li:last-child{border-bottom:0}
.gcn-wire time{font-family:"Archivo",sans-serif;font-size:11px;font-weight:500;color:var(--gcn-accent);letter-spacing:.04em}
.gcn-wire a{
  font-family:"Archivo",sans-serif;font-size:15px;font-weight:500;
  line-height:1.35;letter-spacing:-.005em;color:var(--gcn-ink);text-decoration:none;
}
.gcn-wire a:hover{color:var(--gcn-accent)}

.gcn-block{padding:40px 0 0}
.gcn-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:900px){.gcn-cards{grid-template-columns:1fr;gap:28px}}
.gcn-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--gcn-rule);margin-bottom:12px}
.gcn-card h3{
  font-family:"Archivo",sans-serif;font-weight:600;font-size:18px;
  line-height:1.28;letter-spacing:-.01em;margin:0 0 8px;
}
.gcn-card h3 a{color:var(--gcn-ink);text-decoration:none}
.gcn-card h3 a:hover{color:var(--gcn-accent)}
.gcn-card .gcn-meta{display:block}

.gcn-news{
  border-top:1px solid var(--gcn-rule);border-bottom:1px solid var(--gcn-rule);
  margin-top:56px;padding:36px 0;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
@media(max-width:900px){.gcn-news{grid-template-columns:1fr;gap:20px}}
.gcn-news h3{font-family:"Archivo",sans-serif;font-weight:600;font-size:22px;letter-spacing:-.015em;margin:6px 0}
.gcn-news p{font-family:"Archivo",sans-serif;font-size:14px;color:var(--gcn-muted);margin:0;line-height:1.5}
.gcn-form{display:flex;gap:8px}
.gcn-form input{flex:1;font-family:"Archivo",sans-serif;font-size:14px;padding:13px 14px;border:1px solid var(--gcn-rule);border-radius:2px}
.gcn-form button{
  font-family:"Archivo",sans-serif;font-size:13px;font-weight:600;
  background:var(--gcn-ink);color:#fff;border:0;padding:13px 20px;border-radius:2px;cursor:pointer;
}

/* =========================================================
   9. Archiv (Kategorie + Autor)
   ========================================================= */
.gcn-archive-head{padding:48px 0 26px;border-bottom:1px solid var(--gcn-ink);margin-bottom:30px}
.gcn-archive-head h1{
  font-family:"Archivo",sans-serif;font-weight:600;
  font-size:clamp(30px,4vw,42px);letter-spacing:-.025em;margin:12px 0 10px;
}
.gcn-archive-desc,.gcn-archive-desc p{
  font-family:"Archivo",sans-serif;font-size:16px;color:var(--gcn-muted);
  line-height:1.55;max-width:600px;margin:0;
}

.gcn-archive-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px}
@media(max-width:1000px){
  .gcn-archive-grid{grid-template-columns:1fr}
  .gcn-rail{display:none}
}

.gcn-row{
  display:grid;grid-template-columns:240px 1fr;gap:26px;
  padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--gcn-rule);
}
@media(max-width:620px){.gcn-row{grid-template-columns:1fr;gap:14px}}
.gcn-row img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--gcn-rule)}
.gcn-row h3{
  font-family:"Archivo",sans-serif;font-weight:600;font-size:20px;
  line-height:1.26;letter-spacing:-.012em;margin:8px 0;
}
.gcn-row h3 a{color:var(--gcn-ink);text-decoration:none}
.gcn-row h3 a:hover{color:var(--gcn-accent)}
.gcn-row p{font-family:"Archivo",sans-serif;font-size:14.5px;color:var(--gcn-muted);line-height:1.5;margin:0 0 10px}

.gcn-pager{display:flex;gap:8px;padding:14px 0 0}
.gcn-pager .page-numbers{
  font-family:"Archivo",sans-serif;font-size:13px;font-weight:500;
  border:1px solid var(--gcn-rule);padding:9px 14px;border-radius:2px;
  color:var(--gcn-muted);text-decoration:none;
}
.gcn-pager .page-numbers.current{background:var(--gcn-ink);color:#fff;border-color:var(--gcn-ink)}

/* =========================================================
   10. Autorenseite
   ========================================================= */
.gcn-profile-head{
  display:flex;gap:24px;align-items:center;
  padding:52px 0 28px;border-bottom:1px solid var(--gcn-ink);margin-bottom:32px;
}
.gcn-profile-head img{width:76px;height:76px;border-radius:50%;flex:none}
.gcn-profile-head h1{font-family:"Archivo",sans-serif;font-weight:600;font-size:32px;letter-spacing:-.02em;margin:8px 0}
.gcn-profile-head p{font-family:"Archivo",sans-serif;font-size:15px;color:var(--gcn-muted);line-height:1.55;margin:0;max-width:520px}
.gcn-links{margin-top:10px}
.gcn-links a{font-family:"Archivo",sans-serif;font-size:12px;font-weight:500;color:var(--gcn-accent)}
@media(max-width:620px){.gcn-profile-head{flex-direction:column;align-items:flex-start;gap:16px}}

/* =========================================================
   8. Fußzeile
   ========================================================= */
.site-footer{border-top:1px solid var(--gcn-rule);background:transparent}
.site-info{font-family:"Archivo",sans-serif;font-size:12px;color:var(--gcn-muted)}

/* Wortmarke Poppins (wie Favicon) */
.site-branding .main-title a{font-family:"Poppins",sans-serif !important;font-weight:700 !important;letter-spacing:-.01em;}
