/* =========================================================
   BSE Optical Bonding – style.css (FINAL bereinigt)
   Fokus:
   - Stabiles Sticky-Header Verhalten (nie ausblenden)
   - Logo-Swap per .header.is-compact
   - Layout: Logo links / NAV (inkl. Optical Bonding) mittig / CTA rechts
   - Content max 1600px, Header max 1800px
   ========================================================= */

/* ---------- Variables ---------- */
:root{
  --bg0:#f7f9fc;
  --bg1:#ffffff;
  --text:#0b1220;
  --muted: rgba(11,18,32,.70);
  --line: rgba(11,18,32,.12);

  --card: rgba(11,18,32,.03);
  --card2: rgba(11,18,32,.05);

  /* Brand accents */
  --accent:#c2177a;   /* Magenta */
  --accent2:#6a2bbf;  /* Violett */

  --shadow: 0 16px 44px rgba(11,18,32,.12);
  --r: 18px;

  /* Breiten */
  --max: 1600px;
  --maxHeader: 1800px;

--check: var(--accent, #c2177a); /* nutzt deinen Brand-Magenta */

}

html{
  font-size: 18px; /* Test: macht ALLES mit rem sichtbar größer */
  scroll-padding-top: 90px; /* Höhe deines Headers grob geschätzt */
}


/* ---------- Base ---------- */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:"Barlow", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  font-weight:300;
  font-size: 1.18rem;
  line-height:1.7;
  color:var(--text);

  /* Platz für den fixen Header */
  padding-top: 100px; /* ggf. auf 120–140px feintunen */
}


a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }

/* Content Container */
.container{
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 24px;
}

/* =========================================================
   HEADER (Sticky, stabil)
========================================================= */
/* Fixierter Header – bleibt immer oben sichtbar */
.header{
  position: fixed;          /* statt sticky */
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;

  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

/* etwas „Luft“ im Header, damit er immer gleich hoch bleibt */
.header .container{
  padding-top: 0px;
  padding-bottom: 0px;
}

/* Layout: Logo | NAV (center) | Actions */
.navwrap{
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 4px 0;          /* weniger Luft oben/unten */
  min-height: 88px;        /* statt 112px – Header wird spürbar schmaler */
  transition: min-height .22s ease, box-shadow .22s ease;
}

.header.is-compact .navwrap{
  min-height: 112px;                    /* gleiche Höhe wie normal */
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}


/* ---------- Logo Swap ---------- */
.brand{
  position: relative;
  display: block;
  width: 260px;                /* stabilisiert die Logo-Zone */
  height: 96px;
}

.brand .logo{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  max-width: none;
  opacity: 0;
  transition: opacity .18s ease, transform .22s ease;
  transform-origin: left center;
  pointer-events: none;
}

.brand .logo--default{
  height: 96px;
  opacity: 1;
  pointer-events: auto;
}

.brand .logo--compact{
  height: 64px;
}

.header.is-compact .brand .logo--default{
  opacity: 0;
  pointer-events: none;
}
.header.is-compact .brand .logo--compact{
  opacity: 1;
  transform: translateY(-50%) scale(1.12);
  pointer-events: auto;
}

/* ---------- NAV (center) ---------- */
.nav{
  display:flex;
  align-items:center;
  justify-content:center; /* echte Zentrierung */
  gap:18px;
  margin:0;
  padding:0;
}

/* Standard-Menü-Link */
.header .nav a{
  font-family:"Barlow", Arial, sans-serif;
  font-size: .9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .18em;

  padding: 8px 10px;
  border-radius: 12px;
  color: rgba(11,18,32,.75);

  position: relative;
  white-space: nowrap;
  transition: color .2s ease, background-color .2s ease;
}

.header .nav a:hover{ color:#4a2491; }

.header .nav a.active{
  color:#4a2491;
  background-color: rgba(74,36,145,.10);
}

/* Hover-Linie nur wenn nicht active */
.header .nav a:not(.active)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:60%;
  height:1px;
  background:#4a2491;
  border-radius:2px;
  opacity:0;
  transform: translateX(-50%) scaleX(0);
  transform-origin:center;
  transition: transform .2s ease, opacity .2s ease;
  pointer-events:none;
}
.header .nav a:not(.active):hover::after{
  opacity:1;
  transform: translateX(-50%) scaleX(1);
}

/* Optical Bonding als Menü-Button:
   -> Im HTML bitte als: <a class="navBtn" href="optical-bonding.html">Optical Bonding</a> INS <nav> setzen. */
.header .nav .navBtn{
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.14);
  background: rgba(255,255,255,.90);
  box-shadow: 0 6px 18px rgba(11,18,32,.06);

  /* Buttoniger wirken */
  letter-spacing: 0.08em;
  text-transform: none;
}
.header .nav .navBtn:hover{
  background:#fff;
  border-color: rgba(11,18,32,.22);
}

/* ---------- Actions (rechts) ---------- */
.actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.14);
  background: rgba(255,255,255,.90);

  color: var(--text);
  font-weight: 500;
  font-size: 1.05rem;
  line-height: 1.1;
  white-space: nowrap;

  box-shadow: 0 6px 18px rgba(11,18,32,.06);
  transition: transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.btn:hover{ transform: translateY(-1px); background:#fff; border-color: rgba(11,18,32,.22); }

.btn.primary{
  border-color: rgba(194,23,122,.38);
  background: linear-gradient(180deg, rgba(194,23,122,.16), rgba(106,43,191,.06));
  box-shadow: 0 14px 28px rgba(194,23,122,.14);
}
.btn.primary:hover{ border-color: rgba(194,23,122,.55); }

/* Wenn „Optical Bonding“ noch in .actions als .btn.ghost existiert, blendet das Desktop aus,
   damit es wirklich nur im NAV sitzt (falls du es noch nicht im HTML verschoben hast). */
.actions .btn.ghost{ display:none; }

/* Burger */
.burger{
  display:none;
  width:42px; height:42px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,.14);
  background: rgba(255,255,255,.80);
  cursor:pointer;
  box-shadow: 0 6px 18px rgba(11,18,32,.06);
}
.burger span{
  display:block; width:18px; height:2px;
  background: rgba(11,18,32,.85);
  margin:4px auto;
  border-radius:2px;
}

/* Mobile menu panel */
.mobilePanel{
  display:none;
  padding: 10px 0 16px;
}
.mobilePanel.open{ display:block; }

.mobilePanel a{
  display:block;
  padding:12px 10px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.85);
  color: rgba(11,18,32,.82);
  margin-top:8px;
  box-shadow: 0 12px 28px rgba(11,18,32,.06);

  font-family:"Barlow", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.mobilePanel a:hover{ background:#fff; }

/* =========================================================
   HERO
========================================================= */
.hero{ padding: 70px 0 18px; }
.heroGrid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 26px;
  align-items:stretch;
}

.kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  color: rgba(11,18,32,.72);
  font-size:13px;
  padding:8px 12px;
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.78);
  border-radius:999px;
  margin-bottom:16px;
}
.dot{
  width:8px; height:8px;
  border-radius:99px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(194,23,122,.15);
}

h1{
  margin:0 0 12px;
  font-size: 44px;
  line-height:1.06;
  letter-spacing:-.8px;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.sectionTitle{
  font-size: 22px;
  letter-spacing: -.2px;
  margin: 0 0 12px;
  color: var(--accent2);
}

.lead{
  margin:0 0 18px;
  color: var(--muted);
  font-size: 16.5px;
  max-width: 72ch;
}

.heroActions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; }

/* Trust bar */
.trustbar{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:10px;
}
.trust{
  border-radius:14px;
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.80);
  padding:10px 12px;
  min-height:56px;
  box-shadow: 0 10px 26px rgba(11,18,32,.05);
}
.trust b{
  display:block;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 500;
}
.trust span{
  display:block;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 300;
  color: var(--muted);
  margin-top:2px;
}

/* Visual card + Slider */
.visualCard{
  position:relative;
  border-radius: var(--r);
  border:1px solid rgba(11,18,32,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.72));
  overflow:hidden;
  box-shadow: var(--shadow);
  min-height: 320px;
}
.visualCard img{ width:100%; height:100%; object-fit:cover; display:block; }

.slider{ position:relative; overflow:hidden; }
.slider .slides{
  display:flex;
  width:200%;
  height:100%;
  transition: transform .6s ease;
}
.slider img{
  width:100%;
  height:100%;
  object-fit:cover;
  flex:0 0 100%;
}
.slider::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(80% 60% at 30% 20%, rgba(194,23,122,.10), transparent 60%),
    linear-gradient(180deg, rgba(74,36,145,.06), rgba(0,0,0,.05));
  pointer-events:none;
}

.badgeRow{
  position:absolute; top:16px; left:16px; right:16px;
  display:flex; gap:10px; flex-wrap:wrap;
  pointer-events:none;
}
.badge{
  font-size:.95rem;
  line-height:1.4;
  color: rgba(11,18,32,.72);
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.85);
  padding:7px 10px;
  border-radius:999px;
  box-shadow: 0 10px 24px rgba(11,18,32,.06);
}

/* Slider Nav Buttons */
.slider .nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.6);
  background: rgba(255,255,255,.75);
  color:#000;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.slider .nav.prev{ left:12px; }
.slider .nav.next{ right:12px; }
.slider .nav:hover{ background:#fff; }

/* =========================================================
   BANDS / SECTIONS
========================================================= */
.band{ padding: 110px 0; }
/* Helle Bänder mit sanftem Verlauf – global für alle Seiten */
.band--light {
  background:
    radial-gradient(
      1200px 600px at 10% 20%,
      rgba(179, 79, 255, 0.10),
      rgba(255, 255, 255, 0) 60%
    ),
    radial-gradient(
      900px 500px at 90% 30%,
      rgba(125, 78, 255, 0.08),
      rgba(255, 255, 255, 0) 65%
    ),
    #ffffff;
}

.sectionIntro{
  margin:0 0 24px;
  color:var(--muted);
  max-width: 92ch;
}

/* Process strip */
.processStrip{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:10px;
  margin-top:24px;
}
.step{
  border-radius:16px;
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.82);
  padding:12px 12px 14px;
  min-height:102px;
  box-shadow: 0 12px 30px rgba(11,18,32,.05);
}
.step .n{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px; height:26px;
  border-radius:10px;
  border:1px solid rgba(194,23,122,.35);
  background: rgba(194,23,122,.10);
  color: rgba(11,18,32,.92);
  font-weight:900;
  font-size:12px;
  margin-bottom:10px;
}
.step .t{
  font-weight: 500;
  font-size: 14px;
  line-height: 1.35;
  margin:0 0 6px;
}
.step .d{
  margin:0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}

/* Modules */
.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top:24px;
}
.module{
  border-radius: var(--r);
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.84);
  padding:16px;
  min-height: 190px;
  box-shadow: 0 14px 34px rgba(11,18,32,.06);
  transition: transform .15s ease, border-color .2s ease, box-shadow .2s ease;
}
.module:hover{
  transform: translateY(-2px);
  border-color: rgba(11,18,32,.18);
  box-shadow: 0 18px 44px rgba(11,18,32,.10);
}
.icon{
  width:38px; height:38px;
  border-radius:14px;
  border:1px solid rgba(11,18,32,.12);
  background:
    radial-gradient(circle at 30% 30%, rgba(194,23,122,.20), transparent 60%),
    radial-gradient(circle at 70% 70%, rgba(106,43,191,.14), transparent 65%),
    rgba(11,18,32,.03);
  margin-bottom:12px;
}
.module h3{ margin:0 0 6px; font-size: 1.08rem; font-weight:500; }
.module p{ margin:0 0 10px; color:var(--muted); font-size: 1.02rem; }
.bullets{ margin:0; padding-left:18px; color:rgba(11,18,32,.78); font-size: 1.02rem; }
.bullets li{ margin:6px 0; }
.more{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:12px;
  color: rgba(194,23,122,.95);
  font-weight: 500;
  font-size: 1.02rem;
}

/* Compare */
.compare{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.compare .col{
  border-radius: var(--r);
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.84);
  padding:16px;
  box-shadow: 0 14px 34px rgba(11,18,32,.06);
}
.pill{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.90);
  font-size: 0.95rem;
  color: var(--muted);
  margin-bottom:10px;
}
.compare h3{ margin:0 0 6px; font-weight:500; }
.compare p{ margin:0 0 10px; color:var(--muted); font-size: 1.02rem; }
.compare ul{ margin:0; padding-left:18px; color:rgba(11,18,32,.78); font-size: 1.02rem; }
.compare li{ margin:7px 0; }

/* Facts */
.facts{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
  margin-top:22px;
}
@media (min-width: 1200px){ .facts{ grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 700px){ .facts{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px){ .facts{ grid-template-columns: 1fr; } }

.fact{
  border-radius: var(--r);
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.84);
  padding:14px;
  min-height: 96px;
  box-shadow: 0 14px 34px rgba(11,18,32,.06);
}
.fact b{
  display:block;
  font-size: 1.1rem;
  line-height: 1.35;
  font-weight: 500;
  margin-bottom:6px;
}
.fact span{
  display:block;
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--muted);
}

/* Chips */
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.chip{
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.84);
  color:rgba(11,18,32,.82);
  font-size: .95rem;
  line-height: 1.4;
  box-shadow: 0 10px 24px rgba(11,18,32,.05);
}

/* CTA */
.cta{
  border-radius: calc(var(--r) + 6px);
  border:1px solid rgba(194,23,122,.22);
  background:
    radial-gradient(900px 350px at 18% 20%, rgba(194,23,122,.14), transparent 62%),
    radial-gradient(700px 300px at 82% 50%, rgba(106,43,191,.10), transparent 62%),
    rgba(255,255,255,.86);
  padding:22px;
  box-shadow: 0 20px 60px rgba(11,18,32,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.cta h2{ margin:0 0 6px; font-size:22px; font-weight:500; }
.cta p{ margin:0; color:var(--muted); max-width:86ch; }
.ctaActions{ display:flex; gap:10px; flex-wrap:wrap; }

/* =========================================================
   FOOTER (Dark)
========================================================= */
.footer-dark{
  background:
    radial-gradient(circle at 20% 0%, rgba(255,42,163,.20), transparent 40%),
    radial-gradient(circle at 80% 0%, rgba(106,27,177,.25), transparent 45%),
    #0b0c12;
  color:#eaeaf2;
  padding:70px 0 46px;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-dark .dark-wrap{
  max-width: var(--max);
  margin:0 auto;
  padding:0 24px;
}

.footer-dark .dark-top{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:24px;
  align-items:start;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.footer-dark .dark-brand{ display:block; max-width:520px; }
.footer-dark .dark-addr{ margin:4px 0 0; opacity:.85; }

.footer-dark .dark-cta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
  gap:8px;
}

.footer-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 500;
  font-size: 1.05rem;
  letter-spacing: 0.3px;
  color: #ffffff;

  background: transparent;
  border: 1.5px solid rgba(236, 72, 153, 0.7);
  transition: all 0.25s ease;
  white-space:nowrap;
}
.footer-cta:hover{
  background: linear-gradient(135deg, #ec4899 0%, #7c3aed 100%);
  border-color: transparent;
  box-shadow: 0 0 0 6px rgba(236, 72, 153, 0.15), 0 10px 30px rgba(0, 0, 0, 0.35);
  transform: translateY(-1px);
}
.footer-cta:active{
  transform: translateY(0);
  box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.2);
}

/* Pfeil weiß (Stroke) */
.footer-cta-icon{ width:20px; height:20px; flex:0 0 auto; }
.footer-cta-icon path{
  stroke:#fff;
  stroke-width:2.5;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-dark .dark-mid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:20px;
}
.footer-dark .dark-card{
  border-radius:18px;
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  padding:16px 16px 14px;
  backdrop-filter: blur(10px);
}
.footer-dark .dark-h{ margin:0 0 8px; font-weight:500; color:#fff; }
.footer-dark .dark-p{ margin:0; opacity:.9; line-height:1.5; }
.footer-dark .dark-card a{
  color:#fff;
  text-decoration:none;
  border-bottom:1px dashed rgba(255,255,255,.35);
}
.footer-dark .dark-card a:hover{ border-bottom-color:#fff; }

.footer-dark .dark-bottom{
  margin-top:26px;
  text-align:center;
  opacity:.7;
  font-size:13px;
}

/* Footer company – fest (bitte so lassen) */
.footer-company{
  font-family: monospace;
  font-size: 1.0rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 980px){
  .heroGrid{ grid-template-columns:1fr; }
  .trustbar{ grid-template-columns:1fr 1fr; }
  .processStrip{ grid-template-columns:1fr 1fr; }
  .grid3{ grid-template-columns:1fr; }
  .compare{ grid-template-columns:1fr; }
  .facts{ grid-template-columns:1fr; }

  .nav{ display:none; }
  .burger{ display:inline-block; }
  .visualCard{ min-height:280px; }
  h1{ font-size:36px; }
  .hero{ padding: 54px 0 18px; }

  /* Mobile: Optical-Bonding Button wieder zeigen, falls du ihn noch in .actions nutzt */
  .actions .btn.ghost{ display:none; }
}

@media (max-width: 768px){
  body{ font-size: 1.02rem; }
  .btn, .footer-cta{ font-size: 1.1rem; }

  .brand{ height: 56px; width: 200px; }
  .brand .logo--default{ height: 46px; }
  .brand .logo--compact{ height: 46px; }

  .navwrap{ min-height: 76px; }
  .header.is-compact .navwrap{ min-height: 70px; }
}

@media (max-width: 920px){
  .footer-dark .dark-top{ grid-template-columns:1fr; }
  .footer-dark .dark-cta{ align-items:flex-start; text-align:left; }
  .footer-dark .dark-mid{ grid-template-columns:1fr; }
}

/* =========================================
   MEDIA STRIP – 3 Bilder nebeneinander (Desktop)
   ========================================= */
.mediaStrip{
  margin-top: 22px;
}

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

.mediaStrip__item{
  margin: 0 !important;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 38px rgba(8, 12, 25, .10);
}

.mediaStrip__item img{
  display: block;
  width: 100%;
  height: 220px;          /* passt optisch sauber; wenn du mehr willst: 260px */
  object-fit: cover;
}

/* Mobile: horizontales Wischen statt 3 Spalten */
@media (max-width: 980px){
  .mediaStrip__track{
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .mediaStrip__item{
    min-width: 78%;
    scroll-snap-align: start;
  }
  .mediaStrip__item img{
    height: 240px;
  }
}

/* =========================================
   Touch-Lamination: Facts exakt so breit wie Bilder
   (MediaStrip Track + Facts = gleiche Grid-Logik)
========================================= */

/* Desktop: 3 Spalten wie die Bilder */
.band--brand .mediaStrip__track{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.band--brand .facts{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;          /* gleicher Abstand wie Bilder */
  margin-top: 14px !important;   /* gleiche „Zeile“ */
}

/* Optional: Kartenhöhe sauber gleich */
.band--brand .facts .fact{
  height: 100%;
}

/* Mobile: wie Bilder als Swipe-Row */
@media (max-width: 980px){
  .band--brand .mediaStrip__track{
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .band--brand .mediaStrip__item{
    min-width: 78%;
    scroll-snap-align: start;
  }

  .band--brand .facts{
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding-bottom: 8px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .band--brand .facts .fact{
    min-width: 78%;
    scroll-snap-align: start;
  }
}

/* =========================================
   Text-CTA Links (z. B. „Mehr zu Optical Bonding →“)
========================================= */

.more{
  display: inline-flex;
  align-items: center;
  gap: 6px;

  font-size: 1.05rem;          /* etwas größer */
  font-weight: 500;
  color: var(--accent);        /* Brand-Magenta */
  letter-spacing: 0.02em;

  position: relative;
  padding-bottom: 4px;
  transition: color .2s ease;
}

/* Linie (unsichtbar im Normalzustand) */
.more::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1.5px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}

/* Hover-Effekt */
.more:hover{
  color: var(--accent);
}

.more:hover::after{
  transform: scaleX(1);
}

/* Reinraum */
.reinraum-list{
  margin: 24px 0 0;
  padding-left: 0;
  list-style: none;
  max-width: 72ch;
}

.reinraum-list li{
  position: relative;
  padding-left: 20px;
  margin-bottom: 14px;
  font-size: 1.05rem;
  line-height: 1.6;
  color: rgba(11,18,32,.85);
}

.reinraum-list li::before{
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
 color: #c2177a; 
  font-weight: 600;
}

/* Leistungsumfang – 8 Punkte sauber 2x4 */
.processStrip{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* Tablet */
@media (max-width: 1100px){
  .processStrip{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 600px){
  .processStrip{
    grid-template-columns: 1fr;
  }
}


/* =========================================
   Leistungsumfang – Typografie größer & klarer
========================================= */

.processStrip .step .t{
  font-size: 1.05rem;      /* vorher ~0.95–1.0 */
  font-weight: 500;
  line-height: 1.35;
}

.processStrip .step .d{
  font-size: 0.98rem;      /* vorher kleiner */
  line-height: 1.55;
  color: rgba(11,18,32,.75);
}

/* Einheitlicher Look für Vorteils-Listen (Startseite + Detailseiten) */

.checklist,
.brand-list,
.reinraum-list,
.ticks {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.checklist li,
.brand-list li,
.reinraum-list li,
.ticks li {
  position: relative;
  padding-left: 22px;
  line-height: 1.6;
  color: #2f2f38;
}

.checklist li::before,
.brand-list li::before,
.reinraum-list li::before,
.ticks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.6em;          /* gleiche Höhe wie auf den anderen Seiten */
  width: 16px;
  height: 16px;
  border-radius: 5px;
  background: rgba(255, 61, 182, 0.14);
  color: #a21b7a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

/* Reinraum-Seite: Facts-Raster + Slider-Höhen */
.reinraumFacts.facts {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (max-width: 980px) {
  .reinraumFacts.facts {
    grid-template-columns: 1fr;
  }
}

.visualCard--reinraum {
  min-height: 320px;
  max-height: 460px;
}

.visualCard--reinraum .slider {
  height: 460px;
}

@media (max-width: 980px) {
  .visualCard--reinraum .slider {
    height: 340px;
  }
}


/* FORCE: Fließtext größer – ohne Überschriften anzufassen */
p, li, .lead, .sectionIntro, .module p, .compare p, .fact span, .trust span, .d, .bullets, .chip, .badge {
  font-size: 1em !important;
}

.step {
  font-size: 0.8em !important;
}

.footer-dark .dark-top{
  display:grid;
  grid-template-columns: 1fr 1fr auto;  /* <- 3 Spalten */
  gap:24px;
  align-items:start;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

/* Firma in einer Zeile */
.footer-dark .footer-company{
  white-space: nowrap;
}

/* Mittlere Menü-Spalte */
.footer-dark .dark-nav{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top: 2px;
}

.footer-dark .dark-nav a{
  color:#fff;
  opacity:.9;
  text-decoration:none;
  width: fit-content;
  border-bottom: 1px dashed rgba(255,255,255,.35);
  padding-bottom: 2px;
}

.footer-dark .dark-nav a:hover{
  opacity:1;
  border-bottom-color:#fff;
}

/* Mittlere Menü-Spalte – 2 Spalten */
.footer-dark .dark-nav{
  display:grid;
  grid-template-columns: repeat(3, auto);
  column-gap: 30px;   /* enger zusammen */
  row-gap: 10px;
}


.footer-dark .dark-nav a{
  color:#fff;
  opacity:.9;
  text-decoration:none;
  width: fit-content;
  border-bottom: 1px dashed rgba(255,255,255,.35);
  padding-bottom: 2px;
}

.footer-dark .dark-nav a:hover{
  opacity:1;
  border-bottom-color:#fff;
}

.footer-dark .dark-nav{
  margin-top: 80px;  /* hebt das Menü an */
}


/* CTA im Footer mittig ausrichten */
.footer-dark .dark-cta{
  display: flex;
  align-items: center;   /* vertikal mittig */
  justify-content: center;
  height: 100%;
}


/* =========================
   PCAP – Split Layout (wie Reinraum)
========================= */
.splitGrid{
  display:grid;
  grid-template-columns: 1.05fr .95fr; /* links Text, rechts Slider */
  gap: 22px;
  align-items:start;
  margin-top: 14px;
}

.splitLeft{ min-width:0; }
.splitRight{ min-width:0; }

/* Info-Boxen wie Reinraum-Karten */
.infoCard{
  border-radius: var(--r);
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.86);
  box-shadow: 0 14px 34px rgba(11,18,32,.06);
  padding:16px;
  margin-bottom:12px;
}

.infoCard h3{
  margin:0 0 8px;
  font-size: 1.12rem;
  font-weight: 600;
}


  /* Haken-Farbe aus Branding (statt Grün) */
  background: rgba(194,23,122,.14);     /* Magenta weich */
  color: rgba(194,23,122,.95);
  border: 1px solid rgba(194,23,122,.30);
}

/* Slider kompakter – nicht so riesig */
.pcapSlider{
  min-height: 420px; /* Desktop */
}
.pcapSlider .slides{
  width:400%; /* 4 Bilder */
}
.pcapSlider img{
  height: 420px;
  object-fit: cover;
}

/* Responsive */
@media (max-width: 980px){
  .splitGrid{ grid-template-columns: 1fr; }
  .pcapSlider{ min-height: 320px; }
  .pcapSlider img{ height: 320px; }
}


/* =========================================
   FINAL FIX – Checklisten ohne Hintergrund
   (Reinraum-Stil)
========================================= */

.checklist li{
  position:relative;
  padding-left:22px;           /* weniger Abstand zum Text */
  color:#2f2f38;
  line-height:1.55;
}

.checklist li:before{
  content:"✓";
  position:absolute;
  left:0;
  top: 0.6em;                   /* Haken leicht nach unten */
  width:16px;                  /* etwas kompakter */
  height:16px;
  border-radius:5px;
  background:rgba(255,61,182,.14);
  color:#a21b7a;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
}

/* Falls ein altes Icon/Badge reinfunkt */
.checklist li span,
.checklist li i,
.checklist li svg{
  background: none !important;
  box-shadow: none !important;
}

/* Checklisten im „Reinraum“-Stil */
.checklist{
  list-style:none;
  padding:0;
  margin: 10px 0 0;
}



/* PCAP: Split-Section – Slider auf gleiche Höhe wie linke Boxen */
@media (min-width: 980px){
  .pcapSplitRow{
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 28px;
    align-items: stretch; /* wichtig */
  }

  .pcapSplitRow .splitLeft{
    display: grid;
    gap: 18px; /* Abstand zwischen den zwei Boxen links */
  }

  .pcapSplitRow .splitRight{
    height: 100%;
  }

  .pcapSplitRow .pcapSlider{
    height: 100%;
    min-height: 520px; /* optional, wenn du es grundsätzlich größer willst */
  }

  .pcapSplitRow .pcapSlider .slides,
  .pcapSplitRow .pcapSlider .slides img{
    height: 100%;
  }

  .pcapSplitRow .pcapSlider .slides img{
    object-fit: cover;
    object-position: center;
  }
}




/* =========================================
   PCAP Slider – Höhe & Bilddarstellung
========================================= */

/* Slider-Container */
.pcapSlider {
  height: clamp(320px, 40vw, 520px); /* ← HÖHE hier feinjustieren */
  overflow: hidden;
}

/* Slide-Track */
.pcapSlider .slides {
  height: 100%;
  display: flex;
  transition: transform .6s ease;
}

/* Einzelne Bilder */
.pcapSlider .slides img {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;        /* Bild füllt Fläche */
  object-position: center;  /* Fokus mittig */
}

/* Optional: Pfeile vertikal zentrieren */
.pcapSlider .nav {
  top: 50%;
  transform: translateY(-50%);
}

.pcapSlider{ height: 640px !important; }


/* PCAP – Slider bewusst tiefer setzen */
@media (min-width: 980px){
  .pcapSplitRow{
    align-items: start; /* wichtig */
  }

  .pcapSplitRow .splitRight{
    margin-top: 90px; /* ← HIER steuerst du die Höhe */
  }
}

/*                         COVERGLAS                           */
/* Coverglas: dezenter, moderner Listen-Look (nur diese Seite) */

    .cover-featureGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
    @media (max-width: 860px){.cover-featureGrid{grid-template-columns:1fr}}

    .cover-card{border-radius:18px;overflow:hidden}
    .cover-card .cardBody{padding:22px}

    /* weniger „auffällige“ Listen: keine großen Icons, dezente Bullets */
    .softlist{margin:14px 0 0 0;padding-left:1.1rem;list-style:disc}
    .softlist li{margin:10px 0;line-height:1.45}

    /* Überschriften ohne Emoji/Marker */
    .cover-h3{margin:0;font-size:1.05rem;letter-spacing:.2px}

    /* Slider Tabs/Route ausblenden, falls irgendwo noch vorhanden */
    .sliderTabs{display:none !important}
  
    
    /* Coverglas Hero Slider: Pfeile wie Reinraum (unten links, dunkles Glas) */
    .page-coverglas .hero .slider .nav{
      top:auto;
      bottom:14px;
      transform:none;
      width:44px;
      height:44px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.18);
      background: rgba(20,12,32,.40);
      backdrop-filter: blur(12px);
      color:#fff;
      box-shadow: 0 14px 36px rgba(10,12,22,.18);
      font-size:0; /* keine Text-Glyphs */
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .page-coverglas .hero .slider .nav.prev{left:14px}
    .page-coverglas .hero .slider .nav.next{left:66px; right:auto}
    .page-coverglas .hero .slider .nav svg{width:18px;height:18px}
    .page-coverglas .hero .slider .nav svg path{
      stroke:#fff;
      stroke-width:2.6;
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    .page-coverglas .hero .slider .nav:hover{
      background: rgba(20,12,32,.55);
    }

    /* Bildunterschrift wie Reinraum */
    .page-coverglas .heroMedia .mediaCaption{
      margin:12px 4px 0;
      font-size:.92rem;
      color: var(--muted, #6b6b6b);
      line-height:1.45;
    }

    /* Coverglas: Slider-Fix (mehr als 2 Bilder) */
    .slider .slides{width:100% !important; flex-wrap:nowrap;}
    .slider .slides > img{flex:0 0 100%;}
}


/* Spacing – weniger „Luft“ oben, dafür sauberer Rhythmus */
.section.tightTop { padding-top: 24px; }
.section .wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

.split { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: start; }
@media (max-width: 980px){ .split{ grid-template-columns: 1fr; } }

.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
@media (max-width: 720px){ .grid2{ grid-template-columns: 1fr; } }

.card.soft {
  border: 1px solid rgba(30,40,60,.12);
  border-radius: 16px;
  padding: 18px 18px;
  background: rgba(255,255,255,.75);
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

.h3 { font-size: 1.05rem; margin: 0 0 10px; }

/* ✅ Haken-Listen wie Reinraum/Index (ohne komischen Hintergrund) */
.ticks { list-style: none; padding: 0; margin: 0; }
.ticks li {
  position: relative;
  padding-left: 26px;
  margin: 10px 0;
  line-height: 1.55;
}
.ticks li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--brand-accent);
  font-weight: 800;
}

/* Slider: mehr Höhe + schönes Cropping */
.coverSlider { height: 420px; overflow: hidden; border-radius: 18px; }
.coverSlider .slides { display:flex; width: 300%; height: 100%; transition: transform .45s ease; }
.coverSlider img { width: 100%; height: 100%; object-fit: cover; flex: 0 0 100%; }

/* Extra Card unter dem Slider */
.noteCard {
  margin-top: 14px;
  border: 1px solid rgba(30,40,60,.12);
  border-radius: 16px;
  padding: 16px 18px;
  background: rgba(255,255,255,.65);
}

/* Coverglas – Stack Layout */
.coverStack { padding: 36px 0 56px; }
.coverStack .sectionIntro { max-width: 78ch; margin-bottom: 18px; }

/* 3 Karten nebeneinander */
.cardRow3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}
@media (max-width: 980px){
  .cardRow3{ grid-template-columns: 1fr; }
}

/* Slider darunter – breit wie Content (wrap) und mit sauberem Abstand */
.coverSliderWrap{
  margin-top: 22px;         /* Abstand zu den Cards */
}
.coverSlider{
  width: 100%;
  height: 420px;
  overflow: hidden;
  border-radius: 18px;
}
.coverSlider .slides{
  display:flex;
  width: 300%;
  height: 100%;
  transition: transform .45s ease;
}
.coverSlider img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  flex: 0 0 100%;
}

/* Cards (falls noch nicht drin) */
.card.soft {
  border: 1px solid rgba(30,40,60,.12);
  border-radius: 16px;
  padding: 18px;
  background: rgba(255,255,255,.75);
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.h3 { font-size: 1.05rem; margin: 0 0 10px; }

/* Hakenliste wie Reinraum */
.ticks { list-style: none; padding: 0; margin: 0; }
.ticks li{
  position: relative;
  padding-left: 26px;
  margin: 10px 0;
  line-height: 1.55;
}
.ticks li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color: var(--brand-accent);
  font-weight: 800;
}

/* =========================================
   COVERGLAS – "Perfekt abgestimmt..." Block
========================================= */

.section.coverStack{
  padding: 70px 0;                 /* harmonisch zu Index/Reinraum */
  background: transparent;          /* falls du hier keinen Farbband willst */
}

/* WICHTIG: gleiche Breite wie der Bereich darüber */
.section.coverStack .wrap{
  max-width: 1600px;               /* MUSS dem restlichen Layout entsprechen */
  margin: 0 auto;
  padding: 0 24px;
}

/* Headline + Intro Abstand */
.section.coverStack .sectionTitle{
  margin: 0 0 10px;
}
.section.coverStack .sectionIntro{
  margin: 0 0 26px;
  max-width: 80ch;
}

/* 3 Karten nebeneinander */
.section.coverStack .cardRow3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 26px;
}

.section.coverStack .card.soft{
  border-radius: 18px;
  border: 1px solid rgba(10, 10, 20, 0.10);
  background: rgba(255,255,255,0.85);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  padding: 18px 18px 14px;
}

.section.coverStack .card.soft .h3{
  margin: 0 0 10px;
  font-size: 1.05rem;
  line-height: 1.25;
}

/* Hakenliste wie Reinraum (clean, ohne Badge-Hintergrund) */
.section.coverStack ul.ticks{
  list-style: none;
  margin: 0;
  padding: 0;
}
.section.coverStack ul.ticks li{
  position: relative;
  padding-left: 26px;
  margin: 10px 0;
  line-height: 1.55;
}
.section.coverStack ul.ticks li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.1em;
  font-weight: 800;
  color: var(--brand, #6b2bd9);     /* nimmt dein Lila */
  background: none !important;      /* entfernt den "Kasten" Hintergrund */
  border: none !important;
  width: auto;
  height: auto;
}

/* Slider-Block darunter */
.section.coverStack .coverSliderWrap{
  margin-top: 12px;
}

/* visualCard / slider – sauber und groß genug */
.section.coverStack .visualCard.coverSlider{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(10,10,20,0.10);
  box-shadow: 0 16px 40px rgba(0,0,0,0.10);
  background: #0b0b12;
  aspect-ratio: 16 / 7;            /* macht ihn "breiter" und nicht zu hoch */
  min-height: 340px;               /* damit man was sieht */
}

/* Slides horizontal */
.section.coverStack .coverSlider .slides{
  display: flex;
  height: 100%;
  width: 100%;
  transform: translateX(0);
  transition: transform .45s ease;
}

/* Bilder passend füllen */
.section.coverStack .coverSlider img{
  width: 100%;
  height: 100%;
  flex: 0 0 100%;
  object-fit: cover;
  object-position: center;
}

/* Slider Nav Buttons */
.section.coverStack .coverSlider .nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.30);
  background: rgba(255,255,255,0.85);
  color: #111;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.section.coverStack .coverSlider .nav.prev{ left: 12px; }
.section.coverStack .coverSlider .nav.next{ right: 12px; }
.section.coverStack .coverSlider .nav:hover{
  background: rgba(255,255,255,0.95);
}

/* Responsive */
@media (max-width: 980px){
  .section.coverStack{
    padding: 56px 0;
  }
  .section.coverStack .cardRow3{
    grid-template-columns: 1fr;
  }
  .section.coverStack .visualCard.coverSlider{
    aspect-ratio: 16 / 10;
    min-height: 280px;
  }
}

/* Einheitliche Haken-Listen (Reinraum / PCAP / Coverglas / Mechanik) */
.ticks {
  list-style: none;
  margin: 1.2rem 0 0;
  padding-left: 0;
}

.ticks li {
  position: relative;
  padding-left: 1.8rem;   /* Platz für den Haken */
  margin-bottom: 0.4rem;
}

/* Haken selbst – Magenta wie auf den anderen Seiten */
.ticks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.1em;
  font-weight: 700;
  font-size: 1.05em;
  color: #e20088; /* dein Marken-Magenta */
}


/* Mehr Luft zwischen den Kompetenz-Boxen im Coverglas-Bereich */
#coverglas-kompetenzen .card.soft {
  margin-bottom: 2.5rem;
}


/* Karten-Stack generisch (wie bei Coverglas) */
.cardStack .card.soft {
  background: rgba(255, 255, 255, 0.96);
  border-radius: 24px;
  padding: 2rem 2.25rem;
  margin-bottom: 1.75rem;
  box-shadow: 0 18px 45px rgba(8, 0, 28, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.75);
}

/* Überschrift in der Karte */
.cardStack .card.soft .h3 {
  margin-bottom: 1rem;
}

/* Häkchen-Listen – global wiederverwendbar */
.ticks {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.ticks li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.45rem;
}

.ticks li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0.05rem;
  font-size: 1.05rem;
  color: #e6007e; /* dein Magenta */
}

/* Hinweis-Karte etwas dezenter */
.noteCard .hint {
  margin: 0;
  font-size: 0.95rem;
  opacity: 0.9;
}


#mechanik-main {
  margin-top: 4.5rem;
}

.pageTitle {
  color: #6b21a8; /* dein Lila/Magenta */
  position: relative;
  display: inline-block;
  padding-bottom: 0.25rem;
}

/* =====================================================
   GLOBAL BRAND GRADIENT – wie Reinraum
===================================================== */

.band--brand {
  position: relative;
  overflow: visible; /* wichtig! */
  padding-top: clamp(96px, 10vw, 140px);
  padding-bottom: clamp(96px, 10vw, 140px);
}

.band--brand::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  /* EXAKT Reinraum-Charakter */
  background:
    radial-gradient(
      900px 420px at 12% 12%,
      rgba(164, 73, 145, 0.14),
      rgba(164, 73, 145, 0.06) 35%,
      rgba(255, 255, 255, 0) 70%
    ),
    linear-gradient(
      to bottom,
      rgba(255,255,255,0.96),
      rgba(248,248,252,0.92)
    );
}

/* Content immer über dem Verlauf */
.band--brand > .container {
  position: relative;
  z-index: 1;
}




/* Coverglas: 4 Kompetenz-Karten in 2 Spalten anordnen */
.page-coverglas #coverglas-kompetenzen .cardGrid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;               /* Abstand zwischen den Karten */
}

/* Auf Mobile wieder untereinander */
@media (max-width: 900px) {
  .page-coverglas #coverglas-kompetenzen .cardGrid2 {
    grid-template-columns: 1fr;
  }
}

/* Feintuning Häkchen nur auf der Coverglas-Seite */
.page-coverglas .ticks li {
  padding-left: 20px;         /* Haken etwas dichter an den Text */
}

.page-coverglas .ticks li::before {
  top: 0.5em;                /* Haken optisch weiter nach unten */
}


/* Coverglas – Feintuning Häkchen im Block "Perfekt abgestimmt auf Ihr HMI" */
.page-coverglas .coverStack .cardRow3 .ticks li {
  padding-left: 20px;      /* Haken etwas näher an den Text */
}

.page-coverglas .coverStack .cardRow3 .ticks li::before {
  top: 0.75em;             /* Haken optisch auf die Textzeile ziehen */
}

/* GLOBAL: Einheitliche Magenta-Check-Kästchen für alle Vorteils-Listen */
.checklist,
.brand-list,
.reinraum-list,
.ticks {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.checklist li,
.brand-list li,
.reinraum-list li,
.ticks li {
  position: relative;
  padding-left: 24px;       /* Abstand Kästchen ↔ Text */
  line-height: 1.6;
  color: #2f2f38;
}

/* Ein einziges Design für alle Häkchen */
.checklist li::before,
.brand-list li::before,
.reinraum-list li::before,
.ticks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.6em;               /* sitzt auf der Textzeile */
  width: 16px;
  height: 16px;
  border-radius: 5px;
  background: rgba(255, 61, 182, 0.14);
  color: #a21b7a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;

  /* falls irgendwo alte Effekte drauf waren → neutralisieren */
  border: none;
  box-shadow: none;
  transform: none;
}

/* Coverglas – größere, ruhigere Häkchen im Detail-Block */
.page-coverglas #coverglas-detail .ticks li {
  padding-left: 28px;              /* mehr Abstand Text ↔ Icon */
}

.page-coverglas #coverglas-detail .ticks li::before {
  width: 20px;                     /* größeres Kästchen */
  height: 20px;
  border-radius: 6px;

  background-color: rgba(255, 77, 166, 0.22) !important;
  color: #e0007a !important;

  font-size: 13px;                 /* Haken minimal größer */
  top: 0.55em;                     /* sauber auf Textlinie */
}

/* Mainboards & Kitting – Bullets wie alle anderen Magenta-Checklisten */
.bullets {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.bullets li {
  position: relative;
  padding-left: 24px;
  line-height: 1.6;
  color: #2f2f38;
}

.bullets li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.6em;

  width: 16px;
  height: 16px;
  border-radius: 5px;

  background-color: rgba(255, 77, 166, 0.18);
  color: #e0007a;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 12px;
}


/* Basis-Layout für alle Slider (Hero + Galerie) */
.slider .slides{
  display: flex;
  transition: transform 0.5s ease;
}

.slider .slides img{
  flex: 0 0 100%;
  width: 100%;
  display: block;
}

/* Optik nur für die Galerie unten */
.gallery-slider img{
  height: 260px;
  object-fit: cover;
}

@media (max-width: 900px){
  .gallery-slider img{
    height: 220px;
  }
}

 /* Projekt-anfragen-Button im Header: ohne Verlauf, ohne Glow */
  .header .actions .btn.primary {
    background: #ffffff !important;       /* nur eine Farbe */
    background-image: none !important;    /* evtl. Gradient komplett aus */
    box-shadow: none !important;          /* Glow / Schatten aus */
    filter: none !important;
    border: 1px solid #f0c4da;            /* zarter Rahmen, kannst du anpassen */
    color: #222222 !important;
    border-radius: 999px;                 /* Pill-Form wie im Screenshot */
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .header .actions .btn.primary:hover {
    background: #f7f7f9 !important;       /* ganz leichte Hover-Änderung */
    border-color: #e0b3cf;
    box-shadow: none !important;
  }

  /* Falls der Verlauf/Schein per ::before/::after erzeugt wird */
  .header .actions .btn.primary::before,
  .header .actions .btn.primary::after {
    content: none !important;
    display: none !important;
  }




/* =========================================
   Wichtigster Menüpunkt: Optical Bonding
========================================= */
.header .nav a.navBtn {
  padding: 0.65rem 1.7rem;
  border-radius: 999px;                 /* Pillenform */
  background: #ffffff;                  /* kein Verlauf */
  border: 1px solid #f0c4da;            /* dezenter Rand in deiner Akzentfarbe */
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04); /* ganz leichte Tiefe */
  color: #222222;
  font-weight: 500;
  text-decoration: none;
  transition:
    background 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    transform 0.15s ease;
}

/* Hover-State: spürbar, aber nicht laut */
.header .nav a.navBtn:hover {
  background: #f7f7fa;
  border-color: #e3b2cf;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}

/* Falls irgendwo generelle Styles auf .nav a::before/::after liegen */
.header .nav a.navBtn::before,
.header .nav a.navBtn::after {
  content: none;
  display: none;
}

/* =========================================
   Primary Navigation Button – Optical Bonding
   FINAL & GLOBAL
========================================= */
.header .nav a.navBtn--primary {
  background: #eef0f3;              /* Soft Highlight */
  color: #1c1c1e;
  border: 1px solid #d2d6dc;
  border-radius: 999px;
  padding: 0.6rem 1.7rem;
  font-weight: 300;
  letter-spacing: 0.02em;

  box-shadow: none;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

/* Hover: nur leichte Betonung, KEIN Dark Mode */
.header .nav a.navBtn--primary:hover {
  background: #e4e7eb;              /* minimal dunkler, aber hell */
  border-color: #c5c9d1;
  color: #1c1c1e;
  box-shadow: none;
}

/* Sicherheit: keine Verläufe / Pseudo-Elemente */
.header .nav a.navBtn--primary::before,
.header .nav a.navBtn--primary::after {
  content: none !important;
  display: none !important;
}


/* =========================================
   Primary Navigation Button – Optical Bonding
   FINAL & GLOBAL
========================================= */
.header .nav a.navBtn--primary {
  background: #eef0f3;              /* Soft Highlight */
  color: #1c1c1e;
  border: 1px solid #d2d6dc;
  border-radius: 999px;
  padding: 0.6rem 1.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;

  box-shadow: none;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

/* Hover: nur leichte Betonung, KEIN Dark Mode */
.header .nav a.navBtn--primary:hover {
  background: #e4e7eb;              /* minimal dunkler, aber hell */
  border-color: #c5c9d1;
  color: #1c1c1e;
  box-shadow: none;
}

/* Sicherheit: keine Verläufe / Pseudo-Elemente */
.header .nav a.navBtn--primary::before,
.header .nav a.navBtn--primary::after {
  content: none !important;
  display: none !important;
}


/* =========================================
   Header Navigation – Schriftstärke FINAL
========================================= */

/* Alle Texte im Header */
.header,
.header * {
  font-weight: 300 !important;
}

/* Sicherheit: explizit Navigation & Buttons */
.header .nav a,
.header .nav a.navBtn--primary,
.header .actions .btn,
.header .actions .btn.primary {
  font-weight: 300 !important;
}

/* =========================================
   Kontakt-CTA mit Formular (Split-Layout)
========================================= */

.cta.cta--with-form{
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 18px;
}

.cta-text{
  flex: 1 1 52%;
  min-width: 260px;
}

.cta-text h2{
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 500;
  color: #1b1430;
}

.cta-text p{
  margin: 0 0 10px;
}

/* Formular-Card rechts */
.cta-form{
  flex: 1 1 42%;
  min-width: 280px;
  border-radius: 18px;
  border: 1px solid rgba(194,23,122,.18);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 16px 40px rgba(11,18,32,.10);
  padding: 16px 18px 18px;
}

.cta-form h3{
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 500;
}

.cta-form-intro{
  margin: 0 0 10px;
  font-size: 0.96rem;
  color: var(--muted);
}

/* Formular-Grid */
.cta-form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
  margin-top: 6px;
}

.field{
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.field--full{
  grid-column: 1 / -1;
}

.field label{
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(11,18,32,.72);
}

.field input,
.field textarea{
  border-radius: 10px;
  border: 1px solid rgba(11,18,32,.14);
  padding: 8px 10px;
  font: inherit;
  color: var(--text);
  background: rgba(255,255,255,.96);
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.field input:focus,
.field textarea:focus{
  border-color: rgba(194,23,122,.65);
  box-shadow: 0 0 0 1px rgba(194,23,122,.25);
}

/* Checkbox */
.field--checkbox{
  align-items: flex-start;
}

.field--checkbox label{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.85rem;
  color: rgba(11,18,32,.8);
}

.field--checkbox input[type="checkbox"]{
  margin-top: 2px;
  min-width: 16px;
}

/* Button im Formular: volle Breite */
.cta-submit{
  width: 100%;
  justify-content: center;
  margin-top: 2px;
}

/* Responsive: untereinander stapeln */
@media (max-width: 900px){
  .cta.cta--with-form{
    flex-direction: column;
    align-items: stretch;
  }

  .cta-form{
    margin-top: 10px;
  }

  .cta-form-grid{
    grid-template-columns: 1fr;
  }
}


/* =========================================
   GLOBAL: Primary-Buttons ohne äußeren Verlauf/Glow
========================================= */

.btn.primary{
  background: #ffffff !important;        /* kein Verlauf */
  background-image: none !important;
  border: 1px solid #f0c4da !important;  /* dezenter Rahmen */
  border-radius: 999px;
  color: #111111 !important;
  box-shadow: none !important;           /* kein Glow, kein dicker Schatten */
  filter: none !important;
}

/* Hover nur leicht ändern */
.btn.primary:hover{
  background: #f7f7f9 !important;
  border-color: #e0b3cf !important;
  box-shadow: none !important;
}

/* Falls der Verlauf über Pseudo-Elemente kommt → killen */
.btn.primary::before,
.btn.primary::after{
  content: none !important;
  display: none !important;
}

/* Kontaktblock im CTA – alles untereinander */
.cta-contact{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 0.96rem;
}

.cta-contact-label{
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(11,18,32,.7);
  margin-bottom: 2px;
}

.cta-contact a{
  text-decoration: none;
  border-bottom: 1px dashed rgba(11,18,32,.3);
}

.cta-contact a:hover{
  border-bottom-color: rgba(11,18,32,.6);
}

/* CTA – linker Textbereich mit mehr Ruhe */
.cta-text{
  flex: 1 1 52%;
  min-width: 260px;

  padding-top: 22px;     /* mehr Luft oben */
  padding-left: 28px;    /* mehr Luft links */
  padding-right: 42px;   /* WICHTIG: Abstand zum Formular */
}

.cta-text h2{
  margin-top: 6px;
  margin-bottom: 10px;
}

.cta-contact{
  margin-top: 18px;   /* vorher ~10px */
  gap: 5px;
}

.cta-contact{
  padding-top: 12px;
  border-top: 1px solid rgba(194,23,122,.18);
}

.cta.cta--with-form{
  padding-left: 8px;   /* minimal, ändert viel */
}

/* Zusätzlicher Text im CTA – ruhig & technisch */
.cta-subtext{
  margin: 0 0 10px;
  font-size: 0.98rem;
  line-height: 1.65;
  color: rgba(11,18,32,.78);
  max-width: 58ch;
}

.cta-subtext:last-of-type{
  margin-bottom: 18px;
}

/* Ruhigere Kontakt-CTA – ohne inneren Verlauf / Glow */
.cta{
  border-radius: 22px; /* kannst du lassen oder leicht anpassen */
  border: 1px solid rgba(0, 0, 0, 0.04);   /* dezente, neutrale Linie */
  background: #ffffff;                     /* KEIN Verlauf mehr */
  box-shadow: 0 14px 34px rgba(11, 18, 32, 0.06); /* deutlich sanfter */
}

/* Speziell für die Variante mit Formular */
.cta.cta--with-form{
  align-items: flex-start;
}

/* Formular-Card: weniger Pink, mehr Neutral */
.cta-form{
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}

.cta-text{
  padding-top: 22px;
  padding-left: 28px;
  padding-right: 50px;   /* etwas mehr Abstand zum Formular */
}

/* -----------------------------------------------------
   Globaler CTA für Unterseiten – Flat / Plain Style
----------------------------------------------------- */
.cta-global {
  padding: 80px 0;
  background: #ffffff;             /* Weiß, kein Verlauf */
}

.cta-global__inner {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  padding: 48px 32px;
  text-align: center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
}

.cta-global h2 {
  font-size: 28px;
  margin-bottom: 12px;
  color: #1f2937; /* dein Dark-Grey */
}

.cta-global p {
  max-width: 640px;
  margin: 0 auto 24px;
  color: #4b5563;
  font-size: 18px;
}

.cta-global__btn {
  font-size: 18px;
  padding: 14px 36px;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/* CTA Buttons nebeneinander */
.cta-global__actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 26px;
  flex-wrap: wrap;
}

/* Optional: Telefon-Button neutral */
.cta-global__actions .btn {
  border-radius: 999px;
  padding: 14px 32px;
  font-size: 18px;
}

/* Primärer Button bleibt dunkel */
.cta-global__actions .btn.primary {
  background: #111827 !important;
  color: #fff !important;
  border-color: #111827 !important;
}

/* -----------------------------------------------------
   CTA Buttons – Hover: Text soll schwarz werden
----------------------------------------------------- */

/* sekundärer Button */
.cta-global__actions .btn:hover {
  background: #e5e7eb !important;
  color: #000 !important;
  border-color: #c7cdd3 !important;
}

/* primärer (dunkler) Button – invertiert auf Hover */
.cta-global__actions .btn.primary:hover {
  background: #ffffff !important;
  color: #000 !important;
  border-color: #c7cdd3 !important;
}

/* Telefon-Button Icon */
.phone-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;              /* Abstand Icon – Text */
}

.phone-btn .icon-phone {
  width: 18px;
  height: 18px;
  stroke: #111827;
  fill: none;
  stroke-width: 2;
}

/* Hover: Icon soll auch schwarz werden */
.phone-btn:hover .icon-phone {
  stroke: #000;
}

/* Sprachumschalter im Header */
.header .lang-switch{
  display:flex;
  align-items:center;
  gap:6px;
  margin-right:16px;
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
}

.header .lang-switch a{
  text-decoration:none;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid transparent;
  color:#9ca3af;
}

.header .lang-switch a.is-active{
  background:#f9fafb;
  border-color:#e5e7eb;
  color:#111827;
}

.header .lang-switch span.sep{
  color:#9ca3af;
  font-size:0.75rem;
}

/* mobile Variante unter dem Menü */
.mobilePanel .mobile-lang{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(148,163,184,0.35);
  font-size:0.78rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#9ca3af;
}

.mobilePanel .mobile-lang a{
  text-decoration:none;
  color:#9ca3af;
  padding:2px 4px;
}

.mobilePanel .mobile-lang a.is-active{
  color:#ffffff;
  background:#111827;
  border-radius:999px;
}

