/* ============================================================
   INLAY (Version 5) – Ergänzungen zu main.css
   main.css wird immer als Basis geladen, diese Datei danach (siehe
   KONZEPT, Paket 6). Abschnitte in dieser Reihenfolge:
   1. Versions-Hooks (.section--NAME-inlay, ehemals in main.css)
   2. Seitentypen (ehemals css/layouts/{typ}-5.css)
   Seitentyp-Regeln sind mit :where(.dv-<typ>) auf ihren Seitentyp begrenzt.
   ============================================================ */

/* ============================================================
   1. VERSIONS-HOOKS
   ============================================================ */

.section--galerie-inlay .container {
  text-align: center;
}

@media (min-width: 1280px) {
  .section--alt.section--about-inlay {
    padding-bottom: 0;
  }
}

.section--leistungen-hero-inlay .container,
.section--notfall-hero-inlay .container,
.section--ueberuns-hero-inlay .container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-lg);
}

@media (min-width: 768px) {
  .section--leistungen-hero-inlay .page-hero__text,
  .section--ueberuns-hero-inlay .page-hero__text,
  .section--notfall-hero-inlay .page-hero__text {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: end;
  }
}

@media (min-width: 1133px) {
  .section--leistungen-hero-inlay .page-hero__image,
  .section--ueberuns-hero-inlay .page-hero__image,
  .section--notfall-hero-inlay .page-hero__image {
    height: 55vh;
    width: 100%;
    background-color: var(--color-bg-alt);
    min-height: 450px;
  }
}

.section--leistungen-hero-inlay .page-hero__image img,
.section--ueberuns-hero-inlay .page-hero__image img,
.section--notfall-hero-inlay .page-hero__image img {
  aspect-ratio: 2 / 1;
}

.section--notfall-hero-inlay .page-hero__text p {
  max-width: 600px;
  /* leicht größer als der Fließtext, aber relativ zu --text-body statt fest
     1.0625rem: folgt dadurch der Fließtext-Größe unter Website-Einstellungen →
     Schriften (auch bei clamp()-Werten und pro Version). */
  font-size: calc(var(--text-body) * 1.0625);
}

.section--kontakt-hero-inlay {
  min-height: 50vh;
  display: flex;
  align-items: center;
}

.section--kontakt-hero-inlay .page-hero__text {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
  gap: var(--gap-md);
}

.section--white.section--kontakt-split-inlay {
  padding-top: 0;
  padding-bottom: 0;
}

/* ============================================================
   2. SEITENTYPEN
   ============================================================ */

/* ------------------------------------------------------------
   Notfall (ehemals css/layouts/notfall-5.css)
   ------------------------------------------------------------ */

/* ============================================================
   NOTFALL – VARIANTE 5 (Inlay, page-notfall-5.php)
   Nur das, was von der Basis (main.css) abweicht. Wird automatisch geladen
   (css/layouts/{type}-{variante}.css, siehe functions.php).
   ============================================================ */

/* Hero-Text genau in Fließtext-Größe (--text-body) statt des Aufschlags
   × 1.0625 aus main.css. */
.section--notfall-hero-inlay .page-hero__text p {
  font-size: var(--text-body);
}

/* ------------------------------------------------------------
   Startseite (ehemals css/layouts/startseite-5.css)
   ------------------------------------------------------------ */

/* ============================================================
   STARTSEITE – VARIANTE 5 (page-startseite-5.php)
   Übriges Layout auf den Stand von Startseite-1 gebracht. Der Hero ist
   eine Ausnahme: eigene Hook-Klasse section--hero-inlay, Design/Aufbau 1:1
   von Startseite-2 übernommen (gestapelt, kein Grid-Umschalten auf
   Desktop, Bild als durchgehend breites Banner statt Grid-Spalte).
   ============================================================ */

/* 1:1 aus main-dentin.css (.section--hero-dentin), nur Hook-Klasse auf -inlay
   angepasst. */
.section--hero-inlay .container {
  display: flex;
  flex-direction: column;
  gap: var(--gap-lg);
}

/* Textspalte: Hälfte der Containerbreite, höchstens 1000px; Untergrenze 28rem
   bzw. volle Breite auf dem Handy (siehe main-enamel.css). */
.section--hero-inlay .hero__content {
  width: clamp(min(100%, 28rem), 50%, 1000px);
}

.section--hero-inlay .hero__subtitle {
  margin-bottom: 0;
}

/* Zweigeteilter Hintergrund: ein Band in der dunkleren Hover-Akzentfarbe
   (--color-primary-dark, aus der Akzentfarbe/Palette abgeleitet, ≥ 7:1 zu
   Weiss) reicht vom oberen Rand des Heros bis zur Hälfte des Bildes, darunter bleibt
   der normale Sektions-Hintergrund (--color-bg-alt) stehen – das Bild
   überlappt beide Flächen. Das Band hängt als ::before am Bild
   (bottom: 50% = Bildmitte), z-index: -1 legt es hinter Text und Bild (die
   Section ist per main.css .section ein eigener Stacking-Context). Es ist
   viewport-breit (left/width) und ragt nach oben weit über die Section
   hinaus – overflow: clip schneidet es an den Section-Rändern ab, ohne einen
   Scroll-Container anzulegen. ::after des Bildes trägt schon den weissen
   Rahmen (unten). Text im Band: weiss (Kontrast zur Hover-Farbe ist durch
   die Palette-Ableitung ≥ 7:1, siehe includes/colors.php). */
.section--hero-inlay {
  overflow: clip;
}

/* Ab Tablet: Hero füllt den ersten Bildschirm (Header abgezogen): Text oben,
   das Bild nimmt die Resthöhe – so liegen die Buttons am unteren Bildrand ohne
   Scrollen im sichtbaren Bereich. Auf dem Smartphone entfällt das (Bild dort
   quadratisch, siehe unten), daher keine Mindesthöhe und kein Flex-Container. */
@media (min-width: 768px) {
  .section--hero-inlay {
    display: flex;
    flex-direction: column;
    min-height: calc(100svh - var(--nav-height));
  }

  .section--hero-inlay .container {
    flex: 1;
    width: 100%;
  }
}

/* Smartphone: Bild quadratisch (1:1), und der untere der beiden Buttons hängt
   komplett unter dem unteren Bildrand, der obere bleibt im Bild (Ausbuchtung).
   Abstände und Paddings bleiben wie in der Basis. --hero-btn-hang = Höhe eines
   Buttons (Zeilenhöhe + 2 × 0,75em Padding + 2 × 1px Rahmen, siehe .btn-* in
   main.css) plus die Lücke zwischen den Buttons (--gap-sm): um so viel rutscht
   .hero__buttons nach unten (bottom) – die Unterkante des oberen Buttons liegt
   dadurch bündig mit der Unterkante des weissen Bildrahmens – und das Bild
   bekommt denselben margin-bottom, damit der Button im Layout Platz hat und
   nicht von overflow: clip der Section abgeschnitten wird. Die Fläche hinter
   dem überhängenden Button ist der normale Sektions-Hintergrund. */
@media (max-width: 767.98px) {
  /* .container davor: höhere Spezifität, sonst gewinnt die weiter unten
     stehende Basisregel (flex/min-height) gleichrangig durch ihre Position. */
  .section--hero-inlay .container .hero__image {
    --hero-btn-hang: calc(var(--text-body) * (var(--leading-body) + 1.5) + 2px + var(--gap-sm));
    flex: none;
    min-height: 0;
    aspect-ratio: 1 / 1;
    margin-bottom: var(--hero-btn-hang);
  }

  /* auch hier höhere Spezifität: die Basisregel .section--hero-inlay .hero__buttons
     (bottom: 0) steht weiter unten in der Datei. */
  .section--hero-inlay .hero__image .hero__buttons {
    bottom: calc(-1 * var(--hero-btn-hang));
    /* Der rechte Rahmen der Ausbuchtung (weiss) würde sonst neben dem unteren
       Button unter das Bild weiterlaufen. Statt border-right eine eigene
       Linie (::after), die nur so hoch ist wie der Teil im Bild; padding-right
       gleicht die Breite des früheren Rahmens aus, die Fläche bleibt gleich
       gross. */
    border-right: none;
    padding-right: calc(var(--gap-sm) + 0.25rem);
  }

  .section--hero-inlay .hero__image .hero__buttons::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0.25rem;
    height: calc(100% - var(--hero-btn-hang));
    background: white;
  }
}

/* Header (header-5.php, Basis-.nav aus main.css mit border-bottom) ohne
   Trennlinie – nur auf der Inlay-Startseite: diese Datei wird ausschließlich
   dort geladen (main-inlay.css), alle anderen Seiten behalten
   den Rahmen. Das Farbband des Heros schliesst direkt an den Header an. */
:where(.dv-startseite) .nav {
  border-bottom: none;
}

.section--hero-inlay .hero__image::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  top: -200vh;
  bottom: 50%;
  background: var(--color-primary-dark);
}

.section--hero-inlay .hero__eyebrow,
.section--hero-inlay .hero__title,
.section--hero-inlay .hero__subtitle {
  color: var(--color-white);
}

.section--hero-inlay .hero__image {
  position: relative;
  /* Kein festes Seitenverhältnis mehr: das Bild füllt die Resthöhe des ersten
     Bildschirms (siehe .section--hero-inlay oben), damit die Buttons am Bildrand
     ohne Scrollen sichtbar sind. Mindesthöhe, falls der Text sehr lang wird. */
  flex: 1 1 auto;
  min-height: 18rem;
  border-radius: var(--radius-card);
}

/* Das <img> füllt die (flex-bestimmte) Bildfläche absolut – height: 100% würde
   hier nicht greifen, weil die Höhe der Fläche nicht fest, sondern flex-bestimmt
   ist. object-fit: cover schneidet je nach Höhe zu. */
.section--hero-inlay .hero__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-card);
}

/* Weisser Rahmen als ::after statt border/box-shadow direkt auf dem Bild:
   border würde zusammen mit aspect-ratio in Safari/WebKit zu falscher
   (zu grosser) Boxberechnung führen (siehe CSS-Fallstricke); box-shadow
   würde dagegen vom randlos aufliegenden <img> komplett verdeckt (box-shadow
   beansprucht keinen Platz im Layout). Ein absolut positioniertes ::after
   liegt garantiert über dem Bild und beeinflusst keine aspect-ratio-Berechnung. */
.section--hero-inlay .hero__image::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 0.25rem solid white;
  pointer-events: none;
}

/* .hero__buttons liegt jetzt in .hero__image (statt in .hero__content) –
   als Overlay unten im Bild, mit Hintergrund für Lesbarkeit über
   beliebigen Fotos. */
.section--hero-inlay .hero__buttons {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  padding: var(--gap-sm) var(--gap-sm) 0 0;
  background: var(--color-bg-alt);
  border-top: solid 0.25rem white;
  border-right: solid 0.25rem white;
}

@media (min-width: 1133px) {
  .section--hero-inlay .hero__image {
    width: 100%;
    background-color: var(--color-bg-alt);
  }
}

/* Sitewide (main.css, RESPONSIVE 1280px) entfernt .section--alt.section--about
   ab 1280px sein padding-bottom komplett – hier für Startseite-5 gezielt
   zurückgesetzt auf den normalen .section-Wert dieser Breite. */
@media (min-width: 1280px) {
  .section--alt.section--about-inlay {
    padding-bottom: var(--section-py);
  }
}

@media (min-width: 768px) {
  :where(.dv-startseite) .leistungen__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobil: Leistungs-Karten als Swipe-Carousel (Muster: conventions.md → Mobile-Swipe-Carousel; Punkte: js/carousel-dots.js). */
@media (max-width: 767.98px) {
  .section--leistungen-inlay .leistungen__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 88%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* bis an den rechten Bildschirmrand (hebt den Innenabstand 1.5rem des .container auf; der Abstand bleibt am Ende der Reihe erhalten) */
    margin-right: -1.5rem;
    padding-right: 1.5rem;
  }

  .section--leistungen-inlay .leistungen__grid::-webkit-scrollbar {
    display: none;
  }

  .section--leistungen-inlay .leistungen__card {
    scroll-snap-align: start;
  }

  /* Keine Eingangsanimation in der Wisch-Reihe: auch der Schutz vor dem ersten Paint (html.reveal-pending, functions.php) versteckt diese Karten nicht. */
  html.reveal-pending .section--leistungen-inlay .leistungen__grid > * {
    opacity: 1;
  }
}

/* Ganze Karte ist jetzt selbst ein <a> (statt <div> mit innerem Link) –
   gleiches Muster wie main-enamel.css/main-veneer.css. Reset der
   Anchor-Standardstile, damit h3/p nicht wie Linktext aussehen. */
:where(.dv-startseite) .leistungen__card {
  padding: 0rem 1.5rem 2.5rem;
  position: relative;
  text-decoration: none;
}

:where(.dv-startseite) .leistungen__card img {
  width: 60%;
  height: 12.5vh;
  margin: 0 calc(-1rem + -.5rem) 0;
  border-bottom: var(--gap-xs) solid var(--color-bg-alt);
  border-left: var(--gap-xs) solid var(--color-bg-alt);
  border-radius: 0;
  transition: transform 0.4s ease;
}

:where(.dv-startseite) .leistungen__card:hover img {
  transform: scale(1.1);
}

@media (prefers-reduced-motion: reduce) {
  :where(.dv-startseite) .leistungen__card img {
    transition: none;
  }
}

/* "Mehr erfahren"-Span ist kein <a> mehr (siehe oben), deshalb die
   sitewide .leistungen__card a-Optik (main.css) hier repliziert. */
:where(.dv-startseite) .leistungen__card-link {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-xs);
  color: var(--color-primary-text);
  font-size: 0.9375rem;
  font-weight: 500;
  text-transform: uppercase;
  transition: letter-spacing 300ms;
}

:where(.dv-startseite) .leistungen__card:hover .leistungen__card-link {
  letter-spacing: 1px;
}

/* Statt Text-Unterstreichen beim Hover: Rand am unteren Kartenrand,
   wächst per width 0 -> 100% von links nach rechts. */
:where(.dv-startseite) .leistungen__card::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background: var(--color-primary-dark);
  transition: width 300ms ease;
}

:where(.dv-startseite) .leistungen__card:hover::after {
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  :where(.dv-startseite) .leistungen__card::after {
    transition: none;
  }
}

/* Weisser Rahmen als ::after statt border/box-shadow direkt am Element:
   siehe Begründung bei .section--hero-inlay .hero__image oben (Safari-Bug mit
   aspect-ratio+border, box-shadow wird vom randlosen <img>-Kind verdeckt). */
:where(.dv-startseite) .about__image,
:where(.dv-startseite) .galerie__item {
  aspect-ratio: 1 / 1;
  position: relative;
}

:where(.dv-startseite) .about__image::after,
:where(.dv-startseite) .galerie__item::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 0.25rem solid white;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .section--hero-inlay .hero__image::after,
  .section--hero-inlay .hero__buttons,
  :where(.dv-startseite) .about__image::after,
  :where(.dv-startseite) .galerie__item::after {
    border-width: 0.5rem;
  }
}

/* Karte (Google Maps) mit demselben weissen Rahmen wie die Bilder. Ein
   <iframe> kann kein ::after tragen, daher ein echter border (gleiche Stärke:
   0.25rem, ab 1024px 0.5rem). !important nur, weil das Markup
   style="border:0;" inline setzt. border-box, damit width="100%" nicht um die
   Rahmenbreite überläuft. Gilt auch für den Platzhalter ohne Karten-URL. */
:where(.dv-startseite) .kontakt__map {
  box-sizing: border-box;
  border: 0.25rem solid white !important;
}

@media (min-width: 1024px) {
  :where(.dv-startseite) .kontakt__map {
    border-width: 0.5rem !important;
  }
}

@media (min-width: 768px) {
  :where(.dv-startseite) .about__inner {
    grid-template-columns: 1fr 1fr;
  }
}

/* Mobile-Swipe-Carousel wie .leistungen__grid auf Startseite-2 (siehe
   conventions.md → Mobile-Swipe-Carousel), nur auf Startseite-5 auf
   .bewertungen__grid angewendet. Komplett in max-width:767.98px gekapselt
   statt unbedingt gesetzt und ab 768px zurückgedreht: main.css' eigene
   Breakpoint-Stufen (2 Spalten ab 768px, 3 ab 1280px) greifen dadurch ab
   768px vollkommen ungestört, kein Override hier nötig – siehe
   conventions.md → CSS-Fallstricke. */
@media (max-width: 767.98px) {
  :where(.dv-startseite) .bewertungen__grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 88%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  :where(.dv-startseite) .bewertungen__grid::-webkit-scrollbar {
    display: none;
  }

  :where(.dv-startseite) .bewertungen__card {
    scroll-snap-align: start;
  }

  /* bis an den rechten Bildschirmrand (hebt den Innenabstand 1.5rem des .container auf; der Abstand bleibt am Ende der Reihe erhalten)
     und keine Eingangsanimation: auch der Schutz vor dem ersten Paint (html.reveal-pending, functions.php) versteckt diese Karten nicht. */
  .section--bewertungen-inlay .bewertungen__grid:not(.bewertungen__grid--slider) {
    margin-right: -1.5rem;
    padding-right: 1.5rem;
  }

  html.reveal-pending .section--bewertungen-inlay .bewertungen__grid:not(.bewertungen__grid--slider) > * {
    opacity: 1;
  }
}

:where(.dv-startseite) .bewertungen__card {
  display: flex;
  flex-direction: column;
  gap: var(--gap-md);
}

:where(.dv-startseite) .bewertungen__card blockquote {
  flex-grow: 1;
}

:where(.dv-startseite) .bewertungen__card-meta {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

:where(.dv-startseite) .bewertungen__card-meta cite {
  margin-bottom: 0;
}

/* Bewertungen: Kunden-Foto pro Zitat, gleiche Werte wie .leistungen__card img */
:where(.dv-startseite) .bewertungen__card img,
:where(.dv-startseite) .bewertungen__card .img-placeholder {
  width: 150px;
  height: 150px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 100%;
  align-self: flex-start;
  margin-bottom: var(--gap-md);
}

/* Google-Link steht jetzt unter .bewertungen__grid statt im Header,
   braucht deshalb eigene Positionierung (vorher übernahm
   .bewertungen__header { text-align: center } das automatisch). */
:where(.dv-startseite) .bewertungen__link {
  display: block;
  text-align: center;
  margin-top: var(--gap-lg);
}


/* ============================================================
   FOOTER – VARIANTE 5 (footer-5.php)
   Hook-Klasse .footer--inlay (nur dieser Footer); gemeinsame Grundstile in main.css (.footer …).
   Kein Aufdeck-Effekt (main.css: sticky am unteren Fensterrand): der Footer steht normal am Seitenende.
   Aufbau (Vorlage des Auftraggebers): dunkle Fläche (.footer__panel, eckig) in Inhaltsbreite auf hellem Streifen (--color-bg-alt); oben links Logo und Navigation,
   rechts Social-Links mit Namen; darunter Linie, unten links Copyright, rechts Rechtliches mit "/" getrennt.
   ============================================================ */

.footer--inlay {
  --footer-bg: var(--color-primary-dark); /* Farbe der dunklen Fläche (.footer__panel) */
  position: static;
  padding: var(--gap-lg) 0;
  background: var(--color-bg-alt);
}

.footer--inlay .footer__panel {
  padding: 0 var(--gap-lg);
  background: var(--footer-bg);
}

/* hebt die Höhen-Regel von main.css (ab 1133 px) auf */
.footer--inlay > .container {
  height: auto;
  display: block;
}

.footer--inlay .footer__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-lg);
  padding: calc(var(--gap-lg) * 1.5) 0 var(--gap-lg);
}

.footer--inlay .footer__brand-nav {
  display: flex;
  flex-direction: column;
  gap: var(--gap-lg);
}


.footer--inlay .footer__links {
  flex-wrap: wrap;
  gap: var(--gap-sm) var(--gap-lg);
}

.footer--inlay .footer__brand-nav .footer__links a {
  position: relative;
  isolation: isolate; /* eigener Stapelkontext: der Kreis (z-index -2) liegt hinter dem Text, aber über dem Footer-Hintergrund */
  color: var(--color-white);
  font-size: var(--text-body);
}

/* Hover: runder Kreis hinter dem Link, mittig (horizontal und vertikal), wächst von 0 auf 2 rem (auch bei Tastaturfokus) */
.footer--inlay .footer__brand-nav .footer__links a::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: color-mix(in srgb, white 35%, transparent);
  transform: translate(-50%, -50%);
  transition: width 0.25s ease, height 0.25s ease;
}

.footer--inlay .footer__brand-nav .footer__links a:hover::before,
.footer--inlay .footer__brand-nav .footer__links a:focus-visible::before {
  width: 2rem;
  height: 2rem;
}

@media (prefers-reduced-motion: reduce) {
  .footer--inlay .footer__brand-nav .footer__links a::before {
    transition: none;
  }
}

.footer--inlay .footer__bottom {
  padding: 0;
  border-top: 0;
  text-align: left;
}

.footer--inlay .footer__bottom-inner {
  display: flex;
  flex-direction: column;
  gap: var(--gap-md);
  padding: var(--gap-md) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer--inlay .footer__bottom-start {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-sm) var(--gap-md);
}

/* Social-Links oben rechts (Symbol + Name) */
.footer--inlay .footer__social {
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-sm) var(--gap-lg);
  margin-top: 0;
}

.footer--inlay .footer__social a {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-xs);
  color: rgba(255, 255, 255, 0.85);
  font-size: var(--text-body);
  text-decoration: none;
}

.footer--inlay .footer__social a:hover {
  color: var(--color-white);
}

.footer--inlay .footer__bottom p {
  font-size: var(--text-nav);
  color: rgba(255, 255, 255, 0.7);
}

.footer--inlay .footer__legal {
  gap: var(--gap-xs);
}

.footer--inlay .footer__legal a + a::before {
  content: "/";
  margin-right: var(--gap-xs);
  color: rgba(255, 255, 255, 0.5);
}

@media (min-width: 768px) {
  .footer--inlay .footer__bottom-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (min-width: 1024px) {
  .footer--inlay .footer__top {
    grid-template-columns: 1fr 1fr;
  }

  /* Logo, Social-Links und Navigation liegen im selben Raster: Logo links und Social-Links rechts in einer Zeile, mittig zueinander;
     die Navigation darunter */
  .footer--inlay .footer__brand-nav {
    display: contents;
  }

  .footer--inlay .footer__logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
  }

  .footer--inlay .footer__brand-nav .footer__links {
    grid-column: 1;
    grid-row: 2;
  }

  .footer--inlay .footer__social {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
  }
}

/* Über uns: CTA-Abschnitt in voller Breite des Containers statt der 560 px aus main.css (.cta__inner) */
:where(.dv-ueber-uns) .section--cta-inlay .cta__inner {
  max-width: none;
}

/* Leistungen: Kosten-Box 960 px statt 720 px aus main.css, CTA in voller Breite des Containers statt 560 px (.cta__inner) */
:where(.dv-leistungen) .section--kosten-inlay .kosten__box {
  max-width: 960px;
}

:where(.dv-leistungen) .section--cta-inlay .cta__inner {
  max-width: none;
}
