/**
 * Startseite (Vorlage node/9): Hero-Slider, Highlight-Kacheln,
 * Kundenlieblinge-Slider. Full-Bleed über die Olivero-Inhaltsspalte.
 */
.dostart-home {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: hidden;
}
.dostart-home .bbred { color: #b32d2f; }

/* Zentrierter Inhaltscontainer für Abschnitte, die nicht full-bleed sind. */
.dw-hero__inner,
.dw-highlights__grid,
.dw-faves {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* ── Hero-Slider ──────────────────────────────────────────── */
.dw-hero {
  position: relative;
  overflow: hidden;
  background: #14171c;
}
.dw-hero__slides { position: relative; }
.dw-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease;
  background-size: cover;
  background-position: center;
}
.dw-hero__slide.is-active { position: relative; opacity: 1; visibility: visible; }
.dw-hero__slide::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(10,12,16,.85) 0%, rgba(10,12,16,.55) 45%, rgba(10,12,16,.15) 100%);
}
.dw-hero__slide--light::before {
  background: linear-gradient(90deg, rgba(240,242,245,.92) 0%, rgba(240,242,245,.65) 45%, rgba(240,242,245,.1) 100%);
}
.dw-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 520px;
  padding-top: 40px;
  padding-bottom: 40px;
}
.dw-hero__content { flex: 0 0 46%; max-width: 46%; color: #fff; }
.dw-hero__slide--light .dw-hero__content { color: #20303c; }
.dw-hero__kicker {
  color: #b32d2f; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; font-size: 14px; margin-bottom: 14px;
}
.dw-hero__title {
  font-family: 'Anton', 'Roboto Condensed', sans-serif;
  text-transform: uppercase; line-height: 1.02;
  font-size: 56px; margin: 0 0 18px; font-weight: 400;
}
.dw-hero__text { font-size: 18px; line-height: 1.5; margin: 0 0 24px; max-width: 460px; }
.dw-hero__btn {
  display: inline-block; background: #b32d2f; color: #fff; text-decoration: none;
  font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
  padding: 14px 30px; border-radius: 4px; transition: background .15s ease;
}
.dw-hero__btn:hover { background: #962628; color: #fff; }
.dw-hero__usps { display: flex; gap: 34px; margin-top: 34px; flex-wrap: wrap; }
.dw-hero__usp { display: flex; align-items: center; gap: 10px; }
.dw-hero__usp-ic {
  width: 30px; height: 30px; color: #b32d2f; font-size: 20px;
  display: flex; align-items: center; justify-content: center; flex: 0 0 30px;
}
.dw-hero__usp strong { display: block; font-size: 15px; text-transform: uppercase; letter-spacing: .02em; }
.dw-hero__usp span { font-size: 13px; opacity: .85; }
.dw-hero__product { flex: 1 1 54%; display: flex; align-items: center; justify-content: center; }
.dw-hero__product img { max-height: 440px; max-width: 100%; width: auto; filter: drop-shadow(0 20px 40px rgba(0,0,0,.4)); }

/* Bearbeiten-Button (nur für Redakteure) in der oberen Ecke des Slides. */
.dw-hero__edit {
  position: absolute; top: 14px; right: 14px; z-index: 5;
  background: rgba(0,0,0,.6); color: #fff; text-decoration: none;
  font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 4px;
  display: inline-flex; align-items: center; gap: 6px;
}
.dw-hero__edit:hover { background: #b32d2f; color: #fff; }

.dw-hero__arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 3; width: 46px; height: 46px; border-radius: 50%;
  background: rgba(255,255,255,.85); color: #20303c; border: none;
  font-size: 24px; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s ease;
}
.dw-hero__arrow:hover { background: #fff; }
.dw-hero__arrow--prev { left: 18px; }
.dw-hero__arrow--next { right: 18px; }
.dw-hero__dots {
  position: absolute; bottom: 18px; left: 0; right: 0; z-index: 3;
  display: flex; gap: 8px; justify-content: center;
}
.dw-hero__dots button {
  width: 12px; height: 12px; border-radius: 50%; border: none; padding: 0;
  background: rgba(255,255,255,.5); cursor: pointer;
}
.dw-hero__dots button.is-active { background: #b32d2f; }

/* ── Highlight-Kacheln ────────────────────────────────────── */
.dw-highlights { padding: 34px 0 10px; }
.dw-highlights__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dw-highlights__col { display: grid; grid-template-rows: 1fr 1fr; gap: 16px; }
.dw-hl {
  position: relative; display: block; overflow: hidden; border-radius: 8px;
  text-decoration: none; color: #fff; min-height: 150px;
}
.dw-hl--main { grid-row: span 1; min-height: 316px; }
.dw-hl__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dw-hl__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 100%); }
.dw-hl__content { position: relative; z-index: 2; display: block; padding: 24px 26px; }
.dw-hl--small .dw-hl__content { display: flex; align-items: center; gap: 16px; }
.dw-hl__eyebrow { display: block; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 700; opacity: .9; margin-bottom: 6px; }
.dw-hl__title {
  display: block; font-family: 'Anton', 'Roboto Condensed', sans-serif;
  text-transform: uppercase; line-height: 1.02; font-size: 30px;
}
.dw-hl--small .dw-hl__title { font-size: 24px; }
.dw-hl__text { display: block; margin-top: 8px; font-size: 15px; opacity: .95; }
.dw-hl__number { font-family: 'Anton', sans-serif; font-size: 60px; line-height: 1; color: #b32d2f; }
.dw-hl__labor-icon { width: 46px; height: 46px; }
.dw-hl__arrow {
  position: absolute; right: 0; bottom: 0; z-index: 3;
  width: 42px; height: 38px; background: #b32d2f; color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 18px;
  border-top-left-radius: 6px;
}

/* ── Kundenlieblinge (Produkt-Slider) ─────────────────────── */
.dw-faves { padding: 46px 0 56px; margin-top: 30px; background: #f3f4f6; max-width: none; }
.dw-faves__head { text-align: center; max-width: 900px; margin: 0 auto 10px; padding: 0 20px; }
.dw-faves__kicker { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; font-weight: 700; color: #6b7680; }
.dw-faves__title {
  font-family: 'Anton', 'Roboto Condensed', sans-serif; text-transform: uppercase;
  color: #20303c; font-size: 40px; margin: 6px 0 10px;
}
.dw-faves__intro { color: #4a5560; font-size: 16px; margin: 0 0 10px; }
.dw-faves__carousel { position: relative; max-width: 1180px; margin: 0 auto; padding: 40px 44px 10px; }
.dw-faves__viewport { overflow: hidden; }
/* Nur seitlich abschneiden (wartende Kacheln), oben bleibt Platz für das
   leichte Anheben der Karte beim Hover. */
@supports (overflow: clip) {
  .dw-faves__viewport { overflow-x: clip; overflow-y: visible; }
}
.dw-faves__track { display: flex; transition: transform .35s ease; }
/* Slider-Platz; die Kachel selbst ist ein Produkt-Teaser (produkt.css),
   einheitlich mit den Kategorieseiten (Mail Denis 06.11.2026). */
.dw-fave {
  flex: 0 0 25%; max-width: 25%; box-sizing: border-box; padding: 0 7px;
  display: flex; flex-direction: column;
}

.dw-faves__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
  width: 40px; height: 40px; border-radius: 50%; border: none; cursor: pointer;
  background: #fff; color: #20303c; font-size: 22px; box-shadow: 0 2px 8px rgba(0,0,0,.15);
  display: flex; align-items: center; justify-content: center;
}
.dw-faves__arrow--prev { left: 0; }
.dw-faves__arrow--next { right: 0; background: #b32d2f; color: #fff; }
.dw-faves__dots { display: flex; gap: 8px; justify-content: center; margin-top: 22px; }
.dw-faves__dots button { width: 10px; height: 10px; border-radius: 50%; border: none; padding: 0; background: #ccc; cursor: pointer; }
.dw-faves__dots button.is-active { background: #b32d2f; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 991px) {
  .dw-hero__title { font-size: 42px; }
  .dw-hero__inner { min-height: 460px; }
  .dw-fave { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 767px) {
  .dw-hero__inner { flex-direction: column; text-align: center; min-height: 0; }
  .dw-hero__content { flex: none; max-width: 100%; }
  .dw-hero__usps { justify-content: center; }
  .dw-hero__product { order: -1; }
  .dw-hero__product img { max-height: 260px; }
  .dw-highlights__grid { grid-template-columns: 1fr; }
  .dw-hl--main { min-height: 200px; }
  .dw-fave { flex-basis: 100%; max-width: 100%; }
}

/* ── Schriftgrößen EXAKT nach Vorlage node/9 (hohe Spezifität,
      damit Theme-Basisregeln nicht überschreiben) ─────────────── */
.dostart-home .dw-hero__kicker { font-size: 18px; line-height: 1.5; }
.dostart-home .dw-hero__title  { font-size: 52px; line-height: 1.2; color: inherit; }
.dostart-home .dw-hero__text   { font-size: 19px; line-height: 1.45; }
.dostart-home .dw-hero__text p { margin: 0; }
/* Titel/Text sind WYSIWYG-Felder: CKEditor kann den Inhalt in <p> (o. <h2>)
   verpacken. Inhalt daher immer in der jeweiligen Feldgröße ausgeben, egal
   welches Block-Tag gespeichert wurde – verhindert den Größensprung beim
   (Neu-)Speichern / Hell↔Dunkel-Wechsel (Denis, 24.09.2026). */
.dostart-home .dw-hero__title > p,
.dostart-home .dw-hero__title > h1,
.dostart-home .dw-hero__title > h2,
.dostart-home .dw-hero__title > h3 {
  font: inherit; margin: 0; color: inherit; text-transform: inherit;
  letter-spacing: inherit;
}
.dostart-home .dw-hero__text > p:first-child { margin-top: 0; }
.dostart-home .dw-hero__title .redtext,
.dostart-home .dw-hero__text .redtext { color: #b32d2f; }
.dostart-home .dw-hero__btn    { font-size: 16px; }
.dostart-home .dw-hero__usp strong { font-size: 15px; }
.dostart-home .dw-hero__usp span   { font-size: 13px; }

.dostart-home .dw-hl__eyebrow { font-size: 14.88px; }
.dostart-home .dw-hl--main .dw-hl__title  { font-size: 56px; }
.dostart-home .dw-hl--small .dw-hl__title { font-size: 32px; }
.dostart-home .dw-hl__text    { font-size: 16.8px; }
.dostart-home .dw-hl__number  { font-size: 78px; }

.dostart-home .dw-faves__kicker { font-size: 14.4px; }
.dostart-home .dw-faves__title  { font-size: 52px; }
.dostart-home .dw-faves__intro  { font-size: 16px; }

@media (max-width: 991px) {
  .dostart-home .dw-hero__title { font-size: 42px; }
}
@media (max-width: 767px) {
  .dostart-home .dw-hero__title { font-size: 34px; }
  .dostart-home .dw-hl--main .dw-hl__title { font-size: 34px; }
  .dostart-home .dw-faves__title { font-size: 34px; }
}

/* ─── Neuheiten (zweiter Produkt-Slider, heller Hintergrund) ─── */
.dw-faves.dw-faves--neu { background: #fff; margin-top: 0; }

/* ─── Neu im Magazin ─────────────────────────────────────────── */
.dw-home-magazin { padding: 46px 0 50px; background: #f3f4f6; }
.dw-home-magazin .dw-faves__head { margin-bottom: 26px; }
.dw-home-magazin__kicker { text-transform: uppercase; letter-spacing: .06em; font-size: 12px; font-weight: 700; color: #6b7680; margin-bottom: 6px; }
.dw-home-magazin__alle { text-align: center; margin: 30px 0 0; }
.dw-home-magazin__btn { display: inline-block; padding: 12px 30px; border-radius: 4px; background: #416681; color: #fff !important; font-weight: 700; text-decoration: none; }
.dw-home-magazin__btn:hover { background: #2f4d63; }

/* ─── SEO-Text mit H1 (D7-Startseitentext) ───────────────────── */
.dw-home-seo { padding: 50px 0 20px; background: #fff; }
.dw-home-seo__inner { max-width: 1000px; text-align: center; }
.dw-main .dw-home-seo__titel, .dw-home-seo__titel { font-family: 'Anton', sans-serif; color: #416681; font-size: 30px; line-height: 1.25; text-transform: uppercase; margin: 0 0 20px; }
.dw-home-seo__text { color: #3a4650; font-size: 16px; line-height: 1.7; }
.dw-home-seo__text h2 { font-family: 'Roboto Condensed', Arial, sans-serif; font-size: 20px; font-weight: 700; color: #2b3640; margin: 26px 0 8px; text-transform: none; }
.dw-home-seo__text a { color: #b32d2f; }
@media (max-width: 767px) {
  .dw-main .dw-home-seo__titel, .dw-home-seo__titel { font-size: 22px; }
  .dw-home-seo__text { font-size: 15px; text-align: left; }
}

/* Bearbeiten-Link der Highlight-Kacheln (nur Redakteure). */
.dw-highlights { position: relative; }
.dw-highlights__edit { position: absolute; top: 6px; right: 15px; z-index: 3; font-size: 13px; background: #fff; border: 1px solid #dde3e8; border-radius: 4px; padding: 2px 10px; color: #416681; text-decoration: none; }
