/*
Theme Name: Boxclub Bösingen Modern
Theme URI: https://boxclub-boesingen.ch
Author: Grandesign
Description: Modernes Onepage WordPress Theme für den Boxclub Bösingen mit eleganten Animationen, Preisbereich, Trainerteam, Sponsoren und Kontakt.
Version: 3.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.4.21
Text Domain: boxclub-boesingen
*/

:root{
  --bg:#08090c;
  --bg-soft:#11131a;
  --card:#151824;
  --card-2:#1b1f2d;
  --text:#f6f3ea;
  --muted:#b9b3a8;
  --gold:#d7b46a;
  --gold-2:#f1d994;
  --red:#b91724;
  --line:rgba(255,255,255,.10);
  --shadow:0 24px 80px rgba(0,0,0,.35);
  --radius:28px;
  --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{position:fixed;z-index:50;top:18px;left:0;right:0}.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:rgba(8,9,12,.74);backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(0,0,0,.24)}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,var(--gold),#8d6827);color:#08090c;font-weight:950}.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.main-nav a{padding:9px 13px;border-radius:999px;color:var(--muted);font-size:14px;font-weight:700}.main-nav a:hover{background:rgba(255,255,255,.07);color:var(--text)}.nav-cta{padding:10px 16px;border-radius:999px;background:var(--gold);color:#08090c;font-weight:900}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:150px 0 90px;background:radial-gradient(circle at 75% 30%,rgba(185,23,36,.30),transparent 34%),radial-gradient(circle at 20% 10%,rgba(215,180,106,.18),transparent 30%),linear-gradient(145deg,#08090c 0%,#10131b 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 82%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.eyebrow{display:inline-flex;gap:10px;align-items:center;padding:8px 13px;border:1px solid rgba(215,180,106,.35);border-radius:999px;color:var(--gold-2);background:rgba(215,180,106,.08);font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.hero h1{font-size:clamp(44px,7vw,92px);line-height:.95;margin:22px 0 18px;letter-spacing:-.06em}.hero h1 span{color:var(--gold)}.lead{max-width:690px;color:var(--muted);font-size:clamp(18px,2vw,22px)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.25s transform,.25s background}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--gold);color:#08090c}.btn-secondary{background:rgba(255,255,255,.06);border-color:var(--line);color:var(--text)}.hero-card{position:relative;min-height:540px;border:1px solid var(--line);border-radius:42px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:var(--shadow);overflow:hidden}.boxing-figure{position:absolute;inset:34px;border-radius:34px;background:radial-gradient(circle at 50% 28%,rgba(215,180,106,.26),transparent 28%),linear-gradient(180deg,#191d2a,#0c0e13)}.boxing-figure:before{content:"BOXING";position:absolute;bottom:20px;left:-14px;font-size:86px;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.05);transform:rotate(-6deg)}.glove{position:absolute;width:120px;height:96px;background:linear-gradient(145deg,#d7192a,#7e0e18);border-radius:48% 52% 42% 58%;box-shadow:inset -18px -16px 0 rgba(0,0,0,.18),0 22px 60px rgba(185,23,36,.34);animation:float 4.8s ease-in-out infinite}.glove.one{top:95px;right:75px}.glove.two{left:75px;bottom:130px;animation-delay:-1.2s;transform:rotate(-18deg)}.stat-strip{position:absolute;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(8,9,12,.68);backdrop-filter:blur(12px)}.stat strong{display:block;color:var(--gold);font-size:28px;line-height:1}.stat span{font-size:13px;color:var(--muted)}section{padding:96px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{font-size:clamp(34px,4vw,58px);line-height:1;margin:0;letter-spacing:-.04em}.section-head p{max-width:560px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--card),rgba(21,24,36,.62));box-shadow:0 20px 60px rgba(0,0,0,.18);overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 0,rgba(215,180,106,.15),transparent 32%);opacity:.9;pointer-events:none}.card h3{position:relative;margin:0 0 12px;font-size:24px}.card p,.card li{position:relative;color:var(--muted)}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:18px}.time-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.time-row:last-child{border-bottom:0}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{padding:30px;border-radius:var(--radius);background:linear-gradient(180deg,#1b1f2d,#10131b);border:1px solid var(--line)}.price-card.featured{border-color:rgba(215,180,106,.55);box-shadow:0 0 0 1px rgba(215,180,106,.16),var(--shadow)}.price-list{margin:18px 0 0;padding:0;list-style:none}.price-list li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.price-list strong{color:var(--text)}.trainer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.trainer-card{padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card)}.avatar{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:linear-gradient(145deg,var(--gold),#6d4d17);color:#08090c;font-weight:950;font-size:28px;margin-bottom:18px}.sponsor-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.sponsor{display:grid;place-items:center;min-height:86px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04);color:var(--muted);font-weight:850;text-align:center}.contact-band{padding:38px;border-radius:36px;background:linear-gradient(135deg,var(--gold),#a78038);color:#08090c;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.contact-band h2{margin:0;font-size:clamp(30px,4vw,52px);line-height:1}.contact-band p{margin:10px 0 0;color:rgba(8,9,12,.75);font-weight:700}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:end}.contact-actions .btn{background:#08090c;color:var(--text)}.map-card{min-height:360px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#111}.map-card iframe{width:100%;height:360px;border:0;filter:grayscale(1) contrast(1.08) invert(.9)}.site-footer{padding:42px 0;color:var(--muted);border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes float{0%,100%{translate:0 0;rotate:-8deg}50%{translate:0 -18px;rotate:6deg}}@media(max-width:980px){.hero-grid,.schedule,.contact-band{grid-template-columns:1fr}.hero-card{min-height:460px}.cards,.price-grid,.trainer-grid{grid-template-columns:1fr 1fr}.sponsor-grid{grid-template-columns:repeat(2,1fr)}.main-nav{display:none}.contact-actions{justify-content:start}}@media(max-width:620px){.container{width:min(100% - 24px,var(--max))}.cards,.price-grid,.trainer-grid{grid-template-columns:1fr}.hero{padding-top:120px}.hero-card{min-height:390px}.stat-strip{grid-template-columns:1fr}.stat{padding:13px}.glove{width:88px;height:72px}.section-head{display:block}.nav-shell{border-radius:22px}.brand{font-size:14px}}

/* v1.1 – Logo, Trainer-Visitenkarten und Grandesign Credit */
.custom-logo-link,.custom-logo{display:block;width:100%;height:100%}.custom-logo{object-fit:cover;border-radius:50%}.brand-mark:has(.custom-logo-link){overflow:hidden;background:rgba(255,255,255,.06)}
.trainer-card{position:relative;min-height:314px;padding:0;overflow:hidden;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.trainer-card:hover{transform:translateY(-6px);border-color:rgba(215,180,106,.55);box-shadow:0 24px 70px rgba(0,0,0,.34)}.trainer-photo{position:relative;height:178px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(145deg,#252b3d,#0e1118);display:grid;place-items:center;overflow:hidden}.trainer-photo:after{content:"";position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(to top,rgba(8,9,12,.78),transparent)}.trainer-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05)}.trainer-photo span{display:grid;place-items:center;width:86px;height:86px;border-radius:26px;background:linear-gradient(145deg,var(--gold),#6d4d17);color:#08090c;font-weight:950;font-size:30px;z-index:1}.trainer-card-body{padding:22px 24px 24px}.trainer-role{display:inline-flex;margin-bottom:8px;color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.trainer-card h3{margin:0 0 8px}.trainer-card p{margin:0 0 16px;color:var(--muted)}.trainer-open{color:var(--gold-2);font-weight:900;font-size:14px}.modal-open{overflow:hidden}.trainer-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}.trainer-modal.is-open{display:flex}.trainer-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(12px)}.trainer-modal-card{position:relative;width:min(920px,100%);display:grid;grid-template-columns:.85fr 1.15fr;gap:0;border:1px solid rgba(255,255,255,.16);border-radius:34px;background:linear-gradient(145deg,#151824,#090a0e);box-shadow:0 40px 120px rgba(0,0,0,.55);overflow:hidden;animation:modalIn .28s ease}.trainer-modal-close{position:absolute;z-index:3;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(8,9,12,.8);color:var(--text);font-size:30px;line-height:1;cursor:pointer}.trainer-modal-media{min-height:460px;background:linear-gradient(145deg,#252b3d,#0e1118);display:grid;place-items:center}.trainer-modal-media img{width:100%;height:100%;object-fit:cover}.trainer-modal-media span{display:grid;place-items:center;width:132px;height:132px;border-radius:36px;background:linear-gradient(145deg,var(--gold),#6d4d17);color:#08090c;font-weight:950;font-size:46px}.trainer-modal-content{padding:64px 46px;align-self:center}.eyebrow.small{font-size:11px;padding:6px 10px}.trainer-modal-content h3{font-size:clamp(36px,5vw,58px);line-height:1;margin:18px 0 4px;letter-spacing:-.04em}.trainer-modal-content strong{display:block;color:var(--gold);font-size:18px;margin-bottom:18px}.trainer-modal-content p{color:var(--muted);font-size:18px;margin-bottom:28px}.footer-credit{margin-left:auto;color:var(--gold);font-weight:850}.footer-credit:hover{color:var(--gold-2)}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:980px){.trainer-modal-card{grid-template-columns:1fr}.trainer-modal-media{min-height:320px}.trainer-modal-content{padding:34px 26px}}@media(max-width:620px){.trainer-photo{height:210px}.footer-inner{display:grid}.footer-credit{margin-left:0}.trainer-modal{padding:12px}.trainer-modal-card{border-radius:24px}.trainer-modal-media{min-height:240px}.trainer-modal-content p{font-size:16px}}

/* v1.2 – Sponsoren-Logos, Handschuh-Hero und Kontaktformular */
.hero-gloves-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(18,21,32,.92),rgba(8,9,12,.94));}
.hero-gloves-card:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;opacity:.8;}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.28;pointer-events:none;}
.gold-glow{width:300px;height:300px;left:50%;top:18%;background:var(--gold);animation:pulseGlow 6s ease-in-out infinite;}
.red-glow{width:260px;height:260px;right:4%;top:5%;background:#c1121f;animation:pulseGlow 7s ease-in-out infinite reverse;}
.boxing-gloves-wrap{position:absolute;inset:0;display:grid;place-items:center;transform:translateY(-38px);}
.glove-css{position:absolute;width:178px;height:142px;background:linear-gradient(145deg,#f03262 0%,#c81236 55%,#7b0d23 100%);border-radius:52% 42% 45% 52%;box-shadow:inset -18px -22px 0 rgba(20,8,18,.28),inset 12px 12px 0 rgba(255,255,255,.14),0 28px 70px rgba(193,18,31,.35);}
.glove-css:before{content:"";position:absolute;left:22px;top:22px;width:92px;height:42px;border-top:5px solid rgba(255,255,255,.82);border-radius:50%;transform:rotate(-14deg);opacity:.9;}
.glove-css:after{content:"";position:absolute;right:18px;bottom:26px;width:70px;height:64px;border-radius:50%;border-left:4px solid rgba(29,10,34,.5);transform:rotate(30deg);}
.glove-thumb{position:absolute;width:72px;height:82px;background:linear-gradient(145deg,#ef2f62,#af102e);border-radius:55% 48% 58% 40%;bottom:-10px;left:-14px;box-shadow:inset -14px -12px 0 rgba(20,8,18,.2);}
.glove-cuff{position:absolute;width:86px;height:76px;background:linear-gradient(145deg,#e52958,#9c102c);border-radius:18px 18px 32px 32px;right:8px;bottom:-42px;transform:rotate(15deg);box-shadow:inset -12px -12px 0 rgba(20,8,18,.24);}
.glove-css-left{transform:translateX(-96px) rotate(12deg);animation:punchLeft 5.8s ease-in-out infinite;}
.glove-css-right{transform:translateX(96px) rotate(168deg) scaleY(-1);animation:punchRight 5.8s ease-in-out infinite;}
.impact-ring{position:absolute;width:76px;height:76px;border:2px solid rgba(215,180,106,.0);border-radius:50%;animation:impactRing 5.8s ease-in-out infinite;}
.sponsor{position:relative;min-height:108px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));transition:transform .25s ease,border-color .25s ease,background .25s ease;}
.sponsor:hover{transform:translateY(-4px);border-color:rgba(215,180,106,.5);background:rgba(255,255,255,.075);}
.sponsor img{max-width:82%;max-height:58px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(1.35) contrast(1.05);transition:filter .25s ease,transform .25s ease;}
.sponsor:hover img{filter:none;transform:scale(1.04);}
.sponsor span{font-weight:900;color:var(--muted);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;align-items:stretch;}
.contact-form{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--card),rgba(21,24,36,.62));box-shadow:0 20px 60px rgba(0,0,0,.18);}
.contact-form h3{font-size:30px;margin:0 0 8px;}
.contact-form p{margin:0 0 20px;color:var(--muted);}
.contact-form label{display:grid;gap:8px;color:var(--text);font-weight:850;font-size:14px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:rgba(8,9,12,.72);color:var(--text);padding:14px 15px;font:inherit;outline:none;}
.contact-form textarea{resize:vertical;margin-bottom:18px;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:rgba(215,180,106,.7);box-shadow:0 0 0 3px rgba(215,180,106,.12);}
.form-note{margin:0 0 16px;padding:13px 15px;border-radius:14px;font-weight:850;}
.form-note.success{background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.35);color:#bbf7d0;}
.form-note.error{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:#fecaca;}
.bcb-hp{position:absolute!important;left:-9999px!important;opacity:0!important;}
.contact-grid .map-card,.contact-grid .map-card iframe{height:100%;min-height:520px;}
@keyframes pulseGlow{0%,100%{transform:scale(1);opacity:.18}50%{transform:scale(1.18);opacity:.34}}
@keyframes punchLeft{0%,76%,100%{transform:translateX(-112px) rotate(12deg)}84%{transform:translateX(-50px) rotate(4deg)}88%{transform:translateX(-68px) rotate(10deg)}}
@keyframes punchRight{0%,76%,100%{transform:translateX(112px) rotate(168deg) scaleY(-1)}84%{transform:translateX(50px) rotate(176deg) scaleY(-1)}88%{transform:translateX(68px) rotate(170deg) scaleY(-1)}}
@keyframes impactRing{0%,80%,100%{opacity:0;transform:scale(.3)}84%{opacity:.85;border-color:rgba(215,180,106,.7);transform:scale(1.15)}90%{opacity:0;transform:scale(1.8)}}
@media(max-width:980px){.contact-grid{grid-template-columns:1fr}.contact-grid .map-card,.contact-grid .map-card iframe{min-height:360px}.glove-css{width:150px;height:120px}.glove-css-left{animation:none;transform:translateX(-78px) rotate(12deg)}.glove-css-right{animation:none;transform:translateX(78px) rotate(168deg) scaleY(-1)}}
@media(max-width:620px){.form-row{grid-template-columns:1fr}.sponsor-grid{grid-template-columns:1fr}.boxing-gloves-wrap{transform:translateY(-86px) scale(.78)}.hero-card{min-height:520px}}

/* v1.3 – Fix Customizer-Logo: verhindert übergrosses Logo im Header */
.site-header .brand{
  min-width:0;
  flex:0 1 auto;
}
.site-header .brand-mark{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  flex:0 0 42px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  position:relative;
}
.site-header .brand-mark .custom-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  line-height:0!important;
  overflow:hidden!important;
  border-radius:50%!important;
}
.site-header .brand-mark img,
.site-header .brand-mark .custom-logo{
  display:block!important;
  width:42px!important;
  height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:50%!important;
  background:#050609!important;
}
.site-header .brand > span:last-child{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:620px){
  .site-header .brand > span:last-child{max-width:130px;}
}


/* v1.4 – Header-/Logo-Fix: keine verschachtelten Links, kein goldener Kreis neben dem Logo, bessere Smartphone-Darstellung */
.site-header .nav-shell{
  isolation:isolate;
}
.site-header .brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.site-header .brand-mark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  flex:0 0 64px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.site-header .brand-mark .custom-logo,
.site-header .brand-mark img{
  display:block!important;
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:50%!important;
  background:transparent!important;
}
.site-header .brand-fallback{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(145deg,var(--gold),#8d6827);
  color:#08090c;
  font-weight:950;
}
.site-header .brand-name{
  display:block!important;
  max-width:230px!important;
  color:var(--text)!important;
  font-weight:900!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:980px){
  .site-header{top:10px!important;}
  .site-header .nav-shell{
    width:calc(100% - 24px)!important;
    padding:10px 12px!important;
    gap:10px!important;
    border-radius:24px!important;
  }
  .site-header .brand{
    gap:10px!important;
    flex:1 1 auto!important;
  }
  .site-header .brand-mark,
  .site-header .brand-mark .custom-logo,
  .site-header .brand-mark img{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
  }
  .site-header .brand-name{
    max-width:none!important;
    font-size:18px!important;
    line-height:1.2!important;
  }
  .site-header .nav-cta{
    flex:0 0 auto!important;
    padding:12px 20px!important;
    font-size:18px!important;
  }
  .hero{
    padding-top:135px!important;
  }
}
@media(max-width:620px){
  .site-header .nav-shell{
    width:calc(100% - 20px)!important;
    padding:9px 10px!important;
    gap:8px!important;
  }
  .site-header .brand-mark,
  .site-header .brand-mark .custom-logo,
  .site-header .brand-mark img{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    max-width:54px!important;
  }
  .site-header .brand-name{
    font-size:17px!important;
    max-width:142px!important;
  }
  .site-header .nav-cta{
    padding:10px 18px!important;
    font-size:17px!important;
    border-radius:999px!important;
  }
  .hero{
    padding-top:128px!important;
  }
  .hero h1{
    font-size:clamp(42px,13vw,58px)!important;
    letter-spacing:-.055em!important;
  }
  .lead{
    font-size:19px!important;
    line-height:1.75!important;
  }
  .actions{
    gap:12px!important;
  }
  .actions .btn{
    width:100%!important;
    min-height:58px!important;
    font-size:17px!important;
  }
}
@media(max-width:390px){
  .site-header .brand-name{
    max-width:118px!important;
    font-size:16px!important;
  }
  .site-header .nav-cta{
    padding:9px 15px!important;
    font-size:16px!important;
  }
}


/* v1.5 – hellere Karte, Sponsor-Logos in Originalfarben, Training/Preise via Customizer */
.map-card{
  background:#ffffff!important;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
}
.map-card iframe{
  filter:none!important;
  background:#ffffff!important;
}
.sponsor-grid{
  align-items:stretch;
}
.sponsor{
  min-height:112px;
  background:linear-gradient(180deg,#ffffff 0%,#f5f0e5 100%)!important;
  border:1px solid rgba(215,180,106,.28)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.sponsor:hover{
  background:linear-gradient(180deg,#ffffff 0%,#fff7e7 100%)!important;
  border-color:rgba(215,180,106,.58)!important;
}
.sponsor img{
  max-width:84%;
  max-height:64px;
  filter:none!important;
  mix-blend-mode:normal;
}
.sponsor:hover img{
  filter:none!important;
  transform:scale(1.04);
}
.sponsor span{
  color:#10131b!important;
}
.schedule .card p{
  margin:16px 0 0;
}
@media(max-width:980px){
  .sponsor-grid{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:620px){
  .sponsor-grid{grid-template-columns:1fr!important;}
  .sponsor{
    min-height:96px;
    padding:14px;
  }
  .map-card,
  .contact-grid .map-card,
  .contact-grid .map-card iframe{
    min-height:320px!important;
  }
}

body.modal-open{overflow:hidden;}


/* v1.6 – Typografie: sportlich, modern und sauber lesbar */
:root{
  --font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
}
body{
  font-family:var(--font-body)!important;
  letter-spacing:-.01em;
}
h1,h2,h3,
.brand-name,
.main-nav a,
.nav-cta,
.btn,
.eyebrow,
.price-list strong,
.time-row strong,
.trainer-open,
.sponsor span{
  font-family:var(--font-display)!important;
}
.hero h1,
.section-head h2,
.contact-band h2{
  font-weight:900!important;
  letter-spacing:-.035em!important;
}
.hero h1{
  font-size:clamp(54px,8.2vw,108px)!important;
  line-height:.86!important;
}
.section-head h2{
  font-size:clamp(42px,5vw,72px)!important;
}
.card h3,
.price-card h3,
.trainer-card h3,
.contact-form h3{
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.main-nav a,
.nav-cta,
.btn,
.eyebrow{
  letter-spacing:.045em!important;
}
.lead,
.section-head p,
.card p,
.contact-form p,
.time-row span,
.price-list span{
  font-weight:500;
}
@media(max-width:620px){
  .hero h1{
    font-size:clamp(48px,14vw,66px)!important;
    line-height:.9!important;
  }
  .section-head h2{
    font-size:clamp(40px,12vw,56px)!important;
  }
  .brand-name{
    letter-spacing:.01em!important;
  }
}


/* v1.7 – Feinschliff: Header, Buttons, Hero-Proportionen und Hero-Karte */
.site-header{
  top:16px!important;
}
.site-header .nav-shell{
  min-height:78px!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  background:rgba(8,9,12,.82)!important;
}
.site-header .brand{
  gap:10px!important;
}
.site-header .brand-mark,
.site-header .brand-mark .custom-logo,
.site-header .brand-mark img{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
}
.site-header .brand-name{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  line-height:1.1!important;
  text-transform:none!important;
  max-width:170px!important;
}
.main-nav{
  gap:14px!important;
}
.main-nav a{
  font-family:var(--font-body)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  padding:9px 8px!important;
}
.nav-cta,
.btn{
  font-family:var(--font-body)!important;
  letter-spacing:-.01em!important;
  font-weight:900!important;
}
.nav-cta{
  padding:12px 22px!important;
  min-width:82px!important;
  text-align:center!important;
}
.hero{
  padding-top:138px!important;
  padding-bottom:84px!important;
}
.hero-grid{
  gap:64px!important;
}
.hero h1{
  font-size:clamp(54px,7.4vw,96px)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  max-width:720px!important;
}
.lead{
  max-width:640px!important;
  line-height:1.68!important;
}
.actions{
  margin-top:32px!important;
}
.hero-card{
  min-height:520px!important;
  border-color:rgba(255,255,255,.14)!important;
}
.hero-gloves-card{
  background:
    radial-gradient(circle at 68% 46%,rgba(215,180,106,.26),transparent 30%),
    radial-gradient(circle at 52% 44%,rgba(193,18,31,.18),transparent 38%),
    linear-gradient(145deg,rgba(20,24,36,.96),rgba(8,9,12,.94))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 0 0 1px rgba(215,180,106,.04),
    0 28px 90px rgba(0,0,0,.38)!important;
}
.hero-gloves-card:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:42px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 28%,transparent 70%,rgba(215,180,106,.07));
}
.gold-glow{
  opacity:.36!important;
  filter:blur(92px)!important;
}
.red-glow{
  opacity:.34!important;
  filter:blur(86px)!important;
}
.boxing-gloves-wrap{
  transform:translateY(-48px) scale(1.04)!important;
}
.stat{
  background:rgba(12,14,20,.74)!important;
  border-color:rgba(255,255,255,.13)!important;
}
.stat strong{
  font-family:var(--font-body)!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
}
.stat span{
  color:#d0cabf!important;
}
@media(max-width:1180px){
  .main-nav{gap:8px!important;}
  .main-nav a{font-size:13px!important;padding:8px 6px!important;}
  .hero-grid{gap:42px!important;}
}
@media(max-width:980px){
  .site-header{
    top:10px!important;
  }
  .site-header .nav-shell{
    min-height:74px!important;
  }
  .site-header .brand-name{
    font-size:17px!important;
    max-width:none!important;
  }
  .site-header .brand-mark,
  .site-header .brand-mark .custom-logo,
  .site-header .brand-mark img{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    max-width:56px!important;
  }
  .hero{
    padding-top:126px!important;
  }
  .hero h1{
    max-width:100%!important;
  }
  .hero-card{
    min-height:460px!important;
  }
}
@media(max-width:620px){
  .site-header .nav-shell{
    min-height:70px!important;
    padding:8px 10px!important;
  }
  .site-header .brand{
    gap:8px!important;
  }
  .site-header .brand-mark,
  .site-header .brand-mark .custom-logo,
  .site-header .brand-mark img{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
  }
  .site-header .brand-name{
    font-size:16px!important;
    max-width:128px!important;
    line-height:1.12!important;
  }
  .site-header .nav-cta{
    padding:10px 17px!important;
    font-size:16px!important;
  }
  .hero{
    padding-top:116px!important;
    padding-bottom:62px!important;
    min-height:auto!important;
  }
  .hero h1{
    font-size:clamp(46px,13.2vw,62px)!important;
    line-height:.94!important;
    letter-spacing:-.04em!important;
  }
  .lead{
    font-size:18px!important;
    line-height:1.62!important;
  }
  .actions .btn{
    min-height:56px!important;
  }
  .hero-card{
    min-height:430px!important;
    border-radius:30px!important;
  }
  .hero-gloves-card:after{
    border-radius:30px!important;
  }
  .boxing-gloves-wrap{
    transform:translateY(-74px) scale(.72)!important;
  }
  .stat-strip{
    left:16px!important;
    right:16px!important;
    bottom:16px!important;
    gap:10px!important;
  }
  .stat strong{
    font-size:24px!important;
  }
}
@media(max-width:390px){
  .site-header .brand-name{
    max-width:108px!important;
    font-size:15px!important;
  }
  .site-header .nav-cta{
    padding:9px 14px!important;
    min-width:auto!important;
  }
}


/* v1.8 – mehr Luft im Hero-Text */
.hero h1{
  max-width:760px!important;
  line-height:1.02!important;
  letter-spacing:-.038em!important;
  margin:24px 0 26px!important;
}
.hero h1 span{
  display:inline-block;
  margin-right:.06em;
}
.lead{
  max-width:700px!important;
  line-height:1.78!important;
  margin-top:0!important;
}
@media(max-width:980px){
  .hero h1{
    line-height:1.00!important;
    margin:22px 0 22px!important;
  }
}
@media(max-width:620px){
  .hero h1{
    line-height:1.04!important;
    letter-spacing:-.03em!important;
    margin:18px 0 20px!important;
  }
  .lead{
    line-height:1.72!important;
  }
}


/* v1.9 – mobiler Textabstand optimiert */
.hero .lead{
  margin:0 0 10px!important;
}
@media(max-width:620px){
  .hero h1{
    max-width:10.8ch!important;
    margin:16px 0 24px!important;
  }
  .hero .lead{
    max-width:15.2em!important;
    font-size:17px!important;
    line-height:1.78!important;
    letter-spacing:-.012em!important;
    margin:0 0 28px!important;
  }
  .actions{
    margin-top:0!important;
    gap:14px!important;
  }
}
@media(max-width:390px){
  .hero .lead{
    max-width:14.4em!important;
    font-size:16.5px!important;
    line-height:1.76!important;
  }
}


/* v2.0 – Customizer-Typografie für Desktop, Tablet und Smartphone */
.hero h1{
  text-wrap:balance;
}
.lead{
  text-wrap:pretty;
}


/* v2.1 – unterstützt zusätzlich eigene in WordPress geladene Schriftarten */


/* v2.2 – Schriftbild, Sponsoren und Boxhandschuhe final optimiert */
:root{
  --section-font:"Montserrat",Inter,system-ui,sans-serif;
}

/* Abschnittstitel eleganter: nicht mehr extrem gedrückt */
.section-head h2,
#trainer .section-head h2,
#sponsoring .section-head h2,
.contact-form h3,
.card h3,
.price-card h3,
.trainer-card h3{
  font-family:var(--section-font)!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
  line-height:1.06!important;
}
.section-head h2{
  font-size:clamp(38px,4.4vw,64px)!important;
}
#trainer .section-head,
#sponsoring .section-head{
  align-items:flex-start!important;
}
#trainer .section-head p,
#sponsoring .section-head p{
  max-width:560px!important;
  font-size:18px!important;
  line-height:1.7!important;
}

/* Trainerkarten etwas hochwertiger und ruhiger */
.trainer-card{
  background:linear-gradient(180deg,#171b28 0%,#11141d 100%)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.trainer-card h3{
  font-size:22px!important;
  letter-spacing:-.035em!important;
}
.trainer-card-body p{
  color:#d8d1c6!important;
  font-size:15px!important;
  line-height:1.65!important;
}
.trainer-role{
  font-family:Inter,system-ui,sans-serif!important;
  letter-spacing:.06em!important;
  color:var(--gold-2)!important;
}

/* Sponsoring: Logos und Textnamen stärker sichtbar */
.sponsor-grid{
  gap:16px!important;
}
.sponsor{
  min-height:126px!important;
  padding:22px 24px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fffefa 0%,#f4ecdd 100%)!important;
  border:1px solid rgba(215,180,106,.42)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.sponsor:hover{
  transform:translateY(-5px)!important;
  background:linear-gradient(180deg,#ffffff 0%,#fff5df 100%)!important;
  border-color:rgba(215,180,106,.72)!important;
}
.sponsor img{
  max-width:92%!important;
  max-height:78px!important;
  filter:none!important;
  transform:none;
}
.sponsor:hover img{
  transform:scale(1.05)!important;
}
.sponsor span{
  font-family:Inter,system-ui,sans-serif!important;
  color:#08090c!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
  line-height:1.2!important;
}

/* Hero-Boxhandschuhe: echte GIF-Grafik statt CSS-Formen */
.boxing-gloves-image-wrap{
  transform:translateY(-50px) scale(.96)!important;
  z-index:2;
}
.boxing-gloves-image{
  width:min(78%,420px)!important;
  max-width:420px!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.36)) saturate(1.08) contrast(1.03);
}
.glove-css,
.impact-ring{
  display:none!important;
}
.hero-gloves-card{
  background:
    radial-gradient(circle at 50% 46%,rgba(215,180,106,.23),transparent 31%),
    radial-gradient(circle at 28% 44%,rgba(193,18,31,.16),transparent 28%),
    radial-gradient(circle at 72% 45%,rgba(55,82,130,.20),transparent 28%),
    linear-gradient(145deg,rgba(20,24,36,.96),rgba(8,9,12,.94))!important;
}

/* Hero Text generell luftiger für Desktop und Tablet */
.hero h1{
  line-height:1.08!important;
  letter-spacing:-.052em!important;
  word-spacing:.04em!important;
}
.lead{
  line-height:1.78!important;
  letter-spacing:-.012em!important;
}

/* Mobile/Tablet Feinschliff */
@media(max-width:980px){
  .section-head h2{
    font-size:clamp(38px,7vw,58px)!important;
  }
  #trainer .section-head p,
  #sponsoring .section-head p{
    font-size:17px!important;
  }
  .boxing-gloves-image-wrap{
    transform:translateY(-56px) scale(.9)!important;
  }
  .boxing-gloves-image{
    width:min(82%,390px)!important;
  }
}
@media(max-width:620px){
  .section-head h2{
    font-size:clamp(34px,10vw,48px)!important;
    letter-spacing:-.045em!important;
  }
  #trainer .section-head,
  #sponsoring .section-head{
    margin-bottom:24px!important;
  }
  .sponsor{
    min-height:112px!important;
    padding:20px!important;
  }
  .sponsor img{
    max-height:72px!important;
  }
  .sponsor span{
    font-size:18px!important;
  }
  .boxing-gloves-image-wrap{
    transform:translateY(-76px) scale(.82)!important;
  }
  .hero-card{
    min-height:430px!important;
  }
}


/* v2.3 – Mobile Hero, SportsNow-CTA und Icon-Kontakt optimiert */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.contact-band{
  grid-template-columns:1fr auto!important;
  align-items:center!important;
}
.contact-band-copy{
  max-width:620px;
}
.contact-band-side{
  display:grid;
  gap:16px;
  justify-items:end;
  width:min(100%,430px);
}
.contact-icon-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.contact-icon-btn{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#08090c;
  color:#ffffff;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  transition:transform .25s ease, background .25s ease;
}
.contact-icon-btn:hover{
  transform:translateY(-3px);
  background:#111522;
}
.contact-icon-btn svg{
  width:26px;
  height:26px;
  fill:currentColor;
}
.sportsnow-cta{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-radius:24px;
  background:#08090c;
  color:#f6f3ea;
  box-shadow:0 16px 36px rgba(0,0,0,.18);
  transition:transform .25s ease, box-shadow .25s ease;
}
.sportsnow-cta:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 42px rgba(0,0,0,.22);
}
.sportsnow-copy{
  display:grid;
  gap:6px;
}
.sportsnow-copy strong{
  font-family:Inter,system-ui,sans-serif!important;
  font-size:18px;
  font-weight:900;
  color:#fff;
}
.sportsnow-copy span{
  color:rgba(246,243,234,.82);
  font-size:14px;
  line-height:1.45;
}
.sportsnow-cta img{
  width:118px;
  max-width:34%;
  height:auto;
  display:block;
  flex:0 0 auto;
  border-radius:10px;
}
.hero-card .stat-strip{
  z-index:3;
}
.hero-card .stat{
  position:relative;
}
.hero-card .stat strong,
.hero-card .stat span{
  position:relative;
  z-index:2;
}

/* mobile/tablet hero fine-tuning */
@media(max-width:980px){
  .hero{
    padding-top:122px!important;
  }
  .lead{
    max-width:92%!important;
  }
  .contact-band{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .contact-band-side{
    justify-items:start!important;
    width:100%!important;
  }
  .contact-icon-row{
    justify-content:flex-start!important;
  }
}

@media(max-width:620px){
  .site-header .brand-name{
    font-size:15px!important;
    line-height:1.05!important;
    max-width:120px!important;
  }
  .site-header .nav-shell{
    min-height:68px!important;
  }
  .site-header .nav-cta{
    padding:10px 16px!important;
    font-size:15px!important;
  }
  .hero{
    padding-top:108px!important;
    padding-bottom:42px!important;
  }
  .hero h1{
    margin:14px 0 18px!important;
  }
  .lead{
    margin:0 0 20px!important;
    max-width:100%!important;
  }
  .actions .btn{
    min-height:54px!important;
    font-size:16px!important;
  }
  .hero-card{
    min-height:360px!important;
    margin-top:12px!important;
    overflow:hidden!important;
  }
  .boxing-gloves-image-wrap{
    inset:auto 0 92px 0!important;
    display:grid!important;
    place-items:center!important;
    transform:none!important;
    opacity:.34!important;
    z-index:1!important;
    pointer-events:none!important;
  }
  .boxing-gloves-image{
    width:min(78%,310px)!important;
    max-width:310px!important;
    filter:drop-shadow(0 18px 34px rgba(0,0,0,.28)) saturate(1.05)!important;
  }
  .stat-strip{
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    z-index:4!important;
    gap:10px!important;
  }
  .stat{
    min-height:86px!important;
    background:rgba(8,9,12,.84)!important;
  }
  .contact-band{
    padding:28px 22px!important;
    border-radius:28px!important;
  }
  .contact-band h2{
    font-size:clamp(36px,9.8vw,54px)!important;
    line-height:1.02!important;
    margin-bottom:12px!important;
  }
  .contact-band p{
    font-size:16px!important;
    line-height:1.6!important;
  }
  .contact-icon-btn{
    width:54px!important;
    height:54px!important;
    border-radius:16px!important;
  }
  .sportsnow-cta{
    padding:14px 16px!important;
    border-radius:22px!important;
    align-items:flex-start!important;
  }
  .sportsnow-copy strong{
    font-size:17px!important;
  }
  .sportsnow-copy span{
    font-size:13px!important;
  }
  .sportsnow-cta img{
    width:96px!important;
    max-width:30%!important;
  }
}


/* v2.4 – PHP 8.4.21 ready */


/* v2.5 – WordPress-Menüs Desktop/Mobile + Rechtliches Footer-Menü */
.main-nav .primary-menu,
.mobile-menu-list,
.footer-legal-menu{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
}
.main-nav .primary-menu{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.main-nav .primary-menu > li{
  position:relative;
}
.main-nav .primary-menu a{
  display:inline-flex!important;
  align-items:center!important;
  padding:9px 13px!important;
  border-radius:999px!important;
  color:var(--muted)!important;
  font-size:14px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.main-nav .primary-menu a:hover,
.main-nav .primary-menu .current-menu-item > a,
.main-nav .primary-menu .current_page_item > a{
  background:rgba(255,255,255,.07)!important;
  color:var(--text)!important;
}
.main-nav .sub-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:210px;
  list-style:none;
  padding:10px;
  margin:0;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(8,9,12,.94);
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:none;
}
.main-nav .sub-menu a{
  width:100%;
  justify-content:flex-start;
}
.mobile-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:46px;
  height:46px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:var(--text);
  cursor:pointer;
  font-family:var(--font-body)!important;
  font-weight:900;
}
.mobile-menu-toggle-text{
  display:none;
}
.mobile-menu-lines{
  display:grid;
  gap:4px;
}
.mobile-menu-lines span{
  display:block;
  width:18px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  transition:transform .2s ease, opacity .2s ease;
}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-lines span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-lines span:nth-child(2){
  opacity:0;
}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-lines span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}
.mobile-menu-panel{
  display:none;
  margin-top:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(8,9,12,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.mobile-menu-panel.is-open{
  display:block;
}
.mobile-menu-list{
  display:grid;
  gap:6px;
}
.mobile-menu-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:12px 14px;
  border-radius:16px;
  color:var(--text);
  background:rgba(255,255,255,.045);
  font-weight:900;
  text-decoration:none;
}
.mobile-menu-list a:hover,
.mobile-menu-list .current-menu-item > a,
.mobile-menu-list .current_page_item > a{
  background:rgba(215,180,106,.16);
  color:var(--gold-2);
}
.mobile-menu-list .sub-menu{
  list-style:none;
  margin:6px 0 4px;
  padding:0 0 0 12px;
  display:grid;
  gap:6px;
}
.footer-inner{
  align-items:center!important;
}
.footer-info{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  color:var(--muted);
}
.footer-legal-menu{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 16px;
}
.footer-legal-menu a{
  color:var(--muted);
  font-weight:800;
  text-decoration:none;
}
.footer-legal-menu a:hover{
  color:var(--gold-2);
}
@media(max-width:980px){
  .main-nav{
    display:none!important;
  }
  .mobile-menu-toggle{
    display:inline-flex!important;
    flex:0 0 auto!important;
  }
  .site-header .brand{
    flex:1 1 auto!important;
  }
}
@media(max-width:620px){
  .mobile-menu-toggle{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .mobile-menu-panel{
    width:calc(100% - 20px)!important;
    border-radius:22px!important;
  }
  .footer-inner{
    display:grid!important;
    gap:18px!important;
  }
  .footer-info{
    display:grid!important;
    gap:6px!important;
  }
  .footer-legal-menu{
    justify-content:flex-start!important;
    gap:8px 14px!important;
  }
}


/* v2.6 – Mobile: Menü rechts neben dem Buchen-Button */
@media(max-width:980px){
  .site-header .brand{
    order:1!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .site-header .nav-cta{
    order:2!important;
    flex:0 0 auto!important;
  }
  .site-header .mobile-menu-toggle{
    order:3!important;
    flex:0 0 auto!important;
  }
  .site-header .nav-shell{
    gap:8px!important;
  }
}

@media(max-width:620px){
  .site-header .brand-mark,
  .site-header .brand-mark .custom-logo,
  .site-header .brand-mark img{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    max-width:46px!important;
  }
  .site-header .brand-name{
    max-width:128px!important;
    font-size:14px!important;
    line-height:1.05!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .site-header .nav-cta{
    padding:9px 14px!important;
    font-size:14px!important;
    min-width:auto!important;
  }
  .mobile-menu-toggle{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
}

@media(max-width:390px){
  .site-header .brand-name{
    max-width:104px!important;
    font-size:13px!important;
  }
  .site-header .brand-mark,
  .site-header .brand-mark .custom-logo,
  .site-header .brand-mark img{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
  .site-header .nav-cta{
    padding:8px 12px!important;
    font-size:13px!important;
  }
  .mobile-menu-toggle{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
}


/* v2.7 – Fliesstext im Hero auf Mobile über volle Breite optimiert */
.hero .lead{
  width:100%!important;
  max-width:100%!important;
}
@media(max-width:980px){
  .hero .lead{
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    white-space:normal!important;
    text-wrap:pretty!important;
  }
}
@media(max-width:620px){
  .hero .lead{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    font-size:16.5px!important;
    line-height:1.82!important;
    letter-spacing:-0.008em!important;
    word-spacing:0!important;
    margin:0 0 22px!important;
  }
  .hero-grid > div:first-child{
    width:100%!important;
  }
}
@media(max-width:390px){
  .hero .lead{
    font-size:16px!important;
    line-height:1.8!important;
  }
}


/* v2.8 – Trainer Viktor, neue Trainingsblöcke und reCAPTCHA */
.trainer-grid{
  grid-template-columns:repeat(5,1fr)!important;
}
.schedule{
  grid-template-columns:repeat(4,1fr)!important;
  align-items:stretch;
}
.schedule .card{
  min-height:100%;
}
.schedule .card h3{
  color:var(--gold-2);
}
.training-note{
  margin-top:22px;
  padding:22px;
  border:1px solid rgba(215,180,106,.28);
  border-radius:24px;
  background:rgba(215,180,106,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.training-note p{
  margin:0;
  color:var(--muted);
  font-weight:700;
}
.training-note .btn{
  flex:0 0 auto;
}
.recaptcha-wrap{
  margin:0 0 18px;
  overflow:hidden;
}
@media(max-width:1180px){
  .trainer-grid{
    grid-template-columns:repeat(3,1fr)!important;
  }
  .schedule{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:760px){
  .trainer-grid,
  .schedule{
    grid-template-columns:1fr!important;
  }
  .training-note{
    display:grid;
    gap:14px;
  }
  .training-note .btn{
    width:100%;
  }
}


/* v2.9 – Standardseiten, AGB/Rechtliches und Gutenberg-Inhalte korrekt darstellen */
.standard-page,
.page-content-legal{
  padding:150px 0 90px;
  min-height:60vh;
  background:
    radial-gradient(circle at 80% 20%, rgba(185,23,36,.18), transparent 34%),
    linear-gradient(145deg,#08090c 0%,#10131b 100%);
}
.standard-page-card,
.legal-content{
  max-width:920px;
  margin:0 auto;
  padding:42px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(21,24,36,.94),rgba(12,14,20,.94));
  box-shadow:0 24px 80px rgba(0,0,0,.35);
}
.standard-page-card h1,
.legal-content h1{
  margin:22px 0 18px;
  font-size:clamp(42px,6vw,72px);
  line-height:1;
  letter-spacing:-.05em;
  color:var(--text);
}
.legal-content h1{
  margin-bottom:4px;
}
.standard-page-content h2,
.legal-content h2{
  margin:0 0 34px;
  color:var(--gold);
  font-size:clamp(26px,3vw,38px);
  line-height:1.15;
}
.standard-page-content h3,
.legal-content h3{
  margin:30px 0 8px;
  color:var(--gold-2);
  font-size:22px;
  line-height:1.25;
}
.standard-page-content p,
.legal-content p{
  margin:0 0 18px;
  color:#d8d1c6;
  font-size:17px;
  line-height:1.8;
}
.legal-content p{
  margin-bottom:0;
}
.legal-content .eyebrow{
  display:inline-flex;
  padding:8px 13px;
  border:1px solid rgba(215,180,106,.35);
  border-radius:999px;
  color:var(--gold-2);
  background:rgba(215,180,106,.08);
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.legal-page .container{
  width:min(1120px,calc(100% - 40px));
  margin-inline:auto;
}
@media(max-width:620px){
  .standard-page,
  .page-content-legal{
    padding:120px 0 70px;
  }
  .standard-page-card,
  .legal-content{
    padding:28px 22px;
    border-radius:26px;
  }
  .standard-page-card h1,
  .legal-content h1{
    font-size:clamp(36px,11vw,52px);
  }
  .standard-page-content h2,
  .legal-content h2{
    font-size:24px;
  }
  .standard-page-content h3,
  .legal-content h3{
    font-size:20px;
  }
  .standard-page-content p,
  .legal-content p{
    font-size:16px;
    line-height:1.75;
  }
  .legal-page .container{
    width:min(100% - 24px,1120px);
  }
}


/* v3.0 – Hero-Bild und Statistik-Karten über Customizer pflegbar */


/* v3.1 – Mobile-Fix für lange Rechtstitel wie Datenschutzerklärung */
.legal-content,
.standard-page-card{
  overflow:hidden;
}

.legal-content h1,
.standard-page-card h1{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

@media(max-width:620px){
  .legal-content h1,
  .standard-page-card h1{
    font-size:clamp(30px,8.5vw,42px)!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    margin:18px 0 14px!important;
    text-wrap:balance;
  }

  .legal-content h2,
  .standard-page-content h2{
    font-size:clamp(22px,6vw,28px)!important;
    line-height:1.22!important;
    margin-bottom:26px!important;
  }

  .legal-content h3,
  .standard-page-content h3{
    font-size:clamp(19px,5.4vw,22px)!important;
    line-height:1.25!important;
  }
}

@media(max-width:390px){
  .legal-content h1,
  .standard-page-card h1{
    font-size:clamp(28px,8.2vw,36px)!important;
  }
}
