@charset "UTF-8";

/* Seitenbreite */
.home .home-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

/* ===== HERO ===== */
.hero { margin: 0 0 48px; }

.hero-frame{
  position: relative;
  overflow: hidden;              /* Bild bleibt im Rahmen */
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.10);
  background: #f5f5f5;
}

/* Großes Bild – feste Höhe, kein Verziehen */
.hero-img{
  display:block;
  width:100%;
  height: 420px;                 /* <= klare Obergrenze (Desktop) */
  object-fit: cover;             /* füllt den Rahmen, ohne zu verzerren */
  object-position: center center;
}

/* Overlay-Text */
.hero-overlay{
  position:absolute;
  left: 20px;
  bottom: 20px;
  background: rgba(46,79,32,.88); /* var(--green) mit Alpha */
  color:#fff;
  padding:16px 20px;
  border-radius:12px;
  max-width:min(520px, 90%);
}
.hero-overlay h1{ font-size:24px; margin:0 0 8px; }
.hero-overlay p { font-size:15px; margin:0 0 12px; }

.btn-primary,.btn-secondary{
  display:inline-block;
  border-radius:999px;
  font-weight:600;
  text-transform:uppercase;
  padding:10px 20px;
  transition:background .25s,color .25s,border-color .25s;
}
.btn-primary{ background:var(--red); color:#fff; }
.btn-primary:hover{ background:#c0392b; }
.btn-secondary{ background:var(--green); color:#fff; }
.btn-secondary:hover{ background:#3b6d2c; }

/* ===== HIGHLIGHTS ===== */
.highlight{ padding: 12px 0 64px; }

.section-title{
  text-align:center;
  color:var(--green);
  font-size:24px;
  font-weight:800;
  margin:0 0 24px;
}

/* Karten-Grid: 2 Spalten (Desktop), 1 Spalte (Mobil) */
.cards{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:24px;
}

/* Karte */
.card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;               /* hält Bild im Card-Rahmen */
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{ transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.12); }

.card-media{
  background:#f9f9f9;
  display:grid;
  place-items:center;
  padding:12px;
}

/* Bilder in Karten sicher einpassen (beide Formate) */
.card-media img{
  width:100%;
  height:220px;                  /* <= feste, moderate Höhe */
  object-fit:contain;            /* ganzes Bild sichtbar, kein Beschnitt */
}

/* Card-Text */
.card-body{ padding:16px; text-align:center; }
.card-body h3{ color:var(--green); font-size:18px; margin:0 0 6px; }
.card-body p { color:#555; font-size:15px; margin:0 0 14px; min-height:40px; }

/* ===== RESPONSIVE ===== */
@media (max-width: 992px){
  .hero-img{ height: 360px; }
  .hero-overlay h1{ font-size:22px; }
  .hero-overlay p { font-size:14px; }
}

@media (max-width: 768px){
  .cards{ grid-template-columns: 1fr; }  /* mobil: untereinander */
  .hero-overlay{
    position: static;
    margin: 0;
    border-radius: 0 0 12px 12px;
  }
  .hero-img{ height: 300px; }
  .card-media img{ height:200px; }
}
