/* ============================================
       GRUNDLAGEN & VARIABLEN
       ============================================ */
    :root {
      --farbe-primary: #2c5f6e;
      --farbe-primary-dunkel: #1e4450;
      --farbe-primary-hell: #e8f1f4;
      --farbe-accent: #b8965a;
      --farbe-accent-hell: #f5eedd;
      --farbe-text: #2e2e2e;
      --farbe-text-hell: #555555;
      --farbe-hintergrund: #faf9f6;
      --farbe-weiss: #ffffff;
      --farbe-hinweis-bg: #fdf3e2;
      --farbe-hinweis-text: #7a5c2e;
      --farbe-hinweis-border: #d4b978;
      --farbe-gefahr-bg: #fdeaea;
      --farbe-gefahr-text: #8b2e2e;
      --farbe-gefahr-border: #d49a9a;
      --schrift-gross: 1.125rem;
      --schrift-normal: 1rem;
      --schrift-klein: 0.9rem;
      --abstand-xs: 0.5rem;
      --abstand-sm: 1rem;
      --abstand-md: 1.5rem;
      --abstand-lg: 2.5rem;
      --abstand-xl: 4rem;
      --radius: 6px;
      --max-breite: 1100px;
    }

    *, *::before, *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
      font-size: 100%;
    }

    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      color: var(--farbe-text);
      background-color: var(--farbe-hintergrund);
      line-height: 1.7;
      font-size: var(--schrift-normal);
      -webkit-font-smoothing: antialiased;
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    a {
      color: var(--farbe-primary);
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    a:hover,
    a:focus {
      color: var(--farbe-primary-dunkel);
    }

    a:focus-visible {
      outline: 3px solid var(--farbe-accent);
      outline-offset: 2px;
      border-radius: 2px;
    }

    /* ============================================
       HINWEISBANNER (Praxisurlaub, Schließung etc.)
       ============================================ */
    .hinweis-banner {
      background-color: var(--farbe-hinweis-bg);
      border-bottom: 2px solid var(--farbe-hinweis-border);
      padding: var(--abstand-sm) var(--abstand-sm);
      text-align: center;
    }

    .hinweis-banner.important {
      background-color: var(--farbe-gefahr-bg);
      border-bottom-color: var(--farbe-gefahr-border);
    }

    .hinweis-banner__inner {
      max-width: var(--max-breite);
      margin: 0 auto;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      gap: var(--abstand-xs);
      flex-wrap: wrap;
    }

    .hinweis-banner__icon {
      font-size: 1.3rem;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .hinweis-banner__text {
      color: var(--farbe-hinweis-text);
      font-size: var(--schrift-normal);
      line-height: 1.6;
    }

    .hinweis-banner.important .hinweis-banner__text {
      color: var(--farbe-gefahr-text);
    }

    .hinweis-banner__text strong {
      font-weight: 700;
    }

    .hinweis-banner__close {
      background: none;
      border: none;
      color: var(--farbe-hinweis-text);
      font-size: 1.2rem;
      cursor: pointer;
      padding: 0 var(--abstand-xs);
      line-height: 1;
      flex-shrink: 0;
    }

    .hinweis-banner__close:hover {
      color: var(--farbe-text);
    }

    /* ============================================
       HEADER
       ============================================ */
    .header {
      background-color: var(--farbe-weiss);
      border-bottom: 1px solid #e0ddd8;
      padding: var(--abstand-md) var(--abstand-sm);
    }

    .header__inner {
      max-width: var(--max-breite);
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--abstand-md);
      flex-wrap: wrap;
    }

    .header__logo {
      display: flex;
      align-items: center;
      gap: var(--abstand-sm);
      text-decoration: none;
      color: var(--farbe-text);
      flex-shrink: 0;
    }

    .header__logo:hover {
      color: var(--farbe-text);
    }

    .header__logo-icon {
      width: 52px;
      height: 52px;
      background-color: var(--farbe-primary);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .header__logo-icon svg {
      width: 28px;
      height: 28px;
      fill: var(--farbe-weiss);
    }

    .header__logo-text {
      display: flex;
      flex-direction: column;
    }

    .header__logo-name {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--farbe-primary-dunkel);
      line-height: 1.3;
    }

    .header__logo-sub {
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
      line-height: 1.3;
    }

    .header__kontakt {
      display: flex;
      align-items: center;
      gap: var(--abstand-md);
      flex-wrap: wrap;
    }

    .header__telefon {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--farbe-primary);
      text-decoration: none;
      white-space: nowrap;
      padding: 8px 16px;
      border: 2px solid var(--farbe-primary);
      border-radius: var(--radius);
      transition: background-color 0.2s, color 0.2s;
    }

    .header__telefon:hover,
    .header__telefon:focus-visible {
      background-color: var(--farbe-primary);
      color: var(--farbe-weiss);
    }

    .header__telefon svg {
      width: 20px;
      height: 20px;
      fill: currentColor;
    }

    .header__oeffnungszeiten-header {
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
      line-height: 1.5;
      text-align: right;
    }

    .header__oeffnungszeiten-header strong {
      color: var(--farbe-text);
      display: block;
      font-size: 0.85rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    /* ============================================
       NAVIGATION
       ============================================ */
    .nav {
      background-color: var(--farbe-primary);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .nav__inner {
      max-width: var(--max-breite);
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .nav__liste {
      list-style: none;
      display: flex;
      flex-wrap: wrap;
    }

    .nav__link {
      display: block;
      padding: 14px 18px;
      color: rgba(255,255,255,0.9);
      text-decoration: none;
      font-size: var(--schrift-normal);
      font-weight: 500;
      transition: background-color 0.2s, color 0.2s;
      white-space: nowrap;
    }

    .nav__link:hover,
    .nav__link:focus-visible,
    .nav__link[aria-current="page"] {
      background-color: rgba(255,255,255,0.15);
      color: #ffffff;
    }

    .nav__toggle {
      display: none;
      background: none;
      border: none;
      color: #ffffff;
      font-size: 1.5rem;
      padding: 14px 18px;
      cursor: pointer;
    }

    /* ============================================
       HERO / EINLEITUNG
       ============================================ */
    .hero {
      background-color: var(--farbe-primary-hell);
      padding: var(--abstand-xl) var(--abstand-sm);
    }

    .hero__inner {
      max-width: var(--max-breite);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: var(--abstand-lg);
      align-items: center;
    }

    .hero__text h1 {
      font-size: 1.9rem;
      font-weight: 700;
      color: var(--farbe-primary-dunkel);
      line-height: 1.35;
      margin-bottom: var(--abstand-sm);
    }

    .hero__text h1 span {
      display: block;
      font-size: 1.1rem;
      font-weight: 400;
      color: var(--farbe-text-hell);
      margin-top: 6px;
    }

    .hero__text p {
      font-size: var(--schrift-gross);
      color: var(--farbe-text);
      margin-bottom: var(--abstand-sm);
      max-width: 600px;
    }

    .hero__text p:last-of-type {
      margin-bottom: var(--abstand-md);
    }

    .hero__bild {
      background-color: #d4e0e5;
      border-radius: var(--radius);
      aspect-ratio: 4/5;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--farbe-primary);
      font-size: 0.9rem;
      text-align: center;
      padding: var(--abstand-sm);
    }

    .hero__aktionen {
      display: flex;
      gap: var(--abstand-sm);
      flex-wrap: wrap;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 24px;
      font-size: var(--schrift-normal);
      font-weight: 600;
      border-radius: var(--radius);
      text-decoration: none;
      transition: background-color 0.2s, border-color 0.2s, color 0.2s;
      cursor: pointer;
      border: 2px solid transparent;
    }

    .btn--primary {
      background-color: var(--farbe-primary);
      color: var(--farbe-weiss);
      border-color: var(--farbe-primary);
    }

    .btn--primary:hover,
    .btn--primary:focus-visible {
      background-color: var(--farbe-primary-dunkel);
      border-color: var(--farbe-primary-dunkel);
      color: var(--farbe-weiss);
    }

    .btn--outline {
      background-color: transparent;
      color: var(--farbe-primary);
      border-color: var(--farbe-primary);
    }

    .btn--outline:hover,
    .btn--outline:focus-visible {
      background-color: var(--farbe-primary);
      color: var(--farbe-weiss);
    }

    /* ============================================
       SEKTIONEN ALLGEMEIN
       ============================================ */
    .sektion {
      padding: var(--abstand-xl) var(--abstand-sm);
    }

    .sektion--hell {
      background-color: var(--farbe-weiss);
    }

    .sektion--sand {
      background-color: var(--farbe-accent-hell);
    }

    .sektion--blau {
      background-color: var(--farbe-primary-hell);
    }

    .sektion__inner {
      max-width: var(--max-breite);
      margin: 0 auto;
    }

    .sektion__titel {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--farbe-primary-dunkel);
      margin-bottom: var(--abstand-md);
      padding-bottom: var(--abstand-sm);
      border-bottom: 3px solid var(--farbe-accent);
      display: inline-block;
    }

    .sektion__text {
      font-size: var(--schrift-gross);
      color: var(--farbe-text);
      margin-bottom: var(--abstand-md);
      max-width: 720px;
    }

    /* ============================================
       SPRECHZEITEN
       ============================================ */
    .sprechzeiten {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--abstand-lg);
    }

    .sprechzeiten__karte {
      background-color: var(--farbe-weiss);
      border: 1px solid #e0ddd8;
      border-radius: var(--radius);
      padding: var(--abstand-md);
    }

    .sprechzeiten__karte h3 {
      font-size: 1.15rem;
      color: var(--farbe-primary-dunkel);
      margin-bottom: var(--abstand-sm);
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .sprechzeiten__tabelle {
      width: 100%;
      border-collapse: collapse;
    }

    .sprechzeiten__tabelle tr {
      border-bottom: 1px solid #eeece8;
    }

    .sprechzeiten__tabelle tr:last-child {
      border-bottom: none;
    }

    .sprechzeiten__tabelle td {
      padding: 10px 4px;
      font-size: var(--schrift-normal);
      vertical-align: top;
    }

    .sprechzeiten__tabelle td:first-child {
      font-weight: 600;
      color: var(--farbe-text);
      width: 45%;
    }

    .sprechzeiten__tabelle td:last-child {
      color: var(--farbe-text-hell);
    }

    .sprechzeiten__hinweis {
      margin-top: var(--abstand-sm);
      padding: var(--abstand-sm);
      background-color: var(--farbe-accent-hell);
      border-left: 3px solid var(--farbe-accent);
      border-radius: 0 var(--radius) var(--radius) 0;
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
    }

    /* ============================================
       TEAM
       ============================================ */
    .team__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--abstand-md);
      margin-top: var(--abstand-lg);
    }

    .team__karte {
      background-color: var(--farbe-weiss);
      border: 1px solid #e0ddd8;
      border-radius: var(--radius);
      padding: var(--abstand-md);
      text-align: center;
    }

    .team__foto {
      width: 100px;
      height: 100px;
      background-color: #d4e0e5;
      border-radius: 50%;
      margin: 0 auto var(--abstand-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.2rem;
      color: var(--farbe-primary);
    }

    .team__name {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--farbe-primary-dunkel);
      margin-bottom: 4px;
    }

    .team__funktion {
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
      margin-bottom: var(--abstand-sm);
    }

    .team__beschreibung {
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
      line-height: 1.6;
    }

    /* ============================================
       NOTFALL
       ============================================ */
    .notfall__boxen {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--abstand-md);
      margin-top: var(--abstand-md);
    }

    .notfall__box {
      padding: var(--abstand-md);
      border-radius: var(--radius);
      border: 1px solid;
    }

    .notfall__box--dringend {
      background-color: var(--farbe-gefahr-bg);
      border-color: var(--farbe-gefahr-border);
    }

    .notfall__box--info {
      background-color: var(--farbe-weiss);
      border-color: #e0ddd8;
    }

    .notfall__box h3 {
      font-size: 1.1rem;
      margin-bottom: var(--abstand-sm);
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .notfall__box--dringend h3 {
      color: var(--farbe-gefahr-text);
    }

    .notfall__box--info h3 {
      color: var(--farbe-primary-dunkel);
    }

    .notfall__box p,
    .notfall__box ul {
      font-size: var(--schrift-normal);
      color: var(--farbe-text);
      line-height: 1.7;
    }

    .notfall__box ul {
      list-style: none;
      padding: 0;
    }

    .notfall__box ul li {
      padding: 6px 0;
      padding-left: 20px;
      position: relative;
    }

    .notfall__box ul li::before {
      content: "•";
      position: absolute;
      left: 0;
      color: var(--farbe-primary);
      font-weight: 700;
    }

    .notfall__telefon-gross {
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--farbe-gefahr-text);
      text-decoration: none;
    }

    .notfall__telefon-gross:hover {
      text-decoration: underline;
    }

    /* ============================================
       LEISTUNGEN
       ============================================ */
    .leistungen__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--abstand-md);
      margin-top: var(--abstand-md);
    }

    .leistung__karte {
      background-color: var(--farbe-weiss);
      border: 1px solid #e0ddd8;
      border-radius: var(--radius);
      padding: var(--abstand-md);
    }

    .leistung__karte h3 {
      font-size: 1.05rem;
      color: var(--farbe-primary-dunkel);
      margin-bottom: var(--abstand-xs);
    }

    .leistung__karte p {
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
      line-height: 1.6;
    }

    /* ============================================
       REZEPTE
       ============================================ */
    .rezepte__schritt {
      display: flex;
      gap: var(--abstand-md);
      padding: var(--abstand-md) 0;
      border-bottom: 1px solid #e0ddd8;
      align-items: flex-start;
    }

    .rezepte__schritt:last-child {
      border-bottom: none;
    }

    .rezepte__nummer {
      width: 44px;
      height: 44px;
      background-color: var(--farbe-primary);
      color: var(--farbe-weiss);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      font-weight: 700;
      flex-shrink: 0;
    }

    .rezepte__inhalt h3 {
      font-size: 1.05rem;
      color: var(--farbe-primary-dunkel);
      margin-bottom: 4px;
    }

    .rezepte__inhalt p {
      font-size: var(--schrift-klein);
      color: var(--farbe-text-hell);
      line-height: 1.6;
    }

    /* ============================================
       KONTAKTFORMULAR
       ============================================ */
    .kontakt__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--abstand-lg);
      margin-top: var(--abstand-md);
    }

    .kontakt__info h3 {
      font-size: 1.1rem;
      color: var(--farbe-primary-dunkel);
      margin-bottom: var(--abstand-sm);
    }

    .kontakt__info p,
    .kontakt__info address {
      font-size: var(--schrift-normal);
      color: var(--farbe-text);
      line-height: 1.8;
      font-style: normal;
      margin-bottom: var(--abstand-sm);
    }

    .kontakt__info a {
      color: var(--farbe-primary);
    }

    .kontakt__karte {
      background-color: var(--farbe-weiss);
      border: 1px solid #e0ddd8;
      border-radius: var(--radius);
      padding: var(--abstand-md);
    }

    .formular__gruppe {
      margin-bottom: var(--abstand-sm);
    }

    .formular__label {
      display: block;
      font-size: var(--schrift-klein);
      font-weight: 600;
      color: var(--farbe-text);
      margin-bottom: 6px;
    }

    .formular__label .pflicht {
      color: #c0392b;
    }

    .formular__input,
    .formular__textarea,
    .formular__select {
      width: 100%;
      padding: 10px 12px;
      font-size: var(--schrift-normal);
      font-family: inherit;
      border: 1px solid #ccc8c0;
      border-radius: var(--radius);
      background-color: var(--farbe-weiss);
      color: var(--farbe-text);
      transition: border-color 0.2s;
    }

    .formular__input:focus,
    .formular__textarea:focus,
    .formular__select:focus {
      outline: none;
      border-color: var(--farbe-primary);
      box-shadow: 0 0 0 3px rgba(44,95,110,0.1);
    }

    .formular__textarea {
      min-height: 120px;
      resize: vertical;
    }

    .formular__hinweis {
      font-size: 0.8rem;
      color: var(--farbe-text-hell);
      margin-top: var(--abstand-sm);
      line-height: 1.5;
    }

    .formular__submit {
      margin-top: var(--abstand-sm);
    }

    /* ============================================
       FOOTER
       ============================================ */
    .footer {
      background-color: var(--farbe-primary-dunkel);
      color: rgba(255,255,255,0.85);
      padding: var(--abstand-xl) var(--abstand-sm) var(--abstand-md);
    }

    .footer__inner {
      max-width: var(--max-breite);
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--abstand-lg);
    }

    .footer__spalte h3 {
      color: #ffffff;
      font-size: 1rem;
      margin-bottom: var(--abstand-sm);
      font-weight: 600;
    }

    .footer__spalte p,
    .footer__spalte address {
      font-size: var(--schrift-klein);
      line-height: 1.7;
      font-style: normal;
    }

    .footer__spalte a {
      color: rgba(255,255,255,0.85);
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    .footer__spalte a:hover {
      color: #ffffff;
    }

    .footer__unten {
      max-width: var(--max-breite);
      margin: var(--abstand-lg) auto 0;
      padding-top: var(--abstand-md);
      border-top: 1px solid rgba(255,255,255,0.15);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: var(--abstand-sm);
      font-size: 0.8rem;
      color: rgba(255,255,255,0.5);
    }

    .footer__unten a {
      color: rgba(255,255,255,0.5);
    }

    .footer__unten a:hover {
      color: #ffffff;
    }

    /* ============================================
       RESPONSIVE / MOBILE
       ============================================ */
    @media (max-width: 900px) {
      .hero__inner {
        grid-template-columns: 1fr;
      }

      .hero__bild {
        display: none;
      }

      .sprechzeiten {
        grid-template-columns: 1fr;
      }

      .team__grid {
        grid-template-columns: 1fr 1fr;
      }

      .notfall__boxen {
        grid-template-columns: 1fr;
      }

      .leistungen__grid {
        grid-template-columns: 1fr 1fr;
      }

      .kontakt__grid {
        grid-template-columns: 1fr;
      }

      .footer__inner {
        grid-template-columns: 1fr;
        gap: var(--abstand-md);
      }

      .header__oeffnungszeiten-header {
        text-align: left;
      }
    }

    @media (max-width: 640px) {
      .header__inner {
        flex-direction: column;
        align-items: flex-start;
      }

      .header__kontakt {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
      }

      .header__oeffnungszeiten-header {
        text-align: left;
      }

      .nav__toggle {
        display: block;
      }

      .nav__liste {
        display: none;
        flex-direction: column;
        width: 100%;
        background-color: var(--farbe-primary-dunkel);
      }

      .nav__liste.aktiv {
        display: flex;
      }

      .nav__link {
        padding: 14px 24px;
        border-top: 1px solid rgba(255,255,255,0.1);
      }

      .hero__text h1 {
        font-size: 1.5rem;
      }

      .hero__text p {
        font-size: var(--schrift-normal);
      }

      .team__grid {
        grid-template-columns: 1fr;
      }

      .leistungen__grid {
        grid-template-columns: 1fr;
      }

      .sektion {
        padding: var(--abstand-lg) var(--abstand-sm);
      }

      .hero {
        padding: var(--abstand-lg) var(--abstand-sm);
      }

      .btn {
        width: 100%;
        justify-content: center;
      }

      .hero__aktionen {
        flex-direction: column;
      }

      .sektion__titel {
        font-size: 1.3rem;
      }
    }

    /* ============================================
       SKIP-LINK (Barrierefreiheit)
       ============================================ */
    .skip-link {
      position: absolute;
      top: -100px;
      left: 0;
      background-color: var(--farbe-primary);
      color: var(--farbe-weiss);
      padding: 12px 24px;
      z-index: 999;
      font-size: var(--schrift-normal);
      text-decoration: none;
      font-weight: 600;
      border-radius: 0 0 var(--radius) 0;
    }

    .skip-link:focus {
      top: 0;
    }

    /* ============================================
       ZUSÄTZLICHE HILFSKLASSEN
       ============================================ */
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0,0,0,0);
      white-space: nowrap;
      border: 0;
    }

    .text-mitte {
      text-align: center;
    }

/* ============================================
   ERGÄNZUNGEN FÜR STATISCHE MEHRSEITEN-VERSION
   ============================================ */
.hinweis-banner[hidden] {
  display: none !important;
}

.main-page {
  padding: var(--abstand-xl) var(--abstand-sm);
}

.page-header {
  background-color: var(--farbe-primary-hell);
  padding: var(--abstand-xl) var(--abstand-sm);
}

.page-header__inner {
  max-width: var(--max-breite);
  margin: 0 auto;
}

.page-header h1 {
  font-size: 1.9rem;
  color: var(--farbe-primary-dunkel);
  line-height: 1.35;
  margin-bottom: var(--abstand-sm);
}

.page-header p {
  font-size: var(--schrift-gross);
  max-width: 760px;
}

.content-card {
  background-color: var(--farbe-weiss);
  border: 1px solid #e0ddd8;
  border-radius: var(--radius);
  padding: var(--abstand-md);
  margin-bottom: var(--abstand-md);
}

.content-card h2,
.content-card h3 {
  color: var(--farbe-primary-dunkel);
  margin-bottom: var(--abstand-sm);
}

.content-card ul {
  margin-left: 1.25rem;
  margin-bottom: var(--abstand-sm);
}

.content-card p {
  margin-bottom: var(--abstand-sm);
}

.nav__link--active {
  background-color: rgba(255,255,255,0.15);
  color: #ffffff;
}

.formular__honeypot {
  position: absolute;
  left: -9999px;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

@media (max-width: 640px) {
  .page-header h1 {
    font-size: 1.5rem;
  }
}


/* ============================================
   V4: ONE-PAGER + DETAILSEITEN
   ============================================ */
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: var(--abstand-md);
  font-weight: 600;
  text-decoration: none;
  color: var(--farbe-primary);
}

.back-link:hover,
.back-link:focus-visible {
  text-decoration: underline;
}

.detail-actions {
  margin-top: var(--abstand-md);
  display: flex;
  gap: var(--abstand-sm);
  flex-wrap: wrap;
}

.legal-content h2 {
  color: var(--farbe-primary-dunkel);
  margin-top: var(--abstand-lg);
  margin-bottom: var(--abstand-sm);
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--farbe-accent);
}

.legal-content h3 {
  color: var(--farbe-primary-dunkel);
  margin-top: var(--abstand-md);
  margin-bottom: var(--abstand-xs);
}

.legal-content p,
.legal-content li {
  margin-bottom: var(--abstand-sm);
}

.legal-content ul {
  margin-left: 1.25rem;
  margin-bottom: var(--abstand-md);
}

.onepager-shortlink {
  margin-top: var(--abstand-sm);
}
