/*
Theme Name: SSG 1927 — Editorial (Customify Child)
Template: customify
Description: Komplettes Editorial-Theme für die Saßnitzer Schützengilde 1927/1990 e.V. — verwandelt alle bestehenden WordPress-Seiten in den Editorial-Look mit Fraunces-Typografie, Waldgrün-Palette und Vereinswappen. Bringt Page-Templates für Geschichte, Vorstand, Termine und Anlage mit, sowie 8 Block Patterns für den Gutenberg-Editor.
Author: SSG 1927
Author URI: https://ssg1927.de/
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: ssg1927-editorial
*/

/* =====================================================================
   1. CUSTOM PROPERTIES (Design-Tokens)
   ===================================================================== */
:root{
  /* Farben */
  --ssg-green-deep:#142a1d;
  --ssg-green:#1d3a26;
  --ssg-green-mid:#2d4f37;
  --ssg-moss:#5a7349;
  --ssg-paper:#faf6ec;
  --ssg-cream:#f4ecd6;
  --ssg-cream-warm:#ede1c1;
  --ssg-parchment:#f0e3c9;
  --ssg-brass:#b8924a;
  --ssg-brass-bright:#d4af6a;
  --ssg-oxblood:#6b1818;
  --ssg-bullseye:#b21f1f;
  --ssg-ink:#0e1d14;
  --ssg-ink-soft:#34423a;
  --ssg-rule:rgba(20,42,29,.15);
  --ssg-rule-strong:rgba(20,42,29,.3);

  /* Typografie */
  --ssg-font-display:'Fraunces', Georgia, serif;
  --ssg-font-body:'Lora', Georgia, serif;
  --ssg-font-mono:'JetBrains Mono', 'Courier New', monospace;

  /* Abstände */
  --ssg-space-section:7rem;
  --ssg-space-block:4rem;
  --ssg-max-content:1240px;
  --ssg-max-text:62ch;
}

/* =====================================================================
   2. BASE — überschreibt Customify-Defaults
   ===================================================================== */
html, body{
  background:var(--ssg-paper) !important;
  color:var(--ssg-ink) !important;
  font-family:var(--ssg-font-body) !important;
  font-size:17px !important;
  line-height:1.7 !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Papier-Textur */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.08 0 0 0 0 0.16 0 0 0 0 0.11 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.35;mix-blend-mode:multiply;
}

/* Sichergehen, dass Hauptcontainer über der Textur liegt */
#page, .site, .ssg-site{position:relative;z-index:2}

/* Customify's Containers neutralisieren */
.ssg-site .container,
.ssg-site .site-content,
.ssg-site .content-area,
.ssg-site .site-main{
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* =====================================================================
   3. TYPOGRAFIE
   ===================================================================== */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title{
  font-family:var(--ssg-font-display) !important;
  font-weight:500 !important;
  letter-spacing:-.015em !important;
  line-height:1.1 !important;
  color:var(--ssg-green-deep) !important;
  font-variation-settings:"opsz" 144, "SOFT" 30;
}
h1{font-size:clamp(2.4rem, 5vw, 4rem)}
h2{font-size:clamp(1.8rem, 3.5vw, 2.8rem); margin-top:2.5em; margin-bottom:.8em}
h3{font-size:clamp(1.4rem, 2.5vw, 1.8rem); margin-top:2em; margin-bottom:.6em}
h4{font-size:1.2rem; margin-top:1.8em; margin-bottom:.5em}
em, i{
  font-style:italic;
  font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;
}
strong, b{font-weight:600}

p{margin:0 0 1.3em; max-width:var(--ssg-max-text)}
.ssg-wide p{max-width:none}

ul, ol{margin:0 0 1.5em 1.5em; max-width:var(--ssg-max-text)}
li{margin-bottom:.5em; line-height:1.7}

blockquote, .wp-block-quote{
  border-left:3px solid var(--ssg-brass);
  padding:.5em 0 .5em 1.8em !important;
  margin:2em 0 !important;
  font-family:var(--ssg-font-display);
  font-size:1.4rem !important;
  line-height:1.35 !important;
  font-style:italic;
  color:var(--ssg-green-deep);
  font-variation-settings:"opsz" 144, "SOFT" 100;
  max-width:48ch;
  background:transparent !important;
}
blockquote cite, .wp-block-quote cite{
  display:block;
  margin-top:.8em;
  font-family:var(--ssg-font-mono);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ssg-brass);
  font-style:normal;
}

a{
  color:var(--ssg-green-deep);
  text-decoration:underline;
  text-decoration-color:var(--ssg-brass);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  transition:color .2s ease, text-decoration-color .2s ease;
}
a:hover{color:var(--ssg-brass); text-decoration-color:var(--ssg-brass-bright)}

code, pre{
  font-family:var(--ssg-font-mono);
}

/* WordPress Standard-Klassen */
.alignwide{max-width:1200px}
.alignfull{width:100vw; margin-left:calc(50% - 50vw); max-width:none}
.aligncenter{display:block; margin:0 auto}
.wp-caption-text{font-style:italic; color:var(--ssg-ink-soft); font-size:.9rem; margin-top:.5em}
img{max-width:100%; height:auto}

/* =====================================================================
   4. HEADER (eigener Editorial-Header)
   ===================================================================== */
.ssg-topbar{
  background:var(--ssg-green-deep);
  color:var(--ssg-cream);
  padding:.6rem 0;
  border-bottom:1px solid rgba(184,146,74,.25);
  position:relative;
  z-index:55;
}
.ssg-topbar-inner{
  max-width:var(--ssg-max-content);
  margin:0 auto;padding:0 2rem;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.74rem;
  font-family:var(--ssg-font-mono);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ssg-topbar-inner .accent{color:var(--ssg-brass-bright)}
.ssg-topbar-right{display:flex;gap:1.5rem;color:rgba(244,236,214,.7)}
.ssg-topbar-right a{
  color:inherit !important;
  text-decoration:none !important;
}
.ssg-topbar-right a:hover{color:var(--ssg-brass-bright) !important}

.ssg-nav{
  background:rgba(250,246,236,.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--ssg-rule);
  padding:1.3rem 0;
  position:sticky;top:0;z-index:50;
}
.ssg-nav-inner{
  max-width:var(--ssg-max-content);
  margin:0 auto;padding:0 2rem;
  display:flex;justify-content:space-between;align-items:center;
  gap:2rem;
}
.ssg-brand{
  display:flex;align-items:center;gap:1rem;
  text-decoration:none !important;
}
.ssg-brand-crest{width:46px;height:46px;flex:none}
.ssg-brand-text{display:flex;flex-direction:column;line-height:1.1}
.ssg-brand-name{
  font-family:var(--ssg-font-display);
  font-size:1.1rem;font-weight:600;
  font-variation-settings:"opsz" 144;
  color:var(--ssg-green-deep);
  letter-spacing:-.01em;
}
.ssg-brand-sub{
  font-family:var(--ssg-font-mono);
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-brass);margin-top:2px;
}
.ssg-menu{
  list-style:none;display:flex;gap:1.8rem;align-items:center;
  margin:0;padding:0;
}
.ssg-menu li{margin:0;list-style:none}
.ssg-menu a{
  font-family:var(--ssg-font-display);
  font-size:1rem;
  color:var(--ssg-ink) !important;
  text-decoration:none !important;
  position:relative;
  font-variation-settings:"opsz" 30, "wght" 450;
  padding:.3rem 0;
}
.ssg-menu a::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:var(--ssg-brass);transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.ssg-menu a:hover{color:var(--ssg-green-deep) !important}
.ssg-menu a:hover::after,
.ssg-menu .current-menu-item > a::after,
.ssg-menu .current_page_item > a::after{transform:scaleX(1)}
.ssg-menu .sub-menu{display:none}

/* Geschützte Menü-Einträge im Header (Mitgliederbereich) */
.ssg-menu .ssg-menu-protected .ssg-lock{
  font-size:.75rem;
  margin-right:.25rem;
  opacity:.7;
}
.ssg-menu .ssg-menu-protected a{
  color:var(--ssg-ink-soft) !important;
}
.ssg-menu .ssg-menu-protected a:hover{
  color:var(--ssg-brass) !important;
}

.ssg-nav-cta{
  background:var(--ssg-green-deep);
  color:var(--ssg-cream) !important;
  padding:.6rem 1.2rem;
  font-family:var(--ssg-font-mono);
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  border:1px solid var(--ssg-green-deep);
  text-decoration:none !important;
  transition:all .3s ease;
}
.ssg-nav-cta:hover{
  background:var(--ssg-brass);
  border-color:var(--ssg-brass);
  color:var(--ssg-green-deep) !important;
}

.ssg-burger{
  display:none !important;
  background:none;border:none;
  font-size:1.5rem;color:var(--ssg-green-deep);
  cursor:pointer;
}

/* =====================================================================
   5. PAGE-HEADER (für jede Standard-Seite)
   ===================================================================== */
.ssg-page-header{
  background:linear-gradient(180deg, var(--ssg-cream-warm) 0%, var(--ssg-paper) 100%);
  padding:5rem 0 4rem;
  border-bottom:1px solid var(--ssg-rule);
  position:relative;
}
.ssg-page-header::before{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(0deg, rgba(20,42,29,.02) 0 1px, transparent 1px 60px);
  pointer-events:none;
}
.ssg-page-header-inner{
  max-width:var(--ssg-max-content);
  margin:0 auto;padding:0 2rem;
  position:relative;
}
.ssg-page-eyebrow{
  font-family:var(--ssg-font-mono);
  font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:1rem;
}
.ssg-page-eyebrow::before{
  content:"";display:block;width:50px;height:1px;background:var(--ssg-brass);
}
.ssg-page-header h1{
  font-size:clamp(2.4rem, 5.5vw, 4.5rem) !important;
  max-width:18ch;
  margin:0;
}
.ssg-page-header h1 em{color:var(--ssg-brass)}

/* =====================================================================
   6. CONTENT-CONTAINER (das was the_content() umschließt)
   ===================================================================== */
.ssg-content{
  max-width:var(--ssg-max-content);
  margin:0 auto;
  padding:5rem 2rem 7rem;
}
.ssg-content-narrow{
  max-width:780px;
}
.ssg-content > * + *{margin-top:1.5em}
.ssg-content h1:first-child,
.ssg-content h2:first-child{margin-top:0}

/* Drop-Cap für den ersten Absatz auf Geschichts-/Story-Seiten */
.ssg-dropcap > p:first-of-type::first-letter,
.has-drop-cap:not(:focus)::first-letter{
  font-family:var(--ssg-font-display);
  font-size:5rem;
  float:left;
  line-height:.85;
  padding:.4rem 1rem 0 0;
  color:var(--ssg-brass);
  font-variation-settings:"opsz" 144, "SOFT" 80;
  font-style:normal;
  font-weight:400;
  text-transform:uppercase;
}

/* =====================================================================
   7. FOOTER (eigener Editorial-Footer)
   ===================================================================== */
.ssg-footer{
  background:var(--ssg-green-deep);
  color:var(--ssg-cream);
  padding:5rem 0 2rem;
  position:relative;
  z-index:5;
}
.ssg-footer-inner{
  max-width:var(--ssg-max-content);
  margin:0 auto;padding:0 2rem;
}
.ssg-footer-top{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(184,146,74,.2);
}
.ssg-footer-brand .ssg-brand-name{color:var(--ssg-cream) !important}
.ssg-footer-brand p{
  margin-top:1.5rem;
  color:rgba(244,236,214,.65);
  font-size:.95rem;line-height:1.7;
  max-width:34ch;
}
.ssg-footer h4{
  font-family:var(--ssg-font-mono) !important;
  font-size:.72rem !important;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ssg-brass-bright) !important;
  margin:0 0 1.4rem 0 !important;
}
.ssg-footer ul{list-style:none; margin:0; padding:0}
.ssg-footer li{margin-bottom:.7rem; list-style:none}
.ssg-footer a{
  color:rgba(244,236,214,.7) !important;
  text-decoration:none !important;
  font-size:.95rem;
  transition:color .25s ease;
}
.ssg-footer a:hover{color:var(--ssg-brass-bright) !important}

/* Geschützte Footer-Links (nur für Mitglieder) */
.ssg-footer .ssg-lock{
  display:inline-block;
  font-size:.7rem;
  margin-right:.3rem;
  opacity:.7;
  filter:hue-rotate(20deg) saturate(.8);
}
.ssg-footer .ssg-members-only{
  display:block;
  font-family:var(--ssg-font-mono);
  font-size:.62rem !important;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(184,146,74,.55);
  margin-top:.2rem;
  font-weight:400;
}
.ssg-footer a[title]:hover .ssg-members-only{
  color:var(--ssg-brass-bright);
}

.ssg-footer-bottom{
  padding-top:2rem;
  display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:1rem;
  font-family:var(--ssg-font-mono);
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,236,214,.5);
}

/* =====================================================================
   8. BLOCK PATTERNS — Editorial-Styling für Gutenberg-Blöcke
   ===================================================================== */

/* Hero-Sektion */
.ssg-hero{
  background:
    radial-gradient(ellipse 80% 60% at 30% 20%, rgba(184,146,74,.08), transparent 60%),
    radial-gradient(ellipse 70% 50% at 80% 80%, rgba(20,42,29,.4), transparent 70%),
    linear-gradient(180deg, var(--ssg-green-deep) 0%, #0c1c12 100%);
  color:var(--ssg-cream) !important;
  padding:6rem 2rem 7rem !important;
  margin:-5rem -2rem 5rem !important;
  border-bottom:6px solid var(--ssg-brass);
  position:relative;
  overflow:hidden;
}
.ssg-hero h1, .ssg-hero h2{
  color:var(--ssg-cream) !important;
  font-size:clamp(3rem, 7vw, 6.5rem) !important;
}
.ssg-hero h1 em, .ssg-hero h2 em{color:var(--ssg-brass-bright) !important}
.ssg-hero p{color:rgba(244,236,214,.85)}
.ssg-hero .ssg-eyebrow{
  color:var(--ssg-brass-bright);
  display:flex;align-items:center;gap:1rem;justify-content:center;
  font-family:var(--ssg-font-mono);
  font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;
  margin-bottom:2rem;
}
.ssg-hero .ssg-eyebrow::before,
.ssg-hero .ssg-eyebrow::after{
  content:"";display:block;width:60px;height:1px;background:var(--ssg-brass);
}

/* Section-Header (Eyebrow + H2 + Lede) */
.ssg-section-header{
  display:grid;grid-template-columns:1fr 2fr;gap:4rem;
  margin-bottom:4rem;align-items:end;
  border-bottom:1px solid var(--ssg-rule);
  padding-bottom:2.5rem;
}
.ssg-section-num{
  font-family:var(--ssg-font-mono);
  font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ssg-brass);
  display:flex;align-items:center;gap:1rem;
}
.ssg-section-num::before{
  content:"";width:50px;height:1px;background:var(--ssg-brass);
}
.ssg-section-header h2{
  font-size:clamp(2rem, 4vw, 3.5rem) !important;
  margin:0 !important;
  max-width:14ch;
}
.ssg-section-intro{
  font-size:1.1rem;
  color:var(--ssg-ink-soft);
  max-width:55ch;
  line-height:1.7;
}

/* Stat-Grid (Zahlen-Statistik) */
.ssg-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:2rem;
  margin:3rem 0;
}
.ssg-stat{
  border-top:2px solid var(--ssg-green-deep);
  padding-top:1rem;
}
.ssg-stat-num{
  font-family:var(--ssg-font-display);
  font-size:2.6rem;
  color:var(--ssg-green-deep);
  font-variation-settings:"opsz" 144;
  line-height:1;
  font-weight:400;
}
.ssg-stat-lbl{
  font-family:var(--ssg-font-mono);
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-ink-soft);
  margin-top:.6rem;
}

/* Karten-Grid (für Vorstand, Termine, Disziplinen, News) */
.ssg-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2rem;
  margin:3rem 0;
}
.ssg-cards.cols-2{grid-template-columns:repeat(2, 1fr)}
.ssg-cards.cols-4{grid-template-columns:repeat(4, 1fr)}

.ssg-card{
  background:#fff;
  border:1px solid var(--ssg-rule);
  padding:2.2rem;
  transition:all .4s cubic-bezier(.2,.8,.2,1);
  position:relative;
}
.ssg-card:hover{
  transform:translateY(-3px);
  border-color:var(--ssg-brass);
  box-shadow:0 25px 50px -25px rgba(20,42,29,.18);
}
.ssg-card-meta{
  font-family:var(--ssg-font-mono);
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:1rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--ssg-rule);
}
.ssg-card h3{
  font-size:1.5rem !important;
  margin:0 0 1rem !important;
  color:var(--ssg-green-deep) !important;
}
.ssg-card p{
  color:var(--ssg-ink-soft);
  font-size:.95rem;
  margin:0;
}

/* Vorstand-Karte (mit Portrait-Initialen) */
.ssg-vorstand-portrait{
  width:88px;height:88px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--ssg-green-mid), var(--ssg-green-deep));
  display:flex;align-items:center;justify-content:center;
  color:var(--ssg-brass-bright);
  font-family:var(--ssg-font-display);
  font-size:2rem;font-weight:400;
  margin-bottom:1.5rem;
  border:3px solid var(--ssg-cream);
  box-shadow:0 0 0 1px var(--ssg-brass);
}
.ssg-vorstand-role{
  font-family:var(--ssg-font-mono);
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:.5rem;
}

/* Termin-Eintrag */
.ssg-termin-liste{
  list-style:none !important;
  margin:0 !important;padding:0;
  max-width:none;
}
.ssg-termin-liste > li{
  list-style:none;
  display:grid !important;
  grid-template-columns:150px 1fr 200px auto;
  gap:2.5rem;align-items:center;
  padding:1.8rem 0 !important;
  border-bottom:1px solid var(--ssg-rule);
  margin:0 !important;
  transition:all .35s ease;
}
.ssg-termin-liste > li:hover{padding-left:1rem !important; background:rgba(184,146,74,.04)}
.ssg-termin-date{
  font-family:var(--ssg-font-display);
  font-size:1.4rem;
  color:var(--ssg-brass);
  font-weight:400;
  font-variation-settings:"opsz" 144;
  line-height:1.1;
}
.ssg-termin-date small{
  display:block;
  font-family:var(--ssg-font-mono);
  font-size:.65rem;letter-spacing:.18em;
  color:var(--ssg-ink-soft);
  text-transform:uppercase;
  margin-top:.3rem;
  font-weight:400;
}
.ssg-termin-title{
  font-family:var(--ssg-font-display);
  font-size:1.3rem;
  color:var(--ssg-green-deep);
  font-variation-settings:"opsz" 144;
}
.ssg-termin-where{
  font-family:var(--ssg-font-mono);
  font-size:.78rem;letter-spacing:.06em;
  color:var(--ssg-ink-soft);
}
.ssg-termin-tag{
  font-family:var(--ssg-font-mono);
  font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.4rem .9rem;
  border:1px solid var(--ssg-brass);
  color:var(--ssg-brass);
}
.ssg-termin-tag.highlight{
  background:var(--ssg-brass);
  color:var(--ssg-green-deep);
}

/* Pull-Quote im Editorial-Stil */
.ssg-pull-quote{
  border-left:3px solid var(--ssg-brass);
  padding:1.5rem 0 1.5rem 2rem;
  margin:3rem 0;
  font-family:var(--ssg-font-display);
  font-size:1.6rem;
  line-height:1.3;
  font-style:italic;
  color:var(--ssg-green-deep);
  font-variation-settings:"opsz" 144, "SOFT" 100, "WONK" 1;
  max-width:42ch;
}
.ssg-pull-quote cite{
  display:block; margin-top:1rem;
  font-family:var(--ssg-font-mono);
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-brass);font-style:normal;
}

/* Marginalia/Fakten-Box */
.ssg-marginalia{
  padding:2rem;
  background:rgba(184,146,74,.06);
  border-left:3px solid var(--ssg-brass);
  margin:2rem 0;
}
.ssg-marginalia-label{
  font-family:var(--ssg-font-mono);
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:1rem;
  display:block;
}
.ssg-marginalia-num{
  font-family:var(--ssg-font-display);
  font-size:2.2rem;
  color:var(--ssg-brass);
  display:block;
  line-height:1;
  margin-bottom:.4rem;
  font-variation-settings:"opsz" 144;
}

/* Akt-Block (für Chronik / Geschichts-Erzählungen) */
.ssg-akt{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:3rem;
  padding:5rem 0;
  border-bottom:1px solid var(--ssg-rule);
  align-items:start;
}
.ssg-akt:last-child{border-bottom:none}
.ssg-akt-marker{position:sticky; top:7rem}
.ssg-akt-roman{
  font-family:var(--ssg-font-display);
  font-size:5rem;
  color:var(--ssg-brass);
  font-variation-settings:"opsz" 144, "SOFT" 50, "WONK" 1;
  font-style:italic;
  line-height:.9;
  font-weight:400;
}
.ssg-akt-year{
  font-family:var(--ssg-font-mono);
  font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-top:1rem;
  display:block;
}
.ssg-akt-eyebrow{
  font-family:var(--ssg-font-mono);
  font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:1rem;
  display:block;
}
.ssg-akt h2{
  font-size:clamp(2rem, 4vw, 3rem) !important;
  margin:0 0 2rem !important;
  max-width:18ch;
}

/* Disziplin-Karte mit Icon */
.ssg-disziplinen{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-top:1px solid var(--ssg-rule);
  border-left:1px solid var(--ssg-rule);
  margin:3rem 0;
}
.ssg-disziplin{
  padding:3rem 2.5rem;
  border-right:1px solid var(--ssg-rule);
  border-bottom:1px solid var(--ssg-rule);
  background:#fff;
  transition:background .4s ease;
  position:relative;
}
.ssg-disziplin:hover{background:var(--ssg-cream-warm)}
.ssg-disziplin-num{
  font-family:var(--ssg-font-mono);
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:1.5rem;
  display:block;
}
.ssg-disziplin-icon{
  width:56px;height:56px;
  margin-bottom:1.5rem;
  color:var(--ssg-green-deep);
}
.ssg-disziplin h3{
  font-size:1.5rem !important;
  margin:0 0 .5rem !important;
}
.ssg-disziplin .dist{
  font-family:var(--ssg-font-mono);
  font-size:.78rem;letter-spacing:.16em;
  color:var(--ssg-brass);
  margin-bottom:1.2rem;
  text-transform:uppercase;
}

/* =====================================================================
   9. WORDPRESS-SPEZIFISCHES
   ===================================================================== */

/* Buttons (WP Default + Customify) */
.wp-block-button__link,
.wp-block-button .wp-block-button__link,
.button,
button:not(.ssg-burger):not(.toggle-mobile-menu),
input[type="submit"]{
  background:var(--ssg-green-deep) !important;
  color:var(--ssg-cream) !important;
  font-family:var(--ssg-font-mono) !important;
  font-size:.78rem !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  padding:1rem 2rem !important;
  border:1px solid var(--ssg-green-deep) !important;
  border-radius:0 !important;
  text-decoration:none !important;
  transition:all .3s ease !important;
  cursor:pointer;
  display:inline-block;
}
.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover{
  background:var(--ssg-brass) !important;
  border-color:var(--ssg-brass) !important;
  color:var(--ssg-green-deep) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent !important;
  color:var(--ssg-green-deep) !important;
}

/* Form-Felder */
input[type="text"], input[type="email"], input[type="url"],
input[type="tel"], input[type="password"], input[type="search"],
input[type="number"], textarea, select{
  background:#fff !important;
  border:1px solid var(--ssg-rule-strong) !important;
  color:var(--ssg-ink) !important;
  padding:.85rem 1rem !important;
  font-family:var(--ssg-font-body) !important;
  font-size:1rem !important;
  border-radius:0 !important;
  transition:border-color .25s ease;
}
input:focus, textarea:focus, select:focus{
  outline:none !important;
  border-color:var(--ssg-brass) !important;
  box-shadow:0 0 0 3px rgba(184,146,74,.15);
}

/* Contact Form 7 */
.wpcf7-form p{margin-bottom:1.4rem}
.wpcf7-form label{
  display:block;
  font-family:var(--ssg-font-mono);
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ssg-brass);
  margin-bottom:.6rem;
}
.wpcf7-form input, .wpcf7-form textarea, .wpcf7-form select{
  width:100% !important;
}
.wpcf7-submit{width:auto !important}
.wpcf7-response-output{
  margin-top:1.5rem !important;
  padding:1rem !important;
  border:1px solid var(--ssg-rule-strong) !important;
  font-family:var(--ssg-font-mono);
  font-size:.85rem;
  border-radius:0 !important;
}
.wpcf7-not-valid-tip{
  color:var(--ssg-oxblood);
  font-family:var(--ssg-font-mono);
  font-size:.72rem;letter-spacing:.06em;
  margin-top:.4rem !important;
}

/* WP-Members Login-Formular */
#wpmem_login, #wpmem_register{
  max-width:480px;
  margin:2rem auto;
  padding:3rem;
  background:#fff;
  border:1px solid var(--ssg-rule);
}
#wpmem_login legend, #wpmem_register legend{
  font-family:var(--ssg-font-display);
  font-size:1.6rem;
  color:var(--ssg-green-deep);
  margin-bottom:2rem;
}

/* Tabellen */
table:not(.wp-block-table){
  width:100%; border-collapse:collapse;
  margin:1.5rem 0;
}
th{
  text-align:left;
  font-family:var(--ssg-font-mono);
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ssg-brass);
  padding:.9rem;
  border-bottom:2px solid var(--ssg-green-deep);
  background:transparent;
}
td{
  padding:.9rem;
  border-bottom:1px solid var(--ssg-rule);
  color:var(--ssg-ink-soft);
}
.wp-block-table table{
  border-collapse:collapse !important;
}

/* WordPress-Galerie */
.wp-block-gallery, .gallery{margin:2rem 0}
.wp-block-image figcaption{
  font-style:italic;
  color:var(--ssg-ink-soft);
  font-size:.9rem;
  text-align:center;
}

/* Robo Gallery (Plugin) */
.robogallery_wrap{margin:2rem 0 !important}

/* Veranstaltungen (Plugin Events Manager) */
.em-event-list, .em-calendar{
  font-family:var(--ssg-font-body) !important;
}

/* Suchformular */
.search-form input[type="search"]{width:300px}
.search-form button{margin-left:.5rem}

/* Comments */
.comments-area{
  max-width:780px;
  margin:3rem auto;
}

/* Editor Visibility */
.editor-styles-wrapper{
  font-family:var(--ssg-font-body);
  background:var(--ssg-paper);
  color:var(--ssg-ink);
}

/* =====================================================================
   10. RESPONSIVE
   ===================================================================== */
@media (max-width: 1024px){
  .ssg-footer-top{grid-template-columns:1fr 1fr; gap:2.5rem}
  .ssg-section-header{grid-template-columns:1fr; gap:1.5rem}
  .ssg-cards{grid-template-columns:repeat(2, 1fr)}
  .ssg-cards.cols-4{grid-template-columns:repeat(2, 1fr)}
  .ssg-disziplinen{grid-template-columns:repeat(2, 1fr)}
  .ssg-stats{grid-template-columns:repeat(2, 1fr)}
  .ssg-akt{grid-template-columns:80px 1fr; gap:2rem}
  .ssg-akt-marker{position:static}
  .ssg-akt-roman{font-size:4rem}
}

@media (max-width: 768px){
  body{font-size:16px !important}
  .ssg-topbar{padding:.5rem 0}
  .ssg-topbar-inner{padding:0 1rem; flex-wrap:wrap; gap:.5rem; font-size:.65rem}
  .ssg-topbar-right{flex-wrap:wrap; gap:1rem}
  .ssg-nav-inner{padding:0 1rem; gap:1rem}
  .ssg-brand-text{display:none}
  .ssg-menu{display:none}
  .ssg-burger{display:block !important}
  .ssg-nav-cta{display:none}

  .ssg-menu.is-open{
    display:flex !important;
    position:absolute;
    top:100%; left:0; right:0;
    flex-direction:column;
    background:var(--ssg-paper);
    padding:1.5rem 1.5rem;
    border-bottom:1px solid var(--ssg-rule);
    gap:1.2rem;
  }

  .ssg-page-header{padding:3.5rem 0 2.5rem}
  .ssg-page-header-inner{padding:0 1.2rem}
  .ssg-content{padding:3rem 1.2rem 5rem}

  .ssg-hero{padding:4rem 1.2rem 5rem !important; margin:-3rem -1.2rem 3rem !important}

  .ssg-cards{grid-template-columns:1fr}
  .ssg-disziplinen{grid-template-columns:1fr}
  .ssg-stats{grid-template-columns:1fr 1fr; gap:1.2rem}
  .ssg-akt{grid-template-columns:1fr; gap:1rem}
  .ssg-akt-marker{display:flex; align-items:baseline; gap:1.2rem; margin-bottom:1rem}
  .ssg-akt-year{margin-top:0}

  .ssg-termin-liste > li{
    grid-template-columns:1fr !important;
    gap:.8rem;
    padding:1.5rem 0 !important;
  }
  .ssg-termin-liste > li:hover{padding-left:0 !important}

  .ssg-footer{padding:3.5rem 0 1.5rem}
  .ssg-footer-inner{padding:0 1.2rem}
  .ssg-footer-top{grid-template-columns:1fr; gap:2.5rem; padding-bottom:2.5rem}
  .ssg-footer-bottom{flex-direction:column; gap:.8rem; align-items:flex-start}
}

@media (max-width: 380px){
  .ssg-pull-quote{font-size:1.15rem; padding-left:1.2rem}
  .ssg-stat-num{font-size:1.8rem}
  blockquote, .wp-block-quote{font-size:1.15rem !important; padding-left:1.2rem !important}
}

/* =====================================================================
   11. PRINT
   ===================================================================== */
@media print{
  body{font-size:11pt; background:#fff !important; color:#000 !important}
  body::before{display:none}
  .ssg-topbar, .ssg-nav, .ssg-footer{display:none}
  .ssg-page-header{background:none; padding:1cm 0; border:none}
  .ssg-content{padding:0; max-width:none}
  a{color:#000; text-decoration:none}
  h1, h2, h3{break-after:avoid}
  .ssg-card, .ssg-akt{break-inside:avoid}
}
