/* SAM-PRO Business v38 */
/* Neuer Full-Width-Premium-Hero: ein durchgehendes Bild, Text/Buttons separat darüber */

/* Hero wirklich aus einem Guss: kein getrennter linker/rechter Bereich mehr */
.v7-hero{
  position: relative !important;
  overflow: hidden !important;
  background: #f8f8f6 !important;
}

.v7-hero > .container{
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

/* Das erzeugte Hero-Bild läuft über die gesamte Breite */
.v7-hero__grid{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 560px !important;
  overflow: hidden !important;
  background: #f8f8f6 url('../img/hero-v38.webp') no-repeat center center !important;
  background-size: cover !important;
}

/* altes separates Bild ausblenden */
.v7-hero__image{
  display: none !important;
}

/* feiner Lesbarkeitsverlauf, kein weißer Block */
.v7-hero__grid::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 56% !important;
  background: linear-gradient(90deg,
    rgba(248,248,246,.88) 0%,
    rgba(248,248,246,.76) 38%,
    rgba(248,248,246,.45) 68%,
    rgba(248,248,246,.10) 92%,
    rgba(248,248,246,0) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Text und Buttons als echte HTML-Elemente über dem Bild */
.v7-hero__copy{
  position: relative !important;
  z-index: 3 !important;
  width: min(47%, 720px) !important;
  min-height: 560px !important;
  padding: 72px 20px 52px clamp(64px, 6vw, 112px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: transparent !important;
}

.v7-hero__copy h1{
  margin: 0 !important;
  max-width: 690px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(38px, 3.15vw, 52px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.015em !important;
  color: #071e46 !important;
}

.v7-gold-line{
  width: 86px !important;
  height: 4px !important;
  margin: 24px 0 22px !important;
  background: #c9a23a !important;
}

.v7-hero__copy p{
  max-width: 640px !important;
  margin: 0 !important;
  color: #24364f !important;
  font-size: 17px !important;
  line-height: 1.62 !important;
}

.v7-actions{
  margin-top: 34px !important;
  gap: 18px !important;
  display: flex !important;
  flex-wrap: wrap !important;
}

.v7-actions .btn{
  min-height: 54px !important;
  padding: 14px 26px !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  border-radius: 4px !important;
}

.v7-actions .btn-primary{
  background: #002856 !important;
  border-color: #002856 !important;
  box-shadow: 0 10px 22px rgba(0,40,86,.18) !important;
}

.v7-actions .btn-ghost{
  background: rgba(255,255,255,.54) !important;
  backdrop-filter: blur(4px) !important;
}

/* Header / Menü optisch passend zum neuen Entwurf */
.sampro-v7-header{
  background: #fff !important;
  border-bottom: 1px solid #e8edf5 !important;
  box-shadow: 0 1px 0 rgba(12,35,79,.04) !important;
}

.sampro-v7-navrow{
  min-height: 78px !important;
  gap: 34px !important;
}

.sampro-v7-logo{
  width: 230px !important;
  min-width: 230px !important;
}

.sampro-v7-menu{
  gap: 18px !important;
}

.sampro-v7-menu > li > a{
  min-height: 78px !important;
  padding: 0 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0c234f !important;
  border-radius: 8px 8px 0 0 !important;
  letter-spacing: 0 !important;
}

.sampro-v7-menu > li > a:hover,
.sampro-v7-menu > li:hover > a{
  color: #1d5fc0 !important;
}

.sampro-v7-menu > li.current-menu-item > a,
.sampro-v7-menu > li.current_page_item > a,
.sampro-v7-menu > li.current-menu-ancestor > a{
  color: #0c234f !important;
  box-shadow: inset 0 -3px 0 #0c234f !important;
  background: transparent !important;
}

/* Auf sehr großen Monitoren Bild nicht auseinanderziehen lassen */
@media (min-width: 1900px){
  .v7-hero__grid{
    min-height: 600px !important;
  }
}

/* Laptop / kleinere Desktops */
@media (max-width: 1300px){
  .v7-hero__grid{
    min-height: 520px !important;
    background-position: 58% center !important;
  }

  .v7-hero__copy{
    width: min(50%, 680px) !important;
    min-height: 520px !important;
    padding-left: 44px !important;
  }

  .v7-hero__copy h1{
    font-size: clamp(34px, 3.1vw, 44px) !important;
  }

  .v7-hero__copy p{
    font-size: 15px !important;
  }

  .v7-actions .btn{
    font-size: 13px !important;
    min-height: 48px !important;
  }
}

/* Tablet/Mobil: bewusst gestapelte, lesbare Variante */
@media (max-width: 980px){
  .v7-hero__grid{
    min-height: 650px !important;
    background-position: 64% center !important;
  }

  .v7-hero__grid::before{
    width: 100% !important;
    background: linear-gradient(180deg,
      rgba(248,248,246,.94) 0%,
      rgba(248,248,246,.86) 40%,
      rgba(248,248,246,.42) 72%,
      rgba(248,248,246,.08) 100%) !important;
  }

  .v7-hero__copy{
    width: min(100%, 720px) !important;
    min-height: auto !important;
    padding: 42px 22px 26px !important;
  }

  .v7-hero__copy h1{
    max-width: 100% !important;
    font-size: 32px !important;
  }

  .v7-hero__copy p{
    max-width: 100% !important;
    font-size: 14px !important;
  }

  .v7-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}
