/* ╔══ BRIAN Burger-Menü — gekapselt (bm-*), nutzt Host-:root-Variablen ══╗ */

/* Burger-Button (sitzt rechts neben „Gespräch buchen" in #topbar) */
.bm-burger{pointer-events:auto;width:40px;height:40px;margin-left:10px;flex-shrink:0;border:1px solid var(--line);background:rgba(255,255,255,.6);border-radius:11px;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:background .2s,border-color .2s}
.bm-burger:hover{background:#fff}
.bm-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:background .3s}
#topbar.inv .bm-burger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
#topbar.inv .bm-burger span{background:#fff}

/* Backdrop + Slide-out-Panel (an <body>, über allem außer Buchungs-Popup) */
.bm-backdrop{position:fixed;inset:0;z-index:9100;background:rgba(8,26,44,.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
body.bm-open .bm-backdrop{opacity:1;visibility:visible}
.bm-panel{position:fixed;top:0;right:0;height:100%;width:min(400px,88vw);z-index:9200;background:radial-gradient(140% 100% at 100% 0%,#14507a,#0a2c45);color:#fff;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;padding:24px 30px 30px;box-shadow:-30px 0 80px -40px rgba(8,26,44,.6);overflow-y:auto;will-change:transform}
body.bm-open .bm-panel{transform:none}
.bm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.bm-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:9px}
.bm-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.bm-x{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;font-size:15px;cursor:pointer;transition:background .2s}
.bm-x:hover{background:rgba(255,255,255,.14)}
.bm-nav{display:flex;flex-direction:column}
.bm-nav a{display:flex;align-items:center;gap:16px;padding:18px 4px;border-top:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:21px;font-weight:600;letter-spacing:-.02em;transition:padding .25s cubic-bezier(.16,1,.3,1)}
.bm-nav a:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.bm-nav a .bm-n{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:rgba(255,255,255,.45)}
.bm-nav a .bm-arr{margin-left:auto;font-family:var(--mono);color:rgba(255,255,255,.4);transition:transform .25s,color .2s}
.bm-nav a:hover{padding-left:12px}
.bm-nav a:hover .bm-arr{color:#ff5e78;transform:translateX(4px)}
.bm-nav a.active .bm-n{color:#ff5e78}
.bm-book{margin-top:30px;font-family:var(--sans);font-size:15px;font-weight:600;color:#fff;background:var(--red);border:none;border-radius:100px;padding:15px 26px;cursor:pointer;box-shadow:0 14px 34px -14px rgba(226,14,55,.6);transition:transform .2s}
.bm-book:hover{transform:translateY(-2px)}
.bm-foot{margin-top:auto;padding-top:30px;display:flex;flex-direction:column;gap:11px}
.bm-foot>a{color:rgba(255,255,255,.72);text-decoration:none;font-size:14px;width:max-content}
.bm-foot>a:hover{color:#fff}
.bm-legal{display:flex;gap:18px}
.bm-legal a{font-size:13px;color:rgba(255,255,255,.5);text-decoration:none}
.bm-legal a:hover{color:#fff}
.bm-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:4px}
@media(max-width:520px){.bm-panel{width:100vw;padding:20px 22px 26px}.bm-nav a{font-size:19px;padding:15px 4px}.bm-head{margin-bottom:22px}}
/* Topbar-CTA darf auf keinem Schirm zweizeilig werden */
#topbar .tb-cta{white-space:nowrap}
@media(max-width:400px){#topbar .tb-cta{font-size:12px;padding:8px 12px}.bm-burger{width:38px;height:38px;margin-left:8px}}
