/*
Theme Name: SchmidBV Professional
Template: extendable
Version: 2.0
*/

:root{
  --sv2-dark:#0b1b2b;
  --sv2-dark2:#102b45;
  --sv2-orange:#ef761d;
  --sv2-orange2:#ff8b32;
  --sv2-light:#f5f6f7;
  --sv2-text:#182432;
  --sv2-muted:#687685;
  --sv2-white:#fff;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0!important;
  background:#fff!important;
  color:var(--sv2-text);
  font-family:Arial,Helvetica,sans-serif;
}

.wp-site-blocks{
  padding:0!important;
}

.wp-site-blocks > *{
  margin-block-start:0!important;
}

header.wp-block-template-part{
  position:absolute!important;
  top:0;
  left:0;
  width:100%;
  z-index:100;
  background:transparent!important;
}

header.wp-block-template-part,
header.wp-block-template-part *{
  color:#fff!important;
}

header.wp-block-template-part .wp-block-navigation-item__label{
  font-size:15px!important;
  font-weight:600!important;
}

header.wp-block-template-part .wp-block-navigation-item a{
  padding:10px 0!important;
}

header.wp-block-template-part .wp-block-site-logo img{
  max-height:54px!important;
  width:auto!important;
}

.schmid-v2{
  width:100%;
  overflow:hidden;
}

.sv2-container{
  width:min(1240px,calc(100% - 80px));
  margin:auto;
}

.sv2-hero{
  min-height:760px;
  height:92vh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--sv2-dark);
}

.sv2-hero-media,
.sv2-hero-media video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.sv2-hero-media video{
  object-fit:cover;
}

.sv2-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(5,18,31,.96) 0%,
      rgba(5,18,31,.83) 38%,
      rgba(5,18,31,.35) 72%,
      rgba(5,18,31,.18) 100%);
}

.sv2-hero-content{
  position:relative;
  z-index:2;
  padding-top:100px;
}

.sv2-eyebrow,
.sv2-label{
  color:var(--sv2-orange);
  font-size:12px;
  letter-spacing:3px;
  font-weight:800;
  margin-bottom:22px;
}

.sv2-hero h1{
  color:#fff!important;
  font-size:clamp(55px,7vw,105px)!important;
  line-height:.93!important;
  letter-spacing:-4px;
  margin:0!important;
  font-weight:800!important;
}

.sv2-hero h1 span{
  color:var(--sv2-orange);
}

.sv2-hero-text{
  color:rgba(255,255,255,.82);
  max-width:560px;
  font-size:19px;
  line-height:1.65;
  margin:34px 0;
}

.sv2-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.sv2-btn{
  display:inline-flex;
  align-items:center;
  gap:28px;
  padding:17px 25px;
  text-decoration:none!important;
  font-weight:800;
  transition:.25s ease;
}

.sv2-btn span{
  font-size:21px;
}

.sv2-btn-orange{
  background:var(--sv2-orange);
  color:#fff!important;
}

.sv2-btn-orange:hover{
  background:var(--sv2-orange2);
  transform:translateY(-2px);
}

.sv2-btn-light{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.5);
}

.sv2-btn-light:hover{
  background:#fff;
  color:var(--sv2-dark)!important;
}

.sv2-btn-dark{
  background:var(--sv2-dark);
  color:#fff!important;
}

.sv2-btn-big{
  padding:23px 30px;
  font-size:17px;
}

.sv2-scroll{
  position:absolute;
  bottom:32px;
  right:50px;
  color:#fff;
  font-size:11px;
  letter-spacing:2px;
  opacity:.7;
  z-index:3;
}

.sv2-scroll span{
  color:var(--sv2-orange);
  font-size:18px;
  margin-left:10px;
}

.sv2-intro{
  padding:110px 0;
  background:#fff;
}

.sv2-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:end;
}

.sv2-intro h2,
.sv2-section-head h2,
.sv2-about h2,
.sv2-project-head h2,
.sv2-contact h2{
  font-size:clamp(42px,5vw,70px)!important;
  line-height:1!important;
  letter-spacing:-2px;
  margin:0!important;
  color:var(--sv2-dark)!important;
}

.sv2-intro h2 strong,
.sv2-section-head h2 strong,
.sv2-about h2 strong,
.sv2-project-head h2 strong,
.sv2-contact h2 strong{
  color:var(--sv2-orange);
}

.sv2-intro-copy{
  max-width:570px;
}

.sv2-intro-copy p,
.sv2-about-content > p,
.sv2-contact p{
  color:var(--sv2-muted);
  font-size:18px;
  line-height:1.8;
}

.sv2-text-link{
  display:inline-block;
  margin-top:16px;
  color:var(--sv2-dark)!important;
  font-weight:800;
  text-decoration:none!important;
  border-bottom:2px solid var(--sv2-orange);
  padding-bottom:7px;
}

.sv2-text-link span{
  color:var(--sv2-orange);
  margin-left:15px;
}

.sv2-services{
  padding:110px 0 125px;
  background:var(--sv2-light);
}

.sv2-section-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:end;
  margin-bottom:60px;
}

.sv2-section-head > p{
  color:var(--sv2-muted);
  font-size:17px;
  line-height:1.7;
  max-width:500px;
}

.sv2-service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  background:#dce2e7;
}

.sv2-service{
  position:relative;
  min-height:270px;
  padding:36px;
  background:#fff;
  color:var(--sv2-text)!important;
  text-decoration:none!important;
  transition:.3s ease;
}

.sv2-service:hover{
  background:var(--sv2-dark);
  color:#fff!important;
  transform:translateY(-4px);
  z-index:2;
}

.sv2-number{
  color:var(--sv2-orange);
  font-size:12px;
  font-weight:800;
  letter-spacing:2px;
}

.sv2-service h3{
  font-size:29px!important;
  margin:55px 0 15px!important;
  color:inherit!important;
}

.sv2-service p{
  color:var(--sv2-muted);
  line-height:1.6;
  max-width:310px;
}

.sv2-service:hover p{
  color:rgba(255,255,255,.68);
}

.sv2-arrow{
  position:absolute;
  right:30px;
  bottom:27px;
  color:var(--sv2-orange);
  font-size:24px;
}

.sv2-about{
  padding:130px 0;
  background:#fff;
}

.sv2-about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}

.sv2-about-image{
  position:relative;
}

.sv2-about-image img{
  display:block;
  width:100%;
  height:620px;
  object-fit:cover;
}

.sv2-image-tag{
  position:absolute;
  right:-25px;
  bottom:35px;
  background:var(--sv2-orange);
  color:#fff;
  padding:20px 25px;
  font-size:11px;
  letter-spacing:2px;
}

.sv2-image-tag strong{
  font-size:20px;
}

.sv2-about-content{
  max-width:570px;
}

.sv2-checks{
  margin:35px 0;
  display:grid;
  gap:15px;
}

.sv2-checks div{
  font-weight:700;
  color:var(--sv2-dark);
}

.sv2-checks span{
  color:var(--sv2-orange);
  margin-right:12px;
}

.sv2-projects{
  padding:120px 0;
  background:var(--sv2-dark);
}

.sv2-project-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:50px;
  margin-bottom:55px;
}

.sv2-project-head h2{
  color:#fff!important;
}

.sv2-label-light{
  color:var(--sv2-orange);
}

.sv2-project-link{
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  border-bottom:1px solid var(--sv2-orange);
  padding-bottom:8px;
}

.sv2-project-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:18px;
}

.sv2-project{
  position:relative;
  height:370px;
  overflow:hidden;
  display:block;
}

.sv2-project-large{
  grid-row:span 2;
  height:758px;
}

.sv2-project img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.5s ease;
}

.sv2-project:hover img{
  transform:scale(1.04);
}

.sv2-project:after{
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
}

.sv2-project-caption{
  position:absolute;
  left:28px;
  bottom:27px;
  z-index:2;
  color:#fff;
}

.sv2-project-caption span{
  display:block;
  color:var(--sv2-orange);
  font-size:10px;
  letter-spacing:2px;
  font-weight:800;
  margin-bottom:8px;
}

.sv2-project-caption strong{
  font-size:24px;
}

.sv2-trust{
  padding:80px 0;
  background:var(--sv2-orange);
}

.sv2-trust-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
}

.sv2-trust-grid > div{
  border-left:1px solid rgba(255,255,255,.4);
  padding-left:35px;
}

.sv2-big-number{
  color:#fff;
  font-size:65px;
  line-height:1;
  font-weight:800;
  letter-spacing:-3px;
}

.sv2-big-number span{
  font-size:.55em;
}

.sv2-trust p{
  color:#fff;
  font-weight:700;
  line-height:1.5;
}

.sv2-contact{
  padding:120px 0;
  background:#f5f6f7;
}

.sv2-contact-inner{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:80px;
}

.sv2-contact-inner > div{
  max-width:650px;
}

.sv2-contact p{
  max-width:540px;
  margin-top:28px;
}

@media(max-width:900px){

  .sv2-container{
    width:min(100% - 40px,700px);
  }

  header.wp-block-template-part{
    position:absolute!important;
  }

  .sv2-hero{
    min-height:700px;
    height:90vh;
  }

  .sv2-hero h1{
    font-size:58px!important;
    letter-spacing:-2px;
  }

  .sv2-intro-grid,
  .sv2-section-head,
  .sv2-about-grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .sv2-service-grid{
    grid-template-columns:1fr 1fr;
  }

  .sv2-about-image img{
    height:500px;
  }

  .sv2-project-grid{
    grid-template-columns:1fr 1fr;
  }

  .sv2-project-large{
    grid-row:auto;
    height:500px;
  }

  .sv2-project{
    height:300px;
  }

  .sv2-trust-grid{
    grid-template-columns:1fr;
    gap:35px;
  }

  .sv2-contact-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:600px){

  .sv2-container{
    width:calc(100% - 30px);
  }

  .sv2-hero{
    min-height:680px;
  }

  .sv2-hero h1{
    font-size:48px!important;
  }

  .sv2-hero-text{
    font-size:16px;
  }

  .sv2-scroll{
    display:none;
  }

  .sv2-intro,
  .sv2-services,
  .sv2-about,
  .sv2-projects,
  .sv2-contact{
    padding:75px 0;
  }

  .sv2-service-grid,
  .sv2-project-grid{
    grid-template-columns:1fr;
  }

  .sv2-project-large,
  .sv2-project{
    height:340px;
  }

  .sv2-project-head{
    display:block;
  }

  .sv2-project-link{
    display:inline-block;
    margin-top:30px;
  }

  .sv2-about-image img{
    height:400px;
  }

  .sv2-image-tag{
    right:0;
  }

  .sv2-big-number{
    font-size:55px;
  }

  .sv2-buttons{
    flex-direction:column;
    align-items:flex-start;
  }

  .sv2-btn{
    width:auto;
  }
}

/* Nicht benötigte WordPress-Beispielseite aus der Navigation entfernen */
header a[href*="sample-page"]{
  display:none!important;
}

/* =========================================================
   SCHMIDBV FULL WIDTH OVERRIDE
   ========================================================= */

/* WordPress-Content-Container sprengen */
body.home main,
body.home .wp-block-post-content,
body.home .entry-content,
body.home .is-layout-constrained,
body.home .wp-block-group,
body.home .wp-block-template-part {
    max-width: none !important;
}

/* Die eigentliche SchmidBV-Seite */
body.home .schmid-v2 {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* Jede Hauptsektion über die gesamte Bildschirmbreite */
body.home .sv2-hero,
body.home .sv2-intro,
body.home .sv2-services,
body.home .sv2-about,
body.home .sv2-projects,
body.home .sv2-trust,
body.home .sv2-contact {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Innerer Inhalt darf breit sein */
body.home .sv2-container {
    width: min(1380px, calc(100% - 100px)) !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   HEADER
   ========================================================= */

body.home header.wp-block-template-part {
    position: absolute !important;
    width: 100vw !important;
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important;
    z-index: 9999 !important;
}

body.home header.wp-block-template-part > * {
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   HERO
   ========================================================= */

body.home .sv2-hero {
    position: relative !important;
    min-height: 820px !important;
    height: 92vh !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    background:
        linear-gradient(
            90deg,
            #071a2c 0%,
            #0b2943 45%,
            rgba(11,41,67,.72) 100%
        ) !important;
}

body.home .sv2-hero-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
}

body.home .sv2-hero-media video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

body.home .sv2-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(5,20,34,.96) 0%,
            rgba(5,20,34,.82) 38%,
            rgba(5,20,34,.42) 72%,
            rgba(5,20,34,.25) 100%
        ) !important;
}

body.home .sv2-hero-content {
    position: relative !important;
    z-index: 5 !important;
    width: min(1380px, calc(100% - 100px)) !important;
    max-width: 1380px !important;
    padding-top: 100px !important;
}

body.home .sv2-hero h1 {
    color: #fff !important;
}

body.home .sv2-hero h1 span {
    color: #ef761d !important;
}

body.home .sv2-eyebrow {
    color: #ef761d !important;
}

body.home .sv2-hero-text {
    color: rgba(255,255,255,.86) !important;
}

body.home .sv2-btn-orange {
    background: #ef761d !important;
    color: #fff !important;
}

body.home .sv2-btn-orange:hover {
    background: #ff8b32 !important;
}

body.home .sv2-btn-light {
    color: #fff !important;
    border-color: rgba(255,255,255,.6) !important;
}

/* =========================================================
   INTRO
   ========================================================= */

body.home .sv2-intro {
    background: #fff !important;
}

body.home .sv2-intro h2,
body.home .sv2-section-head h2,
body.home .sv2-about h2,
body.home .sv2-contact h2 {
    color: #0b1b2b !important;
}

body.home .sv2-intro h2 strong,
body.home .sv2-section-head h2 strong,
body.home .sv2-about h2 strong,
body.home .sv2-contact h2 strong {
    color: #ef761d !important;
}

/* =========================================================
   LEISTUNGEN
   ========================================================= */

body.home .sv2-services {
    background: #f1f4f7 !important;
}

body.home .sv2-service-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3px !important;
    background: #d5dce2 !important;
}

body.home .sv2-service {
    background: #fff !important;
}

body.home .sv2-service:hover {
    background: #0b2943 !important;
}

body.home .sv2-service h3 {
    color: inherit !important;
}

body.home .sv2-number,
body.home .sv2-arrow {
    color: #ef761d !important;
}

/* =========================================================
   ÜBER UNS
   ========================================================= */

body.home .sv2-about {
    background: #fff !important;
}

body.home .sv2-about-image {
    overflow: visible !important;
}

body.home .sv2-about-image img {
    width: 100% !important;
    height: 650px !important;
    object-fit: cover !important;
}

/* =========================================================
   PROJEKTE
   ========================================================= */

body.home .sv2-projects {
    background: #0b2943 !important;
    width: 100% !important;
}

body.home .sv2-project-head h2 {
    color: #fff !important;
}

body.home .sv2-project {
    width: 100% !important;
}

/* =========================================================
   ZAHLEN / VERTRAUEN
   ========================================================= */

body.home .sv2-trust {
    background: #ef761d !important;
}

body.home .sv2-big-number,
body.home .sv2-trust p {
    color: #fff !important;
}

/* =========================================================
   KONTAKT
   ========================================================= */

body.home .sv2-contact {
    background: #f1f4f7 !important;
}

/* =========================================================
   SAMPLE PAGE KOMPLETT AUSBLENDEN
   ========================================================= */

body.home header a[href*="sample-page"],
body.home header a[href*="sample-page"] + * {
    display: none !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    body.home .sv2-container,
    body.home .sv2-hero-content {
        width: calc(100% - 50px) !important;
    }

    body.home .sv2-service-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    body.home .sv2-about-grid,
    body.home .sv2-intro-grid,
    body.home .sv2-section-head {
        gap: 50px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

    body.home .sv2-container,
    body.home .sv2-hero-content {
        width: calc(100% - 30px) !important;
    }

    body.home .sv2-hero {
        min-height: 720px !important;
        height: 100vh !important;
    }

    body.home .sv2-hero h1 {
        font-size: 48px !important;
        line-height: .95 !important;
    }

    body.home .sv2-service-grid {
        grid-template-columns: 1fr !important;
    }

    body.home .sv2-about-image img {
        height: 430px !important;
    }

    body.home .sv2-project-grid {
        grid-template-columns: 1fr !important;
    }

    body.home .sv2-project,
    body.home .sv2-project-large {
        height: 340px !important;
    }
}


/* =========================================================
   SCHMIDBV HERO – BILD RECHTS WIEDER EINBLENDEN
   ========================================================= */

body.home .sv2-hero {
    background: #081a2b !important;
}

/* Rechter Bildbereich */
body.home .sv2-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 58%;
    height: 100%;
    z-index: 1;

    background-image:
        linear-gradient(
            90deg,
            #081a2b 0%,
            rgba(8,26,43,.92) 8%,
            rgba(8,26,43,.45) 27%,
            rgba(8,26,43,.08) 55%,
            rgba(8,26,43,.05) 100%
        ),
        url("https://schmidbv.de/wp-content/uploads/2026/05/3d0bf21e-7c19-4a6d-b4c0-6f5b4f8e6b0d.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    pointer-events: none;
}

/* Video weiterhin vorhanden, aber hinter dem Bild */
body.home .sv2-hero-media {
    z-index: 0 !important;
}

/* Video rechts ebenfalls sichtbar lassen */
body.home .sv2-hero-media video {
    opacity: .35 !important;
}

/* Dunkler Bereich links */
body.home .sv2-hero-overlay {
    z-index: 2 !important;
    background:
        linear-gradient(
            90deg,
            rgba(8,26,43,.98) 0%,
            rgba(8,26,43,.98) 31%,
            rgba(8,26,43,.82) 43%,
            rgba(8,26,43,.25) 67%,
            rgba(8,26,43,.05) 100%
        ) !important;
}

/* Inhalt über allem */
body.home .sv2-hero-content {
    z-index: 5 !important;
}

/* Textbereich bewusst links halten */
body.home .sv2-hero-content {
    padding-right: 48%;
}

/* Desktop */
@media (min-width: 1100px) {

    body.home .sv2-hero h1 {
        max-width: 850px !important;
    }

    body.home .sv2-hero-text {
        max-width: 560px !important;
    }
}

/* Tablet */
@media (max-width: 900px) {

    body.home .sv2-hero::after {
        width: 65%;
        opacity: .65;
    }

    body.home .sv2-hero-content {
        padding-right: 20px !important;
    }
}

/* Handy */
@media (max-width: 600px) {

    body.home .sv2-hero::after {
        width: 100%;
        opacity: .25;
    }

    body.home .sv2-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(8,26,43,.96),
                rgba(8,26,43,.78)
            ) !important;
    }
}


/* =========================================================
   SCHMIDBV HERO FINAL
   Bild/Video rechts - Text links
   ========================================================= */

body.home .sv2-hero {
    position: relative !important;
    overflow: hidden !important;
    background: #091b2c !important;
}

/* bisherigen kaputten Bild-Hintergrund entfernen */
body.home .sv2-hero::after {
    display: none !important;
    content: none !important;
}

/* Video über die komplette Hero-Fläche */
body.home .sv2-hero-media {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 62% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

body.home .sv2-hero-media video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
}

/* Dunkler Übergang von links nach rechts */
body.home .sv2-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background:
        linear-gradient(
            90deg,
            #091b2c 0%,
            #091b2c 28%,
            rgba(9,27,44,.96) 39%,
            rgba(9,27,44,.72) 49%,
            rgba(9,27,44,.28) 66%,
            rgba(9,27,44,.05) 100%
        ) !important;
}

/* Text bleibt links */
body.home .sv2-hero-content {
    position: relative !important;
    z-index: 5 !important;
    width: min(1380px, calc(100% - 100px)) !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding-right: 48% !important;
}

/* Desktop */
@media (min-width: 1200px) {

    body.home .sv2-hero {
        min-height: 820px !important;
        height: 92vh !important;
    }

    body.home .sv2-hero h1 {
        font-size: clamp(62px, 6vw, 102px) !important;
        line-height: .91 !important;
    }
}

/* Tablet */
@media (max-width: 1000px) {

    body.home .sv2-hero-media {
        width: 65% !important;
    }

    body.home .sv2-hero-content {
        width: calc(100% - 50px) !important;
        padding-right: 35% !important;
    }

    body.home .sv2-hero-overlay {
        background:
            linear-gradient(
                90deg,
                #091b2c 0%,
                rgba(9,27,44,.96) 38%,
                rgba(9,27,44,.65) 68%,
                rgba(9,27,44,.25) 100%
            ) !important;
    }
}

/* Handy */
@media (max-width: 650px) {

    body.home .sv2-hero {
        min-height: 720px !important;
        height: 100vh !important;
    }

    body.home .sv2-hero-media {
        width: 100% !important;
        opacity: .42 !important;
    }

    body.home .sv2-hero-content {
        width: calc(100% - 30px) !important;
        padding-right: 0 !important;
    }

    body.home .sv2-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(9,27,44,.98),
                rgba(9,27,44,.72)
            ) !important;
    }
}


/* =========================================================
   SCHMIDBV HERO - ROBUSTER FINAL FIX
   ========================================================= */

body.home .schmid-v2 .sv2-hero {
    position: relative !important;
    display: flex !important;
    width: 100vw !important;
    min-height: 820px !important;
    height: 92vh !important;
    overflow: hidden !important;
    background: #091b2c !important;
}

/* Video */
body.home .schmid-v2 .sv2-hero-media {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 58% !important;
    height: 100% !important;
    z-index: 1 !important;
    display: block !important;
    opacity: 1 !important;
    overflow: hidden !important;
}

body.home .schmid-v2 .sv2-hero-media video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Overlay */
body.home .schmid-v2 .sv2-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background:
        linear-gradient(
            90deg,
            #091b2c 0%,
            #091b2c 30%,
            rgba(9,27,44,.96) 40%,
            rgba(9,27,44,.65) 51%,
            rgba(9,27,44,.20) 68%,
            rgba(9,27,44,.05) 100%
        ) !important;
}

/* Altes Pseudo-Bild definitiv deaktivieren */
body.home .schmid-v2 .sv2-hero::after {
    content: none !important;
    display: none !important;
}

/* Text */
body.home .schmid-v2 .sv2-hero-content {
    position: relative !important;
    z-index: 10 !important;
    width: min(1380px, calc(100% - 100px)) !important;
    max-width: 1380px !important;
    margin: 0 auto !important;
    padding-right: 48% !important;
}

/* Header über Hero */
body.home header.wp-block-template-part {
    z-index: 100 !important;
}

/* Mobile */
@media(max-width:900px) {
    body.home .schmid-v2 .sv2-hero-media {
        width: 65% !important;
        opacity: 1 !important;
    }

    body.home .schmid-v2 .sv2-hero-content {
        width: calc(100% - 50px) !important;
        padding-right: 30% !important;
    }
}

@media(max-width:600px) {
    body.home .schmid-v2 .sv2-hero-media {
        width: 100% !important;
        opacity: .35 !important;
    }

    body.home .schmid-v2 .sv2-hero-content {
        width: calc(100% - 30px) !important;
        padding-right: 0 !important;
    }
}

body.home .sv2-hero{position:relative!important;width:100vw!important;min-height:820px!important;height:92vh!important;overflow:hidden!important;background:#091b2c!important}
body.home .sv2-hero-media{position:absolute!important;top:0!important;right:0!important;width:58%!important;height:100%!important;z-index:1!important;display:block!important}
body.home .sv2-hero-media video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;opacity:1!important}
body.home .sv2-hero-overlay{position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(90deg,#091b2c 0%,#091b2c 30%,rgba(9,27,44,.96) 40%,rgba(9,27,44,.60) 53%,rgba(9,27,44,.15) 72%,rgba(9,27,44,0) 100%)!important;pointer-events:none!important}
body.home .sv2-hero-content{position:relative!important;z-index:5!important;width:min(1380px,calc(100% - 100px))!important;max-width:1380px!important;margin:auto!important;padding-right:48%!important}
body.home .sv2-hero::after{display:none!important;content:none!important}
@media(max-width:650px){body.home .sv2-hero-media{width:100%!important;opacity:.35!important}body.home .sv2-hero-content{width:calc(100% - 30px)!important;padding-right:0!important}}

/* =========================================================
   SCHMIDBV – ECHTE PROJEKTGALERIE
   ========================================================= */

body.home .sv2-gallery{
    display:grid!important;
    grid-template-columns:repeat(12,1fr)!important;
    grid-auto-rows:190px!important;
    gap:18px!important;
    width:100%!important;
    margin-top:50px!important;
}

/* Grundelement */
body.home .sv2-gallery-item{
    position:relative!important;
    display:block!important;
    overflow:hidden!important;
    min-width:0!important;
    background:#122c45!important;
    text-decoration:none!important;
}

/* Bild */
body.home .sv2-gallery-item img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    margin:0!important;
    transition:transform .6s cubic-bezier(.2,.7,.2,1)!important;
}

/* dunkler Hover */
body.home .sv2-gallery-item::after{
    content:"Projekt ansehen  →";
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    padding:35px 25px 22px!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    background:linear-gradient(
        transparent,
        rgba(5,18,31,.9)
    )!important;
    opacity:0!important;
    transform:translateY(12px)!important;
    transition:.3s ease!important;
    z-index:2!important;
}

body.home .sv2-gallery-item:hover img{
    transform:scale(1.07)!important;
}

body.home .sv2-gallery-item:hover::after{
    opacity:1!important;
    transform:translateY(0)!important;
}


/* =========================================================
   MOSAIK
   ========================================================= */

/* Bild 1 – großes Hauptprojekt */
body.home .sv2-gallery-item:nth-child(1){
    grid-column:1 / span 7!important;
    grid-row:1 / span 3!important;
}

/* Bild 2 */
body.home .sv2-gallery-item:nth-child(2){
    grid-column:8 / span 5!important;
    grid-row:1 / span 2!important;
}

/* Bild 3 */
body.home .sv2-gallery-item:nth-child(3){
    grid-column:8 / span 5!important;
    grid-row:3 / span 2!important;
}

/* Bild 4 */
body.home .sv2-gallery-item:nth-child(4){
    grid-column:1 / span 4!important;
    grid-row:4 / span 2!important;
}

/* Bild 5 */
body.home .sv2-gallery-item:nth-child(5){
    grid-column:5 / span 4!important;
    grid-row:4 / span 2!important;
}

/* Bild 6 */
body.home .sv2-gallery-item:nth-child(6){
    grid-column:9 / span 4!important;
    grid-row:5 / span 3!important;
}

/* Bild 7 */
body.home .sv2-gallery-item:nth-child(7){
    grid-column:1 / span 4!important;
    grid-row:6 / span 2!important;
}

/* Bild 8 */
body.home .sv2-gallery-item:nth-child(8){
    grid-column:5 / span 4!important;
    grid-row:6 / span 2!important;
}

/* Bild 9 */
body.home .sv2-gallery-item:nth-child(9){
    grid-column:1 / span 8!important;
    grid-row:8 / span 2!important;
}


/* =========================================================
   PROJEKTBEREICH
   ========================================================= */

body.home .sv2-projects{
    padding:120px 0 140px!important;
    background:#0b2943!important;
}

body.home .sv2-project-head{
    margin-bottom:20px!important;
}

body.home .sv2-project-head h2{
    color:#fff!important;
}

body.home .sv2-project-head h2 strong{
    color:#ef761d!important;
}

body.home .sv2-project-link{
    color:#fff!important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:900px){

    body.home .sv2-gallery{
        grid-template-columns:repeat(2,1fr)!important;
        grid-auto-rows:240px!important;
    }

    body.home .sv2-gallery-item:nth-child(n){
        grid-column:auto!important;
        grid-row:auto!important;
    }

    body.home .sv2-gallery-item:nth-child(1),
    body.home .sv2-gallery-item:nth-child(6),
    body.home .sv2-gallery-item:nth-child(9){
        grid-column:span 2!important;
        grid-row:span 2!important;
    }
}


@media(max-width:550px){

    body.home .sv2-gallery{
        display:grid!important;
        grid-template-columns:1fr!important;
        grid-auto-rows:300px!important;
        gap:12px!important;
    }

    body.home .sv2-gallery-item:nth-child(n){
        grid-column:1!important;
        grid-row:auto!important;
    }

    body.home .sv2-gallery-item:nth-child(1){
        height:400px!important;
    }

    body.home .sv2-gallery-item::after{
        opacity:1!important;
        transform:none!important;
    }
}


/* =========================================================
   SCHMIDBV – LEISTUNGEN NEU
   ========================================================= */

body.home .sv2-services{
    position:relative!important;
    padding:120px 0 140px!important;
    background:#0b2943!important;
    overflow:hidden!important;
}

/* dezentes grafisches Element */
body.home .sv2-services:before{
    content:"SCHMIDBV";
    position:absolute!important;
    right:-80px!important;
    top:60px!important;
    font-size:180px!important;
    font-weight:900!important;
    letter-spacing:-10px!important;
    color:rgba(255,255,255,.025)!important;
    pointer-events:none!important;
}

/* Überschrift */
body.home .sv2-services .sv2-section-head{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:end!important;
    gap:80px!important;
    margin-bottom:55px!important;
}

body.home .sv2-services .sv2-label{
    color:#ef761d!important;
}

body.home .sv2-services .sv2-section-head h2{
    color:#fff!important;
}

body.home .sv2-services .sv2-section-head h2 strong{
    color:#ef761d!important;
}

body.home .sv2-services .sv2-section-head > p{
    color:rgba(255,255,255,.65)!important;
    max-width:480px!important;
}

/* Kartenraster */
body.home .sv2-service-grid{
    position:relative!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:16px!important;
    background:none!important;
}

/* Karte */
body.home .sv2-service{
    position:relative!important;
    height:390px!important;
    min-height:390px!important;
    padding:30px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    overflow:hidden!important;
    background:#173b5a!important;
    color:#fff!important;
    border:none!important;
    transform:translateY(0)!important;
    transition:transform .35s ease!important;
}

/* Bilder */
body.home .sv2-service:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background-size:cover!important;
    background-position:center!important;
    transition:transform .6s ease!important;
    z-index:0!important;
}

/* unterschiedliche echte SchmidBV-Bilder */
body.home .sv2-service:nth-child(1):before{
    background-image:url("https://schmidbv.de/wp-content/uploads/2026/07/4fa05704-c656-4281-bfed-f1e3ff376746.jpg")!important;
}

body.home .sv2-service:nth-child(2):before{
    background-image:url("https://schmidbv.de/wp-content/uploads/2026/07/7e8c7be6-6ba6-42aa-95e4-cda652198cb7.jpg")!important;
}

body.home .sv2-service:nth-child(3):before{
    background-image:url("https://schmidbv.de/wp-content/uploads/2026/07/85c80afe-f4d4-4b26-9ff6-18b2663ad117.jpg")!important;
}

body.home .sv2-service:nth-child(4):before{
    background-image:url("https://schmidbv.de/wp-content/uploads/2026/07/184e4533-464a-473a-9025-ff074eb15f4c.jpg")!important;
}

body.home .sv2-service:nth-child(5):before{
    background-image:url("https://schmidbv.de/wp-content/uploads/2026/07/77479c96-0102-4192-8d0d-d5bf5512016f.jpg")!important;
}

body.home .sv2-service:nth-child(6):before{
    background-image:url("https://schmidbv.de/wp-content/uploads/2026/07/678371fa-1f49-460e-a292-5d6783de90cb.jpg")!important;
}

/* dunkler Bildverlauf */
body.home .sv2-service:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:
        linear-gradient(
            180deg,
            rgba(5,18,31,.10) 0%,
            rgba(5,18,31,.25) 35%,
            rgba(5,18,31,.92) 100%
        )!important;
}

/* Inhalt über Bild */
body.home .sv2-service > *{
    position:relative!important;
    z-index:3!important;
}

/* Nummer */
body.home .sv2-service .sv2-number{
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:3px!important;
    background:#ef761d!important;
    padding:8px 11px!important;
    width:max-content!important;
}

/* Überschrift */
body.home .sv2-service h3{
    color:#fff!important;
    font-size:32px!important;
    line-height:1!important;
    margin:0 0 12px!important;
}

/* Beschreibung */
body.home .sv2-service p{
    color:rgba(255,255,255,.82)!important;
    font-size:14px!important;
    line-height:1.55!important;
    max-width:360px!important;
    margin:0!important;
}

/* Pfeil */
body.home .sv2-service .sv2-arrow{
    color:#fff!important;
    right:28px!important;
    bottom:28px!important;
    font-size:25px!important;
}

/* Hover */
body.home .sv2-service:hover{
    transform:translateY(-8px)!important;
    background:#173b5a!important;
}

body.home .sv2-service:hover:before{
    transform:scale(1.08)!important;
}

/* obere Karten etwas unterschiedlich */
body.home .sv2-service:nth-child(2),
body.home .sv2-service:nth-child(5){
    transform:translateY(35px)!important;
}

body.home .sv2-service:nth-child(2):hover,
body.home .sv2-service:nth-child(5):hover{
    transform:translateY(27px)!important;
}

/* Tablet */
@media(max-width:900px){

    body.home .sv2-services{
        padding:90px 0 110px!important;
    }

    body.home .sv2-service-grid{
        grid-template-columns:repeat(2,1fr)!important;
    }

    body.home .sv2-service{
        height:350px!important;
        min-height:350px!important;
    }

    body.home .sv2-service:nth-child(2),
    body.home .sv2-service:nth-child(5){
        transform:none!important;
    }

    body.home .sv2-service:nth-child(2):hover,
    body.home .sv2-service:nth-child(5):hover{
        transform:translateY(-8px)!important;
    }
}

/* Handy */
@media(max-width:600px){

    body.home .sv2-services{
        padding:75px 0 90px!important;
    }

    body.home .sv2-services .sv2-section-head{
        display:block!important;
        margin-bottom:35px!important;
    }

    body.home .sv2-services .sv2-section-head > p{
        margin-top:25px!important;
    }

    body.home .sv2-service-grid{
        grid-template-columns:1fr!important;
    }

    body.home .sv2-service{
        height:330px!important;
        min-height:330px!important;
    }
}


/* =========================================================
   SCHMIDBV – CLEAN SERVICES SECTION
   ========================================================= */

body.home .sv2-services-clean{
    position:relative!important;
    width:100%!important;
    padding:110px 0 120px!important;
    background:#0b2944!important;
    overflow:hidden!important;
}

body.home .sv2-services-clean .sv2-container{
    width:min(1180px,calc(100% - 48px))!important;
    margin:0 auto!important;
}

body.home .sv2-services-clean .sv2-section-head{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    gap:60px!important;
    margin-bottom:55px!important;
}

body.home .sv2-services-clean .sv2-eyebrow{
    display:block!important;
    margin-bottom:14px!important;
    color:#f27a1a!important;
    font-size:11px!important;
    font-weight:800!important;
    letter-spacing:2px!important;
    text-transform:uppercase!important;
}

body.home .sv2-services-clean h2{
    margin:0!important;
    color:#fff!important;
    font-size:54px!important;
    line-height:.98!important;
    letter-spacing:-2px!important;
}

body.home .sv2-services-clean h2 strong{
    color:#f27a1a!important;
    font-weight:800!important;
}

body.home .sv2-services-clean .sv2-section-head > p{
    max-width:390px!important;
    margin:0 0 5px!important;
    color:rgba(255,255,255,.72)!important;
    font-size:15px!important;
    line-height:1.7!important;
}

body.home .sv2-service-grid-clean{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:24px!important;
}

body.home .sv2-service-card-clean{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:420px!important;
    overflow:hidden!important;
    background:#fff!important;
    text-decoration:none!important;
    box-shadow:0 18px 45px rgba(0,0,0,.16)!important;
    transition:transform .3s ease,box-shadow .3s ease!important;
}

body.home .sv2-service-card-clean:hover{
    transform:translateY(-8px)!important;
    box-shadow:0 28px 60px rgba(0,0,0,.28)!important;
}

body.home .sv2-service-image{
    position:relative!important;
    height:245px!important;
    overflow:hidden!important;
    background:#dce5ed!important;
}

body.home .sv2-service-image:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(to top,rgba(5,20,35,.45),transparent 55%)!important;
    pointer-events:none!important;
}

body.home .sv2-service-image img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    transition:transform .5s ease!important;
}

body.home .sv2-service-card-clean:hover .sv2-service-image img{
    transform:scale(1.06)!important;
}

body.home .sv2-service-number{
    position:absolute!important;
    left:18px!important;
    bottom:18px!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:26px!important;
    background:#f27a1a!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:800!important;
}

body.home .sv2-service-content{
    display:flex!important;
    flex:1!important;
    flex-direction:column!important;
    padding:27px 28px 25px!important;
}

body.home .sv2-service-content h3{
    margin:0 0 10px!important;
    color:#102d48!important;
    font-size:25px!important;
    line-height:1.1!important;
    font-weight:800!important;
}

body.home .sv2-service-content p{
    margin:0!important;
    color:#64748b!important;
    font-size:14px!important;
    line-height:1.6!important;
}

body.home .sv2-service-link{
    margin-top:auto!important;
    padding-top:20px!important;
    color:#f27a1a!important;
    font-size:13px!important;
    font-weight:800!important;
}

body.home .sv2-service-link span{
    display:inline-block!important;
    margin-left:5px!important;
    transition:transform .2s ease!important;
}

body.home .sv2-service-card-clean:hover .sv2-service-link span{
    transform:translateX(5px)!important;
}

@media (max-width:900px){

    body.home .sv2-services-clean{
        padding:80px 0!important;
    }

    body.home .sv2-services-clean .sv2-section-head{
        display:block!important;
        margin-bottom:38px!important;
    }

    body.home .sv2-services-clean .sv2-section-head > p{
        margin-top:25px!important;
    }

    body.home .sv2-service-grid-clean{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

}

@media (max-width:600px){

    body.home .sv2-services-clean .sv2-container{
        width:calc(100% - 30px)!important;
    }

    body.home .sv2-services-clean h2{
        font-size:42px!important;
    }

    body.home .sv2-service-grid-clean{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }

    body.home .sv2-service-card-clean{
        min-height:390px!important;
    }

    body.home .sv2-service-image{
        height:220px!important;
    }

}


/* =========================================================
   SCHMIDBV HERO – TEXT LEICHT NACH RECHTS
   ========================================================= */

body.home .sv2-hero-content{
    transform:translateX(55px)!important;
}

/* Auf kleineren Bildschirmen wieder normal ausrichten */
@media (max-width:1100px){
    body.home .sv2-hero-content{
        transform:translateX(25px)!important;
    }
}

@media (max-width:700px){
    body.home .sv2-hero-content{
        transform:none!important;
    }
}


/* =========================================================
   SCHMIDBV – SEITENTITEL UNTER DEN HEADER
   ========================================================= */

/* Header immer über dem Seiteninhalt */
body:not(.home) header,
body:not(.home) .wp-block-template-part{
    position:relative!important;
    z-index:100!important;
}

/* Hauptinhalt beginnt erst unterhalb des Headers */
body:not(.home) main,
body:not(.home) .wp-site-blocks > main{
    position:relative!important;
    z-index:1!important;
    padding-top:55px!important;
}

/* WordPress Seitentitel sauber unter dem Header */
body:not(.home) .wp-block-post-title,
body:not(.home) .entry-title{
    position:relative!important;
    z-index:2!important;
    margin-top:35px!important;
    margin-bottom:45px!important;
    clear:both!important;
}

/* Überschriften nicht unter das Logo laufen lassen */
body:not(.home) main h1:first-child,
body:not(.home) main > h1:first-child{
    margin-top:35px!important;
}

/* Seiteninhalt bekommt Luft */
body:not(.home) .wp-block-post-content{
    position:relative!important;
    z-index:1!important;
}

/* Desktop */
@media (min-width:1000px){

    body:not(.home) main{
        padding-top:70px!important;
    }

    body:not(.home) .wp-block-post-title,
    body:not(.home) .entry-title{
        max-width:1180px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:24px!important;
        padding-right:24px!important;
        margin-top:30px!important;
    }

}

/* Mobile */
@media (max-width:700px){

    body:not(.home) main{
        padding-top:35px!important;
    }

    body:not(.home) .wp-block-post-title,
    body:not(.home) .entry-title{
        margin-top:20px!important;
        margin-bottom:30px!important;
        padding-left:18px!important;
        padding-right:18px!important;
    }

}


/* =========================================================
   SCHMIDBV – HEADER AUF ALLEN UNTERSEITEN
   ========================================================= */

/* Header der Unterseiten */
body:not(.home) header,
body:not(.home) .wp-block-template-part{
    background:#0b1d2d!important;
}

/* Navigation */
body:not(.home) header a,
body:not(.home) .wp-block-template-part a{
    color:#ffffff!important;
    text-decoration:none!important;
}

/* Navigation Hover */
body:not(.home) header a:hover,
body:not(.home) .wp-block-template-part a:hover{
    color:#f27a1a!important;
}

/* Logo / Site Title */
body:not(.home) header .wp-block-site-title a,
body:not(.home) header .wp-block-site-logo + * a{
    color:#ffffff!important;
}

/* Header-Inhalt */
body:not(.home) header{
    position:relative!important;
    z-index:100!important;
    min-height:105px!important;
}

/* Falls das Theme den Header-Inhalt begrenzt */
body:not(.home) header > div{
    position:relative!important;
    z-index:101!important;
}

/* =========================================================
   SEITENTITEL
   ========================================================= */

body:not(.home) main{
    padding-top:0!important;
    background:#ffffff!important;
}

/* Titelbereich */
body:not(.home) .wp-block-post-title,
body:not(.home) .entry-title{
    position:relative!important;
    z-index:2!important;
    max-width:none!important;
    margin:0!important;
    padding:70px max(24px,calc((100vw - 1180px)/2)) 70px!important;

    background:#eef2f6!important;

    color:#0b2944!important;
    font-size:52px!important;
    line-height:1.05!important;
    font-weight:800!important;
    letter-spacing:-1.5px!important;
}

/* Keine weiße Schrift vom Theme */
body:not(.home) main h1,
body:not(.home) main .wp-block-post-title,
body:not(.home) main .entry-title{
    color:#0b2944!important;
}

/* =========================================================
   CONTENT UNTER DEM TITEL
   ========================================================= */

body:not(.home) .wp-block-post-content{
    position:relative!important;
    z-index:1!important;
    background:#ffffff!important;
}

/* Links im Seiteninhalt */
body:not(.home) .wp-block-post-content a{
    color:#0b5d91;
}

body:not(.home) .wp-block-post-content a:hover{
    color:#f27a1a;
}

/* =========================================================
   LOGO BESSER SICHTBAR
   ========================================================= */

body:not(.home) header img{
    position:relative!important;
    z-index:110!important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px){

    body:not(.home) header{
        min-height:80px!important;
    }

    body:not(.home) .wp-block-post-title,
    body:not(.home) .entry-title{
        padding:45px 18px 45px!important;
        font-size:38px!important;
    }

}


/* =========================================================
   SCHMIDBV – HEADER FINAL DESKTOP + MOBILE
   ========================================================= */

/* Unterseiten */
body:not(.home) header,
body:not(.home) .wp-block-template-part{
    background:#0b1d2d!important;
    color:#fff!important;
}

/* Alle Navigationselemente */
body:not(.home) header nav,
body:not(.home) header .wp-block-navigation,
body:not(.home) .wp-block-template-part nav,
body:not(.home) .wp-block-template-part .wp-block-navigation{
    background:#0b1d2d!important;
    color:#fff!important;
}

/* Navigation Links */
body:not(.home) header nav a,
body:not(.home) header .wp-block-navigation a,
body:not(.home) .wp-block-template-part nav a,
body:not(.home) .wp-block-template-part .wp-block-navigation a{
    color:#fff!important;
    background:transparent!important;
}

/* Hover */
body:not(.home) header nav a:hover,
body:not(.home) header .wp-block-navigation a:hover,
body:not(.home) .wp-block-template-part nav a:hover,
body:not(.home) .wp-block-template-part .wp-block-navigation a:hover{
    color:#f27a1a!important;
}

/* Home ebenfalls sauber */
body:not(.home) .schmid-home-link a{
    color:#fff!important;
}

/* =========================================================
   MOBILE MENU
   ========================================================= */

@media (max-width:900px){

    body:not(.home) header,
    body:not(.home) .wp-block-template-part{
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container,
    body:not(.home) header .wp-block-navigation__responsive-container.is-menu-open{
        background:#0b1d2d!important;
        color:#fff!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content{
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content ul{
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content a{
        color:#fff!important;
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content a:hover{
        color:#f27a1a!important;
    }

    /* Mobile Menü schließen / öffnen */
    body:not(.home) header .wp-block-navigation__responsive-container-open,
    body:not(.home) header .wp-block-navigation__responsive-container-close{
        color:#fff!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-open svg,
    body:not(.home) header .wp-block-navigation__responsive-container-close svg{
        fill:#fff!important;
    }

}

/* =========================================================
   STARTSEITE MOBILE
   ========================================================= */

@media (max-width:900px){

    body.home header{
        background:#091b2c!important;
    }

    body.home header nav,
    body.home header .wp-block-navigation{
        background:#091b2c!important;
    }

    body.home header nav a,
    body.home header .wp-block-navigation a{
        color:#fff!important;
    }

    body.home header .wp-block-navigation__responsive-container,
    body.home header .wp-block-navigation__responsive-container.is-menu-open{
        background:#091b2c!important;
    }

}

/* =========================================================
   LOGO / SITE TITLE
   ========================================================= */

body:not(.home) header .wp-block-site-title a{
    color:#fff!important;
}


/* =========================================================
   SCHMIDBV – HEADER FINAL DESKTOP + MOBILE
   ========================================================= */

/* Unterseiten */
body:not(.home) header,
body:not(.home) .wp-block-template-part{
    background:#0b1d2d!important;
    color:#fff!important;
}

/* Alle Navigationselemente */
body:not(.home) header nav,
body:not(.home) header .wp-block-navigation,
body:not(.home) .wp-block-template-part nav,
body:not(.home) .wp-block-template-part .wp-block-navigation{
    background:#0b1d2d!important;
    color:#fff!important;
}

/* Navigation Links */
body:not(.home) header nav a,
body:not(.home) header .wp-block-navigation a,
body:not(.home) .wp-block-template-part nav a,
body:not(.home) .wp-block-template-part .wp-block-navigation a{
    color:#fff!important;
    background:transparent!important;
}

/* Hover */
body:not(.home) header nav a:hover,
body:not(.home) header .wp-block-navigation a:hover,
body:not(.home) .wp-block-template-part nav a:hover,
body:not(.home) .wp-block-template-part .wp-block-navigation a:hover{
    color:#f27a1a!important;
}

/* Home ebenfalls sauber */
body:not(.home) .schmid-home-link a{
    color:#fff!important;
}

/* =========================================================
   MOBILE MENU
   ========================================================= */

@media (max-width:900px){

    body:not(.home) header,
    body:not(.home) .wp-block-template-part{
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container,
    body:not(.home) header .wp-block-navigation__responsive-container.is-menu-open{
        background:#0b1d2d!important;
        color:#fff!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content{
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content ul{
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content a{
        color:#fff!important;
        background:#0b1d2d!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-content a:hover{
        color:#f27a1a!important;
    }

    /* Mobile Menü schließen / öffnen */
    body:not(.home) header .wp-block-navigation__responsive-container-open,
    body:not(.home) header .wp-block-navigation__responsive-container-close{
        color:#fff!important;
    }

    body:not(.home) header .wp-block-navigation__responsive-container-open svg,
    body:not(.home) header .wp-block-navigation__responsive-container-close svg{
        fill:#fff!important;
    }

}

/* =========================================================
   STARTSEITE MOBILE
   ========================================================= */

@media (max-width:900px){

    body.home header{
        background:#091b2c!important;
    }

    body.home header nav,
    body.home header .wp-block-navigation{
        background:#091b2c!important;
    }

    body.home header nav a,
    body.home header .wp-block-navigation a{
        color:#fff!important;
    }

    body.home header .wp-block-navigation__responsive-container,
    body.home header .wp-block-navigation__responsive-container.is-menu-open{
        background:#091b2c!important;
    }

}

/* =========================================================
   LOGO / SITE TITLE
   ========================================================= */

body:not(.home) header .wp-block-site-title a{
    color:#fff!important;
}


/* SCHMIDBV – Portfolio aus Hauptnavigation entfernen */
header .wp-block-navigation a[href*="/portfolio/"],
header nav a[href*="/portfolio/"]{
    display:none!important;
}

header .wp-block-navigation li:has(a[href*="/portfolio/"]),
header nav li:has(a[href*="/portfolio/"]){
    display:none!important;
}

/* Start ebenfalls nicht im Hauptmenü anzeigen */
header .wp-block-navigation a[href*="/start/"],
header nav a[href*="/start/"]{
    display:none!important;
}

header .wp-block-navigation li:has(a[href*="/start/"]),
header nav li:has(a[href*="/start/"]){
    display:none!important;
}

/* =========================================================
   SCHMID BV – SERVICES PREMIUM REDESIGN
   ========================================================= */

.sv2-services-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:28px !important;
    align-items:stretch !important;
}

/* Leere Seitenflächen nicht mehr weiß darstellen */
.sv2-services-grid > *:empty,
.sv2-services-grid > div:not(:has(.sv2-service-card)):not(:has(img)){
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
}

/* Falls die weißen Platzhalter über Hintergrundflächen kommen */
.sv2-services-grid > div{
    background:transparent !important;
}

/* Service-Karten */
.sv2-service-card{
    width:100% !important;
    max-width:none !important;
    background:#ffffff !important;
    border-radius:0 !important;
    overflow:hidden !important;
    box-shadow:0 18px 45px rgba(0,0,0,.16) !important;
    transition:
        transform .3s ease,
        box-shadow .3s ease !important;
    position:relative !important;
}

/* Hover */
.sv2-service-card:hover{
    transform:translateY(-7px) !important;
    box-shadow:0 25px 55px rgba(0,0,0,.24) !important;
}

/* Bild */
.sv2-service-card img{
    width:100% !important;
    height:250px !important;
    object-fit:cover !important;
    display:block !important;
}

/* Nummern-Badge */
.sv2-service-card .sv2-number{
    background:#f58220 !important;
    color:#fff !important;
    font-weight:800 !important;
}

/* Textbereich */
.sv2-service-card > div:last-child{
    padding:25px 24px 27px !important;
    min-height:150px !important;
}

/* Überschrift */
.sv2-service-card h3,
.sv2-service-card h2{
    color:#0b2944 !important;
    font-size:21px !important;
    font-weight:800 !important;
    margin:0 0 10px !important;
}

/* Beschreibung */
.sv2-service-card p{
    color:#667789 !important;
    line-height:1.55 !important;
}

/* Mehr erfahren */
.sv2-service-card a{
    color:#f58220 !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

/* dezenter orangefarbener Abschluss */
.sv2-service-card::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:4px !important;
    background:#f58220 !important;
    transform:scaleX(0) !important;
    transform-origin:left !important;
    transition:transform .3s ease !important;
}

.sv2-service-card:hover::after{
    transform:scaleX(1) !important;
}

/* Seitenflächen der Sektion */
.sv2-services-section{
    background:#0b2944 !important;
}

/* Mobile */
@media (max-width:900px){

    .sv2-services-grid{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }

    .sv2-service-card img{
        height:220px !important;
    }
}

@media (min-width:901px) and (max-width:1200px){

    .sv2-services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* =========================================================
   SCHMID BV – LEERE SERVICE-SPALTEN ENTFERNEN
   ========================================================= */

/* Leere WordPress-Spalten aus dem Leistungsbereich entfernen */
.sv2-services-section .wp-block-column:empty,
.sv2-services-section .wp-block-column:not(:has(.sv2-service-card)){
    display:none !important;
}

/* Auch leere Wrapper/Spalten ohne Service-Inhalt ausblenden */
.sv2-services-section .wp-block-columns > .wp-block-column:not(:has(.sv2-service-card)){
    display:none !important;
}

/* Verbleibende Service-Spalten volle Breite */
.sv2-services-section .wp-block-columns{
    display:block !important;
}

.sv2-services-section .wp-block-column:has(.sv2-service-card){
    width:100% !important;
    flex-basis:100% !important;
    margin:0 !important;
}

/* Service-Karten selbst schön breit */
.sv2-services-section .sv2-service-card{
    width:100% !important;
    max-width:100% !important;
}

/* Falls die weißen Flächen von inneren Blöcken kommen */
.sv2-services-section .wp-block-column:not(:has(.sv2-service-card)) *,
.sv2-services-section .wp-block-column:not(:has(.sv2-service-card))::before,
.sv2-services-section .wp-block-column:not(:has(.sv2-service-card))::after{
    display:none !important;
}

/* Desktop: zwei Leistungen nebeneinander */
@media (min-width:901px){
    .sv2-services-section .wp-block-columns{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:28px !important;
    }

    .sv2-services-section .wp-block-column:has(.sv2-service-card){
        width:auto !important;
        flex-basis:auto !important;
    }
}

/* Mobile */
@media (max-width:900px){
    .sv2-services-section .wp-block-columns{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:22px !important;
    }
}


/* =========================================================
   SCHMIDBV – LEISTUNGEN FINAL
   ========================================================= */

body.home .sv2-services-clean{
    width:100% !important;
    max-width:none !important;
    background:#f1f4f7 !important;
    padding:95px 0 !important;
}

body.home .sv2-services-clean .sv2-container{
    width:min(1400px, calc(100% - 70px)) !important;
    max-width:1400px !important;
    margin:0 auto !important;
}

/* Überschrift */
body.home .sv2-services-clean .sv2-section-head{
    margin-bottom:45px !important;
}

/* DAS WICHTIGSTE: echtes 3x2 Raster */
body.home .sv2-service-grid-clean{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:28px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

/* Karten */
body.home .sv2-service-card-clean{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    background:#fff !important;
    border:0 !important;
    border-radius:3px !important;
    overflow:hidden !important;
    box-shadow:0 12px 35px rgba(11,41,68,.12) !important;
    transition:transform .3s ease, box-shadow .3s ease !important;
}

/* Bilder */
body.home .sv2-service-card-clean .sv2-service-image{
    position:relative !important;
    width:100% !important;
    height:270px !important;
    overflow:hidden !important;
}

body.home .sv2-service-card-clean .sv2-service-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    transition:transform .5s ease !important;
}

body.home .sv2-service-card-clean:hover{
    transform:translateY(-6px) !important;
    box-shadow:0 20px 45px rgba(11,41,68,.20) !important;
}

body.home .sv2-service-card-clean:hover .sv2-service-image img{
    transform:scale(1.05) !important;
}

/* Nummer */
body.home .sv2-service-card-clean .sv2-service-number{
    position:absolute !important;
    top:18px !important;
    left:18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:45px !important;
    height:45px !important;
    background:#f58220 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
}

/* Inhalt */
body.home .sv2-service-card-clean .sv2-service-content{
    flex:1 !important;
    padding:27px 27px 30px !important;
    background:#fff !important;
}

body.home .sv2-service-card-clean .sv2-service-content h3{
    margin:0 0 10px !important;
    color:#0b2944 !important;
    font-size:22px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
}

body.home .sv2-service-card-clean .sv2-service-content p{
    margin:0 0 20px !important;
    color:#687887 !important;
    font-size:15px !important;
    line-height:1.6 !important;
}

body.home .sv2-service-card-clean .sv2-service-link{
    color:#f58220 !important;
    font-size:14px !important;
    font-weight:800 !important;
}

body.home .sv2-service-card-clean .sv2-service-link span{
    margin-left:6px !important;
    transition:margin-left .25s ease !important;
}

body.home .sv2-service-card-clean:hover .sv2-service-link span{
    margin-left:12px !important;
}

/* Tablet */
@media (max-width:1050px){
    body.home .sv2-service-grid-clean{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Smartphone */
@media (max-width:650px){
    body.home .sv2-services-clean{
        padding:65px 0 !important;
    }

    body.home .sv2-services-clean .sv2-container{
        width:calc(100% - 30px) !important;
    }

    body.home .sv2-service-grid-clean{
        grid-template-columns:1fr !important;
        gap:20px !important;
    }

    body.home .sv2-service-card-clean .sv2-service-image{
        height:230px !important;
    }
}


/* =========================================================
   LEISTUNGEN – 2 KARTEN NEBENEINANDER
   ========================================================= */

@media (min-width: 651px){

    body.home .sv2-services-clean .sv2-service-grid-clean{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow:row !important;
        gap:28px !important;
        width:100% !important;
    }

    body.home .sv2-services-clean .sv2-service-card-clean{
        display:flex !important;
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
    }

}

@media (min-width:1100px){

    body.home .sv2-services-clean .sv2-service-grid-clean{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }

}

@media (max-width:650px){

    body.home .sv2-services-clean .sv2-service-grid-clean{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:20px !important;
    }

}

/* =========================================================
   LEISTUNGEN – SICHTBARKEIT + SAUBERES RASTER
   ========================================================= */

body.home .sv2-services-clean{
    background:#0b2944 !important;
    color:#ffffff !important;
}

/* Überschrift */
body.home .sv2-services-clean .sv2-section-head h2{
    color:#ffffff !important;
}

body.home .sv2-services-clean .sv2-section-head h2 strong{
    color:#f58220 !important;
}

/* Beschreibung ebenfalls sichtbar */
body.home .sv2-services-clean .sv2-section-head > p{
    color:rgba(255,255,255,.85) !important;
}

/* Label */
body.home .sv2-services-clean .sv2-label{
    color:#f58220 !important;
}

/* echtes 2-Spalten-Layout */
body.home .sv2-service-grid-clean{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
    width:100% !important;
}

/* Karten */
body.home .sv2-service-card-clean{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-width:0 !important;
    background:#ffffff !important;
    overflow:hidden !important;
}

/* Bilder */
body.home .sv2-service-card-clean .sv2-service-image{
    width:100% !important;
    height:280px !important;
    overflow:hidden !important;
}

body.home .sv2-service-card-clean .sv2-service-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

/* Kartentext */
body.home .sv2-service-card-clean .sv2-service-content{
    background:#ffffff !important;
    padding:25px !important;
}

body.home .sv2-service-card-clean .sv2-service-content h3{
    color:#0b2944 !important;
}

body.home .sv2-service-card-clean .sv2-service-content p{
    color:#657585 !important;
}

body.home .sv2-service-card-clean .sv2-service-link{
    color:#f58220 !important;
}

/* Desktop etwas kompakter */
@media (min-width:1100px){
    body.home .sv2-service-grid-clean{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Mobile */
@media (max-width:650px){
    body.home .sv2-service-grid-clean{
        grid-template-columns:1fr !important;
    }
}

/* =========================================================
   SCHMIDBV – KONTAKTFORMULAR FINAL
   Nur Formular #wpcf7-f14-p16-o1
   ========================================================= */

body.page-id-16 #wpcf7-f14-p16-o1{
    width:100% !important;
    max-width:560px !important;
    box-sizing:border-box !important;
    background:#ffffff !important;
    padding:42px !important;
    margin:0 !important;
    border-radius:8px !important;
    box-shadow:0 20px 55px rgba(11,41,68,.16) !important;
}

/* Formular selbst */
body.page-id-16 #wpcf7-f14-p16-o1 form{
    margin:0 !important;
}

/* Absätze */
body.page-id-16 #wpcf7-f14-p16-o1 form > p{
    margin:0 !important;
}

/* Labels */
body.page-id-16 #wpcf7-f14-p16-o1 label{
    display:block !important;
    color:#0b2944 !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    margin:0 0 20px !important;
}

/* Eingabefelder */
body.page-id-16 #wpcf7-f14-p16-o1 input[type="text"],
body.page-id-16 #wpcf7-f14-p16-o1 input[type="email"],
body.page-id-16 #wpcf7-f14-p16-o1 textarea{

    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;

    margin-top:7px !important;

    background:#f7f9fb !important;
    color:#0b2944 !important;

    border:1px solid #d5dde5 !important;
    border-radius:4px !important;

    padding:14px 15px !important;

    font-family:inherit !important;
    font-size:15px !important;

    outline:none !important;

    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease !important;
}

/* Normale Feldhöhe */
body.page-id-16 #wpcf7-f14-p16-o1 input[type="text"],
body.page-id-16 #wpcf7-f14-p16-o1 input[type="email"]{
    height:52px !important;
}

/* Nachrichtenfeld */
body.page-id-16 #wpcf7-f14-p16-o1 textarea{
    height:160px !important;
    min-height:160px !important;
    resize:vertical !important;
}

/* Fokus */
body.page-id-16 #wpcf7-f14-p16-o1 input:focus,
body.page-id-16 #wpcf7-f14-p16-o1 textarea:focus{
    background:#ffffff !important;
    border-color:#f58220 !important;
    box-shadow:0 0 0 3px rgba(245,130,32,.12) !important;
}

/* Senden */
body.page-id-16 #wpcf7-f14-p16-o1 input[type="submit"]{

    display:inline-block !important;

    width:auto !important;

    background:#f58220 !important;
    color:#ffffff !important;

    border:0 !important;
    border-radius:4px !important;

    padding:16px 34px !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:800 !important;

    cursor:pointer !important;

    box-shadow:0 8px 20px rgba(245,130,32,.22) !important;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease !important;
}

body.page-id-16 #wpcf7-f14-p16-o1 input[type="submit"]:hover{
    background:#d96e12 !important;
    transform:translateY(-2px) !important;
    box-shadow:0 12px 28px rgba(245,130,32,.30) !important;
}

/* Fehlermeldungen */
body.page-id-16 #wpcf7-f14-p16-o1 .wpcf7-not-valid-tip{
    color:#d85c2a !important;
    font-size:12px !important;
    margin-top:5px !important;
}

/* Statusmeldung */
body.page-id-16 #wpcf7-f14-p16-o1 .wpcf7-response-output{
    margin:18px 0 0 !important;
    padding:12px 15px !important;
    border:1px solid #d5dde5 !important;
    border-radius:4px !important;
    color:#0b2944 !important;
}

/* Mobile */
@media(max-width:650px){

    body.page-id-16 #wpcf7-f14-p16-o1{
        max-width:100% !important;
        padding:25px !important;
        border-radius:6px !important;
    }

    body.page-id-16 #wpcf7-f14-p16-o1 input[type="submit"]{
        width:100% !important;
    }
}

