
/* SAM-PRO v197: Landingpage Hero responsiv optimieren */
body.home,
body.front-page{
  overflow-x:hidden !important;
}

body.home .v7-hero,
body.front-page .v7-hero{
  overflow:hidden !important;
}

body.home .v7-hero__grid,
body.front-page .v7-hero__grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  gap:0 !important;
  grid-template-columns:minmax(0,0.96fr) minmax(360px,0.92fr) !important;
  min-height:clamp(340px, 34vw, 430px) !important;
}

body.home .v7-hero__copy,
body.front-page .v7-hero__copy{
  min-width:0 !important;
  padding-right:28px !important;
}

body.home .v7-hero__image,
body.front-page .v7-hero__image{
  position:relative !important;
  min-width:0 !important;
  min-height:clamp(340px, 34vw, 430px) !important;
  height:100% !important;
  overflow:hidden !important;
}

body.home .v7-hero__image-inner,
body.front-page .v7-hero__image-inner{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  background:none !important;
}

body.home .v7-hero__image-inner img,
body.front-page .v7-hero__image-inner img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Große Tablets / kleine Notebooks */
@media (min-width: 900px) and (max-width: 1180px){
  body.home .v7-hero__grid,
  body.front-page .v7-hero__grid{
    grid-template-columns:minmax(0,1.05fr) minmax(320px,0.88fr) !important;
    min-height:360px !important;
  }
  body.home .v7-hero__copy,
  body.front-page .v7-hero__copy{
    padding:42px 22px 42px 0 !important;
  }
  body.home .v7-hero__copy h1,
  body.front-page .v7-hero__copy h1{
    font-size:clamp(30px,4vw,42px) !important;
  }
  body.home .v7-hero__copy p,
  body.front-page .v7-hero__copy p{
    font-size:16px !important;
  }
  body.home .v7-hero__image,
  body.front-page .v7-hero__image{
    min-height:360px !important;
  }
}

/* Tablets: weiterhin volle Breite, aber Bild nicht zu breit */
@media (min-width: 768px) and (max-width: 899px){
  body.home .v7-hero__grid,
  body.front-page .v7-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(280px,0.78fr) !important;
    min-height:320px !important;
    gap:14px !important;
  }
  body.home .v7-hero__copy,
  body.front-page .v7-hero__copy{
    padding:34px 12px 34px 0 !important;
  }
  body.home .v7-hero__copy h1,
  body.front-page .v7-hero__copy h1{
    font-size:clamp(28px,4.2vw,38px) !important;
    line-height:1.1 !important;
  }
  body.home .v7-hero__copy p,
  body.front-page .v7-hero__copy p{
    font-size:15px !important;
    line-height:1.5 !important;
  }
  body.home .v7-hero__image,
  body.front-page .v7-hero__image{
    min-height:320px !important;
  }
  body.home .v7-hero__image-inner img,
  body.front-page .v7-hero__image-inner img{
    object-position:56% center !important;
  }
}

/* Mobile: Bild unter Text, flexibel und ohne Überlauf */
@media (max-width: 767px){
  body.home .v7-hero__grid,
  body.front-page .v7-hero__grid{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    gap:0 !important;
  }
  body.home .v7-hero__copy,
  body.front-page .v7-hero__copy{
    order:1 !important;
    padding:30px 0 18px !important;
  }
  body.home .v7-hero__image,
  body.front-page .v7-hero__image{
    order:2 !important;
    min-height:auto !important;
    height:auto !important;
    padding-bottom:18px !important;
  }
  body.home .v7-hero__image-inner,
  body.front-page .v7-hero__image-inner{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:clamp(220px, 64vw, 340px) !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
  body.home .v7-hero__copy h1,
  body.front-page .v7-hero__copy h1{
    font-size:clamp(28px,8vw,36px) !important;
  }
  body.home .v7-hero__copy p,
  body.front-page .v7-hero__copy p{
    font-size:15px !important;
  }
}
