/**
 * OTAK24 Design System V3 — "Atelier" (Komplett-Redesign 2026-07-16)
 * Moderne Galerie-Ästhetik: Porzellan-Flächen, warmes Charcoal, präzises Bordeaux,
 * Champagner-Hairlines, Bogen-Motiv als Signatur. Playfair Display + Inter (selbst gehostet).
 * WCAG-AA-Kontraste, sichtbare Fokus-Ringe, prefers-reduced-motion respektiert.
 */

/* ---------- 1. Schriften ---------- */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/playfair-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/playfair-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('../fonts/playfair-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 900;font-display:swap;src:url('../fonts/playfair-italic-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/inter-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url('../fonts/inter-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url('../fonts/inter-italic-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- 2. Tokens ---------- */
:root{
  --paper:#FAF7F0;
  --card:#FFFFFF;
  --ink:#221A15;
  --body:#52463D;
  --muted:#6E6055;
  --brand:#8E1F26;
  --brand-deep:#4A1014;
  --gold:#C29A5B;
  --gold-text:#D9BC85;
  --gold-soft:#EBDDBE;
  --char:#241B16;
  --char-2:#2E231C;
  --line:#E9E1D3;
  --wa:#1FA855;
  --wa-deep:#158541;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --r-card:20px;
  --r-arch:999px 999px 22px 22px;
  --sh-1:0 6px 24px -10px rgba(34,26,21,.14);
  --sh-2:0 22px 60px -22px rgba(34,26,21,.28);
  --ease:cubic-bezier(.22,.7,.3,1);
  --head-offset:84px;
}
@media(max-width:767px){:root{--head-offset:14px}}

/* ---------- 3. Basis, Neutralisierer, A11y ---------- */
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--brand);color:#fff}
h1,h2,h3,h4,.elementor-heading-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em}
p{line-height:1.75}
a{transition:color .18s var(--ease)}
[id]{scroll-margin-top:var(--head-offset)}
body .elementor-widget-heading .elementor-heading-title{color:var(--ink)}
body .elementor-widget-icon-list .elementor-icon-list-text{color:var(--body)}
body .elementor-widget-icon-list .elementor-icon-list-icon i{color:var(--brand)}
body .elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var(--brand)}
body .elementor-widget-text-editor{color:var(--body);font-size:16.5px}
body .otak-sec--char .elementor-widget-heading .elementor-heading-title,
body .otak-final .elementor-widget-heading .elementor-heading-title,
body .otak-city-hero .elementor-widget-heading .elementor-heading-title,
body .otak-city-endcta .elementor-widget-heading .elementor-heading-title,
body .otak-foot .elementor-widget-heading .elementor-heading-title{color:#F6F1E6}
body .otak-sec--char p,body .otak-final p,body .otak-sec--char .elementor-widget-text-editor,body .otak-final .elementor-widget-text-editor{color:#D9CFC0}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.otak-skip{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--ink);color:#fff;padding:10px 18px;border-radius:0 0 10px 0;font:600 14px var(--sans)}
.otak-skip:focus{left:0}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .otak-marquee-track{animation:none!important;transform:none!important}
}
html.otakjs .otak-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
html.otakjs .otak-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.otakjs .otak-reveal{opacity:1;transform:none}}

/* ---------- 4. Buttons (Pill) ---------- */
.elementor-button{font-family:var(--sans);font-weight:600;letter-spacing:.01em;border-radius:999px;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.elementor-button:hover{transform:translateY(-2px)}
.elementor-button .elementor-button-icon{transition:transform .18s var(--ease)}
.elementor-button:hover .elementor-button-icon{transform:translateX(3px)}
.otak-btn-wa .elementor-button{background-color:#1FA855!important;background-image:none!important;color:#fff!important}
.otak-btn-wa .elementor-button:hover,.otak-btn-wa .elementor-button:focus{background-color:#158541!important;color:#fff!important;box-shadow:0 12px 28px -12px rgba(31,168,85,.55)}
.otak-btn-ghost .elementor-button{background-color:transparent!important;background-image:none!important;border:1.5px solid rgba(246,241,230,.55);color:#F6F1E6!important}
.otak-btn-ghost .elementor-button:hover,.otak-btn-ghost .elementor-button:focus{background-color:rgba(246,241,230,.12)!important;border-color:#F6F1E6;color:#fff!important}
.otak-btn-ghost-dark .elementor-button{background-color:transparent!important;background-image:none!important;border:1.5px solid rgba(142,31,38,.4);color:#8E1F26!important}
.otak-btn-ghost-dark .elementor-button:hover,.otak-btn-ghost-dark .elementor-button:focus{background-color:rgba(142,31,38,.07)!important;border-color:#8E1F26;color:#4A1014!important}
.otak-btn-gold .elementor-button{background-color:#C29A5B!important;background-image:linear-gradient(135deg,#D0AC6E,#B08A47);color:#241B16!important;font-weight:700}
.otak-btn-gold .elementor-button:hover,.otak-btn-gold .elementor-button:focus{box-shadow:0 14px 30px -12px rgba(194,154,91,.7);color:#241B16!important}
.otak-btn-light .elementor-button{background-color:#F6F1E6!important;background-image:none!important;color:#241B16!important}
.otak-btn-light .elementor-button:hover{background-color:#fff!important;color:#241B16!important}

/* ---------- 5. Ribbon (nativer Zähler) ---------- */
.otak-ribbon{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;background:var(--char);color:#CBBFAE;padding:9px 18px;font:500 13px/1.4 var(--sans);letter-spacing:.03em;border-bottom:1px solid rgba(194,154,91,.35)}
.otak-ribbon strong,.otak-ribbon .otak-lc-num{color:var(--gold-text);font-weight:700;font-variant-numeric:tabular-nums}
.otak-ribbon-sep{color:var(--gold);font-size:9px;opacity:.85}
@media(max-width:640px){.otak-ribbon-item:nth-child(n+3){display:none}.otak-ribbon{padding:7px 12px;font-size:12px}}
/* Fallback für Alt-Nutzung des Satz-Shortcodes */
.otak-lc-sentence{font:500 14px var(--sans);color:var(--body)}
.otak-lc-sentence strong{color:var(--brand)}

/* ---------- 6. Header (Glas) ---------- */
.otak-nav3{background:rgba(250,247,240,.9);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid var(--line);transition:box-shadow .25s var(--ease)}
.otak-nav3.elementor-sticky--effects{box-shadow:0 10px 34px -18px rgba(34,26,21,.25)}
body .otak-brand3 .elementor-heading-title{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink);letter-spacing:-.01em;line-height:1}
body .otak-brand3 .elementor-heading-title a{color:inherit;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
body .otak-brand3 .elementor-heading-title .otak-brand-24{color:var(--brand)}
/* Bogen-Monogramm: reines CSS, greift das Bogen-Motiv der Seite auf */
.otak-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;background:linear-gradient(160deg,var(--char),var(--char-2));color:var(--gold);font-size:13px;border-radius:999px 999px 8px 8px;box-shadow:inset 0 0 0 1px rgba(194,154,91,.45)}
.otak-word{line-height:1}
@media(max-width:1120px){.otak-word{font-size:17px}}
@media(max-width:400px){.otak-mark{width:32px;height:32px}}
/* Header-Buttons brechen nie um (nur dort — lange CTAs dürfen sonst umbrechen) */
.otak-nav3 .elementor-button{white-space:nowrap}
/* Boxed-Container: Elementors .e-con-inner konsumiert eine leere --justify-content-Var
   (invalid-at-computed-value → normal) und gewinnt die Kaskade — Var setzen UND hart verteilen. */
.otak-nav3{--justify-content:space-between;--align-items:center}
body .otak-nav3>.e-con-inner{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between!important;align-items:center!important;gap:6px;width:100%}
.otak-nav3 .otak-nav-link .elementor-button{background-color:transparent!important;background-image:none!important;color:var(--ink)!important;font-weight:600;font-size:14.5px;padding:9px 13px;border-radius:9px}
.otak-nav3 .otak-nav-link .elementor-button:hover,.otak-nav3 .otak-nav-link .elementor-button:focus{background-color:rgba(142,31,38,.07)!important;color:var(--brand)!important;transform:none}
.otak-nav3 .otak-nav-tel .elementor-button{background-color:transparent!important;background-image:none!important;border:1.5px solid var(--line);color:var(--ink)!important;font-size:13.5px;padding:8px 15px}
.otak-nav3 .otak-nav-tel .elementor-button:hover{border-color:var(--brand);color:var(--brand)!important;transform:none}
.otak-nav3 .otak-nav-cta .elementor-button{background-color:var(--brand)!important;background-image:none!important;color:#fff!important;font-weight:700;font-size:14px;padding:10px 20px;box-shadow:0 10px 26px -12px rgba(142,31,38,.55)}
.otak-nav3 .otak-nav-cta .elementor-button:hover{background-color:var(--brand-deep)!important;transform:translateY(-1px)}
/* V3.3: Mobiler Header = nur die Wortmarke (Kundenvorgabe), zentriert & kompakt.
   Sichtbarkeit steuern Elementors hidden-*-Klassen; hier nur Optik/Zentrierung. */
.otak-mnav-brand{display:inline-block;font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.25;color:var(--ink)!important;text-decoration:none;padding:4px 2px;white-space:nowrap}
.otak-mnav-brand .otak-brand-24{color:var(--brand)}
@media(max-width:767px){
  body .otak-nav3>.e-con-inner{justify-content:center!important;gap:0}
  .otak-nav3 .elementor-widget-html{width:auto;text-align:center}
}

/* ---------- 7. Hero (Split + Bogen) ---------- */
.otak-hero3{background:radial-gradient(1200px 500px at 85% -10%,rgba(194,154,91,.12),transparent 60%),var(--paper)}
body .otak-overline .elementor-heading-title{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--brand)}
body .otak-overline .elementor-heading-title::before{content:'✦';color:var(--gold);margin-right:.7em;font-size:10px;vertical-align:1px}
body .otak-sec--char .otak-overline .elementor-heading-title,body .otak-final .otak-overline .elementor-heading-title,body .otak-foot .otak-overline .elementor-heading-title{color:var(--gold-text)}
body .otak-display .elementor-heading-title{font-size:clamp(2.7rem,5.2vw,4.5rem);line-height:1.06;font-weight:700;color:var(--ink);text-wrap:balance}
body .otak-display .elementor-heading-title em{font-style:italic;color:var(--brand)}
.otak-lede,.otak-lede p{font-size:clamp(1.08rem,1.5vw,1.22rem);line-height:1.7;color:var(--body);max-width:54ch}
.otak-proof .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 22px}
body .otak-proof .elementor-icon-list-text{color:var(--muted)!important;font-size:14px;font-weight:600}
body .otak-proof .elementor-icon-list-icon i{color:var(--gold);font-size:13px}
.otak-arch{border-radius:var(--r-arch);overflow:hidden;box-shadow:var(--sh-2);position:relative;isolation:isolate}
.otak-arch::after{content:'';position:absolute;inset:0;border-radius:var(--r-arch);border:1px solid rgba(194,154,91,.4);pointer-events:none}
.otak-hero3-wrap{position:relative}
.otak-hero3-wrap>.elementor-widget-html{position:absolute;inset:0;pointer-events:none}
.otak-hero3-wrap .otak-float{pointer-events:auto}
.otak-hero3-media{min-height:560px;width:100%}
@media(max-width:1024px){.otak-hero3-media{min-height:420px}}
@media(max-width:767px){.otak-hero3-media{min-height:340px}}
.otak-float{position:absolute;background:rgba(255,255,255,.93);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-1);padding:14px 18px;max-width:270px;z-index:3}
.otak-float-q{left:-30px;bottom:44px}
.otak-float-t{right:-14px;top:52px}
.otak-float .otak-float-stars{color:#E8A534;font-size:13px;letter-spacing:2px}
.otak-float p{font:italic 500 13.5px/1.5 var(--serif);color:var(--ink);margin:.35em 0 0}
.otak-float .otak-float-meta{font:600 11.5px var(--sans);color:var(--muted);margin-top:.4em}
.otak-float .otak-float-big{font:700 20px var(--sans);color:var(--brand);line-height:1}
.otak-float .otak-float-label{font:600 12px var(--sans);color:var(--muted);margin-top:2px}
@media(max-width:1024px){.otak-float-q{left:8px;bottom:16px}.otak-float-t{right:8px;top:16px}}
@media(max-width:767px){.otak-float{padding:10px 13px;max-width:200px}.otak-float p{font-size:12px}}

/* ---------- 8. Marquee ---------- */
.otak-marquee{overflow:hidden;background:var(--char);border-block:1px solid rgba(194,154,91,.3);padding:13px 0}
.otak-marquee-track{display:flex;width:max-content;animation:otakmq 46s linear infinite;will-change:transform}
.otak-marquee:hover .otak-marquee-track{animation-play-state:paused}
.otak-marquee-seq{display:flex;align-items:center;white-space:nowrap}
.otak-marquee-seq span{font:italic 600 17px var(--serif);color:var(--gold-text);letter-spacing:.06em;padding:0 .9em}
.otak-marquee-seq i{font-style:normal;color:var(--gold);font-size:9px;opacity:.8}
@keyframes otakmq{to{transform:translateX(-50%)}}

/* ---------- 9. Sektionen / Header-Blöcke ---------- */
.otak-sec--paper{background-color:var(--paper)}
.otak-sec--white{background-color:#fff}
.otak-sec--char{background-color:var(--char);background-image:radial-gradient(900px 420px at 12% 0%,rgba(194,154,91,.09),transparent 55%)}
body .otak-h2 .elementor-heading-title{font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.14;font-weight:700}
body .otak-h2 .elementor-heading-title em{font-style:italic;color:var(--brand)}
body .otak-sec--char .otak-h2 .elementor-heading-title em,body .otak-final .otak-h2 .elementor-heading-title em{color:var(--gold-text)}
.otak-lead3,.otak-lead3 p{font-size:17.5px;line-height:1.75;color:var(--body);max-width:62ch}
.otak-sec--char .otak-lead3,.otak-sec--char .otak-lead3 p{color:#D9CFC0}

/* ---------- 10. Ablauf (Schritte, Umriss-Ziffern) ---------- */
.otak-step3{position:relative}
body .otak-step3 .otak-num .elementor-heading-title{font-family:var(--serif);font-style:italic;font-weight:700;font-size:clamp(3.2rem,5vw,4.4rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--gold)}
body .otak-step3 .otak-step-t .elementor-heading-title{font-family:var(--sans);font-size:18.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.otak-step3 p{font-size:15.5px;line-height:1.7}

/* ---------- 11. Ankaufs-Kategorien (Bogenkarten via Bild-Widget) ---------- */
.otak-cat3{border-radius:var(--r-arch);overflow:hidden;position:relative;box-shadow:var(--sh-1);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.otak-cat3:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.otak-cat3{margin:0}
.otak-cat3 img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.otak-cat3:hover img{transform:scale(1.05)}
.otak-cat3-cap{position:absolute;inset:auto 0 0 0;padding:26px 24px 22px;background:linear-gradient(185deg,rgba(36,27,22,0) 0%,rgba(36,27,22,.9) 78%);z-index:2;pointer-events:none}
.otak-cat3-cap h3{font-family:var(--serif);color:#F6F1E6;font-size:21px;font-weight:700;margin:0 0 4px;text-shadow:0 2px 16px rgba(0,0,0,.4);letter-spacing:-.01em}
.otak-cat3-cap p{font-family:var(--sans);font-weight:500;font-size:13.5px;color:#E3D7C2;margin:0;text-shadow:0 1px 10px rgba(0,0,0,.5);line-height:1.5}
@media(max-width:767px){.otak-cat3 img{aspect-ratio:4/5}}

/* ---------- 12. Bento (Vertrauen) ---------- */
.otak-cell{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.otak-cell:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:rgba(194,154,91,.55)}
body .otak-cell .otak-cell-big .elementor-heading-title{font-family:var(--serif);font-weight:700;font-size:clamp(2.1rem,3.2vw,2.9rem);line-height:1.05;color:var(--brand);font-variant-numeric:tabular-nums}
body .otak-cell .otak-cell-big .otak-lc-num{font:inherit;color:inherit}
body .otak-cell .otak-cell-label .elementor-heading-title{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.otak-cell p{font-size:14.5px;line-height:1.6;color:var(--body)}
.otak-cell--char{background:var(--char);border-color:rgba(194,154,91,.35)}
body .otak-cell--char .otak-cell-big .elementor-heading-title{color:var(--gold-text)}
body .otak-cell--char .otak-cell-label .elementor-heading-title{color:#B7A78F}
.otak-cell--char p{color:#D9CFC0}

/* ---------- 13. „Echte Ankäufe" (Scroll-Snap-Galerie) ---------- */
.otak-snap-wrap{position:relative}
.otak-snap{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 18px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.otak-snap::-webkit-scrollbar{height:6px}
.otak-snap::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
.otak-snap::-webkit-scrollbar-track{background:var(--line);border-radius:3px}
.otak-snap figure{flex:0 0 260px;scroll-snap-align:start;margin:0;border-radius:var(--r-arch);overflow:hidden;box-shadow:var(--sh-1);transition:transform .25s var(--ease),box-shadow .25s var(--ease);background:var(--card)}
.otak-snap figure:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.otak-snap img{width:100%;height:340px;object-fit:cover;display:block}
@media(max-width:767px){.otak-snap figure{flex-basis:210px}.otak-snap img{height:280px}}
/* Klassische Karussell-Pfeile: außen links/rechts, vertikal mittig auf den Bildern.
   !important schlägt die Kit-Regel `.elementor-kit-36 button{…}` (roter Grund, 14/26-Padding). */
button.otak-snap-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:48px;height:48px;padding:0!important;border:0!important;border-radius:999px!important;background:#FFF9EE!important;background-image:none!important;color:#241B16!important;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 26px -8px rgba(0,0,0,.5);transition:background .18s var(--ease),color .18s var(--ease),opacity .18s var(--ease),transform .18s var(--ease)}
button.otak-snap-btn svg{width:20px;height:20px;display:block;flex-shrink:0}
button.otak-snap-btn:hover,button.otak-snap-btn:focus-visible{background:#C29A5B!important;color:#241B16!important}
button.otak-snap-btn:active{transform:translateY(-50%) scale(.94)}
button.otak-snap-btn[disabled]{opacity:.3;pointer-events:none}
.otak-snap-btn--prev{left:-10px}
.otak-snap-btn--next{right:-10px}
@media(max-width:767px){button.otak-snap-btn{width:44px;height:44px}.otak-snap-btn--prev{left:2px}.otak-snap-btn--next{right:2px}}

/* ---------- 14. Bewertungen (Pull-Quotes) ---------- */
.otak-quote{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1);position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.otak-quote:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:rgba(194,154,91,.5)}
.otak-quote::before{content:'„';position:absolute;top:-2px;right:20px;font-family:var(--serif);font-size:88px;line-height:1;color:rgba(142,31,38,.1);pointer-events:none}
body .otak-quote .otak-stars .elementor-heading-title{color:#E8A534;font-size:15px;letter-spacing:3px}
.otak-quote .elementor-widget-text-editor{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.7;color:var(--ink)}
body .otak-quote .otak-quote-a .elementor-heading-title{font-family:var(--sans);font-size:13.5px;font-weight:700;color:var(--ink)}
body .otak-quote .otak-quote-m .elementor-heading-title{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--muted)}
body .otak-gbadge .elementor-icon-list-text{color:var(--ink)!important;font-weight:600;font-size:14.5px}
body .otak-gbadge .elementor-icon-list-icon i{color:#E8A534}
.otak-ti-wrap .ti-widget{margin-top:4px!important}

/* ---------- 15. Galerie/Über uns ---------- */
.otak-about-img{border-radius:var(--r-arch);overflow:hidden;box-shadow:var(--sh-2)}
.otak-video-frame .elementor-video,.otak-video-frame iframe,.otak-video-frame .elementor-wrapper,.otak-video-frame .elementor-custom-embed-image-overlay{border-radius:var(--r-card);overflow:hidden}
.otak-video-frame{border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-1)}
body .otak-badges .elementor-icon-list-text{color:#D9CFC0!important;font-size:15px;font-weight:500}
body .otak-badges .elementor-icon-list-icon i{color:var(--gold)}

/* ---------- 16. Team ---------- */
/* V3.3: Karten füllen die Sektionsbreite, größere Bilder + Serifen-Namen, engere Bild-Text-Bindung */
.otak-team3 .elementor-image-box-wrapper{text-align:center}
.otak-team3 .elementor-image-box-img{width:100%;margin-bottom:0!important}
.otak-team3 .elementor-image-box-img img{width:100%;border-radius:999px 999px 18px 18px;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--sh-1);transition:transform .3s var(--ease)}
.otak-team3 .elementor-image-box-wrapper:hover .elementor-image-box-img img{transform:scale(1.04)}
.otak-team3 .elementor-image-box-title{font-family:var(--serif);font-size:clamp(19px,1.55vw,22px);font-weight:600;color:var(--ink);letter-spacing:-.01em;margin-top:14px;line-height:1.3}
.otak-team3 .elementor-image-box-description{font-family:var(--sans);font-size:14.5px;font-weight:500;color:var(--muted);letter-spacing:.02em;margin-top:4px;line-height:1.5}

/* ---------- 17. FAQ ---------- */
.otak-faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;box-shadow:var(--sh-1);overflow:hidden;transition:border-color .2s var(--ease)}
.otak-faq details:hover{border-color:rgba(194,154,91,.55)}
.otak-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-family:var(--sans);font-size:16px;font-weight:600;color:var(--ink)}
.otak-faq summary::-webkit-details-marker{display:none}
.otak-faq summary::after{content:'+';font-family:var(--serif);font-size:26px;font-weight:400;color:var(--brand);flex-shrink:0;transition:transform .2s var(--ease);line-height:1}
.otak-faq details[open] summary::after{transform:rotate(45deg)}
.otak-faq details[open] summary{color:var(--brand)}
.otak-faq .otak-faq-a{padding:0 20px 18px;font-size:15px;line-height:1.7;color:var(--body)}

/* ---------- 18. Finale (Charcoal + Formular-Karte) ---------- */
.otak-final{background-color:var(--char);background-image:radial-gradient(1000px 480px at 88% 8%,rgba(194,154,91,.1),transparent 55%)}
.otak-form-card{background:var(--card);border:1px solid rgba(233,225,211,.9);border-radius:var(--r-card);box-shadow:var(--sh-2)}
body .otak-form-card .elementor-widget-heading .elementor-heading-title{color:var(--ink)}
.otak-form-card .elementor-widget-text-editor{color:var(--body)}
.otak-form-card .elementor-field-label{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink)}
.otak-form-card .elementor-field-textual{background:#fff;border:1.5px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:15px;color:var(--ink);padding:13px 15px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.otak-form-card .elementor-field-textual:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,154,91,.22);outline:none}
.otak-form-card .elementor-field-textual::placeholder{color:#A99C8C}
.otak-form-card .elementor-field-type-upload input[type=file]{font-size:13.5px;color:var(--body)}
.otak-form-card .elementor-button[type=submit]{background-color:var(--brand)!important;background-image:none!important;font-size:16px;font-weight:700;padding:16px 28px;border-radius:999px;width:100%;box-shadow:0 12px 30px -10px rgba(142,31,38,.55);color:#fff!important}
.otak-form-card .elementor-button[type=submit]:hover{background-color:var(--brand-deep)!important}
.otak-form-note,.otak-form-note p{font-size:12.5px;color:var(--muted);line-height:1.55}
.otak-form-note a{color:var(--brand)}
body .otak-rail .elementor-icon-list-item{padding:8px 0}
body .otak-rail .elementor-icon-list-text{color:#EDE4D4!important;font-size:15.5px;font-weight:500}
body .otak-rail .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--gold-text)!important}
body .otak-rail .elementor-icon-list-icon i{color:var(--gold)}
body .otak-rail .elementor-icon-list-icon svg{fill:var(--gold)}
.otak-map-frame iframe{border-radius:var(--r-card);filter:saturate(.9);box-shadow:var(--sh-1)}
.otak-map-frame:not(:has(iframe)){min-height:150px;border:1px dashed rgba(194,154,91,.4);border-radius:var(--r-card);display:flex;align-items:center;justify-content:center}
.otak-map-frame:not(:has(iframe))::before{content:'📍 Google-Karte wird nach Cookie-Zustimmung geladen — Uferstr. 10, 42275 Wuppertal';font:500 13px var(--sans);color:#B7A78F;padding:16px;text-align:center}

/* ---------- 19. Footer ---------- */
.otak-foot{background:var(--char)}
body .otak-foot .elementor-widget-heading .otak-foot-h .elementor-heading-title,body .otak-foot .otak-foot-h .elementor-heading-title{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
body .otak-foot-brand .elementor-heading-title{font-family:var(--serif);font-size:26px;font-weight:700;color:#F6F1E6;letter-spacing:-.01em}
body .otak-foot-brand .elementor-heading-title .otak-brand-24{color:#C86A70}
.otak-foot-claim,.otak-foot-claim p{font-size:14px;line-height:1.75;color:#C9BDAC}
body .otak-foot .elementor-icon-list-text{color:#DACFBC!important;font-size:14.5px}
body .otak-foot .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--gold-text)!important}
body .otak-foot .elementor-icon-list-icon i{color:var(--gold)}
body .otak-foot .elementor-nav-menu a,body .otak-foot .elementor-nav-menu .menu-item a{color:#DACFBC!important;font-size:14.5px}
body .otak-foot .elementor-nav-menu a:hover,body .otak-foot .elementor-nav-menu .menu-item a:hover{color:var(--gold-text)!important}
body .otak-foot .elementor-nav-menu .menu-item a.elementor-item-active{color:var(--gold-text)!important}
.otak-foot .elementor-social-icon{background:rgba(246,241,230,.08);transition:background .18s var(--ease),transform .18s var(--ease)}
.otak-foot .elementor-social-icon:hover{background:var(--brand);transform:translateY(-2px)}
.otak-foot .elementor-social-icon i{color:#F6F1E6}
.otak-foot .elementor-social-icon svg{fill:#F6F1E6}
.otak-foot .elementor-divider-separator{border-color:rgba(194,154,91,.25)}
body .otak-foot-legal .elementor-heading-title{font-family:var(--sans);font-size:12.5px;font-weight:400;letter-spacing:.02em;color:#A5977F}
/* V3.4: Footer-Feinschliff — Marke mit Bogen-Monogramm, Trust-Chips, ruhigere Listen */
.otak-foot3-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none}
.otak-foot3-brand .otak-mark{width:46px;height:46px;font-size:15px;border-radius:999px 999px 10px 10px}
.otak-foot3-word{font-family:var(--serif);font-size:23px;font-weight:700;color:#F6F1E6;letter-spacing:-.01em;line-height:1.2}
.otak-foot3-word .otak-brand-24{color:var(--gold-text)}
.otak-foot3-brand:hover .otak-foot3-word{color:#fff}
.otak-foot3-trust{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:2px 0 4px;padding:0}
.otak-foot3-trust li{font:600 12px var(--sans);letter-spacing:.04em;color:#D9CFC0;border:1px solid rgba(194,154,91,.35);border-radius:999px;padding:6px 12px;white-space:nowrap}
.otak-foot3-trust li .otak-lc-num{color:var(--gold-text);font-variant-numeric:tabular-nums}
.otak-foot-claim{max-width:40ch}
body .otak-foot3 .elementor-icon-list-item{padding:5px 0}
body .otak-foot3 .elementor-icon-list-icon{margin-right:2px}
body .otak-foot3 .elementor-icon-list-item a{transition:transform .18s var(--ease)}
body .otak-foot3 .elementor-icon-list-item a:hover{transform:translateX(2px)}
body .otak-foot3 .elementor-nav-menu a{padding:5px 0}
.otak-foot3-legal .elementor-widget-divider{opacity:.9}
/* Startseiten-Städtesektion */
.otak-cityhub-note,.otak-cityhub-note p{font:500 14.5px var(--sans);color:var(--body);margin:0}
.otak-cityhub-note a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.otak-cityhub-note a:hover{color:var(--brand-deep)}
/* Karten ab der 7. Stadt bleiben eingeklappt, bis „Alle Städte anzeigen" geklickt wird (ui.js) */
.otak-cityhub .otak-city-extra{display:none}
.otak-cityhub .otak-city-extra.is-open{display:flex}
/* „Auf einen Blick"-Karte: endet mit ihrem Inhalt, statt auf Texthöhe zu strecken.
   (Root-Container strecken Kinder — .e-con-inner konsumiert die align-items-Var.) */
@media(min-width:1025px){.otak-facts3{align-self:flex-start}}

/* Schwebender Anruf-Button (Plugin wp-call-button): mobil redundant zur Kontaktleiste */
@media(max-width:767px){a.wp-call-button,.wp-call-button{display:none!important;pointer-events:none!important}}

/* ---------- 20. Mobile Kontaktleiste ---------- */
.otak24-mcb{border-top:1px solid rgba(194,154,91,.4);background:linear-gradient(0deg,var(--char),var(--char-2))}
.otak24-mcb a{border-radius:12px;font-family:var(--sans)}
.otak24-mcb .otak24-mcb-call{background:var(--brand)}
.otak24-mcb .otak24-mcb-wa{background:var(--wa)}
.otak24-mcb .otak24-mcb-form{background:rgba(246,241,230,.12);border:1px solid rgba(194,154,91,.35)}

/* ---------- 21. Stadtseiten (V3-Skin für V2-Klassen) ---------- */
.otak-city-hero{position:relative}
.otak-city--wuppertal{--city-a:#8E1F26;--city-b:#3F1013}
.otak-city--duesseldorf{--city-a:#23566B;--city-b:#122F3C}
.otak-city--koeln{--city-a:#2E5D4F;--city-b:#122D26}
.otak-city--bonn{--city-a:#5D3550;--city-b:#271224}
.otak-city--aachen{--city-a:#3E4E74;--city-b:#182238}
.otak-city--dortmund{--city-a:#2F6A43;--city-b:#12301C}
.otak-city--essen{--city-a:#56502F;--city-b:#26220F}
.otak-city--duisburg{--city-a:#1C5F6E;--city-b:#083038}
.otak-city--bochum{--city-a:#7A5A2E;--city-b:#3A2B14}
.otak-city--bielefeld{--city-a:#4C6431;--city-b:#1F2C12}
.otak-city--muenster{--city-a:#7D3B2A;--city-b:#38160E}
.otak-city--moenchengladbach{--city-a:#3F4A5F;--city-b:#171E2B}
.otak-city--gelsenkirchen{--city-a:#6B2E45;--city-b:#2E1120}
.otak-city--krefeld{--city-a:#4F3B63;--city-b:#211737}
.otak-city--oberhausen{--city-a:#7C4A3F;--city-b:#381C15}
.otak-city--hagen{--city-a:#6E5A23;--city-b:#32290D}
.otak-city--hamm{--city-a:#35705E;--city-b:#143327}
.otak-city--muelheim{--city-a:#41628C;--city-b:#1B2A40}
.otak-city--leverkusen{--city-a:#77323C;--city-b:#37121A}
.otak-city--solingen{--city-a:#4E5A66;--city-b:#20272D}
.otak-city--herne{--city-a:#5F6B2C;--city-b:#2A3010}
.otak-city--neuss{--city-a:#8A5A33;--city-b:#3E2614}
.otak-city--paderborn{--city-a:#62552B;--city-b:#2C2510}
.otak-city--bottrop{--city-a:#2F5D68;--city-b:#11282E}
.otak-city--recklinghausen{--city-a:#6A4A69;--city-b:#2E1D2D}
.otak-city--remscheid{--city-a:#4A3A2A;--city-b:#201712}
.otak-city--bergisch-gladbach{--city-a:#3B6B4F;--city-b:#16301F}
.otak-city--moers{--city-a:#8E5A4A;--city-b:#3E2119}
.otak-city--siegen{--city-a:#3F5A23;--city-b:#1B290C}
/* Tier 2 (Mittelstädte) — Akzentfarben nach Regionsfamilien */
.otak-city--witten{--city-a:#46596B;--city-b:#1D2733}
.otak-city--luenen{--city-a:#3E5E70;--city-b:#16292F}
.otak-city--castrop-rauxel{--city-a:#526478;--city-b:#232B36}
.otak-city--marl{--city-a:#3A6072;--city-b:#152A33}
.otak-city--gladbeck{--city-a:#4B6A7E;--city-b:#1F2E38}
.otak-city--dorsten{--city-a:#35586B;--city-b:#12222B}
.otak-city--bergkamen{--city-a:#58687A;--city-b:#252E38}
.otak-city--unna{--city-a:#40525E;--city-b:#1A2229}
.otak-city--velbert{--city-a:#4A5A50;--city-b:#1E2823}
.otak-city--ratingen{--city-a:#55624E;--city-b:#242B1F}
.otak-city--hilden{--city-a:#3F5346;--city-b:#18241D}
.otak-city--viersen{--city-a:#3F6B5B;--city-b:#173028}
.otak-city--meerbusch{--city-a:#52755F;--city-b:#233527}
.otak-city--grevenbroich{--city-a:#2F5F52;--city-b:#0F2A23}
.otak-city--wesel{--city-a:#457362;--city-b:#1B332B}
.otak-city--dinslaken{--city-a:#35695E;--city-b:#122E28}
.otak-city--rheine{--city-a:#6B6B35;--city-b:#2F2F12}
.otak-city--bocholt{--city-a:#75603A;--city-b:#332812}
.otak-city--guetersloh{--city-a:#5E7040;--city-b:#282F17}
.otak-city--herford{--city-a:#6D5B44;--city-b:#2F261B}
.otak-city--minden{--city-a:#4F6B4A;--city-b:#202E1D}
.otak-city--detmold{--city-a:#746A3C;--city-b:#332D14}
.otak-city--iserlohn{--city-a:#39543B;--city-b:#141F15}
.otak-city--luedenscheid{--city-a:#2F4A3E;--city-b:#101E18}
.otak-city--arnsberg{--city-a:#4C6350;--city-b:#1D2A20}
.otak-city--dueren{--city-a:#7A5C48;--city-b:#36251B}
.otak-city--troisdorf{--city-a:#6E4E56;--city-b:#2F1F24}
.otak-city--sankt-augustin{--city-a:#815A3E;--city-b:#392414}
.otak-city--kerpen{--city-a:#705548;--city-b:#31221B}
.otak-city--langenfeld{--city-a:#62584A;--city-b:#2A241D}
.otak-city--huerth{--city-a:#7C4E3E;--city-b:#372017}
.otak-city--euskirchen{--city-a:#5E5A36;--city-b:#292713}
.otak-city--pulheim{--city-a:#6B5E2F;--city-b:#2F2810}
.otak-city--frechen{--city-a:#58513F;--city-b:#262218}
/* Tier 3 (Kreisseiten) */
.otak-city--kreis-mettmann{--city-a:#4C5A44;--city-b:#1F2620}
.otak-city--rhein-sieg-kreis{--city-a:#6B5546;--city-b:#2E2119}
.otak-city--kreis-recklinghausen{--city-a:#47606E;--city-b:#1C2830}
.otak-city--ennepe-ruhr-kreis{--city-a:#525F4C;--city-b:#22291F}
.otak-city--kreis-unna{--city-a:#4E6070;--city-b:#202932}
.otak-city--kreis-wesel{--city-a:#3E6E5C;--city-b:#183129}
.otak-city--rhein-erft-kreis{--city-a:#75594A;--city-b:#33241C}
.otak-city--rhein-kreis-neuss{--city-a:#4A7060;--city-b:#1D332A}
.otak-city--rheinisch-bergischer-kreis{--city-a:#44614E;--city-b:#1A2A20}
.otak-city--oberbergischer-kreis{--city-a:#3D5648;--city-b:#17251D}
.otak-city--kreis-viersen{--city-a:#37655A;--city-b:#132D27}
.otak-city--kreis-kleve{--city-a:#4C7866;--city-b:#1F362C}
.otak-city--kreis-heinsberg{--city-a:#476853;--city-b:#1C2E22}
.otak-city--kreis-dueren{--city-a:#715747;--city-b:#31231B}
.otak-city--kreis-euskirchen{--city-a:#455340;--city-b:#1B221A}
.otak-city--staedteregion-aachen{--city-a:#5A5470;--city-b:#262231}
.otak-city--maerkischer-kreis{--city-a:#425747;--city-b:#19231C}
.otak-city--hochsauerlandkreis{--city-a:#365040;--city-b:#131F18}
.otak-city--kreis-olpe{--city-a:#3C5A4A;--city-b:#16271E}
.otak-city--kreis-siegen-wittgenstein{--city-a:#465C33;--city-b:#1C2712}
.otak-city--kreis-soest{--city-a:#6E6A3C;--city-b:#2F2D15}
.otak-city--kreis-warendorf{--city-a:#63653A;--city-b:#2A2C15}
.otak-city--kreis-coesfeld{--city-a:#5C6E45;--city-b:#272F1B}
.otak-city--kreis-steinfurt{--city-a:#566B4E;--city-b:#242E20}
.otak-city--kreis-borken{--city-a:#6B663B;--city-b:#2E2B15}
.otak-city--kreis-guetersloh{--city-a:#5A6E3D;--city-b:#262F17}
.otak-city--kreis-herford{--city-a:#68583F;--city-b:#2D2518}
.otak-city--kreis-hoexter{--city-a:#5F6A48;--city-b:#292E1D}
.otak-city--kreis-lippe{--city-a:#70663A;--city-b:#302B14}
.otak-city--kreis-minden-luebbecke{--city-a:#52684C;--city-b:#222D1F}
.otak-city--kreis-paderborn{--city-a:#665E30;--city-b:#2C2812}
/* Regionsseiten */
.otak-city--ruhrgebiet{--city-a:#44586A;--city-b:#1B2530}
.otak-city--rheinland{--city-a:#6E4E43;--city-b:#2F1F1A}
.otak-city--bergisches-land{--city-a:#47584D;--city-b:#1D2620}
.otak-city--niederrhein{--city-a:#3A6B58;--city-b:#152F26}
.otak-city--muensterland{--city-a:#67693C;--city-b:#2C2D16}
.otak-city--ostwestfalen-lippe{--city-a:#5B7040;--city-b:#262F18}
.otak-city--sauerland-siegerland{--city-a:#3A5540;--city-b:#152219}
.otak-city-hero[class*="otak-city--"]{background-color:var(--city-b);background-image:radial-gradient(900px 420px at 85% -10%,rgba(194,154,91,.16),transparent 55%),linear-gradient(135deg,var(--city-b) 0%,var(--city-a) 120%)}
body .otak-city-hero .otak-city-h1 .elementor-heading-title{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.1;font-weight:700;color:#F6F1E6;text-wrap:balance}
body .otak-city-hero .otak-city-sub .elementor-heading-title{font-family:var(--sans);font-size:clamp(1rem,1.5vw,1.15rem);font-weight:400;line-height:1.65;color:#E9DFCB}
body .otak-city-hero .otak-city-badge .elementor-heading-title{display:inline-block;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#241B16;background:linear-gradient(135deg,#EBDDBE,#C29A5B);padding:8px 16px;border-radius:999px}
.otak-city-skyline{line-height:0;opacity:.9;margin-top:12px}
.otak-city-skyline svg{display:block;width:100%;height:64px}
[class*="otak-city--"] .otak-overline .elementor-heading-title,body [class*="otak-city--"] .otak-kicker .elementor-heading-title{color:var(--city-a)}
body .otak-kicker .elementor-heading-title{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--brand)}
body .otak-kicker .elementor-heading-title::before{content:'✦';color:var(--gold);margin-right:.7em;font-size:10px;vertical-align:1px}
body .otak-rule .elementor-heading-title{position:relative;padding-bottom:16px;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.15}
body .otak-rule .elementor-heading-title::after{content:'';position:absolute;left:0;bottom:0;width:64px;height:2px;background:linear-gradient(90deg,var(--gold),var(--city-a,var(--brand)));border-radius:2px}
.otak-city-panel{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--city-a,var(--brand));border-radius:14px;box-shadow:var(--sh-1)}
.otak-city-photo{border-radius:var(--r-arch);overflow:hidden;box-shadow:var(--sh-2);min-height:340px}
.otak-warum ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.otak-warum li{padding-left:30px;position:relative;font-size:15.5px;line-height:1.6}
.otak-warum li::before{content:'✓';position:absolute;left:0;top:0;color:var(--city-a,var(--brand));font-weight:800;font-size:16px}
.otak-chips-light .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px 12px}
.otak-chips-light .elementor-icon-list-item{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 15px;box-shadow:var(--sh-1);transition:border-color .18s var(--ease)}
.otak-chips-light .elementor-icon-list-item:hover{border-color:var(--city-a,var(--brand))}
body .otak-chips-light .elementor-icon-list-text{color:var(--ink)!important;font-size:13.5px;font-weight:600}
body .otak-chips-light .elementor-icon-list-icon i{color:var(--city-a,var(--brand));font-size:12px}
body .otak-city-accent .elementor-heading-title{color:var(--city-a,var(--brand));font-family:var(--sans);font-size:15px;font-weight:700}
.otak-timeline .elementor-icon-list-items{display:grid;gap:0;position:relative}
.otak-timeline .elementor-icon-list-item{padding:14px 0 14px 16px;position:relative;border-left:2px solid var(--line);margin-left:9px}
.otak-timeline .elementor-icon-list-item:last-child{border-left-color:transparent}
.otak-timeline .elementor-icon-list-icon{position:absolute;left:-11px;top:12px;background:var(--paper);border-radius:50%;padding:1px}
body .otak-timeline .elementor-icon-list-icon i{color:var(--city-a,var(--brand));font-size:18px}
body .otak-timeline .elementor-icon-list-text{color:var(--body)!important;font-size:15.5px;line-height:1.55;padding-left:14px}
.otak-timeline .elementor-icon-list-text b,.otak-timeline .elementor-icon-list-text strong{color:var(--ink)}
.otak-ship-step{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--city-a,var(--gold));border-radius:14px;box-shadow:var(--sh-1);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.otak-ship-step:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
body .otak-ship-step .otak-ship-num .elementor-heading-title{font-family:var(--serif);font-style:italic;font-weight:700;font-size:32px;color:var(--city-a,var(--gold));line-height:1}
body .otak-ship-step .otak-ship-title .elementor-heading-title{font-family:var(--sans);font-size:16px;font-weight:700;color:var(--ink)}
.otak-ship-step p{font-size:14.5px;line-height:1.6}
.otak-city-endcta{background-color:var(--city-a,var(--brand));background-image:linear-gradient(135deg,var(--city-b,#43080B),var(--city-a,var(--brand)));border-radius:var(--r-card);box-shadow:var(--sh-2)}
.otak-city-endcta p{color:#EFE7D6}
.otak-city-endcta a{color:var(--gold-soft);text-decoration:underline}
.otak-city-endcta a.elementor-button{text-decoration:none}
.otak-city-card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--city-a,var(--brand));border-radius:var(--r-card);box-shadow:var(--sh-1);transition:transform .22s var(--ease),box-shadow .22s var(--ease);overflow:hidden}
.otak-city-card:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.otak-city-card .otak-city-card-skyline{background-color:var(--city-a,var(--brand));background-image:linear-gradient(135deg,var(--city-b,#43080B),var(--city-a,var(--brand)));border-radius:12px;line-height:0;padding:14px 10px 0}
.otak-city-card .otak-city-card-skyline svg{width:100%;height:52px;display:block}
body .otak-city-card .otak-city-name .elementor-heading-title{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--ink)}
body .otak-city-card .otak-city-mode .elementor-heading-title{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--city-a,var(--brand))}
.otak-city-card p{font-size:14.5px;line-height:1.6}

/* ---------- 21b. Stadtseiten V3: Brotkrumen, Trust-Chips, Bewertungs-Strip ---------- */
/* Yoast-Brotkrumen im dunklen Hero (Start › Ankaufsgebiete › Stadt) */
.otak-crumbs,.otak-crumbs #breadcrumbs{font:500 13px/1.5 var(--sans);color:rgba(246,241,230,.68);letter-spacing:.02em}
.otak-crumbs a{color:rgba(246,241,230,.88);text-decoration:none;border-bottom:1px solid rgba(246,241,230,.3);transition:color .18s var(--ease),border-color .18s var(--ease)}
.otak-crumbs a:hover,.otak-crumbs a:focus{color:#fff;border-color:var(--gold)}
.otak-crumbs .breadcrumb_last{color:var(--gold-text)}
/* Trust-Chips im Stadt-Hero (Zähler, Google, seit 2008) */
.otak-trustrow{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:2px 0 0;padding:0}
.otak-trustrow li{font:600 12.5px var(--sans);letter-spacing:.03em;color:#EFE7D6;background:rgba(255,255,255,.07);border:1px solid rgba(194,154,91,.4);border-radius:999px;padding:7px 14px;white-space:nowrap}
.otak-trustrow li .otak-lc-num{color:var(--gold-text);font-variant-numeric:tabular-nums}
.otak-trustrow .otak-star{color:var(--gold);margin-right:2px}
/* Bewertungs-Strip (stadtneutral, echte Google-Wertung) */
.otak-city-reviews{text-align:center}
.otak-city-reviews .otak-stars{color:var(--gold);font-size:22px;letter-spacing:6px;line-height:1;margin-bottom:10px}
.otak-city-reviews p{font-size:16px;color:var(--body);margin:0}
.otak-city-reviews strong{color:var(--ink)}
/* Formular-Sektion der Stadtseiten nutzt .otak-final/.otak-form-card der Startseite */
/* Legacy-Aliase (V2-Klassen, die auf Stadtseiten noch vorkommen) */
.otak-sec--cream{background-color:var(--paper)}
.otak-sec--ivory{background-color:#fff}

/* ---------- 22. Danke-Seite ---------- */
body .otak-danke-icon .elementor-heading-title{font-size:44px;line-height:1;width:88px;height:88px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#EBDDBE,#C29A5B);color:#241B16;border-radius:999px 999px 20px 20px;margin:0 auto;box-shadow:var(--sh-1)}
body .otak-review-meta .elementor-heading-title{font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--muted)}

/* ---------- 23. Rechtsseiten ---------- */
.otak-legal .elementor-widget-text-editor{max-width:72ch;font-size:16px;line-height:1.8}
.otak-legal h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-top:1.6em}
.otak-legal h3{font-size:1.15rem}

/* ---------- 24. Diverses ---------- */
.otak-hairline{height:1px;background:linear-gradient(90deg,var(--gold) 0%,transparent 100%);max-width:120px}
.otak-video-frame .elementor-custom-embed-play i{color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.5)}
.otak-google-badge{display:inline-flex;align-items:center;gap:10px}
