/*
Theme Name:   usedomhochzeit Child
Theme URI:    https://usedomhochzeit.de
Description:  Child-Theme für usedomhochzeit.de (Hochzeitsfotograf auf Usedom). Das komplette Design steckt in dieser Datei.
Author:       Mathias Blum
Template:     generatepress
Version:      2.6.1
Text Domain:  usedomhochzeit
*/

/* ============================================================
   CHANGELOG (neueste Version zuerst)
   2.6.1  Inhaltsverzeichnis "Auf dieser Seite" (.uh-toc), Rank-Math-Hinweis (inc/rankmath.php)
   2.6.0  Weiterleitungen (inc/redirects.php, Einstellungen → Weiterleitungen) für die neue Linkstruktur
   2.5.1  Standesamt-Kachel dunkel (Tiefsee), kleine Vorschaubilder in den Standesamt-Kacheln
   2.5.0  Cookie-Banner (inc/cookie.php, assets/cookie.*) und Design der Anmeldeseite (inc/login.php, assets/login.css). Burger-Menü zeigt nur noch das WordPress-Menü.
   2.4.0  Übersicht der Trauorte (Abschnitt 26): Fotokarten mit Bewertung, Top 3, Filter, Zahlenleiste, aufklappbare Tabelle.
   2.3.0  Standesamt-Seiten (Abschnitt 25): Hinweiskasten, Rollen-Labels (Standesamt/Fotograf), Bewertungsring und -balken, Fotoraster, Pro/Contra, Amt-Kontakt. Seitenklasse uh-fullpage gilt jetzt automatisch für jede Seite mit uh-page.
   2.2.2  SEO-Textbereich (uh-prose) für die Preisrechner-Seite, ohne Preistabellen.
   2.2.1  Preisübersicht (Tabellen), FAQ-Bereich und Link-Kacheln für die Preisrechner-Seite. Preisrechner-Logik liegt jetzt im Plugin.
   2.2.0  Preisrechner: Endpreis erst im letzten Schritt (mit Zusatzzeit), Vorzüge in Schritt 1 bis 3, Preisaufstellung. Neuer Preisrechner / Anfragetool (Abschnitt 24): Schritt-Formular mit Live-Preiskarte; Abschnitt 11 gilt auch für uh-fullpage.
   2.1.3  Logo aus der Mediathek (uploads/2026/10/logo.webp); Doppel-Schutz per Konstante und per CSS.
   2.1.2  Kopf und Footer erscheinen nur noch einmal (Doppel-Ausgabe verhindert); Textlogo, falls die Logo-Datei fehlt.
   2.1.1  Zweiten Footer sicher ausgeblendet: alles im Footer außer dem eigenen (uh-footer) wird versteckt.
   2.1.0  Eigener Kopfbereich mit Burger-Menü (Menü gleitet von rechts ein), schlanker Footer ohne Linklisten,
          GeneratePress-Kopf und -Fußzeile ausgeblendet. USP-Kacheln (Erfahrung, Preis sofort, alle Fotos).
   2.0.2  Gelb nur noch im Schriftverlauf (Überschrift, 5,0, Sterne); Flächen in Türkis und Silber.
   2.0.1  Farbwelt reduziert: nur Türkistöne und Sonnengelb, Koralle und Flieder entfernt.
   2.0.0  Neues, mutiges Design: Farben aus Türkistönen (Tiefsee, Türkis, Sky) und Sonnengelb,
          Schaltflächen mit Einschub-Effekt, Einblenden beim Scrollen,
          Laufband, Bento-Kacheln, schräge Übergänge statt Wellenlinie,
          schwebende Buttons, Ablauf-Abschnitt. Kopfbereich (Logo-Größe)
          und Überschrift-Umbruch korrigiert. Wellenlinie entfernt.
   1.0.0  Erstausgabe: Token, Schrift, Flächen, Buttons, Wellenlinie, FAQ,
          Footer und alle Bausteine der Startseite.
   ============================================================

   INHALT
    1. Design-Token
    2. Schriften (lokal)
    3. Grundlagen
    4. Flächen, Abstände und schräge Übergänge
    5. Schaltflächen (Einschub-Effekt)
    6. Bewegung (Einblenden beim Scrollen)
    7. FAQ
    8. Kopfbereich und Burger-Menü
    9. Eigener Footer
   10. Hilfsklassen
   11. GeneratePress-Anpassungen und Block-Editor
   12. Hero
   13. Laufband
   14. USP-Kacheln
   15. Orte (Bento-Kacheln)
   16. Ablauf
   17. Galerie
   18. Über mich
   19. Bewertungen
   20. Preisrechner-Aufruf
   21. Kontakt-Abschluss
   22. Schwebende Buttons
   23. Korrekturen (hier kommen spätere Fixes hin)
   24. Preisrechner / Anfragetool
   25. Standesamt-Seiten
   26. Übersicht der Trauorte (Fotokarten, Filter)
   ============================================================ */


/* ============================================================
   1. DESIGN-TOKEN
   Alles Visuelle hängt an diesen Variablen. Die Namen sind Rollen,
   keine Farbnamen. Markenfarben: Türkis #40E0D0, Anthrazit #333333,
   Off-White #F5F5F5. Dazu Türkistöne und Silber; Sonnengelb nur im Schriftverlauf. Keine Rottöne.
   ============================================================ */
:root{
  /* Marke */
  --uh-ink-900:#23272a;
  --uh-ink-800:#333333;
  --uh-ink-600:#565c60;
  --uh-accent:#40E0D0;           /* Marken-Türkis */
  --uh-accent-hover:#2fcbbb;
  --uh-accent-text:#0d7a70;      /* Türkis als Text auf hellem Grund */
  --uh-mist:#e8f6f4;
  --uh-paper:#F5F5F5;
  --uh-white:#FFFFFF;
  --uh-line:#dfe6e5;

  /* Begleitfarben: Türkistöne, Silber, Gelb nur im Schriftverlauf */
  --uh-sea:#0b3f46;              /* Tiefsee: dunkle Farbfläche */
  --uh-sea-2:#12636c;
  --uh-sky:#c9f6f1;              /* helles Türkis */
  --uh-teal-2:#1fb5a8;           /* mittleres Türkis */
  --uh-sun:#ffd25e;              /* Sonnengelb: NUR im Schriftverlauf (uh-hl, Zahl 5,0, Sterne) */
  --uh-silver:#c3ccd0;           /* Silber */
  --uh-silver-2:#eef1f2;         /* helles Silber für Flächen */
  --uh-teal-3:#8eeee3;           /* zartes Türkis */

  /* Schrift */
  --uh-font:"Montserrat","Segoe UI",system-ui,-apple-system,sans-serif;
  --uh-step--1:clamp(.8125rem,.79rem + .1vw,.875rem);
  --uh-step-0:clamp(1rem,.96rem + .2vw,1.125rem);
  --uh-step-1:clamp(1.125rem,1.05rem + .4vw,1.3125rem);
  --uh-step-2:clamp(1.375rem,1.2rem + .8vw,1.75rem);
  --uh-step-3:clamp(1.75rem,1.4rem + 1.6vw,2.5rem);
  --uh-step-4:clamp(2rem,1.1rem + 3.6vw,3.9rem);
  --uh-step-5:clamp(1.75rem,.4rem + 5.6vw,5rem);
  --uh-step-6:clamp(3rem,1rem + 9vw,8rem);

  /* Layout */
  --uh-gutter:clamp(1.15rem,4vw,2.5rem);
  --uh-wrap:1180px;
  --uh-section:clamp(3.75rem,8vw,7rem);
  --uh-radius:20px;
  --uh-cut:clamp(28px,5vw,76px);   /* Höhe des schrägen Übergangs */

  /* Pfeil-Symbol für Buttons (als Maske, nimmt die Textfarbe an) */
  --uh-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
  --uh-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}


/* ============================================================
   2. SCHRIFTEN (lokal, keine Verbindung zu Google)
   Dateien liegen in /fonts/ im Child-Theme. Siehe fonts/LIESMICH.txt.
   ============================================================ */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/Montserrat-Regular.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/Montserrat-Medium.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/Montserrat-SemiBold.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/Montserrat-Bold.woff2") format("woff2");}


/* ============================================================
   3. GRUNDLAGEN
   Gilt nur innerhalb der eigenen Bausteine (.uh-page).
   ============================================================ */
.uh-page{width:100%;overflow-x:clip;font-family:var(--uh-font);font-size:var(--uh-step-0);line-height:1.65;color:var(--uh-ink-800);-webkit-font-smoothing:antialiased;}
.uh-page *,.uh-page *::before,.uh-page *::after{box-sizing:border-box;}
.uh-page img{display:block;max-width:100%;height:auto;}
.uh-page h1,.uh-page h2,.uh-page h3{font-family:var(--uh-font);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0;color:inherit;text-wrap:balance;hyphens:none;overflow-wrap:normal;word-break:normal;}
.uh-page h1{font-size:var(--uh-step-5);}
.uh-page h2{font-size:var(--uh-step-4);}
.uh-page h3{font-size:var(--uh-step-2);font-weight:600;}
.uh-page p{margin:0;}
.uh-page p + p{margin-top:1em;}
.uh-page a{color:inherit;}
.uh-page ul{margin:0;padding:0;list-style:none;}
.uh-page :focus-visible{outline:3px solid var(--uh-accent-text);outline-offset:3px;}
.uh-dark :focus-visible,.uh-hero :focus-visible,.uh-sea :focus-visible,.uh-dock :focus-visible{outline-color:var(--uh-accent);}
.uh-lede{font-size:var(--uh-step-1);line-height:1.55;color:var(--uh-ink-600);max-width:58ch;}
.uh-dark .uh-lede,.uh-sea .uh-lede,.uh-hero .uh-lede{color:#d9e6e6;}
/* Eyebrow als farbige Pille */
.uh-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:var(--uh-step--1);font-weight:600;letter-spacing:.02em;line-height:1;color:var(--uh-accent-text);background:var(--uh-mist);padding:.55rem .95rem;border-radius:999px;margin-bottom:1.1rem;}
.uh-eyebrow::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:currentColor;animation:uh-pulse 2.2s ease-out infinite;}
.uh-dark .uh-eyebrow,.uh-hero .uh-eyebrow,.uh-sea .uh-eyebrow{color:var(--uh-accent);background:rgba(255,255,255,.1);}
@keyframes uh-pulse{0%{box-shadow:0 0 0 0 currentColor}70%,100%{box-shadow:0 0 0 .6rem transparent}}
/* Hervorgehobenes Wort in Überschriften */
.uh-hl{font-style:normal;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-hl-teal{background:linear-gradient(90deg,var(--uh-teal-2),var(--uh-sun));-webkit-background-clip:text;background-clip:text;}
.uh-hl-light{font-style:normal;background:linear-gradient(90deg,#0d9e90,#e0a100);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-mark{font-style:normal;background:linear-gradient(transparent 62%,var(--uh-teal-3) 62%);padding:0 .1em;}


/* ============================================================
   4. FLÄCHEN, ABSTÄNDE UND SCHRÄGE ÜBERGÄNGE
   Statt Wellen trennen schräge Schnitte die Farbflächen
   (Klasse uh-cut = Schnitt fällt nach rechts, uh-cut-r = nach links).
   ============================================================ */
.uh-section{position:relative;padding:var(--uh-section) var(--uh-gutter);}
.uh-inner{position:relative;max-width:var(--uh-wrap);margin:0 auto;}
.uh-white{background:var(--uh-white);}
.uh-paper{background:var(--uh-paper);}
.uh-mist{background:var(--uh-mist);}
.uh-sky{background:var(--uh-sky);}
.uh-silver-bg{background:var(--uh-silver-2);}
.uh-teal-bg{background:var(--uh-mist);}
.uh-dark{background:var(--uh-ink-900);color:#f2f5f5;}
.uh-sea{background:var(--uh-sea);color:#f2f7f7;}
.uh-accent-band{background:linear-gradient(120deg,var(--uh-accent) 0%,#7ff0e4 55%,var(--uh-sky) 100%);color:var(--uh-ink-900);}
.uh-cut,.uh-cut-r{margin-top:calc(var(--uh-cut) * -1);padding-top:calc(var(--uh-section) + var(--uh-cut));z-index:1;}
.uh-cut{clip-path:polygon(0 var(--uh-cut),100% 0,100% 100%,0 100%);}
.uh-cut-r{clip-path:polygon(0 0,100% var(--uh-cut),100% 100%,0 100%);}
.uh-head{max-width:62ch;margin-bottom:clamp(2.25rem,4.5vw,3.75rem);}
.uh-head .uh-lede{margin-top:1.1rem;}
/* weiche Farbkleckse als Hintergrund-Deko */
.uh-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none;z-index:0;}
.uh-blob-a{width:26rem;height:26rem;background:var(--uh-sky);top:-8rem;right:-8rem;}
.uh-blob-b{width:22rem;height:22rem;background:var(--uh-teal-2);opacity:.22;bottom:-8rem;left:-6rem;}
.uh-blob-c{width:24rem;height:24rem;background:var(--uh-teal-3);opacity:.3;top:20%;left:-10rem;}


/* ============================================================
   5. SCHALTFLÄCHEN (Einschub-Effekt)
   Beim Darüberfahren schiebt sich eine Farbfläche von links ein und der
   Pfeil im Kreis wird durch einen neuen Pfeil ersetzt. Aufbau im HTML:
   <a class="uh-btn uh-btn-accent" href="…"><span class="uh-btn-t">Text</span><span class="uh-btn-i" aria-hidden="true"></span></a>
   Varianten: uh-btn-accent, -teal, -sun, -dark, -outline
   ============================================================ */
.uh-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem;}
.uh-btn{
  --b-bg:var(--uh-accent);--b-fg:var(--uh-ink-900);--b-hv:var(--uh-ink-900);--b-hf:#fff;
  --b-ib:var(--uh-ink-900);--b-if:#fff;--b-ihb:var(--uh-accent);--b-ihf:var(--uh-ink-900);--b-bd:transparent;
  position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:1rem;
  min-height:3.5rem;padding:.5rem .5rem .5rem 1.7rem;border-radius:999px;border:0;
  background:var(--b-bg);color:var(--b-fg) !important;box-shadow:inset 0 0 0 2px var(--b-bd);
  font:600 1rem/1.2 var(--uh-font);text-decoration:none !important;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:color .35s ease .08s,transform .2s ease,box-shadow .3s ease;
}
.uh-btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--b-hv);transform:translateX(-102%);transition:transform .5s cubic-bezier(.7,0,.2,1);}
.uh-btn:hover,.uh-btn:focus-visible{color:var(--b-hf) !important;box-shadow:inset 0 0 0 2px var(--b-bd),0 14px 30px -12px rgba(0,0,0,.5);}
.uh-btn:hover::before,.uh-btn:focus-visible::before{transform:none;}
.uh-btn:active{transform:scale(.96);}
.uh-btn-i{position:relative;overflow:hidden;flex:none;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--b-ib);color:var(--b-if);transition:background-color .35s ease .1s,color .35s ease .1s;}
.uh-btn-i::before,.uh-btn-i::after{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--uh-arrow) center / 46% no-repeat;mask:var(--uh-arrow) center / 46% no-repeat;transition:transform .5s cubic-bezier(.7,0,.2,1);}
.uh-btn-i::after{transform:translateX(-120%);}
.uh-btn:hover .uh-btn-i,.uh-btn:focus-visible .uh-btn-i{background:var(--b-ihb);color:var(--b-ihf);}
.uh-btn:hover .uh-btn-i::before,.uh-btn:focus-visible .uh-btn-i::before{transform:translateX(120%);}
.uh-btn:hover .uh-btn-i::after,.uh-btn:focus-visible .uh-btn-i::after{transform:none;}
/* Varianten */
.uh-btn-teal{--b-bg:var(--uh-teal-2);--b-hv:var(--uh-ink-900);--b-ihb:var(--uh-teal-2);--b-ihf:var(--uh-ink-900);}
.uh-btn-silver{--b-bg:var(--uh-silver);--b-ihb:var(--uh-silver);--b-ihf:var(--uh-ink-900);}
.uh-btn-dark{--b-bg:var(--uh-ink-800);--b-fg:#fff;--b-hv:var(--uh-accent);--b-hf:var(--uh-ink-900);--b-ib:var(--uh-accent);--b-if:var(--uh-ink-900);--b-ihb:var(--uh-ink-900);--b-ihf:var(--uh-accent);}
.uh-btn-outline{--b-bg:transparent;--b-fg:#fff;--b-bd:rgba(255,255,255,.75);--b-hv:#fff;--b-hf:var(--uh-ink-900);--b-ib:rgba(255,255,255,.2);--b-if:#fff;--b-ihb:var(--uh-ink-900);--b-ihf:#fff;}
.uh-btn-outline-dark{--b-bg:transparent;--b-fg:var(--uh-ink-800);--b-bd:var(--uh-ink-800);--b-hv:var(--uh-ink-800);--b-hf:#fff;--b-ib:var(--uh-ink-800);--b-if:#fff;--b-ihb:var(--uh-accent);--b-ihf:var(--uh-ink-900);}
/* Textlink mit wachsender Linie */
.uh-textlink{position:relative;display:inline-block;font-weight:600;text-decoration:none !important;padding-bottom:.2em;background:linear-gradient(currentColor,currentColor) 0 100% / 100% 2px no-repeat;transition:background-size .4s ease,color .3s ease;}
.uh-textlink:hover{color:var(--uh-accent-text);background-size:0 2px;background-position:100% 100%;}


/* ============================================================
   6. BEWEGUNG (Einblenden beim Scrollen)
   Elemente mit data-r="up|left|right|zoom" gleiten ein, sobald sie ins
   Bild kommen (Skript uh.js). Verzögerung: style="--d:.15s".
   Ohne Skript oder bei "weniger Bewegung" ist alles sofort sichtbar.
   ============================================================ */
.uh-js .uh-page [data-r]:not(.is-in){opacity:0;}
.uh-js .uh-page [data-r="up"].is-in{animation:uh-r-up .95s cubic-bezier(.16,1,.3,1) var(--d,0s) backwards;}
.uh-js .uh-page [data-r="left"].is-in{animation:uh-r-left 1s cubic-bezier(.16,1,.3,1) var(--d,0s) backwards;}
.uh-js .uh-page [data-r="right"].is-in{animation:uh-r-right 1s cubic-bezier(.16,1,.3,1) var(--d,0s) backwards;}
.uh-js .uh-page [data-r="zoom"].is-in{animation:uh-r-zoom .95s cubic-bezier(.16,1,.3,1) var(--d,0s) backwards;}
@keyframes uh-r-up{from{opacity:0;translate:0 44px;}}
@keyframes uh-r-left{from{opacity:0;translate:-90px 0;}}
@keyframes uh-r-right{from{opacity:0;translate:90px 0;}}
@keyframes uh-r-zoom{from{opacity:0;scale:.9;}}
@keyframes uh-rise{from{opacity:0;transform:translateY(34px);}}
@keyframes uh-slide-l{from{opacity:0;transform:translateX(-110px);}}
@keyframes uh-slide-r{from{opacity:0;transform:translateX(110px);}}
@keyframes uh-line{from{transform:translateY(108%);}}
@keyframes uh-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes uh-spin{to{transform:rotate(360deg);}}


/* ============================================================
   7. FAQ (<details>)
   ============================================================ */
.uh-faq{display:grid;gap:.85rem;counter-reset:uh-q;}
.uh-faq details{--c:var(--uh-accent);counter-increment:uh-q;background:var(--uh-white);border-radius:16px;padding:0 1.35rem 0 1.25rem;box-shadow:0 0 0 1px var(--uh-line);border-left:6px solid var(--c);transition:box-shadow .3s ease,transform .3s ease;}
.uh-faq details:nth-child(4n+2){--c:var(--uh-teal-2);}
.uh-faq details:nth-child(4n+3){--c:var(--uh-silver);}
.uh-faq details:nth-child(4n){--c:var(--uh-teal-3);}
.uh-faq details:hover{transform:translateX(6px);}
.uh-faq details[open]{box-shadow:0 0 0 1px var(--uh-line),0 18px 36px -22px rgba(0,0,0,.35);}
.uh-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;min-height:3.75rem;padding:.7rem 0;font-weight:600;font-size:var(--uh-step-0);}
.uh-faq summary::-webkit-details-marker{display:none;}
.uh-faq summary::before{content:counter(uh-q,decimal-leading-zero);flex:none;font-weight:700;font-size:var(--uh-step--1);color:var(--uh-ink-600);}
.uh-faq summary::after{content:"+";flex:none;margin-left:auto;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--c);color:var(--uh-ink-900);font:600 1.4rem/1 var(--uh-font);transition:transform .3s ease;}
.uh-faq details[open] summary::after{transform:rotate(45deg);}
.uh-faq details p{padding:0 0 1.35rem 2.6rem;color:var(--uh-ink-600);max-width:62ch;}


/* ============================================================
   8. KOPFBEREICH UND BURGER-MENÜ
   Eigener Kopfbereich aus functions.php: Schriftzug links, Button und
   Burger rechts. Das Menü schiebt sich von rechts ein (uh.js setzt
   die Klasse uh-nav-open am <html>). GeneratePress-Kopf und -Menü
   sind ausgeblendet.
   ============================================================ */
.site-header,.main-navigation,#mobile-menu-control-wrapper{display:none !important;}
.uh-header,.uh-header *,.uh-nav,.uh-nav *,.uh-footer,.uh-footer *{box-sizing:border-box;}
.uh-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--uh-line);font-family:var(--uh-font);}
.admin-bar .uh-header{top:32px;}
@media (max-width:782px){.admin-bar .uh-header{top:46px;}}
.uh-header-in{max-width:var(--uh-wrap);margin:0 auto;padding:.7rem var(--uh-gutter);display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.uh-brand{display:block;line-height:0;}
.uh-brand-text{font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--uh-ink-800);}
.uh-brand-text small{font-size:.8em;font-weight:500;color:var(--uh-accent-text);}
.uh-brand img{display:block;width:auto;height:auto;max-width:min(240px,52vw);max-height:40px;}
/* Falls der Kopfbereich doch doppelt ausgegeben wird, bleibt nur der erste sichtbar */
.uh-nav ~ .uh-header,.uh-nav ~ .uh-nav,.uh-footer ~ .uh-footer{display:none !important;}
.uh-header-actions{display:flex;align-items:center;gap:.75rem;}
.uh-header .uh-header-cta{min-height:2.9rem;font-size:.95rem;padding:.35rem .35rem .35rem 1.35rem;}
.uh-header .uh-header-cta .uh-btn-i{width:2.2rem;height:2.2rem;}
@media (max-width:520px){.uh-header .uh-header-cta{display:none;}}
.uh-burger{position:relative;flex:none;width:3rem;height:3rem;border:0;border-radius:50%;background:var(--uh-ink-900);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .3s ease,transform .2s ease;}
.uh-burger:hover{background:var(--uh-sea-2);}
.uh-burger:active{transform:scale(.94);}
.uh-burger span{position:absolute;left:.95rem;right:.95rem;height:2px;border-radius:2px;background:#fff;transition:transform .45s cubic-bezier(.7,0,.2,1),opacity .25s ease,top .45s cubic-bezier(.7,0,.2,1);}
.uh-burger span:nth-child(1){top:1.1rem;}
.uh-burger span:nth-child(2){top:1.45rem;right:1.4rem;}
.uh-burger span:nth-child(3){top:1.8rem;}
.uh-nav-open .uh-burger{background:var(--uh-accent);}
.uh-nav-open .uh-burger span{background:var(--uh-ink-900);}
.uh-nav-open .uh-burger span:nth-child(1){top:1.45rem;transform:rotate(45deg);}
.uh-nav-open .uh-burger span:nth-child(2){opacity:0;}
.uh-nav-open .uh-burger span:nth-child(3){top:1.45rem;transform:rotate(-45deg);}
/* Menü-Panel */
.uh-nav{position:fixed;inset:0;z-index:99;visibility:hidden;transition:visibility 0s linear .6s;font-family:var(--uh-font);}
.uh-nav-open .uh-nav{visibility:visible;transition-delay:0s;}
.uh-nav-open{overflow:hidden;}
.uh-nav-bg{position:absolute;inset:0;background:rgba(11,40,46,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .5s ease;}
.uh-nav-open .uh-nav-bg{opacity:1;}
.uh-nav-panel{position:absolute;right:0;top:0;bottom:0;width:min(30rem,100%);display:flex;flex-direction:column;justify-content:center;gap:2rem;padding:6rem clamp(1.5rem,5vw,3rem) 2.5rem;overflow-y:auto;background:linear-gradient(160deg,var(--uh-sea) 0%,var(--uh-sea-2) 100%);color:#fff;transform:translateX(102%);transition:transform .65s cubic-bezier(.7,0,.2,1);}
.uh-nav-open .uh-nav-panel{transform:none;}
.uh-nav-list{margin:0;padding:0;list-style:none;}
.uh-nav-list li{margin:0;overflow:hidden;}
.uh-nav-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;color:#fff;font-weight:700;font-size:clamp(1.5rem,1.1rem + 2vw,2.2rem);line-height:1.15;letter-spacing:-.02em;text-decoration:none;box-shadow:inset 0 -1px 0 rgba(255,255,255,.14);transform:translateX(40px);opacity:0;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s ease,color .25s ease,padding .3s ease;}
.uh-nav-list a::after{content:"";flex:none;width:1.6rem;height:1.6rem;background:currentColor;-webkit-mask:var(--uh-arrow) center / 100% no-repeat;mask:var(--uh-arrow) center / 100% no-repeat;transform:translateX(-14px);opacity:0;transition:transform .35s ease,opacity .3s ease;}
.uh-nav-list a:hover,.uh-nav-list a:focus-visible{color:var(--uh-accent);padding-left:.5rem;}
.uh-nav-list a:hover::after,.uh-nav-list a:focus-visible::after{transform:none;opacity:1;}
.uh-nav-open .uh-nav-list a{transform:none;opacity:1;}
.uh-nav-open .uh-nav-list li:nth-child(1) a{transition-delay:.18s,.18s,0s,0s;}
.uh-nav-open .uh-nav-list li:nth-child(2) a{transition-delay:.23s,.23s,0s,0s;}
.uh-nav-open .uh-nav-list li:nth-child(3) a{transition-delay:.28s,.28s,0s,0s;}
.uh-nav-open .uh-nav-list li:nth-child(4) a{transition-delay:.33s,.33s,0s,0s;}
.uh-nav-open .uh-nav-list li:nth-child(5) a{transition-delay:.38s,.38s,0s,0s;}
.uh-nav-open .uh-nav-list li:nth-child(6) a{transition-delay:.43s,.43s,0s,0s;}
.uh-nav-open .uh-nav-list li:nth-child(n+7) a{transition-delay:.48s,.48s,0s,0s;}
.uh-nav-contact{display:grid;gap:.3rem;font-size:var(--uh-step--1);}
.uh-nav-contact a{color:#cfe9e6;text-decoration:none;}
.uh-nav-contact a:hover{color:var(--uh-accent);}


/* ============================================================
   9. EIGENER FOOTER
   Schlank: Name, Kontakt, Social, rechtliche Links. Wird über
   functions.php ausgegeben (Hook generate_footer). Widget-Spalten und
   die GeneratePress-Fußzeile sind ausgeblendet.
   ============================================================ */
.site-footer > *:not(.uh-footer),.site-footer .footer-widgets,.site-footer .site-info,.site-footer .footer-bar{display:none !important;}
.site-footer{background:transparent;padding:0;margin:0;}
.uh-footer{position:relative;background:var(--uh-ink-900);color:#cdd6d6;padding:clamp(2.75rem,5vw,3.75rem) var(--uh-gutter) 1.75rem;font-family:var(--uh-font);font-size:var(--uh-step--1);line-height:1.7;}
.uh-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--uh-teal-2),var(--uh-accent),var(--uh-sun));}
.uh-footer a{color:inherit;text-decoration:none;}
.uh-footer a:hover{color:var(--uh-accent);text-decoration:underline;text-underline-offset:.25em;}
.uh-footer p{margin:0;}
.uh-footer-grid{max-width:var(--uh-wrap);margin:0 auto;display:grid;gap:1.75rem;grid-template-columns:1fr;}
.uh-footer ul{margin:0;padding:0;list-style:none;}
.uh-footer li{margin-bottom:.35rem;}
.uh-footer-logo{width:56px;height:auto;margin-bottom:.8rem;}
.uh-footer-legal{max-width:var(--uh-wrap);margin:2rem auto 0;padding-top:1.25rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);color:#93a2a2;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;}
@media (min-width:821px){.uh-footer-grid{grid-template-columns:1.6fr 1fr 1fr;}}
@media (max-width:820px){.uh-footer{padding-bottom:6rem;}}


/* ============================================================
   10. HILFSKLASSEN
   ============================================================ */
.uh-center{text-align:center;}
.uh-measure{max-width:62ch;}
.uh-page .uh-mt{margin-top:2.5rem;}
.uh-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}


/* ============================================================
   11. GENERATEPRESS-ANPASSUNGEN UND BLOCK-EDITOR
   Auf der Startseite und auf Seiten mit Klasse uh-fullpage (Preisrechner) laufen die Flächen von Kante zu Kante.
   ============================================================ */
body.home .entry-header,body.uh-fullpage .entry-header,
body.home .page-header,body.uh-fullpage .page-header{display:none;}
body.home .site-content,body.uh-fullpage .site-content{display:block;}
body.home .content-area,body.uh-fullpage .content-area,
body.home #primary,body.uh-fullpage #primary{float:none;width:100% !important;max-width:none;flex:1 1 100%;}
body.home .inside-article,body.uh-fullpage .inside-article,
body.home.separate-containers .inside-article,body.uh-fullpage.separate-containers .inside-article{padding:0 !important;background:transparent;max-width:none;}
body.home .entry-content:not(:first-child),body.uh-fullpage .entry-content:not(:first-child){margin-top:0;}
body.home .entry-content,body.uh-fullpage .entry-content{margin:0;}
body.home .grid-container,body.uh-fullpage .grid-container{max-width:none;}
body.home .separate-containers .site-main,body.uh-fullpage .separate-containers .site-main{margin:0;}
.uh-page.is-layout-flow > *{margin-block-start:0 !important;}


/* ============================================================
   12. HERO
   Foto von Kante zu Kante unter einem Tiefsee-Farbschleier, Überschrift
   in drei Zeilen, die nacheinander hochgleiten. Buttons gleiten von
   links und rechts ein. Rechts unten schwebt eine Glas-Karte.
   ============================================================ */
.uh-hero{position:relative;isolation:isolate;display:grid;align-items:end;min-height:min(calc(100vh - 4.6rem),880px);min-height:min(calc(100svh - 4.6rem),880px);color:#fff;background:var(--uh-sea);overflow:hidden;padding-bottom:var(--uh-cut);}
.uh-hero-img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;object-position:50% 55%;z-index:-3;transform:translate3d(0,var(--py,0px),0);}
.uh-hero-veil{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(100deg,rgba(11,63,70,.92) 0%,rgba(11,63,70,.62) 42%,rgba(11,63,70,.12) 100%),
  linear-gradient(0deg,rgba(11,40,46,.7) 0%,rgba(11,40,46,0) 45%);}
.uh-hero-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(80px);pointer-events:none;}
.uh-hero-glow.g1{width:30rem;height:30rem;background:var(--uh-accent);opacity:.35;top:-10rem;right:-6rem;animation:uh-float 9s ease-in-out infinite;}
.uh-hero-glow.g2{width:24rem;height:24rem;background:var(--uh-silver);opacity:.2;bottom:-8rem;left:30%;animation:uh-float 11s ease-in-out infinite reverse;}
.uh-hero-in{position:relative;width:100%;max-width:var(--uh-wrap);margin:0 auto;padding:7rem var(--uh-gutter) 3rem;justify-self:center;}
.uh-hero .uh-eyebrow{animation:uh-rise .8s cubic-bezier(.16,1,.3,1) .1s backwards;}
.uh-hero h1{font-size:var(--uh-step-5);line-height:1.03;letter-spacing:-.03em;max-width:none;text-wrap:nowrap;}
.uh-hero h1 .uh-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em;}
.uh-hero h1 .uh-line > span{display:block;animation:uh-line 1s cubic-bezier(.16,1,.3,1) backwards;}
.uh-hero h1 .uh-line:nth-child(2) > span{animation-delay:.14s;}
.uh-hero .uh-lede{margin-top:1.6rem;max-width:46ch;animation:uh-rise .9s cubic-bezier(.16,1,.3,1) .45s backwards;}
.uh-hero .uh-actions .uh-btn:nth-child(odd){animation:uh-slide-l 1s cubic-bezier(.16,1,.3,1) .6s backwards;}
.uh-hero .uh-actions .uh-btn:nth-child(even){animation:uh-slide-r 1s cubic-bezier(.16,1,.3,1) .7s backwards;}
.uh-quick{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.25rem;animation:uh-rise .9s cubic-bezier(.16,1,.3,1) .9s backwards;}
.uh-quick a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.2rem;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:var(--uh-step--1);font-weight:500;text-decoration:none;transition:background-color .3s ease,color .3s ease,transform .3s ease;}
.uh-quick a:hover{background:var(--uh-silver);color:var(--uh-ink-900);transform:translateY(-3px);}
.uh-hero-card{display:none;}
@media (min-width:1100px){
  .uh-hero-card{display:block;position:absolute;right:var(--uh-gutter);bottom:3rem;width:270px;padding:1.4rem 1.5rem;border-radius:var(--uh-radius);background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);animation:uh-slide-r 1.1s cubic-bezier(.16,1,.3,1) 1s backwards;}
  .uh-hero-card b{display:block;font-size:1.85rem;line-height:1;color:var(--uh-sun);font-weight:700;}
  .uh-hero-card span{display:block;margin-top:.35rem;font-size:var(--uh-step--1);line-height:1.5;color:#e6f2f2;}
  .uh-hero-card hr{border:0;height:1px;background:rgba(255,255,255,.25);margin:1rem 0;}
}


/* ============================================================
   13. LAUFBAND
   Endlos laufendes Band mit den Schlagworten, leicht gekippt und
   über den Hero-Rand gelegt.
   ============================================================ */
.uh-ticker-wrap{position:relative;z-index:3;overflow:hidden;padding:1.1rem 0;margin-top:calc(var(--uh-cut) * -.9);pointer-events:none;}
.uh-ticker{display:flex;width:104%;margin-left:-2%;transform:rotate(-1.6deg);background:var(--uh-accent);color:var(--uh-ink-900);box-shadow:0 14px 34px -14px rgba(0,0,0,.5);overflow:hidden;white-space:nowrap;}
.uh-ticker-track{display:flex;flex:none;animation:uh-marquee 38s linear infinite;}
.uh-page .uh-ticker ul{display:flex;flex:none;}
.uh-ticker li{display:flex;align-items:center;gap:1.4rem;padding:1.05rem 0 1.05rem 1.4rem;font-weight:700;font-size:var(--uh-step-1);letter-spacing:-.01em;}
.uh-ticker li::after{content:"";width:.7rem;height:.7rem;background:var(--uh-teal-2);transform:rotate(45deg);flex:none;}
.uh-ticker li:nth-child(3n+2)::after{background:var(--uh-silver);}
.uh-ticker li:nth-child(3n)::after{background:var(--uh-ink-900);}
@keyframes uh-marquee{to{transform:translateX(-50%);}}


/* ============================================================
   14. USP-KACHELN (was mich ausmacht)
   Drei große Karten: Erfahrung, Preis sofort, alle Fotos.
   ============================================================ */
.uh-usp .uh-head{max-width:none;}
.uh-usp-grid{display:grid;gap:1.1rem;grid-template-columns:1fr;}
.uh-usp-card{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:clamp(1.6rem,3vw,2.4rem);border-radius:var(--uh-radius);min-height:20rem;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease;}
.uh-usp-card::before{content:"";position:absolute;right:-4rem;top:-4rem;width:12rem;height:12rem;border-radius:50%;background:rgba(255,255,255,.18);transition:transform .7s cubic-bezier(.16,1,.3,1);}
.uh-usp-card:hover{transform:translateY(-8px);box-shadow:0 30px 44px -28px rgba(0,0,0,.5);}
.uh-usp-card:hover::before{transform:scale(1.7);}
.uh-usp-sea{background:var(--uh-sea);color:#fff;}
.uh-usp-teal{background:var(--uh-accent);color:var(--uh-ink-900);}
.uh-usp-silver{background:var(--uh-silver);color:var(--uh-ink-900);}
.uh-usp-big{position:relative;display:block;margin-bottom:auto;padding-bottom:2rem;font-size:var(--uh-step-4);font-weight:700;line-height:1;letter-spacing:-.03em;}
.uh-usp-card h3{position:relative;font-size:var(--uh-step-2);margin-bottom:.6rem;}
.uh-usp-card p{position:relative;font-size:var(--uh-step-0);line-height:1.6;}
.uh-usp-card .uh-actions{position:relative;margin-top:1.4rem;}
@media (min-width:900px){.uh-usp-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;}.uh-usp-card{min-height:26rem;}}


/* ============================================================
   15. ORTE (Bento-Kacheln)
   Große und kleine Kacheln in Mosaik-Anordnung. Jede Kachel hat eine
   eigene Farbe (--c), die beim Darüberfahren einläuft. Der Pfeil gleitet
   ein. Auf Touch-Geräten ist er dauerhaft sichtbar.
   ============================================================ */
.uh-places{display:grid;gap:1rem;grid-template-columns:1fr;grid-auto-rows:clamp(250px,64vw,320px);}
.uh-place{--c:var(--uh-accent);position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--uh-radius);background:var(--uh-sea);color:#fff !important;text-decoration:none !important;isolation:isolate;}
.uh-place:nth-child(6n+2){--c:var(--uh-teal-2);}
.uh-place:nth-child(6n+3){--c:var(--uh-silver);}
.uh-place:nth-child(6n+4){--c:var(--uh-teal-3);}
.uh-place:nth-child(6n+5){--c:var(--uh-accent);}
.uh-place:nth-child(6n){--c:var(--uh-teal-2);}
.uh-place img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transition:transform .9s cubic-bezier(.16,1,.3,1);}
.uh-place::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(11,40,46,.85) 0%,rgba(11,40,46,.1) 62%);transition:opacity .4s ease;}
.uh-place::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.7,0,.2,1);}
.uh-place:hover img{transform:scale(1.08);}
.uh-place:hover::after,.uh-place:focus-visible::after{transform:none;}
.uh-place-text{position:relative;width:100%;padding:1.4rem 4.6rem 1.5rem 1.5rem;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.uh-place:hover .uh-place-text{transform:translateY(-6px);}
.uh-place-text h3{font-size:var(--uh-step-2);}
.uh-place-text span{display:block;margin-top:.3rem;font-size:var(--uh-step--1);line-height:1.45;opacity:.95;}
.uh-place-go{position:absolute;right:1.1rem;bottom:1.2rem;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--c);color:var(--uh-ink-900);transform:translateX(5rem);opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .3s ease;}
.uh-place-go::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--uh-arrow) center / 46% no-repeat;mask:var(--uh-arrow) center / 46% no-repeat;}
.uh-place:hover .uh-place-go,.uh-place:focus-visible .uh-place-go{transform:none;opacity:1;}
@media (hover:none){.uh-place-go{transform:none;opacity:1;}.uh-place::after{transform:none;}}
@media (min-width:600px){
  .uh-places{grid-template-columns:repeat(2,1fr);grid-auto-rows:280px;}
  .uh-place:first-child,.uh-place:last-child{grid-column:1 / -1;}
}
@media (min-width:821px){
  .uh-places{grid-template-columns:repeat(3,1fr);grid-auto-rows:270px;}
  .uh-place:first-child{grid-column:auto;grid-row:span 2;}
  .uh-place:last-child{grid-column:1 / -1;}
  .uh-place:first-child h3{font-size:var(--uh-step-3);}
}


/* ============================================================
   16. ABLAUF
   Vier Schritte vom Preis bis zur Galerie. Große Zahlen in Farbe.
   ============================================================ */
.uh-steps{display:grid;gap:1.1rem;grid-template-columns:1fr;counter-reset:uh-s;}
.uh-step{--c:var(--uh-accent);position:relative;overflow:hidden;counter-increment:uh-s;background:var(--uh-white);border-radius:var(--uh-radius);padding:1.7rem 1.5rem 1.8rem;box-shadow:0 18px 34px -26px rgba(20,50,55,.45);transition:transform .45s cubic-bezier(.16,1,.3,1);}
.uh-step:nth-child(2){--c:var(--uh-teal-2);}
.uh-step:nth-child(3){--c:var(--uh-teal-3);}
.uh-step:nth-child(4){--c:var(--uh-silver);}
.uh-step::before{content:counter(uh-s);display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--c);color:var(--uh-ink-900);font-weight:700;font-size:1.4rem;margin-bottom:1.1rem;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.uh-step::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1);}
.uh-step:hover{transform:translateY(-8px);}
.uh-step:hover::before{transform:rotate(-12deg) scale(1.12);}
.uh-step:hover::after{transform:none;}
.uh-step h3{font-size:var(--uh-step-1);margin-bottom:.5rem;}
.uh-step p{color:var(--uh-ink-600);font-size:var(--uh-step--1);line-height:1.6;}
@media (min-width:600px){.uh-steps{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.uh-steps{grid-template-columns:repeat(4,1fr);}}


/* ============================================================
   17. GALERIE
   Versetzte Spalten mit verschiedenen Formaten. Die Bilder gleiten
   abwechselnd von links und rechts ein.
   ============================================================ */
.uh-gallery{columns:2;column-gap:1rem;}
.uh-gallery figure{position:relative;margin:0 0 1rem;break-inside:avoid;border-radius:var(--uh-radius);overflow:hidden;background:var(--uh-line);}
.uh-gallery img{width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1);}
.uh-gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--c,var(--uh-accent)),transparent 55%);opacity:0;mix-blend-mode:multiply;transition:opacity .5s ease;pointer-events:none;}
.uh-gallery figure:nth-child(4n+1){--c:var(--uh-accent);}
.uh-gallery figure:nth-child(4n+2){--c:var(--uh-teal-2);}
.uh-gallery figure:nth-child(4n+3){--c:var(--uh-teal-3);}
.uh-gallery figure:nth-child(4n){--c:var(--uh-silver);}
.uh-gallery figure:hover img{transform:scale(1.07);}
.uh-gallery figure:hover::after{opacity:.75;}
.uh-gallery .r-34 img{aspect-ratio:3 / 4;}
.uh-gallery .r-43 img{aspect-ratio:4 / 3;}
.uh-gallery .r-11 img{aspect-ratio:1 / 1;}
.uh-gallery .r-45 img{aspect-ratio:4 / 5;}
@media (min-width:821px){.uh-gallery{columns:3;column-gap:1.25rem;}.uh-gallery figure{margin-bottom:1.25rem;}}


/* ============================================================
   18. ÜBER MICH
   Foto mit versetzten Farbflächen dahinter und drehendem Siegel.
   ============================================================ */
.uh-about{display:grid;gap:3rem;align-items:center;}
.uh-about figure{position:relative;margin:0 1rem 1rem 0;}
.uh-about figure::before{content:"";position:absolute;inset:1.1rem -1.1rem -1.1rem 1.1rem;border-radius:var(--uh-radius);background:var(--uh-teal-2);transform:rotate(3deg);transition:transform .6s cubic-bezier(.16,1,.3,1);}
.uh-about figure::after{content:"";position:absolute;left:-1rem;top:-1rem;width:38%;height:30%;border-radius:var(--uh-radius);background:var(--uh-silver);transform:rotate(-5deg);z-index:0;}
.uh-about figure:hover::before{transform:rotate(-1deg);}
.uh-about figure img{position:relative;z-index:1;width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--uh-radius);}
.uh-seal{position:absolute;z-index:2;right:-.6rem;bottom:2rem;display:grid;place-items:center;width:6.6rem;height:6.6rem;border-radius:50%;background:var(--uh-ink-900);color:var(--uh-accent);font-weight:700;font-size:.95rem;line-height:1.15;text-align:center;box-shadow:0 0 0 5px var(--uh-accent);animation:uh-float 6s ease-in-out infinite;}
.uh-page .uh-checks{display:grid;gap:.9rem;margin:1.8rem 0 0;}
.uh-checks li{position:relative;padding-left:2.2rem;}
.uh-checks li::before{content:"";position:absolute;left:0;top:.2em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--uh-accent);box-shadow:inset 0 0 0 5px var(--uh-accent),inset 0 0 0 9px var(--uh-ink-900);}
.uh-checks li:nth-child(2)::before{background:var(--uh-teal-2);box-shadow:inset 0 0 0 5px var(--uh-teal-2),inset 0 0 0 9px var(--uh-ink-900);}
.uh-checks li:nth-child(3)::before{background:var(--uh-teal-3);box-shadow:inset 0 0 0 5px var(--uh-teal-3),inset 0 0 0 9px var(--uh-ink-900);}
.uh-checks li:nth-child(4)::before{background:var(--uh-silver);box-shadow:inset 0 0 0 5px var(--uh-silver),inset 0 0 0 9px var(--uh-ink-900);}
@media (min-width:821px){.uh-about{grid-template-columns:5fr 6fr;gap:5.5rem;}}


/* ============================================================
   19. BEWERTUNGEN
   ============================================================ */
.uh-reviews{overflow:hidden;}
.uh-reviews::before,.uh-reviews::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;}
.uh-reviews::before{width:26rem;height:26rem;background:var(--uh-accent);opacity:.3;top:-8rem;left:-8rem;}
.uh-reviews::after{width:24rem;height:24rem;background:var(--uh-teal-2);opacity:.25;bottom:-8rem;right:-6rem;}
.uh-score{font-weight:700;font-size:var(--uh-step-6);letter-spacing:-.04em;line-height:1;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-stars{color:var(--uh-sun);font-size:1.6rem;letter-spacing:.25em;margin:.5rem 0 1.3rem;}
.uh-page .uh-names{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;max-width:52rem;margin:2.25rem auto;}
.uh-names li{--c:var(--uh-accent);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);padding:.6rem 1.15rem;border-radius:999px;font-size:var(--uh-step--1);transition:background-color .3s ease,color .3s ease,transform .3s ease;}
.uh-names li:nth-child(4n+2){--c:var(--uh-teal-2);}
.uh-names li:nth-child(4n+3){--c:var(--uh-silver);}
.uh-names li:nth-child(4n){--c:var(--uh-teal-3);}
.uh-names li:hover{background:var(--c);color:var(--uh-ink-900);transform:translateY(-4px) rotate(-2deg);}


/* ============================================================
   20. PREISRECHNER-AUFRUF
   Türkiser Farbverlauf, große Überschrift, Karte mit Schlagworten.
   ============================================================ */
.uh-calc{display:grid;gap:2.5rem;align-items:center;}
.uh-calc .uh-lede{color:#14423e;}
.uh-calc-panel{position:relative;background:var(--uh-white);border-radius:var(--uh-radius);padding:2rem 1.75rem;box-shadow:0 30px 50px -30px rgba(7,70,64,.7);transform:rotate(1.2deg);transition:transform .6s cubic-bezier(.16,1,.3,1);}
.uh-calc-panel:hover{transform:rotate(0);}
.uh-page .uh-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;}
.uh-tags li{--c:var(--uh-accent);background:var(--c);color:var(--uh-ink-900);font-weight:600;font-size:var(--uh-step--1);padding:.45rem .95rem;border-radius:999px;}
.uh-tags li:nth-child(2){--c:var(--uh-teal-2);}
.uh-tags li:nth-child(3){--c:var(--uh-silver);}
.uh-tags li:nth-child(4){--c:var(--uh-teal-3);}
@media (min-width:821px){.uh-calc{grid-template-columns:1.4fr 1fr;gap:5rem;}}


/* ============================================================
   21. KONTAKT-ABSCHLUSS
   ============================================================ */
.uh-final{overflow:hidden;text-align:center;}
.uh-final::before,.uh-final::after{content:"";position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;}
.uh-final::before{width:28rem;height:28rem;background:var(--uh-accent);opacity:.3;left:-10rem;top:-6rem;}
.uh-final::after{width:26rem;height:26rem;background:var(--uh-teal-3);opacity:.28;right:-8rem;bottom:-8rem;}
.uh-final h2{max-width:20ch;margin:0 auto;font-size:var(--uh-step-4);}
.uh-final .uh-lede{margin:1.2rem auto 0;}
.uh-final .uh-actions{justify-content:center;}
.uh-social{display:flex;justify-content:center;gap:.7rem;margin-top:2.25rem;}
.uh-social a{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1.2rem;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff;text-decoration:none;font-size:var(--uh-step--1);font-weight:500;transition:background-color .3s ease,color .3s ease,transform .3s ease;}
.uh-social a:hover{background:var(--uh-teal-2);color:var(--uh-ink-900);transform:translateY(-3px);}


/* ============================================================
   22. SCHWEBENDE BUTTONS
   Gleiten nach etwas Scrollen von rechts (Computer) bzw. von unten
   (Handy) ein und verschwinden wieder, sobald der Kontaktbereich im
   Bild ist. Steuerung: uh.js (Klasse is-on).
   ============================================================ */
.uh-dock{position:fixed;z-index:90;right:0;bottom:1.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;transform:translateX(120%);transition:transform .7s cubic-bezier(.16,1,.3,1);}
.uh-dock.is-on{transform:none;}
.uh-dock .uh-btn{min-height:3.25rem;border-radius:999px 0 0 999px;padding-right:.5rem;box-shadow:0 16px 34px -14px rgba(0,0,0,.55);}
@media (max-width:820px){
  .uh-dock{left:0;right:0;bottom:0;flex-direction:row;align-items:stretch;gap:.6rem;padding:.7rem var(--uh-gutter) calc(.7rem + env(safe-area-inset-bottom));background:rgba(35,39,42,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(120%);}
  .uh-dock.is-on{transform:none;}
  .uh-dock .uh-btn{flex:1 1 0;justify-content:space-between;border-radius:999px;padding-left:1.1rem;min-height:3.25rem;box-shadow:none;font-size:.9rem;}
  .uh-dock .uh-btn-i{width:2.2rem;height:2.2rem;}
}


/* ============================================================
   23. KORREKTUREN
   Hier kommen spätere Korrekturen hin (neuer, nummerierter Abschnitt,
   dazu Changelog-Zeile und Versionssprung).
   ============================================================ */

/* ============================================================
   24. PREISRECHNER / ANFRAGETOOL
   Schritt-Formular links, Preiskarte rechts (mobil: unten angeheftet).
   Auswahlkacheln sind echte Radio-Felder (per Tastatur bedienbar).
   ============================================================ */
.uh-minihero{position:relative;isolation:isolate;background:var(--uh-sea);color:#fff;padding:clamp(3rem,8vw,6rem) var(--uh-gutter) calc(var(--uh-cut) + 2.5rem);overflow:hidden;z-index:1;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--uh-cut)),0 100%);}
.uh-minihero::before{content:"";position:absolute;z-index:-1;right:-10%;top:-40%;width:60vw;height:60vw;max-width:720px;max-height:720px;border-radius:50%;background:radial-gradient(circle,rgba(64,224,208,.35),transparent 65%);}
.uh-minihero-in{max-width:var(--uh-wrap);margin:0 auto;}
.uh-page .uh-minihero h1{font-size:var(--uh-step-5);line-height:1.05;margin:1rem 0 1rem;color:#fff;}
.uh-minihero .uh-lede{color:#d9e6e6;}
.uh-tool-wrap{position:relative;background:var(--uh-paper);padding:0 var(--uh-gutter) var(--uh-section);margin-top:calc(var(--uh-cut) * -1);padding-top:calc(var(--uh-cut) + 2rem);z-index:0;}
.uh-tool{max-width:var(--uh-wrap);margin:0 auto;display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:start;}
@media (min-width:960px){.uh-tool{grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;}}

.uh-form{background:var(--uh-white);border-radius:var(--uh-radius);padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 24px 60px -34px rgba(11,63,70,.45);min-width:0;}
.uh-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1.75rem;padding:0;}
.uh-progress li{position:relative;padding-top:.7rem;font-size:var(--uh-step--1);font-weight:600;color:var(--uh-ink-600);}
.uh-progress li::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:5px;background:var(--uh-silver-2);}
.uh-progress li::after{content:"";position:absolute;left:0;top:0;height:5px;border-radius:5px;width:0;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));transition:width .5s cubic-bezier(.16,1,.3,1);}
.uh-progress li.is-done::after,.uh-progress li.is-active::after{width:100%;}
.uh-progress li.is-active{color:var(--uh-ink-900);}

.uh-pane{border:0;margin:0;padding:0;min-width:0;}
.uh-pane[hidden]{display:none;}
.uh-pane.is-active{animation:uh-pane-in .5s cubic-bezier(.16,1,.3,1);}
@keyframes uh-pane-in{from{opacity:0;translate:24px 0;}to{opacity:1;translate:0 0;}}
.uh-pane legend,.uh-done h3{float:left;width:100%;padding:0;margin:0 0 1.25rem;font-size:var(--uh-step-3);line-height:1.15;font-weight:700;color:var(--uh-ink-900);outline:0;}
.uh-pane legend + *{clear:both;}
.uh-done{padding:1rem 0;}
.uh-done h3{float:none;}
.uh-done p{margin:0 0 1rem;max-width:58ch;}

.uh-grid-2{display:grid;grid-template-columns:1fr;gap:1rem;}
@media (min-width:640px){.uh-grid-2{grid-template-columns:1fr 1fr;}}
.uh-field{display:block;margin:0 0 1.1rem;min-width:0;}
.uh-field label,.uh-field .uh-label{display:block;font-weight:600;font-size:var(--uh-step--1);margin-bottom:.4rem;color:var(--uh-ink-800);}
.uh-field b{color:var(--uh-accent-text);}
.uh-field input[type=text],.uh-field input[type=email],.uh-field input[type=tel],.uh-field input[type=date],.uh-field input[type=time],.uh-field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--uh-ink-900);background:var(--uh-silver-2);border:2px solid transparent;border-radius:14px;padding:.85rem 1rem;min-height:3.1rem;transition:border-color .2s,background .2s,box-shadow .2s;}
.uh-field input:focus,.uh-field textarea:focus{outline:0;background:#fff;border-color:var(--uh-accent);box-shadow:0 0 0 4px rgba(64,224,208,.25);}
.uh-field.is-bad input,.uh-field.is-bad textarea{border-color:#b3261e;background:#fff;}
.uh-error{display:none;margin-top:.35rem;font-size:var(--uh-step--1);font-weight:600;color:#b3261e;}
.uh-field.is-bad .uh-error{display:block;}
.uh-season{display:block;margin-top:.4rem;font-size:var(--uh-step--1);color:var(--uh-accent-text);font-weight:600;min-height:1.2em;}

.uh-pick-group{margin:0 0 1.1rem;}
.uh-pick-title{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--uh-ink-600);margin-bottom:.45rem;}
.uh-pick-row{display:flex;flex-wrap:wrap;gap:.6rem;}
.uh-choice{position:relative;display:block;margin:0 !important;cursor:pointer;}
.uh-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;}
.uh-choice span{display:flex;flex-direction:column;justify-content:center;min-height:3rem;padding:.65rem 1.1rem;border-radius:999px;background:var(--uh-silver-2);border:2px solid transparent;font-weight:600;font-size:var(--uh-step--1);color:var(--uh-ink-800);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;}
.uh-choice span em{font-style:normal;font-weight:500;color:var(--uh-ink-600);font-size:.8rem;}
.uh-choice:hover span{background:var(--uh-teal-3);}
.uh-choice input:focus-visible + span{outline:3px solid var(--uh-accent);outline-offset:2px;}
.uh-choice input:checked + span{background:var(--uh-sea);color:#fff;border-color:var(--uh-accent);box-shadow:0 10px 24px -12px rgba(11,63,70,.7);}
.uh-choice input:checked + span em{color:var(--uh-teal-3);}
.uh-pick-big .uh-choice{flex:1 1 200px;}
.uh-pick-big .uh-choice span{border-radius:var(--uh-radius);min-height:4rem;font-size:1rem;}
.uh-hint{margin:0 0 1rem;color:var(--uh-ink-600);font-size:var(--uh-step--1);}
.uh-time-box{margin:0 0 1rem;padding:1rem 1.2rem;border-radius:var(--uh-radius);background:var(--uh-silver-2);}
.uh-time-box strong{display:block;font-size:var(--uh-step-1);color:var(--uh-ink-900);}
.uh-time-box span{color:var(--uh-ink-600);font-size:var(--uh-step--1);}
/* Preisaufstellung in Schritt 4 */
.uh-offer{margin:0 0 1.75rem;border-radius:var(--uh-radius);background:var(--uh-silver-2);padding:.6rem 1.3rem 1.2rem;}
.uh-offer-row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.8rem 0;border-bottom:1px solid rgba(35,39,42,.12);font-size:var(--uh-step--1);color:var(--uh-ink-800);}
.uh-offer-row b{white-space:nowrap;font-weight:700;color:var(--uh-ink-900);}
.uh-offer-row.is-total{border-bottom:0;padding-top:1rem;font-size:var(--uh-step-1);font-weight:800;color:var(--uh-ink-900);}
.uh-offer-row.is-total b{font-size:var(--uh-step-3);background:linear-gradient(90deg,var(--uh-teal-2),#c99500);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-offer-note{margin:.5rem 0 0;font-size:var(--uh-step--1);color:var(--uh-ink-600);}
.uh-sub-h{font-size:var(--uh-step-1);margin:0 0 1rem;color:var(--uh-ink-900);}

.uh-check{display:flex !important;gap:.75rem;align-items:flex-start;font-weight:400 !important;cursor:pointer;}
.uh-check input{flex:none;width:1.3rem;height:1.3rem;margin-top:.15rem;accent-color:var(--uh-sea-2);}
.uh-check a{color:var(--uh-accent-text);text-decoration:underline;}
.uh-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.uh-form-error{margin:0 0 1rem;padding:.8rem 1rem;border-radius:14px;background:#fdecea;color:#8c1d18;font-weight:600;}
.uh-form-error[hidden]{display:none;}

.uh-form-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--uh-line);}
.uh-form-nav[hidden]{display:none;}
.uh-back{font:inherit;font-weight:600;background:none;border:0;color:var(--uh-ink-600);cursor:pointer;padding:.7rem .4rem;text-decoration:underline;text-underline-offset:4px;}
.uh-back:hover{color:var(--uh-ink-900);}
.uh-back[hidden]{display:none;}
.uh-form-nav .uh-btn{margin-left:auto;border:0;cursor:pointer;font-family:inherit;}
.uh-form-nav .uh-btn[disabled]{opacity:.6;cursor:wait;}

/* Preiskarte */
.uh-quote{position:sticky;top:5.5rem;border-radius:var(--uh-radius);padding:1.6rem 1.5rem;background:linear-gradient(160deg,var(--uh-sea) 0%,var(--uh-sea-2) 100%);color:#fff;box-shadow:0 30px 60px -30px rgba(11,63,70,.75);}
.uh-quote-eyebrow{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--uh-accent);}
.uh-quote-price{margin:.35rem 0 .2rem;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:800;line-height:1.05;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;}
.uh-quote-price.is-bump{animation:uh-bump .45s ease;}
@keyframes uh-bump{40%{scale:1.07;}}
.uh-page .uh-quote-sub{margin:0 0 1rem;color:#cfe3e3;font-size:var(--uh-step--1);}
.uh-page .uh-quote-list{list-style:none;margin:0;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:.45rem;font-size:var(--uh-step--1);}
.uh-page .uh-quote-list li{padding-left:1.5rem;position:relative;}
.uh-page .uh-quote-list li::before{content:"";position:absolute;left:0;top:.35em;width:.9rem;height:.9rem;border-radius:50%;background:var(--uh-accent);-webkit-mask:var(--uh-check) center/70% no-repeat;mask:var(--uh-check) center/70% no-repeat;}
.uh-page .uh-quote-extra{margin:1rem 0 0;padding:.7rem .9rem;border-radius:12px;background:rgba(255,255,255,.1);font-size:var(--uh-step--1);}
.uh-page .uh-quote-extra[hidden]{display:none;}
@media (max-width:959px){
  .uh-tool{padding-bottom:1rem;}
  .uh-quote:not(.is-final){position:static;padding:1.2rem 1.25rem;}
  .uh-quote.is-final{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:50;border-radius:18px 18px 0 0;padding:.8rem var(--uh-gutter) calc(.8rem + env(safe-area-inset-bottom));}
  .uh-quote.is-final .uh-quote-final{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
  .uh-quote-eyebrow{font-size:.68rem;}
  .uh-quote-price{margin:0;font-size:1.9rem;order:2;}
  .uh-page .uh-quote.is-final .uh-quote-sub,.uh-page .uh-quote.is-final .uh-quote-list{display:none;}
  .uh-quote.is-final .uh-quote-eyebrow{order:1;max-width:8rem;}
}

/* Vorzüge in der Karte (Schritte 1 bis 3) */
.uh-quote-wait[hidden],.uh-quote-final[hidden]{display:none;}
.uh-page .uh-perks-list{list-style:none;margin:.9rem 0 1.1rem;padding:0;display:grid;gap:.9rem;}
.uh-page .uh-perks-list li{position:relative;padding-left:2rem;font-size:var(--uh-step--1);line-height:1.45;color:#d9e8e8;}
.uh-page .uh-perks-list li strong{display:block;font-size:var(--uh-step-0);color:#fff;}
.uh-page .uh-perks-list li::before{content:"";position:absolute;left:0;top:.1em;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--uh-accent);-webkit-mask:var(--uh-check) center/70% no-repeat;mask:var(--uh-check) center/70% no-repeat;}

/* Vorzüge-Leiste über dem Formular */
.uh-perks{max-width:var(--uh-wrap);margin:0 auto 1.75rem;display:grid;grid-template-columns:1fr;gap:.8rem;}
@media (min-width:720px){.uh-perks{grid-template-columns:repeat(4,1fr);}}
.uh-page .uh-perk{margin:0;padding:1.1rem 1.2rem;border-radius:var(--uh-radius);background:#fff;box-shadow:0 18px 40px -30px rgba(11,63,70,.55);border-top:4px solid var(--uh-accent);}
.uh-page .uh-perk strong{display:block;font-size:var(--uh-step-1);line-height:1.15;color:var(--uh-ink-900);margin-bottom:.3rem;}
.uh-page .uh-perk span{display:block;line-height:1.45;font-size:var(--uh-step--1);color:var(--uh-ink-600);}
.uh-page .uh-perk.is-star{background:var(--uh-sea);border-top-color:var(--uh-sun);}
.uh-page .uh-perk.is-star strong{color:#fff;}
.uh-page .uh-perk.is-star span{color:#cfe3e3;}

/* Enthalten-Abschnitt */
.uh-incl{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem;}
@media (min-width:720px){.uh-incl{grid-template-columns:repeat(3,1fr);}.uh-incl-4{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.uh-incl-4{grid-template-columns:repeat(4,1fr);}}
.uh-page .uh-incl-card.is-star{background:var(--uh-sea);color:#fff;}
.uh-page .uh-incl-card.is-star h3{background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-page .uh-incl-card.is-star p{color:#d9e8e8;}
.uh-page .uh-incl-card{margin:0;padding:1.5rem;border-radius:var(--uh-radius);background:#fff;box-shadow:0 18px 40px -28px rgba(11,63,70,.5);}
.uh-page .uh-incl-card h3{font-size:var(--uh-step-2);margin:0 0 .5rem;}
.uh-page .uh-incl-card p{margin:0;color:var(--uh-ink-600);}

@media (prefers-reduced-motion:reduce){.uh-pane.is-active,.uh-quote-price.is-bump{animation:none !important;}.uh-progress li::after{transition:none;}}

/* SEO-Textbereich */
.uh-prose-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;}
@media (min-width:960px){.uh-prose-grid{grid-template-columns:minmax(0,1fr) 340px;gap:4rem;}}
.uh-page .uh-prose h2{margin:0 0 1.2rem;}
.uh-page .uh-prose h3{margin:2.2rem 0 .7rem;font-size:var(--uh-step-2);line-height:1.2;color:var(--uh-ink-900);}
.uh-page .uh-prose p{margin:0 0 1.1rem;max-width:68ch;color:var(--uh-ink-800);}
.uh-page .uh-prose a{color:var(--uh-accent-text);text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.uh-page .uh-prose-side{position:sticky;top:6rem;padding:1.6rem 1.5rem;border-radius:var(--uh-radius);background:linear-gradient(160deg,var(--uh-sea) 0%,var(--uh-sea-2) 100%);color:#fff;box-shadow:0 30px 60px -34px rgba(11,63,70,.75);}
.uh-page .uh-side-kicker{margin:0 0 1rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--uh-accent);}
.uh-page .uh-side-list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.9rem;}
.uh-page .uh-side-list li{position:relative;padding-left:2rem;font-size:var(--uh-step--1);line-height:1.45;color:#d9e8e8;}
.uh-page .uh-side-list li strong{display:block;font-size:var(--uh-step-0);color:#fff;}
.uh-page .uh-side-list li::before{content:"";position:absolute;left:0;top:.1em;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--uh-accent);-webkit-mask:var(--uh-check) center/70% no-repeat;mask:var(--uh-check) center/70% no-repeat;}

/* Preisübersicht, Link-Kacheln */
.uh-pricegrid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2rem;}
@media (min-width:900px){.uh-pricegrid{grid-template-columns:1fr 1fr;}.uh-pricebox-wide{grid-column:1/-1;}}
.uh-page .uh-pricebox{background:var(--uh-paper);border-radius:var(--uh-radius);padding:1.4rem 1.5rem;border-top:4px solid var(--uh-accent);}
.uh-page .uh-pricebox h3{margin:0 0 1rem;font-size:var(--uh-step-1);}
.uh-pricetable{width:100%;border-collapse:collapse;font-size:var(--uh-step--1);}
.uh-pricetable th,.uh-pricetable td{padding:.65rem .5rem;text-align:left;border-bottom:1px solid var(--uh-line);}
.uh-pricetable thead th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--uh-ink-600);}
.uh-pricetable tbody th{font-weight:600;color:var(--uh-ink-800);}
.uh-pricetable td{font-weight:700;color:var(--uh-ink-900);white-space:nowrap;}
.uh-page .uh-pricenote{margin:1rem 0 0;font-weight:600;color:var(--uh-accent-text);}
.uh-linkgrid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-top:2rem;}
@media (min-width:720px){.uh-linkgrid{grid-template-columns:repeat(3,1fr);}}
.uh-page .uh-linkcard{display:block;padding:1.2rem 1.3rem;border-radius:var(--uh-radius);background:#fff;text-decoration:none;color:var(--uh-ink-900);box-shadow:0 0 0 1px var(--uh-line);transition:transform .3s ease,box-shadow .3s ease;}
.uh-page .uh-linkcard:hover{transform:translateY(-4px);box-shadow:0 0 0 2px var(--uh-accent),0 18px 36px -24px rgba(11,63,70,.5);}
.uh-page .uh-linkcard strong{display:block;font-size:var(--uh-step-1);margin-bottom:.2rem;}
.uh-page .uh-linkcard span{font-size:var(--uh-step--1);color:var(--uh-ink-600);}

/* ============================================================
   25. STANDESAMT-SEITEN (Bewertung, Fotos, Pro und Contra, Kontakt)
   ============================================================ */
@property --p{syntax:"<number>";inherits:false;initial-value:0;}
.uh-minihero-in.is-split{display:grid;grid-template-columns:1fr;gap:2.25rem;align-items:center;}
@media (min-width:920px){.uh-minihero-in.is-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3.5rem;}}
.uh-hero-photo{margin:0;border-radius:var(--uh-radius);overflow:hidden;box-shadow:0 34px 60px -30px rgba(0,0,0,.65),0 0 0 6px rgba(255,255,255,.1);}
@media (min-width:920px){.uh-hero-photo{transform:rotate(1.6deg);}}
.uh-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.uh-page .uh-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.6rem 0 0;padding:0;list-style:none;}
.uh-page .uh-chips li{display:inline-flex;align-items:baseline;gap:.45rem;padding:.55rem 1.05rem;border-radius:999px;background:rgba(255,255,255,.12);font-size:var(--uh-step--1);color:#e6f0f0;}
.uh-page .uh-chips strong{font-size:var(--uh-step-0);background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-minihero .uh-actions{margin-top:1.8rem;}
.uh-page .uh-minihero-in.is-split h1{font-size:var(--uh-step-4);}

.uh-facts{margin:0 0 1.5rem;display:grid;gap:.1rem;}
.uh-page .uh-facts div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.16);}
.uh-page .uh-facts div:last-child{border-bottom:0;}
.uh-page .uh-facts dt{font-size:var(--uh-step--1);color:#b9d3d3;}
.uh-page .uh-facts dd{margin:0;font-weight:700;color:#fff;text-align:right;}
.uh-page .uh-amt .uh-facts div{border-bottom-color:var(--uh-line);}
.uh-page .uh-amt .uh-facts dt{color:var(--uh-ink-600);}
.uh-page .uh-amt .uh-facts dd{color:var(--uh-ink-900);}
.uh-page .uh-amt .uh-facts a{color:var(--uh-accent-text);}

.uh-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:2rem;}
@media (min-width:760px){.uh-photos{grid-template-columns:repeat(3,1fr);gap:1rem;}}
.uh-photos figure{margin:0;border-radius:var(--uh-radius);overflow:hidden;background:var(--uh-silver-2);}
.uh-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1);}
.uh-photos figure:hover img{transform:scale(1.05);}

.uh-rate-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;margin-top:2.25rem;}
@media (min-width:900px){.uh-rate-grid{grid-template-columns:320px minmax(0,1fr);gap:4.5rem;}}
.uh-ring{--p:var(--v);position:relative;width:min(300px,76vw);aspect-ratio:1;margin:0 auto;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--uh-accent) 0,var(--uh-sun) calc(var(--p) * 1%),rgba(255,255,255,.12) 0);transition:--p 1.6s cubic-bezier(.16,1,.3,1);}
.uh-ring::before{content:"";position:absolute;inset:16px;border-radius:50%;background:var(--uh-sea);}
.uh-ring > div{position:relative;}
.uh-ring b{display:block;font-size:var(--uh-step-5);font-weight:700;letter-spacing:-.04em;line-height:1;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-ring span{display:block;margin-top:.4rem;font-size:var(--uh-step--1);letter-spacing:.08em;text-transform:uppercase;color:#b9d3d3;}
.uh-js .uh-rate-grid:not(.is-in) .uh-ring{--p:0;}
.uh-bars{list-style:none;margin:0;padding:0;display:grid;gap:1.15rem;}
.uh-bars li{--v:calc(var(--n) * 1%);}
.uh-bar-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.45rem;font-weight:600;font-size:var(--uh-step-0);}
.uh-bar-head b{color:var(--uh-accent);}
.uh-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;}
.uh-bar i{display:block;height:100%;width:var(--v);border-radius:inherit;background:linear-gradient(90deg,var(--uh-teal-2),var(--uh-accent) 70%,var(--uh-teal-3));transition:width 1.2s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * .09s);}
.uh-js .uh-rate-grid:not(.is-in) .uh-bar i{width:0;}
.uh-page .uh-rate-note{margin:2.5rem auto 0;max-width:62ch;text-align:center;color:#d0e2e2;}

.uh-pc{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2rem;}
@media (min-width:820px){.uh-pc{grid-template-columns:1fr 1fr;gap:1.5rem;}}
.uh-page .uh-pc-card{padding:1.6rem 1.5rem;border-radius:var(--uh-radius);background:var(--uh-paper);}
.uh-page .uh-pc-card.is-pro{border-top:5px solid var(--uh-accent);}
.uh-page .uh-pc-card.is-con{border-top:5px solid var(--uh-silver);}
.uh-page .uh-pc-card h3{margin:0 0 1rem;font-size:var(--uh-step-2);}
.uh-page .uh-pc-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;}
.uh-page .uh-pc-card li{position:relative;padding-left:2rem;color:var(--uh-ink-800);}
.uh-page .uh-pc-card li::before{content:"";position:absolute;left:0;top:.2em;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--uh-accent);-webkit-mask:var(--uh-check) center/70% no-repeat;mask:var(--uh-check) center/70% no-repeat;}
.uh-page .uh-pc-card.is-con li::before{background:var(--uh-ink-600);-webkit-mask:none;mask:none;height:.2rem;width:1rem;top:.75em;border-radius:2px;}
.uh-page .uh-verdict{margin:1.6rem 0 0;padding:1.6rem 1.6rem 1.6rem 1.8rem;border-radius:var(--uh-radius);background:var(--uh-mist);border-left:6px solid var(--uh-accent);}
.uh-page .uh-verdict h3{margin:0 0 .6rem;font-size:var(--uh-step-2);}
.uh-page .uh-verdict p{margin:0 0 .8rem;max-width:68ch;color:var(--uh-ink-800);}
.uh-page .uh-verdict p:last-child{margin-bottom:0;}
.uh-page .uh-verdict a,.uh-faq p a{color:var(--uh-accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

.uh-ad .uh-prose h2{color:#fff;}
.uh-page .uh-ad .uh-prose p{color:#d9e8e8;}
.uh-page .uh-ad .uh-prose a{color:var(--uh-accent);}
.uh-page .uh-ad .uh-prose-side{background:#fff;color:var(--uh-ink-900);}
.uh-page .uh-ad .uh-side-kicker{color:var(--uh-accent-text);}
.uh-page .uh-ad .uh-side-list li{color:var(--uh-ink-600);}
.uh-page .uh-ad .uh-side-list li strong{color:var(--uh-ink-900);}
.uh-page .uh-amt{padding:1.6rem 1.5rem;border-radius:var(--uh-radius);background:#fff;box-shadow:0 0 0 1px var(--uh-line),0 24px 44px -32px rgba(11,63,70,.5);}
.uh-page .uh-amt h3{margin:0 0 .6rem;font-size:var(--uh-step-2);}
.uh-amt-cards{display:grid;gap:1.25rem;align-content:start;}
.uh-amt-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start;}
@media (min-width:920px){.uh-amt-grid{grid-template-columns:minmax(0,1fr) 380px;gap:3.5rem;}}
.uh-page .uh-amt-text p{margin:0 0 1rem;max-width:62ch;color:var(--uh-ink-800);}
.uh-page .uh-amt-text h2{margin:0 0 1.2rem;}
.uh-page .uh-amt-text h3{margin:0 0 .8rem;font-size:var(--uh-step-2);}


.uh-notice-wrap{background:var(--uh-white);padding:0 var(--uh-gutter);margin-top:-1.5rem;position:relative;z-index:2;}
.uh-page .uh-notice{display:flex;gap:1.1rem;align-items:flex-start;margin-top:0;padding:1.3rem 1.5rem;border-radius:var(--uh-radius);background:var(--uh-mist);box-shadow:0 0 0 2px var(--uh-sky),0 24px 44px -34px rgba(11,63,70,.55);}
.uh-notice-i{flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--uh-sea);color:var(--uh-accent);font:700 1.1rem/1 var(--uh-font);font-style:italic;}
.uh-page .uh-notice h2{margin:0 0 .35rem;font-size:var(--uh-step-1);line-height:1.25;color:var(--uh-ink-900);}
.uh-page .uh-notice p{margin:0;max-width:78ch;color:var(--uh-ink-800);}
.uh-page .uh-btn-note{margin:0 0 .8rem;font-size:var(--uh-step--1);line-height:1.4;color:#b9d3d3;}
.uh-page .uh-ad .uh-btn-note{color:var(--uh-ink-600);}
.uh-page .uh-small{margin:1.2rem 0 0;font-size:var(--uh-step--1);color:var(--uh-ink-600);}
.uh-who{display:inline-block;margin-bottom:.8rem;padding:.35rem .8rem;border-radius:999px;background:var(--uh-silver-2);color:var(--uh-ink-800);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.uh-who.is-me{background:var(--uh-sea);color:var(--uh-accent);}
.uh-who.is-amt{background:var(--uh-silver-2);color:var(--uh-ink-800);}
.uh-page .uh-step .uh-who{position:relative;}

/* ============================================================
   26. ÜBERSICHT DER TRAUORTE (Fotokarten, Filter, Top 3)
   ============================================================ */
.uh-top3{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2.25rem;}
@media (min-width:860px){.uh-top3{grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:end;}.uh-top3 .uh-ort:nth-child(1){order:2;}.uh-top3 .uh-ort:nth-child(2){order:1;}.uh-top3 .uh-ort:nth-child(3){order:3;}.uh-top3 .uh-ort:nth-child(1) .uh-ort-img{aspect-ratio:4/4.2;}}
.uh-filter{display:flex;gap:.55rem;margin:1.75rem 0 0;padding:.25rem 0 .6rem;overflow-x:auto;scrollbar-width:none;}
.uh-filter::-webkit-scrollbar{display:none;}
.uh-filter button{flex:0 0 auto;appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:var(--uh-step--1);padding:.7rem 1.15rem;border-radius:999px;background:#fff;color:var(--uh-ink-800);box-shadow:0 0 0 1px var(--uh-line);transition:background .25s ease,color .25s ease,box-shadow .25s ease;}
.uh-filter button:hover{box-shadow:0 0 0 2px var(--uh-accent);}
.uh-filter button.is-on{background:var(--uh-sea);color:#fff;box-shadow:none;}
.uh-filter button:focus-visible{outline:3px solid var(--uh-accent);outline-offset:2px;}
.uh-ort-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.25rem;}
@media (min-width:640px){.uh-ort-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.uh-ort-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;}}
.uh-page .uh-ort{position:relative;display:flex;flex-direction:column;border-radius:var(--uh-radius);overflow:hidden;background:#fff;color:var(--uh-ink-900);text-decoration:none;box-shadow:0 0 0 1px var(--uh-line);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;}
.uh-page .uh-ort:hover{transform:translateY(-6px);box-shadow:0 0 0 2px var(--uh-accent),0 28px 48px -28px rgba(11,63,70,.55);}
.uh-ort.is-off{display:none;}
.uh-ort-img{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--uh-silver-2);}
.uh-ort-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1);}
.uh-ort:hover .uh-ort-img img{transform:scale(1.06);}
.uh-ort-img::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,transparent,rgba(11,63,70,.55));pointer-events:none;}
.uh-ort-score{position:absolute;z-index:1;top:.85rem;left:.85rem;display:inline-flex;align-items:baseline;gap:.35rem;padding:.5rem .95rem;border-radius:999px;background:rgba(11,63,70,.92);box-shadow:0 8px 20px -10px rgba(0,0,0,.6);}
.uh-ort-score b{font-size:var(--uh-step-1);font-weight:700;letter-spacing:-.02em;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-ort-score span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#b9d3d3;}
.uh-ort-rank{position:absolute;z-index:1;top:.85rem;right:.85rem;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--uh-sea);font-weight:700;font-size:var(--uh-step-1);box-shadow:0 8px 20px -10px rgba(0,0,0,.6);}
.uh-ort-body{display:flex;flex-direction:column;gap:.5rem;padding:1.2rem 1.35rem 1.4rem;flex:1;}
.uh-ort-place{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--uh-accent-text);}
.uh-ort-body h3{margin:0;font-size:var(--uh-step-2);line-height:1.15;}
.uh-ort-body p{margin:0;font-size:var(--uh-step--1);color:var(--uh-ink-600);}
.uh-ort-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 0;padding:0;list-style:none;}
.uh-ort-tags li{font-size:.75rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;background:var(--uh-mist);color:var(--uh-sea);}
.uh-ort-more{margin-top:auto;padding-top:.7rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:var(--uh-step--1);color:var(--uh-accent-text);}
.uh-ort-more::after{content:"";width:1.1rem;height:1.1rem;background:currentColor;-webkit-mask:var(--uh-arrow) center/contain no-repeat;mask:var(--uh-arrow) center/contain no-repeat;transition:transform .3s ease;}
.uh-ort:hover .uh-ort-more::after{transform:translateX(4px);}
.uh-top3 .uh-ort-body h3{font-size:var(--uh-step-3);}
.uh-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin:3.25rem 0 0;padding:0;list-style:none;}
@media (min-width:760px){.uh-stats{grid-template-columns:repeat(4,1fr);}}
.uh-stats li{padding:1.1rem 1.2rem;border-radius:var(--uh-radius);background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,255,255,.12);}
.uh-stats strong{display:block;font-size:var(--uh-step-4);line-height:1;font-weight:700;letter-spacing:-.03em;background:linear-gradient(90deg,var(--uh-accent),var(--uh-sun));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.uh-stats span{display:block;margin-top:.45rem;font-size:var(--uh-step--1);color:#cfe3e3;}
.uh-details{margin-top:2rem;border-radius:var(--uh-radius);background:#fff;box-shadow:0 0 0 1px var(--uh-line);overflow:hidden;}
.uh-details summary{cursor:pointer;list-style:none;padding:1.2rem 1.4rem;font-weight:700;font-size:var(--uh-step-1);display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.uh-details summary::-webkit-details-marker{display:none;}
.uh-details summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--uh-accent-text);transition:transform .3s ease;}
.uh-details[open] summary::after{transform:rotate(45deg);}
.uh-details > div{padding:0 1.4rem 1.4rem;overflow-x:auto;}

@media (prefers-reduced-motion:reduce){
  .uh-page *,.uh-page *::before,.uh-page *::after{transition:none !important;animation:none !important;}
  .uh-ticker-track{animation:none !important;}
  .uh-nav *,.uh-burger,.uh-burger span{transition:none !important;}
}

/* ============================================================
   2.5.1  Dunkle Kacheln (Tiefsee) auf hellem Grund
   ============================================================ */
/* Standesamt-Kachel (Anmeldung & Kontakt) */
.uh-page .uh-amt{background:var(--uh-sea);color:#fff;box-shadow:0 24px 44px -28px rgba(11,63,70,.7);}
.uh-page .uh-amt h3{color:#fff;}
.uh-page .uh-amt .uh-facts div{border-bottom-color:rgba(255,255,255,.16);}
.uh-page .uh-amt .uh-facts dt{color:#b9d3d3;}
.uh-page .uh-amt .uh-facts dd{color:#fff;}
.uh-page .uh-amt .uh-facts a{color:var(--uh-accent);}
.uh-page .uh-amt .uh-who,.uh-page .uh-amt .uh-who.is-amt{background:rgba(255,255,255,.12);color:#fff;}
.uh-page .uh-amt .uh-btn-outline-dark{--b-fg:#fff;--b-bd:rgba(255,255,255,.6);--b-hv:#fff;--b-hf:var(--uh-ink-900);--b-ib:var(--uh-accent);--b-if:var(--uh-ink-900);--b-ihb:#fff;--b-ihf:var(--uh-ink-900);}
/* Kleine Vorschaubilder in den Kacheln "Weitere Standesämter" (aus der Fotogalerie) */
.uh-page .uh-linkcard{display:flow-root;}
.uh-page .uh-linkcard .uh-lc-img{float:left;width:3.75rem;height:3.75rem;max-width:none;object-fit:cover;border-radius:12px;margin:0 1rem 0 0;box-shadow:0 0 0 2px var(--uh-mist);}
/* Helle Kacheln auf dunklem Abschnitt: Überschriften nicht vom hellen Abschnitt erben */
.uh-page .uh-step{background:var(--uh-white);color:var(--uh-ink-800);}
.uh-page .uh-step h3{color:var(--uh-ink-900);}
.uh-page .uh-step p{color:var(--uh-ink-600);}
.uh-page .uh-linkcard strong{color:var(--uh-ink-900);}

/* Inhaltsverzeichnis "Auf dieser Seite" (Sprungmarken zu den Abschnitten) */
.uh-page .uh-toc{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .8rem;margin:0 0 clamp(1.8rem,4vw,2.6rem);padding:0 0 1.4rem;border-bottom:1px solid var(--uh-line);}
.uh-page .uh-toc-t{font-size:var(--uh-step--1);font-weight:700;color:var(--uh-ink-600);letter-spacing:.04em;text-transform:uppercase;margin-right:.3rem;}
.uh-page .uh-toc ol{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;}
.uh-page .uh-toc a{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 1rem;border-radius:999px;background:var(--uh-mist);color:var(--uh-accent-text);font-size:var(--uh-step--1);font-weight:600;text-decoration:none;transition:background-color .25s ease,color .25s ease;}
.uh-page .uh-toc a:hover,.uh-page .uh-toc a:focus-visible{background:var(--uh-sea);color:#fff;}
.uh-page h2[id],.uh-page section[id]{scroll-margin-top:5.5rem;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
