/* Black Belt Academy: parts that come with the CMS (language switch, promotion block, form honeypot) */
.langs{display:flex;align-items:center;gap:2px;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--rule);flex:none}
.langs a{display:grid;place-items:center;min-width:30px;height:28px;padding:0 5px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--mute);transition:background .3s var(--ease),color .3s var(--ease)}
.langs a[aria-current]{background:var(--blue);color:#fff}
@media (hover:hover) and (pointer:fine){.langs a:not([aria-current]):hover{color:var(--ink);background:rgba(255,255,255,.1)}}
.hdr .langs{margin-left:auto}
.hdr .nav+.langs{margin-left:0}
.langs.m{align-self:flex-start;margin-top:20px}
.langs.m a{min-width:48px;height:40px;font-size:14px}
.mnav .langs{box-shadow:inset 0 0 0 1px var(--rule)}
/* phones/tablets: language switch, theme and menu button sit together on the right */
@media (max-width:1240px){.hdr .langs,.hdr .nav+.langs{margin-left:auto}.hdr .langs~.theme{margin-left:0}}
@media (max-width:640px){.hdr .langs{display:none}.hdr .langs~.theme{margin-left:auto}}
.sec:empty,[data-list="promo"]:empty{display:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* the bar is a little wider so the language switch fits beside the menu */
.hdr{width:min(1270px,calc(100% - 24px))}
@media (max-width:1320px) and (min-width:1241px){.nav>a,.dd>a{padding:0 7px}.nav>a::after,.dd>a::after{left:7px;right:7px}.hdr .wrap{gap:10px}}

/* promotion ("Aktion") */
.promo-sec{background:var(--bg)}
.promo{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(22px,4vw,64px);align-items:center;padding:clamp(24px,4vw,56px);background:var(--hdr);color:rgba(255,255,255,.9);
  --ink:#fff;--text:rgba(255,255,255,.9);--mute:rgba(255,255,255,.72);--rule:rgba(255,255,255,.2);--blue:#3b97ff;--blue-text:#9fcbff;--cta:#1560d4;--hair:rgba(255,255,255,.16);--shell-bg:rgba(255,255,255,.08)}
.promo.solo{grid-template-columns:1fr}
.promo h2{margin-top:clamp(16px,1.8vw,24px);font-size:clamp(30px,3.6vw,52px);letter-spacing:-.035em;line-height:1.02;max-width:16ch}
.promo-body{margin-top:14px;max-width:52ch;font-size:var(--fs-l);line-height:1.5}
.promo-body p+p{margin-top:10px}
.promo-fine{margin-top:12px;font-size:13px;color:var(--mute)}
.promo .actions{margin-top:clamp(20px,2.4vw,30px)}
.promo-img{position:relative;align-self:stretch;min-height:220px;border-radius:calc(var(--rad-l) - 6px);overflow:hidden;background:rgba(255,255,255,.06)}
.promo-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.promo-noimg{display:grid;place-items:center}
.promo-badge{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--blue);color:#fff;font-weight:800;font-size:var(--fs-l);letter-spacing:-.01em;box-shadow:0 14px 30px -14px rgba(0,20,60,.8)}
.promo-noimg .promo-badge{position:static;font-size:clamp(22px,2.6vw,34px);min-height:64px;padding:0 26px}
@media (max-width:900px){.promo{grid-template-columns:1fr}.promo-img{min-height:200px}}

/* the admin marks the preview */
.bba-preview body{outline:0}
