/*
Theme Name:     Neve Child
Template:       neve
Description:    Neve Child Theme – zentrierte Inhalte & Full-Width Fixes
Version:        1.0.6
Text Domain:    neve
*/

/* ===============================
   Farbvariablen
   =============================== */
:root {
  /* Hauptfarben */
  --color-primary: #2E7D32;       /* Grün für Buttons, Hervorhebungen */
  --color-primary-dark: #1B5E20;  /* Hover/aktive States */
  --color-accent: #1565C0;        /* Blau für Links */
  --color-accent-dark: #0D47A1;

  /* Textfarben */
  --color-text: #333;
  --color-text-dark: #222;
  --color-text-light: #fff;

  /* Hintergrundfarben */
  --color-bg-light: #f2f8f5;  /* zarte Sektionen */
  --color-bg-dark: #1E2D1F;   /* Footer oben */
  --color-bg-darker: #121A13; /* Footer unten */

  /* Akzent */
  --color-highlight: #A3D9A5;

  /* Layout-Variablen */
  --content-max: 1100px;
  --gutter: 20px;
}

/* ===============================
   Basis
   =============================== */
body {
  font-family: "Inter","Helvetica Neue",Arial,sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  background: #fff;
}

h1,h2,h3,h4,h5,h6 {
  font-family: "Merriweather", Georgia, serif;
  font-weight: 700;
  color: var(--color-text-dark);
  margin: 1.2rem 0 .75rem;
}

a { color: var(--color-accent); text-decoration:none; }
a:hover { color: var(--color-accent-dark); text-decoration:underline; }


/* ===============================
   Layout-Container
   =============================== */
.entry-content > .wp-block-group:not(.alignfull):not(.has-background),
.entry-content > .wp-block-columns,
.fw-main-wrapper,
.wp-block-group.alignwide {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.wp-block-group.alignfull,
.wp-block-cover,
.wp-block-cover.alignfull,
.wp-block-group.has-background,
.wp-block-group.alignfull.fw-cta {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0;
  padding-right: 0;
}

.wp-block-group.has-background > .wp-block-group__inner-container,
.wp-block-cover .wp-block-cover__inner-container,
.wp-block-group.alignfull:not(.fw-cta) > .wp-block-group__inner-container {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 3rem var(--gutter);
  width: 100%;
}

/* ===============================
   HERO
   =============================== */
.hero-section,
.hero-cover,
.wp-block-cover.hero {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 4rem var(--gutter);
  overflow: hidden;
  background: var(--color-bg-light);
}

.hero-section .hero-inner,
.hero-cover .hero-inner,
.wp-block-cover.hero .wp-block-cover__inner-container {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  z-index: 3;
}

.hero-section h1,
.hero-cover h1,
.wp-block-cover.hero h1,
.hero-section p,
.hero-cover p,
.wp-block-cover.hero p {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
}

.hero-section h1,
.hero-cover h1,
.wp-block-cover.hero h1 {
  font-size: 2.6rem;
  line-height: 1.25;
  color: var(--color-text-dark);
}
.hero-section p,
.hero-cover p,
.wp-block-cover.hero p {
  font-size: 1.15rem;
  color: var(--color-text);
}

.hero--small { padding: 2rem 1.5rem !important; min-height: 200px !important; }
.hero-overlay { position:absolute; inset:0; background:rgba(0,0,0,.4); z-index:2; }

/* ===============================
   STARTSEITE
   =============================== */
.home .entry-content > *:not(.alignfull) { margin-left:auto; margin-right:auto; }
.home .wp-block-heading,
.home .wp-block-paragraph,
.home .wp-block-buttons { text-align:center !important; }
.home .wp-block-buttons { justify-content:center !important; }
.home .wp-block-columns { justify-content:center !important; }
.home .wp-block-columns > .wp-block-column {
  display:flex; flex-direction:column; align-items:center; text-align:center !important;
}
.home .wp-block-column img { display:block; margin-left:auto; margin-right:auto; }

/* ===============================
   Bilder Startseite & Über uns
   =============================== */
.home .wp-block-image img,
.page-id-420 .wp-block-image img {
  max-width: 250px;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* ===============================
   Werte-Icons
   =============================== */
.werte-icons {
  display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:2rem;
  margin:3rem auto; max-width:1000px; text-align:center;
}
.werte-icons .icon { flex:1 1 200px; max-width:280px; }
.werte-icons .icon img { width:90px; height:auto; margin:0 auto 1rem; }
/* ===============================
   Buttons – globale Anpassungen
   =============================== */
/*
  Korrigierte Selektoren, um Konflikte mit dem Theme zu vermeiden.
  Diese Regeln sind spezifischer und sollten die Buttons korrekt stylen.
*/
.fw-form button[type="submit"],
.fw-form input[type="submit"],
.fw-form a.button,
.fw-firmen-card-button,
.fw-grid-button,
.fw-widget-cta-button,
.firmen-filter-buttons button {
  display: inline-block;
  background: var(--color-primary);
  color: var(--color-text-light);
  padding: .7rem 1.4rem;
  border-radius: 4px;
  font-weight: 600;
  border: none;
  text-align: center;
  transition: background 0.2s ease, transform 0.15s ease;
}

.fw-form button[type="submit"]:hover,
.fw-form input[type="submit"]:hover,
.fw-form a.button:hover,
.fw-firmen-card-button:hover,
.fw-grid-button:hover,
.fw-widget-cta-button:hover,
.firmen-filter-buttons button:hover {
  background: var(--color-primary-dark);
  transform: translateY(-2px);
}

.fw-form button[type="submit"]:active,
.fw-form input[type="submit"]:active,
.fw-form a.button:active,
.fw-firmen-card-button:active,
.fw-grid-button:active,
.fw-widget-cta-button:active,
.firmen-filter-buttons button:active {
  transform: translateY(0);
}

/* Alternative Akzentfarbe */
.button-accent,
.wp-block-button.is-style-accent .wp-block-button__link {
  background: var(--color-accent);
}
.button-accent:hover,
.wp-block-button.is-style-accent .wp-block-button__link:hover {
  background: var(--color-accent-dark);
}

/* Größe varianten */
.button-small { padding: .4rem .9rem; font-size: .9rem; }
.button-large { padding: 1rem 2rem; font-size: 1.1rem; }
/* ===============================
   CTA-Footer
   =============================== */
.fw-cta .fw-cta__inner { max-width: var(--content-max); margin:0 auto; padding:0 var(--gutter); }
.fw-cta .wp-block-buttons { justify-content:center; }

/* ===============================
   Ausnahmen: Seiten ohne Full-Width Hero
   =============================== */
.page-id-134 .hero-section,
.page-id-155 .hero-section,
.page-id-310 .hero-section,
.page-id-38  .hero-section {
  max-width: var(--content-max) !important;
  margin: 0 auto !important;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

/* ===============================
   Sonstiges
   =============================== */
.wp-block-columns .wp-block-image img { max-height: 400px; width:auto; object-fit:cover; }
blockquote { border-left:4px solid var(--color-primary); padding-left:1rem; color:var(--color-text); font-style:italic; }

@media (max-width: 768px){
  .hero-section,.hero-cover,.wp-block-cover.hero { padding:3rem 1.5rem; }
  .hero-section h1,.hero-cover h1,.wp-block-cover.hero h1 { font-size:2rem; }
  .home .wp-block-columns { gap:1rem; }
}

/* ===============================
   Brevo-Newsletter-Formular Fixes
   =============================== */
.sib-form {
  /* Stellt sicher, dass der Formularcontainer die Breite der Seitenleiste respektiert */
  max-width: 100% !important;
  box-sizing: border-box;
}

.sib-form-container,
.sib-form-block,
#sib-container {
  /* Erzwingt eine flexible Breite für alle inneren Elemente */
  max-width: 100% !important;
  box-sizing: border-box;
}

#sib-container input.input,
#sib-container select,
#sib-container textarea {
  /* Stellt sicher, dass Eingabefelder die volle Breite nutzen */
  width: 100% !important;
  max-width: 100% !important;
}

.sib-form-message-panel {
  /* Passt die Meldungsfelder an die Breite an */
  max-width: 100% !important;
}
