/* =========================================================
   BRASSERIE DE LA MARIE · Design-System (global)
   Präfix: bdm-   ·   Farben: Violett · Olivgrün · Creme · Messing
   ========================================================= */

@font-face { font-family: 'BDM Fraunces'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(/wp-content/uploads/bdm-fonts/fraunces-latin-soft-normal.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: 'BDM Fraunces'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(/wp-content/uploads/bdm-fonts/fraunces-latin-ext-soft-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'BDM Fraunces'; font-style: italic; font-display: swap; font-weight: 100 900;
  src: url(/wp-content/uploads/bdm-fonts/fraunces-latin-soft-italic.woff2) format('woff2'); }
@font-face { font-family: 'BDM Jost'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(/wp-content/uploads/bdm-fonts/jost-latin-wght-normal.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: 'BDM Jost'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(/wp-content/uploads/bdm-fonts/jost-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'BDM Parisienne'; font-style: normal; font-display: swap; font-weight: 400;
  src: url(/wp-content/uploads/bdm-fonts/parisienne-latin-400-normal.woff2) format('woff2'); }

[hidden] { display: none !important; } /* !important: .bdm-btns u. a. setzen display: flex und würden [hidden] sonst überstimmen */
html:root {
  --bdm-cream: #ECECD3;
  --bdm-cream-0: #F4F0DF;
  --bdm-cream-2: #ECECD3;
  --bdm-paper: #FBF8EE;
  --bdm-violet: #B57AB4;
  --bdm-violet-m: #9A62A0;
  --bdm-violet-d: #74407C;
  --bdm-plum: #3A2341;
  --bdm-plum-2: #4D3055;
  --bdm-olive: #667030;
  --bdm-olive-d: #475020;
  --bdm-sage: #9EA86C;
  --bdm-sage-l: #D5DAB2;
  --bdm-gold: #C29A4B;
  --bdm-gold-l: #EDD394;
  --bdm-gold-d: #8A6629;
  --bdm-ink: #231F24;
  --bdm-text: #2B272C;
  --bdm-muted: #5A5560;
  --bdm-rose: #E3879D;
  --bdm-sun: #F2B84B;
  --bdm-line: rgba(58, 35, 65, .14);
  --bdm-f-d: 'BDM Fraunces', 'Fraunces', Georgia, 'Times New Roman', serif;
  --bdm-f-s: 'BDM Parisienne', 'Parisienne', 'Brush Script MT', cursive;
  --bdm-f-b: 'BDM Jost', 'Jost', 'Segoe UI', system-ui, sans-serif;
  --bdm-r: 20px;
  --bdm-r-s: 12px;
  --bdm-sh: 0 22px 48px -24px rgba(58, 35, 65, .42);
  --bdm-sh-s: 0 10px 26px -14px rgba(58, 35, 65, .38);
  --bdm-gold-grad: linear-gradient(135deg, #8A6629 0%, #EDD394 22%, #B88C3E 42%, #F6E3AE 60%, #A47B34 78%, #E3C47E 100%);
  --bdm-ease: cubic-bezier(.22, .8, .24, 1);
  --bdm-hh: 72px;
  --bdm-gap: clamp(64px, 9vw, 112px);
  /* Breakdance-Standards überschreiben */
  --bde-links-color: var(--bdm-violet-d);
  --bde-links-color-hover: var(--bdm-violet-d);
  --bde-headings-color: var(--bdm-olive-d);
  --bde-body-text-color: var(--bdm-text);
  --bde-body-font-family: var(--bdm-f-b);
  --bde-heading-font-family: var(--bdm-f-d);
  --bde-background-color: #ECECD3;
}
@media (min-width: 1100px) { html:root { --bdm-hh: 84px; } }

html:root { background-color: #ECECD3; }
html:root body { background: transparent; }
html:root body { margin: 0; color: var(--bdm-text); font-family: var(--bdm-f-b); }
/* Hintergrund wie die alte Seite: Creme #ECECD3 mit den gezeichneten Speisen, fixiert (auch iOS, daher als fixe Ebene) */
html:root body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: #ECECD3 url(/wp-content/uploads/bdm-assets/bg-food.webp) center top / 1200px auto repeat; }
@media (max-width: 699px) { html:root body::before { background-size: 820px auto; } }
.bde-section, .bde-section > .section-container { background-color: transparent; }
html { scroll-padding-top: calc(var(--bdm-hh) + 20px); }

/* Breakdance: Code Block ist flex – unsere Blöcke volle Breite */
.bde-code-block:has(> [class^="bdm-"]),
.bde-code-block:has(> [class*=" bdm-"]) { display: block; width: 100%; }
.bde-section:has(.bdm-sec) > .section-container { max-width: none; padding: 0; }

:where([class^="bdm-"], [class*=" bdm-"]) { box-sizing: border-box; }
:where([class^="bdm-"], [class*=" bdm-"]) *, :where([class^="bdm-"], [class*=" bdm-"]) *::before, :where([class^="bdm-"], [class*=" bdm-"]) *::after { box-sizing: border-box; }
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm) :where(h1, h2, h3, h4, p, ul, ol, figure, blockquote) { margin: 0; }
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm) :where(ul, ol) { padding: 0; list-style: none; }
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm) img { display: block; max-width: 100%; height: auto; }
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm) a { color: inherit; text-decoration: none; }
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm) :focus-visible { outline: 2px solid var(--bdm-violet-d); outline-offset: 3px; border-radius: 6px; }
/* Breakdance färbt jeden Link beim Hover blau (.breakdance a:hover liest --bde-links-color-hover).
   Die Regel hat mehr Gewicht als unsere, darum setzt jede Komponente die Variable selbst. */
:where(.bdm-sec, .bdm-hd, .bdm-ft, .bdm-mm, .bdm-qdock, .bdm-pop) a { --bde-links-color-hover: currentColor; }
.bdm-mm-info a, .bdm-txt a, .bdm-crumbs a { --bde-links-color-hover: var(--bdm-violet-d); }
.bdm-sec--plum .bdm-txt a { --bde-links-color-hover: #FBF5E6; }
.bdm-mm-soc a, .bdm-soc a, .bdm-hd-res { --bde-links-color-hover: #FBF5E6; }
.bdm-ft a { --bde-links-color-hover: var(--bdm-gold-l); }
.bdm-ft .bdm-soc a { --bde-links-color-hover: var(--bdm-plum); }
.bdm-btn.bdm-btn { --bde-links-color-hover: var(--fg-h, var(--fg)); }

/* ---------- Sektion & Raster ---------- */
.bdm-sec { position: relative; isolation: isolate; overflow: clip; padding-block: var(--bdm-gap); font-size: clamp(16px, 1.05vw + 11px, 18px); line-height: 1.62; color: var(--bdm-text); }
.bdm-sec--tight { padding-block: calc(var(--bdm-gap) * .6); }
.bdm-sec--first { padding-top: calc(var(--bdm-hh) + 60px); }
.bdm-sec--paper { background: rgba(251, 248, 238, .62); }
.bdm-sec--cream2 { background: rgba(255, 253, 246, .45); }
.bdm-sec--plum { background: radial-gradient(120% 90% at 20% 0%, var(--bdm-plum-2), var(--bdm-plum) 60%); color: #F3EAF2; }
.bdm-wrap { width: min(1240px, 100%); margin-inline: auto; padding-inline: clamp(18px, 4vw, 40px); position: relative; }
.bdm-wrap--s { width: min(860px, 100%); }
.bdm-2c { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(36px, 5vw, 72px); align-items: center; }
/* Raster-Elemente dürfen nie breiter als ihre Spalte werden (sonst ragen Bilder/Buttons aus dem Rahmen) */
:where(.bdm-sec, .bdm-ft, .bdm-mm) :where(.bdm-2c, .bdm-cards, .bdm-ph-grid, .bdm-kon-grid, .bdm-offer-grid, .bdm-presse-grid, .bdm-lav-in, .bdm-shabby-wall, .bdm-mcat, .bdm-legal-body, .bdm-mm-info) > * { min-width: 0; }
:where(.bdm-sec) img { max-width: 100%; }
@media (min-width: 900px) {
  .bdm-2c { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .bdm-2c--rev > :first-child { order: 2; }
  .bdm-2c--sticky { align-items: start; }
  .bdm-2c--sticky > .bdm-stick { position: sticky; top: calc(var(--bdm-hh) + 28px); }
}
.bdm-center { text-align: center; }
.bdm-center .bdm-orn { margin-inline: auto; }

/* Papier-Struktur & Tapete */
.bdm-texture::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(116, 64, 124, .07) 1px, transparent 1.4px), radial-gradient(rgba(102, 112, 48, .06) 1px, transparent 1.4px);
  background-size: 22px 22px, 31px 31px; background-position: 0 0, 11px 15px; }

/* ---------- Typografie ---------- */
.bdm-kicker { display: block; font-family: var(--bdm-f-s); font-weight: 400; font-size: clamp(28px, 2.2vw + 14px, 40px); line-height: 1.1; color: var(--bdm-violet-d); margin-bottom: 6px; }
.bdm-sec--plum .bdm-kicker { color: var(--bdm-gold-l); }
.bdm-h1, .bdm-h2, .bdm-h3 { font-family: var(--bdm-f-d); font-variation-settings: "SOFT" 100; letter-spacing: -.012em; text-wrap: balance; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.bdm-h1 { font-size: clamp(38px, 4.6vw + 14px, 84px); line-height: 1.02; font-weight: 600; color: var(--bdm-plum); }
.bdm-h2 { font-size: clamp(28px, 2.4vw + 14px, 52px); line-height: 1.08; font-weight: 560; color: var(--bdm-olive-d); }
.bdm-h3 { font-size: clamp(21px, .8vw + 15px, 27px); line-height: 1.22; font-weight: 600; color: var(--bdm-plum); }
/* Breakdance setzt h1–h4 über .breakdance hX auf eigene Größen (gewinnt gegen eine Klasse); .bdm-h3 auf einem h2/h3 behält so seine Größe */
.bdm-h3 { --bde-h2-font-size: clamp(21px, .8vw + 15px, 27px); --bde-h3-font-size: clamp(21px, .8vw + 15px, 27px); --bde-h4-font-size: clamp(21px, .8vw + 15px, 27px); }
.bdm-h1 em, .bdm-h2 em, .bdm-h3 em { font-style: italic; font-weight: 500; color: var(--bdm-violet-d); }
.bdm-sec--plum .bdm-h2, .bdm-sec--plum .bdm-h3 { color: #FBF5E6; }
.bdm-sec--plum .bdm-h2 em { color: var(--bdm-gold-l); }
.bdm-nw { white-space: nowrap; }
.bdm-lead { font-size: clamp(17px, .6vw + 14px, 20px); line-height: 1.6; color: var(--bdm-ink); }
.bdm-txt > * + * { margin-top: 1em; }
.bdm-txt p { max-width: 64ch; }
.bdm-center .bdm-txt p { margin-inline: auto; }
.bdm-txt a:not(.bdm-btn) { color: var(--bdm-violet-d); text-decoration: underline; text-decoration-color: rgba(116, 64, 124, .35); text-underline-offset: 3px; }
.bdm-sec--plum .bdm-txt { color: #EDE2EC; }
.bdm-sec--plum .bdm-txt a:not(.bdm-btn) { color: var(--bdm-gold-l); text-decoration-color: rgba(237, 211, 148, .5); }
::selection { background: #74407C; color: #FBF5E6; text-shadow: none; }
.bdm-sign { font-family: var(--bdm-f-s); font-size: clamp(30px, 2vw + 18px, 44px); color: var(--bdm-violet-d); line-height: 1.1; }

/* Ornament unter Haupttiteln (zeichnet sich selbst) */
.bdm-orn { display: block; width: 168px; height: 26px; margin-top: 14px; overflow: visible; }
.bdm-orn path { fill: none; stroke: var(--bdm-olive); stroke-width: 1.6; stroke-linecap: round; }
.bdm-orn .bdm-orn-f { fill: var(--bdm-violet); stroke: none; transform-box: fill-box; transform-origin: center; }
.bdm-orn .bdm-orn-l { fill: var(--bdm-sage); stroke: none; transform-box: fill-box; transform-origin: center; }
.bdm-sec--plum .bdm-orn path { stroke: var(--bdm-gold-l); }

/* ---------- Buttons ---------- */
.bdm-btns { display: flex; flex-wrap: wrap; gap: 14px 16px; margin-top: 28px; }
.bdm-center .bdm-btns, .bdm-btns.bdm-center { justify-content: center; }
/* Die Knopffläche liegt im ::before, damit beim Hover echte Blumen hinter der Oberkante herauswachsen können */
.bdm-btn { --bg: var(--bdm-olive-d); --fg: #FBF5E6; --hv: var(--bdm-violet-d); --ring: inset 0 0 0 3px var(--bg), inset 0 0 0 4px rgba(251, 245, 230, .55);
  position: relative; isolation: isolate; overflow: visible; display: inline-flex; align-items: center; gap: 10px; max-width: 100%; min-height: 50px; padding: 12px 26px 12px 18px; line-height: 1.25; text-align: left; text-decoration: none;
  border-radius: 999px; background: none; color: var(--fg); font-family: var(--bdm-f-b); font-weight: 560; font-size: 15px; letter-spacing: .1em; text-transform: uppercase;
  box-shadow: var(--bdm-sh-s); transition: transform .35s var(--bdm-ease), color .35s; }
.breakdance .bdm-btn { color: var(--fg); } /* peste .breakdance a din Breakdance */
.bdm-btn:hover { color: var(--fg-h, var(--fg)); }
.bdm-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; box-shadow: var(--ring);
  background: linear-gradient(var(--hv), var(--hv)) 50% 100% / 100% 0% no-repeat, var(--bg); transition: background-size .5s var(--bdm-ease); }
.bdm-btn::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: linear-gradient(100deg, transparent 30%, rgba(255, 246, 214, .28) 48%, transparent 66%) -150% 0 / 60% 100% no-repeat; animation: bdm-sheen 6.5s ease-in-out infinite; }
@keyframes bdm-sheen { 0%, 55% { background-position: -150% 0; } 85%, 100% { background-position: 250% 0; } }
@media (max-width: 479px) { .bdm-btn { font-size: 14px; letter-spacing: .06em; padding: 11px 20px 11px 14px; min-height: 48px; } .bdm-btns { gap: 12px; } }
.bdm-btn .bdm-daisy { width: 22px; height: 22px; flex: 0 0 auto; animation: bdm-spin 14s linear infinite; }
.bdm-btn:hover { transform: translateY(-2px); }
.bdm-btn:hover::before { background-size: 100% 100%, auto; }
.bdm-btn:hover .bdm-daisy { animation-duration: 2.4s; }
.bdm-btn--violet { --bg: var(--bdm-violet-d); --hv: var(--bdm-olive-d); }
.bdm-btn--ghost { --bg: rgba(251, 248, 238, .9); --fg: var(--bdm-olive-d); --hv: var(--bdm-olive-d); --fg-h: #FBF5E6; --ring: inset 0 0 0 1.5px var(--bdm-olive-d); }
.bdm-btn--light { --bg: var(--bdm-cream); --fg: var(--bdm-plum); --hv: var(--bdm-gold-l); }
.bdm-sec--plum .bdm-btn--ghost { --bg: var(--bdm-plum); --fg: var(--bdm-gold-l); --hv: var(--bdm-gold-l); --fg-h: var(--bdm-plum); --ring: inset 0 0 0 1.5px var(--bdm-gold-l); }

/* Blumen wachsen beim Hover aus der Oberkante (echte Pflanzen, siehe global.js initBloom) */
.bdm-bud { position: absolute; left: 8%; right: 8%; bottom: calc(100% - 14px); height: 54px; z-index: -2; pointer-events: none; }
.bdm-bud i { position: absolute; bottom: 0; height: var(--h, 38px); transform-origin: 50% 100%; transform: translateX(-50%) rotate(var(--r, 0deg)) scale(.15, 0); opacity: 0;
  transition: transform .45s cubic-bezier(.5, 0, .75, .3), opacity .3s .1s; }
.bdm-bud img { display: block; height: 100%; width: auto; max-width: none; filter: drop-shadow(0 2px 2px rgba(58, 35, 65, .18)); }
.bdm-btn:hover .bdm-bud i, .bdm-btn:focus-visible .bdm-bud i, .bdm-btn.is-bloom .bdm-bud i, .bdm-hd-res:hover .bdm-bud i, .bdm-qdock a:hover .bdm-bud i {
  opacity: 1; transform: translateX(-50%) rotate(var(--r, 0deg)) scale(1); transition: transform .9s cubic-bezier(.2, 1.35, .45, 1) var(--dl, 0s), opacity .25s var(--dl, 0s); }
.bdm-btn:hover .bdm-bud img, .bdm-btn.is-bloom .bdm-bud img { animation: bdm-sway 2.8s ease-in-out .9s infinite alternate; transform-origin: 50% 100%; --sa: 4deg; }
@media (prefers-reduced-motion: reduce) { .bdm-bud { display: none; } }
.bdm-daisy .p { fill: #FFFDF6; stroke: rgba(58, 35, 65, .35); stroke-width: .8; }
.bdm-daisy .c { fill: var(--bdm-sun); }
@keyframes bdm-spin { to { transform: rotate(360deg); } }

/* Chips / Badges */
.bdm-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.bdm-center .bdm-chips { justify-content: center; }
.bdm-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .6); border: 1px solid var(--bdm-line); font-size: 14px; line-height: 1.3; color: var(--bdm-ink); }
.bdm-chip svg { width: 18px; height: 18px; flex: 0 0 auto; }
.bdm-chip b { font-weight: 600; }
.bdm-status { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #9aa08f; flex: 0 0 auto; }
.bdm-status.is-open { background: #5E9E4A; box-shadow: 0 0 0 0 rgba(94, 158, 74, .6); animation: bdm-pulse 2s infinite; }
@keyframes bdm-pulse { 70% { box-shadow: 0 0 0 9px rgba(94, 158, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(94, 158, 74, 0); } }

/* =========================================================
   Komponenten: Reveal · Titel · Rahmen · Blumen · Slider · Lightbox · Akkordeon
   ========================================================= */

/* ---------- Einblenden (nur wenn JS läuft) ---------- */
.bdm-js [data-rv] { opacity: 0; transition: opacity .9s var(--bdm-ease), transform 1s var(--bdm-ease); transition-delay: calc(var(--d, 0) * 1s); }
.bdm-js [data-rv="up"] { transform: translateY(34px); }
.bdm-js [data-rv="left"] { transform: translateX(-46px); }
.bdm-js [data-rv="right"] { transform: translateX(46px); }
.bdm-js [data-rv="zoom"] { transform: scale(.9); }
.bdm-js [data-rv="bloom"] { transform: scale(.55) rotate(-14deg); transition-timing-function: cubic-bezier(.34, 1.56, .64, 1); }
.bdm-js [data-rv].is-in { opacity: 1; transform: none; }

/* Titel: Wörter steigen aus einer Maske, kurz violett, dann Endfarbe */
.bdm-js [data-split] .bdm-w { display: inline-block; overflow: hidden; vertical-align: top; padding: .14em .06em .2em; margin: -.14em -.06em -.2em; }
.bdm-js [data-split] .bdm-wi { display: inline-block; transform: translateY(105%) skewY(6deg); transition: transform 1.05s var(--bdm-ease); transition-delay: calc(var(--i) * .06s + var(--d, 0) * 1s); }
.bdm-js [data-split].is-in .bdm-wi { transform: none; }

/* Selbstzeichnende Linien (Ornament, Icons) */
.bdm-js [data-draw] .bdm-dp { stroke-dasharray: 1; stroke-dashoffset: 1; }
.bdm-js [data-draw].is-in .bdm-dp { animation: bdm-draw 1.6s var(--bdm-ease) forwards; animation-delay: calc(.15s + var(--k, 0) * .12s); }
.bdm-js [data-draw] .bdm-orn-f, .bdm-js [data-draw] .bdm-orn-l, .bdm-js [data-draw] .bdm-pop { transform: scale(0); }
.bdm-js [data-draw].is-in .bdm-orn-f, .bdm-js [data-draw].is-in .bdm-orn-l, .bdm-js [data-draw].is-in .bdm-pop { animation: bdm-popin .7s cubic-bezier(.34, 1.56, .64, 1) forwards; animation-delay: calc(1s + var(--k, 0) * .1s); }
@keyframes bdm-draw { to { stroke-dashoffset: 0; } }
@keyframes bdm-popin { from { transform: scale(0); } to { transform: scale(1); } }

/* ---------- Vintage-Rahmen (Spiegel- & Bilderrahmen) ---------- */
.bdm-frame { --t: clamp(9px, 1.1vw, 14px); position: relative; display: block; padding: var(--t); background: var(--bdm-gold-grad); border-radius: var(--fr, 14px); box-shadow: var(--bdm-sh), inset 0 0 0 1px rgba(255, 244, 210, .7); }
.bdm-frame::before { content: ""; position: absolute; inset: calc(var(--t) - 4px); border-radius: inherit; border: 1.5px solid rgba(90, 64, 20, .55); pointer-events: none; z-index: 2; }
.bdm-frame-in { position: relative; display: block; overflow: hidden; border-radius: calc(var(--fr, 14px) - var(--t) + 4px); box-shadow: inset 0 0 0 2px rgba(60, 40, 10, .45); background: var(--bdm-cream-2); }
.bdm-frame-in img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.6s var(--bdm-ease); }
.bdm-frame:hover .bdm-frame-in img { transform: scale(1.12); }
/* Spiegel-Glanz: global.js (initShine) schickt ihn zufällig über einzelne Bilder, nie über alle zugleich */
.bdm-frame-in::after { content: ""; position: absolute; inset: -20%; z-index: 1; pointer-events: none; background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .42) 47%, rgba(255, 255, 255, .08) 53%, transparent 60%); transform: translateX(-80%); }
.bdm-frame-in.is-shine::after { animation: bdm-shine var(--shd, 1.7s) ease-in-out; }
@keyframes bdm-shine { from { transform: translateX(-80%); } to { transform: translateX(80%); } }
.bdm-frame--arch { --fr: 999px 999px 18px 18px; }
.bdm-frame--arch .bdm-frame-in { border-radius: 999px 999px 8px 8px; }
.bdm-frame--oval, .bdm-frame--oval .bdm-frame-in { border-radius: 50%; }
.bdm-frame--round, .bdm-frame--round .bdm-frame-in { border-radius: 50%; }
.bdm-frame--soft { --fr: 28px; }
.bdm-frame--white { background: linear-gradient(135deg, #FFFDF6, #E9E1C9 45%, #FFFDF6 70%, #DCD2B4); }
.bdm-frame--sage { background: linear-gradient(135deg, #7E8848, #C9D09C 30%, #8F9A55 55%, #D5DAB2 75%, #6E7838); }
.bdm-frame--violet { background: linear-gradient(135deg, #6A3A72, #C795C6 30%, #8E5A95 55%, #D9B5D8 75%, #5E3266); }
/* Eck-Ornamente (barocke Ecken) */
.bdm-corner { position: absolute; width: clamp(34px, 4vw, 54px); height: auto; z-index: 3; pointer-events: none; }
.bdm-corner path { fill: none; stroke: #6E5020; stroke-width: 2; stroke-linecap: round; }
.bdm-corner .f { fill: #F6E3AE; stroke: #6E5020; stroke-width: 1.2; }
.bdm-corner--tl { top: -10px; left: -10px; }
.bdm-corner--tr { top: -10px; right: -10px; transform: scaleX(-1); }
.bdm-corner--bl { bottom: -10px; left: -10px; transform: scaleY(-1); }
.bdm-corner--br { bottom: -10px; right: -10px; transform: scale(-1); }

/* Hängende Rahmen (Nagel + Schnur), schwingen beim Scrollen */
.bdm-hang { position: relative; display: block; transform-origin: 50% calc(-1 * var(--cord, 46px)); transform: rotate(var(--sw, 0deg)); will-change: transform; }
.bdm-hang::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 70%; height: var(--cord, 46px); transform: translateX(-50%); pointer-events: none;
  background: linear-gradient(to top right, transparent calc(50% - 1px), rgba(58, 35, 65, .5) 50%, transparent calc(50% + 1px)) left / 50% 100% no-repeat,
              linear-gradient(to top left, transparent calc(50% - 1px), rgba(58, 35, 65, .5) 50%, transparent calc(50% + 1px)) right / 50% 100% no-repeat; }
.bdm-hang::after { content: ""; position: absolute; left: 50%; bottom: calc(100% + var(--cord, 46px) - 6px); width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F6E3AE, #8A6629 70%); box-shadow: 0 2px 3px rgba(0, 0, 0, .3); }

/* Sonnenspiegel-Strahlen (wie die Spiegel an den Wänden der Brasserie) */
.bdm-sunburst { position: absolute; inset: 0; pointer-events: none; }
.bdm-sunburst svg { width: 100%; height: 100%; overflow: visible; animation: bdm-spin 140s linear infinite; }
.bdm-sunburst .r1 { fill: #CFA752; }
.bdm-sunburst .r2 { fill: #E8C982; }
.bdm-sunburst .rc { fill: none; stroke: #CFA752; }

/* ---------- Blumen (Code-Illustrationen) ---------- */
.bdm-deco { position: absolute; z-index: 0; pointer-events: none; width: var(--w, 160px); }
.bdm-deco > svg, .bdm-deco > img, .bdm-deco-in > svg, .bdm-deco > span > img { display: block; width: 100%; height: auto; overflow: visible; }
.bdm-deco img { filter: drop-shadow(0 10px 14px rgba(58, 35, 65, .16)); }
.bdm-sway { transform-origin: 50% 100%; animation: bdm-sway var(--sd, 7s) ease-in-out infinite alternate; animation-delay: var(--sdl, 0s); }
@keyframes bdm-sway { from { transform: rotate(calc(-1 * var(--sa, 3deg))); } to { transform: rotate(var(--sa, 3deg)); } }
.bdm-fl-head { transform-box: fill-box; transform-origin: center; animation: bdm-nod 5s ease-in-out infinite alternate; animation-delay: var(--hd, 0s); }
@keyframes bdm-nod { from { transform: rotate(-6deg); } to { transform: rotate(6deg); } }
.bdm-fl-spin { transform-box: fill-box; transform-origin: center; animation: bdm-spin 60s linear infinite; }
.bdm-js .bdm-deco[data-rv="bloom"] { transform-origin: 50% 100%; }

/* Fallende Blüten (Hero) */
.bdm-fall { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.bdm-fall i { position: absolute; top: 0; left: var(--x); width: var(--s); animation: bdm-fall var(--t) linear infinite; animation-delay: var(--dl); will-change: transform; }
.bdm-fall i b { display: block; animation: bdm-drift calc(var(--t) / 3) ease-in-out infinite alternate; }
.bdm-fall i svg { display: block; width: 100%; height: auto; }
.bdm-fall.is-paused i, .bdm-fall.is-paused i b { animation-play-state: paused; }
@keyframes bdm-fall { from { transform: translate3d(0, -60px, 0) rotate(0); } to { transform: translate3d(0, var(--fall, 900px), 0) rotate(var(--r, 320deg)); } }
@keyframes bdm-drift { from { transform: translateX(-26px) rotate(-18deg); } to { transform: translateX(26px) rotate(18deg); } }

/* ---------- Slider (Überblendung mit Ken-Burns) ---------- */
.bdm-fade { position: relative; height: 100%; }
.bdm-fade > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.12); transition: opacity 1.4s ease, transform 7s linear; }
.bdm-fade > img.is-on { opacity: 1; transform: scale(1.02); }
.bdm-fade > img:first-child { position: relative; }
.bdm-dots { display: flex; justify-content: center; gap: 10px; margin-top: 18px; }
.bdm-dots button { width: 28px; height: 28px; display: grid; place-items: center; }
.bdm-dots svg { width: 18px; height: 18px; transition: transform .5s var(--bdm-ease); }
.bdm-dots svg .p { fill: transparent; stroke: var(--bdm-violet-d); stroke-width: 1.2; transition: fill .4s; }
.bdm-dots svg .c { fill: var(--bdm-sun); }
.bdm-dots button[aria-current="true"] svg { transform: rotate(72deg) scale(1.25); }
.bdm-dots button[aria-current="true"] svg .p { fill: var(--bdm-violet); }

/* Laufband (Panorama-Filmstreifen), ziehbar */
.bdm-track { position: relative; overflow: hidden; cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.bdm-track.is-drag { cursor: grabbing; }
.bdm-track-in { display: flex; gap: clamp(14px, 2vw, 26px); width: max-content; will-change: transform; }
.bdm-track img { -webkit-user-drag: none; pointer-events: none; }

/* Snap-Karussell (Bewertungen u. a.) */
.bdm-car { display: grid; grid-auto-flow: column; grid-auto-columns: min(86%, 380px); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: clamp(18px, 4vw, 40px); padding: 26px clamp(18px, 4vw, 40px) 34px; scrollbar-width: none; overscroll-behavior-x: contain; }
.bdm-car::-webkit-scrollbar { display: none; }
.bdm-car > * { scroll-snap-align: start; }
.bdm-car-nav { display: flex; align-items: center; justify-content: center; gap: 18px; }
.bdm-arrow { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--bdm-paper); box-shadow: inset 0 0 0 1.5px var(--bdm-olive-d); color: var(--bdm-olive-d); transition: background .3s, color .3s, transform .3s; }
.bdm-arrow:hover { background: var(--bdm-olive-d); color: #FBF5E6; transform: scale(1.06); }
.bdm-arrow svg { width: 22px; height: 22px; }
.bdm-prog { width: min(220px, 40vw); height: 3px; border-radius: 3px; background: var(--bdm-line); overflow: hidden; }
.bdm-prog i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--bdm-olive), var(--bdm-violet)); transform-origin: left; transform: scaleX(var(--p, .2)); transition: transform .3s; }

/* ---------- Lightbox ---------- */
.bdm-lb { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; background: rgba(32, 18, 36, .92); opacity: 0; pointer-events: none; transition: opacity .35s; }
.bdm-lb.is-open { opacity: 1; pointer-events: auto; }
.bdm-lb figure { margin: 0; max-width: min(92vw, 1200px); text-align: center; }
.bdm-lb img { max-width: 100%; max-height: 80vh; width: auto; height: auto; margin: 0 auto; border-radius: 10px; box-shadow: 0 30px 60px rgba(0, 0, 0, .5); transition: opacity .3s, transform .3s; }
.bdm-lb figcaption { margin-top: 12px; color: #EADFEA; font-family: var(--bdm-f-b); font-size: 14px; letter-spacing: .04em; }
.bdm-lb button { position: absolute; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: #FBF5E6; background: rgba(255, 255, 255, .1); border: 0; cursor: pointer; transition: background .3s; }
.bdm-lb button:hover { background: rgba(255, 255, 255, .22); }
.bdm-lb button svg { width: 22px; height: 22px; }
.bdm-lb-x { top: 16px; right: 16px; }
.bdm-lb-p { left: 12px; top: 50%; margin-top: -26px; }
.bdm-lb-n { right: 12px; top: 50%; margin-top: -26px; }
.bdm-lb img { max-height: min(78vh, calc(100vh - 200px)); }
.bdm-lb-ctl { position: absolute; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; align-items: center; gap: 14px; padding: 6px 18px 6px 6px; border-radius: 999px; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(237, 211, 148, .3); }
.bdm-lb .bdm-lb-ctl button { position: relative; width: 46px; height: 46px; background: var(--bdm-violet-d); box-shadow: 0 0 0 2px rgba(237, 211, 148, .55); }
.bdm-lb .bdm-lb-ctl button:hover { background: var(--bdm-violet); }
.bdm-lb-pl .pa, .bdm-lb-pl.is-on .pl { display: none; }
.bdm-lb-pl.is-on .pa { display: block; }
.bdm-lb-bar { position: relative; width: clamp(120px, 22vw, 220px); height: 3px; border-radius: 3px; overflow: hidden; background: rgba(255, 255, 255, .2); }
.bdm-lb-bar i { position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--bdm-gold), var(--bdm-gold-l)); }
.bdm-lb.is-single .bdm-lb-ctl, .bdm-lb.is-single .bdm-lb-p, .bdm-lb.is-single .bdm-lb-n { display: none; }
@media (max-height: 520px) { .bdm-lb img { max-height: calc(100vh - 70px); } .bdm-lb-ctl { left: 14px; top: 14px; bottom: auto; transform: none; } .bdm-lb-bar { width: 90px; } }

/* ---------- Akkordeon (weich, Plus dreht bei Hover) ---------- */
.bdm-acc { display: grid; gap: 14px; }
.bdm-acc details { border-radius: var(--bdm-r-s); background: var(--bdm-paper); box-shadow: inset 0 0 0 1px var(--bdm-line); transition: box-shadow .3s; }
.bdm-acc details[open] { box-shadow: inset 0 0 0 1.5px var(--bdm-violet), var(--bdm-sh-s); }
.bdm-acc summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; cursor: pointer; font-family: var(--bdm-f-d); font-weight: 600; font-size: clamp(18px, .5vw + 15px, 21px); color: var(--bdm-plum); }
.bdm-acc summary::-webkit-details-marker { display: none; }
.bdm-plus { position: relative; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: var(--bdm-cream-2); transition: transform .5s var(--bdm-ease), background .3s; }
.bdm-plus::before, .bdm-plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; border-radius: 2px; background: var(--bdm-olive-d); transition: transform .4s var(--bdm-ease); }
.bdm-plus::after { transform: rotate(90deg); }
.bdm-acc summary:hover .bdm-plus { transform: rotate(180deg); background: var(--bdm-sage-l); }
.bdm-acc details[open] .bdm-plus { background: var(--bdm-violet); }
.bdm-acc details[open] .bdm-plus::after { transform: rotate(0deg); }
.bdm-acc details[open] .bdm-plus::before, .bdm-acc details[open] .bdm-plus::after { background: #fff; }
.bdm-acc-b { overflow: hidden; }
.bdm-acc-b > div { padding: 0 20px 20px; color: var(--bdm-text); }

/* ---------- Große animierte Icons (Medaillons) ---------- */
.bdm-ico { --s: clamp(84px, 7vw, 108px); position: relative; width: var(--s); height: var(--s); flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, #FFFDF6, var(--bdm-cream-2)); box-shadow: inset 0 0 0 2px rgba(194, 154, 75, .7), inset 0 0 0 7px var(--bdm-paper), inset 0 0 0 8px rgba(102, 112, 48, .35), var(--bdm-sh-s); }
.bdm-ico svg { width: 66%; height: 66%; overflow: visible; }
.bdm-ico .s { fill: none; stroke: #3B2B22; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.bdm-ico .fv { fill: var(--bdm-violet); }
.bdm-ico .fo { fill: var(--bdm-sage); }
.bdm-ico .fs { fill: var(--bdm-sun); }
.bdm-ico .fr { fill: var(--bdm-rose); }
.bdm-ico .fc { fill: #FBF5E6; }
.bdm-ico .fg { fill: var(--bdm-gold-l); }
.bdm-ico .off { transform: translate(2.5px, -2px); }
.bdm-ico .a-wig { transform-box: fill-box; transform-origin: center; animation: bdm-wig 2.6s ease-in-out infinite; }
.bdm-ico .a-bob { transform-box: fill-box; transform-origin: center; animation: bdm-bob 2.4s ease-in-out infinite; }
.bdm-ico .a-spin { transform-box: fill-box; transform-origin: center; animation: bdm-spin 12s linear infinite; }
.bdm-ico .a-steam { animation: bdm-steam 2.8s ease-in-out infinite; animation-delay: var(--k, 0s); }
.bdm-ico .a-lid { transform-box: fill-box; transform-origin: 85% 100%; animation: bdm-lid 4s ease-in-out infinite; }
.bdm-ico .a-flap { transform-box: fill-box; transform-origin: 50% 0; animation: bdm-flap 3.6s ease-in-out infinite; }
.bdm-ico .a-beat { transform-box: fill-box; transform-origin: center; animation: bdm-beat 1.6s ease-in-out infinite; }
.bdm-ico .a-slide { animation: bdm-slide 3.2s ease-in-out infinite; }
@keyframes bdm-wig { 0%, 60%, 100% { transform: rotate(0); } 66% { transform: rotate(-12deg); } 72% { transform: rotate(10deg); } 78% { transform: rotate(-8deg); } 84% { transform: rotate(5deg); } }
@keyframes bdm-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes bdm-steam { 0% { opacity: 0; transform: translateY(4px); } 30% { opacity: .9; } 100% { opacity: 0; transform: translateY(-12px); } }
@keyframes bdm-lid { 0%, 55%, 100% { transform: rotate(0); } 70%, 85% { transform: rotate(-24deg) translateY(-4px); } }
@keyframes bdm-flap { 0%, 50%, 100% { transform: scaleY(1); } 65%, 85% { transform: scaleY(-1); } }
@keyframes bdm-beat { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.14); } 30% { transform: scale(.98); } 45% { transform: scale(1.08); } }
@keyframes bdm-slide { 0%, 100% { transform: translateX(-3px); } 50% { transform: translateX(4px); } }
.bdm-ico-card:hover .bdm-ico { transform: translateY(-4px) rotate(-4deg); }
.bdm-ico { transition: transform .5s var(--bdm-ease); }

/* Info-Karten */
.bdm-cards { display: grid; gap: clamp(18px, 2.4vw, 28px); }
@media (min-width: 700px) { .bdm-cards--3 { grid-template-columns: repeat(3, 1fr); } .bdm-cards--2 { grid-template-columns: repeat(2, 1fr); } }
.bdm-card { position: relative; padding: clamp(24px, 3vw, 36px); border-radius: var(--bdm-r); background: var(--bdm-paper); box-shadow: inset 0 0 0 1px var(--bdm-line), var(--bdm-sh-s); transition: transform .5s var(--bdm-ease), box-shadow .5s; }
.bdm-card:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 1px rgba(181, 122, 180, .5), var(--bdm-sh); }
.bdm-card .bdm-ico { margin-bottom: 18px; }
.bdm-card .bdm-h3 { margin-bottom: 8px; }
.bdm-card p { color: var(--bdm-text); }

@media (prefers-reduced-motion: reduce) {
  .bdm-js [data-rv], .bdm-js [data-split] .bdm-wi { transition: none; opacity: 1; transform: none; }
  .bdm-sway, .bdm-fl-head, .bdm-fl-spin, .bdm-sunburst svg, .bdm-frame-in::after, .bdm-btn .bdm-daisy, .bdm-btn::after, .bdm-ico * { animation: none !important; } /* !important: Bewegung systemweit aus */
  .bdm-fall { display: none; }
}

/* Rahmen kippen mit der Maus (nur Desktop), Glanz folgt dem Zeiger */
.bdm-frame.bdm-tilt, html.bdm-js .bdm-frame.bdm-tilt[data-rv].is-in { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .6s var(--bdm-ease), opacity .9s var(--bdm-ease); }
.bdm-frame.bdm-tilt .bdm-frame-in::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 250, 230, .38), transparent 55%); transition: opacity .4s; }
.bdm-frame.bdm-tilt:hover .bdm-frame-in::before { opacity: 1; }

/* Wort-Laufband (Bonjour · Bon appétit …) */
.bdm-mq { position: relative; z-index: 2; overflow: hidden; padding-block: 16px; transform: rotate(-2deg); margin: 10px -20px; background: var(--bdm-plum); box-shadow: 0 14px 30px -18px rgba(58, 35, 65, .7), inset 0 2px 0 var(--bdm-gold), inset 0 -2px 0 var(--bdm-gold); }
.bdm-mq-in { display: flex; width: max-content; align-items: center; will-change: transform; }
.bdm-mq-in > span { display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; white-space: nowrap; font-family: var(--bdm-f-d); font-style: italic; font-weight: 500; font-size: clamp(24px, 2.4vw + 10px, 40px); line-height: 1.1; color: #FBF5E6; }
.bdm-mq-in > span:nth-child(3n+2) { color: var(--bdm-gold-l); }
.bdm-mq-in > span:nth-child(3n) { font-family: var(--bdm-f-s); font-style: normal; color: #E8C0E7; }
.bdm-mq-in svg { width: clamp(22px, 2vw, 30px); height: auto; flex: 0 0 auto; }
.bdm-mq--sage { background: var(--bdm-olive-d); transform: rotate(1.5deg); }

/* =========================================================
   Header (nur Burger) · Intro mit Logo · Menü als alte Buchseite
   ========================================================= */
.bdm-hd { position: fixed; top: 0; left: 0; right: 0; z-index: 9000; height: var(--bdm-hh); pointer-events: none; }
.admin-bar .bdm-hd { top: 32px; }
@media (max-width: 782px) { .admin-bar .bdm-hd { top: 46px; } }
@media (max-width: 600px) { .admin-bar .bdm-hd { top: 0; } }
.bdm-hd-bar { position: relative; height: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding-inline: clamp(12px, 3vw, 36px); pointer-events: auto; }
.bdm-hd-bar::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(251, 248, 238, .86); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); box-shadow: 0 12px 30px -22px rgba(58, 35, 65, .5); opacity: 0; transition: opacity .45s; }
.bdm-hd-bar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--bdm-gold) 20%, var(--bdm-gold-l) 50%, var(--bdm-gold) 80%, transparent); opacity: 0; transition: opacity .45s; }
.bdm-hd.is-solid .bdm-hd-bar::before, .bdm-hd.is-solid .bdm-hd-bar::after { opacity: 1; }

.bdm-hd-logo { grid-column: 2; display: block; height: calc(var(--bdm-hh) - 6px); }
.bdm-hd-logo img { height: 100%; width: auto; filter: drop-shadow(0 4px 8px rgba(58, 35, 65, .18)); transition: opacity .3s; }
.bdm-dock .bdm-hd-logo img { opacity: 0; }

.bdm-hd-res { grid-column: 1; justify-self: start; display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px 0 6px; border-radius: 999px; color: var(--bdm-plum); font-size: 14px; font-weight: 560; letter-spacing: .12em; text-transform: uppercase; background: rgba(251, 248, 238, .7); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .22); transition: background .3s, color .3s, box-shadow .3s; }
.bdm-hd-res i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--bdm-violet-d); color: #FBF5E6; }
.bdm-hd-res svg { width: 18px; height: 18px; }
.bdm-hd-res:hover { background: var(--bdm-olive-d); color: #FBF5E6; box-shadow: none; }
@media (max-width: 699px) { .bdm-hd-res { width: 52px; height: 52px; padding: 0; justify-content: center; } .bdm-hd-res span { display: none; } .bdm-hd-res i { width: 46px; height: 46px; } .bdm-hd-res svg { width: 23px; height: 23px; } }

/* Sprachwahl DE/EN: Pille neben dem Menü-Knopf, auf dem Handy nur die andere Sprache als runder Knopf */
.bdm-hd-r { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 10px; }
.bdm-lang { display: inline-flex; align-items: center; gap: 2px; height: 46px; padding: 4px; border-radius: 999px; background: rgba(251, 248, 238, .7); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .22); }
.bdm-lang a { --bde-links-color-hover: var(--bdm-violet-d); min-width: 38px; height: 38px; padding: 0 10px; border-radius: 999px; display: grid; place-items: center; font-family: var(--bdm-f-b); font-size: 13px; font-weight: 600; letter-spacing: .12em; color: var(--bdm-plum); text-decoration: none; transition: background .3s, color .3s, transform .3s var(--bdm-ease); }
.bdm-lang a:hover { background: rgba(122, 72, 128, .1); }
.bdm-lang a.is-on { --bde-links-color-hover: #FBF5E6; background: var(--bdm-violet-d); color: #FBF5E6; box-shadow: 0 4px 10px rgba(58, 35, 65, .22); }
.bdm-lang a .f { display: none; }
@media (max-width: 699px) { .bdm-hd-r { gap: 6px; } .bdm-hd-r .bdm-lang { height: auto; padding: 0; background: none; box-shadow: none; } .bdm-hd-r .bdm-lang a.is-on { display: none; } .bdm-hd-r .bdm-lang a { width: 40px; min-width: 0; height: 40px; padding: 0; font-size: 12px; background: rgba(251, 248, 238, .78); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .22); } }
.bdm-mm-lang { position: absolute; top: 18px; left: 18px; z-index: 5; height: 44px; background: rgba(255, 255, 255, .6); }
.bdm-mm-lang a { min-width: 36px; height: 36px; padding: 0 8px; font-size: 12px; }
.bdm-burger { justify-self: end; display: inline-flex; align-items: center; gap: 12px; height: 46px; padding: 0 6px 0 16px; border-radius: 999px; color: var(--bdm-plum); font-size: 14px; font-weight: 560; letter-spacing: .14em; text-transform: uppercase; background: rgba(251, 248, 238, .7); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .22); transition: background .3s, color .3s; }
.bdm-burger-i { position: relative; width: 36px; height: 36px; border-radius: 50%; background: var(--bdm-olive-d); }
.bdm-burger-i i { position: absolute; left: 10px; height: 2px; border-radius: 2px; background: #FBF5E6; transition: transform .45s var(--bdm-ease), width .45s var(--bdm-ease); }
.bdm-burger-i i:nth-child(1) { top: 12px; width: 16px; }
.bdm-burger-i i:nth-child(2) { top: 17px; width: 11px; }
.bdm-burger-i i:nth-child(3) { top: 22px; width: 14px; }
.bdm-burger:hover { background: var(--bdm-violet-d); color: #FBF5E6; }
.bdm-burger:hover .bdm-burger-i i { width: 16px; }
.bdm-burger:hover .bdm-burger-i i:nth-child(2) { transform: translateX(3px); }
@media (max-width: 699px) { .bdm-burger { padding: 0; width: 52px; height: 52px; justify-content: center; } .bdm-burger-t { display: none; } .bdm-burger-i { width: 46px; height: 46px; } .bdm-burger-i i { left: 12px; } .bdm-burger-i i:nth-child(1) { top: 15px; width: 22px; } .bdm-burger-i i:nth-child(2) { top: 22px; width: 15px; } .bdm-burger-i i:nth-child(3) { top: 29px; width: 19px; } }

/* ---------- Fliegendes Logo (Hero → Kopfzeile) ---------- */
.bdm-flogo { position: fixed; left: 0; top: 0; z-index: 9100; pointer-events: none; transform-origin: 0 0; will-change: transform; filter: drop-shadow(0 14px 22px rgba(58, 35, 65, .25)); }
.bdm-flogo.is-docked { pointer-events: auto; cursor: pointer; will-change: auto; filter: drop-shadow(0 4px 8px rgba(58, 35, 65, .18)); }
.bdm-flogo img { display: block; width: 100%; height: auto; }

/* ---------- Intro ---------- */
.bdm-intro { position: fixed; inset: 0; z-index: 9050; display: grid; place-items: center; overflow: hidden; cursor: pointer;
  background: radial-gradient(80% 70% at 50% 45%, #FFFDF5, var(--bdm-cream) 70%, #E9E2C6); transition: opacity .9s ease, transform 1.2s var(--bdm-ease); }
.bdm-intro.is-out { opacity: 0; transform: scale(1.06); pointer-events: none; }
.bdm-intro-wreath { position: absolute; left: 50%; top: 50%; width: min(118vw, 860px); aspect-ratio: 1.42; transform: translate(-50%, -50%); }
.bdm-intro-wreath > svg { width: 100%; height: 100%; overflow: visible; }
.bdm-intro-rays { position: absolute; left: 50%; top: 50%; width: min(150vw, 1100px); aspect-ratio: 1; transform: translate(-50%, -50%) scale(.6); opacity: 0; animation: bdm-raysin 1.8s .2s var(--bdm-ease) forwards; }
@keyframes bdm-raysin { to { opacity: .55; transform: translate(-50%, -50%) scale(1); } }
.bdm-intro-skip { position: absolute; bottom: max(26px, env(safe-area-inset-bottom)); left: 0; right: 0; text-align: center; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--bdm-muted); opacity: 0; animation: bdm-fadein .8s 1s forwards; }
@keyframes bdm-fadein { to { opacity: 1; } }

/* ---------- Menü: altes Papierblatt mit leicht angesengtem Rand, gleitet von rechts herein ---------- */
.bdm-mm { position: fixed; inset: 0; z-index: 9500; visibility: hidden; transition: visibility 0s .9s; }
.bdm-mm.is-open { visibility: visible; transition-delay: 0s; }
.bdm-mm-shade { position: absolute; inset: 0; background: rgba(42, 24, 48, .5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .75s var(--bdm-ease); }
.bdm-mm.is-open .bdm-mm-shade { opacity: 1; }
.bdm-mm-page { position: absolute; top: 0; right: 0; bottom: 0; width: min(560px, calc(100% - 12px)); perspective: 1600px; pointer-events: none; }
/* Hinein: abbremsend; hinaus: dieselbe Bahn rückwärts, beschleunigend (wirkt wie ein Blatt, das man weglegt) */
.bdm-mm-paper { position: absolute; inset: 0; overflow: hidden; pointer-events: auto; transform-origin: 100% 45%;
  transform: translateX(108%) rotate(3deg) rotateY(-16deg); transition: transform .85s cubic-bezier(.55, 0, .75, .25);
  background:
    radial-gradient(16px 11px at 17% 21%, rgba(150, 105, 50, .13), transparent 70%),
    radial-gradient(24px 17px at 76% 63%, rgba(150, 105, 50, .09), transparent 70%),
    radial-gradient(10px 10px at 63% 11%, rgba(150, 105, 50, .12), transparent 70%),
    radial-gradient(20px 13px at 29% 84%, rgba(150, 105, 50, .09), transparent 70%),
    radial-gradient(130% 90% at 60% 40%, #FFFCF1 0%, #F8F0DC 50%, #EADBB6 100%);
  box-shadow: -26px 0 50px -18px rgba(30, 14, 34, .55);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 1200%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M24 0L2.7 0Q0.9 5.8 9.8 11.5Q8.6 15.8 9.6 20.2Q8.8 22.9 2.1 25.5Q1.3 28.5 8.1 31.4Q9.2 34.6 6.5 37.7Q5.7 44.9 4.7 52.2Q4.7 59.5 12.0 66.9Q10.7 70.9 6.8 74.8Q6.2 78.9 2.9 82.9Q1.0 88.3 4.5 93.7Q3.5 99.0 6.4 104.2Q4.5 107.7 4.9 111.3Q5.9 115.3 5.1 119.4Q5.3 123.4 7.1 127.4Q5.8 131.1 5.7 134.8Q5.6 141.7 3.8 148.6Q5.5 156.0 8.9 163.4Q7.4 169.7 5.4 176.0Q6.7 178.7 7.6 181.4Q7.3 186.7 4.0 192.1Q4.0 198.1 6.1 204.0Q7.5 208.8 9.1 213.6Q8.6 218.5 2.0 223.3Q2.0 229.4 9.4 235.4Q10.2 242.0 4.6 248.6Q6.5 254.4 9.2 260.3Q8.6 263.6 6.4 266.9Q7.7 273.3 7.7 279.6Q8.6 284.1 2.1 288.5Q2.7 293.3 8.6 298.0Q8.2 304.6 3.7 311.2Q3.1 315.8 8.6 320.4Q6.8 327.7 2.9 335.0Q1.4 338.6 5.4 342.3Q3.7 347.7 1.5 353.2Q2.5 357.8 6.0 362.4Q5.1 369.6 5.6 376.9Q4.3 382.5 1.9 388.1Q0.3 395.1 8.5 402.1Q9.9 408.5 4.7 415.0Q6.2 418.0 2.0 421.1Q2.7 423.9 2.8 426.7Q1.9 430.9 6.0 435.1Q5.0 438.4 8.5 441.7Q7.7 444.3 6.4 446.9Q6.3 450.2 4.3 453.4Q2.9 457.7 11.9 462.0Q11.7 469.5 5.4 477.0Q4.4 479.9 8.4 482.8Q10.2 486.6 2.8 490.5Q4.7 493.1 5.7 495.7Q5.9 498.9 1.7 502.2Q0.7 507.3 8.4 512.5Q10.3 518.4 4.4 524.4Q3.7 527.7 5.8 531.1Q5.2 537.5 3.3 543.9Q1.3 550.4 8.3 557.0Q7.8 563.5 7.4 570.1Q7.3 573.7 4.3 577.3Q4.4 580.0 8.0 582.6Q6.8 586.4 9.2 590.2Q9.2 594.9 9.4 599.7Q7.4 606.9 3.3 614.2Q2.3 617.9 3.1 621.5Q1.5 627.1 8.2 632.7Q7.8 637.6 7.9 642.5Q6.1 645.4 8.8 648.4Q6.9 654.8 5.3 661.2Q4.5 664.6 4.2 668.0Q3.1 674.5 4.7 681.0Q5.0 685.5 7.3 690.0Q7.4 693.4 7.1 696.7Q8.1 703.7 2.7 710.8Q3.3 717.4 6.8 724.0Q7.6 728.3 2.5 732.5Q4.1 735.1 6.7 737.7Q6.3 742.8 5.0 747.9Q4.3 754.8 3.2 761.6Q5.1 765.4 3.4 769.2Q2.0 774.6 4.9 780.0Q5.7 783.2 4.3 786.3Q4.9 791.1 8.7 795.9Q6.9 800.5 5.5 805.1Q6.9 810.3 1.6 815.4Q3.2 820.1 1.5 824.8Q2.0 831.3 5.3 837.8Q6.2 844.0 4.1 850.1Q5.4 855.2 7.8 860.3Q6.3 863.3 3.5 866.3Q3.6 870.2 5.6 874.1Q5.6 879.4 8.8 884.7Q10.1 889.4 5.5 894.2Q6.8 899.2 5.1 904.3Q6.4 909.4 9.0 914.6Q9.4 920.6 9.0 926.6Q10.6 930.4 9.0 934.2Q9.8 940.9 6.9 947.6Q7.6 952.3 7.7 957.0Q6.6 959.9 7.8 962.8Q5.9 969.7 7.2 976.7Q5.8 982.5 12.2 988.3Q11.6 995.7 9.1 1003.0Q7.5 1007.5 9.4 1012.0Q10.8 1018.6 5.0 1025.3Q5.2 1030.4 3.1 1035.5Q3.6 1039.6 1.7 1043.6Q2.2 1048.9 1.6 1054.2Q2.4 1058.3 5.6 1062.5Q5.6 1065.3 7.8 1068.1Q5.8 1075.5 7.9 1082.9Q9.0 1085.6 3.7 1088.3Q4.7 1091.4 8.8 1094.6Q8.8 1101.1 2.7 1107.7Q2.8 1114.8 7.1 1121.9Q7.7 1124.9 10.8 1127.8Q9.1 1132.5 12.6 1137.1Q13.5 1142.8 2.2 1148.4Q1.2 1155.2 12.0 1162.0Q10.3 1166.8 5.9 1171.5Q5.0 1178.7 2.5 1185.8Q3.5 1190.9 2.4 1196.1Q1.2 1198.0 5.0 1200.0L24 1200Z%22 fill=%22%23fff%22/%3E%3C/svg%3E") 0 0 / 22px 100% no-repeat, linear-gradient(#000, #000) 21px 0 / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 1200%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M24 0L2.7 0Q0.9 5.8 9.8 11.5Q8.6 15.8 9.6 20.2Q8.8 22.9 2.1 25.5Q1.3 28.5 8.1 31.4Q9.2 34.6 6.5 37.7Q5.7 44.9 4.7 52.2Q4.7 59.5 12.0 66.9Q10.7 70.9 6.8 74.8Q6.2 78.9 2.9 82.9Q1.0 88.3 4.5 93.7Q3.5 99.0 6.4 104.2Q4.5 107.7 4.9 111.3Q5.9 115.3 5.1 119.4Q5.3 123.4 7.1 127.4Q5.8 131.1 5.7 134.8Q5.6 141.7 3.8 148.6Q5.5 156.0 8.9 163.4Q7.4 169.7 5.4 176.0Q6.7 178.7 7.6 181.4Q7.3 186.7 4.0 192.1Q4.0 198.1 6.1 204.0Q7.5 208.8 9.1 213.6Q8.6 218.5 2.0 223.3Q2.0 229.4 9.4 235.4Q10.2 242.0 4.6 248.6Q6.5 254.4 9.2 260.3Q8.6 263.6 6.4 266.9Q7.7 273.3 7.7 279.6Q8.6 284.1 2.1 288.5Q2.7 293.3 8.6 298.0Q8.2 304.6 3.7 311.2Q3.1 315.8 8.6 320.4Q6.8 327.7 2.9 335.0Q1.4 338.6 5.4 342.3Q3.7 347.7 1.5 353.2Q2.5 357.8 6.0 362.4Q5.1 369.6 5.6 376.9Q4.3 382.5 1.9 388.1Q0.3 395.1 8.5 402.1Q9.9 408.5 4.7 415.0Q6.2 418.0 2.0 421.1Q2.7 423.9 2.8 426.7Q1.9 430.9 6.0 435.1Q5.0 438.4 8.5 441.7Q7.7 444.3 6.4 446.9Q6.3 450.2 4.3 453.4Q2.9 457.7 11.9 462.0Q11.7 469.5 5.4 477.0Q4.4 479.9 8.4 482.8Q10.2 486.6 2.8 490.5Q4.7 493.1 5.7 495.7Q5.9 498.9 1.7 502.2Q0.7 507.3 8.4 512.5Q10.3 518.4 4.4 524.4Q3.7 527.7 5.8 531.1Q5.2 537.5 3.3 543.9Q1.3 550.4 8.3 557.0Q7.8 563.5 7.4 570.1Q7.3 573.7 4.3 577.3Q4.4 580.0 8.0 582.6Q6.8 586.4 9.2 590.2Q9.2 594.9 9.4 599.7Q7.4 606.9 3.3 614.2Q2.3 617.9 3.1 621.5Q1.5 627.1 8.2 632.7Q7.8 637.6 7.9 642.5Q6.1 645.4 8.8 648.4Q6.9 654.8 5.3 661.2Q4.5 664.6 4.2 668.0Q3.1 674.5 4.7 681.0Q5.0 685.5 7.3 690.0Q7.4 693.4 7.1 696.7Q8.1 703.7 2.7 710.8Q3.3 717.4 6.8 724.0Q7.6 728.3 2.5 732.5Q4.1 735.1 6.7 737.7Q6.3 742.8 5.0 747.9Q4.3 754.8 3.2 761.6Q5.1 765.4 3.4 769.2Q2.0 774.6 4.9 780.0Q5.7 783.2 4.3 786.3Q4.9 791.1 8.7 795.9Q6.9 800.5 5.5 805.1Q6.9 810.3 1.6 815.4Q3.2 820.1 1.5 824.8Q2.0 831.3 5.3 837.8Q6.2 844.0 4.1 850.1Q5.4 855.2 7.8 860.3Q6.3 863.3 3.5 866.3Q3.6 870.2 5.6 874.1Q5.6 879.4 8.8 884.7Q10.1 889.4 5.5 894.2Q6.8 899.2 5.1 904.3Q6.4 909.4 9.0 914.6Q9.4 920.6 9.0 926.6Q10.6 930.4 9.0 934.2Q9.8 940.9 6.9 947.6Q7.6 952.3 7.7 957.0Q6.6 959.9 7.8 962.8Q5.9 969.7 7.2 976.7Q5.8 982.5 12.2 988.3Q11.6 995.7 9.1 1003.0Q7.5 1007.5 9.4 1012.0Q10.8 1018.6 5.0 1025.3Q5.2 1030.4 3.1 1035.5Q3.6 1039.6 1.7 1043.6Q2.2 1048.9 1.6 1054.2Q2.4 1058.3 5.6 1062.5Q5.6 1065.3 7.8 1068.1Q5.8 1075.5 7.9 1082.9Q9.0 1085.6 3.7 1088.3Q4.7 1091.4 8.8 1094.6Q8.8 1101.1 2.7 1107.7Q2.8 1114.8 7.1 1121.9Q7.7 1124.9 10.8 1127.8Q9.1 1132.5 12.6 1137.1Q13.5 1142.8 2.2 1148.4Q1.2 1155.2 12.0 1162.0Q10.3 1166.8 5.9 1171.5Q5.0 1178.7 2.5 1185.8Q3.5 1190.9 2.4 1196.1Q1.2 1198.0 5.0 1200.0L24 1200Z%22 fill=%22%23fff%22/%3E%3C/svg%3E") 0 0 / 22px 100% no-repeat, linear-gradient(#000, #000) 21px 0 / 100% 100% no-repeat; }
.bdm-mm.is-open .bdm-mm-paper { transform: none; transition: transform .85s cubic-bezier(.22, .8, .25, 1); }
.bdm-mm-paper::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .07; background: url(https://marintest.de/wp-content/uploads/2026/10/flower-wallpaper.webp) center / 420px auto repeat; }
/* angesengte Kante + vergilbte Ränder oben und unten */
.bdm-mm-paper::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 4;
  background: linear-gradient(90deg, rgba(70, 36, 10, .7) 0, rgba(110, 62, 22, .42) 7px, rgba(160, 110, 55, .16) 22px, transparent 46px),
              linear-gradient(180deg, rgba(150, 100, 45, .2), transparent 60px, transparent calc(100% - 80px), rgba(150, 100, 45, .22)); }
.bdm-mm-scroll { --gh: clamp(64px, 12vh, 124px); position: relative; z-index: 2; height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 22px clamp(28px, 7vw, 52px) calc(var(--gh) + 22px) clamp(34px, 8vw, 58px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.bdm-mm-x { position: absolute; top: 14px; right: 14px; z-index: 5; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; color: var(--bdm-plum); background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .25); transition: transform .5s var(--bdm-ease), background .3s, color .3s; }
.bdm-mm-x:hover { transform: rotate(90deg); background: var(--bdm-violet-d); color: #FBF5E6; }
.bdm-mm-x svg { width: 22px; height: 22px; }
.bdm-mm-logo { display: block; width: clamp(118px, 32vw, 158px); margin-top: 4px; }
.bdm-mm-k { font-family: var(--bdm-f-s); font-size: 30px; line-height: 1.1; color: var(--bdm-violet-d); margin: 6px 0 0; }
.bdm-mm-nav { width: 100%; max-width: 420px; margin: 12px auto 0; padding: 0; list-style: none; text-align: left; }
.bdm-mm-nav li { border-bottom: 1px dashed rgba(58, 35, 65, .16); }
.bdm-mm-nav a { display: flex; align-items: center; gap: 10px; padding: 11px 2px; color: var(--bdm-plum); text-decoration: none; }
.bdm-mm-nav .t { font-family: var(--bdm-f-d); font-size: clamp(19px, .9vw + 15px, 23px); line-height: 1.2; font-weight: 520; letter-spacing: .005em; transition: transform .4s var(--bdm-ease), color .3s; }
.bdm-mm-nav .l { flex: 1; border-bottom: 1.5px dotted rgba(58, 35, 65, .24); transform: translateY(6px); transition: border-color .3s; }
.bdm-mm-nav svg { width: 20px; height: 20px; flex: 0 0 auto; transition: transform .6s var(--bdm-ease); }
.bdm-mm-nav a:hover .t, .bdm-mm-nav a[aria-current="page"] .t { transform: translateX(6px); color: var(--bdm-violet-d); }
.bdm-mm-nav a:hover .l { border-color: var(--bdm-violet); }
.bdm-mm-nav a:hover svg, .bdm-mm-nav a[aria-current="page"] svg { transform: rotate(180deg) scale(1.15); }
.bdm-mm-info { width: 100%; max-width: 420px; display: grid; gap: 14px; margin-top: 20px; font-size: 15px; line-height: 1.55; color: var(--bdm-text); text-align: left; }
@media (min-width: 480px) { .bdm-mm-info { grid-template-columns: 1fr 1fr; } }
.bdm-mm-info b { display: block; font-family: var(--bdm-f-d); font-size: 17px; color: var(--bdm-olive-d); margin-bottom: 4px; }
.bdm-mm-info a { color: var(--bdm-text); text-decoration: none; }
.bdm-mm-info a:hover { color: var(--bdm-violet-d); }
.bdm-mm-soc { display: flex; gap: 10px; margin-top: 16px; justify-content: center; }
.bdm-mm-soc a, .bdm-soc a { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .22); color: var(--bdm-plum); transition: background .3s, color .3s, transform .3s; }
.bdm-mm-soc a:hover, .bdm-soc a:hover { background: var(--bdm-violet-d); color: #FBF5E6; transform: translateY(-3px); }
.bdm-mm-soc svg, .bdm-soc svg { width: 22px; height: 22px; }
.bdm-mm .bdm-btn { margin-top: 30px; }
@media (max-height: 480px) and (min-width: 600px) { .bdm-mm-nav { columns: 2; column-gap: 30px; } .bdm-mm-nav li { break-inside: avoid; } .bdm-mm-k { display: none; } .bdm-mm-logo { width: 80px !important; } } /* !important: kleiner als die 700px-Regel */
@media (max-height: 700px) { .bdm-mm-logo { width: 100px; } .bdm-mm-k { font-size: 25px; } .bdm-mm-nav a { padding: 8px 2px; } .bdm-mm-nav .t { font-size: 18px; } }
/* Einträge erscheinen nacheinander, wenn das Blatt liegt; beim Schließen verschwinden sie zuerst */
.bdm-mm-scroll > *, .bdm-mm-nav li { opacity: 0; transform: translateX(16px); transition: opacity .25s, transform .3s var(--bdm-ease); }
.bdm-mm.is-open .bdm-mm-scroll > *, .bdm-mm.is-open .bdm-mm-nav li { opacity: 1; transform: none; transition: opacity .55s, transform .7s var(--bdm-ease); transition-delay: calc(.42s + var(--i, 0) * .05s); }
/* Blumen wachsen am unteren Blattrand */
.bdm-mm-garden { position: absolute; left: 0; right: 0; bottom: 0; height: clamp(64px, 12vh, 124px); z-index: 3; pointer-events: none; }
.bdm-mm-garden::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 28px; background: linear-gradient(180deg, transparent, rgba(102, 112, 48, .22)); }
.bdm-mm-garden i { position: absolute; bottom: -8px; height: var(--h, 80%); transform-origin: 50% 100%; transform: translateX(-50%) scale(.25, 0);
  transition: transform .45s cubic-bezier(.55, 0, .8, .2); }
.bdm-mm.is-open .bdm-mm-garden i { transform: translateX(-50%) scale(var(--fx, 1), 1); transition: transform 1.4s cubic-bezier(.18, 1.08, .32, 1) calc(.5s + var(--dl, 0s)); }
.bdm-mm-garden img { display: block; height: 100%; width: auto; max-width: none; transform-origin: 50% 100%; animation: bdm-sway var(--sd, 6s) ease-in-out infinite alternate; animation-delay: var(--sdl, 0s); filter: drop-shadow(0 4px 4px rgba(58, 35, 65, .14)); }
html.bdm-lock, html.bdm-lock body { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .bdm-mm-paper, .bdm-mm.is-open .bdm-mm-paper { transition: none; }
  .bdm-mm-scroll > *, .bdm-mm-nav li { transition: none; }
  .bdm-mm-garden i, .bdm-mm.is-open .bdm-mm-garden i { transition: none; }
}
.bdm-wr { transform-box: fill-box; transform-origin: center; transform: scale(0); animation: bdm-popin .7s cubic-bezier(.34, 1.56, .64, 1) forwards; }

/* Seitenwechsel: zwei gestreifte Vorhanghälften schließen sich und öffnen sich auf der neuen Seite wieder */
.bdm-curtain { position: fixed; inset: 0; z-index: 100001; pointer-events: none; }
.bdm-curtain i, html.bdm-cur-in::before, html.bdm-cur-in::after { position: absolute; top: 0; bottom: 0; width: 50.5%; background: linear-gradient(90deg, rgba(0, 0, 0, .14), transparent 16%, rgba(255, 255, 255, .06) 30%, transparent 46%, rgba(0, 0, 0, .1) 62%, transparent 78%, rgba(0, 0, 0, .16)), repeating-linear-gradient(90deg, #74407C 0 40px, #8A5291 40px 80px); transition: transform .42s cubic-bezier(.7, 0, .3, 1); }
.bdm-curtain i:first-child { left: 0; transform: translateX(-102%); }
.bdm-curtain i:nth-child(2) { right: 0; transform: translateX(102%); }
.bdm-curtain b { position: absolute; left: 50%; top: 50%; display: flex; flex-direction: column; align-items: center; gap: clamp(10px, 1.4vw, 16px); width: max-content; max-width: 92vw; opacity: 0; transform: translate(-50%, -50%) scale(.5); transition: opacity .22s .08s, transform .32s .08s cubic-bezier(.34, 1.56, .64, 1); }
.bdm-curtain b svg { width: clamp(96px, 9vw, 118px); height: clamp(96px, 9vw, 118px); filter: drop-shadow(0 6px 12px rgba(30, 12, 34, .35)); animation: bdm-spin 3s linear infinite; }
.bdm-curtain b span { font-family: var(--bdm-f-s); font-weight: 400; font-size: clamp(32px, 2.4vw + 20px, 50px); line-height: 1.15; color: #FFFDF6; text-shadow: 0 2px 14px rgba(30, 12, 34, .5); white-space: nowrap; }
.bdm-curtain.is-on { pointer-events: auto; }
.bdm-curtain.is-on i { transform: none; }
.bdm-curtain.is-on b { opacity: 1; transform: translate(-50%, -50%); }
.bdm-curtain:not(.is-on) b { transition: opacity .16s, transform .24s; }
.bdm-curtain.no-tr i, .bdm-curtain.no-tr b { transition: none; }
/* Vorhang schon beim ersten Bild der neuen Seite geschlossen, bis global.js ihn öffnet */
html.bdm-cur-in::before, html.bdm-cur-in::after { content: ""; position: fixed; z-index: 100002; transition: none; }
html.bdm-cur-in::before { left: 0; }
html.bdm-cur-in::after { right: 0; }

/* =========================================================
   Footer: Blumenwiese an der Kante · Kontakt · Live-Öffnungszeiten
   ========================================================= */
.bdm-ft { position: relative; isolation: isolate; margin-top: clamp(56px, 7vw, 96px); color: #EADFEA; font-size: 15px; line-height: 1.6;
  background: radial-gradient(90% 120% at 85% 0%, #563862, var(--bdm-plum) 55%, #2A1830); }
.bdm-ft::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .06; pointer-events: none; background: url(https://marintest.de/wp-content/uploads/2026/10/flower-wallpaper.webp) center / 480px auto repeat; filter: invert(1); }
/* Blumenwiese aus echten Pflanzen (botanische Tafeln, freigestellt), wächst aus der Oberkante des Footers */
.bdm-ft-meadow { position: absolute; left: 0; right: 0; bottom: calc(100% - 3px); height: clamp(120px, 13vw, 190px); pointer-events: none; overflow: hidden; z-index: 1; }
.bdm-ft-meadow i { position: absolute; bottom: 0; height: var(--h, 70%); transform-origin: 50% 100%; transform: translateX(-50%) scale(var(--fx, 1), 1); }
.bdm-ft-meadow i.b { filter: brightness(.9) saturate(.85); opacity: .92; }
.bdm-ft-meadow img { display: block; height: 100%; width: auto; max-width: none; transform-origin: 50% 100%; animation: bdm-sway var(--sd, 6s) ease-in-out infinite alternate; animation-delay: var(--sdl, 0s); filter: drop-shadow(0 6px 6px rgba(42, 24, 48, .18)); }
.bdm-js .bdm-ft-meadow i { transform: translateX(-50%) scale(.2, 0); transition: transform 1.6s cubic-bezier(.18, 1.05, .32, 1) var(--dl, 0s); }
.bdm-js .bdm-ft-meadow.is-in i { transform: translateX(-50%) scale(var(--fx, 1), 1); }
/* Erde/Gras-Kante: verdeckt die Stielenden, darüber beginnt der Footer */
.bdm-ft-ground { position: absolute; left: 0; right: 0; top: -12px; height: 14px; z-index: 2; pointer-events: none; background: radial-gradient(58% 100% at 50% 100%, #3E2647 96%, transparent 100%) 0 0 / 38px 14px repeat-x; }
@media (prefers-reduced-motion: reduce) { .bdm-js .bdm-ft-meadow i { transition: none; transform: translateX(-50%) scale(var(--fx, 1), 1); } .bdm-ft-meadow img { animation: none; } }
.bdm-ft-in { width: min(1240px, 100%); margin-inline: auto; padding: 64px clamp(18px, 4vw, 40px) 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.bdm-ft-in > * { min-width: 0; }
.bdm-ft a { overflow-wrap: anywhere; }
@media (min-width: 700px) { .bdm-ft-in { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .bdm-ft-in { grid-template-columns: 1.15fr .9fr 1fr 1fr; gap: 48px; } }
.bdm-ft h2 { margin: 0 0 14px; font-family: var(--bdm-f-d); font-weight: 560; font-size: 21px; color: #FBF5E6; letter-spacing: .01em; }
.bdm-ft h2::after { content: ""; display: block; width: 46px; height: 2px; margin-top: 10px; background: linear-gradient(90deg, var(--bdm-gold-l), transparent); }
.bdm-ft a { color: #EADFEA; text-decoration: none; transition: color .3s; }
.bdm-ft a:not(.bdm-btn):hover { color: var(--bdm-gold-l); }
.bdm-ft-brand > a { display: inline-block; perspective: 700px; }
.bdm-ft-brand img { width: 170px; height: auto; display: block; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .35)); transform-style: preserve-3d; animation: bdm-coin 11s cubic-bezier(.45, .05, .25, 1) 3s infinite; }
/* Logo dreht sich ab und zu wie eine Münze: zwei Umdrehungen, kurzes Nachwippen, dann Ruhe */
@keyframes bdm-coin { 0%, 78% { transform: rotateY(0); } 92% { transform: rotateY(720deg); } 95% { transform: rotateY(706deg); } 98% { transform: rotateY(722deg); } 100% { transform: rotateY(720deg); } }
.bdm-ft-brand > a:hover img { animation-duration: 3s; animation-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .bdm-ft-brand img { animation: none; } }
.bdm-ft-brand p { margin: 16px 0 0; max-width: 34ch; color: #D9CBD8; }
.bdm-ft .bdm-soc { display: flex; gap: 10px; margin-top: 18px; }
.bdm-ft .bdm-soc a { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1.5px rgba(237, 211, 148, .45); color: var(--bdm-gold-l); }
.bdm-ft .bdm-soc a:hover { background: var(--bdm-gold-l); color: var(--bdm-plum); }
.bdm-ft-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.bdm-ft-list li { display: flex; gap: 12px; align-items: flex-start; }
.bdm-ft-list svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 2px; color: var(--bdm-gold-l); }
.bdm-ft-hours { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.bdm-ft-hours li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 10px; border-radius: 8px; transition: background .3s; }
.bdm-ft-hours li span:last-child { color: #D9CBD8; white-space: nowrap; }
.bdm-ft-hours li.is-today { background: rgba(237, 211, 148, .14); color: #FBF5E6; box-shadow: inset 2px 0 0 var(--bdm-gold-l); }
.bdm-ft-hours li.is-today span:last-child { color: var(--bdm-gold-l); }
.bdm-ft-now { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 14px; color: #FBF5E6; }
.bdm-ft-note { margin: 10px 0 0; font-size: 13px; color: #BFAFBE; }
.bdm-ft-cta { position: relative; padding: 24px; border-radius: 18px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(237, 211, 148, .3); }
.bdm-ft-cta p { margin: 0 0 30px; color: #D9CBD8; }
/* Knopf bleibt einzeilig: schmale Laufweite, volle Kartenbreite */
.bdm-ft-cta .bdm-btn { --bg: var(--bdm-gold-l); --fg: var(--bdm-plum); --hv: #FBF5E6; color: var(--fg); width: 100%; justify-content: center; white-space: nowrap; padding-inline: 12px 16px; gap: 8px; font-size: 13.5px; letter-spacing: .06em; }
.bdm-ft-cta .bdm-btn .bdm-daisy { width: 19px; height: 19px; }
.bdm-ft-guru { display: inline-block; margin-top: 18px; }
.bdm-ft-guru img { width: 86px; height: auto; border-radius: 6px; transition: transform .4s var(--bdm-ease); }
.bdm-ft-guru:hover img { transform: rotate(-4deg) scale(1.05); }
.bdm-ft-bot { width: min(1240px, 100%); margin: 48px auto 0; padding: 22px clamp(18px, 4vw, 40px) max(26px, env(safe-area-inset-bottom)); display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 22px; border-top: 1px solid rgba(237, 211, 148, .18); font-size: 13.5px; color: #BFAFBE; text-align: center; }
.bdm-ft-bot nav { display: flex; gap: 8px; align-items: center; }
.bdm-ft-bot .heart { color: var(--bdm-rose); display: inline-block; animation: bdm-beat 1.6s ease-in-out infinite; }

/* =========================================================
   Seitenkopf der Unterseiten: hängendes Emailschild am Eisenarm
   ========================================================= */
.bdm-ph { padding-top: calc(var(--bdm-hh) + clamp(70px, 7vw, 104px)); padding-bottom: clamp(56px, 7vw, 96px); }
.bdm-ph::after { content: ""; position: absolute; inset: 0; z-index: -2; -webkit-mask: linear-gradient(#000 60%, transparent); mask: linear-gradient(#000 60%, transparent);
  background: radial-gradient(55% 60% at 0% 0%, rgba(181, 122, 180, .26), transparent 70%), radial-gradient(50% 55% at 100% 100%, rgba(158, 168, 108, .26), transparent 70%), linear-gradient(180deg, rgba(255, 252, 242, .7), rgba(255, 252, 242, 0) 85%); }
.bdm-ph-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; align-items: center; }
@media (min-width: 900px) { .bdm-ph-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 56px; } }
.bdm-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--bdm-muted); }
.bdm-crumbs a { color: var(--bdm-violet-d); }
.bdm-crumbs a:hover { text-decoration: underline; }
.bdm-ph .bdm-lead { margin-top: 20px; max-width: 58ch; }
.bdm-ph .bdm-h1 { font-size: clamp(32px, 3.4vw + 15px, 70px); }

/* Wandarm (SVG 360×70, Haken bei 26,67 % und 73,33 %, Ringunterkante bei 34/360 der Breite),
   zwei Ketten, die an den Haken drehen, und ein Schild, das waagrecht bleibt (Parallelogramm wie eine Schaukel) */
.bdm-signw { --L: 54px; position: relative; width: min(100%, 330px); margin-inline: auto; padding-top: 20px; container-type: inline-size; }
.bdm-signw-arm { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 6px 5px rgba(58, 35, 65, .22)); }
.bdm-signw-sw { position: static; }
.bdm-chain { position: absolute; z-index: 2; top: calc(20px + 7.9cqw); width: 12px; height: var(--L); margin-left: -6px; transform-origin: 50% 2px; transform: rotate(var(--sa, 0deg)); }
.bdm-chain:nth-of-type(1) { left: 26.67%; }
.bdm-chain:nth-of-type(2) { left: 73.33%; }
.bdm-chain svg { display: block; width: 12px; height: 100%; overflow: visible; filter: drop-shadow(1px 2px 1.5px rgba(30, 20, 15, .3)); }
.bdm-signb { position: relative; z-index: 1; width: 70%; margin: calc(var(--L) + 9px - 11.5cqw) 0 0 15%; padding: 14px; border-radius: 20px; background: var(--bdm-gold-grad); box-shadow: var(--bdm-sh), inset 0 0 0 1px rgba(255, 244, 210, .7);
  transform: translate(var(--sx, 0px), var(--sy, 0px)); }
/* Bekrönung in der Mitte, damit das Schild wie ein altes Emailschild wirkt */
.bdm-signb::before { content: ""; position: absolute; left: 27%; right: 27%; top: -24px; height: 48px; border-radius: 999px 999px 0 0; background: var(--bdm-gold-grad); box-shadow: inset 0 1px 0 rgba(255, 244, 210, .7); z-index: -1; }
/* Messing-Ösen, in den Rahmen geschraubt: genau unter den Haken (16,7 % und 83,3 % der Schildbreite) */
.bdm-eye { position: absolute; top: -13px; width: 13px; height: 13px; margin-left: -6.5px; border-radius: 50%; border: 2.6px solid #8A6629; background: none; box-shadow: inset 0 1px 0 rgba(255, 240, 200, .6), 0 1px 1px rgba(0, 0, 0, .25); z-index: 3; }
.bdm-eye::after { content: ""; position: absolute; left: 50%; top: 100%; width: 6px; height: 7px; margin-left: -3px; border-radius: 0 0 2px 2px; background: linear-gradient(90deg, #6E5020, #E3C47E, #6E5020); }
.bdm-eye:nth-of-type(1) { left: 16.7%; }
.bdm-eye:nth-of-type(2) { left: 83.3%; }
.bdm-signb-in { position: relative; display: grid; place-items: center; gap: 6px; min-height: 128px; padding: 30px 16px 22px; border-radius: 12px 12px 12px 12px; text-align: center; background: radial-gradient(120% 90% at 50% 10%, #FFFDF6, var(--bdm-cream-2)); box-shadow: inset 0 0 0 3px var(--bdm-olive), inset 0 0 0 7px #FFFDF6, inset 0 0 0 8px rgba(117, 64, 124, .5); }
.bdm-signb-in::before { content: ""; position: absolute; left: 30%; right: 30%; top: -16px; height: 34px; border-radius: 999px 999px 0 0; background: radial-gradient(120% 90% at 50% 30%, #FFFDF6, var(--bdm-cream-2)); box-shadow: inset 0 3px 0 -0px var(--bdm-olive); }
.bdm-signb-in b { max-width: 100%; font-family: var(--bdm-f-d); font-weight: 600; font-size: clamp(21px, .9vw + 14px, 28px); line-height: 1.1; color: var(--bdm-olive-d); overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.bdm-signb-in small { font-family: var(--bdm-f-s); font-size: 20px; line-height: 1.1; color: var(--bdm-violet-d); }
.bdm-signb-in svg { width: 40px; height: 40px; }
.bdm-signb .bdm-deco { z-index: 3; }
.bdm-signb-f2 { --w: 70px; right: -20px; bottom: -22px; }
@media (max-width: 899px) { .bdm-signw { --L: 44px; width: min(72%, 260px); } .bdm-signb-f2 { --w: 54px; } }
@media (max-width: 899px) and (orientation: landscape) { .bdm-signw { display: none; } }

/* Markise (französische Brasserie): gestreift, mit Bogenkante, bewegt sich leicht im Wind */
.bdm-awn { position: absolute; left: 0; right: 0; top: var(--bdm-hh); z-index: 3; height: 46px; pointer-events: none; transform-origin: 50% 0; animation: bdm-awn 6s ease-in-out infinite alternate; filter: drop-shadow(0 10px 10px rgba(58, 35, 65, .16)); }
.admin-bar .bdm-awn { top: calc(var(--bdm-hh) + 32px); }
.bdm-awn::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 30px; background: linear-gradient(180deg, rgba(0, 0, 0, .14), transparent 30%, rgba(255, 255, 255, .12) 60%, rgba(0, 0, 0, .08)), repeating-linear-gradient(90deg, #74407C 0 34px, #FBF5E6 34px 68px); box-shadow: inset 0 3px 0 rgba(58, 35, 65, .35); }
.bdm-awn::after { content: ""; position: absolute; left: 0; right: 0; top: 29px; height: 17px; background: radial-gradient(circle at 17px 0, #74407C 16.5px, transparent 17px) 0 0 / 68px 17px repeat-x, radial-gradient(circle at 51px 0, #FBF5E6 16.5px, transparent 17px) 0 0 / 68px 17px repeat-x; }
@keyframes bdm-awn { from { transform: scaleY(1) skewX(0); } to { transform: scaleY(1.07) skewX(-1.2deg); } }
@media (max-width: 699px) { .bdm-awn { height: 36px; } .bdm-awn::before { height: 22px; background-size: auto, 52px 100%; background: linear-gradient(180deg, rgba(0, 0, 0, .14), transparent 30%, rgba(255, 255, 255, .12) 60%, rgba(0, 0, 0, .08)), repeating-linear-gradient(90deg, #74407C 0 26px, #FBF5E6 26px 52px); } .bdm-awn::after { top: 21px; height: 13px; background: radial-gradient(circle at 13px 0, #74407C 12.5px, transparent 13px) 0 0 / 52px 13px repeat-x, radial-gradient(circle at 39px 0, #FBF5E6 12.5px, transparent 13px) 0 0 / 52px 13px repeat-x; } }
@media (prefers-reduced-motion: reduce) { .bdm-awn { animation: none; } }
@media (max-width: 379px) { .bdm-signw { display: none; } }

/* =========================================================
   Schnellkontakt: Route · Anrufen · E-Mail (immer sichtbar)
   Handy/Tablet: Leiste unten über die ganze Breite · Desktop: kleine Medaillons rechts, fallen beim Laden herein
   ========================================================= */
.bdm-qdock { position: fixed; z-index: 8800; font-family: var(--bdm-f-b); }
.bdm-qdock a { position: relative; display: flex; align-items: center; text-decoration: none; color: var(--bdm-plum); -webkit-tap-highlight-color: transparent; }
.bdm-qdock .q { position: relative; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #FFFDF6, #F1E9D2); box-shadow: inset 0 0 0 2px rgba(194, 154, 75, .85), inset 0 0 0 5px #FFFDF6, inset 0 0 0 6px rgba(102, 112, 48, .35), 0 8px 18px -10px rgba(58, 35, 65, .55); transition: transform .45s var(--bdm-ease), box-shadow .3s; }
.bdm-qdock svg { width: 58%; height: 58%; overflow: visible; }
.bdm-qdock .s { fill: none; stroke: #3B2B22; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bdm-qdock .fv { fill: var(--bdm-violet); } .bdm-qdock .fo { fill: var(--bdm-sage); } .bdm-qdock .fs { fill: var(--bdm-sun); } .bdm-qdock .fc { fill: #FBF5E6; } .bdm-qdock .fr { fill: var(--bdm-rose); }
.bdm-qdock .a-wig { transform-box: fill-box; transform-origin: center; animation: bdm-wig 3.2s ease-in-out infinite; }
.bdm-qdock .a-bob { transform-box: fill-box; transform-origin: center; animation: bdm-bob 2.6s ease-in-out infinite; }
.bdm-qdock .a-flap { transform-box: fill-box; transform-origin: 50% 0; animation: bdm-flap 4.2s ease-in-out infinite; }
.bdm-qdock a:hover .q, .bdm-qdock a:focus-visible .q { transform: translateY(-3px) rotate(-6deg); box-shadow: inset 0 0 0 2px var(--bdm-violet), inset 0 0 0 5px #FFFDF6, inset 0 0 0 6px rgba(116, 64, 124, .45), 0 12px 22px -10px rgba(58, 35, 65, .6); }
@media (max-width: 899px) {
  .bdm-qdock { left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
    background: rgba(251, 248, 238, .92); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); box-shadow: 0 -14px 30px -22px rgba(58, 35, 65, .6); transition: transform .5s var(--bdm-ease); }
  .bdm-qdock::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--bdm-gold) 18%, var(--bdm-gold-l) 50%, var(--bdm-gold) 82%, transparent); }
  .bdm-qdock a { flex-direction: column; justify-content: center; gap: 3px; min-height: 58px; border-radius: 14px; }
  .bdm-qdock a:active { background: rgba(181, 122, 180, .12); }
  .bdm-qdock .q { width: 38px; height: 38px; }
  .bdm-qdock .t { font-size: 11.5px; font-weight: 560; letter-spacing: .12em; text-transform: uppercase; }
  html:root body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  html.bdm-lock .bdm-qdock { transform: translateY(110%); }
  #moove_gdpr_save_popup_settings_button { bottom: calc(84px + env(safe-area-inset-bottom)) !important; } /* !important: Plugin setzt bottom inline */
}
@media (min-width: 900px) {
  .bdm-qdock { right: 16px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 12px; }
  .bdm-qdock .q { width: 52px; height: 52px; }
  .bdm-qdock .t { position: absolute; right: calc(100% + 12px); top: 50%; padding: 7px 14px; border-radius: 999px; white-space: nowrap; font-size: 13px; font-weight: 560; letter-spacing: .1em; text-transform: uppercase;
    background: var(--bdm-plum); color: #FBF5E6; box-shadow: var(--bdm-sh-s); opacity: 0; transform: translate(10px, -50%); pointer-events: none; transition: opacity .3s, transform .45s var(--bdm-ease); }
  .bdm-qdock a:hover .t, .bdm-qdock a:focus-visible .t { opacity: 1; transform: translate(0, -50%); }
  /* fallen beim Laden von oben herein, federn nach */
  .bdm-js .bdm-qdock a { animation: bdm-dockfall 1.25s cubic-bezier(.3, 1.35, .5, 1) both; animation-delay: calc(1.1s + var(--i, 0) * .16s); }
  html.bdm-lock .bdm-qdock { opacity: 0; pointer-events: none; }
}
@keyframes bdm-dockfall { 0% { transform: translateY(-70vh) rotate(-25deg); opacity: 0; } 35% { opacity: 1; } 100% { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .bdm-qdock *, .bdm-js .bdm-qdock a { animation: none !important; } } /* !important: Bewegung systemweit aus */
/* dieselben Medaillons im Handy-Menü */
.bdm-mm-qc { display: flex; justify-content: center; gap: 22px; margin-top: 18px; }
.bdm-mm-qc a { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--bdm-plum); text-decoration: none; font-size: 11.5px; font-weight: 560; letter-spacing: .12em; text-transform: uppercase; }
.bdm-mm-qc .q { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFFDF6, #F1E9D2); box-shadow: inset 0 0 0 2px rgba(194, 154, 75, .85), inset 0 0 0 5px #FFFDF6, inset 0 0 0 6px rgba(102, 112, 48, .35), 0 8px 18px -10px rgba(58, 35, 65, .55); transition: transform .45s var(--bdm-ease); }
.bdm-mm-qc a:hover .q { transform: translateY(-3px) rotate(-6deg); }
.bdm-mm-qc svg { width: 58%; height: 58%; overflow: visible; }
.bdm-mm-qc .s { fill: none; stroke: #3B2B22; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bdm-mm-qc .fv { fill: var(--bdm-violet); } .bdm-mm-qc .fo { fill: var(--bdm-sage); } .bdm-mm-qc .fs { fill: var(--bdm-sun); } .bdm-mm-qc .fc { fill: #FBF5E6; } .bdm-mm-qc .fr { fill: var(--bdm-rose); }

/* Messingkette der Wandbilder (global.js initHang zeichnet sie passend zur Rahmenform) */
.bdm-hang.has-wire::before, .bdm-hang.has-wire::after { display: none; }
.bdm-wire { position: absolute; z-index: 3; overflow: visible; pointer-events: none; }
.bdm-wire path { fill: none; stroke-linecap: round; }
.bdm-wire .sh path { stroke: rgba(40, 25, 20, .16); stroke-width: 3.4; }
.bdm-wire .ch path { stroke: #7A5A22; stroke-width: 3.2; stroke-dasharray: 3.6 2.2; }
.bdm-wire .hl path { stroke: #F4E0A8; stroke-width: 1.1; stroke-dasharray: 1.8 4; stroke-dashoffset: -.8; }
.bdm-wire .eye { fill: none; stroke: #8A6629; stroke-width: 2.4; }
.bdm-wire .nail { fill: #B88C3E; stroke: #5E4418; stroke-width: 1; }
.bdm-wire .nail-hl { fill: #F6E3AE; }
.bdm-wire .nail-sh { fill: rgba(40, 25, 20, .22); }

/* Handschrift (global.js initHand): Buchstaben erscheinen nacheinander, Feder folgt */
.bdm-hand { position: relative; }
.bdm-hand-js .h { opacity: 0; filter: blur(1.2px); transition: opacity .35s ease-out, filter .5s ease-out; }
.bdm-hand-js .h.on { opacity: 1; filter: none; }
.bdm-quill { position: absolute; left: 0; top: 0; width: 44px; height: 44px; margin: -40px 0 0 -6px; pointer-events: none; transition: left .09s linear, top .12s ease-out, opacity .8s; transform: rotate(-8deg); transform-origin: 10% 90%; filter: drop-shadow(0 4px 4px rgba(58, 35, 65, .25)); }
.bdm-quill svg { width: 100%; height: 100%; }
.bdm-hand.is-done .bdm-quill { opacity: 0; }

/* Pop-up aus dem Panel: entfaltet sich wie ein Brief, Blumen wachsen, schließt auf derselben Bahn rückwärts */
.bdm-pop { position: fixed; inset: 0; z-index: 99000; display: grid; place-items: center; padding: 18px; perspective: 1400px; }
.bdm-pop-shade { position: absolute; inset: 0; background: rgba(42, 24, 48, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .7s var(--bdm-ease); }
.bdm-pop-card { position: relative; width: min(100%, 460px); max-height: calc(100svh - 36px); overflow: auto; padding: 46px clamp(22px, 5vw, 38px) 130px; border-radius: 28px; text-align: center; color: var(--bdm-text);
  background: radial-gradient(120% 90% at 50% 0%, #FFFDF6, #F4ECD8); box-shadow: inset 0 0 0 2px var(--bdm-gold), inset 0 0 0 8px #FFFDF6, inset 0 0 0 9px rgba(117, 64, 124, .45), 0 40px 80px -24px rgba(0, 0, 0, .6);
  transform-origin: 50% 100%; transform: translateY(40px) rotateX(62deg) scale(.86); opacity: 0; transition: transform .85s cubic-bezier(.55, 0, .75, .25), opacity .5s .2s; }
.bdm-pop.is-open .bdm-pop-shade { opacity: 1; }
.bdm-pop.is-open .bdm-pop-card { transform: none; opacity: 1; transition: transform .95s cubic-bezier(.2, 1.15, .35, 1), opacity .45s; }
.bdm-pop-card.st-plum { color: #EADFEA; background: radial-gradient(120% 90% at 50% 0%, #563862, #3A2341); }
.bdm-pop-card.st-plum .bdm-pop-h { color: #FBF5E6; } .bdm-pop-card.st-plum .bdm-pop-k { color: var(--bdm-gold-l); }
.bdm-pop-card.st-paper { background: #FBF8EE; }
.bdm-pop-card.st-sun { background: radial-gradient(120% 90% at 50% 0%, #FFF8E2, #F6E3AE); }
.bdm-pop-x { position: absolute; top: 12px; right: 12px; z-index: 3; width: 44px; height: 44px; border-radius: 50%; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--bdm-plum); background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1.5px rgba(58, 35, 65, .2); transition: transform .5s var(--bdm-ease), background .3s, color .3s; }
.bdm-pop-x:hover { transform: rotate(90deg); background: var(--bdm-violet-d); color: #FBF5E6; }
.bdm-pop-k { margin: 0; font-family: var(--bdm-f-s); font-size: clamp(28px, 2vw + 18px, 36px); line-height: 1.1; color: var(--bdm-violet-d); }
.bdm-pop-h { margin: 6px 0 12px; font-family: var(--bdm-f-d); font-size: clamp(26px, 1.4vw + 18px, 34px); line-height: 1.15; font-weight: 600; color: var(--bdm-plum); }
.bdm-pop-t { font-size: 16.5px; line-height: 1.6; }
.bdm-pop-t p { margin: 0 0 .7em; }
.bdm-pop-t a { color: var(--bdm-violet-d); text-decoration: underline; }
.bdm-pop-b { margin-top: 12px; }
.bdm-pop-garden { position: absolute; left: 0; right: 0; bottom: 0; height: 110px; overflow: hidden; border-radius: 0 0 28px 28px; pointer-events: none; }
.bdm-pop-garden i { position: absolute; bottom: -6px; height: var(--h); transform-origin: 50% 100%; transform: translateX(-50%) scale(.2, 0); transition: transform .5s cubic-bezier(.55, 0, .8, .2); }
.bdm-pop.is-open .bdm-pop-garden i { transform: translateX(-50%) scale(var(--fx, 1), 1); transition: transform 1.4s cubic-bezier(.18, 1.08, .32, 1) calc(.45s + var(--dl, 0s)); }
.bdm-pop-garden img { display: block; height: 100%; width: auto; max-width: none; transform-origin: 50% 100%; animation: bdm-sway var(--sd, 6s) ease-in-out infinite alternate; animation-delay: var(--sdl, 0s); }
@media (prefers-reduced-motion: reduce) { .bdm-pop-card, .bdm-pop.is-open .bdm-pop-card, .bdm-pop-garden i { transition: none; } }
