/* === rollo-solar-aufrollvorrichtungen-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Aufrollvorrichtungen (page-id-167)
   Prefix: rsarv-  |  Scroll class: rs5-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-167 *, .page-id-167 *::before, .page-id-167 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-167 .container_inner,
.page-id-167 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-167 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-167 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-167 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs5-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs5-reveal.visible { opacity: 1; transform: none; }
.rs5-reveal-d1 { transition-delay: .08s; }
.rs5-reveal-d2 { transition-delay: .16s; }
.rs5-reveal-d3 { transition-delay: .24s; }

/* ── SHARED BASE ── */
.rsarv-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsarv-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 12px;
}
.rsarv-eyebrow--light { color: rgba(255,255,255,.65); }
.rsarv-h1 {
  font-family: inherit;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--black);
  margin: 0 0 20px;
}
.rsarv-h1 em { font-style: normal; color: var(--blue); }
.rsarv-h1--light { color: var(--white); }
.rsarv-h1--light em { color: rgba(255,255,255,.75); }
.rsarv-h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--black);
  margin: 0 0 16px;
}
.rsarv-h2 em { font-style: normal; color: var(--blue); }
.rsarv-sub {
  font-size: .975rem;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 18px;
}
.rsarv-sub--light { color: rgba(255,255,255,.82); }

/* ── BUTTONS ── */
.rsarv-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  cursor: pointer;
}
.rsarv-btn:hover { transform: translateY(-2px); }
.rsarv-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.14);
}
.rsarv-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.rsarv-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
}
.rsarv-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
.rsarv-btn--link-light {
  background: transparent;
  color: rgba(255,255,255,.82);
  text-decoration: underline;
  text-underline-offset: 3px;
  padding-left: 8px;
  padding-right: 8px;
}
.rsarv-btn--link-light:hover { color: var(--white); transform: none; }

/* ── 1. HERO ── */
.rsarv-hero {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  min-height: 88vh;
  display: flex;
  align-items: center;
}
.rsarv-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 75% 50%, rgba(3,105,181,.15) 0%, transparent 65%),
              linear-gradient(135deg, rgba(6,17,30,.96) 0%, rgba(1,67,128,.5) 100%);
  z-index: 1;
}
.rsarv-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.rsarv-hero-text { max-width: 520px; }
.rsarv-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}
.rsarv-hero-img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rsarv-hero-img::before {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(3,105,181,.18) 0%, transparent 65%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rsarv-hero-img img {
  position: relative;
  width: 100%;
  max-width: 460px;
  height: auto;
  display: block;
  border-radius: 16px;
  filter: drop-shadow(0 20px 48px rgba(0,0,0,.55));
}

/* ── 2. ENTSCHEIDUNGSHILFE ── */
.rsarv-tip {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
}
.rsarv-tip-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: stretch;
  border-top: 1px solid var(--silver);
}
.rsarv-tip-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 28px 28px;
  flex: 1;
}
.rsarv-tip-divider {
  width: 1px;
  background: var(--silver);
  align-self: stretch;
  margin: 0;
}
.rsarv-tip-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  margin-top: 2px;
}
.rsarv-tip-item strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
  margin-bottom: 4px;
}
.rsarv-tip-item span {
  display: block;
  font-size: .82rem;
  color: var(--body);
  line-height: 1.55;
}

/* ── 3. PRODUKT-KARTEN ── */
.rsarv-produkte {
  background: var(--gray);
  padding: 96px 0;
}
.rsarv-section-head {
  text-align: center;
  margin-bottom: 52px;
}

/* Top row: 2 featured cards */
.rsarv-cards-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-bottom: 22px;
}

/* Bottom row: 3 cards */
.rsarv-cards-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* Card base */
.rsarv-card {
  display: block;
  text-decoration: none;
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.rsarv-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 48px rgba(0,0,0,.1);
}

/* Featured card image */
.rsarv-card-img {
  overflow: hidden;
  height: 240px;
  background: var(--gray);
}
.rsarv-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsarv-card:hover .rsarv-card-img img { transform: scale(1.04); }

/* Smaller card image */
.rsarv-card-img--sm {
  height: 180px;
}

.rsarv-card-body {
  padding: 24px 24px 28px;
}
.rsarv-card-body h3 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--black);
  margin: 0 0 10px;
  line-height: 1.25;
}
.rsarv-card-body p {
  font-size: .875rem;
  color: var(--body);
  line-height: 1.65;
  margin: 0 0 18px;
}
.rsarv-card-tag {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--blue);
  background: rgba(3,105,181,.08);
  display: inline-block;
  padding: 4px 10px;
  border-radius: 50px;
  margin: 0 0 12px;
}
.rsarv-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--blue);
  text-decoration: none;
  transition: gap var(--dur);
}
.rsarv-card:hover .rsarv-card-link { gap: 10px; }

/* ── 4. CTA ── */
.rsarv-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsarv-cta::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(3,105,181,.2) 0%, transparent 65%);
  top: -200px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}
.rsarv-cta-content {
  position: relative;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.rsarv-cta-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--white);
  margin: 0 0 20px;
}
.rsarv-cta-h2 em { font-style: normal; color: rgba(255,255,255,.7); }
.rsarv-cta-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.75);
  margin: 0 0 36px;
}
.rsarv-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .rsarv-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 80px; }
  .rsarv-hero-text { max-width: 100%; }
  .rsarv-hero-img img { max-width: 360px; }
  .rsarv-tip-inner { flex-direction: column; }
  .rsarv-tip-divider { width: auto; height: 1px; align-self: stretch; margin: 0; }
  .rsarv-cards-top { grid-template-columns: 1fr; }
  .rsarv-cards-bottom { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .rsarv-hero { min-height: 100svh; }
  .rsarv-hero-inner { padding-top: 72px; padding-bottom: 56px; }
  .rsarv-tip-item { padding: 20px 0; }
  .rsarv-cards-bottom { grid-template-columns: 1fr; }
  .rsarv-card-img { height: 200px; }
  .rsarv-card-img--sm { height: 160px; }
  .rsarv-produkte { padding: 64px 0; }
  .rsarv-cta { padding: 72px 0; }
}


/* === rollo-solar-design-cover-pvc-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Design Cover PVC (page-id-161)
   Prefix: rsdcp-  |  Scroll class: rs4-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-161 *, .page-id-161 *::before, .page-id-161 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-161 .container_inner,
.page-id-161 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-161 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-161 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-161 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs4-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs4-reveal.visible { opacity: 1; transform: none; }
.rs4-reveal-d1 { transition-delay: .08s; }
.rs4-reveal-d2 { transition-delay: .16s; }
.rs4-reveal-d3 { transition-delay: .24s; }

/* ── SHARED BASE ── */
.rsdcp-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsdcp-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 12px;
}
.rsdcp-eyebrow--light { color: rgba(255,255,255,.65); }
.rsdcp-h1 {
  font-family: inherit;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--black);
  margin: 0 0 20px;
}
.rsdcp-h1 em { font-style: normal; color: var(--blue); }
.rsdcp-h1--light { color: var(--white); }
.rsdcp-h1--light em { color: rgba(255,255,255,.75); }
.rsdcp-h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--black);
  margin: 0 0 16px;
}
.rsdcp-h2 em { font-style: normal; color: var(--blue); }
.rsdcp-sub {
  font-size: .975rem;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 18px;
}
.rsdcp-sub--light { color: rgba(255,255,255,.82); }
.rsdcp-sub--sm { font-size: .875rem; color: #6b7280; }

/* ── BUTTONS ── */
.rsdcp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  cursor: pointer;
}
.rsdcp-btn:hover { transform: translateY(-2px); }
.rsdcp-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.14);
}
.rsdcp-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.rsdcp-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
}
.rsdcp-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
.rsdcp-btn--outline-light {
  background: transparent;
  color: rgba(255,255,255,.85);
  border: 2px solid rgba(255,255,255,.3);
}
.rsdcp-btn--outline-light:hover { border-color: rgba(255,255,255,.7); color: var(--white); }

/* ── 1. HERO ── */
.rsdcp-hero {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  min-height: 88vh;
  display: flex;
  align-items: center;
}
.rsdcp-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 75% 50%, rgba(3,105,181,.15) 0%, transparent 65%),
              linear-gradient(135deg, rgba(6,17,30,.96) 0%, rgba(1,67,128,.5) 100%);
  z-index: 1;
}
.rsdcp-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.rsdcp-hero-text { max-width: 520px; }
.rsdcp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

/* Product showcase */
.rsdcp-product-showcase {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rsdcp-product-showcase::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(3,105,181,.18) 0%, transparent 65%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rsdcp-product-showcase img {
  position: relative;
  width: 100%;
  max-width: 460px;
  height: auto;
  display: block;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.5));
}
.rsdcp-cert-badge {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(255,255,255,.96);
  color: var(--navy);
  padding: 7px 14px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ── 2. USP-LEISTE ── */
.rsdcp-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
  padding: 0;
}
.rsdcp-usp-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
}
.rsdcp-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  border-right: 1px solid var(--silver);
}
.rsdcp-usp:last-child { border-right: none; }
.rsdcp-usp-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
}
.rsdcp-usp strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}
.rsdcp-usp span {
  display: block;
  font-size: .78rem;
  color: var(--body);
  line-height: 1.45;
  margin-top: 2px;
}

/* ── 3. INTRO + FEATURES ── */
.rsdcp-intro {
  background: var(--gray);
  padding: 96px 0;
}
.rsdcp-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsdcp-intro-left { padding-top: 8px; }
.rsdcp-download-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  margin-top: 8px;
  padding: 12px 20px;
  background: var(--white);
  border: 2px solid var(--silver);
  border-radius: 12px;
  transition: border-color var(--dur), box-shadow var(--dur) var(--ease);
}
.rsdcp-download-link:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(3,105,181,.15);
}

/* Feature grid (checklist style) */
.rsdcp-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.rsdcp-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: 14px;
  padding: 16px 16px;
  transition: border-color var(--dur), box-shadow var(--dur) var(--ease);
}
.rsdcp-feature-item:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(3,105,181,.1);
}
.rsdcp-feature-item--wide { grid-column: span 2; }
.rsdcp-feature-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, rgba(1,67,128,.12), rgba(3,105,181,.12));
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.rsdcp-feature-item span {
  font-size: .875rem;
  color: var(--black);
  font-weight: 600;
  line-height: 1.5;
  padding-top: 8px;
}

/* ── 4. FARBVARIANTEN ── */
.rsdcp-farben {
  background: var(--white);
  padding: 96px 0;
}
.rsdcp-section-head {
  text-align: center;
  margin-bottom: 52px;
}
.rsdcp-farben-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.rsdcp-farbe-card {
  border: 1px solid var(--silver);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  background: var(--white);
}
.rsdcp-farbe-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.1);
}
.rsdcp-farbe-img {
  background: var(--gray);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  height: 200px;
  overflow: hidden;
}
.rsdcp-farbe-img img {
  max-width: 100%;
  max-height: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  transition: transform .5s var(--ease);
}
.rsdcp-farbe-card:hover .rsdcp-farbe-img img { transform: scale(1.04); }
.rsdcp-farbe-info {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px;
  border-top: 1px solid var(--silver);
}
.rsdcp-farbe-swatch {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--silver);
  margin-top: 2px;
}
.rsdcp-farbe-swatch--solar {
  background: linear-gradient(135deg, rgba(30,80,180,.65), rgba(100,160,255,.4));
  border-color: rgba(3,105,181,.3);
}
.rsdcp-farbe-swatch--weiss { background: #f8f8f8; }
.rsdcp-farbe-swatch--grau { background: #9ca3af; }
.rsdcp-farbe-info h3 {
  font-size: .95rem;
  font-weight: 700;
  color: var(--black);
  margin: 0 0 4px;
}
.rsdcp-farbe-info p {
  font-size: .82rem;
  color: var(--body);
  line-height: 1.55;
  margin: 0;
}

/* ── 5. ENDKAPPEN ── */
.rsdcp-endkappen {
  background: var(--gray);
  padding: 96px 0;
}
.rsdcp-endkappen-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.rsdcp-check-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rsdcp-check-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .9rem;
  color: var(--black);
  font-weight: 600;
}
.rsdcp-check-list li svg {
  flex-shrink: 0;
  color: var(--blue);
}
.rsdcp-endkappen-img {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--white);
  border-radius: var(--radius);
  padding: 48px 32px;
  border: 1px solid var(--silver);
}
.rsdcp-endkappen-img img {
  max-width: 100%;
  max-height: 320px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* ── 6. CTA ── */
.rsdcp-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsdcp-cta::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(3,105,181,.2) 0%, transparent 65%);
  top: -200px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}
.rsdcp-cta-content {
  position: relative;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.rsdcp-cta-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--white);
  margin: 0 0 20px;
}
.rsdcp-cta-h2 em { font-style: normal; color: rgba(255,255,255,.7); }
.rsdcp-cta-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.75);
  margin: 0 0 36px;
}
.rsdcp-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .rsdcp-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 80px; }
  .rsdcp-hero-text { max-width: 100%; }
  .rsdcp-product-showcase img { max-width: 340px; }
  .rsdcp-usp-grid { grid-template-columns: repeat(2, 1fr); }
  .rsdcp-usp:nth-child(2) { border-right: none; }
  .rsdcp-usp:nth-child(3) { border-top: 1px solid var(--silver); }
  .rsdcp-usp:nth-child(4) { border-top: 1px solid var(--silver); border-right: none; }
  .rsdcp-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .rsdcp-farben-grid { grid-template-columns: 1fr 1fr; }
  .rsdcp-endkappen-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 640px) {
  .rsdcp-hero { min-height: 100svh; }
  .rsdcp-hero-inner { padding-top: 72px; padding-bottom: 56px; }
  .rsdcp-usp-grid { grid-template-columns: 1fr; }
  .rsdcp-usp { border-right: none; border-top: 1px solid var(--silver); }
  .rsdcp-usp:first-child { border-top: none; }
  .rsdcp-feature-grid { grid-template-columns: 1fr; }
  .rsdcp-feature-item--wide { grid-column: auto; }
  .rsdcp-farben-grid { grid-template-columns: 1fr; }
  .rsdcp-intro { padding: 64px 0; }
  .rsdcp-farben { padding: 64px 0; }
  .rsdcp-endkappen { padding: 64px 0; }
  .rsdcp-cta { padding: 72px 0; }
}


/* === rollo-solar-hubanlage-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Hubanlage (page-id-175)
   Prefix: rsha-  |  Scroll class: rs8-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-175 *, .page-id-175 *::before, .page-id-175 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-175 .container_inner,
.page-id-175 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-175 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-175 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-175 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --gold:   #d97706;
  --gold-lt:#fef3c7;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs8-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs8-reveal.visible { opacity: 1; transform: none; }
.rs8-reveal-d1 { transition-delay: .08s; }
.rs8-reveal-d2 { transition-delay: .16s; }
.rs8-reveal-d3 { transition-delay: .24s; }

/* ── SHARED BASE ── */
.rsha-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsha-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 12px;
}
.rsha-eyebrow--light { color: rgba(255,255,255,.65); }
.rsha-h1 {
  font-family: inherit;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--black);
  margin: 0 0 20px;
}
.rsha-h1 em { font-style: normal; color: var(--blue); }
.rsha-h1--light { color: var(--white); }
.rsha-h1--light em { color: rgba(255,255,255,.75); }
.rsha-h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--black);
  margin: 0 0 16px;
}
.rsha-h2 em { font-style: normal; color: var(--blue); }
.rsha-sub {
  font-size: .975rem;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 18px;
}
.rsha-sub--light { color: rgba(255,255,255,.82); }

/* ── BUTTONS ── */
.rsha-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  cursor: pointer;
}
.rsha-btn:hover { transform: translateY(-2px); }
.rsha-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.14);
}
.rsha-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.rsha-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
}
.rsha-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }

/* ── 1. HERO ── */
.rsha-hero {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  min-height: 88vh;
  display: flex;
  align-items: center;
}
.rsha-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 75% 50%, rgba(3,105,181,.12) 0%, transparent 65%),
              linear-gradient(135deg, rgba(6,17,30,.97) 0%, rgba(1,67,128,.45) 100%);
  z-index: 1;
}
.rsha-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.rsha-hero-text { max-width: 520px; }
.rsha-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
}
.rsha-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.85);
  padding: 7px 14px;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 600;
}
.rsha-badge--gold {
  background: rgba(217,119,6,.18);
  border-color: rgba(217,119,6,.5);
  color: #fbbf24;
}
.rsha-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.rsha-hero-img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rsha-hero-img::before {
  content: '';
  position: absolute;
  width: 440px;
  height: 440px;
  background: radial-gradient(circle, rgba(3,105,181,.14) 0%, transparent 65%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rsha-hero-img img {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: auto;
  display: block;
  border-radius: 16px;
  filter: drop-shadow(0 24px 56px rgba(0,0,0,.6));
}

/* ── 2. USP-LEISTE ── */
.rsha-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
}
.rsha-usp-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
}
.rsha-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  border-right: 1px solid var(--silver);
}
.rsha-usp:last-child { border-right: none; }
.rsha-usp-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
}
.rsha-usp-icon--gold {
  background: linear-gradient(135deg, #92400e, #d97706);
}
.rsha-usp strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}
.rsha-usp span {
  display: block;
  font-size: .78rem;
  color: var(--body);
  line-height: 1.45;
  margin-top: 2px;
}

/* ── 3. FUNKTIONSWEISE ── */
.rsha-intro {
  background: var(--gray);
  padding: 96px 0;
}
.rsha-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsha-intro-left { padding-top: 8px; }

/* Feature grid 2x4 */
.rsha-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 28px;
}
.rsha-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: 14px;
  padding: 14px 16px;
  transition: border-color var(--dur), box-shadow var(--dur) var(--ease);
}
.rsha-feature-item:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(3,105,181,.1);
}
.rsha-feature-icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, rgba(1,67,128,.12), rgba(3,105,181,.12));
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.rsha-feature-item span {
  font-size: .82rem;
  color: var(--black);
  font-weight: 600;
  line-height: 1.5;
  padding-top: 7px;
}

/* State images (right col) */
.rsha-states {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rsha-state-img {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
}
.rsha-state-img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .5s var(--ease);
}
.rsha-state-img:hover img { transform: scale(1.03); }
.rsha-state-label {
  position: absolute;
  bottom: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 50px;
  font-size: .75rem;
  font-weight: 700;
}
.rsha-state-label--active {
  background: rgba(3,105,181,.9);
  color: var(--white);
}
.rsha-state-label--hidden {
  background: rgba(16,185,129,.9);
  color: var(--white);
}

/* ── 4. VIDEO + AWARD ── */
.rsha-media {
  background: var(--dark);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsha-media::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 20% 50%, rgba(3,105,181,.1) 0%, transparent 60%);
}
.rsha-media-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: center;
}

/* Video */
.rsha-video-wrap {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.5);
}
.rsha-video-wrap video {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.rsha-video-label {
  position: absolute;
  bottom: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(6,17,30,.85);
  border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.9);
  padding: 7px 14px;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 700;
}

/* Award box */
.rsha-award-box {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
.rsha-award-img {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(217,119,6,.3);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rsha-award-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.rsha-award-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fbbf24;
  margin: 0 0 8px;
}
.rsha-award-h3 {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 800;
  color: var(--white);
  margin: 0 0 14px;
  line-height: 1.2;
}
.rsha-award-h3 span {
  color: #fbbf24;
}
.rsha-award-sub {
  font-size: .875rem;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
  margin: 0 0 24px;
}

/* ── 5. GALERIE ── */
.rsha-galerie {
  background: var(--white);
  padding: 96px 0;
}
.rsha-section-head {
  text-align: center;
  margin-bottom: 48px;
}
.rsha-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.rsha-gallery-item {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.rsha-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.15);
}
.rsha-gallery-item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsha-gallery-item:hover img { transform: scale(1.04); }

/* ── 6. CTA ── */
.rsha-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsha-cta::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(3,105,181,.2) 0%, transparent 65%);
  top: -200px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}
.rsha-cta-content {
  position: relative;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.rsha-cta-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--white);
  margin: 0 0 20px;
}
.rsha-cta-h2 em { font-style: normal; color: rgba(255,255,255,.7); }
.rsha-cta-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.75);
  margin: 0 0 36px;
}
.rsha-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .rsha-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 80px; }
  .rsha-hero-text { max-width: 100%; }
  .rsha-hero-img img { max-width: 400px; }
  .rsha-usp-grid { grid-template-columns: repeat(2, 1fr); }
  .rsha-usp:nth-child(2) { border-right: none; }
  .rsha-usp:nth-child(3) { border-top: 1px solid var(--silver); }
  .rsha-usp:nth-child(4) { border-top: 1px solid var(--silver); border-right: none; }
  .rsha-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .rsha-media-grid { grid-template-columns: 1fr; gap: 40px; }
  .rsha-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .rsha-hero { min-height: 100svh; }
  .rsha-hero-inner { padding-top: 72px; padding-bottom: 56px; }
  .rsha-usp-grid { grid-template-columns: 1fr; }
  .rsha-usp { border-right: none; border-top: 1px solid var(--silver); }
  .rsha-usp:first-child { border-top: none; }
  .rsha-feature-grid { grid-template-columns: 1fr; }
  .rsha-award-box { flex-direction: column; }
  .rsha-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .rsha-intro { padding: 64px 0; }
  .rsha-media { padding: 64px 0; }
  .rsha-galerie { padding: 64px 0; }
  .rsha-cta { padding: 72px 0; }
}


/* === rollo-solar-mini-cover-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Mini Cover (page-id-163)
   Prefix: rsmc-  |  Scroll class: rs6-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-163 *, .page-id-163 *::before, .page-id-163 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-163 .container_inner,
.page-id-163 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-163 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-163 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-163 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --green:  #059669;
  --red:    #dc2626;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs6-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs6-reveal.visible { opacity: 1; transform: none; }
.rs6-reveal-d1 { transition-delay: .08s; }
.rs6-reveal-d2 { transition-delay: .16s; }
.rs6-reveal-d3 { transition-delay: .24s; }

/* ── SHARED BASE ── */
.rsmc-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsmc-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 12px;
}
.rsmc-eyebrow--light { color: rgba(255,255,255,.65); }
.rsmc-h1 {
  font-family: inherit;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--black);
  margin: 0 0 20px;
}
.rsmc-h1 em { font-style: normal; color: var(--blue); }
.rsmc-h1--light { color: var(--white); }
.rsmc-h1--light em { color: rgba(255,255,255,.75); }
.rsmc-h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--black);
  margin: 0 0 16px;
}
.rsmc-h2 em { font-style: normal; color: var(--blue); }
.rsmc-sub {
  font-size: .975rem;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 18px;
}
.rsmc-sub--light { color: rgba(255,255,255,.82); }

/* ── BUTTONS ── */
.rsmc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  cursor: pointer;
}
.rsmc-btn:hover { transform: translateY(-2px); }
.rsmc-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.14);
}
.rsmc-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.rsmc-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
}
.rsmc-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
.rsmc-btn--primary {
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: var(--white);
  box-shadow: 0 4px 18px rgba(3,105,181,.3);
}
.rsmc-btn--primary:hover { box-shadow: 0 8px 28px rgba(3,105,181,.4); }

/* ── 1. HERO ── */
.rsmc-hero {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  min-height: 88vh;
  display: flex;
  align-items: center;
}
.rsmc-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 75% 50%, rgba(3,105,181,.15) 0%, transparent 65%),
              linear-gradient(135deg, rgba(6,17,30,.96) 0%, rgba(1,67,128,.5) 100%);
  z-index: 1;
}
.rsmc-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.rsmc-hero-text { max-width: 520px; }
.rsmc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

/* Value badge */
.rsmc-value-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(5,150,105,.15);
  border: 1px solid rgba(5,150,105,.4);
  color: #34d399;
  padding: 9px 16px;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.rsmc-value-badge svg { flex-shrink: 0; }

/* Hero image */
.rsmc-hero-img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rsmc-hero-img::before {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(3,105,181,.18) 0%, transparent 65%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rsmc-hero-img img {
  position: relative;
  width: 100%;
  max-width: 460px;
  height: auto;
  display: block;
  border-radius: 16px;
  filter: drop-shadow(0 20px 48px rgba(0,0,0,.55));
}

/* ── 2. USP-LEISTE ── */
.rsmc-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
}
.rsmc-usp-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
}
.rsmc-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  border-right: 1px solid var(--silver);
}
.rsmc-usp:last-child { border-right: none; }
.rsmc-usp-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
}
.rsmc-usp strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}
.rsmc-usp span {
  display: block;
  font-size: .78rem;
  color: var(--body);
  line-height: 1.45;
  margin-top: 2px;
}

/* ── 3. EIGENSCHAFTEN ── */
.rsmc-intro {
  background: var(--gray);
  padding: 96px 0;
}
.rsmc-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsmc-intro-left { padding-top: 8px; }

/* Comparison box */
.rsmc-compare-box {
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: 16px;
  padding: 20px 24px;
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rsmc-compare-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.5;
}
.rsmc-compare-row--win { color: var(--green); }
.rsmc-compare-row--win svg { flex-shrink: 0; margin-top: 2px; }
.rsmc-compare-row--lose { color: #9ca3af; }
.rsmc-compare-row--lose svg { flex-shrink: 0; margin-top: 2px; }

/* Feature grid */
.rsmc-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.rsmc-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: 14px;
  padding: 16px;
  transition: border-color var(--dur), box-shadow var(--dur) var(--ease);
}
.rsmc-feature-item:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(3,105,181,.1);
}
.rsmc-feature-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, rgba(1,67,128,.12), rgba(3,105,181,.12));
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.rsmc-feature-item span {
  font-size: .875rem;
  color: var(--black);
  font-weight: 600;
  line-height: 1.5;
  padding-top: 8px;
}

/* ── 4. FARBVARIANTEN ── */
.rsmc-farben {
  background: var(--white);
  padding: 96px 0;
}
.rsmc-section-head {
  text-align: center;
  margin-bottom: 52px;
}
.rsmc-farben-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 760px;
  margin: 0 auto;
}
.rsmc-farbe-card {
  border: 1px solid var(--silver);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  background: var(--white);
}
.rsmc-farbe-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.1);
}
.rsmc-farbe-img {
  background: var(--gray);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: 220px;
}
.rsmc-farbe-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsmc-farbe-card:hover .rsmc-farbe-img img { transform: scale(1.04); }
.rsmc-farbe-info {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px;
  border-top: 1px solid var(--silver);
}
.rsmc-farbe-swatch {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--silver);
  margin-top: 2px;
}
.rsmc-farbe-swatch--weiss { background: #f5f5f5; }
.rsmc-farbe-swatch--grau { background: #9ca3af; }
.rsmc-farbe-info h3 {
  font-size: .95rem;
  font-weight: 700;
  color: var(--black);
  margin: 0 0 4px;
}
.rsmc-farbe-info p {
  font-size: .82rem;
  color: var(--body);
  line-height: 1.55;
  margin: 0;
}

/* ── 5. CTA ── */
.rsmc-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsmc-cta::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(3,105,181,.2) 0%, transparent 65%);
  top: -200px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}
.rsmc-cta-content {
  position: relative;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.rsmc-cta-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--white);
  margin: 0 0 20px;
}
.rsmc-cta-h2 em { font-style: normal; color: rgba(255,255,255,.7); }
.rsmc-cta-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.75);
  margin: 0 0 36px;
}
.rsmc-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .rsmc-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 80px; }
  .rsmc-hero-text { max-width: 100%; }
  .rsmc-hero-img img { max-width: 360px; }
  .rsmc-usp-grid { grid-template-columns: repeat(2, 1fr); }
  .rsmc-usp:nth-child(2) { border-right: none; }
  .rsmc-usp:nth-child(3) { border-top: 1px solid var(--silver); }
  .rsmc-usp:nth-child(4) { border-top: 1px solid var(--silver); border-right: none; }
  .rsmc-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .rsmc-farben-grid { grid-template-columns: 1fr 1fr; max-width: 100%; }
}
@media (max-width: 640px) {
  .rsmc-hero { min-height: 100svh; }
  .rsmc-hero-inner { padding-top: 72px; padding-bottom: 56px; }
  .rsmc-usp-grid { grid-template-columns: 1fr; }
  .rsmc-usp { border-right: none; border-top: 1px solid var(--silver); }
  .rsmc-usp:first-child { border-top: none; }
  .rsmc-feature-grid { grid-template-columns: 1fr; }
  .rsmc-farben-grid { grid-template-columns: 1fr; }
  .rsmc-intro { padding: 64px 0; }
  .rsmc-farben { padding: 64px 0; }
  .rsmc-cta { padding: 72px 0; }
}


/* === rollo-solar-nav-customizer.css === */
/* ═══════════════════════════════════════════════════════════════════
   ROLLO SOLAR — Premium Navigation CSS
   ───────────────────────────────────────────────────────────────────
   EINFÜGEN: WP Admin → Design → Customizer → Weitere CSS
   Theme:    Kubi-child (Mikado / Qode Interactive)
   Version:  2.0 — 2026-03 (Premium Mobile UX — Apple / BMW / Miele)
   ═══════════════════════════════════════════════════════════════════ */


/* ── Design-Tokens ───────────────────────────────────────────────── */
:root {
  --rsn-brand:  #014380;
  --rsn-mid:    #0369b5;
  --rsn-dark:   #06111e;
  --rsn-white:  #ffffff;
  --rsn-ease:   cubic-bezier(.4, 0, .2, 1);
  --rsn-dur:    .28s;
}


/* ═══════════════════════════════════════════════════════════════════
   1. HEADER — Basis
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area {
  background: rgba(255, 255, 255, .97) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow:
    0 1px 0 rgba(1, 67, 128, .12),
    0 4px 24px rgba(0, 0, 0, .07) !important;
  transition:
    background  var(--rsn-dur) var(--rsn-ease),
    box-shadow  var(--rsn-dur) var(--rsn-ease) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   2. SCROLLED-STATE — dunkles Navy (nur Desktop)
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area.scrolled {
  background: var(--rsn-dark) !important;
  box-shadow: 0 2px 32px rgba(0, 0, 0, .4) !important;
}

/* FIX: Theme sets .header_bottom/.header_top white on scroll — override (desktop only) */
@media only screen and (min-width: 1001px) {
  header.scroll_header_top_area.scrolled .header_bottom,
  header.scroll_header_top_area.scrolled .header_top {
    background: var(--rsn-dark) !important;
    box-shadow: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   3. LOGO — Höhen-Transition + weiß wenn gescrollt
   ─────────────────────────────────────────────────────────────────── */

.logo_wrapper {
  transition: height var(--rsn-dur) var(--rsn-ease) !important;
}

header.scroll_header_top_area.scrolled .logo_wrapper .q_logo img.normal {
  opacity: 1 !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
}
header.scroll_header_top_area.scrolled .logo_wrapper .q_logo img:not(.normal) {
  display: none !important;
  opacity: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   4. HAUPTNAVIGATION — Basis-Links
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area nav.main_menu &gt; ul &gt; li &gt; a {
  color: var(--rsn-brand) !important;
  font-family: Raleway, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 0 15px !important;
  opacity: 1 !important;
  transition: color var(--rsn-dur) var(--rsn-ease) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   5. HOVER-UNDERLINE-ANIMATION
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area nav.main_menu &gt; ul &gt; li &gt; a::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--rsn-mid);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--rsn-dur) var(--rsn-ease);
  pointer-events: none;
}

header.scroll_header_top_area nav.main_menu &gt; ul &gt; li:hover &gt; a::after,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li.active &gt; a::after,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li.current-menu-item &gt; a::after,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li.current-menu-ancestor &gt; a::after {
  transform: scaleX(1);
}

header:not(.with_hover_bg_color) nav.main_menu &gt; ul &gt; li:hover &gt; a,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li:hover &gt; a,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li.active &gt; a,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li.current-menu-item &gt; a,
header.scroll_header_top_area nav.main_menu &gt; ul &gt; li.current-menu-ancestor &gt; a {
  color: var(--rsn-mid) !important;
  opacity: 1 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   6. SCROLLED-STATE — weiße Links
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area.scrolled nav.main_menu &gt; ul &gt; li &gt; a {
  color: rgba(255, 255, 255, .82) !important;
}

header.scroll_header_top_area.scrolled nav.main_menu &gt; ul &gt; li:hover &gt; a,
header.scroll_header_top_area.scrolled nav.main_menu &gt; ul &gt; li.active &gt; a,
header.scroll_header_top_area.scrolled nav.main_menu &gt; ul &gt; li.current-menu-item &gt; a {
  color: var(--rsn-white) !important;
}

header.scroll_header_top_area.scrolled nav.main_menu &gt; ul &gt; li &gt; a::after {
  bottom: 20px;
  background: rgba(255, 255, 255, .5);
}


/* ═══════════════════════════════════════════════════════════════════
   7. KONTAKT — CTA-Pill-Button (Desktop)
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item) {
  display: flex !important;
  align-items: center !important;
  height: 100px !important;
  margin-left: 6px !important;
}

header.scroll_header_top_area.scrolled
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item) {
  height: 60px !important;
}

header.scroll_header_top_area
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item) &gt; a {
  height: auto !important;
  line-height: 1 !important;
  padding: 10px 22px !important;
  border: 1.5px solid var(--rsn-brand) !important;
  border-radius: 40px !important;
  color: var(--rsn-brand) !important;
  font-size: 11.5px !important;
  display: inline-block !important;
  transition:
    background     var(--rsn-dur) var(--rsn-ease),
    color          var(--rsn-dur) var(--rsn-ease),
    border-color   var(--rsn-dur) var(--rsn-ease) !important;
}

header.scroll_header_top_area
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item) &gt; a::after {
  display: none !important;
}

header.scroll_header_top_area
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item):hover &gt; a {
  background: var(--rsn-brand) !important;
  color: var(--rsn-white) !important;
}

header.scroll_header_top_area.scrolled
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item) &gt; a {
  border-color: rgba(255, 255, 255, .55) !important;
  color: rgba(255, 255, 255, .88) !important;
}

header.scroll_header_top_area.scrolled
  nav.main_menu &gt; ul &gt; li.narrow:not(.has_sub):not(.wpml-ls-item):hover &gt; a {
  background: rgba(255, 255, 255, .12) !important;
  border-color: var(--rsn-white) !important;
  color: var(--rsn-white) !important;
}


/* ═══════════════════════════════════════════════════════════════════
   8. DESKTOP-DROPDOWNS — Dark Premium
   ─────────────────────────────────────────────────────────────────── */

header.scroll_header_top_area nav.main_menu ul ul {
  background: var(--rsn-dark) !important;
  border-top: 2px solid var(--rsn-mid) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .35) !important;
  border-radius: 0 0 8px 8px !important;
  min-width: 220px !important;
  padding: 4px 0 !important;
}

header.scroll_header_top_area nav.main_menu ul ul li a {
  color: rgba(255, 255, 255, .72) !important;
  font-size: 11px !important;
  letter-spacing: 1.2px !important;
  padding: 10px 22px !important;
  border-left: 2px solid transparent !important;
  line-height: 1.4 !important;
  transition:
    color         var(--rsn-dur) var(--rsn-ease),
    background    var(--rsn-dur) var(--rsn-ease),
    border-color  var(--rsn-dur) var(--rsn-ease),
    padding-left  var(--rsn-dur) var(--rsn-ease) !important;
}

header.scroll_header_top_area nav.main_menu ul ul li:hover &gt; a {
  color: var(--rsn-white) !important;
  background: rgba(3, 105, 181, .16) !important;
  border-left-color: var(--rsn-mid) !important;
  padding-left: 28px !important;
}

header.scroll_header_top_area nav.main_menu ul ul ul {
  border-top: none !important;
  border-left: 2px solid var(--rsn-mid) !important;
  border-radius: 0 8px 8px 0 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   9. MOBILE &amp; TABLET  (≤ 1000 px)  —  PREMIUM UX
   ─────────────────────────────────────────────────────────────────── */

@media only screen and (max-width: 1000px) {

  /* ── Header bleibt auf Mobile immer weiß ── */
  header.scroll_header_top_area,
  header.scroll_header_top_area.scrolled {
    background: rgba(255, 255, 255, .97) !important;
    box-shadow:
      0 1px 0 rgba(1, 67, 128, .12),
      0 4px 24px rgba(0, 0, 0, .07) !important;
  }

  /* Logo nicht invertieren (weißer Header) */
  header.scroll_header_top_area.scrolled .logo_wrapper .q_logo img.normal {
    filter: none !important;
  }

  /* ── Hamburger — brand blue ── */
  .mobile_menu_button span i {
    color: var(--rsn-brand) !important;
    font-size: 24px !important;
  }


  /* ════════════════════════════════════════════════════════════════
     PREMIUM MOBILE OVERLAY  (Apple / BMW / Miele)
     ════════════════════════════════════════════════════════════════ */

  nav.mobile_menu {
    background: var(--rsn-dark) !important;
    border-top: 1px solid rgba(255, 255, 255, .14) !important;
    box-shadow: 0 32px 80px rgba(0, 0, 0, .5) !important;
    overflow: hidden !important;
  }

  /* Fill the full remaining viewport below the header */
  nav.mobile_menu ul {
    min-height: calc(100vh - 102px) !important;
  }


  /* ── ENTRANCE ANIMATION — staggered fade-up ── */

  @keyframes rsn-fade-up {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0);    }
  }

  nav.mobile_menu &gt; ul &gt; li {
    animation: rsn-fade-up .42s var(--rsn-ease) both;
    border-bottom: 1px solid rgba(255, 255, 255, .055) !important;
  }
  nav.mobile_menu &gt; ul &gt; li:nth-child(1) { animation-delay: .05s; }
  nav.mobile_menu &gt; ul &gt; li:nth-child(2) { animation-delay: .10s; }
  nav.mobile_menu &gt; ul &gt; li:nth-child(3) { animation-delay: .15s; }
  nav.mobile_menu &gt; ul &gt; li:nth-child(4) { animation-delay: .20s; }
  nav.mobile_menu &gt; ul &gt; li:nth-child(5) { animation-delay: .25s; }
  nav.mobile_menu &gt; ul &gt; li:nth-child(6) { animation-delay: .30s; }


  /* ── LEVEL 1 — Editorial large type ── */

  nav.mobile_menu &gt; ul &gt; li &gt; a,
  nav.mobile_menu &gt; ul &gt; li &gt; h3 {
    padding: 26px 64px 26px 32px !important;
    box-shadow: inset 3px 0 0 transparent !important;
    border-bottom: none !important;
    transition:
      background   var(--rsn-dur) var(--rsn-ease),
      box-shadow   var(--rsn-dur) var(--rsn-ease),
      padding-left var(--rsn-dur) var(--rsn-ease) !important;
  }

  nav.mobile_menu &gt; ul &gt; li &gt; a span,
  nav.mobile_menu &gt; ul &gt; li &gt; h3,
  nav.mobile_menu &gt; ul &gt; li &gt; h3 span {
    color: rgba(255, 255, 255, .88) !important;
    font-family: Raleway, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
  }

  /* Hover / active state */
  nav.mobile_menu &gt; ul &gt; li:hover &gt; a,
  nav.mobile_menu &gt; ul &gt; li:hover &gt; h3,
  nav.mobile_menu &gt; ul &gt; li.active &gt; a,
  nav.mobile_menu &gt; ul &gt; li.current-menu-item &gt; a {
    background:   rgba(255, 255, 255, .055) !important;
    box-shadow:   inset 3px 0 0 rgba(255, 255, 255, .5) !important;
    padding-left: 38px !important;
  }

  nav.mobile_menu &gt; ul &gt; li:hover &gt; a span,
  nav.mobile_menu &gt; ul &gt; li:hover &gt; h3,
  nav.mobile_menu &gt; ul &gt; li:hover &gt; h3 span,
  nav.mobile_menu &gt; ul &gt; li.current-menu-item &gt; a span {
    color: var(--rsn-white) !important;
  }


  /* ── LEVEL 2 — Sub-menu ── */

  nav.mobile_menu ul ul {
    background:  rgba(0, 0, 0, .22) !important;
    border-top:  1px solid rgba(255, 255, 255, .05) !important;
  }

  nav.mobile_menu ul ul li a,
  nav.mobile_menu ul ul li h3 {
    padding: 14px 50px 14px 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .05) !important;
    box-shadow: none !important;
    transition:
      background   var(--rsn-dur) var(--rsn-ease),
      padding-left var(--rsn-dur) var(--rsn-ease) !important;
  }

  nav.mobile_menu ul ul li a span,
  nav.mobile_menu ul ul li h3,
  nav.mobile_menu ul ul li h3 span {
    color: rgba(255, 255, 255, .52) !important;
    font-family: Raleway, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
  }

  nav.mobile_menu ul ul li:hover &gt; a {
    background:   rgba(255, 255, 255, .07) !important;
    padding-left: 50px !important;
  }

  nav.mobile_menu ul ul li:hover &gt; a span {
    color: rgba(255, 255, 255, .88) !important;
  }


  /* ── LEVEL 3 ── */

  nav.mobile_menu ul ul ul li a {
    padding-left: 58px !important;
    background:   rgba(0, 0, 0, .15) !important;
  }


  /* ── EXPAND ARROW — subtle, reveals on hover ── */

  .mobile_arrow i {
    color: rgba(255, 255, 255, .20) !important;
    font-size: 16px !important;
    transition:
      color     var(--rsn-dur) var(--rsn-ease),
      transform var(--rsn-dur) var(--rsn-ease) !important;
  }

  nav.mobile_menu &gt; ul &gt; li:hover .mobile_arrow i,
  nav.mobile_menu &gt; ul &gt; li.open  .mobile_arrow i {
    color: rgba(255, 255, 255, .65) !important;
  }

  nav.mobile_menu ul li ul li .mobile_arrow i {
    font-size: 12px !important;
  }


  /* ── KONTAKT — premium CTA treatment ── */

  nav.mobile_menu ul li.narrow:not(.has_sub):not(.wpml-ls-item) {
    border-top:    1px solid rgba(255, 255, 255, .14) !important;
    border-bottom: none !important;
  }

  nav.mobile_menu ul li.narrow:not(.has_sub):not(.wpml-ls-item) &gt; a {
    background: rgba(255, 255, 255, .04) !important;
    box-shadow: none !important;
    padding:    26px 64px 26px 32px !important;
    transition: background var(--rsn-dur) var(--rsn-ease),
                padding-left var(--rsn-dur) var(--rsn-ease) !important;
  }

  nav.mobile_menu ul li.narrow:not(.has_sub):not(.wpml-ls-item) &gt; a span {
    color:     rgba(255, 255, 255, .88) !important;
    font-size: 22px !important;
  }

  nav.mobile_menu ul li.narrow:not(.has_sub):not(.wpml-ls-item):hover &gt; a {
    background:   rgba(255, 255, 255, .09) !important;
    box-shadow:   inset 3px 0 0 rgba(255, 255, 255, .5) !important;
    padding-left: 38px !important;
  }

  nav.mobile_menu ul li.narrow:not(.has_sub):not(.wpml-ls-item):hover &gt; a span {
    color: var(--rsn-white) !important;
  }


  /* ── SPRACH-SWITCHER — dezent abgedunkelt ── */

  nav.mobile_menu .wpml-ls-item &gt; a,
  nav.mobile_menu .wpml-ls-item &gt; h3,
  nav.mobile_menu .menu-item-language &gt; a,
  nav.mobile_menu .menu-item-language &gt; h3 {
    background:    rgba(0, 0, 0, .20) !important;
    padding:       16px 64px 16px 32px !important;
    border-top:    1px solid rgba(255, 255, 255, .04) !important;
    border-bottom: none !important;
    box-shadow:    none !important;
  }

  nav.mobile_menu .wpml-ls-item &gt; a span,
  nav.mobile_menu .wpml-ls-item &gt; h3,
  nav.mobile_menu .menu-item-language &gt; h3 {
    font-size:      11px !important;
    color:          rgba(255, 255, 255, .38) !important;
    letter-spacing: 2px !important;
  }

}


/* ═══════════════════════════════════════════════════════════════════
   PAGE — Design Cover PC  (page-id-159)
   Editorial Design · rs-* Sprache · Rubik 800 · Navy + Weiß
   Version: 2.0 — 2026-03 (Komplettes Redesign)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Design Tokens ── */
.page-id-159 {
  --dcp-navy:  #014380;
  --dcp-blue:  #0369b5;
  --dcp-black: #111111;
  --dcp-body:  #555555;
  --dcp-gray:  #f4f6f8;
  --dcp-white: #ffffff;
  --dcp-dur:   .24s;
  --dcp-ease:  cubic-bezier(.4, 0, .2, 1);
}


/* ── 1. HERO ROW ──────────────────────────────────────────────────── */

.page-id-159 .dcp-hero-row {
  background:     var(--dcp-white) !important;
  padding-top:    100px !important;
  padding-bottom: 80px !important;
}

.page-id-159 .dcp-hero-col &gt; .wpb_wrapper {
  max-width: 860px;
}


/* ── 2. EYEBROW ───────────────────────────────────────────────────── */

.page-id-159 .dcp-eyebrow {
  display:        block !important;
  font-family:    Rubik, sans-serif !important;
  font-size:      12px !important;
  font-weight:    600 !important;
  color:          var(--dcp-blue) !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  margin-bottom:  24px !important;
  line-height:    1 !important;
}

.page-id-159 .dcp-eyebrow--light {
  color: rgba(255, 255, 255, .55) !important;
}


/* ── 3. DISPLAY H1 ────────────────────────────────────────────────── */

.page-id-159 .dcp-h1 {
  font-family:    Rubik, sans-serif !important;
  font-size:      clamp(48px, 7vw, 96px) !important;
  font-weight:    800 !important;
  color:          var(--dcp-black) !important;
  letter-spacing: -0.045em !important;
  line-height:    1 !important;
  margin-bottom:  32px !important;
  text-transform: none !important;
}

.page-id-159 .dcp-h1 em {
  font-style: normal !important;
  color:      var(--dcp-navy) !important;
  display:    block !important;
}


/* ── 4. HERO SUBTEXT ─────────────────────────────────────────────── */

.page-id-159 .dcp-sub {
  font-family:   Rubik, sans-serif !important;
  font-size:     18px !important;
  color:         var(--dcp-body) !important;
  line-height:   1.75 !important;
  max-width:     620px !important;
  margin-bottom: 44px !important;
}


/* ── 5. BUTTONS ───────────────────────────────────────────────────── */

.page-id-159 .dcp-btns {
  display:         flex !important;
  flex-wrap:       wrap !important;
  gap:             16px !important;
  align-items:     center !important;
}

.page-id-159 .dcp-btns--centered {
  justify-content: center !important;
}

.page-id-159 .dcp-btn {
  display:         inline-block !important;
  font-family:     Rubik, sans-serif !important;
  font-size:       14px !important;
  font-weight:     600 !important;
  letter-spacing:  0.02em !important;
  text-decoration: none !important;
  padding:         14px 28px !important;
  border-radius:   999px !important;
  line-height:     1 !important;
  transition:
    background  var(--dcp-dur) var(--dcp-ease),
    color       var(--dcp-dur) var(--dcp-ease),
    box-shadow  var(--dcp-dur) var(--dcp-ease),
    transform   var(--dcp-dur) var(--dcp-ease) !important;
}

.page-id-159 .dcp-btn--primary {
  background: var(--dcp-navy) !important;
  color:      var(--dcp-white) !important;
  box-shadow: 0 4px 20px rgba(1, 67, 128, .22) !important;
}

.page-id-159 .dcp-btn--primary:hover {
  background: #012e5a !important;
  color:      var(--dcp-white) !important;
  box-shadow: 0 8px 32px rgba(1, 67, 128, .38) !important;
  transform:  translateY(-2px) !important;
}

.page-id-159 .dcp-btn--secondary {
  background: transparent !important;
  color:      var(--dcp-navy) !important;
  box-shadow: inset 0 0 0 1.5px var(--dcp-navy) !important;
}

.page-id-159 .dcp-btn--secondary:hover {
  background: rgba(1, 67, 128, .06) !important;
  color:      var(--dcp-navy) !important;
  transform:  translateY(-2px) !important;
}

.page-id-159 .dcp-btn--inverse {
  background: var(--dcp-white) !important;
  color:      var(--dcp-navy) !important;
}

.page-id-159 .dcp-btn--inverse:hover {
  background: rgba(255, 255, 255, .88) !important;
  color:      var(--dcp-navy) !important;
  transform:  translateY(-2px) !important;
}


/* ── 6. PRODUCT SHOWCASE ─────────────────────────────────────────── */

.page-id-159 .dcp-showcase-row {
  background: var(--dcp-gray) !important;
  padding:    64px 0 !important;
}

.page-id-159 .dcp-showcase-img .vc_single_image-img {
  max-height:  420px !important;
  width:       auto !important;
  object-fit:  contain !important;
  filter:      drop-shadow(0 24px 48px rgba(0, 0, 0, .15)) !important;
  margin:      0 auto !important;
  display:     block !important;
}


/* ── 7. SPECS ROW ─────────────────────────────────────────────────── */

.page-id-159 .dcp-specs-row {
  background:     var(--dcp-white) !important;
  padding-top:    96px !important;
  padding-bottom: 96px !important;
}

.page-id-159 .dcp-specs-text-col &gt; .wpb_wrapper {
  padding-right: 48px !important;
}

.page-id-159 .dcp-section-h2 {
  font-family:    Rubik, sans-serif !important;
  font-size:      clamp(36px, 4.5vw, 56px) !important;
  font-weight:    800 !important;
  color:          var(--dcp-black) !important;
  letter-spacing: -0.03em !important;
  line-height:    1.05 !important;
  margin-bottom:  32px !important;
  text-transform: none !important;
}

.page-id-159 .dcp-section-h2 em {
  font-style: normal !important;
  color:      var(--dcp-navy) !important;
  display:    block !important;
}

.page-id-159 .dcp-body {
  font-family:   Rubik, sans-serif !important;
  font-size:     18px !important;
  color:         var(--dcp-body) !important;
  line-height:   1.75 !important;
  margin-bottom: 20px !important;
}

.page-id-159 .dcp-body:last-child {
  margin-bottom: 0 !important;
}

/* Spec List */
.page-id-159 .dcp-spec-list {
  list-style: none !important;
  padding:    0 !important;
  margin:     0 !important;
}

.page-id-159 .dcp-spec-item {
  display:         flex !important;
  justify-content: space-between !important;
  align-items:     center !important;
  padding:         16px 0 !important;
  border-bottom:   1px solid rgba(1, 67, 128, .08) !important;
}

.page-id-159 .dcp-spec-item:first-child {
  border-top: 1px solid rgba(1, 67, 128, .08) !important;
}

.page-id-159 .dcp-spec-label {
  font-family:    Rubik, sans-serif !important;
  font-size:      12px !important;
  font-weight:    600 !important;
  color:          var(--dcp-navy) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.page-id-159 .dcp-spec-value {
  font-family: Rubik, sans-serif !important;
  font-size:   15px !important;
  font-weight: 400 !important;
  color:       var(--dcp-black) !important;
}


/* ── 8. DOWNLOAD ROW ─────────────────────────────────────────────── */

.page-id-159 .dcp-download-row {
  background:     var(--dcp-gray) !important;
  padding-top:    80px !important;
  padding-bottom: 80px !important;
}

.page-id-159 .dcp-download-col &gt; .wpb_wrapper {
  max-width:  720px !important;
  margin:     0 auto !important;
  text-align: center !important;
}

.page-id-159 .dcp-download-row .wpdm-download-link.btn-primary {
  background:      var(--dcp-navy) !important;
  border-color:    var(--dcp-navy) !important;
  border-radius:   999px !important;
  padding:         14px 28px !important;
  font-family:     Rubik, sans-serif !important;
  font-size:       14px !important;
  font-weight:     600 !important;
  letter-spacing:  0.02em !important;
  text-transform:  none !important;
  transition:      background var(--dcp-dur) var(--dcp-ease) !important;
}

.page-id-159 .dcp-download-row .wpdm-download-link.btn-primary:hover {
  background:   #012e5a !important;
  border-color: #012e5a !important;
}


/* ── 9. FEATURES (CARDS) ROW ─────────────────────────────────────── */

.page-id-159 .dcp-features-row {
  background:     var(--dcp-gray) !important;
  padding-top:    96px !important;
  padding-bottom: 96px !important;
}

.page-id-159 .dcp-cards-inner {
  margin: 0 -10px !important;
}

.page-id-159 .dcp-card-col &gt; .wpb_wrapper {
  background:    var(--dcp-white) !important;
  border-radius: 16px !important;
  padding:       28px 24px 24px !important;
  margin:        0 10px !important;
  height:        100% !important;
  transition:
    box-shadow  var(--dcp-dur) var(--dcp-ease),
    transform   var(--dcp-dur) var(--dcp-ease) !important;
}

.page-id-159 .dcp-card-col &gt; .wpb_wrapper:hover {
  box-shadow: 0 16px 48px rgba(1, 67, 128, .12) !important;
  transform:  translateY(-6px) !important;
}

.page-id-159 .dcp-card-img {
  margin-bottom: 20px !important;
}

.page-id-159 .dcp-card-img .vc_single_image-img {
  border-radius: 8px !important;
  width:         100% !important;
  height:        180px !important;
  object-fit:    cover !important;
}

.page-id-159 .dcp-card-title {
  font-family:    Rubik, sans-serif !important;
  font-size:      15px !important;
  font-weight:    700 !important;
  color:          var(--dcp-navy) !important;
  line-height:    1.35 !important;
  margin-bottom:  10px !important;
  padding-bottom: 10px !important;
  border-bottom:  1.5px solid rgba(1, 67, 128, .1) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.page-id-159 .dcp-card-text {
  font-family: Rubik, sans-serif !important;
  font-size:   14px !important;
  color:       #666666 !important;
  line-height: 1.65 !important;
  margin:      0 !important;
}


/* ── 10. COLORS ROW ──────────────────────────────────────────────── */

.page-id-159 .dcp-colors-row {
  background:     var(--dcp-white) !important;
  padding-top:    96px !important;
  padding-bottom: 96px !important;
}

.page-id-159 .dcp-colors-row .wpb_single_image img {
  border-radius: 8px !important;
  transition:
    transform  var(--dcp-dur) var(--dcp-ease),
    box-shadow var(--dcp-dur) var(--dcp-ease) !important;
}

.page-id-159 .dcp-colors-row .wpb_single_image img:hover {
  transform:  scale(1.04) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .15) !important;
}


/* ── 11. NAVY CTA ROW ────────────────────────────────────────────── */

.page-id-159 .dcp-cta-navy-row {
  background:     var(--dcp-navy) !important;
  padding-top:    96px !important;
  padding-bottom: 96px !important;
}

.page-id-159 .dcp-cta-navy-col &gt; .wpb_wrapper {
  max-width:  720px !important;
  margin:     0 auto !important;
  text-align: center !important;
}

.page-id-159 .dcp-cta-h2 {
  font-family:    Rubik, sans-serif !important;
  font-size:      clamp(36px, 4.5vw, 56px) !important;
  font-weight:    800 !important;
  color:          var(--dcp-white) !important;
  letter-spacing: -0.03em !important;
  line-height:    1.05 !important;
  margin-bottom:  20px !important;
  text-transform: none !important;
}

.page-id-159 .dcp-cta-h2 em {
  font-style: normal !important;
  color:      rgba(255, 255, 255, .65) !important;
  display:    block !important;
}

.page-id-159 .dcp-cta-sub {
  font-family:   Rubik, sans-serif !important;
  font-size:     17px !important;
  color:         rgba(255, 255, 255, .72) !important;
  line-height:   1.75 !important;
  margin-bottom: 44px !important;
}


/* ── 12. MOBILE (≤ 768px) ─────────────────────────────────────────── */

@media (max-width: 768px) {

  .page-id-159 .dcp-hero-row {
    padding-top:    64px !important;
    padding-bottom: 52px !important;
  }

  .page-id-159 .dcp-h1 {
    font-size:      clamp(40px, 11vw, 60px) !important;
    letter-spacing: -0.03em !important;
  }

  .page-id-159 .dcp-sub,
  .page-id-159 .dcp-body {
    font-size: 16px !important;
  }

  .page-id-159 .dcp-specs-text-col &gt; .wpb_wrapper {
    padding-right: 0 !important;
    margin-bottom: 48px !important;
  }

  .page-id-159 .dcp-specs-row,
  .page-id-159 .dcp-download-row,
  .page-id-159 .dcp-features-row,
  .page-id-159 .dcp-colors-row,
  .page-id-159 .dcp-cta-navy-row {
    padding-top:    64px !important;
    padding-bottom: 64px !important;
  }

  .page-id-159 .dcp-card-col &gt; .wpb_wrapper {
    margin: 0 0 20px !important;
  }

  .page-id-159 .dcp-showcase-row {
    padding: 40px 0 !important;
  }

  .page-id-159 .dcp-showcase-img .vc_single_image-img {
    max-height: 260px !important;
  }

}


/* === rollo-solar-oberflur-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Oberfluranlage (page-id-173)
   Prefix: rsof-  |  Scroll class: rs7-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-173 *, .page-id-173 *::before, .page-id-173 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-173 .container_inner,
.page-id-173 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-173 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-173 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-173 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --wood:   #92400e;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs7-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs7-reveal.visible { opacity: 1; transform: none; }
.rs7-reveal-d1 { transition-delay: .08s; }
.rs7-reveal-d2 { transition-delay: .16s; }
.rs7-reveal-d3 { transition-delay: .24s; }

/* ── SHARED BASE ── */
.rsof-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsof-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 12px;
}
.rsof-eyebrow--light { color: rgba(255,255,255,.65); }
.rsof-h1 {
  font-family: inherit;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--black);
  margin: 0 0 20px;
}
.rsof-h1 em { font-style: normal; color: var(--blue); }
.rsof-h1--light { color: var(--white); }
.rsof-h1--light em { color: rgba(255,255,255,.75); }
.rsof-h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--black);
  margin: 0 0 16px;
}
.rsof-h2 em { font-style: normal; color: var(--blue); }
.rsof-sub {
  font-size: .975rem;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 18px;
}
.rsof-sub--light { color: rgba(255,255,255,.82); }

/* ── BUTTONS ── */
.rsof-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  cursor: pointer;
}
.rsof-btn:hover { transform: translateY(-2px); }
.rsof-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.14);
}
.rsof-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.rsof-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
}
.rsof-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
.rsof-btn--primary {
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: var(--white);
  box-shadow: 0 4px 18px rgba(3,105,181,.3);
}
.rsof-btn--primary:hover { box-shadow: 0 8px 28px rgba(3,105,181,.4); }

/* ── 1. HERO ── */
.rsof-hero {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  min-height: 88vh;
  display: flex;
  align-items: center;
}
.rsof-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 75% 50%, rgba(3,105,181,.12) 0%, transparent 65%),
              linear-gradient(135deg, rgba(6,17,30,.97) 0%, rgba(1,67,128,.45) 100%);
  z-index: 1;
}
.rsof-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.rsof-hero-text { max-width: 520px; }
.rsof-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
}
.rsof-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.85);
  padding: 7px 14px;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 600;
}
.rsof-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.rsof-hero-img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rsof-hero-img::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(3,105,181,.14) 0%, transparent 65%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rsof-hero-img img {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  filter: drop-shadow(0 24px 56px rgba(0,0,0,.6));
}

/* ── 2. USP-LEISTE ── */
.rsof-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
}
.rsof-usp-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
}
.rsof-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  border-right: 1px solid var(--silver);
}
.rsof-usp:last-child { border-right: none; }
.rsof-usp-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
}
.rsof-usp strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}
.rsof-usp span {
  display: block;
  font-size: .78rem;
  color: var(--body);
  line-height: 1.45;
  margin-top: 2px;
}

/* ── 3. VORTEILE (INTRO) ── */
.rsof-intro {
  background: var(--gray);
  padding: 96px 0;
}
.rsof-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsof-intro-left { padding-top: 8px; }
.rsof-download-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  margin-top: 8px;
  padding: 12px 20px;
  background: var(--white);
  border: 2px solid var(--silver);
  border-radius: 12px;
  transition: border-color var(--dur), box-shadow var(--dur) var(--ease);
}
.rsof-download-link:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(3,105,181,.15);
}
.rsof-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.rsof-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: 14px;
  padding: 16px;
  transition: border-color var(--dur), box-shadow var(--dur) var(--ease);
}
.rsof-feature-item:hover {
  border-color: var(--blue);
  box-shadow: 0 4px 16px rgba(3,105,181,.1);
}
.rsof-feature-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, rgba(1,67,128,.12), rgba(3,105,181,.12));
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
}
.rsof-feature-item span {
  font-size: .875rem;
  color: var(--black);
  font-weight: 600;
  line-height: 1.5;
  padding-top: 8px;
}

/* ── 4. VERKLEIDUNGEN ── */
.rsof-verkleidungen {
  background: var(--white);
  padding: 96px 0;
}
.rsof-section-head {
  text-align: center;
  margin-bottom: 52px;
}
.rsof-verk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.rsof-verk-card {
  background: var(--white);
  border: 1px solid var(--silver);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  display: flex;
  flex-direction: column;
}
.rsof-verk-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 48px rgba(0,0,0,.1);
}

/* Card main image */
.rsof-verk-img {
  position: relative;
  overflow: hidden;
  height: 220px;
  background: var(--gray);
  flex-shrink: 0;
}
.rsof-verk-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsof-verk-card:hover .rsof-verk-img img { transform: scale(1.04); }
.rsof-verk-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  color: var(--white);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
}

/* Card body */
.rsof-verk-body {
  padding: 22px 22px 16px;
  flex: 1;
}
.rsof-verk-body h3 {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--black);
  margin: 0 0 10px;
  line-height: 1.3;
}
.rsof-verk-body p {
  font-size: .875rem;
  color: var(--body);
  line-height: 1.65;
  margin: 0 0 14px;
}

/* Material tags */
.rsof-mat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}
.rsof-mat-tag {
  font-size: .72rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 50px;
  letter-spacing: .06em;
}
.rsof-mat-tag--wood {
  background: rgba(146,64,14,.1);
  color: #92400e;
}
.rsof-mat-tag--plastic {
  background: rgba(3,105,181,.09);
  color: var(--blue);
}
.rsof-mat-tag--alu {
  background: rgba(107,114,128,.12);
  color: #374151;
}

/* Specs */
.rsof-verk-specs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid var(--silver);
}
.rsof-spec {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  color: var(--body);
  font-weight: 600;
}
.rsof-spec svg { flex-shrink: 0; color: var(--blue); }

/* Mini gallery strip */
.rsof-verk-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  border-top: 1px solid var(--silver);
  overflow: hidden;
}
.rsof-verk-gallery img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
  transition: transform .4s var(--ease);
}
.rsof-verk-gallery img:hover { transform: scale(1.06); }

/* Single-image gallery (Alu) */
.rsof-verk-gallery:has(img:only-child) {
  grid-template-columns: 1fr;
}
.rsof-verk-gallery img:only-child {
  aspect-ratio: 16/6;
}

/* ── 5. MATERIALIEN ── */
.rsof-materialien {
  background: var(--gray);
  padding: 96px 0;
}
.rsof-mat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.rsof-mat-list {
  list-style: none;
  margin: 20px 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rsof-mat-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .9rem;
  color: var(--black);
  font-weight: 600;
}
.rsof-mat-list li svg {
  flex-shrink: 0;
  color: var(--blue);
}
.rsof-mat-img-wrap {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,.12);
}
.rsof-mat-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .5s var(--ease);
}
.rsof-mat-img-wrap:hover img { transform: scale(1.02); }

/* ── 6. CTA ── */
.rsof-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsof-cta::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(3,105,181,.2) 0%, transparent 65%);
  top: -200px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}
.rsof-cta-content {
  position: relative;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.rsof-cta-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--white);
  margin: 0 0 20px;
}
.rsof-cta-h2 em { font-style: normal; color: rgba(255,255,255,.7); }
.rsof-cta-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.75);
  margin: 0 0 36px;
}
.rsof-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .rsof-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 80px; }
  .rsof-hero-text { max-width: 100%; }
  .rsof-hero-img img { max-width: 380px; }
  .rsof-usp-grid { grid-template-columns: repeat(2, 1fr); }
  .rsof-usp:nth-child(2) { border-right: none; }
  .rsof-usp:nth-child(3) { border-top: 1px solid var(--silver); }
  .rsof-usp:nth-child(4) { border-top: 1px solid var(--silver); border-right: none; }
  .rsof-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .rsof-verk-grid { grid-template-columns: 1fr 1fr; }
  .rsof-mat-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 640px) {
  .rsof-hero { min-height: 100svh; }
  .rsof-hero-inner { padding-top: 72px; padding-bottom: 56px; }
  .rsof-usp-grid { grid-template-columns: 1fr; }
  .rsof-usp { border-right: none; border-top: 1px solid var(--silver); }
  .rsof-usp:first-child { border-top: none; }
  .rsof-feature-grid { grid-template-columns: 1fr; }
  .rsof-verk-grid { grid-template-columns: 1fr; }
  .rsof-intro { padding: 64px 0; }
  .rsof-verkleidungen { padding: 64px 0; }
  .rsof-materialien { padding: 64px 0; }
  .rsof-cta { padding: 72px 0; }
}


/* === rollo-solar-presse-customizer.css === */
/* ════════════════════════════════════════════════════════
   ROLLO SOLAR — Presse  (page-id-1521)
   Prefix: rspr-  |  Scroll: rs10-reveal
   ════════════════════════════════════════════════════════ */

/* ── Design Tokens ───────────────────────────────────── */
.page-id-1521 {
  --navy:   #0b1524;
  --blue:   #1a4875;
  --dark:   #061020;
  --mid:    #162d4a;
  --light:  #e8f0f8;
  --white:  #ffffff;
  --accent: #3b82f6;
  --gold:   #f59e0b;
  --silver: #94a3b8;
  --bronze: #cd7c2f;
  --gold-glow:   rgba(245,158,11,.35);
  --silver-glow: rgba(148,163,184,.35);
  --bronze-glow: rgba(205,124,47,.35);
}

/* ── Full-Width Fix ──────────────────────────────────── */
.page-id-1521 .vc_row { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }
.page-id-1521 .wpb_wrapper { padding: 0 !important; }
.page-id-1521 .entry-content &gt; *:not(.rspr-hero):not(.rspr-ticker-wrap):not(.rspr-awards-section):not(.rspr-press-section):not(.rspr-cta) { display: none !important; }

/* ── Scroll Reveal ───────────────────────────────────── */
.page-id-1521 .rs10-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.page-id-1521 .rs10-reveal.visible { opacity: 1; transform: none; }
.page-id-1521 .rs10-reveal-d1 { transition-delay: .12s; }
.page-id-1521 .rs10-reveal-d2 { transition-delay: .24s; }
.page-id-1521 .rs10-reveal-d3 { transition-delay: .36s; }
.page-id-1521 .rs10-reveal-d4 { transition-delay: .48s; }

/* ── Shared Layout ───────────────────────────────────── */
.page-id-1521 .rspr-container { max-width: 1240px; margin: 0 auto; padding: 0 28px; }

.page-id-1521 .rspr-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px; }
.page-id-1521 .rspr-eyebrow--light { color: rgba(255,255,255,.7); }

.page-id-1521 .rspr-h2 { font-size: clamp(28px,4vw,46px); font-weight: 800; color: var(--navy); line-height: 1.15; margin: 0 0 16px; }
.page-id-1521 .rspr-h2 em { font-style: normal; background: linear-gradient(135deg,var(--accent),#60a5fa); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.page-id-1521 .rspr-section-head { text-align: center; margin-bottom: 60px; }
.page-id-1521 .rspr-section-sub { font-size: 16px; color: #64748b; max-width: 560px; margin: 0 auto; line-height: 1.6; }

.page-id-1521 .rspr-section-head .rspr-h2::after { content: ''; display: block; width: 0; height: 4px; background: linear-gradient(90deg,var(--accent),#60a5fa); border-radius: 2px; margin: 18px auto 0; transition: width .9s ease; }
.page-id-1521 .rspr-section-head.visible .rspr-h2::after { width: 80px; }

/* ── Buttons ─────────────────────────────────────────── */
.page-id-1521 .rspr-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border-radius: 50px; font-size: 14px; font-weight: 700; text-decoration: none; transition: all .25s ease; cursor: pointer; }
.page-id-1521 .rspr-btn--white { background: var(--white); color: var(--navy); }
.page-id-1521 .rspr-btn--white:hover { background: var(--light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.page-id-1521 .rspr-btn--ghost { background: transparent; color: var(--white); border: 2px solid rgba(255,255,255,.4); }
.page-id-1521 .rspr-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); transform: translateY(-2px); }

/* ════════════════════════════════════════════════════════
   ① HERO
   ════════════════════════════════════════════════════════ */
.page-id-1521 .rspr-hero { position: relative; height: 100vh; min-height: 640px; display: flex; align-items: center; overflow: hidden; }

.page-id-1521 .rspr-hero-bg {
  position: absolute; inset: -10% -5%; z-index: 0;
  background: url('https://www.rollo-solar.de/wp-content/uploads/2020/05/NIVEKO_Rollo_Solar_Melichar_-1-1024x683.jpg') center/cover no-repeat;
  transform: scale(1.1);
  animation: rsprKenBurns 22s ease-in-out alternate infinite;
}
@keyframes rsprKenBurns {
  0%   { transform: scale(1.1) translate(0,0); }
  100% { transform: scale(1.18) translate(-2%,1.5%); }
}

.page-id-1521 .rspr-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(150deg, rgba(6,16,32,.88) 0%, rgba(11,21,36,.72) 55%, rgba(26,72,117,.5) 100%); }
.page-id-1521 .rspr-hero::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 100%; height: 80px; background: var(--white); clip-path: ellipse(55% 100% at 50% 100%); z-index: 3; }

/* Particles */
.page-id-1521 .rspr-particle { position: absolute; z-index: 2; border-radius: 50%; pointer-events: none; }
.page-id-1521 .rspr-particle--1 { width: 320px; height: 320px; top: -80px; right: 5%; background: radial-gradient(circle,rgba(59,130,246,.22),transparent 70%); animation: rsprFloat1 9s ease-in-out infinite; }
.page-id-1521 .rspr-particle--2 { width: 200px; height: 200px; bottom: 15%; left: 3%; background: radial-gradient(circle,rgba(96,165,250,.18),transparent 70%); animation: rsprFloat2 12s ease-in-out infinite; }
.page-id-1521 .rspr-particle--3 { width: 150px; height: 150px; top: 30%; right: 18%; background: radial-gradient(circle,rgba(245,158,11,.15),transparent 70%); animation: rsprFloat1 15s ease-in-out infinite reverse; }
.page-id-1521 .rspr-particle--4 { width: 100px; height: 100px; top: 60%; left: 30%; background: radial-gradient(circle,rgba(148,163,184,.12),transparent 70%); animation: rsprFloat2 11s ease-in-out infinite; }
@keyframes rsprFloat1 { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-30px) scale(1.05); } }
@keyframes rsprFloat2 { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(8deg); } }

/* Floating badges */
.page-id-1521 .rspr-hero-badge {
  position: absolute; z-index: 4;
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12); backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50px; padding: 8px 16px;
  font-size: 12px; font-weight: 700; color: var(--white);
  animation: rsprBadgePulse 4s ease-in-out infinite;
}
.page-id-1521 .rspr-hero-badge svg { flex-shrink: 0; }
.page-id-1521 .rspr-hero-badge--a { top: 18%; right: 8%; color: var(--gold); border-color: rgba(245,158,11,.4); animation-delay: 0s; }
.page-id-1521 .rspr-hero-badge--b { top: 32%; right: 4%; animation-delay: 1.5s; }
.page-id-1521 .rspr-hero-badge--c { top: 46%; right: 10%; animation-delay: 3s; }
@keyframes rsprBadgePulse { 0%,100% { transform: translateY(0); box-shadow: 0 4px 20px rgba(0,0,0,.2); } 50% { transform: translateY(-6px); box-shadow: 0 12px 32px rgba(0,0,0,.3); } }

/* Hero inner */
.page-id-1521 .rspr-hero-inner { position: relative; z-index: 5; max-width: 700px; }

.page-id-1521 .rspr-h1 { font-size: clamp(36px,5.5vw,72px); font-weight: 900; color: var(--white); line-height: 1.1; margin: 0 0 20px; }
.page-id-1521 .rspr-h1 em { font-style: normal; background: linear-gradient(135deg,#60a5fa,var(--accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.page-id-1521 .rspr-h1.visible { animation: rsprClipIn .75s both; }
@keyframes rsprClipIn { from { clip-path: inset(0 0 100% 0); opacity: 0; } to { clip-path: inset(0 0 0% 0); opacity: 1; } }

.page-id-1521 .rspr-sub { font-size: clamp(15px,1.8vw,18px); line-height: 1.65; margin: 0 0 32px; }
.page-id-1521 .rspr-sub--light { color: rgba(255,255,255,.82); }

/* Stats */
.page-id-1521 .rspr-hero-stats { display: flex; align-items: center; gap: 0; background: rgba(255,255,255,.1); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.18); border-radius: 20px; padding: 20px 32px; margin-bottom: 32px; width: fit-content; }
.page-id-1521 .rspr-hstat { text-align: center; padding: 0 24px; }
.page-id-1521 .rspr-hstat-val { display: flex; align-items: baseline; justify-content: center; gap: 2px; }
.page-id-1521 .rspr-hstat-num { font-size: clamp(28px,3.5vw,42px); font-weight: 900; color: var(--white); font-variant-numeric: tabular-nums; }
.page-id-1521 .rspr-hstat-suf { font-size: 22px; font-weight: 900; color: var(--accent); }
.page-id-1521 .rspr-hstat small { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-top: 4px; }
.page-id-1521 .rspr-hstat-sep { width: 1px; height: 48px; background: rgba(255,255,255,.2); flex-shrink: 0; }

/* Hero actions */
.page-id-1521 .rspr-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Scroll arrow */
.page-id-1521 .rspr-scroll-arrow { position: absolute; bottom: 90px; left: 50%; transform: translateX(-50%); z-index: 5; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 2px solid rgba(255,255,255,.35); border-radius: 50%; color: var(--white); animation: rsprArrowBounce 2.2s ease-in-out infinite; }
@keyframes rsprArrowBounce { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(6px); } }


/* ════════════════════════════════════════════════════════
   ② TICKER
   ════════════════════════════════════════════════════════ */
.page-id-1521 .rspr-ticker-wrap { overflow: hidden; background: linear-gradient(90deg,var(--navy),var(--blue),var(--navy)); padding: 14px 0; }
.page-id-1521 .rspr-ticker-track { display: flex; width: max-content; animation: rsprTick 35s linear infinite; }
@keyframes rsprTick { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.page-id-1521 .rspr-ticker-inner { display: flex; align-items: center; gap: 28px; padding-right: 28px; white-space: nowrap; }
.page-id-1521 .rspr-ticker-inner span { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.page-id-1521 .rspr-tick-sep { color: var(--accent) !important; font-size: 8px !important; opacity: .7; }


/* ════════════════════════════════════════════════════════
   ③ AWARDS SECTION
   ════════════════════════════════════════════════════════ */
.page-id-1521 .rspr-awards-section { padding: 100px 0 80px; background: var(--white); }

/* Featured Awards */
.page-id-1521 .rspr-awards-featured { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-bottom: 56px; }

.page-id-1521 .rspr-award-card {
  position: relative; overflow: hidden;
  background: var(--white);
  border-radius: 24px;
  border: 1px solid #e2e8f0;
  padding: 0 0 28px;
  transition: transform .35s ease, box-shadow .35s ease;
  cursor: default;
}
.page-id-1521 .rspr-award-card:hover { transform: translateY(-6px); }

/* Gold */
.page-id-1521 .rspr-award-card--gold { box-shadow: 0 8px 40px rgba(245,158,11,.2), 0 2px 8px rgba(0,0,0,.06); border-color: rgba(245,158,11,.35); }
.page-id-1521 .rspr-award-card--gold:hover { box-shadow: 0 20px 60px rgba(245,158,11,.35), 0 4px 16px rgba(0,0,0,.1); }
/* Silver */
.page-id-1521 .rspr-award-card--silver { box-shadow: 0 8px 40px rgba(148,163,184,.25), 0 2px 8px rgba(0,0,0,.06); border-color: rgba(148,163,184,.4); }
.page-id-1521 .rspr-award-card--silver:hover { box-shadow: 0 20px 60px rgba(148,163,184,.4), 0 4px 16px rgba(0,0,0,.1); }
/* Bronze */
.page-id-1521 .rspr-award-card--bronze { box-shadow: 0 8px 40px rgba(205,124,47,.2), 0 2px 8px rgba(0,0,0,.06); border-color: rgba(205,124,47,.35); }
.page-id-1521 .rspr-award-card--bronze:hover { box-shadow: 0 20px 60px rgba(205,124,47,.35), 0 4px 16px rgba(0,0,0,.1); }

/* Animated gradient border top strip */
.page-id-1521 .rspr-award-card--gold::before   { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,#f59e0b,#fcd34d,#f59e0b); background-size: 200%; animation: rsprBorderSlide 3s linear infinite; }
.page-id-1521 .rspr-award-card--silver::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,#94a3b8,#e2e8f0,#94a3b8); background-size: 200%; animation: rsprBorderSlide 3s linear infinite; }
.page-id-1521 .rspr-award-card--bronze::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg,#cd7c2f,#f0a666,#cd7c2f); background-size: 200%; animation: rsprBorderSlide 3s linear infinite; }
@keyframes rsprBorderSlide { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }

/* Ribbon */
.page-id-1521 .rspr-award-ribbon { position: absolute; top: 20px; right: -28px; background: var(--gold); color: var(--dark); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 5px 40px; transform: rotate(35deg); z-index: 2; }
.page-id-1521 .rspr-award-ribbon--silver { background: var(--silver); color: var(--dark); }
.page-id-1521 .rspr-award-ribbon--bronze { background: var(--bronze); color: var(--white); }

/* Year badge */
.page-id-1521 .rspr-award-year-badge { position: absolute; top: 16px; left: 18px; background: rgba(11,21,36,.85); backdrop-filter: blur(8px); color: var(--white); font-size: 11px; font-weight: 800; letter-spacing: .06em; padding: 4px 10px; border-radius: 20px; z-index: 2; }

/* Shine sweep */
.page-id-1521 .rspr-award-shine { position: absolute; inset: 0; z-index: 1; background: linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%); background-size: 300%; background-position: -100% 0; pointer-events: none; }
.page-id-1521 .rspr-award-card:hover .rspr-award-shine { animation: rsprShine .75s ease forwards; }
@keyframes rsprShine { to { background-position: 200% 0; } }

.page-id-1521 .rspr-award-img-wrap { width: 100%; height: 220px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg,#f8fafc,#f1f5f9); padding: 24px; box-sizing: border-box; }
.page-id-1521 .rspr-award-img { max-width: 100%; max-height: 160px; object-fit: contain; transition: transform .4s ease; }
.page-id-1521 .rspr-award-card:hover .rspr-award-img { transform: scale(1.06); }

.page-id-1521 .rspr-award-body { padding: 20px 24px 0; }
.page-id-1521 .rspr-award-org { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.page-id-1521 .rspr-award-title { font-size: 20px; font-weight: 800; color: var(--navy); line-height: 1.25; margin: 0 0 12px; }
.page-id-1521 .rspr-award-desc { font-size: 13.5px; color: #64748b; line-height: 1.6; margin: 0 0 20px; }
.page-id-1521 .rspr-award-btn { display: inline-flex; align-items: center; gap: 7px; padding: 10px 20px; border-radius: 50px; font-size: 13px; font-weight: 700; text-decoration: none; transition: all .22s ease; }
.page-id-1521 .rspr-award-btn--gold   { background: linear-gradient(135deg,#f59e0b,#fcd34d); color: var(--dark); }
.page-id-1521 .rspr-award-btn--silver { background: linear-gradient(135deg,#94a3b8,#cbd5e1); color: var(--dark); }
.page-id-1521 .rspr-award-btn--bronze { background: linear-gradient(135deg,#cd7c2f,#f0a666); color: var(--white); }
.page-id-1521 .rspr-award-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.2); }

/* Secondary Awards */
.page-id-1521 .rspr-awards-secondary { display: grid; grid-template-columns: repeat(5,1fr); gap: 20px; }
.page-id-1521 .rspr-saward { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 18px; overflow: hidden; transition: all .28s ease; }
.page-id-1521 .rspr-saward:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(11,21,36,.12); border-color: var(--accent); }
.page-id-1521 .rspr-saward-img-wrap { height: 140px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--white); padding: 16px; }
.page-id-1521 .rspr-saward-img-wrap img { max-width: 100%; max-height: 110px; object-fit: contain; transition: transform .3s ease; }
.page-id-1521 .rspr-saward:hover .rspr-saward-img-wrap img { transform: scale(1.08); }
.page-id-1521 .rspr-saward-body { padding: 14px 16px 18px; }
.page-id-1521 .rspr-saward-org { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.page-id-1521 .rspr-saward-title { font-size: 13px; font-weight: 700; color: var(--navy); margin: 6px 0 10px; line-height: 1.35; }
.page-id-1521 .rspr-saward-link { font-size: 12px; font-weight: 600; color: var(--accent); text-decoration: none; transition: color .2s; }
.page-id-1521 .rspr-saward-link:hover { color: var(--blue); }


/* ════════════════════════════════════════════════════════
   ④ PRESS SECTION
   ════════════════════════════════════════════════════════ */
.page-id-1521 .rspr-press-section { padding: 100px 0 120px; background: linear-gradient(180deg,#f8fafc 0%,var(--white) 100%); }

/* Press Grid */
.page-id-1521 .rspr-press-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }

/* Flip Card */
.page-id-1521 .rspr-press-card { height: 320px; perspective: 900px; cursor: pointer; }
.page-id-1521 .rspr-flip-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .6s cubic-bezier(.4,0,.2,1); }
.page-id-1521 .rspr-press-card.rspr-flipped .rspr-flip-inner { transform: rotateY(180deg); }
.page-id-1521 .rspr-flip-front,
.page-id-1521 .rspr-flip-back { position: absolute; inset: 0; border-radius: 18px; backface-visibility: hidden; overflow: hidden; }

/* Front */
.page-id-1521 .rspr-flip-front { background: var(--white); border: 1px solid #e2e8f0; box-shadow: 0 4px 20px rgba(0,0,0,.07); }
.page-id-1521 .rspr-press-img { width: 100%; height: 220px; object-fit: cover; transition: transform .5s ease; display: block; }
.page-id-1521 .rspr-press-card:hover .rspr-press-img { transform: scale(1.05); }
.page-id-1521 .rspr-press-source-bar { position: absolute; bottom: 44px; left: 0; right: 0; padding: 10px 16px; background: linear-gradient(0deg,rgba(11,21,36,.95),rgba(11,21,36,.7)); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--white); }
.page-id-1521 .rspr-press-hint { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px 16px; background: var(--accent); font-size: 11px; font-weight: 600; color: var(--white); display: flex; align-items: center; gap: 6px; justify-content: center; }

/* Back */
.page-id-1521 .rspr-flip-back { background: linear-gradient(145deg,var(--navy),var(--blue)); transform: rotateY(180deg); display: flex; flex-direction: column; justify-content: space-between; padding: 24px; box-shadow: 0 8px 32px rgba(11,21,36,.3); }
.page-id-1521 .rspr-flip-org { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.page-id-1521 .rspr-flip-quote { font-size: 13px; color: rgba(255,255,255,.9); line-height: 1.65; margin: 0; font-style: italic; flex: 1; }
.page-id-1521 .rspr-flip-quote::before { content: '\201E'; font-size: 36px; color: var(--accent); line-height: 0; vertical-align: -14px; margin-right: 4px; }
.page-id-1521 .rspr-flip-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; padding: 8px 18px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 50px; font-size: 12px; font-weight: 700; color: var(--white); text-decoration: none; transition: all .22s; }
.page-id-1521 .rspr-flip-link:hover { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.5); transform: translateX(3px); }

/* Stagger press grid cards */
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(1)  { transition-delay: .05s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(2)  { transition-delay: .10s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(3)  { transition-delay: .15s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(4)  { transition-delay: .20s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(5)  { transition-delay: .25s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(6)  { transition-delay: .30s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(7)  { transition-delay: .35s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(8)  { transition-delay: .40s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(9)  { transition-delay: .45s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(10) { transition-delay: .50s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(11) { transition-delay: .55s; }
.page-id-1521 .rspr-press-grid .rspr-press-card:nth-child(12) { transition-delay: .60s; }


/* ════════════════════════════════════════════════════════
   ⑤ CTA
   ════════════════════════════════════════════════════════ */
.page-id-1521 .rspr-cta { position: relative; padding: 120px 0; overflow: hidden; }
.page-id-1521 .rspr-cta-bg { position: absolute; inset: 0; background: linear-gradient(135deg,var(--dark) 0%,var(--navy) 40%,var(--blue) 100%); }
.page-id-1521 .rspr-cta-deco { position: absolute; border-radius: 50%; pointer-events: none; }
.page-id-1521 .rspr-cta-deco--1 { width: 500px; height: 500px; top: -200px; right: -100px; background: radial-gradient(circle,rgba(59,130,246,.2),transparent 70%); animation: rsprFloat1 10s ease-in-out infinite; }
.page-id-1521 .rspr-cta-deco--2 { width: 300px; height: 300px; bottom: -120px; left: 5%; background: radial-gradient(circle,rgba(245,158,11,.12),transparent 70%); animation: rsprFloat2 14s ease-in-out infinite; }

.page-id-1521 .rspr-cta-inner { position: relative; z-index: 2; text-align: center; }
.page-id-1521 .rspr-cta-h2 { font-size: clamp(28px,4vw,50px); font-weight: 900; color: var(--white); line-height: 1.15; margin: 0 0 20px; }
.page-id-1521 .rspr-cta-h2 em { font-style: normal; background: linear-gradient(135deg,var(--gold),#fcd34d); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.page-id-1521 .rspr-cta-sub { font-size: 17px; color: rgba(255,255,255,.75); max-width: 520px; margin: 0 auto 40px; line-height: 1.65; }
.page-id-1521 .rspr-cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }


/* ════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .page-id-1521 .rspr-awards-featured { grid-template-columns: repeat(2,1fr); }
  .page-id-1521 .rspr-award-card:last-child { grid-column: 1 / -1; max-width: 420px; margin: 0 auto; }
  .page-id-1521 .rspr-awards-secondary { grid-template-columns: repeat(3,1fr); }
  .page-id-1521 .rspr-press-grid { grid-template-columns: repeat(3,1fr); }
  .page-id-1521 .rspr-hero-badge--c { display: none; }
}

@media (max-width: 768px) {
  .page-id-1521 .rspr-awards-featured { grid-template-columns: 1fr; }
  .page-id-1521 .rspr-award-card:last-child { max-width: none; }
  .page-id-1521 .rspr-awards-secondary { grid-template-columns: repeat(2,1fr); }
  .page-id-1521 .rspr-press-grid { grid-template-columns: repeat(2,1fr); }
  .page-id-1521 .rspr-hero-badge--a, .page-id-1521 .rspr-hero-badge--b, .page-id-1521 .rspr-hero-badge--c { display: none; }
  .page-id-1521 .rspr-hero-stats { flex-direction: column; gap: 16px; width: 100%; }
  .page-id-1521 .rspr-hstat-sep { width: 60px; height: 1px; }
  .page-id-1521 .rspr-awards-section, .page-id-1521 .rspr-press-section { padding: 60px 0; }
}

@media (max-width: 540px) {
  .page-id-1521 .rspr-awards-secondary { grid-template-columns: 1fr 1fr; }
  .page-id-1521 .rspr-press-grid { grid-template-columns: 1fr; }
  .page-id-1521 .rspr-press-card { height: 300px; }
}


/* === rollo-solar-profile-wp-customizer.css === */
/* ═══════════════════════════════════════════════════════════════════
   ROLLO SOLAR — Profile Page CSS
   Scoped to .page-id-156 — safe to inject into WP Customizer
   Does NOT override global body/*, safe for all other pages
   ═══════════════════════════════════════════════════════════════════ */

/* ── Google Fonts: Rubik ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&amp;display=swap');

/* ── CSS Tokens — scoped to our sections only ────────────────────── */
.page-id-156 .rsp-hero,
.page-id-156 .rsp-products,
.page-id-156 .rsp-konfig,
.page-id-156 .rsp-facts,
.page-id-156 .rsp-compare {
  --navy:        #014380;
  --blue:        #0369b5;
  --dark:        #06111e;
  --black:       #111111;
  --body:        #555555;
  --gray:        #f4f6f8;
  --silver:      #e8edf2;
  --white:       #ffffff;
  --dur:         .24s;
  --ease:        cubic-bezier(.4, 0, .2, 1);
  --pc-accent:   #014380;
  --pvc-accent:  #0369b5;
  --mini-accent: #2e7d32;
  font-family: Rubik, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ── Box-sizing reset (scoped) ───────────────────────────────────── */
.page-id-156 .rsp-hero *,
.page-id-156 .rsp-products *,
.page-id-156 .rsp-konfig *,
.page-id-156 .rsp-facts *,
.page-id-156 .rsp-compare * {
  box-sizing: border-box;
}

/* ── Scroll Reveal ─────────────────────────────────────────────────  */
.page-id-156 .rs-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .6s cubic-bezier(.4,0,.2,1), transform .6s cubic-bezier(.4,0,.2,1);
}
.page-id-156 .rs-reveal.visible {
  opacity: 1;
  transform: none;
}
.page-id-156 .rs-reveal-d1 { transition-delay: .1s; }
.page-id-156 .rs-reveal-d2 { transition-delay: .2s; }
.page-id-156 .rs-reveal-d3 { transition-delay: .3s; }
.page-id-156 .rs-reveal-d4 { transition-delay: .4s; }

/* ═══════════════════════════════════════════════════════════════════
   1. HERO
   ═══════════════════════════════════════════════════════════════════ */

.page-id-156 .rsp-hero {
  background: var(--white);
  padding: 96px 0 72px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.page-id-156 .rsp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 800px 400px at 50% 100%, rgba(1,67,128,.06) 0%, transparent 70%);
  pointer-events: none;
}

.page-id-156 .rsp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.page-id-156 .rsp-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 20px;
  position: relative;
}

.page-id-156 .rsp-eyebrow::before,
.page-id-156 .rsp-eyebrow::after {
  content: '—';
  opacity: .45;
  margin: 0 10px;
}

.page-id-156 .rsp-hero-h1 {
  font-size: clamp(42px, 6.5vw, 88px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.045em;
  line-height: 1;
  margin-bottom: 24px;
}

.page-id-156 .rsp-hero-h1 em {
  font-style: normal;
  color: var(--navy);
}

.page-id-156 .rsp-hero-sub {
  font-size: clamp(16px, 2vw, 19px);
  color: var(--body);
  max-width: 620px;
  margin: 0 auto 44px;
  line-height: 1.7;
  font-weight: 400;
}

.page-id-156 .rsp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-bottom: 56px;
}

.page-id-156 .rsp-product-nav {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.page-id-156 .rsp-product-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1.5px solid var(--silver);
  color: var(--body);
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  transition: border-color .24s cubic-bezier(.4,0,.2,1), color .24s cubic-bezier(.4,0,.2,1), background .24s cubic-bezier(.4,0,.2,1);
}

.page-id-156 .rsp-product-nav a:hover {
  border-color: var(--navy);
  color: var(--navy);
  background: rgba(1,67,128,.04);
}

/* ═══════════════════════════════════════════════════════════════════
   2. PRODUCTS GRID
   ═══════════════════════════════════════════════════════════════════ */

.page-id-156 .rsp-products {
  background: var(--gray);
  padding: 96px 0;
}

.page-id-156 .rsp-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 12px;
  display: block;
}

.page-id-156 .rsp-section-h2 {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.035em;
  line-height: 1.05;
  margin-bottom: 16px;
}

.page-id-156 .rsp-section-h2 em {
  font-style: normal;
  color: var(--navy);
}

.page-id-156 .rsp-section-intro {
  font-size: 17px;
  color: var(--body);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: 56px;
}

.page-id-156 .rsp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* ── Product Card ── */
.page-id-156 .rsp-card {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .24s cubic-bezier(.4,0,.2,1), transform .24s cubic-bezier(.4,0,.2,1);
  position: relative;
}

.page-id-156 .rsp-card:hover {
  box-shadow: 0 24px 64px rgba(1,67,128,.14);
  transform: translateY(-6px);
}

.page-id-156 .rsp-card--featured {
  box-shadow: 0 8px 40px rgba(1,67,128,.12);
}

.page-id-156 .rsp-card--featured::before {
  content: 'BELIEBTESTES MODELL';
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--navy);
  color: var(--white);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 2px;
  padding: 5px 14px;
  border-radius: 999px;
  white-space: nowrap;
  z-index: 2;
}

.page-id-156 .rsp-card__img-wrap {
  background: #f8fafc;
  padding: 40px 32px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  position: relative;
  overflow: hidden;
}

.page-id-156 .rsp-card__img-wrap::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: linear-gradient(to bottom, transparent, #f8fafc);
}

.page-id-156 .rsp-card__img {
  width: 100%;
  max-width: 280px;
  height: 200px;
  object-fit: contain;
  object-position: center;
  display: block;
  filter: drop-shadow(0 16px 32px rgba(0,0,0,.12));
  transition: transform .4s cubic-bezier(.4,0,.2,1);
}

.page-id-156 .rsp-card:hover .rsp-card__img {
  transform: scale(1.05) translateY(-4px);
}

.page-id-156 .rsp-card__body {
  padding: 28px 28px 32px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.page-id-156 .rsp-card__material {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--body);
  margin-bottom: 8px;
}

.page-id-156 .rsp-card__name {
  font-size: 22px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.02em;
  line-height: 1.1;
  margin-bottom: 14px;
}

.page-id-156 .rsp-card__desc {
  font-size: 14.5px;
  color: var(--body);
  line-height: 1.65;
  margin-bottom: 20px;
  flex: 1;
}

.page-id-156 .rsp-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px;
}

.page-id-156 .rsp-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .5px;
  background: var(--gray);
  color: var(--body);
  border: 1px solid rgba(1,67,128,.08);
  white-space: nowrap;
}

.page-id-156 .rsp-badge--navy {
  background: rgba(1,67,128,.08);
  color: var(--navy);
  border-color: rgba(1,67,128,.15);
}

.page-id-156 .rsp-badge--blue {
  background: rgba(3,105,181,.08);
  color: var(--blue);
  border-color: rgba(3,105,181,.15);
}

.page-id-156 .rsp-badge--green {
  background: rgba(46,125,50,.08);
  color: #2e7d32;
  border-color: rgba(46,125,50,.15);
}

.page-id-156 .rsp-badge--solar {
  background: linear-gradient(135deg, #f59e0b22, #fbbf2422);
  color: #b45309;
  border-color: #f59e0b44;
}

.page-id-156 .rsp-card__features {
  list-style: none;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 0;
}

.page-id-156 .rsp-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13.5px;
  color: var(--body);
  line-height: 1.4;
}

.page-id-156 .rsp-card__features li::before {
  content: '';
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 1px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23014380'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-size: contain;
  flex-shrink: 0;
}

.page-id-156 .rsp-card__cta {
  display: block;
  text-align: center;
  padding: 13px 24px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: .3px;
  text-decoration: none;
  transition: background .24s cubic-bezier(.4,0,.2,1), color .24s cubic-bezier(.4,0,.2,1), transform .24s cubic-bezier(.4,0,.2,1), box-shadow .24s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
  font-family: Rubik, sans-serif;
}

.page-id-156 .rsp-card__cta--primary {
  background: var(--navy);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(1,67,128,.22);
}

.page-id-156 .rsp-card__cta--primary:hover {
  background: #012e5a;
  box-shadow: 0 8px 28px rgba(1,67,128,.36);
  transform: translateY(-1px);
  color: var(--white);
}

.page-id-156 .rsp-card__cta--outline {
  background: transparent;
  color: var(--navy);
  box-shadow: inset 0 0 0 1.5px var(--navy);
}

.page-id-156 .rsp-card__cta--outline:hover {
  background: rgba(1,67,128,.05);
  transform: translateY(-1px);
  color: var(--navy);
}

/* ═══════════════════════════════════════════════════════════════════
   3. KONFIGURATOR CTA
   ═══════════════════════════════════════════════════════════════════ */

.page-id-156 .rsp-konfig {
  background: var(--dark);
  padding: 0;
  overflow: hidden;
  position: relative;
}

.page-id-156 .rsp-konfig::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 900px 500px at 30% 50%, rgba(3,105,181,.18) 0%, transparent 65%),
    radial-gradient(ellipse 600px 400px at 80% 50%, rgba(1,67,128,.12) 0%, transparent 60%);
  pointer-events: none;
}

.page-id-156 .rsp-konfig__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 460px;
  position: relative;
  z-index: 1;
}

.page-id-156 .rsp-konfig__content {
  padding: 80px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-id-156 .rsp-konfig__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-bottom: 16px;
}

.page-id-156 .rsp-konfig__h2 {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.04em;
  line-height: 1.05;
  margin-bottom: 20px;
}

.page-id-156 .rsp-konfig__h2 em {
  font-style: normal;
  color: rgba(255,255,255,.55);
}

.page-id-156 .rsp-konfig__sub {
  font-size: 16px;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
  margin-bottom: 36px;
  max-width: 440px;
}

.page-id-156 .rsp-konfig__steps {
  display: flex;
  gap: 6px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}

.page-id-156 .rsp-konfig__step {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.6);
}

.page-id-156 .rsp-konfig__step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--white);
  flex-shrink: 0;
}

.page-id-156 .rsp-konfig__step-num--active {
  background: var(--blue);
}

.page-id-156 .rsp-konfig__step-arrow {
  color: rgba(255,255,255,.2);
  font-size: 11px;
}

.page-id-156 .rsp-konfig__cta-wrap {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.page-id-156 .rsp-konfig__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 32px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .2px;
  text-decoration: none;
  transition: all .24s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
  font-family: Rubik, sans-serif;
}

.page-id-156 .rsp-konfig__btn--primary {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
}

.page-id-156 .rsp-konfig__btn--primary:hover {
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 32px rgba(0,0,0,.35);
  transform: translateY(-2px);
  color: var(--navy);
}

.page-id-156 .rsp-konfig__btn--secondary {
  color: rgba(255,255,255,.7);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.3);
  text-underline-offset: 3px;
  transition: color .24s cubic-bezier(.4,0,.2,1);
  padding: 0;
}

.page-id-156 .rsp-konfig__btn--secondary:hover {
  color: #ffffff;
}

.page-id-156 .rsp-konfig__visual {
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,.03);
  border-left: 1px solid rgba(255,255,255,.06);
}

.page-id-156 .rsp-konfig__steps-visual {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 56px;
  gap: 0;
}

.page-id-156 .rsp-vstep {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  opacity: .5;
  transition: opacity .3s cubic-bezier(.4,0,.2,1);
}

.page-id-156 .rsp-vstep:last-child { border-bottom: none; }

.page-id-156 .rsp-vstep--active { opacity: 1; }

.page-id-156 .rsp-vstep__num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  color: rgba(255,255,255,.4);
  flex-shrink: 0;
  border: 1.5px solid rgba(255,255,255,.08);
}

.page-id-156 .rsp-vstep--active .rsp-vstep__num {
  background: var(--blue);
  color: var(--white);
  border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(3,105,181,.25);
}

.page-id-156 .rsp-vstep__text { padding-top: 6px; }

.page-id-156 .rsp-vstep__label {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  margin-bottom: 2px;
}

.page-id-156 .rsp-vstep__desc {
  font-size: 12px;
  color: rgba(255,255,255,.4);
  line-height: 1.4;
}

/* ═══════════════════════════════════════════════════════════════════
   4. FACTS GRID
   ═══════════════════════════════════════════════════════════════════ */

.page-id-156 .rsp-facts {
  background: var(--white);
  padding: 96px 0;
}

.page-id-156 .rsp-facts-header {
  text-align: center;
  margin-bottom: 64px;
}

.page-id-156 .rsp-facts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--silver);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 24px rgba(1,67,128,.06);
}

.page-id-156 .rsp-fact {
  background: var(--white);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: background .24s cubic-bezier(.4,0,.2,1);
}

.page-id-156 .rsp-fact:hover { background: rgba(1,67,128,.02); }

.page-id-156 .rsp-fact__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(1,67,128,.07);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.page-id-156 .rsp-fact__icon svg {
  width: 22px;
  height: 22px;
  color: var(--navy);
}

.page-id-156 .rsp-fact__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}

.page-id-156 .rsp-fact__text {
  font-size: 13.5px;
  color: var(--body);
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════════
   5. COMPARISON STRIP
   ═══════════════════════════════════════════════════════════════════ */

.page-id-156 .rsp-compare {
  background: var(--gray);
  padding: 64px 0;
}

.page-id-156 .rsp-compare__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}

.page-id-156 .rsp-compare__text h3 {
  font-size: 22px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.02em;
  margin-bottom: 6px;
}

.page-id-156 .rsp-compare__text p {
  font-size: 15px;
  color: var(--body);
  line-height: 1.5;
}

.page-id-156 .rsp-compare__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════════
   BUTTONS — Shared
   ═══════════════════════════════════════════════════════════════════ */

.page-id-156 .rsp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 999px;
  font-family: Rubik, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .1px;
  text-decoration: none;
  transition: all .24s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
  border: none;
  white-space: nowrap;
}

.page-id-156 .rsp-btn--primary {
  background: var(--navy);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(1,67,128,.22);
}

.page-id-156 .rsp-btn--primary:hover {
  background: #012e5a;
  box-shadow: 0 8px 28px rgba(1,67,128,.36);
  transform: translateY(-2px);
  color: var(--white);
}

.page-id-156 .rsp-btn--secondary {
  background: transparent;
  color: var(--navy);
  box-shadow: inset 0 0 0 1.5px var(--navy);
}

.page-id-156 .rsp-btn--secondary:hover {
  background: rgba(1,67,128,.05);
  transform: translateY(-1px);
  color: var(--navy);
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .page-id-156 .rsp-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-id-156 .rsp-konfig__inner {
    grid-template-columns: 1fr;
  }
  .page-id-156 .rsp-konfig__visual {
    display: none;
  }
  .page-id-156 .rsp-konfig__content {
    padding: 64px 40px;
  }
  .page-id-156 .rsp-facts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .page-id-156 .rsp-hero { padding: 64px 0 48px; }
  .page-id-156 .rsp-products,
  .page-id-156 .rsp-facts { padding: 64px 0; }
  .page-id-156 .rsp-container { padding: 0 20px; }

  .page-id-156 .rsp-grid {
    grid-template-columns: 1fr;
  }

  .page-id-156 .rsp-card--featured::before {
    font-size: 8px;
    padding: 4px 12px;
  }

  .page-id-156 .rsp-konfig__content {
    padding: 56px 24px;
  }

  .page-id-156 .rsp-facts-grid {
    grid-template-columns: 1fr;
  }

  .page-id-156 .rsp-compare__inner {
    flex-direction: column;
    text-align: center;
    gap: 24px;
  }

  .page-id-156 .rsp-compare__actions {
    justify-content: center;
  }

  .page-id-156 .rsp-konfig__steps {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-id-156 .rs-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* === rollo-solar-profilvergleich-customizer.css === */
/* === PROFILVERGLEICH CSS (page-id-1317) 2026-03 === */

.page-id-1317 *, .page-id-1317 *::before, .page-id-1317 *::after { box-sizing: border-box; }

/* ═══════════════════════════════════════════════════════════════════
   ROLLO SOLAR — Profilvergleich Page
   Premium Pool Cover Comparison · WP Insert
   Version: 1.0 — 2026-03
   ═══════════════════════════════════════════════════════════════════ */

/* ── Reset &amp; Tokens ─────────────────────────────────────────────── */

.page-id-1317 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --dur:    .22s;
  --ease:   cubic-bezier(.4, 0, .2, 1);
  --radius: 20px;
}


/* ── Scroll Reveal ─────────────────────────────────────────────── */
.rs-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs-reveal.visible { opacity: 1; transform: none; }
.rs-reveal-d1 { transition-delay: .08s; }
.rs-reveal-d2 { transition-delay: .16s; }
.rs-reveal-d3 { transition-delay: .24s; }

/* ═══════════════════════════════════════════════════════════════════
   SHARED LAYOUT
   ═══════════════════════════════════════════════════════════════════ */

.rscmp-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}

.rscmp-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 18px;
}
.rscmp-eyebrow::before, .rscmp-eyebrow::after { content: '—'; opacity: .4; margin: 0 9px; }

.rscmp-h1 {
  font-size: clamp(38px, 5.5vw, 72px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin-bottom: 20px;
}
.rscmp-h1 em { font-style: normal; color: var(--navy); }

.rscmp-h2 {
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.03em;
  line-height: 1.08;
  margin-bottom: 14px;
}
.rscmp-h2 em { font-style: normal; color: var(--navy); }

.rscmp-sub {
  font-size: clamp(15px, 1.8vw, 17px);
  color: var(--body);
  line-height: 1.7;
  max-width: 580px;
}

/* Buttons */
.rscmp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  font-family: Rubik, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--dur) var(--ease);
  cursor: pointer;
  border: none;
  white-space: nowrap;
}
.rscmp-btn--primary { background: var(--navy); color: var(--white); box-shadow: 0 4px 16px rgba(1,67,128,.22); }
.rscmp-btn--primary:hover { background: #012e5a; box-shadow: 0 8px 28px rgba(1,67,128,.36); transform: translateY(-2px); color: var(--white); }
.rscmp-btn--outline { background: transparent; color: var(--navy); box-shadow: inset 0 0 0 1.5px var(--navy); }
.rscmp-btn--outline:hover { background: rgba(1,67,128,.05); transform: translateY(-1px); color: var(--navy); }

/* ═══════════════════════════════════════════════════════════════════
   1. HERO
   ═══════════════════════════════════════════════════════════════════ */

.rscmp-hero {
  background: var(--white);
  padding: 88px 0 64px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rscmp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 900px 350px at 50% 110%, rgba(1,67,128,.055) 0%, transparent 70%);
  pointer-events: none;
}

.rscmp-hero-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 36px;
}

/* Breadcrumb nav */
.rscmp-breadcrumb {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}
.rscmp-breadcrumb a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 16px;
  border-radius: 999px;
  border: 1.5px solid var(--silver);
  color: var(--body);
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.rscmp-breadcrumb a:hover { border-color: var(--navy); color: var(--navy); background: rgba(1,67,128,.04); }

/* ═══════════════════════════════════════════════════════════════════
   2. COMPARISON TABLE SECTION
   ═══════════════════════════════════════════════════════════════════ */

.rscmp-table-section {
  background: var(--gray);
  padding: 72px 0 88px;
}

/* Table wrapper for mobile horizontal scroll */
.rscmp-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 20px;
  box-shadow: 0 4px 40px rgba(1,67,128,.1);
}

/* ── THE TABLE ── */
.rscmp-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  table-layout: fixed;
}

/* Column widths */
.rscmp-table colgroup col:nth-child(1) { width: 32%; }
.rscmp-table colgroup col:nth-child(2) { width: 23%; }
.rscmp-table colgroup col:nth-child(3) { width: 23%; }
.rscmp-table colgroup col:nth-child(4) { width: 22%; }

/* ── HEADER ── */
.rscmp-table thead th {
  padding: 28px 20px 24px;
  text-align: center;
  vertical-align: bottom;
  border-bottom: 2px solid var(--silver);
  position: relative;
}

/* Empty top-left cell */
.rscmp-table thead th:first-child {
  text-align: left;
  padding-left: 28px;
}

/* PC column highlight */
.rscmp-table thead th.col-featured {
  background: linear-gradient(180deg, rgba(1,67,128,.06) 0%, rgba(1,67,128,.03) 100%);
  border-top: 3px solid var(--navy);
}
.rscmp-table tbody td.col-featured {
  background: rgba(1,67,128,.025);
}
.rscmp-table tbody tr:hover td.col-featured {
  background: rgba(1,67,128,.05);
}

.rscmp-th-badge {
  display: inline-block;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  background: var(--navy);
  color: var(--white);
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}

.rscmp-th-product {
  font-size: 16px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.02em;
  line-height: 1.15;
  display: block;
  margin-bottom: 4px;
}

.rscmp-th-material {
  font-size: 11px;
  font-weight: 500;
  color: var(--body);
  letter-spacing: .3px;
  display: block;
  margin-bottom: 12px;
}

.rscmp-th-price {
  display: flex;
  gap: 3px;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}
.rscmp-th-price span {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--silver);
  font-size: 11px;
  font-weight: 700;
  color: var(--body);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rscmp-th-price span.filled {
  background: var(--navy);
  color: var(--white);
}

.rscmp-th-cta {
  display: block;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  transition: all var(--dur) var(--ease);
  white-space: nowrap;
}
.rscmp-th-cta--primary { background: var(--navy); color: var(--white); box-shadow: 0 2px 10px rgba(1,67,128,.25); }
.rscmp-th-cta--primary:hover { background: #012e5a; color: var(--white); transform: translateY(-1px); }
.rscmp-th-cta--outline { color: var(--navy); box-shadow: inset 0 0 0 1.5px rgba(1,67,128,.4); }
.rscmp-th-cta--outline:hover { background: rgba(1,67,128,.06); color: var(--navy); transform: translateY(-1px); }

/* ── CATEGORY SEPARATOR ROWS ── */
.rscmp-table tr.row-category td {
  background: var(--gray);
  padding: 10px 20px 10px 28px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--blue);
  border-top: 1px solid var(--silver);
  border-bottom: none;
}
.rscmp-table tr.row-category td.col-featured { background: rgba(1,67,128,.06); }

/* ── DATA ROWS ── */
.rscmp-table tbody tr:not(.row-category) {
  transition: background var(--dur) var(--ease);
  border-bottom: 1px solid rgba(226,232,240,.7);
}
.rscmp-table tbody tr:not(.row-category):last-child { border-bottom: none; }
.rscmp-table tbody tr:not(.row-category):hover td:not(.col-featured) { background: rgba(1,67,128,.015); }
.rscmp-table tbody tr:not(.row-category):hover td.col-featured { background: rgba(1,67,128,.05); }

/* Row label */
.rscmp-table tbody td.row-label {
  padding: 18px 20px 18px 28px;
  vertical-align: middle;
}

.rscmp-row-label-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.rscmp-row-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(1,67,128,.07);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rscmp-row-icon svg { width: 16px; height: 16px; color: var(--navy); }
.rscmp-row-name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--black);
  line-height: 1.25;
}
.rscmp-row-hint {
  font-size: 11px;
  color: var(--body);
  font-weight: 400;
  margin-top: 1px;
}

/* Data cells */
.rscmp-table tbody td.row-data {
  padding: 18px 20px;
  text-align: center;
  vertical-align: middle;
  font-size: 13.5px;
  color: var(--black);
  font-weight: 500;
}

/* ── CELL VALUE TYPES ── */

/* Check / X */
.rscmp-check, .rscmp-cross, .rscmp-neutral {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
}
.rscmp-check { background: rgba(5,150,105,.12); }
.rscmp-check svg { width: 16px; height: 16px; color: #059669; }
.rscmp-cross { background: rgba(220,38,38,.08); }
.rscmp-cross svg { width: 14px; height: 14px; color: #dc2626; }
.rscmp-neutral { background: rgba(107,114,128,.1); }
.rscmp-neutral svg { width: 14px; height: 14px; color: #9ca3af; }

/* Rating dots */
.rscmp-rating {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.rscmp-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--silver);
  transition: background var(--dur) var(--ease);
}
.rscmp-dot.filled { background: var(--navy); }
.col-featured .rscmp-dot.filled { background: var(--navy); }

/* Text value */
.rscmp-val {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--black);
}
.rscmp-val-sub {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--body);
  margin-top: 2px;
}

/* Badge value */
.rscmp-val-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
}
.rscmp-val-badge--green { background: rgba(5,150,105,.1); color: #059669; }
.rscmp-val-badge--navy { background: rgba(1,67,128,.09); color: var(--navy); }
.rscmp-val-badge--gray { background: var(--gray); color: var(--body); }
.rscmp-val-badge--none { background: rgba(220,38,38,.07); color: #dc2626; }

/* Price euros */
.rscmp-price {
  display: inline-flex;
  gap: 2px;
}
.rscmp-price-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.rscmp-price-dot.filled { background: var(--navy); }
.rscmp-price-dot.empty { background: var(--silver); }

/* Guarantee */
.rscmp-years {
  font-size: 18px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.02em;
  line-height: 1;
  display: block;
}
.rscmp-years span { font-size: 12px; font-weight: 500; color: var(--body); margin-left: 2px; }

/* ═══════════════════════════════════════════════════════════════════
   3. MATERIAL SECTION
   ═══════════════════════════════════════════════════════════════════ */

.rscmp-material {
  background: var(--white);
  padding: 80px 0;
}

.rscmp-material-header {
  text-align: center;
  margin-bottom: 52px;
}

.rscmp-material-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.rscmp-mat-card {
  border-radius: 18px;
  padding: 36px 32px;
  position: relative;
  overflow: hidden;
}

.rscmp-mat-card--pc {
  background: var(--dark);
  color: var(--white);
}
.rscmp-mat-card--pvc {
  background: var(--gray);
  color: var(--black);
}

.rscmp-mat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.rscmp-mat-card--pc::before {
  background: radial-gradient(ellipse 500px 300px at 80% 20%, rgba(3,105,181,.3) 0%, transparent 60%);
}
.rscmp-mat-card--pvc::before {
  background: radial-gradient(ellipse 500px 300px at 20% 80%, rgba(1,67,128,.06) 0%, transparent 60%);
}

.rscmp-mat-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.rscmp-mat-card--pc .rscmp-mat-tag { background: rgba(255,255,255,.12); color: rgba(255,255,255,.8); }
.rscmp-mat-card--pvc .rscmp-mat-tag { background: rgba(1,67,128,.1); color: var(--navy); }

.rscmp-mat-name {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: 8px;
}
.rscmp-mat-card--pc .rscmp-mat-name { color: var(--white); }
.rscmp-mat-card--pvc .rscmp-mat-name { color: var(--black); }

.rscmp-mat-sub {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 28px;
}
.rscmp-mat-card--pc .rscmp-mat-sub { color: rgba(255,255,255,.55); }
.rscmp-mat-card--pvc .rscmp-mat-sub { color: var(--body); }

.rscmp-mat-props {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rscmp-mat-prop {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}
.rscmp-mat-card--pc .rscmp-mat-prop { color: rgba(255,255,255,.8); }
.rscmp-mat-card--pvc .rscmp-mat-prop { color: var(--body); }

.rscmp-mat-prop-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rscmp-mat-card--pc .rscmp-mat-prop-icon { background: rgba(255,255,255,.1); }
.rscmp-mat-card--pvc .rscmp-mat-prop-icon { background: rgba(1,67,128,.08); }
.rscmp-mat-card--pc .rscmp-mat-prop-icon svg { color: rgba(255,255,255,.8); width: 14px; height: 14px; }
.rscmp-mat-card--pvc .rscmp-mat-prop-icon svg { color: var(--navy); width: 14px; height: 14px; }

/* ═══════════════════════════════════════════════════════════════════
   4. SOLAR SECTION
   ═══════════════════════════════════════════════════════════════════ */

.rscmp-solar {
  background: var(--gray);
  padding: 72px 0;
}

.rscmp-solar__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.rscmp-solar__text {}
.rscmp-solar__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  display: block;
  margin-bottom: 12px;
}
.rscmp-solar__h3 {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: 14px;
}
.rscmp-solar__h3 em { font-style: normal; color: var(--navy); }
.rscmp-solar__desc {
  font-size: 15px;
  color: var(--body);
  line-height: 1.7;
  margin-bottom: 24px;
}

.rscmp-solar__colors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rscmp-solar__color {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--white);
  border: 1.5px solid var(--silver);
  font-size: 12px;
  font-weight: 500;
  color: var(--black);
}
.rscmp-solar__color-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 1.5px rgba(0,0,0,.1);
}

.rscmp-solar__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.rscmp-stat {
  background: var(--white);
  border-radius: 16px;
  padding: 24px 20px;
  text-align: center;
  box-shadow: 0 2px 16px rgba(1,67,128,.07);
}
.rscmp-stat__value {
  font-size: 28px;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -.03em;
  line-height: 1;
  display: block;
  margin-bottom: 6px;
}
.rscmp-stat__label {
  font-size: 12px;
  color: var(--body);
  line-height: 1.4;
}

/* ═══════════════════════════════════════════════════════════════════
   5. CTA STRIP
   ═══════════════════════════════════════════════════════════════════ */

.rscmp-cta {
  background: var(--dark);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.rscmp-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 700px 400px at 30% 50%, rgba(3,105,181,.2) 0%, transparent 60%),
    radial-gradient(ellipse 500px 300px at 80% 50%, rgba(1,67,128,.15) 0%, transparent 55%);
  pointer-events: none;
}

.rscmp-cta__content { position: relative; z-index: 1; }

.rscmp-cta__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  display: block;
  margin-bottom: 16px;
}
.rscmp-cta__h2 {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.04em;
  line-height: 1.05;
  margin-bottom: 16px;
}
.rscmp-cta__h2 em { font-style: normal; color: rgba(255,255,255,.5); }
.rscmp-cta__sub {
  font-size: 16px;
  color: rgba(255,255,255,.6);
  line-height: 1.65;
  max-width: 480px;
  margin: 0 auto 36px;
}
.rscmp-cta__actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

.rscmp-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 32px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all var(--dur) var(--ease);
  font-family: Rubik, sans-serif;
}
.rscmp-cta__btn--primary { background: var(--white); color: var(--navy); box-shadow: 0 4px 20px rgba(0,0,0,.25); }
.rscmp-cta__btn--primary:hover { background: rgba(255,255,255,.92); box-shadow: 0 8px 32px rgba(0,0,0,.35); transform: translateY(-2px); color: var(--navy); }
.rscmp-cta__btn--ghost { color: rgba(255,255,255,.65); font-size: 13.5px; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(255,255,255,.25); text-underline-offset: 3px; padding: 0; }
.rscmp-cta__btn--ghost:hover { color: #ffffff; }

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 900px) {
  .rscmp-material-grid { grid-template-columns: 1fr; }
  .rscmp-solar__inner { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 768px) {
  .rscmp-hero { padding: 60px 0 44px; }
  .rscmp-container { padding: 0 20px; }
  .rscmp-table-section { padding: 48px 0 60px; }
  .rscmp-material { padding: 56px 0; }
  .rscmp-solar { padding: 52px 0; }
  .rscmp-cta { padding: 56px 0; }

  /* Mobile table: compact */
  .rscmp-table thead th { padding: 20px 12px 18px; }
  .rscmp-table tbody td.row-label { padding: 14px 12px 14px 16px; }
  .rscmp-table tbody td.row-data { padding: 14px 8px; }
  .rscmp-row-name { font-size: 12.5px; }
  .rscmp-row-icon { width: 28px; height: 28px; }

  .rscmp-solar__stats { grid-template-columns: 1fr 1fr; }
  .rscmp-mat-card { padding: 28px 24px; }
}

@media (max-width: 480px) {
  .rscmp-table tbody td.row-label { min-width: 130px; }
  .rscmp-solar__stats { grid-template-columns: 1fr 1fr; }
  .rscmp-solar__colors { gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .rs-reveal { opacity: 1 !important; transform: none !important; }
}

/* === rollo-solar-referenzen-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Referenzen (page-id-4959)
   Prefix: rsref-  |  Scroll class: rs9-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-4959 *, .page-id-4959 *::before, .page-id-4959 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-4959 .container_inner,
.page-id-4959 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-4959 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-4959 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-4959 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --gold:   #d97706;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs9-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.rs9-reveal.visible { opacity: 1; transform: none; }
.rs9-reveal-d1 { transition-delay: .1s; }
.rs9-reveal-d2 { transition-delay: .2s; }
.rs9-reveal-d3 { transition-delay: .32s; }
.rs9-reveal-d4 { transition-delay: .44s; }

/* ── SHARED BASE ── */
.rsref-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsref-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 14px;
}
.rsref-eyebrow--light { color: rgba(255,255,255,.6); }
.rsref-h1 {
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  font-weight: 800;
  line-height: 1.06;
  color: var(--white);
  margin: 0 0 24px;
  letter-spacing: -.025em;
}
.rsref-h1 em { font-style: normal; color: rgba(255,255,255,.55); }
.rsref-h2 {
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--black);
  margin: 0 0 12px;
}
.rsref-h2 em { font-style: normal; color: var(--blue); }
.rsref-sub {
  font-size: 1.05rem;
  line-height: 1.74;
  color: var(--body);
  margin: 0;
  max-width: 620px;
}
.rsref-sub--light { color: rgba(255,255,255,.75); }

/* ── BUTTONS ── */
.rsref-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 30px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
              background var(--dur), border-color var(--dur);
}
.rsref-btn:hover { transform: translateY(-2px); }
.rsref-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.16);
}
.rsref-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.22); }
.rsref-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.45);
}
.rsref-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }


/* ══════════════════════════════════════════
   1. HERO
   ══════════════════════════════════════════ */
.rsref-hero {
  position: relative;
  min-height: 100svh;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--dark);
}

/* Ken Burns hero background */
.rsref-hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('https://www.rollo-solar.de/wp-content/uploads/2016/06/Elmau-02-1024x683.jpg');
  background-size: cover;
  background-position: center 30%;
  animation: rsrefKenBurnsHero 20s ease-in-out infinite alternate;
  z-index: 0;
}
@keyframes rsrefKenBurnsHero {
  0%   { transform: scale(1.06) translate(0, 0); }
  100% { transform: scale(1.14) translate(-2%, -1.5%); }
}

/* Dramatic overlay */
.rsref-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(6,17,30,.95) 0%, rgba(1,67,128,.5) 55%, rgba(6,17,30,.72) 100%);
  z-index: 1;
}

/* Animated glow particles */
.rsref-particle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}
.rsref-particle--1 {
  width: 560px; height: 560px;
  background: radial-gradient(circle, rgba(3,105,181,.14) 0%, transparent 68%);
  top: -120px; right: -60px;
  animation: rsrefFloat1 14s ease-in-out infinite;
}
.rsref-particle--2 {
  width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(1,67,128,.1) 0%, transparent 68%);
  bottom: 60px; left: 4%;
  animation: rsrefFloat2 18s ease-in-out infinite;
}
.rsref-particle--3 {
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(3,105,181,.08) 0%, transparent 68%);
  top: 42%; left: 42%;
  animation: rsrefFloat1 22s ease-in-out infinite reverse;
}
@keyframes rsrefFloat1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%       { transform: translate(24px, -32px) scale(1.06); }
}
@keyframes rsrefFloat2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%       { transform: translate(-18px, 24px) scale(.94); }
}

/* Hero inner */
.rsref-hero-inner {
  position: relative;
  z-index: 2;
  padding-top: 130px;
  padding-bottom: 110px;
  max-width: 800px;
}

/* Counter glass card */
.rsref-counters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 36px 0 40px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  overflow: hidden;
  width: fit-content;
  width: -moz-fit-content;
}
.rsref-counter-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 32px;
  gap: 6px;
}
.rsref-counter-val {
  display: flex;
  align-items: baseline;
  gap: 2px;
}
.rsref-counter-num {
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.rsref-counter-suf {
  font-size: 1.4rem;
  font-weight: 800;
  color: rgba(255,255,255,.5);
  line-height: 1;
}
.rsref-counter-item small {
  font-size: .7rem;
  color: rgba(255,255,255,.45);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rsref-counter-sep {
  width: 1px;
  height: 52px;
  background: rgba(255,255,255,.1);
  flex-shrink: 0;
}

/* Hero CTA row */
.rsref-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* Animated scroll arrow */
.rsref-scroll-arrow {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  color: rgba(255,255,255,.35);
  animation: rsrefBounce 2.2s ease-in-out infinite;
}
@keyframes rsrefBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); opacity: .35; }
  50%       { transform: translateX(-50%) translateY(9px); opacity: .7; }
}


/* ══════════════════════════════════════════
   2. TRUST-LEISTE
   ══════════════════════════════════════════ */
.rsref-trust {
  background: var(--white);
  border-top: 1px solid var(--silver);
  border-bottom: 1px solid var(--silver);
}
.rsref-trust-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
}
.rsref-trust-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 20px;
  color: var(--blue);
}
.rsref-trust-item div { display: flex; flex-direction: column; gap: 2px; }
.rsref-trust-item strong {
  font-size: .88rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}
.rsref-trust-item span {
  font-size: .77rem;
  color: var(--body);
  line-height: 1.4;
}
.rsref-trust-sep {
  width: 1px;
  height: 42px;
  background: var(--silver);
  flex-shrink: 0;
}


/* ══════════════════════════════════════════
   3. PROJEKT-GRID
   ══════════════════════════════════════════ */
.rsref-projekte {
  background: var(--gray);
  padding: 100px 0 120px;
}
.rsref-section-head {
  text-align: center;
  margin-bottom: 64px;
}
.rsref-section-sub {
  font-size: 1rem;
  color: var(--body);
  line-height: 1.65;
  margin: 12px auto 0;
  max-width: 480px;
}

/* ── Bento 6-col grid ── */
.rsref-bento {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

/* ── Card Base ── */
.rsref-card {
  position: relative;
  grid-column: span 2;
  height: 420px;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--dark);
  cursor: pointer;
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.rsref-card--featured { grid-column: span 4; height: 520px; }
.rsref-card--half    { grid-column: span 3; height: 460px; }

.rsref-card:hover {
  transform: translateY(-7px) scale(1.015);
  box-shadow: 0 28px 64px rgba(0,0,0,.25);
}

/* Decorative index number */
.rsref-card-num {
  position: absolute;
  top: -8px;
  right: 14px;
  font-size: 7rem;
  font-weight: 900;
  color: rgba(255,255,255,.045);
  line-height: 1;
  pointer-events: none;
  z-index: 3;
  letter-spacing: -.04em;
  user-select: none;
}

/* Card image with Ken Burns on hover */
.rsref-card-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.rsref-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.05);
  transition: transform 10s ease;
}
.rsref-card:hover .rsref-card-img {
  transform: scale(1.13);
  transition-duration: 14s;
}

/* Deep gradient overlay */
.rsref-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(6,17,30,.97) 0%,
    rgba(6,17,30,.62) 38%,
    rgba(6,17,30,.14) 65%,
    transparent       100%
  );
  z-index: 1;
  transition: background .4s;
}
.rsref-card:hover .rsref-card-overlay {
  background: linear-gradient(
    to top,
    rgba(6,17,30,.98) 0%,
    rgba(6,17,30,.68) 44%,
    rgba(6,17,30,.22) 70%,
    transparent       100%
  );
}

/* Card content block at bottom */
.rsref-card-body {
  position: absolute;
  bottom: 0;
  left: 0; right: 0;
  z-index: 2;
  padding: 24px 26px 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Tags */
.rsref-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rsref-tag {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
}
.rsref-tag--country {
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.rsref-tag--type {
  background: rgba(3,105,181,.22);
  color: rgba(255,255,255,.88);
  border: 1px solid rgba(3,105,181,.32);
}

/* Card title */
.rsref-card-title {
  font-size: 1.28rem;
  font-weight: 800;
  color: var(--white);
  margin: 0;
  line-height: 1.2;
}
.rsref-card--featured .rsref-card-title { font-size: 1.75rem; }

/* Card sub */
.rsref-card-sub {
  font-size: .82rem;
  color: rgba(255,255,255,.55);
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Thumbnail strip */
.rsref-thumbs {
  display: flex;
  gap: 5px;
  margin-top: 4px;
}
.rsref-thumbs img {
  width: 50px;
  height: 36px;
  object-fit: cover;
  border-radius: 6px;
  opacity: .5;
  flex-shrink: 0;
  display: block;
  transition: opacity .22s, transform .22s;
}
.rsref-thumbs img:hover { opacity: 1; transform: scale(1.1); }
.rsref-thumb-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 36px;
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  font-size: .68rem;
  font-weight: 700;
  color: rgba(255,255,255,.55);
  flex-shrink: 0;
}

/* Card link — appears on hover */
.rsref-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .75rem;
  font-weight: 700;
  color: rgba(255,255,255,.38);
  text-decoration: none;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 4px;
  transition: color var(--dur), gap var(--dur);
}
.rsref-card:hover .rsref-card-link { color: rgba(255,255,255,.82); gap: 10px; }


/* ══════════════════════════════════════════
   4. PRESSE-HINWEIS
   ══════════════════════════════════════════ */
.rsref-press {
  background: var(--white);
  border-top: 1px solid var(--silver);
  border-bottom: 1px solid var(--silver);
}
.rsref-press-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 18px 32px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--blue);
}
.rsref-press-inner span {
  font-size: .9rem;
  color: var(--body);
  line-height: 1.5;
}
.rsref-press-inner a {
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}
.rsref-press-inner a:hover { text-decoration: underline; }


/* ══════════════════════════════════════════
   5. CTA
   ══════════════════════════════════════════ */
.rsref-cta {
  position: relative;
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 100px 0;
  overflow: hidden;
}
.rsref-cta-deco {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 80% at 80% 50%, rgba(3,105,181,.22) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 8%  80%, rgba(1,67,128,.14) 0%, transparent 55%);
  pointer-events: none;
}
.rsref-cta-inner { position: relative; z-index: 1; }
.rsref-cta-content {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.rsref-cta-h2 {
  font-size: clamp(1.9rem, 3.5vw, 3rem);
  font-weight: 800;
  line-height: 1.14;
  color: var(--white);
  margin: 0 0 20px;
  letter-spacing: -.02em;
}
.rsref-cta-h2 em { font-style: normal; color: rgba(255,255,255,.6); }
.rsref-cta-sub {
  font-size: 1rem;
  line-height: 1.74;
  color: rgba(255,255,255,.7);
  margin: 0 0 36px;
}
.rsref-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}


/* ══════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════ */

/* ── 1100px ── */
@media (max-width: 1100px) {
  .rsref-bento { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .rsref-card           { grid-column: span 2; height: 380px; }
  .rsref-card--featured { grid-column: span 4; height: 480px; }
  .rsref-card--half     { grid-column: span 2; height: 400px; }
}

/* ── 768px ── */
@media (max-width: 768px) {
  .rsref-bento { grid-template-columns: 1fr 1fr; gap: 12px; }
  .rsref-card           { grid-column: span 1; height: 330px; }
  .rsref-card--featured { grid-column: span 2; height: 400px; }
  .rsref-card--half     { grid-column: span 1; height: 350px; }
  .rsref-card-num       { font-size: 5rem; }
  .rsref-trust-inner    { flex-wrap: wrap; }
  .rsref-trust-item     { flex: none; width: 50%; }
  .rsref-trust-sep      { display: none; }
  .rsref-counter-item   { padding: 16px 22px; }
  .rsref-counter-sep    { height: 40px; }
  .rsref-projekte       { padding: 72px 0 88px; }
}

/* ── 540px ── */
@media (max-width: 540px) {
  .rsref-bento { grid-template-columns: 1fr; gap: 10px; }
  .rsref-card, .rsref-card--featured, .rsref-card--half {
    grid-column: span 1 !important;
    height: 300px;
  }
  .rsref-card--featured { height: 360px; }
  .rsref-hero-inner     { padding-top: 100px; padding-bottom: 88px; }
  .rsref-counters       { flex-wrap: wrap; }
  .rsref-counter-sep    { display: none; }
  .rsref-counter-item   { width: 50%; border-bottom: 1px solid rgba(255,255,255,.08); }
  .rsref-trust-item     { width: 100%; }
  .rsref-projekte       { padding: 60px 0 72px; }
  .rsref-cta            { padding: 72px 0; }
  .rsref-container      { padding: 0 20px; }
  .rsref-trust-inner, .rsref-press-inner { padding-left: 20px; padding-right: 20px; }
}


/* === rollo-solar-rohrmotor-customizer.css === */
/* ═══════════════════════════════════════════════════════
   ROLLO SOLAR — Rohrmotor (page-id-183)
   Prefix: rsrm-  |  Scroll class: rs3-reveal
   ═══════════════════════════════════════════════════════ */

/* ── BOX-SIZING ── */
.page-id-183 *, .page-id-183 *::before, .page-id-183 *::after { box-sizing: border-box; }

/* ── FULL-WIDTH FIX ── */
.page-id-183 .container_inner,
.page-id-183 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-183 .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.page-id-183 .vc_row { margin-left: 0 !important; margin-right: 0 !important; }

/* ── TOKENS ── */
.page-id-183 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --dur:    .22s;
  --ease:   cubic-bezier(.4,0,.2,1);
  --radius: 20px;
}

/* ── SCROLL REVEAL ── */
.rs3-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs3-reveal.visible { opacity: 1; transform: none; }
.rs3-reveal-d1 { transition-delay: .08s; }
.rs3-reveal-d2 { transition-delay: .16s; }
.rs3-reveal-d3 { transition-delay: .24s; }

/* ── SHARED BASE ── */
.rsrm-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}
.rsrm-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 12px;
}
.rsrm-eyebrow--light { color: rgba(255,255,255,.65); }
.rsrm-h1 {
  font-family: inherit;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--black);
  margin: 0 0 20px;
}
.rsrm-h1 em { font-style: normal; color: var(--blue); }
.rsrm-h1--light { color: var(--white); }
.rsrm-h1--light em { color: rgba(255,255,255,.75); }
.rsrm-h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--black);
  margin: 0 0 16px;
}
.rsrm-h2 em { font-style: normal; color: var(--blue); }
.rsrm-h2--light { color: var(--white); }
.rsrm-h2--light em { color: rgba(255,255,255,.7); }
.rsrm-sub {
  font-size: .975rem;
  line-height: 1.72;
  color: var(--body);
  margin: 0 0 18px;
}
.rsrm-sub--light { color: rgba(255,255,255,.82); }
.rsrm-sub--sm { font-size: .875rem; color: #6b7280; }

/* ── BUTTONS ── */
.rsrm-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur);
  cursor: pointer;
}
.rsrm-btn:hover { transform: translateY(-2px); }
.rsrm-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 18px rgba(0,0,0,.14);
}
.rsrm-btn--white:hover { box-shadow: 0 8px 28px rgba(0,0,0,.2); }
.rsrm-btn--ghost {
  background: transparent;
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
}
.rsrm-btn--ghost:hover { border-color: var(--white); background: rgba(255,255,255,.1); }
.rsrm-btn--link-light {
  background: transparent;
  color: rgba(255,255,255,.85);
  text-decoration: underline;
  text-underline-offset: 3px;
  padding-left: 0;
  padding-right: 0;
}
.rsrm-btn--link-light:hover { color: var(--white); transform: none; }

/* ── 1. HERO ── */
.rsrm-hero {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  min-height: 88vh;
  display: flex;
  align-items: center;
}
.rsrm-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 90% at 80% 50%, rgba(3,105,181,.18) 0%, transparent 65%),
              linear-gradient(135deg, rgba(6,17,30,.95) 0%, rgba(1,67,128,.55) 100%);
  z-index: 1;
}
.rsrm-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 80px;
}
.rsrm-hero-text { max-width: 520px; }
.rsrm-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

/* Motor showcase */
.rsrm-motor-showcase {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rsrm-motor-showcase::before {
  content: '';
  position: absolute;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(3,105,181,.22) 0%, transparent 70%);
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.rsrm-motor-showcase img {
  position: relative;
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: var(--radius);
  filter: drop-shadow(0 24px 48px rgba(0,0,0,.45));
  display: block;
}
.rsrm-motor-badge {
  position: absolute;
  bottom: 18px;
  right: 18px;
  background: rgba(255,255,255,.96);
  color: var(--navy);
  padding: 8px 16px;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  backdrop-filter: blur(6px);
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* ── 2. USP-LEISTE ── */
.rsrm-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
  padding: 0;
}
.rsrm-usp-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
}
.rsrm-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  border-right: 1px solid var(--silver);
}
.rsrm-usp:last-child { border-right: none; }
.rsrm-usp-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
}
.rsrm-usp strong {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
}
.rsrm-usp span {
  display: block;
  font-size: .78rem;
  color: var(--body);
  line-height: 1.45;
  margin-top: 2px;
}

/* ── 3. INTRO + FEATURES ── */
.rsrm-intro {
  background: var(--gray);
  padding: 96px 0;
}
.rsrm-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsrm-intro-left { padding-top: 8px; }
.rsrm-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
  margin-top: 8px;
  transition: gap var(--dur) var(--ease), opacity var(--dur);
}
.rsrm-contact-link:hover { gap: 12px; opacity: .8; }

/* Feature cards grid (3×2, dark theme) */
.rsrm-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.rsrm-feature-card {
  background: var(--dark);
  border-radius: 16px;
  padding: 22px 20px;
  border: 1px solid rgba(255,255,255,.06);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.rsrm-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
}
.rsrm-feature-card--accent {
  border-color: rgba(3,105,181,.4);
  background: linear-gradient(135deg, rgba(1,67,128,.9), rgba(3,105,181,.25));
}
.rsrm-feature-card-icon {
  width: 40px;
  height: 40px;
  background: rgba(3,105,181,.25);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #60a5fa;
  margin-bottom: 12px;
}
.rsrm-feature-card h3 {
  font-size: .875rem;
  font-weight: 700;
  color: var(--white);
  margin: 0 0 6px;
  line-height: 1.3;
}
.rsrm-feature-card p {
  font-size: .8rem;
  color: rgba(255,255,255,.6);
  line-height: 1.6;
  margin: 0;
}

/* ── 4. LEISTUNGSKLASSEN ── */
.rsrm-klassen {
  background: var(--dark);
  padding: 96px 0 80px;
}
.rsrm-section-head {
  text-align: center;
  margin-bottom: 52px;
}
.rsrm-klassen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}
.rsrm-klasse-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.rsrm-klasse-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.rsrm-klasse-card--featured {
  background: linear-gradient(160deg, var(--blue) 0%, var(--navy) 100%);
  border-color: transparent;
  transform: scale(1.03);
  box-shadow: 0 20px 52px rgba(3,105,181,.4);
}
.rsrm-klasse-card--featured:hover {
  transform: scale(1.03) translateY(-4px);
  box-shadow: 0 28px 60px rgba(3,105,181,.5);
}
.rsrm-klasse-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: var(--dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 16px;
  border-radius: 50px;
  white-space: nowrap;
}
.rsrm-klasse-nm {
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}
.rsrm-klasse-nm span {
  font-size: .9rem;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  margin-left: 4px;
}
.rsrm-klasse-card h3 {
  font-size: 1rem;
  font-weight: 700;
  color: rgba(255,255,255,.9);
  margin: 0 0 16px;
}
.rsrm-klasse-list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.rsrm-klasse-list li {
  font-size: .87rem;
  color: rgba(255,255,255,.72);
  padding-left: 20px;
  position: relative;
  line-height: 1.5;
}
.rsrm-klasse-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
}
.rsrm-klasse-card--featured .rsrm-klasse-list li::before { background: rgba(255,255,255,.6); }
.rsrm-klasse-btn {
  display: block;
  text-align: center;
  padding: 12px 20px;
  border-radius: 50px;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  background: rgba(255,255,255,.12);
  color: var(--white);
  border: 1px solid rgba(255,255,255,.2);
  transition: background var(--dur), transform var(--dur) var(--ease);
}
.rsrm-klasse-btn:hover { background: rgba(255,255,255,.2); transform: translateY(-1px); }
.rsrm-klasse-btn--white {
  background: var(--white);
  color: var(--navy);
  border-color: transparent;
}
.rsrm-klasse-btn--white:hover { background: #f0f7ff; }
.rsrm-klassen-note {
  text-align: center;
  font-size: .8rem;
  color: rgba(255,255,255,.4);
  margin-top: 36px;
}

/* ── 5. MOTOR-GALERIE ── */
.rsrm-galerie {
  background: var(--gray);
  padding: 80px 0;
}
.rsrm-galerie-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 16px;
  align-items: start;
}
.rsrm-galerie-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--silver);
}
.rsrm-galerie-item img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsrm-galerie-item--main img { height: 320px; }
.rsrm-galerie-item:hover img { transform: scale(1.04); }
.rsrm-galerie-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(6,17,30,.78));
  color: var(--white);
  font-size: .8rem;
  font-weight: 600;
  padding: 32px 16px 14px;
}

/* ── 6. CTA ── */
.rsrm-cta {
  background: linear-gradient(135deg, var(--navy) 0%, #012f5c 100%);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.rsrm-cta::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(3,105,181,.2) 0%, transparent 65%);
  top: -200px;
  right: -100px;
  border-radius: 50%;
  pointer-events: none;
}
.rsrm-cta-content {
  position: relative;
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.rsrm-cta-h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--white);
  margin: 0 0 20px;
}
.rsrm-cta-h2 em { font-style: normal; color: rgba(255,255,255,.7); }
.rsrm-cta-sub {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.75);
  margin: 0 0 36px;
}
.rsrm-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .rsrm-hero-inner { grid-template-columns: 1fr; gap: 40px; padding-top: 80px; }
  .rsrm-hero-text { max-width: 100%; }
  .rsrm-motor-showcase img { max-width: 320px; }
  .rsrm-usp-grid { grid-template-columns: repeat(2, 1fr); }
  .rsrm-usp:nth-child(2) { border-right: none; }
  .rsrm-usp:nth-child(3) { border-top: 1px solid var(--silver); }
  .rsrm-usp:nth-child(4) { border-top: 1px solid var(--silver); border-right: none; }
  .rsrm-intro-grid { grid-template-columns: 1fr; gap: 40px; }
  .rsrm-klassen-grid { grid-template-columns: 1fr; gap: 16px; }
  .rsrm-klasse-card--featured { transform: none; }
  .rsrm-klasse-card--featured:hover { transform: translateY(-4px); }
  .rsrm-galerie-grid { grid-template-columns: 1fr 1fr; }
  .rsrm-galerie-item--main { grid-column: span 2; }
  .rsrm-galerie-item--main img { height: 260px; }
}
@media (max-width: 640px) {
  .rsrm-hero { min-height: 100svh; }
  .rsrm-hero-inner { padding-top: 72px; padding-bottom: 56px; }
  .rsrm-usp-grid { grid-template-columns: 1fr; }
  .rsrm-usp { border-right: none; border-top: 1px solid var(--silver); }
  .rsrm-usp:first-child { border-top: none; }
  .rsrm-feature-grid { grid-template-columns: 1fr; }
  .rsrm-intro { padding: 64px 0; }
  .rsrm-klassen { padding: 64px 0 56px; }
  .rsrm-galerie-grid { grid-template-columns: 1fr; }
  .rsrm-galerie-item--main { grid-column: auto; }
  .rsrm-galerie-item img,
  .rsrm-galerie-item--main img { height: 220px; }
  .rsrm-cta { padding: 72px 0; }
  .rsrm-klasse-badge { font-size: .68rem; }
}


/* === rollo-solar-unterflur-customizer.css === */
/* === UNTERFLUR CSS (page-id-171) 2026-03 === */

/* ── Design Tokens ── */
.page-id-171 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --dur:    .22s;
  --ease:   cubic-bezier(.4, 0, .2, 1);
  --radius: 20px;
}

.page-id-171 *, .page-id-171 *::before, .page-id-171 *::after { box-sizing: border-box; }

/* ── Full-Width Fix ── */
.page-id-171 .container_inner,
.page-id-171 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-171 .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-171 .vc_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Scroll Reveal ── */
.rs-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs-reveal.visible { opacity: 1; transform: none; }
.rs-reveal-d1 { transition-delay: .08s; }
.rs-reveal-d2 { transition-delay: .16s; }
.rs-reveal-d3 { transition-delay: .24s; }

/* ── Layout Container ── */
.rsuf-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ── Eyebrow ── */
.rsuf-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
}
.rsuf-eyebrow::before, .rsuf-eyebrow::after { content: '—'; opacity: .4; margin: 0 8px; }
.rsuf-eyebrow--light { color: rgba(255,255,255,.72); }
.rsuf-eyebrow--light::before, .rsuf-eyebrow--light::after { color: rgba(255,255,255,.72); }

/* ── Typography ── */
.rsuf-h1 {
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin: 0 0 20px;
}
.rsuf-h1 em { font-style: normal; color: var(--navy); }
.rsuf-h1--light { color: var(--white); }
.rsuf-h1--light em { color: rgba(255,255,255,.72); }

.rsuf-h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0 0 14px;
}
.rsuf-h2 em { font-style: normal; color: var(--navy); }

.rsuf-sub {
  font-size: 16px;
  color: var(--body);
  line-height: 1.7;
  max-width: 540px;
  margin: 0 0 28px;
}
.rsuf-sub--light { color: rgba(255,255,255,.82); }

.rsuf-section-sub {
  font-size: 16px;
  color: var(--body);
  line-height: 1.65;
  max-width: 580px;
  margin: 0 auto;
}

/* ── Buttons ── */
.rsuf-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--dur) var(--ease);
  cursor: pointer;
  border: none;
  white-space: nowrap;
}
.rsuf-btn--primary {
  background: var(--navy);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(1,67,128,.22);
}
.rsuf-btn--primary:hover {
  background: #012e5a;
  box-shadow: 0 8px 28px rgba(1,67,128,.36);
  transform: translateY(-2px);
  color: var(--white);
}
.rsuf-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.rsuf-btn--white:hover {
  background: #f0f4ff;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
  color: var(--navy);
}
.rsuf-btn--ghost {
  background: transparent;
  color: var(--white);
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5);
}
.rsuf-btn--ghost:hover {
  background: rgba(255,255,255,.1);
  color: var(--white);
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.8);
}
.rsuf-btn--outline {
  background: transparent;
  color: var(--navy);
  box-shadow: inset 0 0 0 1.5px var(--navy);
}
.rsuf-btn--outline:hover {
  background: rgba(1,67,128,.05);
  color: var(--navy);
  transform: translateY(-1px);
}
.rsuf-btn--link-light {
  background: none;
  border: none;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  padding: 13px 16px;
  transition: color var(--dur) var(--ease);
  display: inline-flex;
  align-items: center;
}
.rsuf-btn--link-light:hover { color: var(--white); }

/* ════════════════════════════════════════════
   1. HERO
   ════════════════════════════════════════════ */
.rsuf-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.rsuf-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
  transform: scale(1.04);
  transition: transform 8s ease;
}
.rsuf-hero:hover .rsuf-hero-bg { transform: scale(1); }
.rsuf-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(6,17,30,.84) 0%, rgba(3,105,181,.35) 100%);
}
.rsuf-hero-content {
  position: relative;
  z-index: 1;
  padding: 110px 32px 90px;
  max-width: 680px;
}
.rsuf-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* ════════════════════════════════════════════
   2. USP LEISTE
   ════════════════════════════════════════════ */
.rsuf-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
}
.rsuf-usp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
  max-width: 1100px;
  margin: 0 auto;
}
.rsuf-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 28px;
  border-right: 1px solid var(--silver);
}
.rsuf-usp:last-child { border-right: none; }
.rsuf-usp-icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
}
.rsuf-usp strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
  margin-bottom: 2px;
}
.rsuf-usp span {
  font-size: 12px;
  color: var(--body);
  line-height: 1.4;
}

/* ════════════════════════════════════════════
   3. INTRO + FEATURES
   ════════════════════════════════════════════ */
.rsuf-intro {
  background: var(--white);
  padding: 80px 0 72px;
}
.rsuf-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsuf-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--gray);
  border-radius: 14px;
  text-decoration: none;
  color: var(--black);
  font-weight: 600;
  font-size: 14px;
  transition: all var(--dur) var(--ease);
  margin-top: 4px;
}
.rsuf-catalog-link:hover {
  background: var(--silver);
  color: var(--navy);
  transform: translateY(-1px);
}
.rsuf-catalog-link span {
  font-weight: 400;
  font-size: 12px;
  color: var(--body);
}
.rsuf-feature-wrap { padding-top: 8px; }
.rsuf-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--silver);
  border-radius: var(--radius);
  overflow: hidden;
}
.rsuf-feature-item {
  background: var(--white);
  padding: 18px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  transition: background var(--dur) var(--ease);
}
.rsuf-feature-item:hover { background: var(--gray); }
.rsuf-feature-item svg { flex-shrink: 0; color: var(--blue); margin-top: 1px; }
.rsuf-feature-item strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 3px;
}
.rsuf-feature-item span {
  font-size: 12px;
  color: var(--body);
  line-height: 1.45;
}

/* ════════════════════════════════════════════
   4. EINBAUVARIANTEN
   ════════════════════════════════════════════ */
.rsuf-einbau {
  background: var(--gray);
  padding: 80px 0;
}
.rsuf-section-head {
  text-align: center;
  margin-bottom: 48px;
}
.rsuf-section-head .rsuf-eyebrow {
  display: block;
  text-align: center;
}
.rsuf-section-head .rsuf-h2 { margin-bottom: 16px; }
.rsuf-variants-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.rsuf-variant-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(1,17,30,.07);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.rsuf-variant-card:hover {
  box-shadow: 0 8px 32px rgba(1,67,128,.14);
  transform: translateY(-4px);
}
.rsuf-variant-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}
.rsuf-variant-card-body {
  padding: 18px 20px 22px;
}
.rsuf-variant-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--navy);
  color: white;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 10px;
}
.rsuf-variant-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--black);
  margin: 0 0 8px;
  line-height: 1.3;
}
.rsuf-variant-card p {
  font-size: 13px;
  color: var(--body);
  margin: 0;
  line-height: 1.55;
}

/* ════════════════════════════════════════════
   5. VERKLEIDUNGEN
   ════════════════════════════════════════════ */
.rsuf-verkleidungen {
  background: var(--white);
  padding: 80px 0;
}
.rsuf-cover-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.rsuf-cover-card {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1.5px solid var(--silver);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
  display: flex;
  flex-direction: column;
}
.rsuf-cover-card:hover {
  box-shadow: 0 8px 32px rgba(1,67,128,.11);
  transform: translateY(-3px);
  border-color: rgba(3,105,181,.3);
}
.rsuf-cover-card-img {
  height: 230px;
  overflow: hidden;
}
.rsuf-cover-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsuf-cover-card:hover .rsuf-cover-card-img img { transform: scale(1.04); }
.rsuf-cover-card-body {
  padding: 24px 26px 26px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.rsuf-cover-card h3 {
  font-size: 19px;
  font-weight: 700;
  color: var(--black);
  margin: 0 0 10px;
}
.rsuf-cover-card p {
  font-size: 14px;
  color: var(--body);
  line-height: 1.65;
  margin: 0 0 18px;
  flex: 1;
}
.rsuf-cover-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.rsuf-cover-tags span {
  font-size: 11px;
  font-weight: 600;
  color: var(--blue);
  background: rgba(3,105,181,.08);
  padding: 4px 10px;
  border-radius: 999px;
}

/* ════════════════════════════════════════════
   6. CTA
   ════════════════════════════════════════════ */
.rsuf-cta {
  background: linear-gradient(135deg, var(--dark) 0%, var(--navy) 100%);
  padding: 88px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rsuf-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 800px 400px at 50% 120%, rgba(3,105,181,.3) 0%, transparent 70%);
  pointer-events: none;
}
.rsuf-cta-content { position: relative; z-index: 1; }
.rsuf-cta-h2 {
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0 0 16px;
}
.rsuf-cta-h2 em { font-style: normal; color: rgba(255,255,255,.58); }
.rsuf-cta-sub {
  font-size: 16px;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin: 0 auto 36px;
  max-width: 460px;
}
.rsuf-cta-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════ */
@media (max-width: 900px) {
  .rsuf-intro-grid { grid-template-columns: 1fr; gap: 44px; }
  .rsuf-sub { max-width: 100%; }
  .rsuf-variants-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .rsuf-usp-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 100%;
  }
  .rsuf-usp { border-right: none; border-bottom: 1px solid var(--silver); }
  .rsuf-usp:nth-child(odd) { border-right: 1px solid var(--silver); }
  .rsuf-cover-grid { grid-template-columns: 1fr; }
  .rsuf-hero-content { padding: 80px 24px 64px; }
  .rsuf-container { padding: 0 20px; }
}
@media (max-width: 560px) {
  .rsuf-usp-grid { grid-template-columns: 1fr; }
  .rsuf-usp { border-right: none; border-bottom: 1px solid var(--silver); }
  .rsuf-usp:nth-child(odd) { border-right: none; }
  .rsuf-variants-grid { grid-template-columns: 1fr; }
  .rsuf-feature-grid { grid-template-columns: 1fr; }
  .rsuf-hero { min-height: 520px; }
}


/* === rollo-solar-vertikale-beckentrennung-customizer.css === */
/* === VERTIKALE BECKENTRENNUNG CSS (page-id-179) 2026-03 === */

/* ── Design Tokens ── */
.page-id-179 {
  --navy:   #014380;
  --blue:   #0369b5;
  --dark:   #06111e;
  --black:  #111111;
  --body:   #4a5568;
  --gray:   #f4f6f8;
  --silver: #e2e8f0;
  --white:  #ffffff;
  --teal:   #0d7377;
  --dur:    .22s;
  --ease:   cubic-bezier(.4, 0, .2, 1);
  --radius: 20px;
}

.page-id-179 *, .page-id-179 *::before, .page-id-179 *::after { box-sizing: border-box; }

/* ── Full-Width Fix ── */
.page-id-179 .container_inner,
.page-id-179 .wpb-content-wrapper {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-179 .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-id-179 .vc_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Scroll Reveal ── */
.rs2-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.rs2-reveal.visible { opacity: 1; transform: none; }
.rs2-reveal-d1 { transition-delay: .08s; }
.rs2-reveal-d2 { transition-delay: .16s; }
.rs2-reveal-d3 { transition-delay: .24s; }

/* ── Container ── */
.rsvbt-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ── Eyebrow ── */
.rsvbt-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
}
.rsvbt-eyebrow::before, .rsvbt-eyebrow::after { content: '—'; opacity: .4; margin: 0 8px; }
.rsvbt-eyebrow--light { color: rgba(255,255,255,.72); }
.rsvbt-eyebrow--light::before, .rsvbt-eyebrow--light::after { color: rgba(255,255,255,.72); }

/* ── Typography ── */
.rsvbt-h1 {
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin: 0 0 20px;
}
.rsvbt-h1 em { font-style: normal; color: var(--navy); }
.rsvbt-h1--light { color: var(--white); }
.rsvbt-h1--light em { color: rgba(255,255,255,.72); }

.rsvbt-h2 {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  color: var(--black);
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0 0 14px;
}
.rsvbt-h2 em { font-style: normal; color: var(--navy); }

.rsvbt-sub {
  font-size: 16px;
  color: var(--body);
  line-height: 1.7;
  max-width: 540px;
  margin: 0 0 28px;
}
.rsvbt-sub--light { color: rgba(255,255,255,.82); }

.rsvbt-section-sub {
  font-size: 16px;
  color: var(--body);
  line-height: 1.65;
  max-width: 600px;
  margin: 0 auto;
}

/* ── Buttons ── */
.rsvbt-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--dur) var(--ease);
  cursor: pointer;
  border: none;
  white-space: nowrap;
}
.rsvbt-btn--white {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.rsvbt-btn--white:hover {
  background: #f0f4ff;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
  color: var(--navy);
}
.rsvbt-btn--ghost {
  background: transparent;
  color: var(--white);
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5);
}
.rsvbt-btn--ghost:hover {
  background: rgba(255,255,255,.1);
  color: var(--white);
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.8);
}
.rsvbt-btn--link-light {
  background: none;
  border: none;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  padding: 13px 16px;
  transition: color var(--dur) var(--ease);
  display: inline-flex;
  align-items: center;
}
.rsvbt-btn--link-light:hover { color: var(--white); }

/* ════════════════════════════════════════════
   1. HERO
   ════════════════════════════════════════════ */
.rsvbt-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.rsvbt-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 40%;
  transform: scale(1.04);
  transition: transform 8s ease;
}
.rsvbt-hero:hover .rsvbt-hero-bg { transform: scale(1); }
.rsvbt-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(6,17,30,.86) 0%, rgba(3,105,181,.32) 100%);
}
.rsvbt-hero-content {
  position: relative;
  z-index: 1;
  padding: 110px 32px 90px;
  max-width: 680px;
}
.rsvbt-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* ════════════════════════════════════════════
   2. USP-LEISTE
   ════════════════════════════════════════════ */
.rsvbt-usps {
  background: var(--white);
  border-bottom: 1px solid var(--silver);
}
.rsvbt-usp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--silver);
  max-width: 1100px;
  margin: 0 auto;
}
.rsvbt-usp {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 28px;
  border-right: 1px solid var(--silver);
}
.rsvbt-usp:last-child { border-right: none; }
.rsvbt-usp-icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
}
.rsvbt-usp strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--black);
  line-height: 1.3;
  margin-bottom: 2px;
}
.rsvbt-usp span {
  font-size: 12px;
  color: var(--body);
  line-height: 1.4;
}

/* ════════════════════════════════════════════
   3. INTRO + FEATURES
   ════════════════════════════════════════════ */
.rsvbt-intro {
  background: var(--white);
  padding: 80px 0 72px;
}
.rsvbt-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.rsvbt-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--gray);
  border-radius: 14px;
  text-decoration: none;
  color: var(--black);
  font-weight: 600;
  font-size: 14px;
  transition: all var(--dur) var(--ease);
  margin-top: 4px;
}
.rsvbt-catalog-link:hover {
  background: var(--silver);
  color: var(--navy);
  transform: translateY(-1px);
}
.rsvbt-catalog-link span {
  font-weight: 400;
  font-size: 12px;
  color: var(--body);
}
.rsvbt-feature-wrap { padding-top: 8px; }
.rsvbt-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--silver);
  border-radius: var(--radius);
  overflow: hidden;
}
.rsvbt-feature-item {
  background: var(--white);
  padding: 18px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  transition: background var(--dur) var(--ease);
}
.rsvbt-feature-item:hover { background: var(--gray); }
.rsvbt-feature-item svg { flex-shrink: 0; color: var(--blue); margin-top: 1px; }
.rsvbt-feature-item strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 3px;
}
.rsvbt-feature-item span {
  font-size: 12px;
  color: var(--body);
  line-height: 1.45;
}
.rsvbt-feature-item--highlight {
  background: rgba(1,67,128,.04);
}
.rsvbt-feature-item--highlight svg { color: var(--navy); }
.rsvbt-feature-item--highlight:hover { background: rgba(1,67,128,.08); }

/* ════════════════════════════════════════════
   4. WINTERBETRIEB-TIPP
   ════════════════════════════════════════════ */
.rsvbt-tip-bar {
  background: linear-gradient(135deg, #e8f4fd 0%, #dbeafe 100%);
  border-top: 1px solid rgba(3,105,181,.15);
  border-bottom: 1px solid rgba(3,105,181,.15);
  padding: 28px 0;
}
.rsvbt-tip {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.rsvbt-tip-icon {
  width: 48px;
  height: 48px;
  background: var(--blue);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: white;
}
.rsvbt-tip-body strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
}
.rsvbt-tip-body p {
  font-size: 14px;
  color: var(--body);
  line-height: 1.65;
  margin: 0;
  max-width: 780px;
}

/* ════════════════════════════════════════════
   5. GALERIE
   ════════════════════════════════════════════ */
.rsvbt-gallery {
  background: var(--gray);
  padding: 80px 0;
}
.rsvbt-section-head {
  text-align: center;
  margin-bottom: 48px;
}
.rsvbt-section-head .rsvbt-eyebrow {
  display: block;
  text-align: center;
}
.rsvbt-section-head .rsvbt-h2 { margin-bottom: 16px; }
.rsvbt-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 16px;
}
.rsvbt-photo-item {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.rsvbt-photo-item--large {
  grid-column: span 1;
  grid-row: span 2;
}
.rsvbt-photo-inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 220px;
}
.rsvbt-photo-item--large .rsvbt-photo-inner { min-height: 100%; }
.rsvbt-photo-inner img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.rsvbt-photo-item--large .rsvbt-photo-inner img { min-height: 460px; }
.rsvbt-photo-item:hover .rsvbt-photo-inner img { transform: scale(1.04); }
.rsvbt-photo-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 16px;
  background: linear-gradient(to top, rgba(6,17,30,.75) 0%, transparent 100%);
  color: rgba(255,255,255,.9);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .3px;
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
}
.rsvbt-photo-item:hover .rsvbt-photo-label { opacity: 1; }

/* ════════════════════════════════════════════
   6. CTA
   ════════════════════════════════════════════ */
.rsvbt-cta {
  background: linear-gradient(135deg, var(--dark) 0%, var(--navy) 100%);
  padding: 88px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rsvbt-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 800px 400px at 50% 120%, rgba(3,105,181,.3) 0%, transparent 70%);
  pointer-events: none;
}
.rsvbt-cta-content { position: relative; z-index: 1; }
.rsvbt-cta-h2 {
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0 0 16px;
}
.rsvbt-cta-h2 em { font-style: normal; color: rgba(255,255,255,.58); }
.rsvbt-cta-sub {
  font-size: 16px;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin: 0 auto 36px;
  max-width: 460px;
}
.rsvbt-cta-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════ */
@media (max-width: 900px) {
  .rsvbt-intro-grid { grid-template-columns: 1fr; gap: 44px; }
  .rsvbt-sub { max-width: 100%; }
  .rsvbt-photo-grid { grid-template-columns: repeat(2, 1fr); }
  .rsvbt-photo-item--large { grid-row: span 1; }
  .rsvbt-photo-item--large .rsvbt-photo-inner img { min-height: 220px; }
}
@media (max-width: 768px) {
  .rsvbt-usp-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 100%;
  }
  .rsvbt-usp { border-right: none; border-bottom: 1px solid var(--silver); }
  .rsvbt-usp:nth-child(odd) { border-right: 1px solid var(--silver); }
  .rsvbt-hero-content { padding: 80px 24px 64px; }
  .rsvbt-container { padding: 0 20px; }
  .rsvbt-tip { flex-direction: column; gap: 12px; }
}
@media (max-width: 560px) {
  .rsvbt-usp-grid { grid-template-columns: 1fr; }
  .rsvbt-usp { border-right: none; border-bottom: 1px solid var(--silver); }
  .rsvbt-usp:nth-child(odd) { border-right: none; }
  .rsvbt-feature-grid { grid-template-columns: 1fr; }
  .rsvbt-photo-grid { grid-template-columns: 1fr; }
  .rsvbt-hero { min-height: 520px; }
}




/* === FOOTER DARK THEME RESTORE + SOCIAL ICONS === */
/* Restore dark navy background */
.footer_top_holder,
footer #lang_sel &gt; ul &gt; li &gt; a,
footer #lang_sel_click &gt; ul &gt; li &gt; a {
  background-color: #0d1f3c !important;
}
.footer_bottom_holder,
#lang_sel_footer {
  background-color: #091628 !important;
}

/* Footer text: light on dark */
.footer_top .textwidget,
.footer_top .widget_text,
.footer_top p,
.footer_top li,
.footer_top address,
.footer_top a:not(:hover) {
  color: #b8cfe0 !important;
}
.footer_top h5,
.footer_top h4 {
  color: #ffffff !important;
}
.footer_top a:hover {
  color: #4da8ff !important;
}
.footer_top .mitglied_logo,
.footer_top .logo_img {
  filter: brightness(0) invert(1) opacity(0.6);
}
.footer_bottom_holder p,
.footer_bottom_holder a,
.footer_bottom_holder span {
  color: #7a9ab8 !important;
}

/* Hide s2Member badge */
a[href*="s2member"],
img[src*="s2member"],
.s2member-sc-bbp-badge,
.s2member-badge,
#s2member-badge,
[class*="s2member"],
[id*="s2member"] {
  display: none !important;
}

/* Social icons – einfach weiß, keine Animation */
/* Hide old plugin icons */
.sfsi_wDiv, .sfsi_holders, .sfsi_widget_set, .sfsi-icon,
.ultimate-social-icons, .usi_widget, .supsystic-social-sharing,
.widget_custom_html .sfsi_widget { display: none !important; }

.rs-social-icons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 8px;
  align-items: center;
}
.rs-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff !important;
  text-decoration: none !important;
  opacity: 0.85;
}
.rs-social-icons a:hover {
  opacity: 1;
  color: #ffffff !important;
}
.rs-social-icons svg {
  width: 22px;
  height: 22px;
  fill: #ffffff;
  display: block;
}


/* === FAQ PAGE FIXES: background + text colors === */
body.page-id-2001x,
body.page-id-2001x .content_inner,
body.page-id-2001x .content_top_margin,
body.page-id-2001x .content_inner .container,
body.page-id-2001x .content_inner .container_inner,
body.page-id-2001x .wpb_wrapper,
body.page-id-2001x .wpb_raw_code,
body.page-id-2001x .wpb_raw_html,
.faq-body {
  background-color: #07152a !important;
}
body.page-id-2001x .wpb_wrapper,
body.page-id-2001x .wpb_raw_code {
  color: #e8f0f8 !important;
}
.faq-hero, .faq-hero-kpis { color: #e8f0f8 !important; }
.faq-kpi { color: #ffffff !important; }
.faq-group, .faq-group-header { color: #e8f0f8 !important; }
.faq-q { color: #e8f0f8 !important; }
.faq-q-icon { color: #60a5fa !important; border-color: rgba(96,165,250,.3) !important; }
.faq-a { color: #b8cfe0 !important; }
.faq-item { color: #e8f0f8 !important; }
.faq-filter, .faq-filter-inner, .faq-tab { color: #ffffff !important; }


/* === KUNDENLOGIN FULL-WIDTH + LAYOUT FIX === */
body.page-id-1826 .content,
body.page-id-1826 .content_top_margin,
body.page-id-1826 .container,
body.page-id-1826 .container_inner,
body.page-id-1826 .wpb_wrapper,
body.page-id-1826 .wpb_raw_code,
body.page-id-1826 .wpb_raw_html {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  background-color: #07152a !important;
}
.kl-wrap {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow-x: hidden;
}
.kl-hero h1 { word-break: break-word; overflow-wrap: break-word; }

/* FAQ: fix paragraph text colors inside answers */
.faq-a p, .faq-a li, .faq-a ul, .faq-a ol, .faq-a strong, .faq-a em { color: #b8cfe0 !important; }
.faq-a a { color: #60a5fa !important; }
/* FAQ: center the category tab bar */

/* === DARK HEADER: FAQ (2001) + Kundenlogin (1826) + Händlerportal (2439) === */
body.page-id-2001x header,
body.page-id-1826 header,
body.postid-2439 header {
  background: rgba(7, 21, 42, 0.97) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
body.page-id-2001x .header_bottom,
body.page-id-1826 .header_bottom,
body.postid-2439 .header_bottom {
  background: transparent !important;
}
body.page-id-2001x header img,
body.page-id-1826 header img,
body.postid-2439 header img { filter: brightness(0) invert(1) !important; }

body.page-id-2001x nav.main_menu &gt; ul &gt; li &gt; a,
body.page-id-2001x nav.main_menu ul li a,
body.page-id-1826 nav.main_menu &gt; ul &gt; li &gt; a,
body.page-id-1826 nav.main_menu ul li a,
body.postid-2439 nav.main_menu &gt; ul &gt; li &gt; a,
body.postid-2439 nav.main_menu ul li a { color: rgba(255,255,255,0.88) !important; }

body.page-id-2001x nav.main_menu &gt; ul &gt; li.active &gt; a,
body.page-id-1826 nav.main_menu &gt; ul &gt; li.active &gt; a,
body.postid-2439 nav.main_menu &gt; ul &gt; li.active &gt; a { color: #ffffff !important; }

/* === REFERENZEN: Pfeile ausblenden (nur Carousel-Buttons) === */
.rs-ref-scaffold &gt; .rs-ref-arrow-prev,
.rs-ref-scaffold &gt; .rs-ref-arrow-next,
.rs-ref-scaffold &gt; .rs-ref-arrow { display: none !important; }

/* === REFERENZEN LIGHTBOX === */
.rsref-lb {
  display: none; position: fixed; inset: 0; z-index: 99999;
  flex-direction: column; background: rgba(0,0,0,0.93);
}
.rsref-lb.rsref-lb--open { display: flex; }
body.rsref-lb-active { overflow: hidden; }
.rsref-lb-backdrop {
  position: absolute; inset: 0; cursor: pointer; z-index: 0;
}
.rsref-lb-header {
  position: relative; z-index: 1; display: flex; align-items: center;
  justify-content: space-between; padding: 14px 20px; flex-shrink: 0;
}
.rsref-lb-info { display: flex; align-items: center; gap: 12px; }
.rsref-lb-title { font-size: .9rem; font-weight: 600; color: #fff; }
.rsref-lb-counter { font-size: .78rem; color: rgba(255,255,255,.45); }
.rsref-lb-close {
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; cursor: pointer; width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; transition: background .2s; line-height: 1;
}
.rsref-lb-close:hover { background: rgba(255,255,255,.22); }
.rsref-lb-stage {
  position: relative; z-index: 1; flex: 1; display: flex;
  align-items: center; justify-content: center; padding: 0 72px; overflow: hidden;
}
.rsref-lb-img-wrap {
  display: flex; align-items: center; justify-content: center;
  max-width: 100%; max-height: 100%;
}
.rsref-lb-img {
  max-width: 100%; max-height: calc(100vh - 190px);
  object-fit: contain; border-radius: 6px; display: block;
}
.rsref-lb-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  color: #fff; width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
  font-size: 1.1rem; display: flex; align-items: center; justify-content: center;
  transition: background .2s; z-index: 2;
}
.rsref-lb-nav:hover { background: rgba(255,255,255,.22); }
.rsref-lb-prev { left: 14px; }
.rsref-lb-next { right: 14px; }
.rsref-lb-thumbs {
  position: relative; z-index: 1; display: flex; gap: 6px;
  justify-content: center; padding: 10px 20px 14px; overflow-x: auto; flex-shrink: 0;
}
.rsref-lb-thumb {
  width: 56px; height: 42px; object-fit: cover; border-radius: 4px;
  cursor: pointer; opacity: .45; transition: opacity .2s; flex-shrink: 0;
  border: 2px solid transparent;
}
.rsref-lb-thumb:hover { opacity: .75; }
.rsref-lb-thumb.rsref-lb-thumb--active { opacity: 1; border-color: #60a5fa; }

/* === FAQ: Tab-Leiste zentrieren (einfach) === */
body.page-id-2001x .faq-filter {
  width: auto !important;
  left: auto !important;
  transform: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0 !important;
}
body.page-id-2001x .faq-filter-inner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  flex: 0 1 1100px !important;
  gap: 8px !important;
  padding: 12px 0 !important;
  max-width: 1100px !important;
  overflow: visible !important;
}

/* === DARK HEADER: Händlerportal (postid-2439) === */
body.postid-2439 header {
  background: rgba(7, 21, 42, 0.97) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body.postid-2439 nav.main_menu &gt; ul &gt; li &gt; a,
body.postid-2439 nav.main_menu ul li a,
body.postid-2439 nav.main_menu ul li:hover a,
body.postid-2439 nav.main_menu &gt; ul &gt; li.active &gt; a { color: rgba(255,255,255,0.88) !important; }
body.postid-2439 header img { filter: brightness(0) invert(1) !important; }

/* ════════════════════════════════════════════════════
   KARRIERE SEITE (page-id-191) — rska- prefix
   ════════════════════════════════════════════════════ */
body.page-id-191 .wpb_raw_html { font-family: Inter, system-ui, -apple-system, sans-serif; }
body.page-id-191 .rska-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* ── Scroll Reveal ── */
body.page-id-191 .rs14-reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-id-191 .rs14-reveal.visible { opacity: 1; transform: none; }
body.page-id-191 .rs14-reveal-d1 { transition-delay: .1s; }
body.page-id-191 .rs14-reveal-d2 { transition-delay: .2s; }
body.page-id-191 .rs14-reveal-d3 { transition-delay: .3s; }
body.page-id-191 .rs14-reveal-d4 { transition-delay: .4s; }

/* ── Typography ── */
body.page-id-191 .rska-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #60a5fa; margin: 0 0 14px; }
body.page-id-191 .rska-eyebrow--light { color: #93c5fd; }
body.page-id-191 .rska-h1 { font-size: clamp(36px, 5vw, 60px); font-weight: 800; color: #fff; line-height: 1.1; letter-spacing: -.03em; margin: 0 0 20px; }
body.page-id-191 .rska-h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 800; color: #07152a; line-height: 1.15; letter-spacing: -.025em; margin: 0 0 16px; }
body.page-id-191 .rska-h2 em, body.page-id-191 .rska-h2--light em { font-style: normal; color: #60a5fa; }
body.page-id-191 .rska-h2--light { color: #fff; }
body.page-id-191 .rska-section-sub { font-size: 17px; color: #4a6079; line-height: 1.7; max-width: 560px; margin: 0 auto; }
body.page-id-191 .rska-section-sub--light { color: rgba(255,255,255,.6); }
body.page-id-191 .rska-section-head { text-align: center; margin-bottom: 56px; }

/* ── Buttons ── */
body.page-id-191 .rska-btn { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; padding: 14px 28px; border-radius: 12px; text-decoration: none; transition: all .2s; cursor: pointer; border: none; }
body.page-id-191 .rska-btn--primary { background: #60a5fa; color: #07152a; box-shadow: 0 8px 24px rgba(96,165,250,.35); }
body.page-id-191 .rska-btn--primary:hover { background: #93c5fd; transform: translateY(-2px); }
body.page-id-191 .rska-btn--ghost { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.2); }
body.page-id-191 .rska-btn--ghost:hover { background: rgba(255,255,255,.14); }
body.page-id-191 .rska-btn--white { background: #fff; color: #07152a; }
body.page-id-191 .rska-btn--ghost-white { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); }
body.page-id-191 .rska-btn--ghost-white:hover { background: rgba(255,255,255,.08); }

/* ── HERO ── */
body.page-id-191 .rska-hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; background: #07152a; padding: 140px 0 80px; box-sizing: border-box; }
body.page-id-191 .rska-hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 80% 70% at 60% 40%, #0d3060 0%, #07152a 70%); }
body.page-id-191 .rska-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, #07152a 100%); }
body.page-id-191 .rska-orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .25; pointer-events: none; }
body.page-id-191 .rska-orb--1 { width: 500px; height: 500px; background: #60a5fa; top: -100px; right: 10%; }
body.page-id-191 .rska-orb--2 { width: 300px; height: 300px; background: #34d399; bottom: 10%; left: 5%; }
body.page-id-191 .rska-orb--3 { width: 200px; height: 200px; background: #818cf8; top: 30%; right: 30%; }
body.page-id-191 .rska-hero-badge { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 8px; background: rgba(96,165,250,.15); border: 1px solid rgba(96,165,250,.3); color: #93c5fd; font-size: 13px; font-weight: 600; padding: 8px 18px; border-radius: 100px; margin-bottom: 28px; }
body.page-id-191 .rska-badge-dot { width: 8px; height: 8px; background: #34d399; border-radius: 50%; display: inline-block; }
body.page-id-191 .rska-badge-dot--pulse { animation: rska-pulse 1.5s infinite; }
@keyframes rska-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
body.page-id-191 .rska-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
body.page-id-191 .rska-hero-sub { font-size: 18px; color: rgba(255,255,255,.65); line-height: 1.7; margin: 0 0 32px; max-width: 480px; }
body.page-id-191 .rska-hero-stats { display: flex; align-items: center; gap: 0; margin: 32px 0 40px; flex-wrap: wrap; }
body.page-id-191 .rska-hstat { padding: 0 20px; }
body.page-id-191 .rska-hstat:first-child { padding-left: 0; }
body.page-id-191 .rska-hstat-val { display: block; font-size: 22px; font-weight: 800; color: #fff; }
body.page-id-191 .rska-hstat-label { display: block; font-size: 11px; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .08em; }
body.page-id-191 .rska-hstat-sep { width: 1px; height: 36px; background: rgba(255,255,255,.15); }
body.page-id-191 .rska-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
body.page-id-191 .rska-video-wrap { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 40px 80px rgba(0,0,0,.5); }
body.page-id-191 .rska-video-badge { position: absolute; top: 16px; left: 16px; background: rgba(0,0,0,.5); backdrop-filter: blur(8px); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px 14px; border-radius: 100px; z-index: 2; }
body.page-id-191 .rska-video-shimmer { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.05) 0%, transparent 50%); pointer-events: none; }
body.page-id-191 .rska-scroll-arrow { position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.4); z-index: 2; animation: rska-bounce .8s ease-in-out infinite alternate; }
@keyframes rska-bounce { from{transform:translateX(-50%) translateY(0)} to{transform:translateX(-50%) translateY(8px)} }

/* ── WHY ── */
body.page-id-191 .rska-why { padding: 96px 0; background: #f8fafc; }
body.page-id-191 .rska-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
body.page-id-191 .rska-why-card { background: #fff; border: 1px solid #e2eaf3; border-radius: 20px; padding: 32px 28px; transition: all .25s; box-shadow: 0 2px 12px rgba(7,21,42,.06); }
body.page-id-191 .rska-why-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(7,21,42,.12); }
body.page-id-191 .rska-why-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
body.page-id-191 .rska-why-icon--teal { background: rgba(52,211,153,.12); color: #10b981; }
body.page-id-191 .rska-why-icon--blue { background: rgba(96,165,250,.12); color: #3b82f6; }
body.page-id-191 .rska-why-icon--amber { background: rgba(251,191,36,.12); color: #f59e0b; }
body.page-id-191 .rska-why-icon--green { background: rgba(34,197,94,.12); color: #16a34a; }
body.page-id-191 .rska-why-card h3 { font-size: 18px; font-weight: 700; color: #07152a; margin: 0 0 10px; }
body.page-id-191 .rska-why-card p { font-size: 15px; color: #5a7080; line-height: 1.65; margin: 0; }

/* ── AWARDS ── */
body.page-id-191 .rska-awards { padding: 56px 0; background: #fff; border-top: 1px solid #e9f0f8; border-bottom: 1px solid #e9f0f8; }
body.page-id-191 .rska-awards-inner { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; justify-content: center; }
body.page-id-191 .rska-awards-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: #8fa5bc; }
body.page-id-191 .rska-awards-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
body.page-id-191 .rska-award-badge { background: #f1f6fb; border: 1px solid #dce8f5; border-radius: 16px; padding: 16px 22px; text-align: center; min-width: 120px; }
body.page-id-191 .rska-award-badge--featured { background: linear-gradient(135deg, #07152a 0%, #0d2247 100%); border-color: transparent; }
body.page-id-191 .rska-award-title { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #6b8299; margin-bottom: 4px; }
body.page-id-191 .rska-award-badge--featured .rska-award-title { color: rgba(255,255,255,.55); }
body.page-id-191 .rska-award-year { display: block; font-size: 22px; font-weight: 800; color: #07152a; }
body.page-id-191 .rska-award-year--gold { color: #f59e0b; }
body.page-id-191 .rska-award-year--silver { color: #8fa5bc; }
body.page-id-191 .rska-award-year--teal { color: #34d399; }
body.page-id-191 .rska-award-stars { color: #fbbf24; font-size: 14px; margin-top: 4px; }
body.page-id-191 .rska-kununu-logo { display: block; font-size: 12px; font-weight: 800; color: #60a5fa; letter-spacing: .05em; margin-bottom: 6px; }
body.page-id-191 .rska-award-sub { display: block; font-size: 10px; color: #8fa5bc; margin-top: 4px; }
body.page-id-191 .rska-awards-score { font-size: 28px; font-weight: 800; color: #07152a; text-align: center; }
body.page-id-191 .rska-awards-score span { display: block; font-size: 11px; font-weight: 500; color: #8fa5bc; margin-top: 4px; }

/* ── BENEFITS ── */
body.page-id-191 .rska-benefits { position: relative; padding: 96px 0; overflow: hidden; }
body.page-id-191 .rska-benefits-bg { position: absolute; inset: 0; background: linear-gradient(150deg, #0b1e3a 0%, #07152a 100%); }
body.page-id-191 .rska-benefits .rska-container { position: relative; z-index: 1; }
body.page-id-191 .rska-benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
body.page-id-191 .rska-benefit { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 28px 24px; transition: all .25s; }
body.page-id-191 .rska-benefit:hover { background: rgba(255,255,255,.1); transform: translateY(-3px); }
body.page-id-191 .rska-benefit-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
body.page-id-191 .rska-benefit-icon--teal { background: rgba(52,211,153,.15); color: #34d399; }
body.page-id-191 .rska-benefit-icon--blue { background: rgba(96,165,250,.15); color: #60a5fa; }
body.page-id-191 .rska-benefit-icon--amber { background: rgba(251,191,36,.15); color: #fbbf24; }
body.page-id-191 .rska-benefit-icon--purple { background: rgba(167,139,250,.15); color: #a78bfa; }
body.page-id-191 .rska-benefit-icon--green { background: rgba(34,197,94,.15); color: #4ade80; }
body.page-id-191 .rska-benefit-text h3 { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 6px; }
body.page-id-191 .rska-benefit-text p { font-size: 13px; color: rgba(255,255,255,.5); line-height: 1.6; margin: 0; }

/* ── PROCESS ── */
body.page-id-191 .rska-process { padding: 96px 0; background: #f8fafc; }
body.page-id-191 .rska-process-steps { display: flex; gap: 0; align-items: flex-start; flex-wrap: wrap; }
body.page-id-191 .rska-process-step { flex: 1; min-width: 150px; text-align: center; padding: 0 16px; position: relative; }
body.page-id-191 .rska-ps-num { width: 48px; height: 48px; border-radius: 50%; background: #07152a; color: #fff; font-size: 18px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
body.page-id-191 .rska-ps-line { position: absolute; top: 24px; left: calc(50% + 24px); right: calc(-50% + 24px); height: 2px; background: #d1dce8; }
body.page-id-191 .rska-process-step:last-child .rska-ps-line { display: none; }
body.page-id-191 .rska-ps-icon { color: #60a5fa; margin-bottom: 12px; }
body.page-id-191 .rska-process-step h3 { font-size: 15px; font-weight: 700; color: #07152a; margin: 0 0 8px; }
body.page-id-191 .rska-process-step p { font-size: 13px; color: #5a7080; line-height: 1.6; margin: 0; }
body.page-id-191 .rska-process-connector { flex: 0 0 40px; align-self: center; text-align: center; color: #d1dce8; margin-top: -48px; }

/* ── JOBS CTA ── */
body.page-id-191 .rska-jobs { position: relative; padding: 96px 0; overflow: hidden; }
body.page-id-191 .rska-jobs-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #07152a 0%, #0f2a50 100%); }
body.page-id-191 .rska-jobs-inner { position: relative; z-index: 1; text-align: center; }
body.page-id-191 .rska-jobs-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(52,211,153,.12); border: 1px solid rgba(52,211,153,.25); color: #34d399; font-size: 12px; font-weight: 700; padding: 6px 16px; border-radius: 100px; margin-bottom: 24px; }
body.page-id-191 .rska-cta-h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 800; color: #fff; line-height: 1.1; letter-spacing: -.025em; margin: 0 0 16px; }
body.page-id-191 .rska-cta-sub { font-size: 17px; color: rgba(255,255,255,.6); max-width: 480px; margin: 0 auto 40px; line-height: 1.65; }
body.page-id-191 .rska-jobs-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ── CONTACT STRIP ── */
body.page-id-191 .rska-contact-strip { padding: 36px 0; background: #07152a; border-top: 1px solid rgba(255,255,255,.08); }
body.page-id-191 .rska-contact-strip .rska-container { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; }
body.page-id-191 .rska-contact-item { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.65); font-size: 14px; text-decoration: none; }
body.page-id-191 .rska-contact-item:hover { color: #fff; }
body.page-id-191 .rska-contact-sep { color: rgba(255,255,255,.2); font-size: 18px; }

/* ── Responsive ── */
@media (max-width: 768px) {
  body.page-id-191 .rska-hero-inner { grid-template-columns: 1fr; }
  body.page-id-191 .rska-hero-visual { display: none; }
  body.page-id-191 .rska-hero { min-height: auto; padding: 120px 0 60px; }
  body.page-id-191 .rska-process-steps { flex-direction: column; align-items: center; }
  body.page-id-191 .rska-ps-line { display: none; }
}

/* ════ LEITBILD / UNTERNEHMENSKULTUR (page-id-8500) — rslb- prefix ════ */
body.page-id-8500 .wpb_raw_html { font-family: Inter, system-ui, -apple-system, sans-serif; }

/* Scroll reveal */
body.page-id-8500 .rs15-reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
body.page-id-8500 .rs15-reveal.visible { opacity: 1; transform: none; }
body.page-id-8500 .rs15-reveal-d1 { transition-delay: .1s; }
body.page-id-8500 .rs15-reveal-d2 { transition-delay: .2s; }
body.page-id-8500 .rs15-reveal-d3 { transition-delay: .3s; }
body.page-id-8500 .rs15-reveal-d4 { transition-delay: .4s; }

/* Container */
body.page-id-8500 .rslb-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* ── HERO ─────────────────────────────────────────────── */
body.page-id-8500 .rslb-hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; background: #07152a; padding: 140px 0 80px; box-sizing: border-box; }
body.page-id-8500 .rslb-hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 80% 70% at 55% 40%, #0d3d1a 0%, #07152a 65%); }
body.page-id-8500 .rslb-hero-overlay { position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

/* Floating leaf decorations */
body.page-id-8500 .rslb-leaf { position: absolute; border-radius: 50% 0 50% 0; opacity: .06; pointer-events: none; }
body.page-id-8500 .rslb-leaf--1 { width: 500px; height: 500px; background: linear-gradient(135deg, #16a34a, transparent); top: -100px; right: -100px; transform: rotate(-20deg); }
body.page-id-8500 .rslb-leaf--2 { width: 300px; height: 300px; background: linear-gradient(135deg, #0891b2, transparent); bottom: 100px; left: -50px; transform: rotate(30deg); }
body.page-id-8500 .rslb-leaf--3 { width: 200px; height: 200px; background: linear-gradient(135deg, #d97706, transparent); top: 40%; right: 10%; transform: rotate(15deg); }

/* Hero inner layout */
body.page-id-8500 .rslb-hero-inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: 100%; }
body.page-id-8500 .rslb-hero-text { max-width: 760px; }

/* Badge */
body.page-id-8500 .rslb-hero-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(22,163,74,.15); border: 1px solid rgba(22,163,74,.35); color: #4ade80; border-radius: 100px; padding: 6px 14px; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 24px; }

/* Headings */
body.page-id-8500 .rslb-h1 { font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 800; line-height: 1.1; color: #fff; margin: 0 0 20px; letter-spacing: -.02em; }
body.page-id-8500 .rslb-hero-sub { font-size: clamp(1rem, 2vw, 1.2rem); color: rgba(255,255,255,.7); line-height: 1.6; margin: 0 0 28px; max-width: 620px; }

/* Pills */
body.page-id-8500 .rslb-hero-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
body.page-id-8500 .rslb-pill { padding: 5px 14px; border-radius: 100px; font-size: 12px; font-weight: 600; letter-spacing: .04em; }
body.page-id-8500 .rslb-pill--green { background: rgba(22,163,74,.2); color: #4ade80; border: 1px solid rgba(22,163,74,.35); }
body.page-id-8500 .rslb-pill--blue { background: rgba(59,130,246,.2); color: #93c5fd; border: 1px solid rgba(59,130,246,.35); }
body.page-id-8500 .rslb-pill--teal { background: rgba(8,145,178,.2); color: #67e8f9; border: 1px solid rgba(8,145,178,.35); }
body.page-id-8500 .rslb-pill--gold { background: rgba(217,119,6,.2); color: #fcd34d; border: 1px solid rgba(217,119,6,.35); }

/* Stats */
body.page-id-8500 .rslb-hero-stats { display: flex; flex-wrap: wrap; gap: 32px; }
body.page-id-8500 .rslb-stat { display: flex; flex-direction: column; gap: 2px; }
body.page-id-8500 .rslb-stat-val { font-size: 1.9rem; font-weight: 800; color: #4ade80; letter-spacing: -.02em; }
body.page-id-8500 .rslb-stat-label { font-size: 11px; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .06em; }

/* Scroll arrow */
body.page-id-8500 .rslb-scroll-arrow { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.4); animation: rslb-bounce 2s infinite; z-index: 3; }
@keyframes rslb-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

/* ── QUOTE ─────────────────────────────────────────────── */
body.page-id-8500 .rslb-quote { background: #f0fdf4; padding: 80px 0; }
body.page-id-8500 .rslb-quote-inner { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 840px; margin: 0 auto; gap: 16px; }
body.page-id-8500 .rslb-quote-mark { font-size: 5rem; line-height: 1; color: #16a34a; font-family: Georgia, serif; opacity: .5; }
body.page-id-8500 .rslb-blockquote { font-size: clamp(1.1rem, 2.5vw, 1.5rem); font-weight: 500; color: #0f172a; line-height: 1.6; margin: 0; font-style: italic; }
body.page-id-8500 .rslb-cite { font-size: 14px; color: #64748b; font-style: normal; font-weight: 600; }

/* ── VALUES ─────────────────────────────────────────────── */
body.page-id-8500 .rslb-values { background: #fff; padding: 96px 0; }
body.page-id-8500 .rslb-section-head { text-align: center; margin-bottom: 56px; }
body.page-id-8500 .rslb-eyebrow { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #16a34a; margin-bottom: 12px; }
body.page-id-8500 .rslb-h2 { font-size: clamp(1.7rem, 3.5vw, 2.5rem); font-weight: 800; color: #0f172a; margin: 0 0 12px; letter-spacing: -.02em; }
body.page-id-8500 .rslb-section-sub { font-size: 1.05rem; color: #64748b; line-height: 1.6; max-width: 560px; margin: 0 auto; }
body.page-id-8500 .rslb-values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
body.page-id-8500 .rslb-value-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 32px; position: relative; transition: transform .3s ease, box-shadow .3s ease; }
body.page-id-8500 .rslb-value-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.08); }
body.page-id-8500 .rslb-value-num { font-size: 3rem; font-weight: 900; color: #e2e8f0; line-height: 1; margin-bottom: 16px; font-variant-numeric: tabular-nums; }
body.page-id-8500 .rslb-value-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
body.page-id-8500 .rslb-value-icon--blue { background: rgba(59,130,246,.12); color: #3b82f6; }
body.page-id-8500 .rslb-value-icon--teal { background: rgba(8,145,178,.12); color: #0891b2; }
body.page-id-8500 .rslb-value-icon--gold { background: rgba(217,119,6,.12); color: #d97706; }
body.page-id-8500 .rslb-value-card h3 { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin: 0 0 8px; }
body.page-id-8500 .rslb-value-card p { font-size: .92rem; color: #64748b; line-height: 1.6; margin: 0 0 16px; }
body.page-id-8500 .rslb-value-tag { display: inline-block; font-size: 11px; font-weight: 600; background: #e0f2fe; color: #0369a1; border-radius: 100px; padding: 3px 10px; letter-spacing: .04em; }

/* ── SUSTAIN (dark) ─────────────────────────────────────── */
body.page-id-8500 .rslb-sustain { position: relative; background: #07152a; padding: 96px 0; overflow: hidden; }
body.page-id-8500 .rslb-sustain-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 70% 80% at 80% 50%, #0d3d1a 0%, #07152a 70%); }
body.page-id-8500 .rslb-sustain-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
body.page-id-8500 .rslb-sustain-text { color: #fff; }
body.page-id-8500 .rslb-label { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #4ade80; margin-bottom: 12px; }
body.page-id-8500 .rslb-h2--light { font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; color: #fff; margin: 0 0 16px; letter-spacing: -.02em; }
body.page-id-8500 .rslb-sustain-body { font-size: 1rem; color: rgba(255,255,255,.7); line-height: 1.7; margin: 0 0 32px; }
body.page-id-8500 .rslb-sustain-items { display: flex; flex-direction: column; gap: 20px; }
body.page-id-8500 .rslb-sustain-item { display: flex; align-items: flex-start; gap: 14px; }
body.page-id-8500 .rslb-si-icon { width: 38px; height: 38px; background: rgba(22,163,74,.15); border: 1px solid rgba(22,163,74,.3); border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #4ade80; }
body.page-id-8500 .rslb-sustain-item strong { display: block; font-size: .95rem; font-weight: 600; color: #fff; margin-bottom: 2px; }
body.page-id-8500 .rslb-sustain-item span { font-size: .85rem; color: rgba(255,255,255,.55); }

/* PV card (visual panel) */
body.page-id-8500 .rslb-sustain-visual { display: flex; flex-direction: column; gap: 16px; }
body.page-id-8500 .rslb-pv-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 24px; }
body.page-id-8500 .rslb-pv-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
body.page-id-8500 .rslb-pv-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.5); }
body.page-id-8500 .rslb-pv-big { font-size: 2.4rem; font-weight: 900; color: #4ade80; letter-spacing: -.03em; }
body.page-id-8500 .rslb-pv-sub { font-size: 12px; color: rgba(255,255,255,.45); margin-top: 2px; }
body.page-id-8500 .rslb-pv-bar-wrap { margin-bottom: 8px; }
body.page-id-8500 .rslb-pv-bar-label { display: flex; justify-content: space-between; font-size: 11px; color: rgba(255,255,255,.5); margin-bottom: 6px; }
body.page-id-8500 .rslb-pv-bar { height: 8px; background: rgba(255,255,255,.08); border-radius: 100px; overflow: hidden; }
body.page-id-8500 .rslb-pv-bar-fill { height: 100%; background: linear-gradient(90deg, #16a34a, #4ade80); border-radius: 100px; }
body.page-id-8500 .rslb-pv-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
body.page-id-8500 .rslb-pv-metric { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 12px; }
body.page-id-8500 .rslb-pvm-val { font-size: 1.3rem; font-weight: 800; color: #4ade80; }
body.page-id-8500 .rslb-pvm-label { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 2px; }

/* ── PILLARS ─────────────────────────────────────────────── */
body.page-id-8500 .rslb-pillars { background: #f8fafc; padding: 96px 0; }
body.page-id-8500 .rslb-pillars-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 0; }
body.page-id-8500 .rslb-pillar { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 32px; transition: transform .3s ease, box-shadow .3s ease; }
body.page-id-8500 .rslb-pillar:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.07); }
body.page-id-8500 .rslb-pillar-num { font-size: 2.5rem; font-weight: 900; color: #e2e8f0; line-height: 1; margin-bottom: 12px; }
body.page-id-8500 .rslb-pillar-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
body.page-id-8500 .rslb-pillar-icon--green { background: rgba(22,163,74,.12); color: #16a34a; }
body.page-id-8500 .rslb-pillar-icon--blue { background: rgba(59,130,246,.12); color: #3b82f6; }
body.page-id-8500 .rslb-pillar-icon--amber { background: rgba(217,119,6,.12); color: #d97706; }
body.page-id-8500 .rslb-pillar h3 { font-size: 1.2rem; font-weight: 700; color: #0f172a; margin: 0 0 12px; }
body.page-id-8500 .rslb-pillar-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body.page-id-8500 .rslb-pillar-list li { font-size: .9rem; color: #475569; line-height: 1.5; padding-left: 16px; position: relative; }
body.page-id-8500 .rslb-pillar-list li::before { content: '→'; position: absolute; left: 0; color: #16a34a; font-size: 12px; }

/* ── TIMELINE (dark) ─────────────────────────────────────── */
body.page-id-8500 .rslb-timeline { position: relative; background: #07152a; padding: 96px 0; overflow: hidden; }
body.page-id-8500 .rslb-timeline-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 20% 50%, #0d2e5e 0%, #07152a 70%); }
body.page-id-8500 .rslb-eyebrow--light { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #93c5fd; margin-bottom: 12px; }
body.page-id-8500 .rslb-timeline .rslb-section-head { position: relative; z-index: 2; }
body.page-id-8500 .rslb-timeline .rslb-h2 { color: #fff; }
body.page-id-8500 .rslb-timeline .rslb-section-sub { color: rgba(255,255,255,.6); }

/* Timeline track */
body.page-id-8500 .rslb-tl-track { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 0; max-width: 800px; margin: 0 auto; }
body.page-id-8500 .rslb-tl-line { position: absolute; left: 20px; top: 20px; bottom: 20px; width: 2px; background: rgba(255,255,255,.1); }
body.page-id-8500 .rslb-tl-item { display: flex; gap: 24px; align-items: flex-start; padding: 12px 0; position: relative; }
body.page-id-8500 .rslb-tl-dot { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.08); border: 2px solid rgba(255,255,255,.15); flex-shrink: 0; display: flex; align-items: center; justify-content: center; z-index: 1; transition: all .3s ease; }
body.page-id-8500 .rslb-tl-dot--active { background: rgba(59,130,246,.25); border-color: #3b82f6; box-shadow: 0 0 0 4px rgba(59,130,246,.15); }
body.page-id-8500 .rslb-tl-dot--future { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
body.page-id-8500 .rslb-tl-card { flex: 1; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 18px 20px; margin-bottom: 8px; transition: all .3s ease; }
body.page-id-8500 .rslb-tl-card--active { background: rgba(59,130,246,.08); border-color: rgba(59,130,246,.25); }
body.page-id-8500 .rslb-tl-card h4 { font-size: 1rem; font-weight: 700; color: #fff; margin: 0 0 4px; }
body.page-id-8500 .rslb-tl-card p { font-size: .88rem; color: rgba(255,255,255,.6); margin: 0; line-height: 1.5; }
body.page-id-8500 .rslb-tl-year { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.35); text-transform: uppercase; letter-spacing: .08em; display: flex; align-items: center; justify-content: center; }
body.page-id-8500 .rslb-tl-year--active { color: #93c5fd; }

/* ── CTA ─────────────────────────────────────────────── */
body.page-id-8500 .rslb-cta { background: linear-gradient(135deg, #07152a 0%, #0d3d1a 100%); padding: 96px 0; position: relative; overflow: hidden; }
body.page-id-8500 .rslb-cta-inner { text-align: center; position: relative; z-index: 2; max-width: 640px; margin: 0 auto; }
body.page-id-8500 .rslb-cta-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(22,163,74,.15); border: 1px solid rgba(22,163,74,.35); color: #4ade80; border-radius: 100px; padding: 6px 16px; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 24px; }
body.page-id-8500 .rslb-cta-h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 800; color: #fff; margin: 0 0 16px; letter-spacing: -.02em; }
body.page-id-8500 .rslb-cta-sub { font-size: 1.05rem; color: rgba(255,255,255,.65); line-height: 1.6; margin: 0 0 36px; }
body.page-id-8500 .rslb-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
body.page-id-8500 .rslb-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border-radius: 10px; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: all .2s ease; border: none; }
body.page-id-8500 .rslb-btn--primary { background: linear-gradient(135deg, #16a34a, #4ade80); color: #fff; box-shadow: 0 4px 16px rgba(22,163,74,.35); }
body.page-id-8500 .rslb-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(22,163,74,.45); }
body.page-id-8500 .rslb-btn--outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.3); }
body.page-id-8500 .rslb-btn--outline:hover { border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.05); }

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  body.page-id-8500 .rslb-sustain-inner { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
  body.page-id-8500 .rslb-values-grid,
  body.page-id-8500 .rslb-pillars-grid { grid-template-columns: 1fr; }
  body.page-id-8500 .rslb-hero-stats { gap: 20px; }
  body.page-id-8500 .rslb-h1 { font-size: 2rem; }
  body.page-id-8500 .rslb-tl-track { padding-left: 0; }
}
/* ════ END LEITBILD (page-id-8500) ════ */


/* ════ FULLSCREEN FIX — Karriere / Leitbild / Presse (container_inner breakout) ════ */
body.page-id-191 .container_inner.default_template_holder,
body.page-id-191 .wpb-content-wrapper,
body.page-id-191 .vc_row.wpb_row,
body.page-id-191 .full_section_inner.clearfix,
body.page-id-191 .vc_column_container,
body.page-id-191 .vc_column-inner,
body.page-id-191 .wpb_wrapper,
body.page-id-8500 .container_inner.default_template_holder,
body.page-id-8500 .wpb-content-wrapper,
body.page-id-8500 .vc_row.wpb_row,
body.page-id-8500 .full_section_inner.clearfix,
body.page-id-8500 .vc_column_container,
body.page-id-8500 .vc_column-inner,
body.page-id-8500 .wpb_wrapper,
body.page-id-1521 .container_inner.default_template_holder,
body.page-id-1521 .wpb-content-wrapper,
body.page-id-1521 .vc_row.wpb_row,
body.page-id-1521 .full_section_inner.clearfix,
body.page-id-1521 .vc_column_container,
body.page-id-1521 .vc_column-inner,
body.page-id-1521 .wpb_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
/* ════ END FULLSCREEN FIX ════ */


/* ════ FULLSCREEN FIX — Karriere / Leitbild / Presse (container_inner breakout) ════ */
body.page-id-191 .container_inner.default_template_holder,
body.page-id-191 .wpb-content-wrapper,
body.page-id-191 .vc_row.wpb_row,
body.page-id-191 .full_section_inner.clearfix,
body.page-id-191 .vc_column_container,
body.page-id-191 .vc_column-inner,
body.page-id-191 .wpb_wrapper,
body.page-id-8500 .container_inner.default_template_holder,
body.page-id-8500 .wpb-content-wrapper,
body.page-id-8500 .vc_row.wpb_row,
body.page-id-8500 .full_section_inner.clearfix,
body.page-id-8500 .vc_column_container,
body.page-id-8500 .vc_column-inner,
body.page-id-8500 .wpb_wrapper,
body.page-id-1521 .container_inner.default_template_holder,
body.page-id-1521 .wpb-content-wrapper,
body.page-id-1521 .vc_row.wpb_row,
body.page-id-1521 .full_section_inner.clearfix,
body.page-id-1521 .vc_column_container,
body.page-id-1521 .vc_column-inner,
body.page-id-1521 .wpb_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
/* ════ END FULLSCREEN FIX ════ */

/* ════ KARRIERE FIXES — badge hide, hstat fix, contact strip hide ════ */
/* Remove top badge "Wir stellen ein — jetzt bewerben" */
body.page-id-191 .rska-hero-badge { display: none !important; }

/* Remove contact strip at bottom of jobs section */
body.page-id-191 .rska-contact-strip { display: none !important; }

/* Fix factbox / hero stats (actual class is rska-hstat-*, not rska-stat-*) */
body.page-id-191 .rska-hero-stats { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 8px; }
body.page-id-191 .rska-hstat { display: flex; flex-direction: column; gap: 2px; }
body.page-id-191 .rska-hstat-val { font-size: 1.9rem; font-weight: 800; color: #4fc3f7; letter-spacing: -.02em; font-family: Inter, system-ui, sans-serif; }
body.page-id-191 .rska-hstat-label { font-size: 11px; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .06em; font-family: Inter, system-ui, sans-serif; }
body.page-id-191 .rska-hstat-sep { display: none; }

/* ── Karriere: benefit-text Farbe fix ── */
body.page-id-191 .rska-benefit-text strong { color: #fff !important; font-weight: 600; }
body.page-id-191 .rska-benefit-text span { color: rgba(255,255,255,.75) !important; font-size: 13px; line-height: 1.5; }
/* ── Karriere: scroll-arrow, global-stat, video-frame ── */
body.page-id-191 .rska-scroll-arrow { display: none !important; }
body.page-id-191 .rska-hstat:last-child { display: none !important; }
body.page-id-191 .rska-video-wrap { width: 520px !important; max-width: 520px !important; }
body.page-id-191 .rska-video-frame { width: 520px !important; height: 320px !important; border-radius: 16px; overflow: hidden; }
/* ── Presse: scroll-arrow ── */
body.page-id-1521 .rspr-scroll-arrow { display: none !important; }


/* ── Unternehmen: tiles 4-col row ── */
body.page-id-187 .rs-tiles { grid-template-columns: repeat(4, 1fr) !important; }

/* ── Unternehmen: stats 3-col row ── */
body.page-id-187 .rs-stats__grid { grid-template-columns: repeat(3, 1fr) !important; }
/* ════ END KARRIERE FIXES ════ */

/* ══════════════════════════════════════════════════════
   NAV-FIX — Dropdown sichtbar bei Hover (CSS-only)
   Kubi-JS bindet keine hover-Events mehr → reines CSS
   ══════════════════════════════════════════════════════ */
nav.main_menu ul li.has_sub:hover &gt; ul,
header.scroll_header_top_area nav.main_menu ul li.has_sub:hover &gt; ul {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}
/*RSD25S*/ body .footer_top_holder{background-color:#00264e!important} body .footer_bottom_holder{background-color:#00264e!important} body .footer_top_holder .widget_nav_menu li a,body .footer_top_holder .widget ul li a,body .footer_top_holder .textwidget a,body .footer_top_holder .mail-link a{color:#ffffff!important} body .footer_top_holder .widget_nav_menu li a:hover,body .footer_top_holder .widget ul li a:hover,body .footer_top_holder .textwidget a:hover{color:#dce168!important} body .footer_bottom_holder,body .footer_bottom_holder p,body .footer_bottom_holder span{color:#e6ecf5!important} body .footer_bottom_holder a{color:#ffffff!important} body .footer_bottom_holder a:hover{color:#dce168!important} body .scroll_header_top_area.scrolled_not_transparent:not(.scrolled) .main_menu&gt;ul&gt;li&gt;a{color:#003264!important} body .scroll_header_top_area.scrolled_not_transparent:not(.scrolled) .main_menu&gt;ul&gt;li:hover&gt;a{color:#3a6ea5!important} body .scroll_header_top_area.scrolled,body .scroll_header_top_area.scrolled .header_bottom,body .scroll_header_top_area.scrolled .header_top_bottom_holder{background-color:#003264!important} body .scroll_header_top_area.scrolled .main_menu&gt;ul&gt;li&gt;a,body .scroll_header_top_area.scrolled .main_menu a,body .scroll_header_top_area.scrolled .main_menu li&gt;a{color:#ffffff!important} body .scroll_header_top_area.scrolled .main_menu&gt;ul&gt;li:hover&gt;a{color:#dce168!important} body .footer_top_holder .widget_text .textwidget,body .footer_top_holder .widget_text .textwidget *,body .footer_top_holder .textwidget,body .footer_top_holder .textwidget *{color:#ffffff!important} body #nav-menu-item-7743&gt;a{border:2px solid #003264!important;border-radius:22px!important;height:42px!important;line-height:38px!important;padding-top:0!important;padding-bottom:0!important;display:inline-block!important;margin-top:29px!important;transition:background .2s,color .2s,border-color .2s!important} body #nav-menu-item-7743&gt;a:hover{background:#003264!important;color:#fff!important} body .scroll_header_top_area.scrolled #nav-menu-item-7743&gt;a{border-color:#fff!important;margin-top:24px!important} body .scroll_header_top_area.scrolled #nav-menu-item-7743&gt;a:hover{background:#fff!important;color:#003264!important} body .main_menu&gt;ul&gt;li&gt;a{padding-left:13px!important;padding-right:13px!important} body .footer_top_holder .widget_text .textwidget a:hover,body .footer_top_holder .mail-link:hover{color:#dce168!important} body .rsm-cta{box-sizing:border-box!important;background:linear-gradient(135deg,#003264,#00264e)!important} body .rsft-badges .rsft-badge:nth-child(2){display:none!important} body .footer_top_holder h3,body .footer_top_holder .widget&gt;h3,body .footer_top_holder .widget-title{color:#dce168!important} body .footer_top_holder .widget h3,body .footer_top_holder .column_inner h3{color:#dce168!important} /*RSD25E*/