/* ============================================================
   config-gutstein.css
   gutstein. Corporate Design für cmxKonzepte (naio.gutstein.biz)
   Nachgebaut auf Basis von naio-produktvergleich.html
   Voraussetzung: diese Datei wird NACH basis.css geladen.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* --- gutstein-CI Farben --- */
  --ink:#1B2A3D;
  --paper:#F2F0E8;
  --paper2:#FFFFFF;
  --gold:#B98B32;
  --gold-dark:#8C6A24;
  --petrol:#1F6F63;
  --petrol-dark:#154F46;
  --text:#23262B;
  --muted:#6B6E68;
  --line:#DAD5C9;

  /* --- Systemvariablen, die basis.css erwartet --- */
  --Abstand: 24px;
  --AbstandHalb: 12px;
  --AbstandDoppelt: 48px;
  --Radius: 16px;
  --RadiusHalb: 10px;
  --font-size: 16px;
  --Lesebreite: 640px;
  /* --breite_layout bewusst NICHT hier — siehe Media Query unten */

  --Dunkler: var(--paper2);          /* Kartenflächen/Boxen: weiß auf Paper-Hintergrund */
  --Heller: var(--paper);
  --LinkColor: var(--petrol-dark);
  --Outline: 2px solid var(--petrol);
  --ButtonColor: #fff;
  --ButtonBackground: var(--petrol);
  --Shadow: 0 8px 20px -8px rgba(27,42,61,0.18);
  --HintergrundShadow: 0 8px 20px -8px rgba(27,42,61,0.18);
  --Rauchglas: rgba(27,42,61,0.72);
  --WeissTransparent: rgba(255,255,255,0.92);
  --BackdropBlur: blur(8px);
  --LeichtesGrau: #EFEBDD;
  --link_backdrop: blur(4px);
}

/* --breite_layout ausschließlich ab 1200px setzen — exakt wie
   basis.css es selbst macht (html{--breite_layout:1200px} nur
   innerhalb dieser Media Query). Ist die Variable undefiniert,
   fällt body{grid-template-columns:1fr var(--breite_layout) 1fr}
   automatisch auf normales, volles Blocklayout zurück — das ist
   die mobile Absicherung des Systems und darf nicht global
   überschrieben werden. */
@media (min-width:1200px){
  :root{--breite_layout: 1120px;}
}

body{
  background: var(--paper);
  color: var(--text);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Fraunces', Georgia, serif;
  font-weight:500;
  color: var(--ink);
}
a{color:var(--LinkColor);}

/* Header/Footer dezent ans CI angleichen, ohne sie umzubauen */
/* ============================================================
   HEADER
   Icon-Navigation (#header_navi) ausblenden, die bisherige untere
   Textnavigation (.Zusatznavigation) wird Hauptnavi und rutscht
   in die Logo-Zeile — wie im Produktvergleich.
   ============================================================ */

/* Obere Icon-Navigation (Startseite/Suche/Kontakt/Warenkorb/Login) */
#header_navi{display:none !important;}
/* Der Burger schaltet bisher genau diese Navigation frei — da sie weg
   ist, auch den Burger ausblenden (mobil klappt die Textnavi stattdessen
   einfach um, siehe Media Query unten) */
.burger{display:none !important;}

header{
  position:sticky !important;
  top:0;
  z-index:30;
  background:rgba(242,240,232,0.92);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  padding:16px var(--Abstand) !important;
}

#header{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between !important;
  gap:var(--Abstand);
  width:100%;
  max-width:var(--breite_layout);
  margin:0 auto !important;
}

#LogoUndText{
  flex:0 !important;
  justify-content:flex-start !important;
}
#header_logo img{
  max-width:none !important;
  height:34px;
  width:auto;
  border-radius:0 !important;
}

/* Textnavigation wird Hauptnavi, sitzt rechts neben dem Logo.
   basis.css hat für ".Zusatznavigation" eine ID-basierte Regel
   (#header nav.Zusatznavigation{...grid-column:1/4;background:...})
   die per ID stärker ist als reine Klassen-Selektoren — deshalb hier
   ebenfalls mit #header nav.Zusatznavigation ansprechen + !important. */
#header nav.Zusatznavigation{
  display:flex !important;
  grid-column:auto !important;
  width:auto !important;
  flex:initial !important;
  background:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
#header nav.Zusatznavigation ul.Navigation{
  display:flex !important;
  flex-direction:row !important;
  justify-content:flex-end !important;
  gap:28px !important;
  background:none !important;
}
.Zusatznavigation .Navigationspunkt{list-style:none;}
.Zusatznavigation .Navigationsinhalt a{
  display:inline-flex !important;
  background:none !important;
  padding:4px 0 !important;
  border-radius:0 !important;
  font-size:14.5px;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
}
.Zusatznavigation .Navigationsinhalt a:hover{color:var(--petrol-dark);}

@media (max-width:720px){
  #header nav.Zusatznavigation ul.Navigation{
    flex-wrap:wrap !important;
    gap:14px !important;
    justify-content:flex-end !important;
  }
}


/* ============================================================
   ABSTAND CONTENT ↔ HEADER
   Global auf main gesetzt, damit es auf jeder Artikel-Seite
   gleich aussieht (nicht Layout-spezifisch für diese eine Seite).
   ============================================================ */
main{
  padding-top:56px !important;
}


/* ============================================================
   MODUL-KLASSEN
   Diese Klassen im cmx-Backend im Feld "Klasse" des jeweiligen
   Moduls eintragen (mehrere Klassen mit Leerzeichen trennen).
   ============================================================ */

/* --- Eyebrow / Kicker-Zeile (Text-Modul, p) --- */
.gs-eyebrow p{
  font-family:'Inter', sans-serif;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--petrol-dark);
  max-width:none;
  margin:0;
}

/* --- Hero-Überschrift (Text-Modul, h1) --- */
.gs-hero-h1 h1{
  font-size:clamp(34px,4.6vw,52px);
  line-height:1.12;
  letter-spacing:-0.01em;
  max-width:850px;
}

/* --- Hero-Lead / Vorspann (Text-Modul, p) --- */
.gs-hero-lead p{
  max-width:600px;
  font-size:18px;
  color:var(--muted);
  margin:0;
}

/* --- CTA-Reihe: Liste, die zwei Webadresse-Module enthält --- */
.gs-hero-cta{
  display:flex !important;
  flex-wrap:wrap;
  gap:14px;
}
.gs-hero-cta > *{grid-column:auto; flex:none;}

/* Primärer Button (Webadresse-Modul, Petrol gefüllt) */
.gs-btn-primary .Inhalt a{
  display:inline-block;
  padding:13px 26px;
  border-radius:24px;
  font-size:14.5px;
  font-weight:600;
  text-decoration:none;
  background:var(--petrol);
  color:#fff;
  border:1px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease;
}
.gs-btn-primary .Inhalt a:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px -8px rgba(31,111,99,0.55);
}
/* Variante Gold, für Agentur-Leistungen-Kontext */
.gs-btn-primary-gold .Inhalt a{background:var(--gold);}
.gs-btn-primary-gold .Inhalt a:hover{box-shadow:0 8px 20px -8px rgba(185,139,50,0.5);}

/* Ghost-Button (Webadresse-Modul, nur Outline) */
.gs-btn-ghost .Inhalt a{
  display:inline-block;
  padding:13px 26px;
  border-radius:24px;
  font-size:14.5px;
  font-weight:600;
  text-decoration:none;
  background:transparent;
  color:var(--ink);
  border:1px solid var(--line);
  transition:border-color .15s ease;
}
.gs-btn-ghost .Inhalt a:hover{border-color:var(--ink);}

/* --- Zielgruppen-/Audience-Strip: Liste mit mehreren Text-Modulen --- */
.gs-audience{
  display:flex !important;
  flex-wrap:wrap;
  gap:10px;
  padding-top:8px;
}
.gs-audience > *{
  grid-column:auto;
  flex:0 0 auto;
  width:auto;
  max-width:none;
}
.gs-audience .Text p{
  margin:0;
  font-size:13px;
  color:var(--petrol-dark);
  background:#E4EEEC;
  border:1px solid #C7DCD8;
  padding:7px 14px;
  border-radius:20px;
  white-space:nowrap;
  max-width:none;
}

/* ============================================================
   VERGLEICHS-KARTEN (Naio Live / Naio)
   Auf die jeweilige "Liste"-Gruppe: gs-compare-card + gs-entry
   ODER gs-compare-card + gs-full
   ============================================================ */
.gs-compare-card{
  background:var(--paper2);
  border:1px solid var(--line);
  border-radius:16px;
  padding:34px 32px;
  gap:0 !important;
}
.gs-compare-card.gs-full{
  border:1.5px solid var(--petrol);
}
/* Zwei Karten schon ab Tablet nebeneinander, nicht erst ab 1200px */
@media (min-width:820px){
  .gs-compare-card{grid-column:span 6 !important;}
}

/* Kartentitel: h2-Modul direkt in der Karte */
.gs-compare-card h2{
  font-size:26px;
  margin:0 0 8px;
}

/* Tag "Einstieg" / "Vollausstattung" (Text-Modul, p) */
.gs-price-tag p{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:8px;
  margin:0 0 16px;
  background:#EFEBDD;
  color:var(--gold-dark);
  max-width:none;
}
.gs-full .gs-price-tag p{
  background:#E4EEEC;
  color:var(--petrol-dark);
}

/* Kurzbeschreibung/Tagline unter dem Titel (Text-Modul, p) */
.gs-card-desc p{
  color:var(--muted);
  font-size:15px;
  margin:0;
  max-width:none;
}

/* Feature-Liste (Text-Modul, p mit eingebettetem <ul>) */
.gs-feature-list ul{
  margin:20px 0 0;
  padding-left:0;
  padding-bottom:0;
  list-style:none;
  gap:0;
}
.gs-feature-list li{
  display:flex;
  gap:10px;
  font-size:14.5px;
  padding:8px 0;
  border-top:1px solid var(--line);
  list-style:none;
}
.gs-feature-list li:first-child{border-top:none;}
.gs-feature-list li::before{
  content:"✓";
  color:var(--petrol);
  font-weight:700;
  flex-shrink:0;
}

/* Preiszeile: EIN Text-Modul, Klasse "gs-price-line" auf das ganze Modul.
   Basistext (z.B. "Einstiegspreis" / "/ Nutzer / Monat" / "mindestens 2 Nutzer")
   bleibt klein und gedeckt. Für den eigentlichen Preis manuell im Rich-Text-Editor
   einen <span class="gs-price-highlight">59 €</span> um die Zahl legen. */
.gs-price-line p{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
  max-width:none;
}
.gs-price-line .gs-price-highlight{
  font-family:'Fraunces', serif;
  font-size:26px;
  font-weight:500;
  color:var(--ink);
  line-height:1.3;
}

/* ============================================================
   Sicherheitsnetz: basis.css begrenzt Absätze standardmäßig auf
   --Lesebreite. Für alle eigens gestylten gs-Module (Marketing-
   Layout statt Fließtext) diese Kappung auf Wrapper-Ebene wieder
   aufheben — einzelne Module (z.B. gs-hero-lead) setzen ihre
   gewünschte Breite trotzdem selbst und bleiben unberührt.
   ============================================================ */
[class*="gs-"] > div{max-width:none !important;}


/* ============================================================
   ABSCHNITT "IM DETAIL" (Überschrift + Vergleichstabelle)
   ============================================================ */

/* Liste um "Im Detail" / H2 / Einleitungstext (UND die Tabelle,
   da alle vier Module in der gleichen Liste stecken) */
.gs-section-head{
  margin-bottom:40px;
}
/* Lesebreite grundsätzlich für alles in diesem Abschnitt aufheben —
   die 640px werden unten gezielt nur auf h2/Einleitung zurückgelegt,
   die Tabelle bleibt dadurch garantiert volle Breite */
.gs-section-head div{max-width:none !important;}
.gs-section-head h2{
  font-size:clamp(26px,3.4vw,34px);
  margin-top:12px;
  max-width:640px;
}

/* Wiederverwendbare Einleitungstext-Klasse (Text-Modul, p) */
.gs-section-desc p{
  color:var(--muted);
  margin-top:14px;
  font-size:16px;
  max-width:640px;
}

/* Vergleichstabelle: Klasse auf das Text-Modul, in das die Tabelle
   (inkl. der Original-Klassen col-product/yes/no/partial) eingefügt wurde */
.gs-compare-table{
  background:var(--paper2);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  margin-top:8px;
}
.gs-compare-table p:empty{display:none;}
.gs-compare-table table{
  width:100%;
  border-collapse:collapse;
  font-size:14.5px;
  max-width:none;
}
.gs-compare-table thead th{
  text-align:left;
  font-family:'Inter',sans-serif;
  font-weight:600;
  padding:18px 20px;
  background:var(--ink);
  color:#fff;
}
.gs-compare-table thead th.col-product{font-size:15px;}
.gs-compare-table thead th span{
  display:block;
  font-weight:400;
  font-size:12px;
  color:#C9D4DD;
  margin-top:3px;
}
.gs-compare-table tbody td,
.gs-compare-table tbody th{
  padding:15px 20px;
  border-top:1px solid var(--line);
  vertical-align:middle;
}
.gs-compare-table tbody th{
  text-align:left;
  font-weight:500;
  color:var(--ink);
  width:34%;
}
.gs-compare-table tbody td{text-align:center; color:var(--muted);}
.gs-compare-table tbody tr:hover{background:#FAF9F4;}
.gs-compare-table .yes{color:var(--petrol); font-weight:700; font-size:16px;}
.gs-compare-table .no{color:#B7B2A2; font-size:16px;}
.gs-compare-table .partial{font-size:13px; color:var(--muted);}
@media (max-width:640px){
  .gs-compare-table thead th span{display:none;}
  .gs-compare-table table{font-size:13px;}
  .gs-compare-table tbody th,
  .gs-compare-table tbody td,
  .gs-compare-table thead th{padding:12px 10px;}
}


/* ============================================================
   ABSCHNITT "UPGRADE-WEG" (dunkle Box, zweispaltig)
   ============================================================ */

/* äußere Liste, die die beiden breite_6-Spalten umschließt */
.gs-upgrade{
  background:var(--ink);
  border-radius:20px;
  padding:52px 44px;
  color:#EDEBE2;
  align-items:center;
}
@media (min-width:820px){
  .gs-upgrade-text,
  .gs-upgrade-flow{grid-column:span 6 !important;}
}
.gs-upgrade h2{color:#fff; font-size:clamp(24px,3vw,30px);}

/* Text-Modul "Ohne Systemumzug" (linke Spalte, Klasse aufs Text-Modul) */
.gs-upgrade-eyebrow p{
  color:#8FB8B0;
  font-family:'Inter',sans-serif;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  margin:0;
  max-width:none;
}

/* Fließtext-Absatz in der linken Spalte (Klasse aufs Text-Modul) */
.gs-upgrade-desc p{
  color:#B9C2C0;
  margin-top:14px;
  font-size:15.5px;
  max-width:none;
}

/* rechte Spalte: das eingefügte upgrade-flow-Snippet greift auf
   seine Original-Klassen zurück, keine gs-Klasse nötig */
.upgrade-flow{
  display:flex;
  align-items:center;
  gap:0;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:14px;
  padding:22px;
}
.flow-step{flex:1; text-align:center;}
.flow-step .name{font-family:'Fraunces',serif; font-size:17px; color:#fff;}
.flow-step .desc{font-size:12px; color:#9DA8A5; margin-top:4px;}
.flow-arrow{color:var(--petrol); font-size:20px; padding:0 6px; flex-shrink:0;}


/* ============================================================
   ABSCHLUSS-CTA (zentriert)
   ============================================================ */
.gs-final-cta{
  text-align:center;
  padding:76px 0 96px;
}
/* Sicherheitsnetz: hebt die Lesebreite für ALLE Module in diesem
   Abschnitt auf, auch falls ein einzelnes Text-Modul noch keine
   eigene gs-Klasse bekommen hat */
.gs-final-cta div{max-width:none !important;}
.gs-final-cta h2{
  font-size:clamp(28px,4vw,38px);
  max-width:560px;
  margin:0 auto;
}
.gs-final-cta .gs-section-desc p{
  max-width:480px;
  margin-left:auto;
  margin-right:auto;
}

/* Button-Paar am Ende: wie beim Hero-CTA bitte eine eigene Liste
   um die beiden Webadresse-Module legen und ihr diese Klasse geben
   (Buttons selbst weiterhin gs-btn-primary / gs-btn-ghost) */
.gs-final-cta-buttons{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:30px;
}
.gs-final-cta-buttons > *{grid-column:auto; flex:none;}
