/*
Theme Name: WingTzun am Rhing
Theme URI: https://wingtzun-am-rhing.de
Author: Design für Guido Fehr
Description: Modernes, dunkel-goldenes Design für die Wing Tzun Kampfkunstschule am Rhein in Köln. Version 6.7 kuratiert neue und alte Medien professionell für Startseite und Galerie, hält Kinder/Jugendliche-Erwachsene sauber getrennt und behält alle v6.4-Features.
Version: 12.0 Gallery Exact Cards
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wingtzun-rhing
*/

:root{
  --bg:#0c0e14;
  --bg-2:#11141c;
  --surface:#181b24;
  --surface-2:#1f2330;
  --gold:#c9a44e;
  --gold-2:#e3c473;
  --gold-deep:#a8842f;
  --navy:#16243d;
  --text:#f2f0e9;
  --muted:#9b9ca6;
  --line:rgba(255,255,255,.10);
  --display:"Oswald",sans-serif;
  --body:"Manrope",sans-serif;
  --font-display:var(--display);
  --font-body:var(--body);
  --white:var(--text);
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-2)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.label{font-family:var(--display);text-transform:uppercase;letter-spacing:.22em;font-size:.8rem;font-weight:600;color:var(--gold)}

/* buttons */
.btn{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.84rem;background:var(--gold);color:#161616;padding:13px 24px;display:inline-block;border:none;cursor:pointer;transition:background .2s,transform .15s}
.btn:hover{background:var(--gold-2);color:#161616;transform:translateY(-2px)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn.ghost:hover{border-color:var(--gold);background:transparent;color:var(--gold)}

/* ===== HEADER / NAV ===== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(12,14,20,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.brand{display:flex;align-items:center}
.brand img,.custom-logo{max-height:54px;width:auto}
.brand-text{display:flex;align-items:center;gap:12px;color:var(--text)}
.brand-text .glyph{font-family:var(--display);font-size:1.6rem;color:var(--gold);width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--gold);line-height:1}
.brand-text b{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:1rem}
.main-nav .menu{list-style:none;display:flex;gap:28px}
.main-nav .menu a{font-family:var(--display);text-transform:uppercase;font-size:.84rem;letter-spacing:.1em;font-weight:500;color:var(--muted);padding:4px 0;position:relative}
.main-nav .menu a:hover,.main-nav .menu .current-menu-item>a{color:var(--text)}
.main-nav .menu a::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--gold);transition:width .25s}
.main-nav .menu a:hover::after,.main-nav .menu .current-menu-item>a::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:var(--text)}
.mobile-menu{display:none;background:var(--surface);border-bottom:1px solid var(--line)}
.mobile-menu.open{display:block}
.mobile-menu .menu{list-style:none}
.mobile-menu .menu a{display:block;padding:15px 24px;border-top:1px solid var(--line);font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.86rem;color:var(--muted)}

/* ===== HERO ===== */
.hero{position:relative;min-height:84vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(120% 90% at 82% 8%,rgba(201,164,78,.16),transparent 55%),linear-gradient(180deg,#0f1118,#0a0b10)}
.hero .bigglyph{position:absolute;right:-3%;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:42vw;color:rgba(255,255,255,.022);line-height:.8;user-select:none;pointer-events:none}
.hero-inner{position:relative;z-index:2;padding:64px 0}
.hero h1{font-family:var(--display);font-weight:700;line-height:.98;font-size:clamp(2.6rem,7.5vw,6rem);text-transform:uppercase;letter-spacing:.01em}
.hero h1 .acc{color:var(--gold)}
.hero p.sub{max-width:580px;margin:24px 0 0;color:#d6d4cc;font-size:clamp(1rem,2vw,1.18rem)}
.hero .cta{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}
.hero .meta{margin-top:52px;display:flex;gap:38px;flex-wrap:wrap;font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--muted)}
.hero .meta b{display:block;font-size:1.05rem;color:var(--text);letter-spacing:.04em}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ===== SECTIONS ===== */
section.block{padding:92px 0}
.sec-head{margin-bottom:44px}
.sec-head h2{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1;margin-top:10px}
.intro .big{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,3vw,2rem);color:var(--text);line-height:1.25;max-width:880px}
.intro p{max-width:780px;font-size:1.12rem;color:#d6d4cc;margin-top:18px}

/* offer cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card{background:var(--surface);border:1px solid var(--line);padding:36px 32px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s}
.card:hover{border-color:rgba(201,164,78,.55);transform:translateY(-4px)}
.card::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--gold)}
.card .tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:var(--gold);font-weight:600}
.card h3{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:1.7rem;margin:8px 0 14px;line-height:1}
.card .time{font-family:var(--display);font-weight:600;font-size:1.12rem;color:#fff;margin-bottom:14px}
.card ul{list-style:none;color:var(--muted);font-size:.97rem}
.card ul li{padding:6px 0 6px 22px;position:relative}
.card ul li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}

/* why grid */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.why .cell{background:var(--bg-2);padding:32px 24px}
.why .num{font-family:var(--display);color:rgba(201,164,78,.9);font-size:2.3rem;line-height:1;font-weight:700}
.why h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:1.02rem;margin:12px 0 8px}
.why p{color:var(--muted);font-size:.91rem}

/* about */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}
.about .photo{position:relative;aspect-ratio:4/5;background:linear-gradient(135deg,#23262f,#13151c);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.about .photo .ph-tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:#54545d;text-align:center;padding:0 20px}
.about .photo .pglyph{position:absolute;font-family:var(--display);font-size:15rem;color:rgba(255,255,255,.03);right:-8px;bottom:-30px}
.about h2{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:clamp(2rem,4vw,2.9rem);line-height:1;margin:10px 0 18px}
.about p{color:#d6d4cc;margin-bottom:14px}

/* schedule */
.schedule{background:var(--surface);border:1px solid var(--line)}
.sched-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;padding:22px 30px;border-bottom:1px solid var(--line);align-items:center}
.sched-row:last-child{border-bottom:0}
.sched-row.headr{background:var(--surface-2);font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--muted)}
.sched-row .grp{font-family:var(--display);font-weight:600;font-size:1.12rem;text-transform:uppercase}
.sched-row .day{font-family:var(--display);font-weight:500;color:#d6d4cc}
.sched-row .hr{font-family:var(--display);color:var(--gold);font-weight:600}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gal .g{aspect-ratio:1;background:linear-gradient(135deg,#202329,#14161c);border:1px solid var(--line);display:grid;place-items:center;transition:transform .25s,border-color .25s}
.gal .g:hover{transform:scale(1.02);border-color:rgba(201,164,78,.5)}
.gal .g span{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#4a4a52}

/* cta band */
.cta-band{background:radial-gradient(100% 140% at 0% 0%,rgba(201,164,78,.2),transparent 50%),var(--bg-2);border:1px solid var(--line);padding:60px 52px;display:grid;grid-template-columns:1.2fr .8fr;gap:46px;align-items:center}
.cta-band h2{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:clamp(2.1rem,4.5vw,3.4rem);line-height:1}
.cta-band h2 .acc{color:var(--gold)}
.cta-band p{color:var(--muted);margin-top:14px;max-width:440px}
.contact-box{font-family:var(--display);font-weight:500}
.contact-box .ci{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.contact-box .ci:last-child{border-bottom:0}
.contact-box .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);min-width:74px;padding-top:3px}
.contact-box .v{font-size:1.04rem;color:var(--text)}
.note{margin-top:16px;font-family:var(--display);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#54545d}

/* ===== INNER PAGES (Über mich, Kontakt, Impressum ...) ===== */
.page-main{padding:60px 0 90px;min-height:60vh}
.page-head{padding:30px 0 26px;border-bottom:1px solid var(--line);margin-bottom:40px}
.page-title{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:clamp(2rem,5vw,3.4rem);line-height:1;margin-top:8px}
.entry{max-width:820px;font-size:1.08rem;color:#dcdad2}
.entry h1,.entry h2,.entry h3,.entry h4{font-family:var(--display);text-transform:uppercase;color:var(--text);line-height:1.2;margin:1.4em 0 .5em}
.entry h2{font-size:1.7rem;color:var(--gold-2)}
.entry h3{font-size:1.3rem}
.entry p{margin-bottom:1.1em}
.entry strong,.entry b{color:#fff}
.entry a{text-decoration:underline}
.entry ul,.entry ol{margin:0 0 1.1em 1.3em}
.entry li{margin-bottom:.4em}
.entry img{border:1px solid var(--line);margin:1em 0}
.entry blockquote{border-left:3px solid var(--gold);padding-left:18px;color:var(--muted);margin:1.2em 0}
.post-card{padding:24px 0;border-bottom:1px solid var(--line)}
.post-card h2 a{font-family:var(--display);text-transform:uppercase;color:var(--text)}
.post-meta{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:var(--gold);margin:6px 0}

/* ===== FOOTER ===== */
.site-footer{border-top:1px solid var(--line);background:#08090d;padding:52px 0 28px;margin-top:40px}
.foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot .fbrand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.foot .fbrand .glyph{font-family:var(--display);color:var(--gold);border:2px solid var(--gold);width:38px;height:38px;display:grid;place-items:center}
.foot .fbrand b{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em}
.foot p,.foot a{color:var(--muted);font-size:.92rem}
.foot .cols{display:flex;gap:60px;flex-wrap:wrap}
.foot h5{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--text);margin-bottom:12px}
.copy{margin-top:38px;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;color:#54545d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .main-nav,.nav-cta{display:none}
  .burger{display:flex}
  .cards,.about,.cta-band{grid-template-columns:1fr}
  .why{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr 1fr}
  .sched-row{grid-template-columns:1fr;gap:4px}
  .sched-row.headr{display:none}
  .about .photo{aspect-ratio:16/12}
  .cta-band{padding:40px 26px}
  section.block{padding:60px 0}
}

/* ===== LOGO (eingebettet) ===== */
.brand{display:flex;align-items:center}
.site-logo{max-height:58px;width:auto;display:block}
.foot-logo{max-height:70px;width:auto;display:block;margin-bottom:14px}
.about .photo.logo-frame{background:radial-gradient(120% 120% at 50% 30%,#1a2740,#0b0d13);display:grid;place-items:center;padding:34px}
.about .photo.logo-frame img{max-width:80%;height:auto;border:none}
.foot-menu{list-style:none}
.foot-menu li{margin-bottom:6px}
.foot-menu a{color:var(--muted);font-size:.92rem}
.foot-menu a:hover{color:var(--gold)}
@media(max-width:900px){ .site-logo{max-height:46px} }

/* ===== HERO mit echtem Foto ===== */
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.hero-photo{justify-self:end}
.hero-photo img{display:block;width:100%;max-width:360px;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.5)}
@media(max-width:900px){
	.hero-grid{grid-template-columns:1fr;gap:30px}
	.hero-photo{justify-self:start;display:none}
}

/* ===== Echte Galerie-Fotos ===== */
.gal .g{overflow:hidden;display:block}
.gal .g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.gal .g:hover img{transform:scale(1.06)}

/* ===== Über-mich mit echtem Foto ===== */
.about .photo.has-photo{padding:0;background:none}
.about .photo.has-photo img{width:100%;height:100%;object-fit:cover;border:none}

/* ===== Nächste Termine ===== */
.termine{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.termin{display:flex;flex-direction:column;gap:5px;padding:20px 26px;background:var(--bg-2);transition:background .2s}
.termin:hover{background:var(--surface)}
.t-date{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--gold)}
.t-title{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;color:var(--text);line-height:1.2}

/* ===== Video-Einbettung ===== */
.video-embed{position:relative;border:1px solid var(--line);background:#000;max-width:900px}
.video-embed iframe,.video-embed video,.video-embed embed,.video-embed object{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}

/* ===== Hinweis-Banner oben ===== */
.wtr-notice{position:relative;z-index:120;background:linear-gradient(135deg,rgba(18,20,28,.88),rgba(12,14,20,.80));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--text);border-bottom:1px solid rgba(201,164,78,.30);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.wtr-notice:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--gold-2),var(--gold-deep))}
.wtr-notice-cancel{background:linear-gradient(135deg,rgba(55,14,18,.94),rgba(13,15,22,.88));color:#fff;border-bottom-color:rgba(211,83,73,.42)}
.wtr-notice-cancel:before{background:linear-gradient(#d96b62,#8f2222)}
.wtr-notice-event{background:linear-gradient(135deg,rgba(34,29,17,.92),rgba(14,16,23,.86));color:var(--text);border-bottom-color:rgba(227,196,115,.42)}
.wtr-notice-event:before{background:linear-gradient(var(--gold-2),var(--gold))}
.wtr-notice-holiday{background:linear-gradient(135deg,rgba(22,36,61,.90),rgba(14,16,23,.86));color:var(--text);border-bottom-color:rgba(201,164,78,.34)}
.wtr-notice-holiday:before{background:linear-gradient(#8fa9d6,var(--gold))}
.wtr-notice-inner{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 52px 12px 28px;position:relative;font-family:var(--body);letter-spacing:.01em;font-size:.94rem;line-height:1.45;text-align:center;font-weight:700}
.wtr-notice-text a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:900;margin-left:.45em}
.wtr-notice-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:inherit;font-size:1.05rem;line-height:1;cursor:pointer;padding:5px 10px;border-radius:999px}
.wtr-notice-close:hover{opacity:.82;background:rgba(255,255,255,.13)}

/* ===== Selbst gehostete Schriften (DSGVO-konform, kein Google-CDN) ===== */
@font-face{font-family:'Oswald';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/oswald-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/oswald-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/oswald-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Oswald';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/oswald-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/manrope-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/manrope-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/manrope-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/manrope-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/manrope-latin-800-normal.woff2') format('woff2')}

/* ===== Utility-Klassen (statt Inline-Styles) ===== */
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}
.delay-4{transition-delay:.32s}
.mt-sm{margin-top:14px}
.mt-md{margin-top:24px}
.underlined{text-decoration:underline}

/* Vertrauensleiste unter Hero */
.trust{margin-top:26px;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--muted)}

/* etwas edler: dezent gerundete Fotos */
.hero-photo img,.about .photo.has-photo img,.gal .g img{border-radius:10px}
.about .photo.has-photo{border-radius:10px;overflow:hidden}
.gal .g{border-radius:10px}

/* Footer-Links / klickbarer Kontakt */
.legal-links a,.foot a[href^="tel"],.foot a[href^="mailto"]{color:var(--muted)}
.legal-links a:hover,.foot a:hover{color:var(--gold)}
.contact-box .v a{color:var(--text)}
.contact-box .v a:hover{color:var(--gold)}

/* ===== FAQ ===== */
.faq{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);max-width:820px}
.faq-item{background:var(--bg-2)}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 24px;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:1.02rem;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1}
.faq-item[open] summary::after{content:"–"}
.faq-item summary:hover{color:var(--gold)}
.faq-a{padding:0 24px 20px;color:var(--muted);font-size:.98rem}

/* ===== Mobile Hero-Foto wieder anzeigen + Sticky-CTA ===== */
.mobile-cta{display:none}
@media(max-width:900px){
	.hero-grid{grid-template-columns:1fr;gap:28px}
	.hero-photo{display:block;justify-self:center;width:100%}
	.hero-photo img{width:100%;max-width:520px;aspect-ratio:16/10;object-fit:cover;margin:0 auto}
}
@media(max-width:760px){
	.mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:999;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px;border-radius:18px;background:rgba(10,11,15,.92);backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.5);border:1px solid var(--line)}
	.mobile-cta a{text-align:center;padding:11px 6px;border-radius:13px;background:var(--gold);color:#161616;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:.78rem}
	.mobile-cta a:hover{background:var(--gold-2)}
	body{padding-bottom:74px}
}

/* ===== Fix: Umlaute (Ä/Ö/Ü) in großen Überschriften nicht abschneiden ===== */
.hero h1{line-height:1.06;padding-top:.04em}
.sec-head h2,.page-title,.about h2{line-height:1.08}
.cta-band h2{line-height:1.06}
.card h3{line-height:1.06}

/* ===== v9: mehr Wärme, mehr Luft, edlere Bilder ===== */
section.block{padding:104px 0}
.reassure{margin-top:16px;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--gold)}
.sec-sub{max-width:680px;margin:-22px 0 34px;color:var(--muted);font-size:1.06rem;line-height:1.7}
.hero-photo img,.about .photo.has-photo img,.gal .g img{filter:saturate(1.04) contrast(1.03)}
@media(max-width:760px){ section.block{padding:64px 0} .sec-sub{margin:-10px 0 26px} }

/* ===== Aktuelles: Trainings-Feed mit Vorschaubildern ===== */
.feed-intro{max-width:760px;margin:0 auto 44px;text-align:center;color:var(--muted)}
.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feed-card{background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .25s ease,border-color .25s ease}
.feed-card:hover{transform:translateY(-4px);border-color:rgba(201,164,78,.5)}
.feed-thumb{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#22252e,#14161c);overflow:hidden;position:relative}
.feed-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.03)}
.feed-thumb.locked{display:grid;place-items:center;background:linear-gradient(135deg,#1a1c24,#0f1117)}
.feed-thumb.locked span{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;color:var(--gold)}
.feed-ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:var(--muted)}
.feed-body{padding:20px 22px}
.feed-date{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--gold);margin-bottom:6px}
.feed-title{font-family:var(--display);text-transform:uppercase;font-size:1.18rem;line-height:1.18;margin:0 0 8px}
.feed-title a{color:var(--text)}
.feed-title a:hover{color:var(--gold)}
.feed-ex{color:var(--muted);font-size:.95rem;line-height:1.6;margin:0 0 12px}
.feed-more{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:var(--gold)}
.feed-more:hover{color:var(--gold-2)}
@media(max-width:900px){.feed-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feed-grid{grid-template-columns:1fr}}

/* Termine: Hinweis-Zeile + Link-Reset */
.termin{text-decoration:none}
.t-note{color:var(--muted);font-size:.92rem;line-height:1.5}

/* ===== Premium-Tiefe & dezentes Dark-Glass ===== */
.site-header{background:rgba(12,14,20,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.card,.feed-card,.schedule,.faq{
	background:rgba(22,25,34,.82);
	backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
	border:1px solid rgba(255,255,255,.10);
	box-shadow:0 22px 60px rgba(0,0,0,.30);
}
.card:hover,.feed-card:hover{border-color:rgba(201,164,78,.5);box-shadow:0 28px 84px rgba(0,0,0,.46)}
.why .cell,.faq-item,.termin{background:rgba(17,20,28,.80)}
.termin:hover{border-color:rgba(201,164,78,.4)}
.cta-band{box-shadow:0 26px 80px rgba(0,0,0,.38)}
.hero-photo img,.about .photo.has-photo,.gal .g{box-shadow:0 26px 70px rgba(0,0,0,.45)}

/* ===== v1.7 Fix: konsistentes Dark-Glass + Kalenderkarten ===== */
.site-header,
.mobile-menu,
.mobile-cta{
	background:linear-gradient(180deg,rgba(14,17,26,.82),rgba(8,10,15,.72));
	backdrop-filter:blur(20px) saturate(1.25);
	-webkit-backdrop-filter:blur(20px) saturate(1.25);
	border-color:rgba(255,255,255,.11);
}

.card,
.feed-card,
.schedule,
.faq,
.termine,
.cta-band,
.video-embed,
.contact-box,
.why .cell,
.termin,
.gal .g{
	background:linear-gradient(145deg,rgba(31,35,48,.74),rgba(11,14,22,.58));
	backdrop-filter:blur(18px) saturate(1.18);
	-webkit-backdrop-filter:blur(18px) saturate(1.18);
	border:1px solid rgba(255,255,255,.12);
	box-shadow:0 24px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
}

.termine{
	gap:14px;
	background:transparent;
	border:0;
}

.termin{
	position:relative;
	overflow:hidden;
	border-radius:18px;
	transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.termin::before,
.card::before,
.cta-band::before{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:radial-gradient(75% 90% at 12% 0%,rgba(201,164,78,.13),transparent 58%);
}

.termin:hover,
.card:hover,
.feed-card:hover,
.gal .g:hover{
	transform:translateY(-3px);
	border-color:rgba(201,164,78,.55);
	box-shadow:0 30px 90px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.10);
}

.t-date,
.t-title,
.t-note,
.termin > span{position:relative;z-index:1}

.video-embed{
	border-radius:22px;
	overflow:hidden;
	padding:10px;
	max-width:920px;
}
.video-embed iframe,
.video-embed video,
.video-embed embed,
.video-embed object{border-radius:14px}

.gal .g{border-radius:18px}
.gal .g img{border-radius:16px}

.site-logo,
.foot-logo{
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.08);
	box-shadow:0 12px 34px rgba(0,0,0,.32);
}


/* kleine Stabilisierung für die Glas-Highlights */
.cta-band,
.card{position:relative;overflow:hidden}
.card > *,
.cta-band > *{position:relative;z-index:1}

/* ===== THE EVENTS CALENDAR + EVENT TICKETS BRANDING =====
   Makes the plugin calendar match the Wing Tzun dark/gold design.
   Works with The Events Calendar v6+ and Event Tickets RSVP blocks. */

body.post-type-archive-tribe_events,
body.single-tribe_events,
body.tribe_events-template-default,
body.tribe_events-template,
body.tribe-no-js {
  background: var(--bg) !important;
}

#tribe-events-pg-template,
.tribe-common,
.tribe-events,
.tribe-events-view,
.tribe-events-l-container {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--body) !important;
}

.tribe-events .tribe-events-l-container,
.tribe-common .tribe-common-l-container {
  max-width: var(--maxw) !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Calendar search/top bar */
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search,
.tribe-events .tribe-events-c-view-selector,
.tribe-events .tribe-events-c-top-bar {
  background: rgba(18, 21, 29, .78) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search {
  border-radius: 0 !important;
}

.tribe-common .tribe-common-form-control-text__input,
.tribe-events .tribe-events-c-search__input,
.tribe-events .tribe-events-c-search__input-control-icon-svg {
  color: var(--text) !important;
  background: rgba(12,14,20,.60) !important;
}

.tribe-events .tribe-events-c-search__input::placeholder,
.tribe-common .tribe-common-form-control-text__input::placeholder {
  color: rgba(242,240,233,.58) !important;
}

/* Buttons: kill default blue, use gold */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-events-c-view-selector__button,
.tribe-events button,
.tribe-common button {
  font-family: var(--display) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: #121212 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.tribe-common .tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover {
  background: var(--gold-2) !important;
  border-color: var(--gold-2) !important;
  color: #121212 !important;
}

.tribe-events .tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-view-selector__button {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: var(--text) !important;
  border-radius: 0 !important;
}

.tribe-events .tribe-events-c-top-bar__today-button:hover,
.tribe-events .tribe-events-c-view-selector__button:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* Calendar typography */
.tribe-common .tribe-common-h1,
.tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4,
.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6,
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-month__calendar-event-title,
.tribe-events .tribe-events-single-event-title {
  font-family: var(--display) !important;
  text-transform: uppercase !important;
  color: var(--text) !important;
}

.tribe-common .tribe-common-b2,
.tribe-common .tribe-common-b3,
.tribe-common .tribe-common-h7,
.tribe-common .tribe-common-h8,
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-month__calendar-event-datetime,
.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events .tribe-events-calendar-month__calendar-event-tooltip-description,
.tribe-events .tribe-events-notices,
.tribe-events .tribe-events-c-messages__message,
.tribe-common .tribe-common-c-svgicon {
  color: rgba(242,240,233,.72) !important;
}

.tribe-common a,
.tribe-common a:visited,
.tribe-events .tribe-events-calendar-list__event-title-link,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link {
  color: var(--gold) !important;
}

.tribe-common a:hover,
.tribe-events .tribe-events-calendar-list__event-title-link:hover,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link:hover {
  color: var(--gold-2) !important;
}

/* List/month event cards */
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-list__event-wrapper,
.tribe-events .tribe-events-calendar-month__day,
.tribe-events .tribe-events-calendar-month__calendar-event,
.tribe-events .tribe-events-calendar-day__event,
.tribe-events .tribe-events-calendar-latest-past__event,
.tribe-events .tribe-events-pro-photo__event,
.tribe-events .tribe-events-pro-map__event-card-wrapper {
  background: rgba(22,25,34,.72) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.tribe-events .tribe-events-calendar-list__event-row:hover,
.tribe-events .tribe-events-calendar-month__calendar-event:hover,
.tribe-events .tribe-events-calendar-day__event:hover {
  border-color: rgba(201,164,78,.55) !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
  background: rgba(201,164,78,.12) !important;
  border: 1px solid rgba(201,164,78,.40) !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events .tribe-events-calendar-month__day-date-daynum {
  color: var(--gold) !important;
  font-family: var(--display) !important;
  font-weight: 700 !important;
}

.tribe-events .tribe-events-calendar-month__header-column-title,
.tribe-events .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day-date-link {
  color: var(--text) !important;
}

.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
  color: var(--gold-2) !important;
}

.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner,
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event,
.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-link::before {
  background-color: var(--gold) !important;
}

/* Empty calendar message */
.tribe-events .tribe-events-c-messages__message,
.tribe-events .tribe-events-c-messages__message-list,
.tribe-events .tribe-events-notices {
  background: rgba(22,25,34,.72) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(242,240,233,.76) !important;
}

/* Single event page */
.single-tribe_events .tribe-events-single,
.single-tribe_events .tribe-events-single-event-description,
.single-tribe_events .tribe-events-event-meta,
.single-tribe_events .tribe-events-single-section {
  background: rgba(22,25,34,.72) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: var(--text) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-event-meta dt,
.single-tribe_events .tribe-events-event-meta dd,
.single-tribe_events .tribe-events-event-meta a {
  color: rgba(242,240,233,.82) !important;
}

/* Event Tickets RSVP styling */
.tribe-tickets__rsvp-wrapper,
.tribe-tickets__tickets-wrapper,
.tribe-tickets__rsvp,
.tribe-tickets__rsvp-form-wrapper,
.tribe-common .tribe-tickets__rsvp-actions,
.tribe-common .tribe-tickets__tickets-item {
  background: rgba(22,25,34,.78) !important;
  border: 1px solid rgba(201,164,78,.24) !important;
  color: var(--text) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.tribe-tickets__rsvp-title,
.tribe-tickets__rsvp-actions-title,
.tribe-tickets__tickets-title,
.tribe-tickets__tickets-item-content-title,
.tribe-tickets__rsvp-form-title {
  color: var(--gold) !important;
  font-family: var(--display) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

.tribe-tickets__rsvp-actions-button-going,
.tribe-tickets__rsvp-form-button,
.tribe-tickets__tickets-buy,
.tribe-tickets__tickets-submit {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  color: #121212 !important;
  font-family: var(--display) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.tribe-tickets__rsvp-actions-button-not-going {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-family: var(--display) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.tribe-tickets__rsvp-form-field-input,
.tribe-tickets__form input,
.tribe-tickets__form textarea,
.tribe-tickets__form select {
  background: rgba(12,14,20,.70) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.tribe-tickets__rsvp-attendance-number,
.tribe-tickets__rsvp-attendance-going,
.tribe-tickets__rsvp-attendance-text,
.tribe-tickets__rsvp-availability,
.tribe-tickets__rsvp-description,
.tribe-tickets__rsvp-form-field-label {
  color: rgba(242,240,233,.72) !important;
}

@media (max-width: 760px) {
  .tribe-events .tribe-events-l-container,
  .tribe-common .tribe-common-l-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .tribe-events .tribe-events-c-events-bar,
  .tribe-events .tribe-events-c-search,
  .tribe-events .tribe-events-c-top-bar {
    border-radius: 0 !important;
  }
}


/* ===== v2.1 VISIBLE FROSTED GLASS UI =====
   The previous glass was technically present but too subtle on a flat dark page.
   This patch makes the glass effect visible through translucent panels,
   soft gold/navy light behind them, inner highlights, blur, and glow. */
:root{
  --glass-bg: rgba(18, 21, 29, .54);
  --glass-bg-strong: rgba(18, 21, 29, .66);
  --glass-line: rgba(255, 255, 255, .16);
  --glass-gold-line: rgba(201, 164, 78, .34);
  --glass-shadow: 0 28px 90px rgba(0, 0, 0, .42);
  --glass-inset: inset 0 1px 0 rgba(255,255,255,.13), inset 0 -1px 0 rgba(255,255,255,.035);
}

body{
  background:
    radial-gradient(900px 520px at 84% 12%, rgba(201,164,78,.16), transparent 62%),
    radial-gradient(760px 480px at 16% 8%, rgba(30,55,92,.22), transparent 65%),
    radial-gradient(900px 640px at 82% 72%, rgba(20,42,70,.18), transparent 60%),
    linear-gradient(180deg, #0c0e14 0%, #080a0f 100%) !important;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.52;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.055) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 60%, rgba(201,164,78,.06) 0 1px, transparent 1.7px);
  background-size:42px 42px, 58px 58px;
}

.site-header{
  background:rgba(8,10,15,.58) !important;
  border-bottom:1px solid var(--glass-line) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.35), var(--glass-inset) !important;
  backdrop-filter:blur(28px) saturate(1.45) !important;
  -webkit-backdrop-filter:blur(28px) saturate(1.45) !important;
}

.hero::before,
section.block::before{
  content:"";
  position:absolute;
  inset:auto 7% -8% auto;
  width:420px;
  height:420px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(201,164,78,.12), transparent 66%);
  filter:blur(24px);
  pointer-events:none;
}
section.block{position:relative;overflow:hidden}

.card,
.schedule,
.why,
.faq,
.feed-card,
.termine,
.gal .g,
.about .photo,
.cta-band,
.video-box,
.notice,
.mobile-cta,
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search,
.tribe-events .tribe-events-c-view-selector,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-list__event-wrapper,
.tribe-events .tribe-events-calendar-month__day,
.tribe-events .tribe-events-calendar-month__calendar-event,
.tribe-events .tribe-events-calendar-day__event,
.tribe-events .tribe-events-calendar-latest-past__event,
.single-tribe_events .tribe-events-single,
.single-tribe_events .tribe-events-single-event-description,
.single-tribe_events .tribe-events-event-meta,
.single-tribe_events .tribe-events-single-section,
.tribe-tickets__rsvp-wrapper,
.tribe-tickets__tickets-wrapper,
.tribe-tickets__rsvp,
.tribe-tickets__rsvp-form-wrapper,
.tribe-common .tribe-tickets__rsvp-actions,
.tribe-common .tribe-tickets__tickets-item{
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 38%, rgba(201,164,78,.035) 100%),
    var(--glass-bg) !important;
  border:1px solid var(--glass-line) !important;
  box-shadow:var(--glass-shadow), var(--glass-inset) !important;
  backdrop-filter:blur(30px) saturate(1.42) contrast(1.04) !important;
  -webkit-backdrop-filter:blur(30px) saturate(1.42) contrast(1.04) !important;
}

.card::after,
.feed-card::after,
.termine::after,
.schedule::after,
.why::after,
.faq::after,
.cta-band::after,
.tribe-events .tribe-events-c-events-bar::after,
.tribe-events .tribe-events-calendar-list__event-row::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,.13), transparent 28%, transparent 72%, rgba(201,164,78,.07));
  opacity:.48;
  mix-blend-mode:screen;
}

.card,
.feed-card,
.termine,
.schedule,
.why,
.faq,
.cta-band,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-calendar-list__event-row{
  position:relative;
  overflow:hidden;
}

.why .cell,
.faq-item,
.termin,
.sched-row.headr{
  background:rgba(8,10,15,.30) !important;
  border-color:rgba(255,255,255,.09) !important;
}

.card:hover,
.feed-card:hover,
.termin:hover,
.tribe-events .tribe-events-calendar-list__event-row:hover,
.tribe-events .tribe-events-calendar-month__calendar-event:hover,
.tribe-events .tribe-events-calendar-day__event:hover{
  border-color:rgba(201,164,78,.62) !important;
  box-shadow:0 34px 110px rgba(0,0,0,.52), 0 0 0 1px rgba(201,164,78,.13), var(--glass-inset) !important;
  transform:translateY(-2px);
}

/* Branded frosted Events Calendar bar, replacing the white/blue default look */
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search{
  border-radius:18px !important;
  overflow:hidden !important;
}
.tribe-events .tribe-events-c-top-bar{
  border-radius:16px !important;
  padding:10px 14px !important;
}
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-tickets__rsvp-actions-button-going,
.tribe-tickets__rsvp-form-button,
.tribe-tickets__tickets-buy,
.tribe-tickets__tickets-submit{
  background:linear-gradient(180deg, var(--gold-2), var(--gold)) !important;
  color:#101010 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 12px 34px rgba(201,164,78,.20), inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.tribe-events .tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-view-selector__button,
.tribe-tickets__rsvp-actions-button-not-going{
  background:rgba(255,255,255,.06) !important;
  color:var(--text) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:var(--glass-inset) !important;
}
.tribe-common .tribe-common-form-control-text__input,
.tribe-events .tribe-events-c-search__input,
.tribe-tickets__rsvp-form-field-input,
.tribe-tickets__form input,
.tribe-tickets__form textarea,
.tribe-tickets__form select{
  background:rgba(5,7,11,.38) !important;
  color:var(--text) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07) !important;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .site-header,
  .card,
  .schedule,
  .why,
  .faq,
  .feed-card,
  .termine,
  .gal .g,
  .about .photo,
  .cta-band,
  .video-box,
  .notice,
  .mobile-cta,
  .tribe-events .tribe-events-c-events-bar,
  .tribe-events .tribe-events-calendar-list__event-row{
    background:rgba(18,21,29,.88) !important;
  }
}


/* ===== v2.2 Contact card polish: weniger Tabellen-Look, mehr WingTzun-Glas ===== */
.contact-box{
  display:grid !important;
  gap:12px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  font-family:var(--body) !important;
}
.contact-box .ci{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(78px,.34fr) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:center !important;
  min-height:72px !important;
  padding:18px 20px 18px 58px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:
    radial-gradient(90% 130% at 0% 0%, rgba(201,164,78,.12), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.025) 48%, rgba(9,11,18,.42)) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.09) !important;
  backdrop-filter:blur(26px) saturate(1.35) !important;
  -webkit-backdrop-filter:blur(26px) saturate(1.35) !important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease !important;
}
.contact-box .ci:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(201,164,78,.55) !important;
  box-shadow:0 24px 72px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.contact-box .ci::before{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(201,164,78,.16);
  border:1px solid rgba(201,164,78,.35);
  color:var(--gold-2);
  font-family:var(--display);
  font-size:.82rem;
  line-height:1;
  box-shadow:0 0 0 4px rgba(201,164,78,.045);
}
.contact-box .ci-address::before{content:"⌂";}
.contact-box .ci-phone::before{content:"☎";}
.contact-box .ci-mail::before{content:"@";font-weight:700;}
.contact-box .k{
  min-width:0 !important;
  padding:0 !important;
  font-family:var(--display) !important;
  font-size:.66rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  line-height:1.15 !important;
}
.contact-box .v{
  min-width:0 !important;
  font-family:var(--display) !important;
  font-size:clamp(.94rem,1.5vw,1.08rem) !important;
  line-height:1.45 !important;
  color:var(--text) !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}
.contact-box .v a{
  color:var(--text) !important;
  text-decoration:none !important;
}
.contact-box .v a:hover{
  color:var(--gold-2) !important;
}
@media(max-width:620px){
  .contact-box .ci{
    grid-template-columns:1fr !important;
    gap:6px !important;
    padding:18px 18px 18px 56px !important;
  }
  .contact-box .k{font-size:.64rem !important;}
  .contact-box .v{font-size:1rem !important;}
}


/* ===== v2.4 Designer/AI fix: Aktuelles + Termine + private RSVP ===== */
.entry > p:empty,
.entry > div:empty,
.entry .wp-block-spacer:empty,
.entry .wp-block-group:empty{
  display:none !important;
}
.entry hr.wp-block-separator,
.entry .wp-block-separator{
  border:0 !important;
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(201,164,78,.45), transparent) !important;
  margin:28px 0 !important;
}
.wtr-glass-panel{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(110% 160% at 0% 0%, rgba(201,164,78,.13), transparent 58%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.022) 42%, rgba(8,10,15,.48)) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter:blur(30px) saturate(1.42) !important;
  -webkit-backdrop-filter:blur(30px) saturate(1.42) !important;
}
.wtr-glass-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,.12), transparent 30%, transparent 70%, rgba(201,164,78,.07));
  opacity:.42;
}
.wtr-events-block{
  padding:32px;
  margin:0 0 42px;
  border-radius:0;
}
.wtr-events-block > *{position:relative;z-index:1}
.wtr-events-head{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  margin-bottom:24px;
}
.wtr-events-head h2,
.wtr-rsvp-head h2,
.wtr-owner-help h2,
.wtr-empty-news h2{
  font-family:var(--display);
  text-transform:uppercase;
  font-weight:700;
  font-size:clamp(1.8rem,3.5vw,2.7rem);
  line-height:1;
  margin:8px 0 10px;
}
.wtr-events-head p,
.wtr-rsvp-head p,
.wtr-owner-help p,
.wtr-empty-news p{
  color:var(--muted);
  max-width:660px;
}
.wtr-event-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.wtr-event-card{
  min-height:160px;
  padding:22px;
  background:rgba(8,10,15,.42);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .22s,border-color .22s,box-shadow .22s;
}
.wtr-event-card:hover{
  transform:translateY(-3px);
  border-color:rgba(201,164,78,.56);
  box-shadow:0 22px 70px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.1);
}
.wtr-event-meta{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:14px;
}
.wtr-event-meta span,
.wtr-event-link,
.muted-link{
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  color:var(--gold);
}
.wtr-event-meta strong{
  font-family:var(--display);
  color:#dcdad2;
  font-weight:600;
  letter-spacing:.035em;
  font-size:.94rem;
}
.wtr-event-card h3{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:1.28rem;
  line-height:1.05;
  margin:0 0 18px;
}
.wtr-event-card h3 a{color:var(--text)}
.wtr-event-card h3 a:hover{color:var(--gold-2)}
.wtr-events-empty{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.wtr-events-empty h3{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:1.5rem;
  line-height:1.05;
  margin-bottom:8px;
}
.wtr-training-mini{
  display:grid;
  gap:10px;
}
.wtr-training-mini div{
  padding:15px 16px;
  background:rgba(8,10,15,.42);
  border:1px solid rgba(255,255,255,.12);
}
.wtr-training-mini strong{
  display:block;
  font-family:var(--display);
  text-transform:uppercase;
  color:var(--text);
}
.wtr-training-mini span{color:var(--gold-2)}
.wtr-empty-news,
.wtr-owner-help,
.wtr-rsvp-box{
  padding:30px;
  margin:34px 0;
}
.wtr-owner-help{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
}
.wtr-owner-help ul{
  list-style:none;
  display:grid;
  gap:10px;
}
.wtr-owner-help li{
  background:rgba(8,10,15,.38);
  border:1px solid rgba(255,255,255,.11);
  padding:14px 16px;
  color:#dcdad2;
}
.wtr-rsvp-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
}
.wtr-rsvp-counts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  min-width:260px;
}
.wtr-rsvp-counts span{
  padding:14px 16px;
  background:rgba(8,10,15,.42);
  border:1px solid rgba(255,255,255,.12);
  font-family:var(--display);
  color:#dcdad2;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}
.wtr-rsvp-counts strong{
  display:block;
  color:var(--gold-2);
  font-size:1.8rem;
  line-height:1;
}
.wtr-rsvp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.wtr-rsvp-actions form{margin:0}
.wtr-rsvp-actions .btn.is-active{
  outline:2px solid var(--gold-2);
  outline-offset:3px;
}
.wtr-rsvp-message,
.wtr-rsvp-login{
  margin-top:20px;
  padding:16px 18px;
  border:1px solid rgba(201,164,78,.32);
  background:rgba(201,164,78,.08);
  color:#f1e6c7;
}
.wtr-rsvp-login .btn{margin-top:12px}
/* Make the Events Calendar pages read as WingTzun, not plugin-default blue/white. */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button{
  border-radius:0 !important;
  font-family:var(--display) !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
}
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events .tribe-events-c-view-selector__list-item-link:hover{
  color:var(--gold-2) !important;
}
@media(max-width:980px){
  .wtr-event-cards{grid-template-columns:1fr 1fr}
  .wtr-events-head,.wtr-rsvp-head,.wtr-owner-help,.wtr-events-empty{grid-template-columns:1fr;display:grid}
  .wtr-rsvp-counts{min-width:0;width:100%}
}
@media(max-width:620px){
  .wtr-event-cards{grid-template-columns:1fr}
  .wtr-events-block,.wtr-rsvp-box,.wtr-owner-help,.wtr-empty-news{padding:22px}
  .wtr-rsvp-counts{grid-template-columns:1fr}
}


/* ===== v2.5 GLOBAL FROSTED GLASS SYSTEM =====
   Designer correction: glass must be visible, elegant and consistent on every page,
   without big round color bubbles or the page looking empty/flat. */
:root{
  --glass-radius: 26px;
  --glass-radius-sm: 18px;
  --glass-panel: rgba(14, 17, 25, .58);
  --glass-panel-strong: rgba(12, 15, 23, .72);
  --glass-border: rgba(255,255,255,.14);
  --glass-highlight: rgba(255,255,255,.095);
  --glass-gold: rgba(201,164,78,.30);
  --glass-blur: blur(26px) saturate(1.32);
}

html, body{max-width:100%;overflow-x:hidden;}
body{
  background:
    linear-gradient(135deg, rgba(201,164,78,.075), transparent 24%, transparent 74%, rgba(24,50,84,.08)),
    linear-gradient(180deg, #0b0d12 0%, #07090d 100%) !important;
}
body::before{
  opacity:.18 !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 1.4px) !important;
  background-size:32px 32px !important;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background:
    radial-gradient(680px 360px at 82% 14%, rgba(201,164,78,.12), transparent 68%),
    radial-gradient(760px 420px at 14% 74%, rgba(22,42,72,.16), transparent 70%);
  opacity:.78;
}

/* No large decorative circles: they looked like random blobs rather than glass. */
.hero::before,
section.block::before{display:none !important;}
.hero,
section.block,
.page-main{background:transparent !important;}
.hero .bigglyph{right:-10% !important;font-size:min(38vw,520px) !important;color:rgba(255,255,255,.018) !important;}

/* Reusable premium glass look: rounded rectangles, not circles. */
.hero-text,
.page-head,
.entry,
.card,
.feed-card,
.schedule,
.why,
.faq,
.termine,
.gal .g,
.about .photo,
.cta-band,
.video-embed,
.wtr-glass-panel,
.wtr-events-block,
.wtr-empty-news,
.wtr-owner-help,
.wtr-rsvp-box,
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search,
.tribe-events .tribe-events-c-view-selector,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-month__day,
.tribe-events .tribe-events-calendar-month__calendar-event,
.tribe-events .tribe-events-calendar-day__event,
.single-tribe_events .tribe-events-single,
.single-tribe_events .tribe-events-single-event-description,
.single-tribe_events .tribe-events-event-meta,
.single-tribe_events .tribe-events-single-section,
.tribe-tickets__rsvp-wrapper,
.tribe-tickets__tickets-wrapper,
.tribe-tickets__rsvp,
.tribe-tickets__rsvp-form-wrapper,
.tribe-common .tribe-tickets__rsvp-actions,
.tribe-common .tribe-tickets__tickets-item{
  background:
    linear-gradient(135deg, rgba(255,255,255,.072), rgba(255,255,255,.018) 44%, rgba(201,164,78,.030)),
    var(--glass-panel) !important;
  border:1px solid var(--glass-border) !important;
  border-radius:var(--glass-radius) !important;
  box-shadow:0 24px 78px rgba(0,0,0,.42), inset 0 1px 0 var(--glass-highlight) !important;
  backdrop-filter:var(--glass-blur) !important;
  -webkit-backdrop-filter:var(--glass-blur) !important;
}

.hero-text{
  max-width:720px;
  padding:clamp(24px,4vw,46px);
  margin-left:0;
  position:relative;
  overflow:hidden;
}
.hero-text::after,
.page-head::after,
.entry::after,
.card::after,
.feed-card::after,
.schedule::after,
.why::after,
.faq::after,
.termine::after,
.cta-band::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(115deg, rgba(255,255,255,.12), transparent 30%, transparent 72%, rgba(201,164,78,.07));
  opacity:.32;
}
.hero-text > *,
.page-head > *,
.entry > *,
.card > *,
.feed-card > *,
.schedule > *,
.why > *,
.faq > *,
.termine > *,
.cta-band > *{position:relative;z-index:1;}

/* Inner page should no longer look like plain text on a dark background. */
.page-main{padding-top:76px !important;}
.page-head{padding:34px 38px !important;margin-bottom:24px !important;overflow:hidden;}
.entry{padding:34px 38px !important;max-width:920px !important;position:relative;overflow:hidden;}
.entry:empty{display:none !important;}
.content-page{max-width:1040px;margin:0 auto;}

/* Card rhythm: consistent radius and spacing across all pages. */
.card,.feed-card,.termin,.wtr-event-card,.contact-box .ci,.sched-row,.why .cell,.faq-item{border-radius:var(--glass-radius-sm) !important;}
.cards,.feed-grid,.gal,.wtr-event-cards{gap:18px !important;}
.termine,.why,.faq{gap:14px !important;background:transparent !important;border:0 !important;}
.why{grid-template-columns:repeat(4,minmax(0,1fr));}
.why .cell,
.faq-item,
.termin,
.sched-row{
  background:rgba(6,8,13,.36) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055) !important;
}
.schedule{padding:12px;}
.sched-row{margin-bottom:10px;border-bottom:0 !important;}
.sched-row:last-child{margin-bottom:0;}

/* Header glass, but calm. */
.site-header{
  background:rgba(7,9,14,.70) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 16px 50px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.site-logo{border-radius:12px !important;}
.main-nav .menu{gap:22px !important;}
.menu-item-termine > a{color:var(--gold-2) !important;}

/* Hero: avoid clipping and keep image/card aligned. */
.hero{min-height:calc(100vh - 74px) !important;}
.hero-inner{padding-top:86px !important;padding-bottom:86px !important;}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr) !important;gap:42px !important;}
.hero h1{font-size:clamp(2.3rem,6.6vw,5.6rem) !important;}
.hero-photo{
  padding:12px;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025)),rgba(14,17,25,.54);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 26px 86px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter:blur(24px) saturate(1.25);
  -webkit-backdrop-filter:blur(24px) saturate(1.25);
}
.hero-photo img{border-radius:22px !important;box-shadow:none !important;}

/* The Events Calendar: keep dark/gold, not blue/white. */
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search,
.tribe-events .tribe-events-c-top-bar{overflow:hidden !important;}
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-tickets__rsvp-actions-button-going,
.tribe-tickets__rsvp-form-button,
.tribe-tickets__tickets-buy,
.tribe-tickets__tickets-submit,
.btn{
  border-radius:0 !important;
  background:linear-gradient(180deg,var(--gold-2),var(--gold)) !important;
  color:#101010 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 12px 30px rgba(201,164,78,.18), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.btn.ghost,
.tribe-events .tribe-events-c-top-bar__today-button,
.tribe-events .tribe-events-c-view-selector__button,
.tribe-tickets__rsvp-actions-button-not-going{
  background:rgba(255,255,255,.045) !important;
  color:var(--text) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09) !important;
}
.btn:hover,
.tribe-common .tribe-common-c-btn:hover{filter:brightness(1.06);transform:translateY(-2px);}

/* Empty editor/placeholder blocks in public pages: hide them cleanly. */
.entry > .wp-block-spacer,
.entry > p:empty,
.entry > div:empty,
.entry > .wp-block-group:empty,
.entry > .wp-block-columns:empty{display:none !important;}
.entry .wp-block-separator{opacity:.45;}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr !important;}
  .hero-photo{max-width:620px;justify-self:start;}
  .why{grid-template-columns:1fr 1fr !important;}
  .page-head,.entry{padding:26px !important;}
}
@media(max-width:760px){
  .hero{min-height:auto !important;}
  .hero-inner{padding-top:42px !important;padding-bottom:52px !important;}
  .hero-text{padding:22px !important;border-radius:22px !important;}
  .hero h1{font-size:clamp(2.15rem,13vw,3.9rem) !important;}
  .why{grid-template-columns:1fr !important;}
  .page-main{padding-top:44px !important;}
  .page-head,.entry{border-radius:22px !important;}
}


/* ===== v2.6 FINAL POLISH PASS =====
   Cleaner modern martial-arts glass UI. Fixes nav/calendar visibility,
   reduces over-heavy patch feel, and makes the layout feel intentional. */
:root{
  --wtr-radius-lg: 24px;
  --wtr-radius-md: 18px;
  --wtr-radius-sm: 12px;
  --wtr-glass-bg: rgba(14, 17, 25, .58);
  --wtr-glass-bg-strong: rgba(14, 17, 25, .72);
  --wtr-glass-border: rgba(255,255,255,.14);
  --wtr-glass-border-gold: rgba(201,164,78,.34);
}

/* Better anti-cache visible polish on the live site */
body{
  background:
    radial-gradient(900px 420px at 86% 10%, rgba(201,164,78,.105), transparent 70%),
    radial-gradient(780px 420px at 12% 72%, rgba(28,48,82,.12), transparent 72%),
    linear-gradient(180deg,#090b11 0%,#07090e 100%) !important;
}

/* Elegant tiny grain, not distracting dots */
body::before{
  opacity:.12 !important;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.09) 1px, transparent 1.25px) !important;
  background-size:30px 30px !important;
}
body::after{display:none !important;}

/* Stronger, cleaner header */
.site-header{
  background:rgba(7,9,14,.76) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.25) !important;
  backdrop-filter:blur(24px) saturate(1.25) !important;
  border-bottom:1px solid rgba(201,164,78,.18) !important;
}
.site-header .nav{min-height:70px !important;}
.brand img,.custom-logo,.site-logo{max-height:50px !important;object-fit:contain !important;}
.main-nav .menu{align-items:center !important;gap:24px !important;}
.main-nav .menu a,.wtr-nav-extra-termine{
  color:rgba(242,240,233,.66) !important;
  font-family:var(--display) !important;
  font-size:.82rem !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  position:relative !important;
  padding:6px 0 !important;
}
.main-nav .menu a:hover,.main-nav .menu .current-menu-item>a,.wtr-nav-extra-termine:hover{color:var(--text) !important;}
.menu-item-termine > a,.wtr-nav-extra-termine{color:rgba(227,196,115,.92) !important;}
.nav-cta{border-radius:0 !important;padding:13px 28px !important;}

/* Fix possible hero clipping / wide-grid feeling */
.wrap{width:min(calc(100% - 48px), var(--maxw));padding-left:0 !important;padding-right:0 !important;}
.hero{overflow:hidden !important;}
.hero-inner{width:min(calc(100% - 48px), var(--maxw)) !important;margin-left:auto !important;margin-right:auto !important;}
.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(260px,.62fr) !important;gap:min(5vw,52px) !important;}
.hero-text{
  max-width:680px !important;
  border-radius:var(--wtr-radius-lg) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 48%,rgba(201,164,78,.035)),rgba(12,15,22,.60) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 28px 86px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.13) !important;
}
.hero h1{font-size:clamp(2.25rem,6.2vw,5.25rem) !important;letter-spacing:.015em !important;}
.hero p.sub{color:rgba(242,240,233,.80) !important;}
.hero-photo{justify-self:end !important;max-width:330px !important;border-radius:var(--wtr-radius-lg) !important;}
.hero-photo img{aspect-ratio:3/4 !important;max-width:100% !important;}
.hero .bigglyph{right:-6% !important;opacity:.75 !important;}

/* Consistent modern glass cards across the site */
.page-head,.entry,.card,.feed-card,.schedule,.why,.faq,.termine,.gal .g,.about .photo,.cta-band,.video-embed,.wtr-glass-panel,.wtr-events-block,.wtr-empty-news,.wtr-owner-help,.wtr-rsvp-box,.contact-box .ci{
  border-radius:var(--wtr-radius-lg) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.068),rgba(255,255,255,.017) 46%,rgba(201,164,78,.028)),var(--wtr-glass-bg) !important;
  border:1px solid var(--wtr-glass-border) !important;
  box-shadow:0 22px 68px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.115) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
  backdrop-filter:blur(22px) saturate(1.18) !important;
}
.card:hover,.feed-card:hover,.gal .g:hover,.termin:hover,.wtr-event-card:hover{
  border-color:var(--wtr-glass-border-gold) !important;
  box-shadow:0 28px 78px rgba(0,0,0,.42),0 0 0 1px rgba(201,164,78,.12) inset !important;
}
.page-head,.entry{max-width:100% !important;}
.entry{line-height:1.85 !important;}
.entry p{max-width:760px;}

/* Remove any public empty layout ghosts/spacers more aggressively */
.entry > :empty,
.entry > .wp-block-spacer,
.entry > .wp-block-separator:empty,
.wp-block-spacer:empty{display:none !important;}
.entry .wp-block-separator{border-color:rgba(255,255,255,.14) !important;opacity:.55 !important;}

/* Contact box: premium info cards rather than table. */
.contact-box{display:grid !important;gap:12px !important;}
.contact-box .ci{padding:16px 18px !important;border-bottom:0 !important;align-items:center !important;}
.contact-box .k{min-width:92px !important;color:var(--gold-2) !important;}
.contact-box .v{word-break:break-word !important;}

/* Calendar plugin: kill remaining white/blue plugin defaults. */
.tribe-common,.tribe-events,.tribe-events-view,.tribe-events-l-container,.tribe-common-l-container{background:transparent !important;color:var(--text) !important;}
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search,
.tribe-events .tribe-events-c-view-selector,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-month__day,
.tribe-events .tribe-events-calendar-month__calendar-event,
.tribe-events .tribe-events-calendar-day__event,
.single-tribe_events .tribe-events-single,
.single-tribe_events .tribe-events-event-meta,
.tribe-tickets__rsvp-wrapper,
.tribe-tickets__tickets-wrapper,
.tribe-tickets__rsvp{
  border-radius:var(--wtr-radius-md) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 50%,rgba(201,164,78,.025)),var(--wtr-glass-bg-strong) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 22px 68px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.11) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
  backdrop-filter:blur(22px) saturate(1.18) !important;
}
.tribe-common .tribe-common-form-control-text__input,.tribe-events .tribe-events-c-search__input{
  background:rgba(7,9,14,.72) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:12px !important;
}
.tribe-common .tribe-common-c-btn,.tribe-events .tribe-events-c-search__button,.tribe-events .tribe-events-c-subscribe-dropdown__button{
  background:linear-gradient(180deg,var(--gold-2),var(--gold)) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#101010 !important;
}

/* Our RSVP box */
.wtr-rsvp-counts .pill,.wtr-rsvp-message,.wtr-rsvp-login{
  background:rgba(7,9,14,.42) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:14px !important;
}

@media(max-width:980px){
  .wrap,.hero-inner{width:min(calc(100% - 32px), var(--maxw)) !important;}
  .hero-grid{grid-template-columns:1fr !important;}
  .hero-photo{justify-self:start !important;max-width:520px !important;width:100% !important;}
  .main-nav{display:none !important;}
  .burger{display:flex !important;}
}
@media(max-width:760px){
  .wrap,.hero-inner{width:min(calc(100% - 28px), var(--maxw)) !important;}
  .hero-text,.page-head,.entry,.card,.cta-band,.wtr-glass-panel{border-radius:18px !important;}
  .hero h1{font-size:clamp(2rem,12vw,3.35rem) !important;}
  .nav-cta{display:none !important;}
}


/* ===== v2.7 RESPONSIVE HARDENING =====
   Dynamic sizing for laptop, tablet, and mobile. Prevents clipping, oversized
   hero text, plugin overflow, and cramped contact/calendar layouts. */

html{font-size:clamp(15px, .35vw + 14px, 17px) !important;}
body{min-width:320px !important;}
*,*::before,*::after{min-width:0;}
img,video,iframe,svg{max-width:100%;height:auto;}
iframe{border:0;}
.entry iframe,.video-embed iframe{width:100%;aspect-ratio:16/9;height:auto;display:block;}

.wrap,.hero-inner,.site-header .wrap,.site-footer .wrap{
  width:min(calc(100% - clamp(24px, 5vw, 56px)), var(--maxw)) !important;
  max-width:var(--maxw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Make long German words/emails safe on small screens. */
.hero-text,.entry,.page-head,.card,.feed-card,.contact-box,.tribe-common,.tribe-events,.wtr-rsvp-box{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Desktop and laptop: stable hero, no left clipping. */
.hero{min-height:clamp(620px, 82vh, 860px) !important;}
.hero-inner{padding-top:clamp(54px, 7vw, 96px) !important;padding-bottom:clamp(58px, 7vw, 96px) !important;}
.hero-grid{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(240px,.62fr) !important;gap:clamp(28px,5vw,58px) !important;align-items:center !important;}
.hero-text{width:100% !important;}
.hero h1{font-size:clamp(2.35rem, 6.2vw, 5.2rem) !important;max-width:10ch;}
.hero-photo{width:min(100%, 360px) !important;}
.hero-photo img{width:100% !important;height:auto !important;object-fit:cover !important;}

/* Flexible grids for real content. */
.cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.why{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.gal{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.feed-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.about,.cta-band{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;}
.sched-row{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr) !important;}

/* Header: protect laptop widths before mobile menu appears. */
.site-header .nav{gap:clamp(12px,2.4vw,28px) !important;}
.main-nav .menu{gap:clamp(14px,2.3vw,28px) !important;}
.main-nav .menu a{white-space:nowrap !important;}
.nav-cta{white-space:nowrap !important;}

/* Calendar/plugin overflow control. */
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-search,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-month,
.tribe-events .tribe-events-calendar-month__body,
.tribe-events .tribe-events-calendar-month__week,
.tribe-common .tribe-common-l-container{
  max-width:100% !important;
  overflow-x:hidden !important;
}
.tribe-events .tribe-events-c-search__input{min-width:0 !important;width:100% !important;}

/* Tablet landscape / small laptop. */
@media(max-width:1100px){
  .site-header .nav{min-height:66px !important;}
  .brand img,.custom-logo,.site-logo{max-height:44px !important;}
  .main-nav .menu a{font-size:.76rem !important;letter-spacing:.085em !important;}
  .nav-cta{padding:11px 18px !important;font-size:.78rem !important;}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.52fr) !important;}
  .hero h1{font-size:clamp(2.25rem, 6.8vw, 4.55rem) !important;}
  .hero-photo{width:min(100%, 310px) !important;}
  .why{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .gal{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .feed-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* Tablet portrait and below: burger menu, stacked hero. */
@media(max-width:980px){
  .main-nav{display:none !important;}
  .burger{display:flex !important;}
  .mobile-menu{max-height:calc(100vh - 70px);overflow:auto;}
  .hero{min-height:auto !important;}
  .hero-grid{grid-template-columns:1fr !important;gap:30px !important;}
  .hero-text{max-width:760px !important;}
  .hero h1{max-width:11ch;font-size:clamp(2.15rem, 9.6vw, 4.4rem) !important;}
  .hero-photo{justify-self:start !important;width:min(100%, 460px) !important;}
  .cards,.about,.cta-band{grid-template-columns:1fr !important;}
  .schedule{overflow:hidden !important;}
  .sched-row{grid-template-columns:1fr !important;gap:4px !important;padding:18px 20px !important;}
  .sched-row.headr{display:none !important;}
  .contact-box .ci{display:grid !important;grid-template-columns:1fr !important;gap:4px !important;}
}

/* Mobile. */
@media(max-width:760px){
  body{padding-bottom:88px !important;}
  .wrap,.hero-inner,.site-header .wrap,.site-footer .wrap{
    width:min(calc(100% - 28px), var(--maxw)) !important;
  }
  .site-header .nav{min-height:62px !important;}
  .brand img,.custom-logo,.site-logo{max-height:40px !important;}
  .hero-inner{padding-top:34px !important;padding-bottom:46px !important;}
  .hero-text,.page-head,.entry,.card,.feed-card,.cta-band,.wtr-glass-panel,.wtr-events-block,.wtr-rsvp-box{
    padding:20px !important;
    border-radius:18px !important;
  }
  .hero h1{font-size:clamp(2rem, 13.5vw, 3.45rem) !important;line-height:1.02 !important;max-width:9.6ch;}
  .hero p.sub{font-size:1rem !important;margin-top:18px !important;}
  .hero .cta{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .hero .cta .btn,.btn{width:100%;text-align:center;}
  .hero .meta,.trust{font-size:.68rem !important;gap:14px !important;}
  section.block{padding:58px 0 !important;}
  .sec-head{margin-bottom:28px !important;}
  .sec-head h2,.page-title{font-size:clamp(2rem, 11vw, 3rem) !important;}
  .cards,.why,.gal,.feed-grid,.wtr-event-cards{grid-template-columns:1fr !important;}
  .gal .g{aspect-ratio:4/3 !important;}
  .about .photo{aspect-ratio:4/4.6 !important;}
  .cta-band{gap:22px !important;}
  .mobile-cta{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .mobile-cta a{font-size:.68rem !important;letter-spacing:.06em !important;padding:10px 4px !important;}
  .site-footer .foot{display:grid !important;grid-template-columns:1fr !important;gap:28px !important;}
  .site-footer .cols{display:grid !important;grid-template-columns:1fr !important;gap:22px !important;}
}

/* Very small phones. */
@media(max-width:420px){
  .wrap,.hero-inner,.site-header .wrap,.site-footer .wrap{width:calc(100% - 22px) !important;}
  .brand img,.custom-logo,.site-logo{max-height:36px !important;}
  .hero-text,.page-head,.entry,.card,.feed-card,.cta-band{padding:17px !important;border-radius:16px !important;}
  .hero h1{font-size:clamp(1.86rem, 14.5vw, 3rem) !important;}
  .label{font-size:.68rem !important;letter-spacing:.16em !important;}
  .contact-box .v{font-size:.95rem !important;}
  .mobile-cta{left:8px !important;right:8px !important;bottom:8px !important;gap:6px !important;}
}

@supports(padding:max(0px)){
  @media(max-width:760px){
    body{padding-bottom:max(88px, calc(72px + env(safe-area-inset-bottom))) !important;}
    .mobile-cta{bottom:max(8px, env(safe-area-inset-bottom)) !important;}
  }
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .reveal{opacity:1 !important;transform:none !important;}
}


/* ============================================================
   v2.8 – Senior Product + Design pass: polished trainer profile
   Decision: keep the trainer identity, stop using flyer text as an image.
   The About page becomes a human, premium, readable profile: photo + real text.
   ============================================================ */
.page-main .content-page.is-about-page{
  max-width: 1120px;
  margin: 0 auto;
}
.wtr-about-profile{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.82fr);
  gap:clamp(24px,4vw,54px);
  align-items:stretch;
  margin-top:26px;
}
.wtr-about-copy,
.wtr-about-portrait,
.wtr-about-values,
.wtr-about-quote{
  background:
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.018) 48%,rgba(201,164,78,.035)),
    rgba(14,17,25,.62);
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  box-shadow:0 24px 78px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(26px) saturate(1.28);
  -webkit-backdrop-filter:blur(26px) saturate(1.28);
}
.wtr-about-copy{
  padding:clamp(24px,3.4vw,44px);
  position:relative;
  overflow:hidden;
}
.wtr-about-copy::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--gold),rgba(201,164,78,.08));
  opacity:.85;
}
.wtr-about-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 26px;
}
.wtr-about-kicker span,
.wtr-about-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(201,164,78,.35);
  background:rgba(201,164,78,.10);
  color:#f2dfad;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.74rem;
  line-height:1.1;
}
.wtr-about-copy h2{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(2.25rem,4.8vw,4.6rem);
  line-height:.96;
  letter-spacing:.01em;
  margin:8px 0 16px;
}
.wtr-about-copy .lead{
  font-size:clamp(1.05rem,1.5vw,1.22rem);
  color:#f1eee6;
  max-width:60ch;
}
.wtr-about-copy p{
  color:#d8d5cc;
  margin:0 0 15px;
}
.wtr-about-copy .entry{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin-top:18px;
}
.wtr-about-copy .entry > :first-child{margin-top:0;}
.wtr-about-copy .entry > :last-child{margin-bottom:0;}
.wtr-about-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.wtr-about-portrait{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:14px;
  display:flex;
  align-items:flex-end;
}
.wtr-about-portrait::before{
  content:"";
  position:absolute;
  inset:-18% -12% auto 16%;
  height:62%;
  background:radial-gradient(circle at 55% 40%,rgba(201,164,78,.22),rgba(22,36,61,.08) 52%,transparent 72%);
  pointer-events:none;
}
.wtr-about-portrait::after{
  content:"武";
  position:absolute;
  right:-18px;
  bottom:-82px;
  font-family:var(--display);
  font-size:20rem;
  line-height:1;
  color:rgba(255,255,255,.035);
  pointer-events:none;
}
.wtr-about-portrait img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  max-height:620px;
  object-fit:cover;
  object-position:center top;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(0,0,0,.48);
  filter:saturate(1.03) contrast(1.04);
}
.wtr-about-photo-caption{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:28px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,10,15,.62);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.wtr-about-photo-caption strong{
  display:block;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.12rem;
  color:#fff;
}
.wtr-about-photo-caption span{
  display:block;
  color:#c9c7bf;
  font-size:.93rem;
  margin-top:2px;
}
.wtr-about-values{
  margin-top:28px;
  padding:clamp(20px,2.7vw,32px);
}
.wtr-about-values h3,
.wtr-about-quote h3{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(1.55rem,2.4vw,2.2rem);
  line-height:1.05;
  margin:0 0 18px;
}
.wtr-value-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.wtr-value-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:18px;
  background:rgba(255,255,255,.045);
}
.wtr-value-card b{
  display:block;
  color:#fff;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.07em;
  margin:2px 0 8px;
}
.wtr-value-card span{
  display:block;
  color:#c7c4bc;
  font-size:.96rem;
}
.wtr-value-num{
  display:inline-flex;
  color:var(--gold);
  font-family:var(--display);
  letter-spacing:.10em;
  font-size:.82rem;
}
.wtr-about-quote{
  margin-top:28px;
  padding:clamp(20px,2.7vw,32px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
}
.wtr-about-quote p{
  margin:0;
  color:#d9d6ce;
  max-width:70ch;
}
.wtr-about-quote .btn{white-space:nowrap;}
body:not(.logged-in) .entry .wp-block-spacer:empty,
body:not(.logged-in) .entry p:empty,
body:not(.logged-in) .entry .wp-block-separator:empty{
  display:none !important;
}
@media (max-width:980px){
  .wtr-about-profile{grid-template-columns:1fr;}
  .wtr-about-portrait{min-height:0; max-width:620px; width:100%; margin:0 auto;}
  .wtr-about-portrait img{max-height:none; aspect-ratio:4/5;}
  .wtr-value-grid{grid-template-columns:1fr;}
  .wtr-about-quote{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .wtr-about-copy,.wtr-about-values,.wtr-about-quote{padding:22px; border-radius:20px;}
  .wtr-about-portrait{padding:10px; border-radius:20px;}
  .wtr-about-photo-caption{left:20px; right:20px; bottom:20px; padding:14px;}
  .wtr-about-actions .btn{width:100%; justify-content:center; text-align:center;}
}


/* ============================================================
   v2.9 – About + Footer polish
   Decision: the values/CTA section belongs on “Über mich”, but it is framed as
   Guido's training philosophy, not as generic homepage content.
   ============================================================ */
.is-about-page .wtr-about-values .label::after{content:"";}
.wtr-about-values{
  position:relative;
  overflow:hidden;
}
.wtr-about-values::before{
  content:"";
  position:absolute;
  inset:auto -18% -45% auto;
  width:360px;
  height:360px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(201,164,78,.10),transparent 68%);
  pointer-events:none;
}
.wtr-about-values h3{
  max-width:760px;
}
.wtr-about-quote{
  background:
    linear-gradient(135deg,rgba(201,164,78,.13),rgba(255,255,255,.035) 45%,rgba(22,36,61,.10)),
    rgba(14,17,25,.68);
}
.wtr-about-quote h3{
  max-width:720px;
}
.wtr-about-quote .btn{
  box-shadow:0 14px 32px rgba(201,164,78,.18);
}
.site-footer{
  position:relative;
  overflow:hidden;
  margin-top:clamp(46px,7vw,86px);
  padding:clamp(38px,5vw,58px) 0 24px;
  background:
    radial-gradient(70% 120% at 8% 0%,rgba(201,164,78,.08),transparent 58%),
    linear-gradient(180deg,rgba(10,12,18,.94),rgba(7,8,12,.98));
  border-top:1px solid rgba(255,255,255,.10);
}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,164,78,.55),transparent);
}
.site-footer .foot{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(320px,1.3fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}
.site-footer .foot > div:first-child,
.site-footer .cols > div{
  padding:18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.site-footer .cols{
  display:grid;
  grid-template-columns:minmax(160px,.75fr) minmax(260px,1.25fr);
  gap:18px;
}
.site-footer .foot-logo{
  max-height:78px;
  border-radius:8px;
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.site-footer h5{
  color:#fff;
  margin-bottom:14px;
}
.site-footer p,
.site-footer a,
.site-footer .foot-menu a{
  color:#b8b7b1;
}
.site-footer a:hover,
.site-footer .foot-menu a:hover{
  color:var(--gold-2);
}
.copy{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
  color:#8f9098;
  align-items:center;
}
.copy span:first-child{
  color:#b8b7b1;
}
.legal-links a{
  color:#a9a8a2;
}
@media (max-width:900px){
  .site-footer .foot,
  .site-footer .cols{
    grid-template-columns:1fr !important;
  }
}


/* ============================================================
   v3.0 – Senior product/design Schulshop
   Local catalog first: polished, branded, simple to maintain.
   ============================================================ */
.menu-item-shop > a{color:var(--gold-2) !important;}
.is-shop-page .page-head{
  max-width:980px;
}
.wtr-shop-hero{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:clamp(22px,4vw,48px);
  align-items:center;
  padding:clamp(24px,4vw,44px);
  margin-bottom:28px;
}
.wtr-shop-hero h2,
.wtr-shop-empty h3{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(1.9rem,3.8vw,3.3rem);
  line-height:1;
  margin:8px 0 14px;
}
.wtr-shop-hero p{
  max-width:68ch;
  color:#d8d5cc;
  margin:0;
  font-size:1.05rem;
}
.wtr-shop-note{
  border:1px solid rgba(201,164,78,.26);
  border-radius:18px;
  padding:20px;
  background:linear-gradient(135deg,rgba(201,164,78,.16),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 46px rgba(0,0,0,.22);
}
.wtr-shop-note strong{
  display:block;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#fff;
  margin-bottom:6px;
}
.wtr-shop-note span{
  display:block;
  color:#c9c6bc;
  font-size:.95rem;
}
.wtr-shop-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:28px 0;
}
.wtr-shop-card{
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.wtr-shop-card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,164,78,.46) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.10);
}
.wtr-shop-media{
  min-height:210px;
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  background:
    radial-gradient(70% 80% at 50% 35%,rgba(201,164,78,.20),transparent 62%),
    linear-gradient(135deg,rgba(22,36,61,.60),rgba(10,12,18,.92));
  border-bottom:1px solid rgba(255,255,255,.10);
}
.wtr-shop-media span{
  width:82px;
  height:82px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-family:var(--display);
  font-size:2.2rem;
  color:var(--gold-2);
  border:1px solid rgba(201,164,78,.34);
  background:rgba(0,0,0,.22);
  box-shadow:0 20px 50px rgba(0,0,0,.28);
}
.wtr-shop-media.has-image{
  min-height:0;
  background:#0c0e14;
}
.wtr-shop-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:0;
  margin:0;
}
.wtr-shop-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1;
}
.wtr-shop-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.wtr-shop-card h3{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:1.35rem;
  line-height:1.05;
  margin:0;
  color:#fff;
}
.wtr-shop-price{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(201,164,78,.15);
  border:1px solid rgba(201,164,78,.34);
  color:var(--gold-2);
  font-family:var(--display);
  font-size:.86rem;
  letter-spacing:.04em;
}
.wtr-shop-card p{
  color:#c9c7bf;
  margin:0;
  font-size:.96rem;
}
.wtr-shop-sizes{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.035);
}
.wtr-shop-sizes span{
  display:block;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.68rem;
  color:var(--gold);
  margin-bottom:2px;
}
.wtr-shop-sizes b{
  color:#fff;
  font-weight:700;
}
.wtr-shop-body .btn{
  margin-top:auto;
  text-align:center;
}
.wtr-shop-empty{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:clamp(24px,4vw,42px);
  margin:28px 0;
}
.wtr-shop-empty p,
.wtr-shop-legal p{
  margin:0;
  color:#d4d0c8;
  max-width:78ch;
}
.wtr-shop-legal{
  padding:20px 22px;
  margin-top:24px;
  border-style:dashed !important;
}
.wtr-shop-legal strong{
  display:block;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--gold-2);
  margin-bottom:6px;
}
.wtr-shop-entry{
  margin-bottom:24px;
}
@media(max-width:1100px){
  .wtr-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .wtr-shop-hero,
  .wtr-shop-empty{grid-template-columns:1fr;}
  .wtr-shop-grid{grid-template-columns:1fr;}
  .wtr-shop-empty .btn{width:100%;text-align:center;}
  .wtr-shop-topline{display:block;}
  .wtr-shop-price{margin-top:10px;}
}


/* ===== v3.1 Training attendance / Schülerbereich ===== */
.menu-item-attendance a{color:var(--gold-2)!important;}
.is-attendance-page .page-head,
.wtr-teilnahme-page .page-head{margin-bottom:24px;}
.wtr-attendance-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(22px,4vw,46px);
  align-items:center;
  padding:clamp(24px,4vw,44px);
  margin-bottom:22px;
}
.wtr-attendance-hero h2{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
  margin:8px 0 14px;
}
.wtr-attendance-hero p{max-width:68ch;color:#d8d5cc;margin:0;font-size:1.05rem;}
.wtr-attendance-note{
  border:1px solid rgba(201,164,78,.28);
  border-radius:18px;
  padding:20px;
  background:linear-gradient(135deg,rgba(201,164,78,.16),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 18px 46px rgba(0,0,0,.22);
}
.wtr-attendance-note strong{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:6px;}
.wtr-attendance-note span{display:block;color:#c9c6bc;font-size:.95rem;}
.wtr-attendance-message,
.wtr-attendance-login,
.wtr-attendance-owner{
  padding:clamp(20px,3vw,30px);
  margin:22px 0;
}
.wtr-attendance-login,
.wtr-attendance-owner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
}
.wtr-attendance-login h3,
.wtr-attendance-owner h3{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.2rem);text-transform:uppercase;margin:0 0 8px;color:#fff;}
.wtr-attendance-login p,
.wtr-attendance-owner p{margin:0;color:#d5d1c8;max-width:72ch;}
.wtr-attendance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:24px 0;
}
.wtr-attendance-card{
  padding:clamp(18px,3vw,26px);
  border-left:3px solid rgba(201,164,78,.40)!important;
}
.wtr-attendance-card.has-answer{border-color:rgba(201,164,78,.62)!important;box-shadow:0 28px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12);}
.wtr-attendance-date{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--gold-2);}
.wtr-attendance-card h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.05;margin:8px 0;color:#fff;}
.wtr-attendance-card p{color:#cfcbc3;margin:0;}
.wtr-attendance-counts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.wtr-attendance-counts span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.11);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.045);color:#d8d5cc;font-size:.92rem;}
.wtr-attendance-counts strong{color:#fff;}
.wtr-attendance-current{border-top:1px solid rgba(255,255,255,.10);padding-top:14px!important;margin-top:10px!important;}
.wtr-attendance-form{margin-top:16px;}
.wtr-attendance-actions{display:grid;grid-template-columns:1fr;gap:10px;}
.wtr-attendance-cancel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;}
.wtr-attendance-cancel select{
  width:100%;
  min-height:48px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:0;
  padding:0 12px;
  background:rgba(8,10,15,.76);
  color:#f7f3e8;
  font:600 .94rem/1 var(--body);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.wtr-attendance-actions .btn{width:100%;text-align:center;justify-content:center;}
.wtr-attendance-actions .btn.is-active{outline:2px solid rgba(255,255,255,.22);box-shadow:0 0 0 5px rgba(201,164,78,.12),0 18px 46px rgba(201,164,78,.16);}
.wtr-attendance-entry{margin-bottom:22px;}
@media(max-width:960px){
  .wtr-attendance-grid{grid-template-columns:1fr;}
  .wtr-attendance-hero,
  .wtr-attendance-login,
  .wtr-attendance-owner{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .wtr-attendance-cancel{grid-template-columns:1fr;}
  .wtr-attendance-login .btn,
  .wtr-attendance-owner .btn{width:100%;text-align:center;}
}


/* ===== v3.2 HERO COPY & RESPONSIVE TYPOGRAPHY POLISH =====
   Avoids ugly German word splitting in the hero and keeps the title strong on mobile. */
.hero h1{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-wrap:balance;
  letter-spacing:-.015em !important;
}
.hero h1 .hero-line{
  display:inline-block;
  white-space:nowrap;
}
.hero p.sub{
  line-height:1.55 !important;
}
.hero .reassure{
  margin-top:14px !important;
  color:rgba(246,240,226,.86) !important;
}
.hero .trust{
  line-height:1.55 !important;
}
@media(max-width:760px){
  .hero h1{
    font-size:clamp(2.05rem, 11vw, 3.45rem) !important;
    line-height:1.02 !important;
  }
  .hero p.sub{
    font-size:clamp(.98rem, 4vw, 1.08rem) !important;
  }
}
@media(max-width:380px){
  .hero h1{
    font-size:clamp(1.82rem, 10.6vw, 2.72rem) !important;
  }
  .hero .trust{
    font-size:.78rem !important;
  }
}


/* v3.3 Calendar type polish: training, NRW holidays and school holidays */
.wtr-event-card.type-training,
.termin.type-training{
  border-color:rgba(201,164,78,.30) !important;
}
.wtr-event-card.type-public_holiday,
.termin.type-public_holiday,
.wtr-event-card.type-school_holiday,
.termin.type-school_holiday{
  background:linear-gradient(135deg,rgba(201,164,78,.095),rgba(255,255,255,.035)),rgba(12,14,20,.72) !important;
  border-color:rgba(201,164,78,.28) !important;
}
.wtr-event-card.type-training .wtr-event-meta span{color:#f1d381 !important;}
.wtr-event-card.type-public_holiday .wtr-event-meta span,
.wtr-event-card.type-school_holiday .wtr-event-meta span{color:#e3c473 !important;}
.termin.type-public_holiday .t-title,
.termin.type-school_holiday .t-title{color:var(--gold-2) !important;}
.termin.type-training .t-title{color:var(--text) !important;}


/* ============================================================
   v3.4 – Hero typography polish
   Keep the good copy, but fix German umlaut rendering and bad splits.
   ============================================================ */
.hero h1.hero-title{
  text-transform:none !important;
  letter-spacing:-.018em !important;
  line-height:.96 !important;
  max-width:11.8ch !important;
  font-kerning:normal;
  text-rendering:geometricPrecision;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  hyphens:none !important;
}
.hero h1.hero-title .hero-line{
  display:block !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  hyphens:none !important;
}
.hero h1.hero-title .hero-strength{
  letter-spacing:-.026em !important;
}
.hero-text{
  hyphens:none !important;
}
@media(max-width:760px){
  .hero h1.hero-title{
    font-size:clamp(2.25rem, 14vw, 4rem) !important;
    max-width:11.8ch !important;
    line-height:.99 !important;
  }
}
@media(max-width:420px){
  .hero h1.hero-title{
    font-size:clamp(2.05rem, 13.2vw, 3.25rem) !important;
  }
}

/* ===== v3.5 – Product decision: no empty public shop, clear training needs instead ===== */
.wtr-training-needs{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:clamp(22px,3vw,42px);
  align-items:stretch;
  padding:clamp(28px,4vw,54px);
  margin:clamp(18px,3vw,34px) 0;
  position:relative;
  overflow:hidden;
}
.wtr-training-needs:before{
  content:"";
  position:absolute;
  inset:-40% auto auto -12%;
  width:48%;
  height:90%;
  background:radial-gradient(circle at center, rgba(210,174,85,.16), transparent 66%);
  pointer-events:none;
}
.wtr-training-needs-copy,
.wtr-training-needs-list,
.wtr-training-needs-note{position:relative;z-index:1;}
.wtr-training-needs h2{
  margin:.24em 0 .28em;
  max-width:11ch;
  font-family:var(--font-display);
  font-size:clamp(2.4rem,5vw,5.1rem);
  line-height:.92;
  letter-spacing:.012em;
  text-transform:uppercase;
}
.wtr-training-needs p{
  max-width:64ch;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:clamp(1rem,1.45vw,1.22rem);
  line-height:1.72;
}
.wtr-training-needs-list{
  display:grid;
  gap:12px;
}
.need-item{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:8px 14px;
  padding:18px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.need-item span{
  grid-row:1 / span 2;
  font-family:var(--font-display);
  color:var(--gold-2);
  letter-spacing:.12em;
}
.need-item b{
  font-family:var(--font-display);
  color:var(--white);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.need-item em{
  font-style:normal;
  color:rgba(255,255,255,.68);
  line-height:1.5;
}
.wtr-training-needs-note{
  grid-column:1 / -1;
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:18px 20px;
  border:1px solid rgba(210,174,85,.34);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(210,174,85,.14), rgba(255,255,255,.035));
}
.wtr-training-needs-note strong{
  flex:0 0 auto;
  color:var(--gold-2);
  font-family:var(--font-display);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wtr-training-needs-note span{color:rgba(255,255,255,.72);line-height:1.55;}

@media (max-width: 860px){
  .wtr-training-needs{grid-template-columns:1fr;padding:26px 18px;}
  .wtr-training-needs h2{max-width:12ch;}
  .wtr-training-needs-note{display:block;}
  .wtr-training-needs-note strong{display:block;margin-bottom:8px;}
}


/* ===== v3.6 Teilnahme wording polish ===== */
.wtr-attendance-note strong{letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.wtr-attendance-login p,.wtr-attendance-owner p{max-width:760px}
.wtr-attendance-card .wtr-attendance-counts span{white-space:nowrap}

/* ===== v3.8 Professional yearly calendar ===== */
.wtr-termine-page .page-head .lead{
  max-width:760px;
  margin:14px auto 0;
  color:rgba(242,240,233,.72);
  font-size:clamp(1rem,2vw,1.14rem);
}
.wtr-calendar-pro{
  margin:34px 0;
  padding:clamp(22px,3.4vw,34px);
  overflow:hidden;
}
.wtr-calendar-pro-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
  margin-bottom:24px;
}
.wtr-calendar-pro-head h2{
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1.02;
  margin-top:6px;
  text-transform:none;
  letter-spacing:.01em;
}
.wtr-calendar-pro-head p{
  max-width:760px;
  color:rgba(242,240,233,.72);
  margin-top:12px;
}
.wtr-calendar-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(92px,1fr));
  gap:10px;
  min-width:min(420px,100%);
}
.wtr-calendar-summary span{
  display:grid;
  gap:2px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  color:rgba(242,240,233,.70);
  font-size:.82rem;
}
.wtr-calendar-summary strong{
  font-family:var(--display);
  color:var(--gold-2);
  font-size:1.55rem;
  line-height:1;
}
.wtr-calendar-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 24px;
}
.wtr-calendar-filters button{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(242,240,233,.78);
  border-radius:999px;
  padding:10px 14px;
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.76rem;
  cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,transform .15s;
}
.wtr-calendar-filters button:hover,
.wtr-calendar-filters button.is-active{
  background:rgba(201,164,78,.15);
  border-color:rgba(227,196,115,.55);
  color:var(--gold-2);
  transform:translateY(-1px);
}
.wtr-calendar-months{
  display:grid;
  gap:18px;
}
.wtr-calendar-month{
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 55px rgba(0,0,0,.16);
}
.wtr-calendar-month.is-filter-empty{display:none}
.wtr-calendar-month > header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
}
.wtr-calendar-month h3{
  font-family:var(--display);
  font-size:clamp(1.25rem,2.8vw,1.9rem);
  line-height:1.05;
}
.wtr-calendar-month header span{
  color:rgba(242,240,233,.58);
  font-size:.86rem;
  white-space:nowrap;
}
.wtr-calendar-agenda{
  display:grid;
  gap:1px;
  background:rgba(255,255,255,.06);
}
.wtr-calendar-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 20px;
  background:rgba(9,11,17,.62);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.wtr-calendar-item[hidden]{display:none!important}
.wtr-calendar-item time{
  display:grid;
  place-items:center;
  width:64px;
  min-height:64px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.wtr-calendar-item time span{
  font-family:var(--display);
  font-size:1.7rem;
  color:var(--text);
  line-height:1;
}
.wtr-calendar-item time small{
  color:rgba(242,240,233,.58);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.wtr-calendar-item-body{min-width:0}
.wtr-calendar-chip{
  display:inline-flex;
  align-items:center;
  margin-bottom:6px;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(242,240,233,.70);
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wtr-calendar-item h4{
  font-size:1.02rem;
  line-height:1.25;
  margin:0;
  color:var(--text);
}
.wtr-calendar-item h4 a{color:inherit}
.wtr-calendar-item h4 a:hover{color:var(--gold-2)}
.wtr-calendar-item p{
  margin:5px 0 0;
  color:rgba(242,240,233,.62);
  font-size:.92rem;
  line-height:1.45;
}
.wtr-calendar-action{
  justify-self:end;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(227,196,115,.35);
  color:var(--gold-2);
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.72rem;
  white-space:nowrap;
}
.wtr-calendar-action:hover{
  background:rgba(201,164,78,.12);
  color:var(--gold-2);
}
.wtr-calendar-item.type-training{border-left:3px solid rgba(227,196,115,.78)}
.wtr-calendar-item.type-training time{background:rgba(201,164,78,.12);border-color:rgba(227,196,115,.30)}
.wtr-calendar-item.type-public_holiday{border-left:3px solid rgba(120,170,255,.70)}
.wtr-calendar-item.type-public_holiday .wtr-calendar-chip{color:#c9dcff;border-color:rgba(120,170,255,.28);background:rgba(120,170,255,.10)}
.wtr-calendar-item.type-school_holiday{border-left:3px solid rgba(129,219,173,.70)}
.wtr-calendar-item.type-school_holiday .wtr-calendar-chip{color:#c7f5dc;border-color:rgba(129,219,173,.28);background:rgba(129,219,173,.10)}
.wtr-calendar-item.type-plugin,
.wtr-calendar-item.type-custom{border-left:3px solid rgba(255,255,255,.30)}
.wtr-calendar-empty{
  padding:26px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:22px;
  color:rgba(242,240,233,.72);
}
@media (max-width:900px){
  .wtr-calendar-pro-head{grid-template-columns:1fr}
  .wtr-calendar-summary{min-width:0}
}
@media (max-width:680px){
  .wtr-calendar-summary{grid-template-columns:1fr 1fr 1fr}
  .wtr-calendar-summary span{padding:11px 10px;font-size:.75rem}
  .wtr-calendar-summary strong{font-size:1.3rem}
  .wtr-calendar-item{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:15px 14px}
  .wtr-calendar-item time{width:54px;min-height:54px;border-radius:16px}
  .wtr-calendar-item time span{font-size:1.35rem}
  .wtr-calendar-action{grid-column:2;justify-self:start;margin-top:2px}
  .wtr-calendar-month > header{padding:16px 14px}
  .wtr-calendar-filters{gap:8px}
  .wtr-calendar-filters button{font-size:.7rem;padding:8px 10px}
}
@media (max-width:420px){
  .wtr-calendar-summary{grid-template-columns:1fr}
}


/* ===== v4.0 Release hardening: customer-safe polish layer ===== */
:where(a,button,input,select,textarea){-webkit-tap-highlight-color:transparent;}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;}
body{min-width:320px;text-rendering:optimizeLegibility;}
.wrap{width:min(100%, var(--maxw));}
.site-header{box-shadow:0 12px 34px rgba(0,0,0,.18);}
.btn,.wtr-calendar-action,.wtr-event-link{border-radius:999px;}
.main-nav .menu{gap:clamp(14px,2vw,28px);align-items:center;}
.main-nav .menu a{white-space:nowrap;}
.hero-title,.page-title,.wtr-training-needs h2,.wtr-calendar-pro-head h2{overflow-wrap:normal;word-break:normal;hyphens:none;}
.hero-line{display:block;}
.hero-text{max-width:680px;}
.hero .trust,.reassure{overflow-wrap:anywhere;}
.entry,.wtr-glass-panel,.card,.feed-card,.wtr-calendar-item,.wtr-attendance-card{overflow-wrap:break-word;}
.wtr-calendar-item-body p{overflow-wrap:anywhere;}
.wtr-calendar-filters button{min-height:40px;}
.wtr-attendance-form select{max-width:100%;}
.wtr-attendance-actions{align-items:stretch;}
.wtr-attendance-actions .btn{min-height:44px;}
.mobile-menu .menu a{min-height:48px;display:flex;align-items:center;}
.mobile-cta a{min-height:44px;display:grid;place-items:center;}
img[src=""],img:not([src]){display:none!important;}
.wtr-shop-empty{display:none;} /* Future catalog stays invisible until products are enabled. */

@media (max-width: 760px){
  .wrap{padding-left:18px;padding-right:18px;}
  .page-main{padding-top:42px;}
  .hero{min-height:auto;}
  .hero-inner{padding:52px 0 42px;}
  .hero h1{font-size:clamp(3rem,16vw,4.9rem);line-height:.94;}
  .hero p.sub{font-size:1rem;line-height:1.65;}
  .hero .cta{gap:10px;margin-top:26px;}
  .hero .cta .btn{width:100%;text-align:center;}
  .wtr-calendar-pro{padding:20px 14px;margin:24px 0;}
  .wtr-calendar-item{align-items:start;}
  .wtr-calendar-item h4{font-size:1rem;}
  .wtr-calendar-item p{font-size:.88rem;}
  .wtr-attendance-actions{display:grid;grid-template-columns:1fr;gap:10px;}
  .wtr-attendance-cancel{display:grid;grid-template-columns:1fr;gap:10px;}
  .contact-box .ci{display:grid;grid-template-columns:1fr;gap:4px;}
  .contact-box .v{font-size:1rem;overflow-wrap:anywhere;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
  .reveal{opacity:1!important;transform:none!important;}
}


/* ===== v4.1 Contact icons fix: no overlap, clean professional layout =====
   The old icon was absolutely positioned and later CSS overrides removed the
   left padding. This made ADRESSE / TELEFON / E-MAIL overlap the icon on
   desktop and mobile. The icon is now a real grid item. */
.contact-box .ci{
  display:grid !important;
  grid-template-columns:38px minmax(92px, 132px) minmax(0, 1fr) !important;
  align-items:center !important;
  column-gap:18px !important;
  row-gap:4px !important;
  padding:18px 22px !important;
  min-height:76px !important;
}
.contact-box .ci::before{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  width:34px !important;
  height:34px !important;
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  background:linear-gradient(135deg, rgba(201,164,78,.24), rgba(201,164,78,.08)) !important;
  border:1px solid rgba(201,164,78,.42) !important;
  color:var(--gold-2) !important;
  font-family:var(--body) !important;
  font-size:1rem !important;
  line-height:1 !important;
  box-shadow:0 10px 26px rgba(201,164,78,.10), inset 0 1px 0 rgba(255,255,255,.13) !important;
}
.contact-box .ci-address::before{content:"⌖" !important;}
.contact-box .ci-phone::before{content:"☎" !important;}
.contact-box .ci-mail::before{content:"@" !important;font-weight:800 !important;}
.contact-box .k{
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  min-width:0 !important;
  align-self:center !important;
  padding:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  letter-spacing:.16em !important;
}
.contact-box .v{
  grid-column:3 !important;
  grid-row:1 / span 2 !important;
  min-width:0 !important;
  align-self:center !important;
  overflow-wrap:anywhere !important;
}

@media(max-width:620px){
  .contact-box .ci{
    grid-template-columns:38px minmax(0,1fr) !important;
    padding:16px 18px !important;
    column-gap:14px !important;
    row-gap:6px !important;
    min-height:80px !important;
  }
  .contact-box .ci::before{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
  }
  .contact-box .k{
    grid-column:2 !important;
    grid-row:1 !important;
    font-size:.68rem !important;
  }
  .contact-box .v{
    grid-column:2 !important;
    grid-row:2 !important;
    font-size:1rem !important;
  }
}

/* v4.2 – Kalender: Trainingsausfälle klar und professionell markieren */
.wtr-calendar-item.type-cancelled{
  border-left:3px solid rgba(255,112,112,.86);
  background:linear-gradient(135deg, rgba(80,25,25,.34), rgba(9,11,17,.66));
}
.wtr-calendar-item.type-cancelled time{
  background:rgba(255,112,112,.12);
  border-color:rgba(255,112,112,.32);
}
.wtr-calendar-item.type-cancelled .wtr-calendar-chip{
  color:#ffd1d1;
  border-color:rgba(255,112,112,.34);
  background:rgba(255,112,112,.11);
}
.wtr-event-card.type-cancelled{
  border-color:rgba(255,112,112,.35);
  background:linear-gradient(135deg, rgba(80,25,25,.22), rgba(11,13,20,.72));
}
.wtr-event-card.type-cancelled .wtr-event-meta span,
.wtr-calendar-filters button[data-wtr-cal-filter="cancelled"]{
  color:#ffd1d1;
}

/* ===== v4.3 Calendar clarity: status labels + automatic holiday cancellation ===== */
.wtr-calendar-meta-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:6px;
}
.wtr-calendar-meta-line .wtr-calendar-chip{margin-bottom:0;}
.wtr-calendar-status{
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
  color:rgba(242,240,233,.68);
  font-family:var(--display);
  font-size:.7rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.wtr-calendar-status.status-training{
  color:#d7f5d7;
  border-color:rgba(130,220,150,.28);
  background:rgba(90,190,110,.10);
}
.wtr-calendar-status.status-cancelled{
  color:#ffd1d1;
  border-color:rgba(255,112,112,.38);
  background:rgba(255,112,112,.12);
}
.wtr-calendar-item.type-cancelled h4{color:#fff2f2;}
.wtr-calendar-item.type-public_holiday h4{color:#e7efff;}
.wtr-calendar-item.type-school_holiday h4{color:#e6ffef;}
.wtr-calendar-action[href*="teilnahme"]::after{content:"";}
@media(max-width:680px){
  .wtr-calendar-meta-line{gap:6px;}
  .wtr-calendar-status,.wtr-calendar-chip{font-size:.66rem;padding:3px 8px;}
}


/* ===== v4.4 Teilnahme UX polish ===== */
.wtr-attendance-hero strong{color:#fff}
.wtr-attendance-card .wtr-attendance-current strong{color:var(--gold-2)}
.wtr-attendance-actions{gap:12px}
.wtr-attendance-actions .btn{letter-spacing:.08em}
.wtr-attendance-cancel select{min-height:46px}
.wtr-attendance-card:not(.has-answer){border-color:rgba(255,255,255,.14)!important;}
.wtr-attendance-card.has-answer::before{content:"Gespeichert";display:inline-flex;width:max-content;margin-bottom:12px;border:1px solid rgba(201,164,78,.42);border-radius:999px;padding:5px 10px;font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:var(--gold-2);background:rgba(201,164,78,.08)}
@media (max-width:640px){.wtr-attendance-hero{padding:24px 18px}.wtr-attendance-card{padding:20px 16px}.wtr-attendance-card h3{font-size:1.45rem}.wtr-attendance-current{font-size:.98rem}}


/* ===== v4.6 – Polished Trainingszeiten page ===== */
.is-training-page .page-head{margin-bottom:clamp(18px,3vw,30px)}
.wtr-training-hero,
.wtr-training-note{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,3vw,42px);
  align-items:center;
  padding:clamp(28px,4vw,48px);
  margin:clamp(18px,3vw,32px) 0;
}
.wtr-training-hero h2,
.wtr-training-note h2{
  font-family:var(--font-display);
  font-size:clamp(2.15rem,4.8vw,4.8rem);
  line-height:.94;
  letter-spacing:.01em;
  text-transform:uppercase;
  max-width:13ch;
  margin:.18em 0 .28em;
}
.wtr-training-note h2{max-width:12ch;font-size:clamp(1.9rem,3.6vw,3.8rem)}
.wtr-training-hero p,
.wtr-training-note p{
  color:rgba(255,255,255,.74);
  max-width:68ch;
  font-size:clamp(1rem,1.28vw,1.16rem);
  line-height:1.72;
  margin:0;
}
.wtr-training-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.8vw,32px);
  margin:clamp(18px,3vw,34px) 0;
}
.wtr-training-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
  box-shadow:0 28px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  padding:clamp(24px,3.4vw,42px);
}
.wtr-training-card:before{
  content:"";
  position:absolute;
  inset:-35% -25% auto auto;
  width:58%;height:78%;
  background:radial-gradient(circle at center, rgba(210,174,85,.15), transparent 68%);
  pointer-events:none;
}
.wtr-training-card-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.wtr-training-card h3{
  font-family:var(--font-display);
  font-size:clamp(2rem,4vw,4.4rem);
  line-height:.94;
  text-transform:uppercase;
  margin:.14em 0 0;
  color:var(--gold-2);
}
.wtr-training-badge{
  flex:0 0 auto;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(210,174,85,.38);
  background:rgba(210,174,85,.11);
  color:var(--gold-2);
  font-family:var(--font-display);
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
}
.wtr-training-timebox{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  margin:18px 0 22px;
  border-radius:18px;
  border:1px solid rgba(210,174,85,.32);
  background:linear-gradient(135deg, rgba(210,174,85,.12), rgba(255,255,255,.035));
}
.wtr-training-timebox span{color:rgba(255,255,255,.72);font-weight:700}
.wtr-training-timebox strong{color:var(--white);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.wtr-training-card p,
.wtr-training-card ul{position:relative;z-index:1;color:rgba(255,255,255,.76);font-size:1.02rem;line-height:1.68}
.wtr-training-card ul{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}
.wtr-training-card li{position:relative;padding-left:22px}
.wtr-training-card li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:var(--gold-2);box-shadow:0 0 16px rgba(210,174,85,.45)}
@media(max-width:900px){
  .wtr-training-cards{grid-template-columns:1fr}
  .wtr-training-hero,.wtr-training-note{grid-template-columns:1fr}
  .wtr-training-hero .btn,.wtr-training-note .btn{justify-self:start}
}
@media(max-width:560px){
  .wtr-training-card-top,.wtr-training-timebox{display:grid;grid-template-columns:1fr}
  .wtr-training-timebox strong{white-space:normal}
  .wtr-training-card h3{font-size:clamp(2rem,12vw,3.2rem)}
}


/* v4.7: Own professional calendar grid. The Events Calendar plugin archive stays hidden. */
.wtr-calendar-grid-wrap{margin:22px 0 28px;padding:22px;border:1px solid rgba(201,164,78,.24);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.wtr-calendar-grid-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.wtr-calendar-grid-head h3{margin:4px 0 0;font-size:clamp(1.5rem,3vw,2.7rem);line-height:.95;text-transform:uppercase}.wtr-calendar-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.wtr-calendar-legend span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-family:var(--font-display);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78);background:rgba(10,12,18,.55)}
.wtr-calendar-legend span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}.wtr-calendar-legend .legend-cancelled:before{background:#ff786f}.wtr-calendar-legend .legend-public_holiday:before{background:#86b7ff}.wtr-calendar-legend .legend-school_holiday:before{background:#78d59a}.wtr-calendar-legend .legend-custom:before{background:#d6d6d6}
.wtr-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wtr-mini-month{border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:hidden;background:rgba(12,15,22,.64);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.wtr-mini-month>header{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:1rem}.wtr-mini-weekdays,.wtr-mini-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.wtr-mini-weekdays span{padding:8px 4px;text-align:center;font-size:.67rem;color:rgba(255,255,255,.46);font-weight:700;text-transform:uppercase}.wtr-mini-days{gap:1px;background:rgba(255,255,255,.06)}.wtr-mini-day,.wtr-mini-days .is-empty{min-height:70px;background:rgba(10,12,18,.84);padding:7px 6px;position:relative}.wtr-mini-day .day-num{display:block;font-family:var(--font-display);font-size:.95rem;color:rgba(255,255,255,.82);line-height:1}.wtr-mini-day.has-training{box-shadow:inset 0 0 0 1px rgba(201,164,78,.34)}.wtr-mini-day.has-cancelled{box-shadow:inset 0 0 0 1px rgba(255,120,111,.44);background:rgba(45,18,18,.36)}.wtr-mini-day.has-public_holiday{background:rgba(23,38,66,.42)}.wtr-mini-day.has-school_holiday{background:rgba(20,54,36,.30)}.wtr-mini-badges{display:flex;flex-direction:column;gap:3px;margin-top:6px}.mini-badge,.mini-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:3px 5px;border-radius:8px;font-size:.58rem;line-height:1.05;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0b0d12;background:rgba(201,164,78,.92)}.mini-badge.type-cancelled{background:#ff786f;color:#1a0806}.mini-badge.type-public_holiday{background:#86b7ff;color:#071426}.mini-badge.type-school_holiday{background:#78d59a;color:#06180d}.mini-badge.type-plugin,.mini-badge.type-custom,.mini-more{background:rgba(255,255,255,.78);color:#101217}.wtr-calendar-pro .wtr-calendar-months{margin-top:26px}.tribe-events .tribe-events-calendar-month__day-cell{background:rgba(12,15,22,.72)!important}
@media (max-width:1100px){.wtr-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wtr-calendar-grid-head{align-items:flex-start;flex-direction:column}.wtr-calendar-legend{justify-content:flex-start}}
@media (max-width:720px){.wtr-calendar-grid-wrap{padding:14px;border-radius:22px}.wtr-calendar-grid{grid-template-columns:1fr}.wtr-mini-day,.wtr-mini-days .is-empty{min-height:62px;padding:6px 4px}.mini-badge,.mini-more{font-size:.52rem;padding:2px 4px}.wtr-calendar-legend span{font-size:.64rem;padding:7px 8px}}


/* ===== v4.8 – Trainingszeiten robustness + remove old empty editor artifacts ===== */
.is-training-page .entry,
.is-training-page .wp-block-spacer,
.is-training-page .wp-block-separator,
.is-training-page .wp-block-html:empty,
.is-training-page p:empty,
.is-training-page div:empty:not(.wtr-training-card):not(.wtr-training-cards):not(.wtr-training-card-top) {
  display: none !important;
}
.wtr-training-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  margin-top: clamp(22px, 3vw, 36px);
}
.wtr-training-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.wtr-training-card p,
.wtr-training-card li {
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.75;
}
.wtr-training-card ul {
  margin: 14px 0 0;
  padding-left: 1.1em;
}
.wtr-training-timebox {
  margin: 18px 0;
}
.wtr-training-timebox span,
.wtr-training-timebox strong {
  display: block;
}
@media (max-width: 860px) {
  .wtr-training-cards { grid-template-columns: 1fr; }
}


/* ===== v4.9 – Senior typography polish: training cards + calendar note ===== */
.wtr-training-card {
  padding: clamp(26px, 3vw, 38px) !important;
}
.wtr-training-card-top {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}
.wtr-training-card .label {
  letter-spacing: .18em !important;
}
.wtr-training-card h3 {
  font-size: clamp(2.45rem, 3.15vw, 3.75rem) !important;
  line-height: .98 !important;
  max-width: 11.5ch !important;
  margin: 0 !important;
}
.wtr-training-card.is-adults h3 {
  font-size: clamp(2.25rem, 2.8vw, 3.25rem) !important;
  max-width: 13ch !important;
}
.wtr-training-badge {
  justify-self: start !important;
  order: -1 !important;
  margin: 0 0 2px !important;
  font-size: .72rem !important;
  padding: 7px 11px !important;
  letter-spacing: .1em !important;
}
.wtr-training-timebox {
  border-radius: 16px !important;
  padding: 14px 16px !important;
}
.wtr-training-timebox span,
.wtr-training-timebox strong {
  font-size: clamp(.92rem, 1.05vw, 1.05rem) !important;
}
.wtr-training-card p,
.wtr-training-card li {
  font-size: clamp(.98rem, 1.05vw, 1.04rem) !important;
  line-height: 1.65 !important;
}
.wtr-training-note h2 {
  font-size: clamp(2.15rem, 3.2vw, 3.65rem) !important;
  line-height: .98 !important;
  max-width: 14ch !important;
  letter-spacing: .005em !important;
}
.wtr-training-note {
  align-items: start !important;
}
.wtr-training-note .btn {
  align-self: center !important;
}
@media (max-width: 960px) {
  .wtr-training-card h3,
  .wtr-training-card.is-adults h3 {
    font-size: clamp(2.2rem, 8vw, 3.2rem) !important;
    max-width: 13ch !important;
  }
}
@media (max-width: 560px) {
  .wtr-training-card h3,
  .wtr-training-card.is-adults h3,
  .wtr-training-note h2 {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
  }
  .wtr-training-badge { font-size: .66rem !important; }
}


/* ===== v5.0 Calendar UX: Zeitraum-Umschalter ===== */
.wtr-calendar-controls{
  display:grid;
  gap:14px;
  margin:22px 0 18px;
}
.wtr-calendar-range,
.wtr-calendar-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.wtr-calendar-range button,
.wtr-calendar-filters button{
  appearance:none;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.74);
  min-height:40px;
  padding:9px 14px;
  font-family:var(--font-display);
  font-size:.76rem;
  letter-spacing:.075em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.wtr-calendar-range button:hover,
.wtr-calendar-filters button:hover,
.wtr-calendar-range button.is-active,
.wtr-calendar-filters button.is-active{
  background:rgba(201,164,78,.13);
  border-color:rgba(227,196,115,.68);
  color:var(--gold-2);
  transform:translateY(-1px);
}
.wtr-calendar-range{
  padding:10px;
  border:1px solid rgba(201,164,78,.16);
  border-radius:22px;
  background:rgba(10,12,18,.34);
}
.wtr-calendar-range:before{
  content:"Zeitraum";
  margin:0 8px 0 2px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.wtr-calendar-filters:before{
  content:"Filter";
  margin:0 8px 0 2px;
  color:rgba(255,255,255,.55);
  font-family:var(--font-display);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.wtr-mini-month.is-range-hidden,
.wtr-calendar-month.is-range-hidden{display:none!important;}
.wtr-calendar-month.is-filter-empty{display:none!important;}
@media(max-width:700px){
  .wtr-calendar-range,
  .wtr-calendar-filters{gap:8px;}
  .wtr-calendar-range:before,
  .wtr-calendar-filters:before{width:100%;margin:0 0 2px;}
  .wtr-calendar-range button,
  .wtr-calendar-filters button{font-size:.68rem;padding:8px 10px;min-height:38px;}
}


/* v5.1 Owner-only calendar settings card polish */
.wtr-admin-manage-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  border-color:rgba(201,164,78,.24);
}
.wtr-admin-manage-card h2{
  margin:6px 0 10px;
  font-size:clamp(1.8rem,3vw,3rem);
}
.wtr-admin-manage-card p{
  max-width:760px;
  color:var(--muted);
}
.wtr-admin-action{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:5px;
  min-width:280px;
  min-height:74px;
  padding:16px 22px;
  border-radius:18px;
  text-decoration:none;
  color:#111;
  background:linear-gradient(180deg,var(--gold-2),var(--gold));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 20px 52px rgba(201,164,78,.20), inset 0 1px 0 rgba(255,255,255,.35);
}
.wtr-admin-action span{
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.9rem;
  line-height:1.1;
}
.wtr-admin-action small{
  color:rgba(0,0,0,.68);
  font-size:.82rem;
  line-height:1.25;
}
.wtr-admin-action:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}
@media (max-width:760px){
  .wtr-admin-manage-card{grid-template-columns:1fr;padding:22px;}
  .wtr-admin-action{min-width:0;width:100%;}
}

/* ===== v5.2 – Final typography + admin action hardening ===== */
.wtr-training-card h3{
  font-size:clamp(2.35rem, 3vw, 3.45rem) !important;
  line-height:1.02 !important;
  max-width:12.5ch !important;
  letter-spacing:.012em !important;
}
.wtr-training-card.is-adults h3{
  font-size:clamp(2.15rem, 2.55vw, 3rem) !important;
  max-width:14ch !important;
}
.wtr-training-card-top{
  gap:14px !important;
}
.wtr-training-badge{
  position:static !important;
  justify-self:start !important;
  align-self:start !important;
  white-space:nowrap !important;
  margin:2px 0 0 !important;
  font-size:.68rem !important;
  padding:7px 12px !important;
}
.wtr-training-card .label{
  font-size:.72rem !important;
  letter-spacing:.18em !important;
  margin-bottom:10px !important;
  overflow:visible !important;
}
.wtr-admin-manage-card{
  grid-template-columns:minmax(0,1fr) minmax(240px,360px) !important;
  gap:clamp(18px,3vw,36px) !important;
  align-items:center !important;
  padding:clamp(24px,3vw,36px) !important;
  overflow:hidden !important;
}
.wtr-admin-manage-copy .label,
.wtr-admin-manage-card .label{
  display:block !important;
  margin:0 0 10px !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  font-size:.72rem !important;
  white-space:normal !important;
}
.wtr-admin-manage-card h2{
  font-family:var(--font-display, var(--display)) !important;
  font-size:clamp(1.75rem,2.4vw,2.55rem) !important;
  line-height:1.04 !important;
  letter-spacing:.015em !important;
  margin:0 0 12px !important;
}
.wtr-admin-manage-card p{
  font-size:clamp(.96rem,1vw,1.05rem) !important;
  line-height:1.6 !important;
  margin:0 !important;
  max-width:680px !important;
}
.wtr-admin-action{
  width:100% !important;
  min-width:0 !important;
  min-height:72px !important;
  border-radius:16px !important;
  cursor:pointer !important;
  text-align:left !important;
}
.wtr-admin-action span{
  font-size:.82rem !important;
  line-height:1.15 !important;
}
.wtr-admin-action small{
  font-size:.80rem !important;
}
@media(max-width:760px){
  .wtr-admin-manage-card{grid-template-columns:1fr !important;}
  .wtr-training-card h3,
  .wtr-training-card.is-adults h3{font-size:clamp(2.05rem,8vw,2.85rem) !important;}
}

/* ===== v5.3 – Direct Teilnahme links, clean icons, umlaut-safe typography ===== */
/* A WhatsApp link can now target one exact training session. Make the target feel intentional. */
.wtr-attendance-message.is-direct-session{
  border-color:rgba(201,164,78,.38)!important;
  color:rgba(255,255,255,.86);
}
.wtr-attendance-card.is-target-session{
  border-color:rgba(227,196,115,.76)!important;
  box-shadow:0 0 0 1px rgba(227,196,115,.25),0 28px 88px rgba(201,164,78,.16),inset 0 1px 0 rgba(255,255,255,.14)!important;
}
.wtr-attendance-card.is-target-session::after{
  content:"Direkter Link";
  position:absolute;
  right:18px;
  top:18px;
  border:1px solid rgba(227,196,115,.45);
  border-radius:999px;
  padding:6px 10px;
  font-family:var(--font-display,var(--display));
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.68rem;
  color:var(--gold-2);
  background:rgba(201,164,78,.10);
}
.wtr-attendance-card{scroll-margin-top:110px;}

/* Contact icons: replace text/glyph overlap with clean, equal line icons. */
.contact-box .ci{
  grid-template-columns:42px minmax(88px,120px) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
}
.contact-box .ci::before{
  content:"" !important;
  width:36px !important;
  height:36px !important;
  position:static !important;
  display:block !important;
  flex:0 0 36px !important;
  border:1px solid rgba(201,164,78,.38) !important;
  border-radius:999px !important;
  background-color:var(--gold-2) !important;
  box-shadow:0 0 0 6px rgba(201,164,78,.08), inset 0 0 0 8px rgba(12,15,22,.92) !important;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:18px 18px;
  mask-size:18px 18px;
}
.contact-box .ci-address::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
}
.contact-box .ci-phone::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1.3 1.3 0 0 1 1.32-.31c1.45.48 3.02.74 4.62.74.72 0 1.31.59 1.31 1.31V21c0 .72-.59 1.31-1.31 1.31C10.49 22.31 1.69 13.51 1.69 2.65c0-.72.59-1.31 1.31-1.31h4.1c.72 0 1.31.59 1.31 1.31 0 1.6.25 3.17.74 4.62.14.46.03.96-.31 1.32l-2.22 2.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1.3 1.3 0 0 1 1.32-.31c1.45.48 3.02.74 4.62.74.72 0 1.31.59 1.31 1.31V21c0 .72-.59 1.31-1.31 1.31C10.49 22.31 1.69 13.51 1.69 2.65c0-.72.59-1.31 1.31-1.31h4.1c.72 0 1.31.59 1.31 1.31 0 1.6.25 3.17.74 4.62.14.46.03.96-.31 1.32l-2.22 2.2Z'/%3E%3C/svg%3E");
}
.contact-box .ci-mail::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm9 8.2L20 8V7.4l-8 5.2-8-5.2V8l8 5.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm9 8.2L20 8V7.4l-8 5.2-8-5.2V8l8 5.2Z'/%3E%3C/svg%3E");
}
.contact-box .k{min-width:0!important;}
@media(max-width:640px){
  .contact-box .ci{grid-template-columns:38px 1fr!important;gap:10px 12px!important;}
  .contact-box .ci::before{width:34px!important;height:34px!important;}
  .contact-box .k{grid-column:2;grid-row:1;}
  .contact-box .v{grid-column:2;grid-row:2;}
}

/* German umlaut safety: display font looked clipped on Ö/Ä in large headings. */
.wtr-training-hero h2,
.wtr-training-note h2,
.wtr-calendar-pro-head h2,
.hero-title,
.page-title{
  line-height:1.08!important;
  padding-top:.08em!important;
  overflow:visible!important;
  text-rendering:geometricPrecision;
}
.wtr-training-hero h2{font-size:clamp(2.1rem,4.25vw,4.25rem)!important;max-width:14ch!important;}
.wtr-training-note h2{font-size:clamp(2rem,3vw,3.25rem)!important;max-width:15ch!important;}
.wtr-calendar-pro-head h2{font-size:clamp(2.1rem,3.4vw,3.55rem)!important;}
@media(max-width:760px){
  .wtr-training-hero h2,
  .wtr-training-note h2,
  .wtr-calendar-pro-head h2{font-size:clamp(2rem,9vw,2.8rem)!important;line-height:1.1!important;}
}


/* ===== v5.5 Calendar filter polish =====
   When a filter is active, the month grid shows only matching badges.
   Other day cells stay visible as calendar structure, but are visually quiet. */
.wtr-calendar-pro.has-active-filter .wtr-mini-day.is-filter-hidden{
  background:rgba(10,12,18,.64) !important;
  box-shadow:none !important;
  outline:0 !important;
}
.wtr-calendar-pro.has-active-filter .wtr-mini-day.is-filter-hidden .day-num{
  opacity:.34;
}
.wtr-calendar-pro.has-active-filter .wtr-mini-day.is-filter-hidden .wtr-mini-badges{
  display:none;
}
.wtr-calendar-pro.has-active-filter .wtr-mini-day.is-filter-match{
  box-shadow:inset 0 0 0 1px rgba(227,196,115,.42), 0 0 0 1px rgba(0,0,0,.14);
}
.mini-badge[hidden], .mini-more[hidden]{display:none!important;}

/* ===== v5.6 Professioneller Website-Video-Block ===== */
.pro-video-section{position:relative;}
.pro-video-card{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,1.25fr);
  gap:clamp(22px,4vw,56px);
  align-items:center;
  padding:clamp(24px,4vw,56px);
  border-radius:var(--r-xl,28px);
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 15% 10%, rgba(211,174,82,.16), transparent 36%),
    linear-gradient(135deg, rgba(25,28,38,.78), rgba(9,11,16,.78));
  box-shadow:0 28px 90px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  overflow:hidden;
}
.pro-video-copy h2{
  margin:.25rem 0 .8rem;
  font-size:clamp(2.25rem,5vw,5.6rem);
  line-height:1.03;
  letter-spacing:-.02em;
}
.pro-video-copy p{max-width:60ch;color:var(--muted);font-size:clamp(1rem,1.1vw,1.2rem);line-height:1.75;}
.pro-video-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.pro-video-stage{position:relative;}
.pro-video-frame{
  position:relative;
  border-radius:24px;
  padding:10px;
  background:
    linear-gradient(135deg, rgba(211,174,82,.35), rgba(255,255,255,.08)),
    rgba(6,8,12,.72);
  border:1px solid rgba(211,174,82,.28);
  box-shadow:0 22px 70px rgba(0,0,0,.45);
}
.pro-video-frame::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:18px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 80px 130px rgba(255,255,255,.03);
  z-index:2;
}
.wtr-pro-video,.pro-video-embed iframe,.pro-video-embed video,.pro-video-embed embed,.pro-video-embed object{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
  border-radius:18px;
  background:#000;
  object-fit:cover;
}
.pro-video-note{margin-top:10px;color:rgba(255,255,255,.48);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;}
@media (max-width:900px){
  .pro-video-card{grid-template-columns:1fr;padding:22px;}
  .pro-video-copy h2{font-size:clamp(2rem,12vw,3.8rem);}
  .pro-video-actions .btn{width:100%;justify-content:center;text-align:center;}
  .pro-video-note{font-size:.7rem;}
}


/* ===== v6.0 – Kalender: klare öffentliche Zusammenfassung ohne verwirrende Jahreszahlen ===== */
.wtr-calendar-summary-info span strong{font-size:clamp(1.05rem,1.8vw,1.35rem);}
.wtr-calendar-summary-info span{min-width:110px;}
.wtr-calendar-pro .wtr-calendar-summary-info{align-content:start;}

/* v6.2 Familienkonto: mehrere Teilnehmer pro Login */
.wtr-family-info{
  margin:22px 0;
  padding:clamp(22px,3vw,34px);
}
.wtr-family-info h3{
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(1.5rem,3vw,2.4rem);
  line-height:1.05;
  margin:4px 0 10px;
  color:#fff;
}
.wtr-family-info p{margin:0;color:#d6d1c8;max-width:76ch;}
.wtr-participant-list{display:grid;gap:14px;margin-top:18px;}
.wtr-participant-row{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(0,1.4fr);
  gap:16px;
  align-items:start;
  padding:16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(255,255,255,.035);
}
.wtr-participant-row.has-answer{
  border-color:rgba(201,164,78,.45);
  background:linear-gradient(135deg,rgba(201,164,78,.10),rgba(255,255,255,.035));
}
.wtr-participant-meta{display:flex;flex-direction:column;gap:5px;min-width:0;}
.wtr-participant-meta strong{
  font-family:var(--display);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:clamp(1.05rem,1.9vw,1.35rem);
  color:#fff;
  line-height:1.1;
}
.wtr-participant-meta span,
.wtr-participant-meta em{font-style:normal;color:#cfc9bc;font-size:.95rem;}
.wtr-participant-meta em{color:var(--gold-2);}
.wtr-participant-row .wtr-attendance-form{margin-top:0;}
@media (max-width:860px){
  .wtr-participant-row{grid-template-columns:1fr;gap:12px;padding:14px;}
}

/* ===== v6.3 Smart mobile calendar: tap a date, show only that day ===== */
.wtr-mini-day{
  width:100%;
  border:0;
  text-align:left;
  color:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:background .18s ease, box-shadow .18s ease, transform .12s ease, opacity .18s ease;
}
.wtr-mini-day:hover{
  background:rgba(18,22,32,.92);
  box-shadow:inset 0 0 0 1px rgba(227,196,115,.40);
}
.wtr-mini-day:focus-visible{
  outline:2px solid var(--gold-2);
  outline-offset:-2px;
  z-index:2;
}
.wtr-mini-day.is-selected-day{
  background:linear-gradient(145deg, rgba(201,164,78,.22), rgba(10,12,18,.86)) !important;
  box-shadow:inset 0 0 0 2px rgba(227,196,115,.76), 0 10px 28px rgba(201,164,78,.10) !important;
}
.wtr-mini-day.is-selected-day .day-num{
  color:#fff;
}
.wtr-selected-day-panel{
  margin:18px 0 20px;
  padding:clamp(16px,2.5vw,24px);
  border:1px solid rgba(227,196,115,.28);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 48px rgba(0,0,0,.16);
}
.wtr-selected-day-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}
.wtr-selected-day-head h3{
  margin:.2em 0 0;
  font-family:var(--font-display);
  font-size:clamp(1.35rem,3vw,2.1rem);
  line-height:1.05;
  text-transform:none;
}
.wtr-selected-day-panel p{
  margin:10px 0 0;
  color:rgba(242,240,233,.72);
}
.wtr-selected-day-reset{
  border:1px solid rgba(227,196,115,.35);
  border-radius:999px;
  background:rgba(201,164,78,.08);
  color:var(--gold-2);
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  padding:9px 13px;
  cursor:pointer;
  white-space:nowrap;
}
.wtr-selected-day-reset:hover{
  background:rgba(201,164,78,.15);
}
.wtr-calendar-pro.has-selected-day .wtr-calendar-month > header span{
  display:none;
}
.wtr-calendar-pro.has-selected-day .wtr-calendar-month:not(.is-filter-empty){
  border-color:rgba(227,196,115,.25);
}
.wtr-calendar-pro.has-selected-day .wtr-calendar-months{
  margin-top:16px;
}
@media(max-width:720px){
  .wtr-calendar-grid-wrap{margin-bottom:14px;}
  .wtr-mini-day,.wtr-mini-days .is-empty{min-height:68px;}
  .wtr-mini-day .day-num{font-size:1.08rem;}
  .mini-badge,.mini-more{font-size:.58rem;border-radius:999px;padding:3px 6px;max-width:52px;}
  .wtr-selected-day-panel{position:relative;margin:14px 0 16px;border-radius:22px;}
  .wtr-selected-day-head{display:grid;grid-template-columns:1fr;gap:10px;}
  .wtr-selected-day-reset{justify-self:start;}
  .wtr-calendar-pro.has-selected-day .wtr-calendar-item{grid-template-columns:54px minmax(0,1fr);}
  .wtr-calendar-pro.has-selected-day .wtr-calendar-item h4{font-size:1.12rem;line-height:1.22;}
  .wtr-calendar-pro.has-selected-day .wtr-calendar-action{grid-column:1 / -1;justify-self:stretch;text-align:center;margin-top:8px;padding:11px 14px;}
}

/* ===== v6.5 Media & Gallery Polish: dark glass UI, curated clusters ===== */
.wtr-media-showcase{position:relative;overflow:hidden;}
.wtr-media-showcase:before{content:"";position:absolute;inset:8% -10% auto -10%;height:420px;background:radial-gradient(closest-side,rgba(201,164,78,.12),transparent 72%);pointer-events:none;}
.wtr-media-hero{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:24px;align-items:stretch;margin-bottom:28px;}
.wtr-media-hero-copy,.wtr-feature-video,.wtr-media-cluster,.wtr-video-strip,.wtr-media-privacy-note{background:linear-gradient(145deg,rgba(23,26,34,.86),rgba(9,11,16,.72));border:1px solid rgba(255,255,255,.10);box-shadow:0 28px 80px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:26px;}
.wtr-media-hero-copy{padding:34px;display:flex;flex-direction:column;justify-content:center;}
.wtr-media-hero-copy h2{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.8rem);line-height:.95;text-transform:uppercase;margin:8px 0 16px;letter-spacing:.02em;}
.wtr-media-hero-copy p{color:var(--muted);font-size:1.06rem;line-height:1.75;max-width:58ch;}
.wtr-media-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.wtr-media-badges span{font-family:var(--display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);border:1px solid rgba(201,164,78,.28);border-radius:999px;padding:9px 12px;background:rgba(201,164,78,.06);}
.wtr-feature-video{position:relative;overflow:hidden;min-height:320px;display:grid;align-items:stretch;}
.wtr-feature-video video{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;border:0;background:#000;}
.wtr-feature-video:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,8,.55),transparent 55%),linear-gradient(0deg,rgba(3,5,8,.72),transparent 46%);pointer-events:none;}
.wtr-video-glass-caption{position:absolute;left:22px;bottom:22px;right:22px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;background:rgba(7,9,13,.66);border:1px solid rgba(201,164,78,.28);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.wtr-video-glass-caption span{font-family:var(--display);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);}
.wtr-video-glass-caption strong{font-family:var(--display);font-size:1.25rem;text-transform:uppercase;color:#fff;}
.wtr-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;}
.wtr-media-cluster{overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.wtr-media-cluster:hover{transform:translateY(-3px);border-color:rgba(201,164,78,.38);box-shadow:0 32px 90px rgba(0,0,0,.45),0 0 0 1px rgba(201,164,78,.08) inset;}
.wtr-media-cluster-head{display:flex;gap:14px;align-items:flex-start;padding:20px 20px 14px;}
.wtr-media-number{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(201,164,78,.38);color:var(--gold-2);font-family:var(--display);font-weight:700;background:rgba(201,164,78,.08);}
.wtr-media-cluster h3{font-family:var(--display);font-size:clamp(1.22rem,2vw,1.7rem);line-height:1.05;text-transform:uppercase;margin:0 0 6px;color:#fff;}
.wtr-media-cluster p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45;}
.wtr-media-thumbs{display:grid;grid-template-columns:1.35fr .9fr;grid-auto-rows:120px;gap:4px;padding:0 10px;}
.wtr-media-thumbs.count-1{grid-template-columns:1fr;grid-auto-rows:250px;}
.wtr-media-thumbs.count-2{grid-template-columns:1fr 1fr;grid-auto-rows:190px;}
.wtr-media-thumbs img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.98) contrast(1.04);}
.wtr-media-thumbs img:first-child{grid-row:span 2;border-top-left-radius:16px;border-bottom-left-radius:16px;}
.wtr-media-thumbs.count-1 img:first-child,.wtr-media-thumbs.count-2 img:first-child{grid-row:auto;}
.wtr-media-thumbs img:last-child{border-bottom-right-radius:16px;}
.wtr-media-thumbs img:nth-child(2){border-top-right-radius:16px;}
.wtr-media-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 20px;color:rgba(255,255,255,.62);font-size:.86rem;}
.wtr-media-meta a{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);font-size:.82rem;white-space:nowrap;}
.wtr-video-strip{padding:24px;margin-top:22px;}
.wtr-video-strip-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px;}
.wtr-video-strip-head h3{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.4rem);text-transform:uppercase;margin:0;}
.wtr-video-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.wtr-video-card{min-width:0;}
.wtr-video-card video{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:#000;display:block;box-shadow:0 18px 38px rgba(0,0,0,.28);}
.wtr-video-card h4{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;line-height:1.1;margin:12px 0 5px;color:#fff;}
.wtr-video-card p{color:var(--muted);font-size:.88rem;margin:0;}
.wtr-media-privacy-note{margin-top:18px;padding:15px 18px;color:rgba(255,255,255,.68);font-size:.9rem;line-height:1.55;border-color:rgba(201,164,78,.18);}
.wtr-media-privacy-note strong{color:var(--gold-2);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;}
.is-gallery-page .page-head{margin-bottom:22px;}
.is-gallery-page .wtr-media-showcase{padding-top:0;}
@media(max-width:1100px){.wtr-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.wtr-video-list{grid-template-columns:repeat(2,minmax(0,1fr));}.wtr-media-hero{grid-template-columns:1fr;}.wtr-feature-video video{min-height:auto;aspect-ratio:16/9;}}
@media(max-width:720px){.wtr-media-hero-copy{padding:24px 20px}.wtr-media-grid,.wtr-video-list{grid-template-columns:1fr}.wtr-media-thumbs,.wtr-media-thumbs.count-2{grid-template-columns:1fr 1fr;grid-auto-rows:120px}.wtr-media-thumbs img:first-child{grid-row:auto}.wtr-media-meta{align-items:flex-start;flex-direction:column}.wtr-video-glass-caption{left:14px;right:14px;bottom:14px;align-items:flex-start;flex-direction:column}.wtr-video-glass-caption strong{font-size:1rem}.wtr-media-badges span{font-size:.68rem}.wtr-feature-video video{aspect-ratio:9/13}.wtr-media-showcase .wrap{width:min(100% - 24px, var(--wrap));}}

/* v6.6 media-first gallery polish */
.wtr-legacy-gallery-content{padding-top:0;margin-top:-18px;}
.wtr-legacy-gallery-content .feed-intro{opacity:.86;}
.wtr-media-page{padding-bottom:42px;}
.wtr-feature-video video,.wtr-video-card video{background:#05070b;}

/* v6.7 Media intelligence polish: curated homepage + complete gallery */
.wtr-media-showcase .wtr-media-editor-note{
  margin:0 0 20px;
  padding:16px 20px;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(18,21,29,.82),rgba(7,9,14,.68));
  border:1px solid rgba(201,164,78,.20);
  color:rgba(255,255,255,.74);
  box-shadow:0 20px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.wtr-media-showcase .wtr-media-editor-note strong{color:var(--gold-2);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:.84rem}
.wtr-media-label{display:block;color:var(--gold-2);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;margin-bottom:4px}
.wtr-media-grid.is-home-preview{grid-template-columns:repeat(4,minmax(0,1fr));}
.wtr-media-grid.is-home-preview .wtr-media-thumbs{grid-auto-rows:118px;}
.wtr-media-grid.is-full-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
.wtr-media-grid.is-full-gallery .wtr-media-cluster:nth-child(1),
.wtr-media-grid.is-full-gallery .wtr-media-cluster:nth-child(5){grid-column:span 2;}
.wtr-media-grid.is-full-gallery .wtr-media-thumbs{grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:150px;}
.wtr-media-grid.is-full-gallery .wtr-media-thumbs img:first-child{grid-row:span 2;}
.wtr-media-grid.is-full-gallery .wtr-media-thumbs.count-2{grid-template-columns:1fr 1fr;grid-auto-rows:240px;}
.wtr-media-grid.is-full-gallery .wtr-media-thumbs.count-3{grid-template-columns:1.2fr 1fr;grid-auto-rows:160px;}
.wtr-media-grid.is-full-gallery .wtr-media-thumbs.count-3 img:first-child{grid-row:span 2;}
.wtr-media-home .wtr-video-list{grid-template-columns:repeat(5,minmax(0,1fr));}
.wtr-legacy-gallery-content{margin-top:28px;opacity:.9;}
.wtr-legacy-gallery-content .entry{border-color:rgba(255,255,255,.07)!important;background:linear-gradient(145deg,rgba(16,18,25,.72),rgba(8,9,13,.58))!important;}
.wtr-legacy-gallery-content .label:after{content:' · Archiv';color:rgba(255,255,255,.45);font-family:var(--body);letter-spacing:normal;text-transform:none;}
@media(max-width:1180px){.wtr-media-grid.is-home-preview{grid-template-columns:repeat(2,minmax(0,1fr));}.wtr-media-home .wtr-video-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:820px){.wtr-media-grid.is-full-gallery,.wtr-media-grid.is-full-gallery .wtr-media-cluster:nth-child(1),.wtr-media-grid.is-full-gallery .wtr-media-cluster:nth-child(5){grid-template-columns:1fr;grid-column:auto}.wtr-media-grid.is-full-gallery .wtr-media-thumbs{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.wtr-media-grid.is-full-gallery .wtr-media-thumbs img:first-child{grid-row:auto}.wtr-media-grid.is-home-preview{grid-template-columns:1fr}.wtr-media-home .wtr-video-list{grid-template-columns:1fr}.wtr-media-grid.is-full-gallery .wtr-media-thumbs.count-2,.wtr-media-grid.is-full-gallery .wtr-media-thumbs.count-3{grid-template-columns:1fr 1fr;grid-auto-rows:130px}}


/* v7.0 Gallery UX fix: keep gallery interactions on the same polished section */
.wtr-media-static-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--gold);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .78rem;
	opacity: .88;
}
.wtr-media-cluster {
	scroll-margin-top: 120px;
}
.is-gallery-page .page-title {
	content: none;
}

/* v7.1: old gallery archive content removed from output; keep class hidden if cached markup appears */
.wtr-legacy-gallery-content { display: none !important; }

/* v7.3 Gallery polish: cleaner public gallery, no internal editorial note */
.wtr-media-editor-note {
	display: none !important;
}
.wtr-media-cluster h3 {
	letter-spacing: .015em;
	line-height: 1.05;
}
.wtr-media-cluster-head p,
.wtr-media-meta span {
	line-height: 1.45;
}
.wtr-media-label {
	letter-spacing: .13em;
}


/* v7.4 Hero Cinematic Polish: match premium glass/video concept, not small portrait card */
@media (min-width: 901px) {
	.hero {
		min-height: 82vh !important;
		align-items: center !important;
		padding: 44px 0 56px !important;
		background:
			radial-gradient(900px 520px at 80% 24%, rgba(201,164,78,.13), transparent 64%),
			linear-gradient(180deg, #090b10 0%, #0b0d12 100%) !important;
	}
	.hero-inner.hero-grid {
		display: grid !important;
		grid-template-columns: minmax(430px, .72fr) minmax(520px, 1fr) !important;
		gap: 0 !important;
		align-items: stretch !important;
		padding: 0 !important;
		min-height: clamp(520px, 68vh, 700px);
		border: 1px solid rgba(255,255,255,.13);
		border-radius: 30px;
		background:
			linear-gradient(120deg, rgba(20,23,31,.88) 0%, rgba(14,16,22,.68) 48%, rgba(8,10,14,.28) 100%);
		box-shadow: 0 38px 120px rgba(0,0,0,.56), inset 0 1px 0 rgba(255,255,255,.08);
		overflow: hidden;
		backdrop-filter: blur(18px);
		-webkit-backdrop-filter: blur(18px);
	}
	.hero-text {
		position: relative;
		z-index: 3;
		display: flex;
		flex-direction: column;
		justify-content: center;
		border: 0 !important;
		border-radius: 0 !important;
		background:
			linear-gradient(90deg, rgba(12,15,22,.96) 0%, rgba(12,15,22,.86) 74%, rgba(12,15,22,.42) 100%) !important;
		box-shadow: none !important;
		padding: clamp(42px, 5.4vw, 72px) clamp(34px, 4.8vw, 66px) !important;
	}
	.hero-text::after {
		content: "";
		position: absolute;
		right: -90px;
		top: 0;
		bottom: 0;
		width: 180px;
		background: linear-gradient(90deg, rgba(12,15,22,.58), rgba(12,15,22,0));
		pointer-events: none;
	}
	.hero h1 {
		font-size: clamp(3.35rem, 5.55vw, 6.45rem) !important;
		line-height: .97 !important;
		letter-spacing: .008em !important;
		text-transform: none !important;
		max-width: 640px;
	}
	.hero h1 .hero-line {
		display: block;
	}
	.hero h1 .acc {
		color: var(--gold) !important;
	}
	.hero p.sub {
		max-width: 560px !important;
		margin-top: 26px !important;
		font-size: clamp(1.02rem, 1.25vw, 1.26rem) !important;
		line-height: 1.62 !important;
		color: rgba(245,243,236,.86) !important;
	}
	.hero .cta {
		margin-top: 32px !important;
	}
	.hero .trust {
		max-width: 620px;
		opacity: .86;
	}
	.hero-photo {
		position: relative !important;
		justify-self: stretch !important;
		align-self: stretch !important;
		width: 100% !important;
		height: auto !important;
		min-height: 100% !important;
		overflow: hidden !important;
		border-radius: 0 !important;
		background: #0b0d12;
	}
	.hero-photo img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: center center !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		filter: saturate(.96) contrast(1.08) brightness(.78) !important;
		transform: scale(1.03);
	}
	.hero-photo::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background:
			linear-gradient(90deg, rgba(9,11,16,.58) 0%, rgba(9,11,16,.18) 34%, rgba(9,11,16,.32) 100%),
			linear-gradient(0deg, rgba(7,9,13,.34), rgba(7,9,13,.02) 45%, rgba(255,255,255,.04));
		pointer-events: none;
	}
	.hero-photo::after {
		content: "▶";
		position: absolute;
		z-index: 2;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 92px;
		height: 92px;
		display: grid;
		place-items: center;
		padding-left: 5px;
		border-radius: 999px;
		color: #fff8df;
		font-size: 2.15rem;
		line-height: 1;
		background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.2), rgba(201,164,78,.28) 38%, rgba(10,12,17,.78) 72%);
		border: 2px solid rgba(201,164,78,.82);
		box-shadow: 0 0 0 10px rgba(201,164,78,.08), 0 22px 60px rgba(0,0,0,.58);
	}
}

@media (max-width: 900px) {
	.hero {
		min-height: auto !important;
		padding: 34px 0 46px !important;
	}
	.hero-inner.hero-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 22px !important;
		padding: 0 !important;
	}
	.hero-text {
		padding: 30px 24px !important;
	}
	.hero h1 {
		text-transform: none !important;
		line-height: 1.02 !important;
		font-size: clamp(2.75rem, 15vw, 4.25rem) !important;
	}
	.hero-photo {
		display: block !important;
		width: 100% !important;
		justify-self: stretch !important;
		border-radius: 24px !important;
		overflow: hidden !important;
		border: 1px solid rgba(255,255,255,.12);
	}
	.hero-photo img {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		aspect-ratio: 16/10 !important;
		height: auto !important;
		object-fit: cover !important;
		border-radius: 24px !important;
		box-shadow: none !important;
	}
}


/* v7.5 Trainer Visual Polish */
.wtr-about-home-enhanced {
	padding-top: 104px;
}
.wtr-about-brand-visual {
	margin: 0 0 44px;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 26px;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(18,22,31,.82), rgba(8,10,15,.94));
	box-shadow: 0 36px 100px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.06);
}
.wtr-about-brand-visual img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 1;
	object-fit: cover;
	filter: saturate(1.03) contrast(1.04);
}
.wtr-about-home-enhanced .about .photo.has-photo {
	border-radius: 24px;
	border: 1px solid rgba(255,255,255,.13);
	box-shadow: 0 34px 90px rgba(0,0,0,.48);
	background: linear-gradient(135deg, rgba(18,22,31,.86), rgba(6,8,13,.96));
}
.wtr-about-home-enhanced .about .photo.has-photo img {
	object-position: center center;
	filter: saturate(1.04) contrast(1.04) brightness(.98);
}
@media (max-width: 900px) {
	.wtr-about-brand-visual {
		margin-bottom: 30px;
		border-radius: 20px;
	}
	.wtr-about-brand-visual img {
		aspect-ratio: 16 / 9;
		object-position: center center;
	}
}

/* v7.6 Home media polish: no public internal notes or dead links */
.wtr-media-privacy-note,
.wtr-media-meta a,
.wtr-media-static-link {
	display: none !important;
}
.wtr-video-glass-caption.is-minimal span {
	display: none !important;
}
.wtr-video-glass-caption.is-minimal {
	gap: 0;
	justify-content: flex-start;
}
.wtr-media-meta {
	justify-content: flex-start;
}


/* v7.7 About photo cleanup */
.wtr-about-home-enhanced {
	padding-top: 0;
}
.wtr-about-brand-visual {
	display: none !important;
}
.wtr-about-home-enhanced .about {
	align-items: center;
}
.wtr-about-home-enhanced .about .photo.has-photo {
	max-width: 460px;
	margin-inline: auto;
}
.wtr-about-home-enhanced .about .photo.has-photo img {
	object-position: center top;
}


/* =========================================================
   v8.0 Final Polished
   - readable horizontal header logo
   - full integrated hero video background with glass text
   - no narrow photo/video column
   ========================================================= */

/* Header wordmark */
.brand-wordmark {
	gap: 13px;
	min-width: 210px;
	text-decoration: none;
}
.brand-wordmark .brand-emblem {
	width: 46px !important;
	height: 46px !important;
	max-width: 46px !important;
	max-height: 46px !important;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0 0 0 1px rgba(201,164,78,.35), 0 8px 22px rgba(0,0,0,.35);
}
.brand-copy {
	display: flex;
	flex-direction: column;
	line-height: .92;
	color: var(--text);
}
.brand-copy strong {
	font-family: var(--display);
	text-transform: uppercase;
	letter-spacing: .075em;
	font-size: 1.32rem;
	font-weight: 700;
	color: #f6f4ec;
}
.brand-copy small {
	font-family: var(--display);
	text-transform: uppercase;
	letter-spacing: .22em;
	font-size: .72rem;
	color: var(--gold);
	margin-top: 6px;
}

/* Homepage hero: full background media with left glass panel */
@media (min-width: 901px) {
	.hero {
		min-height: 84vh !important;
		padding: 34px 0 58px !important;
		align-items: center !important;
		background:
			radial-gradient(860px 520px at 82% 15%, rgba(201,164,78,.10), transparent 64%),
			linear-gradient(180deg, #06080d 0%, #090b11 100%) !important;
	}
	.hero-inner.hero-grid {
		position: relative !important;
		display: block !important;
		width: min(1540px, calc(100vw - 72px)) !important;
		min-height: clamp(560px, 72vh, 760px) !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: 1px solid rgba(255,255,255,.13) !important;
		border-radius: 30px !important;
		background: #080a0f !important;
		box-shadow: 0 42px 120px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
	}
	.hero-photo {
		position: absolute !important;
		inset: 0 !important;
		z-index: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		background: #080a0f !important;
	}
	.hero-photo img,
	.hero-photo video,
	.hero-video {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		aspect-ratio: auto !important;
		object-fit: cover !important;
		object-position: center center !important;
		filter: saturate(.96) contrast(1.08) brightness(.78) !important;
		transform: scale(1.015);
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	.hero-photo::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background:
			linear-gradient(90deg, rgba(6,8,12,.92) 0%, rgba(8,10,15,.78) 31%, rgba(8,10,15,.35) 53%, rgba(8,10,15,.38) 100%),
			linear-gradient(0deg, rgba(5,7,10,.72) 0%, rgba(5,7,10,.14) 44%, rgba(5,7,10,.28) 100%);
		pointer-events: none;
	}
	/* no fake play button: this is real background video */
	.hero-photo::after {
		display: none !important;
		content: none !important;
	}
	.hero-text {
		position: relative !important;
		z-index: 3 !important;
		width: min(610px, 46%) !important;
		min-height: clamp(500px, 64vh, 690px);
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		margin: clamp(24px, 3.2vw, 42px) 0 clamp(24px, 3.2vw, 42px) clamp(24px, 3.6vw, 54px) !important;
		padding: clamp(32px, 4vw, 58px) clamp(28px, 4vw, 54px) !important;
		border: 1px solid rgba(255,255,255,.13) !important;
		border-radius: 26px !important;
		background:
			linear-gradient(115deg, rgba(10,13,20,.78), rgba(10,13,20,.48)),
			radial-gradient(520px 360px at 18% 4%, rgba(255,255,255,.10), transparent 65%) !important;
		backdrop-filter: blur(16px) saturate(1.15) !important;
		-webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
		box-shadow: 0 28px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08) !important;
	}
	.hero-text::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 3px;
		background: linear-gradient(90deg, var(--gold), transparent 74%);
		opacity: .75;
	}
	.hero h1 {
		font-size: clamp(3rem, 4.75vw, 5.65rem) !important;
		line-height: .96 !important;
		max-width: 600px !important;
		letter-spacing: .006em !important;
		text-transform: none !important;
	}
	.hero h1 .hero-line {
		display: block !important;
	}
	.hero h1 .acc {
		color: var(--gold) !important;
	}
	.hero p.sub {
		max-width: 520px !important;
		margin-top: 22px !important;
		font-size: clamp(1rem, 1.12vw, 1.18rem) !important;
		line-height: 1.62 !important;
		color: rgba(245,243,236,.88) !important;
	}
	.hero .cta {
		margin-top: 30px !important;
		gap: 14px !important;
	}
	.hero .btn {
		box-shadow: 0 12px 32px rgba(0,0,0,.35);
	}
	.hero .reassure {
		margin-top: 18px !important;
		color: rgba(245,243,236,.77) !important;
	}
	.hero .trust {
		margin-top: 22px !important;
		max-width: 540px !important;
		color: rgba(245,243,236,.62) !important;
	}
	.hero .bigglyph {
		display: none !important;
	}
}

/* Mobile hero: text first, real video/photo below */
@media (max-width: 900px) {
	.brand-wordmark {
		min-width: 0;
	}
	.brand-wordmark .brand-emblem {
		width: 42px !important;
		height: 42px !important;
	}
	.brand-copy strong {
		font-size: 1.05rem;
	}
	.brand-copy small {
		font-size: .62rem;
	}
	.hero {
		padding: 26px 0 42px !important;
		min-height: auto !important;
	}
	.hero-inner.hero-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
		padding: 0 !important;
	}
	.hero-text {
		margin: 0 !important;
		padding: 28px 23px !important;
		border-radius: 22px !important;
	}
	.hero h1 {
		font-size: clamp(2.75rem, 15vw, 4.25rem) !important;
		line-height: 1.02 !important;
		text-transform: none !important;
	}
	.hero-photo {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
		border-radius: 22px !important;
		border: 1px solid rgba(255,255,255,.13) !important;
	}
	.hero-photo img,
	.hero-photo video,
	.hero-video {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 10 !important;
		object-fit: cover !important;
		border-radius: 22px !important;
		filter: saturate(.98) contrast(1.06) brightness(.82) !important;
	}
	.hero-photo::before,
	.hero-photo::after {
		display: none !important;
		content: none !important;
	}
}

/* About page / trainer portrait cleanup */
.wtr-about-portrait,
.about .photo.has-photo,
.wtr-about-home-enhanced .about .photo.has-photo {
	background: linear-gradient(135deg, rgba(18,22,31,.78), rgba(7,9,14,.94)) !important;
}
.wtr-about-portrait img,
.about .photo.has-photo img,
.wtr-about-home-enhanced .about .photo.has-photo img {
	object-position: center top !important;
	filter: saturate(1.03) contrast(1.04) brightness(.99) !important;
}
.wtr-about-photo-caption {
	padding: 13px 16px !important;
	border-radius: 14px !important;
	background: rgba(7,9,14,.74) !important;
	backdrop-filter: blur(12px);
}

/* Final small media-card polish */
.wtr-media-meta {
	justify-content: flex-start !important;
}
.wtr-media-meta a,
.wtr-media-static-link,
.wtr-media-privacy-note {
	display: none !important;
}


/* =========================================================
   v8.1 About Frame Fix
   The trainer portrait card should not stretch into a tall empty box.
   ========================================================= */
@media (min-width: 901px) {
	.wtr-about-profile {
		align-items: start !important;
	}
	.wtr-about-portrait {
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: 4 / 5 !important;
		padding: 12px !important;
		align-self: start !important;
		align-items: stretch !important;
		border-radius: 24px !important;
	}
	.wtr-about-portrait img {
		width: 100% !important;
		height: 100% !important;
		max-height: none !important;
		object-fit: cover !important;
		object-position: center top !important;
		border-radius: 18px !important;
	}
	.wtr-about-photo-caption {
		left: 24px !important;
		right: 24px !important;
		bottom: 24px !important;
		padding: 13px 16px !important;
		border-radius: 14px !important;
		background: rgba(7,9,14,.74) !important;
	}
	.wtr-about-portrait::before {
		inset: auto -10% -8% -10% !important;
		height: 44% !important;
		opacity: .55 !important;
	}
	.wtr-about-portrait::after {
		display: none !important;
		content: none !important;
	}
}
@media (max-width: 900px) {
	.wtr-about-portrait {
		min-height: 0 !important;
		aspect-ratio: 4 / 5 !important;
		padding: 10px !important;
	}
	.wtr-about-portrait img {
		height: 100% !important;
		max-height: none !important;
		object-fit: cover !important;
	}
	.wtr-about-photo-caption {
		left: 20px !important;
		right: 20px !important;
		bottom: 20px !important;
	}
}


/* =========================================================
   v8.2 Hero Photo Background
   Homepage uses a real photo as one integrated hero background,
   not a fake video, not a narrow media column.
   ========================================================= */
@media (min-width: 901px) {
	.hero-inner.hero-grid {
		position: relative !important;
		display: block !important;
		width: min(1540px, calc(100vw - 72px)) !important;
		min-height: clamp(560px, 72vh, 760px) !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: 1px solid rgba(255,255,255,.13) !important;
		border-radius: 30px !important;
		background-image:
			linear-gradient(90deg, rgba(6,8,12,.94) 0%, rgba(8,10,15,.80) 30%, rgba(8,10,15,.34) 54%, rgba(8,10,15,.28) 100%),
			linear-gradient(0deg, rgba(5,7,10,.68) 0%, rgba(5,7,10,.08) 46%, rgba(5,7,10,.24) 100%),
			var(--wtr-hero-bg) !important;
		background-size: cover !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		box-shadow: 0 42px 120px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
	}
	.hero-photo {
		position: absolute !important;
		inset: 0 !important;
		z-index: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		background: transparent !important;
	}
	.hero-photo img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		object-fit: cover !important;
		object-position: center center !important;
		opacity: .92 !important;
		filter: saturate(.96) contrast(1.08) brightness(.82) !important;
		transform: scale(1.015);
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	.hero-photo::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background:
			linear-gradient(90deg, rgba(6,8,12,.92) 0%, rgba(8,10,15,.78) 30%, rgba(8,10,15,.32) 54%, rgba(8,10,15,.24) 100%),
			linear-gradient(0deg, rgba(5,7,10,.66) 0%, rgba(5,7,10,.06) 48%, rgba(5,7,10,.20) 100%);
		pointer-events: none;
	}
	.hero-photo::after {
		display: none !important;
		content: none !important;
	}
	.hero-text {
		position: relative !important;
		z-index: 3 !important;
		width: min(610px, 46%) !important;
		min-height: clamp(500px, 64vh, 690px);
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		margin: clamp(24px, 3.2vw, 42px) 0 clamp(24px, 3.2vw, 42px) clamp(24px, 3.6vw, 54px) !important;
		padding: clamp(32px, 4vw, 58px) clamp(28px, 4vw, 54px) !important;
		border: 1px solid rgba(255,255,255,.13) !important;
		border-radius: 26px !important;
		background:
			linear-gradient(115deg, rgba(10,13,20,.78), rgba(10,13,20,.48)),
			radial-gradient(520px 360px at 18% 4%, rgba(255,255,255,.10), transparent 65%) !important;
		backdrop-filter: blur(16px) saturate(1.15) !important;
		-webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
		box-shadow: 0 28px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08) !important;
	}
}

@media (max-width: 900px) {
	.hero-inner.hero-grid {
		background: transparent !important;
	}
	.hero-photo img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 10 !important;
		object-fit: cover !important;
		object-position: center center !important;
	}
}


/* =========================================================
   v8.3 Gallery Unified
   Same dark/gold layout colors, one merged gallery intro frame.
   ========================================================= */
.wtr-media-page .wtr-media-hero.is-gallery-unified {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-height: clamp(420px, 48vw, 620px) !important;
	padding: clamp(28px, 4.5vw, 70px) !important;
	overflow: hidden !important;
	border-radius: 30px !important;
	border: 1px solid rgba(201,164,78,.22) !important;
	background-image:
		linear-gradient(90deg, rgba(7,9,14,.96) 0%, rgba(9,11,17,.86) 36%, rgba(9,11,17,.44) 58%, rgba(9,11,17,.18) 100%),
		linear-gradient(0deg, rgba(7,9,14,.62), rgba(7,9,14,.08) 42%, rgba(7,9,14,.22)),
		var(--wtr-media-hero-bg) !important;
	background-size: cover !important;
	background-position: center 42% !important;
	box-shadow: 0 34px 110px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-unified::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(760px 420px at 78% 20%, rgba(201,164,78,.10), transparent 68%),
		linear-gradient(90deg, rgba(4,6,10,.28), transparent 68%);
	pointer-events: none;
}
.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-hero-copy {
	position: relative !important;
	z-index: 2 !important;
	width: min(560px, 48%) !important;
	max-width: 560px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-unified h2 {
	font-size: clamp(3.2rem, 6.8vw, 6.6rem) !important;
	line-height: .92 !important;
	max-width: 11ch !important;
	letter-spacing: .012em !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-unified p {
	max-width: 500px !important;
	font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
	line-height: 1.65 !important;
	color: rgba(245,243,236,.78) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-badges {
	margin-top: 28px !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-feature-video {
	display: none !important;
}
@media (max-width: 900px) {
	.wtr-media-page .wtr-media-hero.is-gallery-unified {
		min-height: auto !important;
		padding: 28px 22px !important;
		background-position: 62% center !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-hero-copy {
		width: 100% !important;
		max-width: 100% !important;
		padding: 22px !important;
		border-radius: 22px !important;
		background: rgba(8,10,15,.64) !important;
		backdrop-filter: blur(12px) !important;
		-webkit-backdrop-filter: blur(12px) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified h2 {
		font-size: clamp(2.55rem, 14vw, 4.1rem) !important;
		max-width: 12ch !important;
	}
}


/* =========================================================
   v8.4 Hero Integrated Glass
   Remove the "box inside box" feeling: text is now integrated
   into the same hero image container with a soft glass gradient.
   ========================================================= */
@media (min-width: 901px) {
	.hero-inner.hero-grid {
		position: relative !important;
		display: block !important;
		width: min(1540px, calc(100vw - 72px)) !important;
		min-height: clamp(560px, 72vh, 760px) !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: 1px solid rgba(255,255,255,.13) !important;
		border-radius: 30px !important;
		background-image:
			linear-gradient(90deg, rgba(6,8,12,.96) 0%, rgba(8,10,15,.84) 34%, rgba(8,10,15,.38) 57%, rgba(8,10,15,.18) 100%),
			linear-gradient(0deg, rgba(5,7,10,.58) 0%, rgba(5,7,10,.06) 47%, rgba(5,7,10,.20) 100%),
			var(--wtr-hero-bg) !important;
		background-size: cover !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
		box-shadow: 0 42px 120px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
	}
	.hero-photo {
		position: absolute !important;
		inset: 0 !important;
		z-index: 0 !important;
		width: 100% !important;
		height: 100% !important;
		border-radius: 0 !important;
		background: transparent !important;
	}
	.hero-photo img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		object-fit: cover !important;
		object-position: 58% center !important;
		opacity: .94 !important;
		filter: saturate(.98) contrast(1.07) brightness(.86) !important;
		transform: scale(1.01);
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	.hero-photo::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background:
			linear-gradient(90deg, rgba(5,7,11,.94) 0%, rgba(6,8,13,.80) 31%, rgba(6,8,13,.30) 56%, rgba(6,8,13,.12) 100%),
			radial-gradient(720px 520px at 22% 46%, rgba(255,255,255,.06), transparent 70%),
			radial-gradient(820px 460px at 76% 28%, rgba(201,164,78,.08), transparent 72%);
		pointer-events: none;
	}
	.hero-photo::after {
		display: none !important;
		content: none !important;
	}
	.hero-text {
		position: relative !important;
		z-index: 3 !important;
		width: min(610px, 45%) !important;
		min-height: clamp(500px, 64vh, 690px);
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		margin: clamp(26px, 3.5vw, 54px) 0 clamp(26px, 3.5vw, 54px) clamp(28px, 4vw, 68px) !important;
		padding: clamp(22px, 3.4vw, 46px) clamp(20px, 3.4vw, 44px) !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		overflow: visible !important;
	}
	.hero-text::before {
		content: "";
		position: absolute;
		z-index: -1;
		inset: -34px -58px -34px -34px;
		border-radius: 30px;
		background:
			linear-gradient(110deg, rgba(9,12,18,.68), rgba(9,12,18,.34) 58%, rgba(9,12,18,.06)),
			radial-gradient(420px 280px at 16% 9%, rgba(255,255,255,.08), transparent 72%);
		backdrop-filter: blur(10px) saturate(1.10);
		-webkit-backdrop-filter: blur(10px) saturate(1.10);
		border: 1px solid rgba(255,255,255,.07);
		box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
	}
	.hero-text::after {
		content: "";
		position: absolute;
		left: -34px;
		top: 50%;
		width: 3px;
		height: 72%;
		transform: translateY(-50%);
		background: linear-gradient(180deg, transparent, var(--gold), transparent);
		opacity: .75;
	}
	.hero h1 {
		font-size: clamp(3rem, 4.75vw, 5.65rem) !important;
		line-height: .96 !important;
		max-width: 590px !important;
		letter-spacing: .006em !important;
		text-transform: none !important;
	}
	.hero p.sub {
		max-width: 520px !important;
		margin-top: 22px !important;
		font-size: clamp(1rem, 1.12vw, 1.18rem) !important;
		line-height: 1.62 !important;
		color: rgba(245,243,236,.88) !important;
	}
	.hero .cta {
		margin-top: 30px !important;
	}
	.hero .reassure {
		margin-top: 18px !important;
		color: rgba(245,243,236,.78) !important;
	}
	.hero .trust {
		margin-top: 22px !important;
		color: rgba(245,243,236,.64) !important;
	}
}

@media (max-width: 900px) {
	.hero-text {
		border: 1px solid rgba(255,255,255,.12) !important;
		border-radius: 22px !important;
		background: rgba(8,10,15,.68) !important;
		backdrop-filter: blur(12px) !important;
		-webkit-backdrop-filter: blur(12px) !important;
	}
}


/* =========================================================
   v8.5 Gallery Responsive Polish
   Gallery intro is still one unified photo/text container,
   but desktop and phone now avoid text overflow and image chaos.
   ========================================================= */

/* Desktop/tablet: image visible, text readable, no overflow */
@media (min-width: 901px) {
	.wtr-media-page .wtr-media-hero.is-gallery-unified {
		display: grid !important;
		grid-template-columns: minmax(360px, 0.46fr) minmax(420px, 0.54fr) !important;
		align-items: stretch !important;
		gap: 0 !important;
		min-height: clamp(390px, 42vw, 560px) !important;
		padding: 0 !important;
		overflow: hidden !important;
		border-radius: 30px !important;
		background-image:
			linear-gradient(90deg, rgba(7,9,14,.96) 0%, rgba(7,9,14,.90) 38%, rgba(7,9,14,.34) 58%, rgba(7,9,14,.10) 100%),
			var(--wtr-media-hero-bg) !important;
		background-size: cover !important;
		background-position: 72% 44% !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified::before {
		content: "";
		position: absolute;
		inset: 0;
		background:
			radial-gradient(760px 460px at 80% 18%, rgba(201,164,78,.08), transparent 68%),
			linear-gradient(90deg, rgba(4,6,10,.22), transparent 70%);
		pointer-events: none;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-hero-copy {
		position: relative !important;
		z-index: 2 !important;
		width: auto !important;
		max-width: none !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		padding: clamp(34px, 4.2vw, 64px) clamp(28px, 4.2vw, 62px) !important;
		background:
			linear-gradient(100deg, rgba(8,10,15,.86), rgba(8,10,15,.58) 70%, rgba(8,10,15,.08)) !important;
		border: 0 !important;
		box-shadow: none !important;
		backdrop-filter: blur(8px) saturate(1.08) !important;
		-webkit-backdrop-filter: blur(8px) saturate(1.08) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified h2 {
		font-size: clamp(2.9rem, 5.2vw, 5.4rem) !important;
		line-height: .95 !important;
		max-width: 10.7ch !important;
		letter-spacing: .01em !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified p {
		max-width: 470px !important;
		margin-top: 18px !important;
		font-size: clamp(.98rem, 1.12vw, 1.12rem) !important;
		line-height: 1.58 !important;
		color: rgba(245,243,236,.80) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-badges {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
		margin-top: 24px !important;
		max-width: 520px !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-badges span {
		white-space: nowrap !important;
	}
}

/* Phone: compact, no huge overlay box covering the child/photo */
@media (max-width: 900px) {
	.wtr-media-page .wtr-media-hero.is-gallery-unified {
		display: block !important;
		min-height: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border-radius: 24px !important;
		background-image:
			linear-gradient(180deg, rgba(7,9,14,.24), rgba(7,9,14,.88) 58%, rgba(7,9,14,.98) 100%),
			var(--wtr-media-hero-bg) !important;
		background-size: cover !important;
		background-position: 62% 18% !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified::before {
		content: "";
		display: block;
		height: clamp(180px, 54vw, 290px);
		background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.42));
		pointer-events: none;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-hero-copy {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: -34px !important;
		padding: 22px 20px 24px !important;
		border-radius: 22px 22px 0 0 !important;
		background:
			linear-gradient(180deg, rgba(8,10,15,.92), rgba(8,10,15,.98)) !important;
		border: 0 !important;
		box-shadow: 0 -20px 60px rgba(0,0,0,.42) !important;
		backdrop-filter: blur(10px) saturate(1.08) !important;
		-webkit-backdrop-filter: blur(10px) saturate(1.08) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified h2 {
		font-size: clamp(2.2rem, 11.5vw, 3.55rem) !important;
		line-height: .98 !important;
		max-width: 10.8ch !important;
		letter-spacing: .01em !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified p {
		font-size: 1rem !important;
		line-height: 1.5 !important;
		margin-top: 14px !important;
		max-width: 100% !important;
		color: rgba(245,243,236,.78) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-badges {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		margin-top: 18px !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-badges span {
		font-size: .68rem !important;
		padding: 8px 10px !important;
		letter-spacing: .10em !important;
		white-space: nowrap !important;
	}
}

/* Very narrow phones */
@media (max-width: 420px) {
	.wtr-media-page .wtr-media-hero.is-gallery-unified::before {
		height: 170px;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified h2 {
		font-size: clamp(2rem, 10.5vw, 2.8rem) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-unified .wtr-media-badges span {
		font-size: .62rem !important;
		padding: 7px 9px !important;
	}
}


/* =========================================================
   v8.6 Hero Premium Focal
   The trainer must stay visible. Glass text is integrated,
   narrower, softer, and moved left.
   ========================================================= */
@media (min-width: 901px) {
	.hero-inner.hero-grid {
		width: min(1540px, calc(100vw - 72px)) !important;
		min-height: clamp(560px, 72vh, 760px) !important;
		background-image:
			linear-gradient(90deg, rgba(5,7,11,.90) 0%, rgba(6,8,13,.70) 30%, rgba(6,8,13,.18) 49%, rgba(6,8,13,.06) 100%),
			linear-gradient(0deg, rgba(5,7,10,.42) 0%, rgba(5,7,10,.02) 48%, rgba(5,7,10,.16) 100%),
			var(--wtr-hero-bg) !important;
		background-size: cover !important;
		background-position: center center !important;
	}
	.hero-photo img {
		object-position: center center !important;
		opacity: .98 !important;
		filter: saturate(1.02) contrast(1.08) brightness(.94) !important;
		transform: scale(1.004) !important;
	}
	.hero-photo::before {
		background:
			linear-gradient(90deg, rgba(5,7,11,.90) 0%, rgba(6,8,13,.66) 31%, rgba(6,8,13,.16) 50%, rgba(6,8,13,.02) 100%),
			radial-gradient(620px 420px at 22% 48%, rgba(255,255,255,.045), transparent 72%),
			radial-gradient(820px 460px at 73% 30%, rgba(201,164,78,.07), transparent 74%) !important;
	}
	.hero-text {
		width: min(510px, 36%) !important;
		min-height: clamp(480px, 60vh, 650px) !important;
		margin: clamp(24px, 3vw, 42px) 0 clamp(24px, 3vw, 42px) clamp(18px, 2.6vw, 38px) !important;
		padding: clamp(20px, 2.8vw, 38px) clamp(18px, 2.8vw, 36px) !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}
	.hero-text::before {
		inset: -24px -18px -24px -24px !important;
		border-radius: 28px !important;
		background:
			linear-gradient(110deg, rgba(8,11,17,.68), rgba(8,11,17,.40) 65%, rgba(8,11,17,.04)),
			radial-gradient(380px 250px at 18% 8%, rgba(255,255,255,.07), transparent 72%) !important;
		backdrop-filter: blur(7px) saturate(1.06) !important;
		-webkit-backdrop-filter: blur(7px) saturate(1.06) !important;
		border: 1px solid rgba(255,255,255,.07) !important;
		box-shadow: 0 24px 80px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05) !important;
	}
	.hero-text::after {
		left: -24px !important;
		height: 68% !important;
	}
	.hero h1 {
		font-size: clamp(2.85rem, 4.2vw, 5.05rem) !important;
		line-height: .96 !important;
		max-width: 520px !important;
	}
	.hero p.sub {
		max-width: 470px !important;
		font-size: clamp(.98rem, 1.02vw, 1.12rem) !important;
		line-height: 1.58 !important;
	}
	.hero .cta {
		margin-top: 26px !important;
	}
	.hero .btn {
		padding-inline: 23px !important;
	}
	.hero .trust {
		max-width: 470px !important;
	}
}

@media (min-width: 901px) and (max-width: 1260px) {
	.hero-text {
		width: min(480px, 39%) !important;
	}
	.hero h1 {
		font-size: clamp(2.75rem, 4.1vw, 4.5rem) !important;
	}
}

/* Mobile remains clean and readable */
@media (max-width: 900px) {
	.hero-photo img {
		filter: saturate(1.02) contrast(1.06) brightness(.88) !important;
	}
	.hero-text {
		background: rgba(8,10,15,.70) !important;
		backdrop-filter: blur(10px) !important;
		-webkit-backdrop-filter: blur(10px) !important;
	}
}


/* =========================================================
   v8.7 Gallery Logo Polish
   Gallery hero: no child photo behind text. Logo + glass card on left,
   modern media collage on right, same dark/gold color system.
   ========================================================= */
.wtr-media-page .wtr-media-hero.is-gallery-logo {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(340px, .42fr) minmax(440px, .58fr) !important;
	gap: clamp(24px, 3.2vw, 54px) !important;
	align-items: center !important;
	min-height: clamp(420px, 45vw, 610px) !important;
	padding: clamp(24px, 3vw, 38px) !important;
	overflow: hidden !important;
	border-radius: 30px !important;
	border: 1px solid rgba(201,164,78,.25) !important;
	background:
		radial-gradient(900px 520px at 74% 26%, rgba(201,164,78,.10), transparent 70%),
		linear-gradient(135deg, rgba(12,15,22,.96), rgba(5,7,12,.98)) !important;
	box-shadow: 0 36px 115px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(201,164,78,.10), transparent 22%, transparent 78%, rgba(201,164,78,.06)),
		radial-gradient(620px 320px at 36% 0%, rgba(255,255,255,.05), transparent 70%);
	pointer-events: none;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo::after {
	content: "";
	position: absolute;
	left: 46%;
	right: 4%;
	bottom: 8%;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(201,164,78,.72), transparent);
	filter: blur(.5px);
	opacity: .65;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-hero-copy {
	position: relative !important;
	z-index: 2 !important;
	width: 100% !important;
	max-width: none !important;
	padding: clamp(24px, 3.2vw, 42px) !important;
	border-radius: 26px !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	background:
		linear-gradient(145deg, rgba(11,14,21,.78), rgba(7,9,14,.93)),
		radial-gradient(400px 260px at 20% 0%, rgba(255,255,255,.07), transparent 72%) !important;
	box-shadow: 0 24px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07) !important;
	backdrop-filter: blur(14px) saturate(1.12) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
}
.wtr-gallery-logo-mark {
	display: block;
	width: min(250px, 70%);
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
	margin: 0 0 22px;
	border: 1px solid rgba(201,164,78,.38);
	box-shadow: 0 18px 45px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo h2 {
	font-size: clamp(2.8rem, 4.9vw, 5rem) !important;
	line-height: .95 !important;
	max-width: 10.8ch !important;
	letter-spacing: .012em !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo p {
	max-width: 440px !important;
	font-size: clamp(.98rem, 1.08vw, 1.12rem) !important;
	line-height: 1.58 !important;
	color: rgba(245,243,236,.78) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-badges {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 24px !important;
}
.wtr-gallery-collage {
	position: relative;
	z-index: 2;
	height: 100%;
	min-height: 360px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 14px;
	transform: perspective(900px) rotateY(-7deg) rotateX(2deg);
	transform-origin: center;
}
.wtr-gallery-collage::before {
	content: "";
	position: absolute;
	inset: -28px;
	z-index: -1;
	border-radius: 32px;
	background:
		radial-gradient(520px 240px at 55% 92%, rgba(201,164,78,.22), transparent 72%),
		linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.00));
	filter: blur(2px);
}
.wtr-gallery-collage img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,.10);
	box-shadow: 0 22px 55px rgba(0,0,0,.42);
	filter: saturate(.96) contrast(1.05) brightness(.72);
}
.wtr-gallery-collage img:nth-child(1) {
	grid-row: span 2;
}
.wtr-gallery-collage img:nth-child(2),
.wtr-gallery-collage img:nth-child(4) {
	transform: translateY(18px);
}
.wtr-gallery-collage img:nth-child(3) {
	transform: translateY(-8px);
}

/* Hide older gallery unified photo treatment if cached later in CSS */
.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-feature-video {
	display: none !important;
}

@media (max-width: 900px) {
	.wtr-media-page .wtr-media-hero.is-gallery-logo {
		display: block !important;
		min-height: 0 !important;
		padding: 18px !important;
		border-radius: 24px !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-hero-copy {
		padding: 22px 20px !important;
		border-radius: 22px !important;
	}
	.wtr-gallery-logo-mark {
		width: min(170px, 58%) !important;
		margin-bottom: 18px !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo h2 {
		font-size: clamp(2.2rem, 11vw, 3.35rem) !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo p {
		font-size: 1rem !important;
		line-height: 1.5 !important;
	}
	.wtr-gallery-collage {
		margin-top: 18px;
		min-height: 260px;
		transform: none;
		gap: 10px;
	}
	.wtr-gallery-collage img {
		border-radius: 14px;
	}
}

@media (max-width: 420px) {
	.wtr-gallery-collage {
		min-height: 210px;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-badges span {
		font-size: .62rem !important;
		padding: 7px 9px !important;
	}
}


/* =========================================================
   v8.8 Hero Frame Polish
   Fix: headline no longer touches/escapes the glass zone.
   Fix: one unified hero border color, no mixed/double Rand.
   ========================================================= */
@media (min-width: 901px) {
	.hero-inner.hero-grid {
		border: 1px solid rgba(255,255,255,.16) !important;
		outline: 1px solid rgba(201,164,78,.16) !important;
		outline-offset: -1px !important;
		background-image:
			linear-gradient(90deg, rgba(5,7,11,.90) 0%, rgba(6,8,13,.67) 30%, rgba(6,8,13,.16) 49%, rgba(6,8,13,.04) 100%),
			linear-gradient(0deg, rgba(5,7,10,.40) 0%, rgba(5,7,10,.02) 48%, rgba(5,7,10,.14) 100%),
			var(--wtr-hero-bg) !important;
		box-shadow: 0 42px 120px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
	}

	.hero-photo,
	.hero-photo img {
		border: 0 !important;
		outline: 0 !important;
	}
	.hero-photo img {
		object-position: center center !important;
		filter: saturate(1.02) contrast(1.07) brightness(.96) !important;
	}
	.hero-photo::before {
		background:
			linear-gradient(90deg, rgba(5,7,11,.90) 0%, rgba(6,8,13,.62) 31%, rgba(6,8,13,.14) 50%, rgba(6,8,13,.02) 100%),
			radial-gradient(560px 400px at 21% 48%, rgba(255,255,255,.04), transparent 72%),
			radial-gradient(760px 420px at 72% 30%, rgba(201,164,78,.06), transparent 74%) !important;
	}

	.hero-text {
		width: min(475px, 34%) !important;
		min-height: clamp(470px, 58vh, 630px) !important;
		margin: clamp(24px, 3vw, 42px) 0 clamp(24px, 3vw, 42px) clamp(24px, 3vw, 46px) !important;
		padding: clamp(20px, 2.6vw, 36px) clamp(20px, 2.6vw, 34px) !important;
		overflow: visible !important;
	}
	.hero-text::before {
		inset: -22px -24px -22px -22px !important;
		border-radius: 28px !important;
		background:
			linear-gradient(110deg, rgba(8,11,17,.66), rgba(8,11,17,.38) 66%, rgba(8,11,17,.03)),
			radial-gradient(360px 230px at 18% 7%, rgba(255,255,255,.065), transparent 72%) !important;
		backdrop-filter: blur(7px) saturate(1.06) !important;
		-webkit-backdrop-filter: blur(7px) saturate(1.06) !important;
		border: 1px solid rgba(255,255,255,.08) !important;
		box-shadow: 0 24px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
	}
	.hero-text::after {
		left: -22px !important;
		background: linear-gradient(180deg, transparent, rgba(201,164,78,.78), transparent) !important;
	}

	.hero h1 {
		font-size: clamp(2.55rem, 3.72vw, 4.45rem) !important;
		line-height: .98 !important;
		max-width: 430px !important;
		letter-spacing: .004em !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}
	.hero h1 .hero-line {
		display: block !important;
		max-width: 100% !important;
	}
	.hero p.sub {
		max-width: 420px !important;
		font-size: clamp(.95rem, .98vw, 1.06rem) !important;
		line-height: 1.55 !important;
	}
	.hero .cta {
		margin-top: 24px !important;
	}
	.hero .btn {
		padding: 14px 20px !important;
	}
	.hero .reassure,
	.hero .trust {
		max-width: 420px !important;
	}
}

@media (min-width: 901px) and (max-width: 1260px) {
	.hero-text {
		width: min(445px, 38%) !important;
	}
	.hero h1 {
		font-size: clamp(2.45rem, 3.55vw, 4.05rem) !important;
		max-width: 400px !important;
	}
}

/* Phone/tablet: prevent cropped huge title too */
@media (max-width: 900px) {
	.hero-inner.hero-grid {
		border-color: rgba(255,255,255,.15) !important;
	}
	.hero h1 {
		overflow-wrap: normal !important;
		word-break: normal !important;
	}
}


/* =========================================================
   v8.9 Gallery Minimal Logo
   Gallery hero simplified: text left, logo panel right.
   No collage behind/next to text.
   ========================================================= */
.wtr-media-page .wtr-media-hero.is-gallery-logo {
	grid-template-columns: minmax(0, 1fr) minmax(210px, 280px) !important;
	gap: clamp(24px, 3vw, 40px) !important;
	align-items: stretch !important;
	min-height: 0 !important;
	padding: clamp(24px, 3vw, 34px) !important;
	background:
		radial-gradient(780px 420px at 78% 18%, rgba(201,164,78,.10), transparent 72%),
		linear-gradient(135deg, rgba(12,15,22,.97), rgba(6,8,13,.98)) !important;
	border: 1px solid rgba(201,164,78,.22) !important;
	box-shadow: 0 34px 110px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo::after {
	content: none !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo::before {
	background:
		linear-gradient(90deg, rgba(255,255,255,.03), transparent 22%, transparent 78%, rgba(201,164,78,.06)),
		radial-gradient(520px 240px at 24% 0%, rgba(255,255,255,.04), transparent 70%) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-hero-copy {
	padding: clamp(24px, 2.7vw, 34px) !important;
	border-radius: 24px !important;
	min-height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	background:
		linear-gradient(145deg, rgba(9,12,18,.86), rgba(7,9,14,.94)),
		radial-gradient(340px 220px at 18% 0%, rgba(255,255,255,.05), transparent 72%) !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	box-shadow: 0 22px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo h2 {
	font-size: clamp(2.6rem, 4.3vw, 4.5rem) !important;
	line-height: .96 !important;
	max-width: 8.8ch !important;
	margin-right: 0 !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo p {
	max-width: 28ch !important;
	font-size: clamp(.98rem, 1.05vw, 1.08rem) !important;
	line-height: 1.62 !important;
}
.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-badges {
	margin-top: 22px !important;
	max-width: 32rem !important;
}
.wtr-gallery-logo-mark,
.wtr-gallery-collage {
	display: none !important;
}
.wtr-gallery-side-logo {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
}
.wtr-gallery-side-logo-shell {
	width: 100%;
	min-height: 100%;
	padding: clamp(18px, 2vw, 24px);
	border-radius: 24px;
	border: 1px solid rgba(255,255,255,.09);
	background:
		linear-gradient(155deg, rgba(11,14,20,.76), rgba(7,10,15,.92)),
		radial-gradient(240px 170px at 50% 8%, rgba(201,164,78,.09), transparent 70%);
	box-shadow: 0 20px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
	backdrop-filter: blur(12px) saturate(1.05);
	-webkit-backdrop-filter: blur(12px) saturate(1.05);
	display: flex;
	align-items: center;
	justify-content: center;
}
.wtr-gallery-side-logo-shell img {
	display: block;
	width: min(100%, 220px);
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 18px;
	border: 1px solid rgba(201,164,78,.35);
	box-shadow: 0 18px 44px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.06);
}
@media (max-width: 900px) {
	.wtr-media-page .wtr-media-hero.is-gallery-logo {
		grid-template-columns: 1fr !important;
		padding: 18px !important;
		gap: 16px !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo .wtr-media-hero-copy {
		padding: 22px 20px !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo h2 {
		font-size: clamp(2.1rem, 10vw, 3.45rem) !important;
		max-width: 9.2ch !important;
	}
	.wtr-media-page .wtr-media-hero.is-gallery-logo p {
		max-width: none !important;
	}
	.wtr-gallery-side-logo-shell {
		min-height: 0;
		padding: 16px;
	}
	.wtr-gallery-side-logo-shell img {
		width: min(100%, 180px);
	}
}


/* =========================================================
   v9.0 Logo Safe Padding
   Fix header logo clipping when users zoom on mobile.
   ========================================================= */
.brand-wordmark .brand-emblem {
	object-fit: contain !important;
	object-position: center center !important;
	box-sizing: border-box !important;
	padding: 3px !important;
	background: linear-gradient(180deg, rgba(11,14,20,.98), rgba(9,11,17,.98)) !important;
	border: 1px solid rgba(201,164,78,.28) !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05) !important;
	image-rendering: auto;
}
@media (max-width: 900px) {
	.brand-wordmark {
		gap: 10px !important;
	}
	.brand-wordmark .brand-emblem {
		width: 46px !important;
		height: 46px !important;
		max-width: 46px !important;
		max-height: 46px !important;
		padding: 3px !important;
		border-radius: 12px !important;
	}
}


/* =========================================================
   v9.1 Logo + Galerie Section Fix
   - header logo uses real safe-zone image, so zoom cannot cut text
   - Jugendliche & Erwachsene gallery no longer repeats the same studio image
   - misclassified kids image removed from that adult/youth section
   ========================================================= */
.brand-wordmark .brand-emblem {
	object-fit: contain !important;
	object-position: center center !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.34), 0 0 0 1px rgba(201,164,78,.25) !important;
}
@media (max-width: 900px) {
	.brand-wordmark .brand-emblem {
		width: 50px !important;
		height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
	}
	.brand-wordmark {
		gap: 10px !important;
	}
}

/* Better thumbnail balance for youth/adults cluster on mobile. */
#wtr-media-section #jugend-erwachsene .wtr-media-mosaic img {
	object-position: center center !important;
}
#wtr-media-section #jugend-erwachsene .wtr-media-mosaic figure:nth-child(2) img {
	object-position: center 28% !important;
}
#wtr-media-section #jugend-erwachsene .wtr-media-mosaic figure:nth-child(4) img {
	object-position: center 38% !important;
}


/* =========================================================
   v9.3 Hero Rand Premium
   Fix: unified hero/photo frame color. No mixed grey/gold Rand.
   Keeps the same dark-gold premium layout.
   ========================================================= */
.hero-inner.hero-grid {
	border: 1px solid rgba(201,164,78,.32) !important;
	outline: none !important;
	box-shadow:
		0 38px 120px rgba(0,0,0,.58),
		0 0 0 1px rgba(255,255,255,.055) inset,
		0 0 0 2px rgba(201,164,78,.055) inset !important;
}

.hero-inner.hero-grid::before,
.hero-inner.hero-grid::after {
	border-color: transparent !important;
	box-shadow: none !important;
}

.hero-photo,
.hero-photo::before,
.hero-photo::after,
.hero-photo img {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
}

@media (min-width: 901px) {
	.hero-inner.hero-grid {
		border-radius: 30px !important;
		background-image:
			linear-gradient(90deg, rgba(5,7,11,.92) 0%, rgba(6,8,13,.66) 30%, rgba(6,8,13,.15) 49%, rgba(6,8,13,.035) 100%),
			linear-gradient(0deg, rgba(5,7,10,.38) 0%, rgba(5,7,10,.02) 48%, rgba(5,7,10,.12) 100%),
			var(--wtr-hero-bg) !important;
	}

	.hero-text::before {
		border: 1px solid rgba(255,255,255,.075) !important;
		box-shadow:
			0 22px 72px rgba(0,0,0,.30),
			inset 0 1px 0 rgba(255,255,255,.045) !important;
	}

	.hero-text::after {
		background: linear-gradient(180deg, transparent, rgba(201,164,78,.66), transparent) !important;
		opacity: .72 !important;
	}
}

@media (max-width: 900px) {
	.hero-inner.hero-grid {
		border-color: rgba(201,164,78,.26) !important;
		box-shadow:
			0 26px 80px rgba(0,0,0,.52),
			0 0 0 1px rgba(255,255,255,.05) inset !important;
	}
}

/* v9.7 contact fallback layout */
.wtr-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:800px){.wtr-contact-grid{grid-template-columns:1fr}}


/* v9.8 contact form restore */
.wtr-contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}
.wtr-contact-form-card .wpforms-container{margin:0}
.wtr-contact-form{display:grid;gap:16px}
.wtr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wtr-contact-form label{display:grid;gap:8px;color:rgba(255,255,255,.84);font-weight:700}
.wtr-contact-form input,.wtr-contact-form select,.wtr-contact-form textarea{
	width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.28);
	color:#fff;border-radius:10px;padding:13px 14px;font:inherit;outline:none
}
.wtr-contact-form input:focus,.wtr-contact-form select:focus,.wtr-contact-form textarea:focus{
	border-color:rgba(212,173,82,.72);box-shadow:0 0 0 3px rgba(212,173,82,.12)
}
.wtr-privacy-check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;color:rgba(255,255,255,.72)!important}
.wtr-privacy-check input{width:auto;margin-top:4px}
.wtr-form-message{border-radius:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.wtr-form-message.is-success{border-color:rgba(212,173,82,.55);color:#f0d488}
.wtr-form-message.is-error{border-color:rgba(255,90,90,.5);color:#ffb0b0}
@media(max-width:900px){.wtr-contact-grid,.wtr-form-grid{grid-template-columns:1fr}}


/* v9.9 footer + contact polish */
.wtr-contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}
.wtr-contact-note{margin-top:14px;color:rgba(255,255,255,.58);font-size:.95rem}
.wtr-contact-form-card .wpforms-container{margin:0}
.wtr-contact-form{display:grid;gap:16px}
.wtr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wtr-contact-form label{display:grid;gap:8px;color:rgba(255,255,255,.84);font-weight:700}
.wtr-contact-form input,.wtr-contact-form select,.wtr-contact-form textarea{
	width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.28);
	color:#fff;border-radius:10px;padding:13px 14px;font:inherit;outline:none
}
.wtr-contact-form input:focus,.wtr-contact-form select:focus,.wtr-contact-form textarea:focus{
	border-color:rgba(212,173,82,.72);box-shadow:0 0 0 3px rgba(212,173,82,.12)
}
.wtr-privacy-check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;color:rgba(255,255,255,.72)!important}
.wtr-privacy-check input{width:auto;margin-top:4px}
.wtr-form-message{border-radius:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.wtr-form-message.is-success{border-color:rgba(212,173,82,.55);color:#f0d488}
.wtr-form-message.is-error{border-color:rgba(255,90,90,.5);color:#ffb0b0}
.wtr-footer-clean{grid-template-columns:1.15fr 1fr .75fr}
.footer-legal a,.footer-bottom a{color:var(--gold,#d6b45d);text-decoration:none}
.footer-legal a:hover,.footer-bottom a:hover{text-decoration:underline}
@media(max-width:900px){.wtr-contact-grid,.wtr-form-grid,.wtr-footer-clean{grid-template-columns:1fr}}


/* v10 contact + legal final */
.wtr-contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:start;margin-top:24px}
.wtr-contact-intro,.wtr-contact-form-card{padding:34px!important}
.wtr-contact-facts{margin:22px 0;color:rgba(255,255,255,.78)}
.wtr-contact-form{display:grid;gap:16px;margin-top:14px}
.wtr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wtr-contact-form label{display:grid;gap:8px;color:rgba(255,255,255,.86);font-weight:700}
.wtr-contact-form label span{font-size:.9rem;letter-spacing:.02em}
.wtr-contact-form input,.wtr-contact-form select,.wtr-contact-form textarea{
	width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);
	color:#fff;border-radius:12px;padding:14px 15px;font:inherit;outline:none
}
.wtr-contact-form input:focus,.wtr-contact-form select:focus,.wtr-contact-form textarea:focus{
	border-color:rgba(212,173,82,.76);box-shadow:0 0 0 3px rgba(212,173,82,.13)
}
.wtr-privacy-check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;color:rgba(255,255,255,.72)!important}
.wtr-privacy-check input{width:auto;margin-top:5px}
.wtr-form-message{border-radius:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.wtr-form-message.is-success{border-color:rgba(212,173,82,.55);color:#f0d488}
.wtr-form-message.is-error{border-color:rgba(255,90,90,.5);color:#ffb0b0}
.wtr-footer-clean{grid-template-columns:1.15fr 1fr .75fr}
.footer-legal a,.footer-bottom a{color:var(--gold,#d6b45d);text-decoration:none}
.footer-legal a:hover,.footer-bottom a:hover{text-decoration:underline}
@media(max-width:900px){
	.wtr-contact-grid,.wtr-form-grid,.wtr-footer-clean{grid-template-columns:1fr}
	.wtr-contact-intro,.wtr-contact-form-card{padding:24px!important}
}


/* v10.1: Aktuelles hidden for launch, keep site clean until real posts exist */
.site-nav a[href*="/aktuelles"],
.mobile-menu a[href*="/aktuelles"],
.footer-nav a[href*="/aktuelles"]{display:none!important}


/* v10.2 legal + footer fix */
.wtr-footer-clean{grid-template-columns:1.1fr 1fr .75fr;align-items:stretch}
.footer-brand img{width:88px;height:auto;object-fit:contain;border-radius:14px;display:block;margin-bottom:16px}
.footer-wordmark{display:inline-block;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:1.3rem;line-height:1.05;margin-bottom:16px}
.footer-wordmark span{color:var(--gold,#d6b45d);font-size:.8em}
.footer-legal a,.footer-bottom a{color:var(--gold,#d6b45d);text-decoration:none}
.footer-legal a:hover,.footer-bottom a:hover{text-decoration:underline}
.legal-card{padding:clamp(24px,4vw,44px);line-height:1.75}
.legal-card h2{font-size:clamp(1.3rem,2.2vw,2rem);margin:1.6em 0 .55em;color:#fff}
.legal-card h2:first-child{margin-top:0}
.legal-card a{color:var(--gold,#d6b45d)}
.legal-note{margin-top:28px;padding:16px 18px;border:1px solid rgba(212,173,82,.35);border-radius:14px;background:rgba(212,173,82,.08)}
@media(max-width:900px){.wtr-footer-clean{grid-template-columns:1fr}.footer-brand img{width:76px}}


/* v10.3 premium compact footer */
.wtr-footer-premium{
	border-top:1px solid rgba(212,173,82,.28);
	background:
		radial-gradient(circle at 85% 0%, rgba(212,173,82,.10), transparent 34%),
		linear-gradient(180deg, rgba(11,13,18,.96), rgba(5,7,11,.99));
	padding:34px 0 18px;
}
.wtr-footer-top{
	display:grid;
	grid-template-columns:1.2fr 1fr .8fr;
	gap:24px;
	align-items:center;
}
.wtr-footer-brand{
	display:flex;
	align-items:center;
	gap:16px;
	min-width:0;
}
.wtr-footer-brand img{
	width:72px;
	height:72px;
	object-fit:contain;
	border-radius:14px;
	border:1px solid rgba(212,173,82,.32);
	box-shadow:0 16px 34px rgba(0,0,0,.34);
	background:rgba(255,255,255,.03);
}
.wtr-footer-brand strong,
.wtr-footer-training strong,
.wtr-footer-contact strong{
	display:block;
	color:#fff;
	font-family:var(--font-heading, inherit);
	text-transform:uppercase;
	letter-spacing:.08em;
	font-size:1rem;
	margin-bottom:6px;
}
.wtr-footer-brand p,
.wtr-footer-training p,
.wtr-footer-contact p{
	margin:0;
	color:rgba(255,255,255,.68);
	line-height:1.65;
}
.wtr-footer-contact a,
.wtr-footer-bottom a{
	color:var(--gold,#d6b45d);
	text-decoration:none;
}
.wtr-footer-contact a:hover,
.wtr-footer-bottom a:hover{
	text-decoration:underline;
}
.wtr-footer-bottom{
	margin-top:24px;
	padding-top:16px;
	border-top:1px solid rgba(255,255,255,.08);
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:18px;
	color:rgba(255,255,255,.62);
	font-size:.95rem;
}
.wtr-footer-bottom nav{
	display:flex;
	align-items:center;
	gap:10px;
	white-space:nowrap;
}
.legal-card .legal-note{display:none!important}
@media(max-width:900px){
	.wtr-footer-top{grid-template-columns:1fr;align-items:start}
	.wtr-footer-bottom{flex-direction:column;align-items:flex-start}
	.wtr-footer-brand img{width:64px;height:64px}
}


/* v10.6 restore mobile sticky action buttons */
.wtr-mobile-sticky-actions{
	display:none;
}
@media (max-width: 760px){
	body{
		padding-bottom:92px;
	}
	.wtr-mobile-sticky-actions{
		position:fixed;
		left:12px;
		right:12px;
		bottom:12px;
		z-index:99990;
		display:grid;
		grid-template-columns:1fr 1fr 1fr;
		gap:10px;
		padding:10px;
		border:1px solid rgba(255,255,255,.14);
		border-radius:22px;
		background:
			linear-gradient(180deg, rgba(24,27,34,.88), rgba(8,10,15,.94));
		backdrop-filter:blur(18px);
		-webkit-backdrop-filter:blur(18px);
		box-shadow:0 18px 55px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
	}
	.wtr-mobile-action{
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:54px;
		padding:0 10px;
		border-radius:16px;
		border:1px solid rgba(255,255,255,.14);
		background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
		color:#fff;
		text-decoration:none;
		font-family:var(--font-heading, inherit);
		font-weight:900;
		text-transform:uppercase;
		letter-spacing:.055em;
		font-size:clamp(12px, 3.2vw, 15px);
		line-height:1;
		white-space:nowrap;
	}
	.wtr-mobile-action-primary{
		border-color:rgba(212,173,82,.72);
		background:linear-gradient(180deg, #efd27a, #c99a32);
		color:#090b10;
		box-shadow:0 10px 28px rgba(212,173,82,.24);
	}
	.wtr-mobile-action:active{
		transform:translateY(1px);
	}
}
@media (min-width: 761px){
	.wtr-mobile-sticky-actions{
		display:none!important;
	}
}


/* v10.7: mobile sticky actions point directly to the Probetraining form */
#probetraining{
	scroll-margin-top:110px;
}


/* v11.1 typography safety: protect umlauts/Ü and prevent premium headings from feeling clipped */
.page-title,
h1,
h2,
.hero-line,
.gallery-hero h1,
.gallery-intro h2,
.wtr-gallery-hero h1,
.wtr-gallery-intro h2,
.section-title,
.card-title{
	line-height:1.08;
	padding-top:.04em;
	overflow:visible;
}

.gallery-intro,
.wtr-gallery-intro,
.glass-card{
	overflow:visible;
}

.gallery-intro h2,
.wtr-gallery-intro h2{
	max-width:100%;
	word-break:normal;
	overflow-wrap:normal;
}

@media (max-width: 760px){
	.page-title,
	h1,
	h2,
	.hero-line,
	.gallery-hero h1,
	.gallery-intro h2,
	.wtr-gallery-hero h1,
	.wtr-gallery-intro h2{
		line-height:1.1;
		padding-top:.06em;
	}
}


/* v11.8 SAFE mobile sticky actions: exact classes only */
@media (max-width: 760px){
	.wtr-mobile-sticky-actions{
		position: fixed !important;
		left: 10px !important;
		right: 10px !important;
		bottom: calc(10px + env(safe-area-inset-bottom)) !important;
		z-index: 99999 !important;
		display: grid !important;
		grid-template-columns: 1.25fr 1fr 1fr !important;
		gap: 8px !important;
		width: auto !important;
		max-width: calc(100vw - 20px) !important;
		padding: 8px !important;
		border-radius: 22px !important;
		background: linear-gradient(135deg, rgba(7,9,13,.96), rgba(23,17,22,.94)) !important;
		border: 1px solid rgba(212,173,82,.38) !important;
		box-shadow: 0 18px 42px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08) !important;
		backdrop-filter: blur(16px) !important;
		-webkit-backdrop-filter: blur(16px) !important;
		overflow: visible !important;
	}

	.wtr-mobile-action{
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 50px !important;
		min-height: 50px !important;
		padding: 0 8px !important;
		margin: 0 !important;
		border-radius: 16px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 5px !important;
		text-align: center !important;
		font-size: 11px !important;
		line-height: 1 !important;
		font-weight: 900 !important;
		letter-spacing: .035em !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: clip !important;
		color: #f7edcf !important;
		text-decoration: none !important;
		background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04)) !important;
		border: 1px solid rgba(255,255,255,.16) !important;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
	}

	.wtr-mobile-action-primary{
		color: #0b0b0c !important;
		background: linear-gradient(180deg, #f6d572, #c9972d) !important;
		border-color: rgba(255,232,156,.9) !important;
		box-shadow: 0 8px 20px rgba(212,173,82,.25), inset 0 1px 0 rgba(255,255,255,.48) !important;
		font-size: 10.5px !important;
		letter-spacing: .015em !important;
	}

	.wtr-mobile-action[href^="tel"]::before{
		content: "☎";
		font-size: 13px;
		line-height: 1;
		color: #d4ad52;
	}

	.wtr-mobile-action[href*="wa.me"]::before{
		content: "✆";
		font-size: 13px;
		line-height: 1;
		color: #d4ad52;
	}

	body{
		padding-bottom: 88px !important;
	}

	@media (max-width: 390px){
		.wtr-mobile-sticky-actions{
			left: 6px !important;
			right: 6px !important;
			max-width: calc(100vw - 12px) !important;
			grid-template-columns: 1.18fr .9fr 1fr !important;
			gap: 6px !important;
			padding: 7px !important;
		}
		.wtr-mobile-action{
			height: 48px !important;
			min-height: 48px !important;
			font-size: 10px !important;
			padding: 0 5px !important;
			letter-spacing: .015em !important;
		}
		.wtr-mobile-action-primary{
			font-size: 9.7px !important;
		}
	}
}

/* v11.8 SAFE gallery mosaic: consistent desktop/mobile, no weird bottom crop */
.wtr-gallery-mosaic,
.gallery-mosaic,
.media-mosaic,
.photo-mosaic,
.gallery-collage,
.kids-collage,
.image-collage{
	overflow: hidden;
	border-radius: 24px;
	background: rgba(255,255,255,.03);
	isolation: isolate;
}

.wtr-gallery-mosaic img,
.gallery-mosaic img,
.media-mosaic img,
.photo-mosaic img,
.gallery-collage img,
.kids-collage img,
.image-collage img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

@media (max-width: 760px){
	.wtr-gallery-mosaic,
	.gallery-mosaic,
	.media-mosaic,
	.photo-mosaic,
	.gallery-collage,
	.kids-collage,
	.image-collage{
		border-radius: 20px;
	}
}


/* v11.9 logo sync polish: no ugly white box, safe contain */
.site-logo img,
.custom-logo,
.logo img,
.brand img,
.footer-logo img,
.wtr-footer-logo img,
.wtr-brand img,
header img.custom-logo,
footer img.custom-logo{
	object-fit: contain !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

.site-logo,
.logo,
.brand,
.footer-logo,
.wtr-footer-logo,
.wtr-brand{
	background: transparent !important;
	box-shadow: none !important;
}

.footer-logo,
.wtr-footer-logo{
	border-radius: 0 !important;
	padding: 0 !important;
}

.site-logo img,
.logo img,
.brand img{
	max-height: 58px;
	width: auto;
}

.footer-logo img,
.wtr-footer-logo img{
	max-height: 64px;
	width: auto;
}


/* v12.0 exact gallery card fix: desktop title clipping + mosaic containment */
.wtr-gallery-section,
.wtr-gallery-grid,
.wtr-gallery-card,
.wtr-gallery-card-inner,
.wtr-gallery-card-content,
.wtr-gallery-text{
	min-width: 0;
}

.wtr-gallery-card{
	overflow: hidden;
}

.wtr-gallery-card h2,
.wtr-gallery-card h3,
.wtr-gallery-card .wtr-gallery-title,
.wtr-gallery-title{
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	line-height: 1.05 !important;
	max-width: 100% !important;
}

/* Desktop: prevent long German gallery titles from hitting the card edge */
@media (min-width: 901px){
	.wtr-gallery-card h2,
	.wtr-gallery-card h3,
	.wtr-gallery-title{
		font-size: clamp(2.05rem, 2.15vw, 2.82rem) !important;
		letter-spacing: .012em !important;
	}

	/* the four-card desktop row is narrow; keep gallery titles elegant */
	.wtr-gallery-grid .wtr-gallery-card h3,
	.wtr-gallery-grid .wtr-gallery-card h2{
		font-size: clamp(1.95rem, 2.05vw, 2.65rem) !important;
	}
}

/* The mosaic must stay inside its card on desktop */
.wtr-gallery-mosaic,
.wtr-gallery-card .mosaic,
.wtr-gallery-card .gallery-mosaic,
.wtr-gallery-card .photo-mosaic,
.wtr-gallery-card .image-collage,
.wtr-gallery-card .gallery-collage,
.wtr-gallery-card .kids-collage{
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
	border-radius: 22px !important;
	box-sizing: border-box !important;
	isolation: isolate;
}

.wtr-gallery-mosaic img,
.wtr-gallery-card .mosaic img,
.wtr-gallery-card .gallery-mosaic img,
.wtr-gallery-card .photo-mosaic img,
.wtr-gallery-card .image-collage img,
.wtr-gallery-card .gallery-collage img,
.wtr-gallery-card .kids-collage img{
	display: block !important;
	max-width: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
}

/* If image rows are implemented as grid/flex children, stop overflow */
.wtr-gallery-mosaic > *,
.wtr-gallery-card .mosaic > *,
.wtr-gallery-card .gallery-mosaic > *,
.wtr-gallery-card .photo-mosaic > *,
.wtr-gallery-card .image-collage > *,
.wtr-gallery-card .gallery-collage > *,
.wtr-gallery-card .kids-collage > *{
	min-width: 0 !important;
	overflow: hidden !important;
}

/* Mobile keeps the existing compact layout, but title must still not be cut */
@media (max-width: 760px){
	.wtr-gallery-card h2,
	.wtr-gallery-card h3,
	.wtr-gallery-title{
		font-size: clamp(1.85rem, 8.4vw, 2.75rem) !important;
		line-height: 1.05 !important;
	}

	.wtr-gallery-mosaic,
	.wtr-gallery-card .mosaic,
	.wtr-gallery-card .gallery-mosaic,
	.wtr-gallery-card .photo-mosaic,
	.wtr-gallery-card .image-collage,
	.wtr-gallery-card .gallery-collage,
	.wtr-gallery-card .kids-collage{
		border-radius: 18px !important;
	}
}
