/*
Theme Name: LB Fitness
Theme URI: https://lb-fitness.ch
Author: LB Fitness Group AG
Description: Theme für LB Fitness Basel. Dunkles Design mit Neon-Akzent, Kurse und Trainer als eigene Inhaltstypen, News, Abos und Magicline-Anbindung (Live-Kursplan, Online-Abschluss, Probetraining).
Version: 1.1.1
Requires at least: 6.4
Requires PHP: 8.0
License: Proprietary
Text Domain: lb-fitness
*/

:root{--bg:#191919;--surface:#1F1F1F;--raised:#262626;--ink:#FFFFFF;--muted:#A6A6A6;--line:#333333;--accent:#6E86FF;--fill:#2D4BFF;--fill-ink:#FFFFFF;--glow:0 0 22px rgba(45,75,255,.55);--f-display:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;--f-body:"Roboto",Helvetica,Arial,sans-serif;color-scheme:dark}
*{-webkit-box-sizing:border-box;box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#191919;background:var(--bg);color:#FFFFFF;color:var(--ink);font-family:"Roboto",Helvetica,Arial,sans-serif;font-family:var(--f-body);font-size:17px;line-height:1.6;font-weight:400}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:3px solid #6E86FF;outline:3px solid var(--accent);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:100;background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink);padding:10px 14px}
.wrap{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px;padding-inline:20px}
h1,h2,h3,h4{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;font-weight:700;line-height:1;margin:0;text-wrap:balance}
h1{font-size:6.2rem;font-size:clamp(2.8rem,8vw,6.2rem)}
h2{font-size:3.2rem;font-size:clamp(2rem,4.6vw,3.2rem)}
h3{font-size:1.45rem;font-weight:600}
p{margin:0}
.hash{display:block;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:5.2rem;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.95;color:transparent;-webkit-text-stroke:1px #6E86FF;-webkit-text-stroke:1px var(--accent);letter-spacing:.01em;text-shadow:0 0 18px rgba(45,75,255,.45)}
.hash + h1,.hash + h2{margin-top:-.15em}
.label{display:block;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#6E86FF;color:var(--accent)}
.lead{font-size:1.1rem;max-width:62ch;color:#A6A6A6;color:var(--muted)}
.prose{display:grid;gap:1em}
.prose p,.prose li{max-width:65ch;color:#D6D6D6}
.prose h2,.prose h3{margin-top:.6em}
.prose a{color:#6E86FF;color:var(--accent)}
.prose img{margin-top:.5em;margin-bottom:.5em;margin-block:.5em}
.num{font-variant-numeric:tabular-nums}

/* Header */
.topbar{background:#111;color:#A6A6A6;color:var(--muted);font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.topbar .wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:18px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding-top:7px;padding-bottom:7px;padding-block:7px}
.topbar b{color:#6E86FF;color:var(--accent);font-weight:600}
.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(25,25,25,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #333333;border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0}}
.site-header .wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;padding-block:14px;position:relative}
.logo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-decoration:none;min-height:40px}
.logo img{height:44px;width:auto}
.main-nav{margin-left:auto}
.main-nav ul{list-style:none;margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:2px;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}
.main-nav a,.site-header .cta-sm{white-space:nowrap}
@media (max-width:1340px){.main-nav a{padding:8px 8px;font-size:.88rem}}
.main-nav a{display:block;text-decoration:none;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:500;text-transform:uppercase;font-size:.95rem;letter-spacing:.03em;padding:8px 12px;border-bottom:2px solid transparent}
.main-nav a:hover{color:#6E86FF;color:var(--accent)}
.main-nav .current-menu-item>a,.main-nav .current-menu-ancestor>a,.main-nav .current_page_item>a,.main-nav .current-page-ancestor>a{border-bottom-color:#6E86FF;border-bottom-color:var(--accent);color:#6E86FF;color:var(--accent)}
.main-nav .sub-menu{display:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #333333;border:1px solid var(--line);color:#FFFFFF;color:var(--ink);padding:8px 14px;font:500 .9rem "Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font:500 .9rem var(--f-display);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
@media (max-width:1180px){
  .menu-btn{display:block}
  .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#191919;background:var(--bg);border-bottom:1px solid #333333;border-bottom:1px solid var(--line);padding:10px 20px 16px;margin:0}
  .main-nav.open{display:block}
  .main-nav ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}
  .site-header .cta-sm{display:none}
}

/* Buttons */
.btn{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:10px;font:600 .95rem "Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font:600 .95rem var(--f-display);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:14px 24px;border:2px solid #FFFFFF;border:2px solid var(--ink);color:#FFFFFF;color:var(--ink);background:transparent;cursor:pointer;border-radius:0}
.btn:hover{border-color:#6E86FF;border-color:var(--accent);color:#6E86FF;color:var(--accent)}
.btn.primary{background:#2D4BFF;background:var(--fill);border-color:#2D4BFF;border-color:var(--fill);color:#FFFFFF;color:var(--fill-ink);-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow)}
.btn.primary:hover{background:#FFFFFF;background:var(--ink);border-color:#FFFFFF;border-color:var(--ink);color:#2D4BFF;color:var(--fill)}
.btn.sm{padding:9px 15px;font-size:.82rem}
.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:12px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}

.block{padding-top:80px;padding-bottom:80px;padding-block:80px}
.block + .block{border-top:1px solid #333333;border-top:1px solid var(--line)}
.block.top{padding-top:56px}
.sec-head{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-webkit-align-items:end;-ms-flex-align:end;align-items:end;gap:20px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:36px}
.intro{margin-top:18px;margin-bottom:32px;margin-block:18px 32px}

/* Hero */
.hero{padding-top:64px;padding-bottom:72px;padding-block:64px 72px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.hero h1 .hl{color:transparent;-webkit-text-stroke:2px #6E86FF;-webkit-text-stroke:2px var(--accent);text-shadow:0 0 26px rgba(45,75,255,.7)}
.hero .lead{margin-top:24px;margin-bottom:30px;margin-block:24px 30px}
.photo-ring{position:relative;max-width:100%;aspect-ratio:1;margin-left:auto;margin-right:auto;margin-inline:auto;width:100%}
.photo-ring .ph{position:absolute;top:1%;right:1%;bottom:1%;left:1%;inset:1%;border-radius:50%;overflow:hidden;background:-webkit-radial-gradient(40% 35%,circle,#16236b,#121212 70%);background:radial-gradient(circle at 40% 35%,#16236b,#121212 70%);-webkit-box-shadow:0 0 0 1px rgba(110,134,255,.35),0 0 60px rgba(45,75,255,.35);box-shadow:0 0 0 1px rgba(110,134,255,.35),0 0 60px rgba(45,75,255,.35)}
.photo-ring .ph::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;border-radius:50%;background:-webkit-radial-gradient(circle,rgba(10,10,14,0) 64%,rgba(10,10,14,.72) 76%,rgba(10,10,14,.9) 100%);background:radial-gradient(circle,rgba(10,10,14,0) 64%,rgba(10,10,14,.72) 76%,rgba(10,10,14,.9) 100%);pointer-events:none}
.photo-ring svg{z-index:1}
.photo-ring svg text{text-shadow:0 0 8px rgba(45,75,255,.8)}
.photo-ring .ph img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.photo-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;-webkit-animation:lbf-spin 36s linear infinite;animation:lbf-spin 36s linear infinite}
.photo-ring svg text{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:6.6px;letter-spacing:2.6px;fill:#6E86FF;fill:var(--accent);text-transform:uppercase}
@-webkit-keyframes lbf-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
@keyframes lbf-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.photo-ring svg{-webkit-animation:none;animation:none}html{scroll-behavior:auto}}
.next-class{margin-top:16px;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:#A6A6A6;color:var(--muted)}
.next-class a{color:#6E86FF;color:var(--accent);text-decoration:none}
@media (max-width:860px){.hero{grid-template-columns:1fr}.photo-ring{max-width:380px}}

.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #333333;border-block:1px solid var(--line)}
.facts div{padding:24px 18px;border-left:1px solid #333333;border-left:1px solid var(--line)}
.facts div:first-child{border-left:0}
.facts b{display:block;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:700;font-size:2.6rem;line-height:1;color:#6E86FF;color:var(--accent)}
.facts span{color:#A6A6A6;color:var(--muted);font-size:.92rem}
@media (max-width:720px){.facts{grid-template-columns:repeat(2,1fr)}.facts div:nth-child(3){border-left:0}.facts div:nth-child(n+3){border-top:1px solid #333333;border-top:1px solid var(--line)}}

/* Cards */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.course-card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-decoration:none;background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line);-webkit-transition:border-color .15s;transition:border-color .15s}
.course-card:hover{border-color:#6E86FF;border-color:var(--accent);-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow)}
.course-art{height:160px;position:relative;background:#111;overflow:hidden;border-bottom:3px solid var(--c)}
.course-art img{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.45}
.course-art .word{position:absolute;left:-4px;bottom:-16px;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:800;font-size:6.6rem;line-height:.8;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--c);white-space:nowrap}
.course-art .tag{position:absolute;top:14px;left:16px;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#ddd}
.course-art .int{position:absolute;top:16px;right:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:3px}
.course-art .int i,.bars i{width:7px;height:18px;background:#3a3a3a}
.course-art .int i.on{background:var(--c)}
.course-body{padding:20px;display:grid;gap:8px;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}
.course-body p{color:#A6A6A6;color:var(--muted);font-size:.95rem}
.course-body .when{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;margin-top:auto;padding-top:10px;font-variant-numeric:tabular-nums}

/* Kursplan */
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #333333;border:1px solid var(--line);background:#1F1F1F;background:var(--surface)}
.day{border-left:1px solid #333333;border-left:1px solid var(--line);min-height:220px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}
.day:first-child{border-left:0}
.day-h{padding:12px;border-bottom:1px solid #333333;border-bottom:1px solid var(--line);font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:8px}
.day-h small{font-weight:400;color:#A6A6A6;color:var(--muted);letter-spacing:.04em}
.day.today .day-h{background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink)}
.day.today .day-h small{color:#FFFFFF;color:var(--fill-ink)}
.day-body{padding:10px;display:grid;gap:8px;-webkit-align-content:start;-ms-flex-line-pack:start;align-content:start}
.slot{padding:10px 10px 10px 12px;background:#262626;background:var(--raised);display:grid;gap:3px;text-decoration:none;border-left:4px solid #6E86FF;border-left:4px solid var(--c,var(--accent))}
a.slot:hover{background:#2f2f2f}
.slot .t{font-size:.8rem;color:#A6A6A6;color:var(--muted);font-variant-numeric:tabular-nums}
.slot .n{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:700;font-size:1.15rem;text-transform:uppercase;line-height:1.05}
.slot .c{font-size:.78rem;color:#A6A6A6;color:var(--muted)}
.slot .free{font-size:.75rem;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:#6E86FF;color:var(--accent)}
.slot .free.full{color:#ff8a65}
.slot[hidden]{display:none}
.rest{color:#7a7a7a;font-size:.85rem;padding:6px 2px}
@media (max-width:960px){
  .week{grid-template-columns:1fr}
  .day{border-left:0;border-top:1px solid #333333;border-top:1px solid var(--line);min-height:0}
  .day:first-child{border-top:0}
  .day-body{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
.filters{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:20px}
.chip{font:500 .85rem "Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font:500 .85rem var(--f-display);text-transform:uppercase;letter-spacing:.05em;border:1px solid #333333;border:1px solid var(--line);background:transparent;color:#FFFFFF;color:var(--ink);padding:8px 14px;cursor:pointer}
.chip:hover{border-color:#6E86FF;border-color:var(--accent)}
.chip[aria-pressed="true"]{background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink);border-color:#2D4BFF;border-color:var(--fill)}
.source-note{margin-top:14px;font-size:.82rem;color:#A6A6A6;color:var(--muted)}

/* Detail-Seiten */
.detail-hero{background:#111;position:relative;overflow:hidden;border-bottom:1px solid #333333;border-bottom:1px solid var(--line)}
.detail-hero::after{content:"";position:absolute;top:auto;right:0;bottom:0;left:0;inset:auto 0 0 0;height:4px;background:#6E86FF;background:var(--c,var(--accent))}
.detail-hero .bgimg{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.25}
.detail-hero .wrap{padding-top:64px;padding-bottom:60px;padding-block:64px 60px;position:relative;z-index:1}
.detail-hero .ghost{position:absolute;right:-20px;bottom:-30px;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:800;font-size:16rem;font-size:clamp(7rem,20vw,16rem);line-height:.8;text-transform:uppercase;white-space:nowrap;pointer-events:none;color:transparent;-webkit-text-stroke:1px #2c2c2c}
.detail-hero .lead{color:#CFCFCF}
.crumb{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;color:#A6A6A6;color:var(--muted)}
.crumb a{text-decoration:none;color:#6E86FF;color:var(--accent)}
.two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;-webkit-box-align:start;-webkit-align-items:start;-ms-flex-align:start;align-items:start}
.two>div{display:grid;gap:48px;min-width:0}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.side{position:-webkit-sticky;position:sticky;top:100px;display:grid;gap:16px}
.box{background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line);padding:22px}
.box .label{margin-bottom:12px}
.spec{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:.95rem;margin:0}
.spec dt{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#A6A6A6;color:var(--muted);padding-top:2px}
.spec dd{margin:0;font-weight:500}
.spec a{color:#6E86FF;color:var(--accent)}
.bars{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;gap:3px;vertical-align:middle}
.bars i{height:14px;width:8px}
.bars i.on{background:#6E86FF;background:var(--accent)}
.flow{padding:0;margin:8px 0 0}
.flow li{list-style:none;display:grid;grid-template-columns:76px 1fr;gap:16px;padding:16px 0;border-top:1px solid #333333;border-top:1px solid var(--line)}
.flow li .m{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:700;color:#6E86FF;color:var(--accent);font-variant-numeric:tabular-nums}
.flow li b{display:block;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.flow li span{color:#A6A6A6;color:var(--muted);font-size:.95rem}
.check{display:grid;gap:10px;padding:0;margin:0}
.check li{list-style:none;padding-left:28px;position:relative}
.check li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:3px solid #6E86FF;border-left:3px solid var(--accent);border-bottom:3px solid #6E86FF;border-bottom:3px solid var(--accent);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
details.faq{border-top:1px solid #333333;border-top:1px solid var(--line);padding-top:16px;padding-bottom:16px;padding-block:16px}
details.faq summary{cursor:pointer;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em;list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:#6E86FF;color:var(--accent);font-size:1.3rem;line-height:1}
details.faq[open] summary::after{content:"–"}
details.faq p{color:#A6A6A6;color:var(--muted);margin-top:8px;max-width:65ch}
.dates{display:grid;gap:8px}
.date{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:10px;padding:10px 12px;background:#262626;background:var(--raised);font-size:.92rem}
.date .t{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;color:#6E86FF;color:var(--accent);font-variant-numeric:tabular-nums}

/* Trainer */
.trainer-card{text-decoration:none;display:grid;-webkit-align-content:start;-ms-flex-line-pack:start;align-content:start;background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line);-webkit-transition:border-color .15s;transition:border-color .15s}
.trainer-card:hover{border-color:#6E86FF;border-color:var(--accent);-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow)}
.portrait{aspect-ratio:4/5;max-width:100%;background:-webkit-radial-gradient(50% 35%,circle,#16236b,#121212 70%);background:radial-gradient(circle at 50% 35%,#16236b,#121212 70%);position:relative;overflow:hidden}
.portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.portrait .fb{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:grid;place-items:center;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:800;font-size:9rem;line-height:.8;color:transparent;-webkit-text-stroke:2px #6E86FF;-webkit-text-stroke:2px var(--accent)}
.trainer-card .tb{padding:20px;display:grid;gap:8px}
.trainer-card .role{color:#A6A6A6;color:var(--muted);font-size:.93rem}
.tags{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:6px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
.tags span{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:1px solid #444;padding:3px 9px}
.quote{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:700;font-size:2.6rem;font-size:clamp(1.8rem,4vw,2.6rem);text-transform:uppercase;line-height:1.05;border-left:6px solid #6E86FF;border-left:6px solid var(--accent);padding-left:20px;max-width:22ch;margin:0}

/* News */
.news-list{display:grid}
.news-item{display:grid;grid-template-columns:130px 1fr auto;gap:24px;-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline;padding:24px 0;border-top:1px solid #333333;border-top:1px solid var(--line);text-decoration:none}
.news-item:hover h3{color:#6E86FF;color:var(--accent)}
.news-item .d{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:500;color:#6E86FF;color:var(--accent);font-variant-numeric:tabular-nums}
.news-item p{color:#A6A6A6;color:var(--muted);margin-top:6px;max-width:65ch}
.news-item .cat{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#A6A6A6;color:var(--muted)}
@media (max-width:700px){.news-item{grid-template-columns:1fr;gap:6px}}
.article-img{margin-top:8px;margin-bottom:28px;margin-block:8px 28px;max-width:860px}
.article-img img{display:block;width:auto;max-width:100%;max-height:80vh;max-height:min(80vh,760px);border:1px solid #333333;border:1px solid var(--line)}
.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;margin-top:32px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
.pagination .page-numbers{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);padding:8px 14px;border:1px solid #333333;border:1px solid var(--line);text-decoration:none}
.pagination .current{background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink);border-color:#2D4BFF;border-color:var(--fill)}

/* Abos */
.toggle{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;border:2px solid #FFFFFF;border:2px solid var(--ink);margin-bottom:28px}
.toggle button{font:600 .9rem "Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font:600 .9rem var(--f-display);text-transform:uppercase;letter-spacing:.06em;padding:11px 20px;border:0;background:transparent;color:#FFFFFF;color:var(--ink);cursor:pointer}
.toggle button[aria-pressed="true"]{background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink)}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.prices[hidden]{display:none}
@media (max-width:860px){.prices{grid-template-columns:1fr}}
.price{background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line);padding:28px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:14px}
.price.best{border:2px solid #2D4BFF;border:2px solid var(--fill);-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow)}
.price .term{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:1.3rem;text-transform:uppercase;letter-spacing:.04em}
.price .amt{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:700;font-size:3.4rem;line-height:.9;color:#6E86FF;color:var(--accent);font-variant-numeric:tabular-nums}
.price .amt small{font-family:"Roboto",Helvetica,Arial,sans-serif;font-family:var(--f-body);font-size:.9rem;font-weight:400;color:#A6A6A6;color:var(--muted)}
.price .fee{font-size:.85rem;color:#A6A6A6;color:var(--muted)}
.price .btn{margin-top:auto;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}
.ribbon{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink);padding:4px 9px}

/* Foto-Band */
.band{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #333333;border-block:1px solid var(--line)}
.band .img{min-height:340px;background:-webkit-radial-gradient(30% 40%,circle,#14205f,#111 70%);background:radial-gradient(circle at 30% 40%,#14205f,#111 70%);position:relative;overflow:hidden}
.band .img img{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
.band .txt{padding:56px 64px;padding:56px clamp(20px,5vw,64px);display:grid;gap:18px;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center}
@media (max-width:820px){.band{grid-template-columns:1fr}.band .img{min-height:240px}}

/* Kontakt */
.contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
table.hours{width:100%;border-collapse:collapse;font-size:.95rem}
table.hours td{padding:9px 0;border-top:1px solid #333333;border-top:1px solid var(--line)}
table.hours td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.lead-form{display:grid;gap:12px}
.lead-form label{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;display:grid;gap:5px;color:#A6A6A6;color:var(--muted)}
.lead-form input,.lead-form select,.lead-form textarea{font:1rem "Roboto",Helvetica,Arial,sans-serif;font:1rem var(--f-body);padding:11px 12px;border:1px solid #444;background:#191919;background:var(--bg);color:#FFFFFF;color:var(--ink);width:100%;border-radius:0}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#6E86FF;border-color:var(--accent);outline:none}
.lead-form .hp{position:absolute;left:-9999px}
.notice{padding:12px 14px;background:#262626;background:var(--raised);font-size:.92rem;border-left:3px solid #6E86FF;border-left:3px solid var(--accent)}
.notice.err{border-left-color:#ff8a65}
.map-link{color:#6E86FF;color:var(--accent)}

/* CTA + Footer */
.cta-band{background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink);-webkit-box-shadow:0 0 60px rgba(45,75,255,.35);box-shadow:0 0 60px rgba(45,75,255,.35)}
.cta-band .wrap{padding-top:52px;padding-bottom:52px;padding-block:52px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:24px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
.cta-band .hash{-webkit-text-stroke:1px #FFFFFF;-webkit-text-stroke:1px var(--fill-ink);font-size:4.2rem;font-size:clamp(2.4rem,6vw,4.2rem)}
.cta-band .btn{border-color:#FFFFFF;border-color:var(--fill-ink);color:#FFFFFF;color:var(--fill-ink)}
.cta-band .btn:hover{background:#FFFFFF;background:var(--fill-ink);color:#2D4BFF;color:var(--fill)}
.site-footer{background:#111;font-size:.92rem;border-top:1px solid #333333;border-top:1px solid var(--line)}
.site-footer .wrap{padding-top:52px;padding-bottom:28px;padding-block:52px 28px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.site-footer h4{font-size:.85rem;font-weight:600;letter-spacing:.12em;margin:0 0 12px;color:#6E86FF;color:var(--accent)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer a{text-decoration:none;display:block;padding:3px 0;color:#D0D0D0}
.site-footer a:hover{color:#6E86FF;color:var(--accent)}
.site-footer .legal{grid-column:1/-1;border-top:1px solid #333333;border-top:1px solid var(--line);padding-top:18px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;font-size:.82rem;color:#A6A6A6;color:var(--muted)}
.site-footer .legal ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16px}
.site-footer .legal a{display:inline;color:#A6A6A6;color:var(--muted)}
@media (max-width:820px){.site-footer .wrap{grid-template-columns:1fr 1fr}}

/* Block-Editor-Inhalte */
.entry-content>*+*{margin-top:1em}
.entry-content .wp-block-button__link{background:#2D4BFF;background:var(--fill);color:#FFFFFF;color:var(--fill-ink);border-radius:0;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;font-weight:600;letter-spacing:.06em}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content td,.entry-content th{border:1px solid #333333;border:1px solid var(--line);padding:8px}

/* Fotogalerie */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;grid-auto-rows:clamp(140px,16vw,220px);grid-auto-flow:dense;gap:8px}
.g-item{position:relative;display:block;overflow:hidden;background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line)}
.g-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.g-item:nth-child(7n+5){grid-column:span 2}
.g-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-transition:-webkit-transform .4s ease,-webkit-filter .3s;transition:-webkit-transform .4s ease,-webkit-filter .3s;transition:transform .4s ease,filter .3s;transition:transform .4s ease,filter .3s,-webkit-transform .4s ease,-webkit-filter .3s}
.g-item::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;-webkit-box-shadow:inset 0 0 0 0 #2D4BFF;box-shadow:inset 0 0 0 0 #2D4BFF;-webkit-box-shadow:inset 0 0 0 0 var(--fill);box-shadow:inset 0 0 0 0 var(--fill);-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s, -webkit-box-shadow .2s}
.g-item:hover img,.g-item:focus-visible img{-webkit-transform:scale(1.04);transform:scale(1.04);-webkit-filter:brightness(1.1);filter:brightness(1.1)}
.g-item:hover::after,.g-item:focus-visible::after{-webkit-box-shadow:inset 0 0 0 3px #2D4BFF,inset 0 0 40px rgba(45,75,255,.45);box-shadow:inset 0 0 0 3px #2D4BFF,inset 0 0 40px rgba(45,75,255,.45);-webkit-box-shadow:inset 0 0 0 3px var(--fill),inset 0 0 40px rgba(45,75,255,.45);box-shadow:inset 0 0 0 3px var(--fill),inset 0 0 40px rgba(45,75,255,.45)}
@media (max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.g-item:nth-child(7n+5){grid-column:span 1}}
@media (prefers-reduced-motion:reduce){.g-item img{-webkit-transition:none;transition:none}}
.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,10,12,.96);color:#FFFFFF;color:var(--ink)}
.lightbox::-webkit-backdrop{background:rgba(10,10,12,.96)}
.lightbox::-ms-backdrop{background:rgba(10,10,12,.96)}
.lightbox::backdrop{background:rgba(10,10,12,.96)}
.lightbox figure{margin:0;height:100%;display:grid;grid-template-rows:1fr auto;place-items:center;padding:56px 64px 20px}
.lightbox img{max-width:100%;max-height:-webkit-calc(100vh - 140px);max-height:calc(100vh - 140px);-o-object-fit:contain;object-fit:contain;-webkit-box-shadow:0 0 60px rgba(45,75,255,.25);box-shadow:0 0 60px rgba(45,75,255,.25)}
.lightbox figcaption{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:#A6A6A6;color:var(--muted);padding-top:12px;text-align:center}
.lightbox button{position:absolute;background:rgba(25,25,25,.7);border:1px solid #333333;border:1px solid var(--line);color:#FFFFFF;color:var(--ink);width:48px;height:48px;font:600 1.4rem "Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font:600 1.4rem var(--f-display);cursor:pointer}
.lightbox button:hover{border-color:#6E86FF;border-color:var(--accent);color:#6E86FF;color:var(--accent)}
.lightbox .lb-close{top:12px;right:12px}
.lightbox .lb-prev{left:12px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
.lightbox .lb-next{right:12px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
.lightbox .lb-count{position:absolute;top:24px;left:20px;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.85rem;letter-spacing:.1em;color:#A6A6A6;color:var(--muted)}
@media (max-width:700px){.lightbox figure{padding:64px 8px 16px}.lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:12px;-webkit-transform:none;transform:none}}

/* Instagram */
.ig-link{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:8px;color:#6E86FF;color:var(--accent);text-decoration:none;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:500;letter-spacing:.04em}
.ig-link:hover{color:#FFFFFF;color:var(--ink)}
.ig-link svg{-webkit-box-flex:0;-webkit-flex:none;-ms-flex:none;flex:none}
.site-footer .ig-link{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-top:10px;color:#6E86FF;color:var(--accent)}
.topbar .ig-link{color:#A6A6A6;color:var(--muted)}
.topbar .ig-link:hover{color:#6E86FF;color:var(--accent)}
.topbar .ig-link{text-transform:none;letter-spacing:.02em}

/* Instagram-Feed */
.ig-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ig-tile{position:relative;display:block;aspect-ratio:1;max-width:100%;overflow:hidden;background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line)}
.ig-tile img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease, -webkit-transform .4s ease}
.ig-cap{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;padding:14px;font-size:.85rem;line-height:1.4;color:#fff;background:-webkit-gradient(linear,left bottom, left top,from(rgba(10,10,14,.92)),color-stop(60%, rgba(10,10,14,.15)),to(transparent));background:-webkit-linear-gradient(bottom,rgba(10,10,14,.92),rgba(10,10,14,.15) 60%,transparent);background:linear-gradient(to top,rgba(10,10,14,.92),rgba(10,10,14,.15) 60%,transparent);opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}
.ig-tile:hover .ig-cap,.ig-tile:focus-visible .ig-cap{opacity:1}
.ig-tile:hover img,.ig-tile:focus-visible img{-webkit-transform:scale(1.05);transform:scale(1.05)}
.ig-tile:hover,.ig-tile:focus-visible{-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow);border-color:#6E86FF;border-color:var(--accent)}
.ig-badge{position:absolute;top:8px;right:10px;color:#fff;font-size:1rem;text-shadow:0 1px 4px rgba(0,0,0,.6)}
@media (max-width:860px){.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (hover:none){.ig-cap{opacity:0}}

.price-switch{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:28px}
.price-switch .toggle{margin-bottom:0}
.toggle[hidden]{display:none}
.toggle-sm{border-width:1px;border-color:#333333;border-color:var(--line)}
.toggle-sm button{padding:9px 16px;font-size:.82rem}
.prices{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* LB Fitness App */
.app-section{overflow:hidden;background:-webkit-radial-gradient(80% 50%,ellipse,rgba(45,75,255,.22),transparent 60%);background:radial-gradient(ellipse at 80% 50%,rgba(45,75,255,.22),transparent 60%)}
.app-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
.app-list{margin-bottom:28px}
.app-btns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:12px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
.app-btn{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:10px;padding:10px 18px 10px 14px;border:1px solid #555;background:#0e0e10;color:#FFFFFF;color:var(--ink);text-decoration:none;min-width:170px;-webkit-transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,-webkit-box-shadow .15s;transition:border-color .15s,box-shadow .15s;transition:border-color .15s,box-shadow .15s,-webkit-box-shadow .15s}
.app-btn:hover{border-color:#6E86FF;border-color:var(--accent);-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow)}
.app-btn span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:1.15rem;line-height:1.05}
.app-btn small{font-family:"Roboto",Helvetica,Arial,sans-serif;font-family:var(--f-body);font-weight:400;font-size:.7rem;letter-spacing:.04em;color:#A6A6A6;color:var(--muted)}
.app-btns-sm{margin-top:14px;gap:8px}
.app-btns-sm .app-btn{min-width:0;padding:6px 12px 6px 10px}
.app-btns-sm .app-btn span{font-size:.9rem}
.phone{justify-self:center;width:300px;width:min(300px,80vw);aspect-ratio:9/18.5;max-width:100%;border-radius:42px;padding:12px;background:-webkit-linear-gradient(305deg,#2a2a2e,#0b0b0d);background:linear-gradient(145deg,#2a2a2e,#0b0b0d);-webkit-box-shadow:0 0 0 2px #3a3a40,0 30px 80px rgba(0,0,0,.6),0 0 90px rgba(45,75,255,.35);box-shadow:0 0 0 2px #3a3a40,0 30px 80px rgba(0,0,0,.6),0 0 90px rgba(45,75,255,.35);-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}
.phone-screen{height:100%;border-radius:32px;background:#121214;padding:22px 16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:9px;overflow:hidden;font-size:.82rem}
.ps-top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-bottom:6px;border-bottom:1px solid #26262a}
.ps-top img{height:30px;width:auto}
.ps-label{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#6E86FF;color:var(--accent);margin-top:6px}
.ps-card{padding:12px;border-radius:12px;background:#2D4BFF;background:var(--fill);color:#fff;display:grid;gap:2px}
.ps-card b{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;font-size:1rem}
.ps-card span{font-size:.72rem;opacity:.85}
.ps-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:9px 10px;border-radius:10px;background:#1d1d21}
.ps-row em{font-style:normal;color:#A6A6A6;color:var(--muted);font-variant-numeric:tabular-nums}
.ps-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ps-stats div{background:#1d1d21;border-radius:10px;padding:8px;text-align:center;display:grid}
.ps-stats b{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-size:1.1rem;color:#fff}
.ps-stats small{font-size:.62rem;color:#A6A6A6;color:var(--muted)}
.ps-btn{margin-top:auto;padding:11px;border-radius:12px;text-align:center;border:1px solid #6E86FF;border:1px solid var(--accent);color:#6E86FF;color:var(--accent);font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
@media (max-width:860px){.app-grid{grid-template-columns:1fr}.phone{-webkit-transform:none;transform:none;width:260px;width:min(260px,75vw)}}

/* Zertifizierung */
.care{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-top:18px;color:#A6A6A6;color:var(--muted);font-size:.82rem;line-height:1.35}
.care img{width:150px;height:auto;border:1px solid #333333;border:1px solid var(--line)}
.care .stars{color:#6E86FF;color:var(--accent);letter-spacing:2px}
a.care{text-decoration:none}
a.care:hover img{border-color:#6E86FF;border-color:var(--accent)}
a.care:hover span{color:#FFFFFF;color:var(--ink)}

/* Offizielle Auszeichnung (z. B. HYROX365 Training Club) */
.badge-official{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:18px;padding:6px 12px;border:1px solid #6E86FF;border:1px solid var(--accent);color:#FFFFFF;color:var(--ink);font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow);background:rgba(45,75,255,.12)}
.badge-official::before{content:"";width:8px;height:8px;background:#6E86FF;background:var(--accent);-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.card-badge{position:absolute;left:16px;bottom:14px;z-index:1;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;background:#2D4BFF;background:var(--fill);color:#fff}
a.badge-official{text-decoration:none}
a.badge-official:hover{background:rgba(45,75,255,.3)}
.hyrox-link{display:inline-block;margin-top:12px;font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#6E86FF;color:var(--accent);text-decoration:none}
.hyrox-link:hover{color:#FFFFFF;color:var(--ink)}
.trainer-links{display:grid;gap:10px}

/* Personal Coaching Hinweis */
.coach-note{border-left:3px solid #2D4BFF;border-left:3px solid var(--fill);background:rgba(45,75,255,.1);padding:12px 16px;border-radius:0 8px 8px 0;color:#E6E6E6;max-width:62ch;margin-bottom:24px}
.coach-note strong{color:#6E86FF;color:var(--accent)}
.coach-note.sm{font-size:.85rem;padding:8px 12px;margin-bottom:16px}
.card-badge.members{position:static;display:inline-block;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;width:-webkit-max-content;width:-moz-max-content;width:max-content;background:transparent;border:1px solid #6E86FF;border:1px solid var(--accent);color:#6E86FF;color:var(--accent);margin-bottom:10px}
.hero-sub{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:2.1rem;font-size:clamp(1.3rem,3vw,2.1rem);color:#6E86FF;color:var(--accent);line-height:1.1;margin-top:6px}
/* Echte App-Screenshots */
.app-shots{position:relative;justify-self:center;width:520px;width:min(520px,100%);aspect-ratio:520/560;margin:0}
.app-shots img{position:absolute;top:0;width:47%;height:auto;border-radius:22px;border:1px solid #2a2a30;background:#000;-webkit-box-shadow:0 26px 60px rgba(0,0,0,.6);box-shadow:0 26px 60px rgba(0,0,0,.6)}
.app-shots .s-main{left:26.5%;z-index:2;-webkit-box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 90px rgba(45,75,255,.4);box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 90px rgba(45,75,255,.4)}
.app-shots .s-left{left:0;top:7%;-webkit-transform:rotate(-6deg);transform:rotate(-6deg);opacity:.85}
.app-shots .s-right{right:0;top:7%;-webkit-transform:rotate(6deg);transform:rotate(6deg);opacity:.85}
.app-shots figcaption{position:absolute;left:0;right:0;bottom:-6px;text-align:center;font-size:.78rem;color:#A6A6A6;color:var(--muted)}
@media (max-width:860px){.app-shots{width:400px;width:min(400px,-webkit-calc(100% - 24px));width:min(400px,calc(100% - 24px))}.app-shots .s-left{-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}.app-shots .s-right{-webkit-transform:rotate(4deg);transform:rotate(4deg)}.app-section{overflow-x:hidden;overflow-x:clip}}
/* Über uns */
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.value{background:#1F1F1F;background:var(--surface);border:1px solid #333333;border:1px solid var(--line);padding:26px 22px;position:relative;overflow:hidden}
.value-no{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:800;font-size:2.4rem;line-height:1;color:transparent;-webkit-text-stroke:1px #6E86FF;-webkit-text-stroke:1px var(--accent);display:block;margin-bottom:14px}
.value h3{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;font-size:1.15rem;letter-spacing:.02em;margin-bottom:10px}
.value p{color:#D0D0D0;font-size:.95rem;margin:0}
.timeline{list-style:none;margin:0;padding:0;position:relative;max-width:860px}
.timeline:before{content:"";position:absolute;left:104px;top:8px;bottom:8px;width:2px;background:-webkit-gradient(linear,left top, left bottom,from(#2D4BFF),to(rgba(45,75,255,.15)));background:-webkit-linear-gradient(#2D4BFF,rgba(45,75,255,.15));background:linear-gradient(#2D4BFF,rgba(45,75,255,.15));background:-webkit-gradient(linear,left top, left bottom,from(var(--fill)),to(rgba(45,75,255,.15)));background:-webkit-linear-gradient(var(--fill),rgba(45,75,255,.15));background:linear-gradient(var(--fill),rgba(45,75,255,.15))}
.timeline li{display:grid;grid-template-columns:90px 1fr;gap:44px;padding:0 0 34px;position:relative}
.timeline li:before{content:"";position:absolute;left:98px;top:10px;width:14px;height:14px;border-radius:50%;background:#191919;background:var(--bg);border:2px solid #6E86FF;border:2px solid var(--accent);-webkit-box-shadow:0 0 22px rgba(45,75,255,.55);box-shadow:0 0 22px rgba(45,75,255,.55);-webkit-box-shadow:var(--glow);box-shadow:var(--glow)}
.tl-year{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);font-weight:800;font-size:1.6rem;color:#6E86FF;color:var(--accent);line-height:1.1;text-align:right}
.tl-body h3{font-family:"Kanit","Arial Narrow",Helvetica,Arial,sans-serif;font-family:var(--f-display);text-transform:uppercase;font-size:1.2rem;letter-spacing:.02em;margin-bottom:6px}
.tl-body p{color:#D0D0D0;margin:0;max-width:62ch}
@media (max-width:960px){.values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.values{grid-template-columns:1fr}.timeline:before{left:9px}.timeline li{grid-template-columns:1fr;gap:4px;padding-left:34px}.timeline li:before{left:3px;top:6px}.tl-year{text-align:left;font-size:1.3rem}}
/* Magicline-Snippet */
.ml-embed{background:#fff;color:#191919;border:1px solid #333333;border:1px solid var(--line);border-top:3px solid #2D4BFF;border-top:3px solid var(--fill);padding:20px;padding:clamp(8px,2vw,20px);min-height:220px;overflow-x:auto}
.ml-embed iframe{width:100%;border:0;min-height:640px;display:block}
/* Trainerfotos */
.portrait:has(img)::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;background:-webkit-gradient(linear,left top, left bottom,color-stop(62%, rgba(25,25,25,0)),to(rgba(25,25,25,.55)));background:-webkit-linear-gradient(top,rgba(25,25,25,0) 62%,rgba(25,25,25,.55));background:linear-gradient(180deg,rgba(25,25,25,0) 62%,rgba(25,25,25,.55));-webkit-box-shadow:inset 0 0 0 1px rgba(110,134,255,.22);box-shadow:inset 0 0 0 1px rgba(110,134,255,.22)}
.photo-credit{font-size:.72rem;color:#A6A6A6;color:var(--muted);margin:-8px 0 0;text-align:right;letter-spacing:.02em}

/* ==========================================================================
   Ältere Browser (z. B. Samsung-TV, ältere Smart-TVs und Tablets)
   Greifen nur, wenn ein kleines Script im <head> fehlende Funktionen erkennt (Klassen lb-nogap, lb-noar, lb-nogrid).
   ========================================================================== */
/* Flex-Abstände, wo "gap" für Flexbox fehlt (Chromium < 84) */
html.lb-nogap .topbar .wrap > *{margin-right:18px;margin-bottom:18px}
html.lb-nogap .site-header .wrap > *:not(:last-child){margin-right:20px}
html.lb-nogap .main-nav ul > *:not(:last-child){margin-right:2px}
html.lb-nogap .btn > *:not(:last-child){margin-right:10px}
html.lb-nogap .row > *{margin-right:12px;margin-bottom:12px}
html.lb-nogap .sec-head > *{margin-right:20px;margin-bottom:20px}
html.lb-nogap .course-art .int > *:not(:last-child){margin-right:3px}
html.lb-nogap .day-h > *:not(:last-child){margin-right:8px}
html.lb-nogap .filters > *{margin-right:8px;margin-bottom:8px}
html.lb-nogap .bars > *:not(:last-child){margin-right:3px}
html.lb-nogap details.faq summary > *:not(:last-child){margin-right:12px}
html.lb-nogap .date > *:not(:last-child){margin-right:10px}
html.lb-nogap .tags > *{margin-right:6px;margin-bottom:6px}
html.lb-nogap .pagination > *{margin-right:8px;margin-bottom:8px}
html.lb-nogap .price > *:not(:last-child){margin-bottom:14px}
html.lb-nogap .cta-band .wrap > *{margin-right:24px;margin-bottom:24px}
html.lb-nogap .site-footer .legal > *{margin-right:12px;margin-bottom:12px}
html.lb-nogap .site-footer .legal ul > *:not(:last-child){margin-right:16px}
html.lb-nogap .ig-link > *:not(:last-child){margin-right:8px}
html.lb-nogap .price-switch > *{margin-right:12px;margin-bottom:12px}
html.lb-nogap .app-btns > *{margin-right:12px;margin-bottom:12px}
html.lb-nogap .app-btn > *:not(:last-child){margin-right:10px}
html.lb-nogap .phone-screen > *:not(:last-child){margin-bottom:9px}
html.lb-nogap .care > *:not(:last-child){margin-right:12px}
html.lb-nogap .badge-official > *:not(:last-child){margin-right:8px}
/* Seitenverhältnisse, wo "aspect-ratio" fehlt (Chromium < 88) */
html.lb-noar .portrait{height:0;padding-bottom:125%}
html.lb-noar .portrait img{position:absolute;top:0;left:0;width:100%;height:100%}
html.lb-noar .ig-tile{height:0;padding-bottom:100%}
html.lb-noar .ig-tile img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}
html.lb-noar .photo-ring{height:0;padding-bottom:100%}
html.lb-noar .app-shots{width:520px;max-width:100%;height:0;padding-bottom:107.7%}
/* Layout, wo CSS-Grid fehlt (sehr alte TV-Browser, Chromium < 57) */
[hidden]{display:none!important}
html.lb-nogrid .hero,html.lb-nogrid .facts,html.lb-nogrid .grid,html.lb-nogrid .week,html.lb-nogrid .two,html.lb-nogrid .prices,html.lb-nogrid .band,html.lb-nogrid .contact,html.lb-nogrid .site-footer .wrap,html.lb-nogrid .gallery,html.lb-nogrid .ig-grid,html.lb-nogrid .app-grid,html.lb-nogrid .values,html.lb-nogrid .news-item,html.lb-nogrid .flow li,html.lb-nogrid .timeline li{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
html.lb-nogrid .hero>*,html.lb-nogrid .band>*,html.lb-nogrid .app-grid>*{width:50%}
html.lb-nogrid .two>*:first-child{width:62%;padding-right:32px}
html.lb-nogrid .two>*:last-child{width:38%}
html.lb-nogrid .facts>*,html.lb-nogrid .values>*,html.lb-nogrid .gallery>*,html.lb-nogrid .ig-grid>*,html.lb-nogrid .site-footer .wrap>*{width:25%;padding:0 6px 12px}
html.lb-nogrid .site-footer .wrap>.legal{width:100%}
html.lb-nogrid .grid>*,html.lb-nogrid .prices>*,html.lb-nogrid .contact>*{width:33.33%;padding:0 10px 20px}
html.lb-nogrid .week>*{width:14.28%}
html.lb-nogrid .news-item>*:nth-child(2){-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}
html.lb-nogrid .gallery .g-item{height:220px}

html.lb-nogrid .hero>*:first-child{width:54%;padding-right:40px}
html.lb-nogrid .hero>.photo-ring{width:46%;padding-bottom:46%;height:0}
@media (max-width:860px){html.lb-nogrid .hero>*:first-child{width:100%;padding-right:0}html.lb-nogrid .hero>.photo-ring{width:100%;max-width:380px;padding-bottom:380px}}
html.lb-nogap body,html.lb-nogrid body{overflow-x:hidden}
