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

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

h1,h2,h3,h4,h5,h6 {
  font-family: "Merriweather", Georgia, serif;
  font-weight: 700;
  color: #222;
  margin: 1.2rem 0 .75rem;
}

a { color:#1565C0; text-decoration:none; }
a:hover { color:#0D47A1; text-decoration:underline; }
button,input[type="submit"],a.button {
  background:#2E7D32; color:#fff; padding:.6rem 1.2rem; border-radius:4px; font-weight:600;
}
button:hover,input[type="submit"]:hover,a.button:hover { background:#1B5E20; }

/* ===============================
   Layout-Container
   =============================== */
:root { --content-max: 1100px; --gutter: 20px; }

.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: #f2f8f5;
}

.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:#1e2d1f; }
.hero-section p,
.hero-cover p,
.wp-block-cover.hero p { font-size: 1.15rem; color:#333; }

.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;   /* gewünschte Größe */
  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; }

/* ===============================
   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 #2E7D32; padding-left:1rem; color:#444; 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; }
}