/* TSC Oberbecksen-Bad Oeynhausen – Entwurf "Dynamic Mix" */
:root{
  --gelb:#FFE000; --gelb-hover:#E6C900; --gelb-dark:#9A8800;
  --schwarz:#0E0E0E; --surface-dark:#171717; --border-dark:#242424;
  --weiss:#fff; --surface:#FAFAF7; --border:#ECECEC;
  --text:#141414; --text-light:#555; --text-muted-d:#9A9A9A;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --head:"Archivo",var(--sans);
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--head);font-weight:800;line-height:1.05;letter-spacing:-.02em}
.kicker{font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:800;font-size:14px;letter-spacing:.02em;padding:14px 26px;border-radius:9px;border:2px solid transparent;cursor:pointer;transition:.15s}
.btn-primary{background:var(--gelb);color:#000}
.btn-primary:hover{background:var(--gelb-hover)}
.btn-ghost-dark{background:transparent;color:#0E0E0E;border-color:#ddd}
.btn-ghost-dark:hover{border-color:#0E0E0E}
.btn-ghost-light{background:transparent;color:#fff;border-color:#3a3a3a}
.btn-ghost-light:hover{border-color:#fff}

/* HEADER */
.header{position:sticky;top:0;z-index:50;background:var(--schwarz);border-bottom:3px solid var(--gelb)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:48px;height:48px;border-radius:10px;background:#fff}
.brand b{font-family:var(--head);color:#fff;font-size:18px;letter-spacing:.04em}
.menu{display:flex;align-items:center;gap:30px;list-style:none}
.menu a{color:#e4e4e4;font-weight:600;font-size:15px;transition:.15s}
.menu a:hover{color:var(--gelb)}
.nav-cta{display:flex;align-items:center;gap:18px}
.cta-stack{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.sponsor{display:inline-flex;align-items:baseline;gap:5px;line-height:1;color:#9a9a9a;font-size:12px;font-weight:600;transition:.15s}
.sponsor span{letter-spacing:.03em}
.sponsor b{font-family:var(--head);font-weight:800;font-size:13px;color:#fff;letter-spacing:.03em}
.sponsor:hover b{color:#95C11F}
.burger{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}

/* HERO */
.hero{background:#fff;padding:70px 0 80px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero .kicker{color:var(--gelb-dark)}
.hero h1{font-size:clamp(40px,6vw,60px);margin:16px 0 18px}
.hero h1 em{color:var(--gelb-dark);font-style:normal}
.hero p{font-size:18px;color:var(--text-light);max-width:480px}
.hero .actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hero-media{position:relative}
.hero-media .pic{aspect-ratio:4/3;border-radius:18px;background:#ddd center/cover}
.hero-media .badge{position:absolute;left:-14px;bottom:-16px;background:var(--gelb);color:#000;font-family:var(--head);font-weight:800;font-size:14px;padding:13px 20px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15)}

/* STAT STRIP */
.stats{background:var(--schwarz);clip-path:polygon(0 22px,100% 0,100% 100%,0 100%);margin-top:-12px}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:46px 24px 38px}
.stat{text-align:center;border-right:1px solid var(--border-dark)}
.stat:last-child{border:0}
.stat b{display:block;font-family:var(--head);font-weight:800;font-size:40px;color:var(--gelb);letter-spacing:-.03em}
.stat span{color:var(--text-muted-d);font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* SECTION GENERIC */
.section{padding:80px 0}
.section-dark{background:var(--schwarz);color:#fff}
.section-light{background:#fff}
.section-soft{background:var(--surface)}
.sec-head{margin-bottom:38px}
.sec-head .kicker{color:var(--gelb-dark)}
.section-dark .sec-head .kicker{color:var(--gelb)}
.sec-head h2{font-size:clamp(28px,4vw,36px);margin-top:8px}
.section-dark .sec-head h2{color:#fff}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--border);transition:.18s}
.card:hover{transform:translateY(-4px)}
.section-dark .card{background:var(--surface-dark);border-color:var(--border-dark)}
.card .ph{aspect-ratio:16/10;background:#ccc center/cover}
.card .c-body{padding:20px 22px}
.card .c-tag{font-family:var(--head);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gelb-dark)}
.section-dark .card .c-tag{color:var(--gelb)}
.card h3{font-size:20px;margin:8px 0 8px}
.section-dark .card h3{color:#fff}
.card p{font-size:15px;color:var(--text-light)}
.section-dark .card p{color:var(--text-muted-d)}

/* ÜBER / SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .pic{aspect-ratio:4/3;border-radius:18px;background:#ddd center/cover}
.split h2{font-size:clamp(28px,4vw,36px);margin-bottom:16px}
.split p{color:var(--text-light);font-size:17px;margin-bottom:14px}
.usp{list-style:none;margin:22px 0 28px;display:grid;gap:12px}
.usp li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.usp .dot{flex:none;width:26px;height:26px;border-radius:7px;background:var(--gelb);color:#000;display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:14px}

/* INSTAGRAM */
.ig-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap;gap:12px}
.ig-head h2{font-size:clamp(26px,4vw,34px)}
.ig-head a{font-family:var(--head);font-weight:800;color:var(--gelb-dark)}
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.ig-grid .ig{aspect-ratio:1;border-radius:12px;background:#ddd center/cover;position:relative;transition:.18s}
.ig-grid .ig:hover{transform:scale(1.03)}

/* CTA BAND */
.cta-band{background:var(--gelb);color:#000;text-align:center;padding:64px 24px}
.cta-band h2{font-size:clamp(28px,4vw,40px);margin-bottom:10px}
.cta-band p{font-weight:600;margin-bottom:26px}
.cta-band .btn-dark{background:#0E0E0E;color:#fff}
.cta-band .btn-dark:hover{background:#000}

/* FOOTER */
.footer{background:var(--schwarz);color:#cfcfcf;padding:60px 0 26px}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer h4{font-family:var(--head);color:#fff;font-size:16px;margin-bottom:16px;letter-spacing:.04em}
.footer a:hover{color:var(--gelb)}
.footer ul{list-style:none;display:grid;gap:9px;font-size:15px}
.footer .brand b{color:#fff}
.footer .muted{color:var(--text-muted-d);font-size:14px;margin-top:12px}
.footer .bottom{border-top:1px solid var(--border-dark);margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--text-muted-d)}
.footer .bottom a{color:var(--text-muted-d)}
.footer-sponsor{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--border-dark);margin-top:40px;padding-top:28px}
.footer-sponsor span{color:var(--text-muted-d);font-size:14px}
.dt-logo{height:40px;width:auto;mix-blend-mode:screen;transition:.15s;opacity:.92}
.footer-sponsor a:hover .dt-logo{opacity:1;transform:translateY(-1px)}

@media(max-width:900px){
  .hero .wrap,.split{grid-template-columns:1fr;gap:32px}
  .hero-media{order:-1}
  .stats .wrap{grid-template-columns:repeat(2,1fr);gap:28px 0}
  .stat:nth-child(2){border:0}
  .cards{grid-template-columns:1fr}
  .ig-grid{grid-template-columns:repeat(3,1fr)}
  .footer .cols{grid-template-columns:1fr;gap:30px}
  .menu{display:none;position:absolute;top:74px;left:0;right:0;background:var(--schwarz);flex-direction:column;padding:18px 24px;gap:18px;border-bottom:3px solid var(--gelb)}
  .menu.open{display:flex}
  .burger{display:block}
  .nav-cta .btn{display:none}
  .cta-stack{display:none}
}

/* ===== Unterseiten / migrierte Inhalte ===== */
.menu a.active{color:var(--gelb)}
.wrap.narrow{max-width:820px}
.lead{font-size:18px;color:var(--text-light)}
.muted-note{font-size:14px;color:var(--text-light)}
.section-dark .muted-note{color:var(--text-muted-d)}
.legal h2{font-size:18px;margin:26px 0 8px}
.legal p{color:var(--text-light);margin-bottom:8px}

/* Pagehero (schmaler Seitenkopf) */
.pagehero{background:var(--schwarz);color:#fff;padding:64px 0 56px;border-bottom:3px solid var(--gelb)}
.pagehero .kicker{color:var(--gelb)}
.pagehero h1{font-size:clamp(32px,5vw,48px);margin:12px 0 12px}
.pagehero p{color:#bcbcbc;max-width:620px;font-size:17px}

/* Karten mit Innenabstand ohne Bild */
.card.pad{padding:22px 24px}
.card.pad h3{margin:6px 0 10px}
.card .mf{font-size:14px;color:var(--text-light)}
.mail{display:inline-block;color:var(--gelb-dark);font-weight:600;font-size:13px;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
.section-dark .mail{color:var(--gelb)}
.block-title{font-size:22px;margin:30px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--gelb);display:inline-block}
.team-block{margin-bottom:18px}

/* Team / Vorstand */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.member{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px}
.section-soft .member{background:#fff}
.avatar{flex:none;width:46px;height:46px;border-radius:50%;background:var(--gelb);color:#000;display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:15px;margin-top:2px}
.avatar-muted{background:#e5e5e5;color:#888}
.m-info{display:flex;flex-direction:column;min-width:0;gap:2px}
.m-info b{font-size:15px;line-height:1.25}
.m-info .role{font-size:13px;color:var(--text-light);margin:0 0 4px}

/* Zwei-Spalten Panels / Termine */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{background:var(--surface-dark);border:1px solid var(--border-dark);border-radius:14px;padding:24px 26px}
.panel.light{background:#fff;border-color:var(--border)}
.panel-title{font-size:18px;margin-bottom:14px}
.datelist{list-style:none;display:grid;gap:2px}
.datelist li{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--border-dark);font-size:15px;color:#ddd}
.panel.light .datelist li,.datelist.dark-text li{border-color:var(--border);color:var(--text)}
.datelist .d{flex:none;min-width:62px;font-family:var(--head);font-weight:800;color:var(--gelb)}
.panel.light .datelist .d,.datelist.dark-text .d{color:var(--gelb-dark)}
.datelist li:last-child{border-bottom:0}

/* Hinweis-Box */
.note-box{margin-top:30px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--gelb);border-radius:0 12px 12px 0;padding:18px 22px}
.note-box b{display:block;margin-bottom:4px}
.note-box p{color:var(--text-light);font-size:15px}

/* Downloads */
.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.dl{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;transition:.15s}
.dl:hover{border-color:var(--gelb);transform:translateY(-2px)}
.dl-icon{width:36px;height:36px;border-radius:9px;background:var(--gelb);color:#000;display:grid;place-items:center;font-size:18px;flex:none}
.dl-name{font-weight:700;flex:1}
.dl-hint{font-size:12px;color:var(--text-light)}

/* Beiträge */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.price-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;text-align:center}
.price-card .p-name{display:block;font-weight:700;color:var(--text-light);font-size:14px}
.price-card .p-amount{display:block;font-family:var(--head);font-weight:800;font-size:34px;color:#0E0E0E;margin:8px 0 2px}
.price-card .p-period{font-size:13px;color:var(--text-light)}

/* Schritte */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--surface-dark);border:1px solid var(--border-dark);border-radius:14px;padding:24px}
.step-no{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gelb);color:#000;font-family:var(--head);font-weight:800;margin-bottom:12px}
.step h3{color:#fff;margin-bottom:6px}
.step p{color:var(--text-muted-d);font-size:15px}
.step a{color:var(--gelb)}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--gelb-dark);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;color:var(--text-light)}

/* Kontaktformular */
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
.contact-info h2{font-size:24px;margin-bottom:18px}
.contact-list{list-style:none;display:grid;gap:16px}
.contact-list li{display:flex;gap:12px}
.ci-ic{flex:none;width:38px;height:38px;border-radius:10px;background:var(--surface);display:grid;place-items:center;font-size:18px}
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px 28px;box-shadow:0 8px 26px rgba(0,0,0,.05)}
.contact-form label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}
.contact-form input,.contact-form textarea{width:100%;margin-top:5px;border:1px solid #d8d8d8;border-radius:9px;padding:11px 13px;font-size:15px;font-family:inherit;background:#fff;color:var(--text)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gelb-dark);box-shadow:0 0 0 3px rgba(255,224,0,.25)}
.frow{display:flex;gap:14px}.frow>label{flex:1}
.contact-form .check{font-weight:400;font-size:14px;color:var(--text-light);display:flex;gap:10px;align-items:flex-start}
.contact-form .check input{width:auto;margin-top:3px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.alert{padding:14px 18px;border-radius:10px;margin-bottom:18px;font-weight:600}
.alert-ok{background:#eafaf0;color:#1c7a3f;border:1px solid #b6e3c6}
.alert-err{background:#fdeaea;color:#a32d2d;border:1px solid #f3c2c2}

@media(max-width:760px){
  .two-col,.contact-layout,.steps{grid-template-columns:1fr}
  .frow{flex-direction:column;gap:0}
}

/* ===== Contact Form 7 im TSCOB-Design ===== */
.contact-form-wrap .wpcf7-form label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}
.contact-form-wrap .frow{display:flex;gap:14px}
.contact-form-wrap .frow>label{flex:1}
.contact-form-wrap .wpcf7-form input[type=text],
.contact-form-wrap .wpcf7-form input[type=email],
.contact-form-wrap .wpcf7-form input[type=tel],
.contact-form-wrap .wpcf7-form textarea{width:100%;margin-top:5px;border:1px solid #d8d8d8;border-radius:9px;padding:11px 13px;font-size:15px;font-family:inherit;background:#fff;color:var(--text)}
.contact-form-wrap .wpcf7-form textarea{min-height:150px;resize:vertical}
.contact-form-wrap .wpcf7-form input:focus,
.contact-form-wrap .wpcf7-form textarea:focus{outline:none;border-color:var(--gelb-dark);box-shadow:0 0 0 3px rgba(255,224,0,.25)}
.contact-form-wrap .wpcf7-acceptance{font-weight:400;font-size:14px;color:var(--text-light)}
.contact-form-wrap .wpcf7-acceptance .wpcf7-list-item{margin:0}
.contact-form-wrap .wpcf7-submit{display:inline-flex;align-items:center;font-family:var(--head);font-weight:800;font-size:14px;letter-spacing:.02em;padding:14px 26px;border-radius:9px;border:0;background:var(--gelb);color:#000;cursor:pointer;margin-top:6px;transition:.15s}
.contact-form-wrap .wpcf7-submit:hover{background:var(--gelb-hover)}
.contact-form-wrap .wpcf7-spinner{margin:0 0 0 10px}
.wpcf7-response-output{border-radius:10px;padding:12px 16px!important;margin:16px 0 0!important;font-weight:600;font-size:14px}
.wpcf7 form.sent .wpcf7-response-output{background:#eafaf0;color:#1c7a3f;border:1px solid #b6e3c6}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{background:#fdeaea;color:#a32d2d;border:1px solid #f3c2c2}
.wpcf7-not-valid-tip{color:#a32d2d;font-size:13px;font-weight:600;margin-top:4px}

/* ===== Event-Flyer-Galerie (Termine) ===== */
.flyer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.flyer{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--border-dark);background:#171717;transition:.18s}
.flyer:hover{transform:translateY(-4px)}
.flyer img{width:100%;height:auto;display:block}
@media(max-width:760px){.flyer-grid{grid-template-columns:1fr}}

.hero-media .badge{cursor:pointer}
.hero-media .badge:hover{background:var(--gelb-hover)}

/* ===== Sponsor-Band (Startseite, Deltatec) ===== */
.sponsor-band{background:var(--schwarz);border-top:3px solid var(--gelb)}
.sponsor-band-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap}
.sponsor-band .kicker{color:var(--gelb)}
.sponsor-band h2{color:#fff;font-size:clamp(24px,3.5vw,30px);margin:8px 0 10px}
.sponsor-band p{color:var(--text-muted-d);max-width:560px;font-size:16px}
.sb-text{flex:1;min-width:280px}
.sb-logo{flex:none}
.sb-logo img{height:72px;width:auto;mix-blend-mode:screen;transition:.15s;opacity:.95}
.sb-logo:hover img{opacity:1;transform:translateY(-2px)}
@media(max-width:760px){.sb-logo img{height:56px}}

/* ===== Updates: Stats, Flyer, Sponsoren-Karussell, Galerie, Lightbox ===== */
.stats .wrap{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* Event-Flyer: ganzer Flyer sichtbar, kein Beschnitt, oben ausgerichtet */
.flyer-grid{align-items:start}
.flyer{cursor:zoom-in}
.flyer img{width:100%;height:auto;object-fit:contain}

/* Sponsoren-Logokarussell */
.sponsors .logo-carousel{overflow:hidden;width:100%;padding:18px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sponsors .logo-track{display:flex;align-items:center;gap:56px;width:max-content;animation:tscob-marquee 32s linear infinite}
.sponsors .logo-carousel:hover .logo-track{animation-play-state:paused}
.sponsors .logo-item{flex:none;display:flex;align-items:center;justify-content:center;height:64px}
.sponsors .logo-item img{max-height:64px;width:auto;max-width:180px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:.2s}
.sponsors .logo-item:hover img{filter:none;opacity:1}
@keyframes tscob-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.sponsors .logo-track{animation:none;flex-wrap:wrap;justify-content:center}}

/* Bildergalerie-Raster (gleichmäßige Kacheln) */
.galerie .wp-block-gallery,.galerie .blocks-gallery-grid{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.galerie figure,.galerie .wp-block-image,.galerie .blocks-gallery-item{margin:0}
.galerie img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;cursor:zoom-in;display:block;transition:.18s}
.galerie a:hover img,.galerie img:hover{transform:scale(1.02)}
.galerie figcaption{display:none}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.9);padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:8px}
.lightbox .lb-close{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer}

/* Hauptsponsor (Sponsor dieser Website) im Karussell hervorheben */
.sponsors .logo-item.is-main{background:#0E0E0E;border-radius:12px;padding:10px 20px;height:auto}
.sponsors .logo-item.is-main img{filter:none;opacity:1;max-height:52px}

/* ===== Header-Feinschliff + Hero-Sponsor ===== */
.nav{gap:28px}
.brand{flex:0 0 auto}
.nav>nav{flex:1 1 auto;display:flex;justify-content:center}
.menu{gap:24px;flex-wrap:nowrap}
.menu a{white-space:nowrap}
.nav-cta{flex:0 0 auto;gap:14px}
@media(max-width:1100px){ .menu{gap:18px} .menu a{font-size:14px} }

/* Sponsor-Hinweis unter dem Hero-Foto (rechts) */
.hero-sponsor{display:block;text-align:right;margin-top:18px;color:#9a9a9a;font-size:12px;line-height:1.3;transition:.15s}
.hero-sponsor span{letter-spacing:.04em}
.hero-sponsor b{font-family:var(--head);font-weight:800;color:#0E0E0E;letter-spacing:.03em}
.hero-sponsor:hover b{color:var(--gelb-dark)}
@media(max-width:900px){ .hero-sponsor{text-align:left} }

/* Menü kompakter + Burger früher (verhindert Umbruch der 7 Punkte) */
.nav{gap:22px}
.menu{gap:20px}
.menu a{font-size:14px}
@media(max-width:1150px){
  .menu{display:none;position:absolute;top:74px;left:0;right:0;background:var(--schwarz);flex-direction:column;padding:18px 24px;gap:16px;border-bottom:3px solid var(--gelb);z-index:60}
  .menu.open{display:flex}
  .menu a{font-size:16px}
  .burger{display:block}
  .nav>nav{flex:0 0 auto}
}

/* ===== Tableau-Karten mit echter Vorschau ===== */
.tableau-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.tableau-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:.18s}
.tableau-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.10);border-color:var(--gelb)}
.tableau-thumb{position:relative;display:block;aspect-ratio:3/4;background:#f4f4f2;overflow:hidden}
.tableau-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.tableau-thumb.noimg{display:flex;align-items:center;justify-content:center}
.tableau-thumb .t-fallback{font-size:40px;color:var(--gelb-dark)}
.tableau-badge{position:absolute;top:10px;right:10px;background:var(--gelb);color:#000;font-family:var(--head);font-weight:800;font-size:11px;letter-spacing:.06em;padding:4px 9px;border-radius:6px}
.tableau-meta{padding:14px 16px}
.tableau-meta b{display:block;font-family:var(--head);font-size:16px;color:#0E0E0E}
.tableau-meta span{font-size:13px;color:var(--gelb-dark);font-weight:600}

/* Tableaus: 5 in einer Reihe + Foto-Vorschau (Querformat) */
.tableau-grid{grid-template-columns:repeat(5,1fr)}
.tableau-thumb{aspect-ratio:4/3}
@media(max-width:980px){.tableau-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.tableau-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.tableau-grid{grid-template-columns:1fr}}

/* Galerie-Raster (manuelle Galerien Clubmeisterschaften + Bildergalerie) */
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
@media(max-width:560px){.gal-grid{grid-template-columns:repeat(2,1fr)}}

/* <picture>-Wrapper sollen die Bildzellen füllen */
.galerie picture{display:block}
.tableau-thumb picture{display:block;width:100%;height:100%}

/* === Galerie-Block (Gutenberg) als großes, gleichmäßiges Raster erzwingen === */
.galerie .wp-block-gallery{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr)) !important;gap:14px !important;margin:0 !important}
.galerie .wp-block-gallery figure{margin:0 !important;width:auto !important;max-width:none !important;flex:0 0 auto !important}
.galerie .wp-block-gallery .wp-block-image{height:100%}
.galerie .wp-block-gallery a{display:block !important;width:100%;height:100%}
.galerie .wp-block-gallery img{width:100% !important;height:100% !important;aspect-ratio:3/4;object-fit:cover;border-radius:12px;display:block;cursor:zoom-in}
.galerie .wp-block-gallery figcaption{display:none}
@media(max-width:680px){.galerie .wp-block-gallery{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:440px){.galerie .wp-block-gallery{grid-template-columns:1fr !important}}

/* === Galerie: konfigurierbare Darstellung (Spalten/Größe/Ratio/Lightbox) === */
.galerie .wp-block-gallery{grid-template-columns:var(--gal-template, repeat(auto-fill,minmax(230px,1fr))) !important}
.galerie .wp-block-gallery img{aspect-ratio:var(--gal-ratio, 3/4)}
.galerie.gal-orig .wp-block-gallery{align-items:start}
.galerie.gal-orig .wp-block-gallery img,.galerie.gal-orig .wp-block-gallery .wp-block-image{height:auto !important;aspect-ratio:auto !important;object-fit:contain}
.galerie.no-lightbox .wp-block-gallery a{pointer-events:none}
.galerie.no-lightbox .wp-block-gallery img{cursor:default}
@media(max-width:680px){.galerie .wp-block-gallery{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:440px){.galerie .wp-block-gallery{grid-template-columns:1fr !important}}

/* === Tableau-Karten: größere Boxen + besserer Bildausschnitt (Personen mittig) === */
.tableau-thumb{aspect-ratio:4/5}
.tableau-thumb img{object-position:center 40%}
.tableau-meta{padding:16px 18px}
.tableau-meta b{font-size:17px}
@media(max-width:1100px){.tableau-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.tableau-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.tableau-grid{grid-template-columns:1fr}}

/* === Galerie aus Bilder-Liste (.gal-grid) mit konfigurierbarer Darstellung === */
.galerie .gal-grid{display:grid;grid-template-columns:var(--gal-template, repeat(auto-fill,minmax(230px,1fr)));gap:14px}
.galerie .gal-grid > a{display:block;width:100%;height:100%}
.galerie .gal-grid picture{display:block;width:100%;height:100%}
.galerie .gal-grid img{width:100%;height:100%;aspect-ratio:var(--gal-ratio,3/4);object-fit:cover;border-radius:12px;display:block;cursor:zoom-in;transition:.18s}
.galerie .gal-grid > a:hover img{transform:scale(1.02)}
.galerie.gal-orig .gal-grid{align-items:start}
.galerie.gal-orig .gal-grid img{aspect-ratio:auto !important;height:auto !important;object-fit:contain}
.galerie.no-lightbox .gal-grid a{pointer-events:none}
.galerie.no-lightbox .gal-grid img{cursor:default}
@media(max-width:680px){.galerie .gal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.galerie .gal-grid{grid-template-columns:1fr}}

/* === Sponsoren-Karten-Raster (Shortcode layout="grid") === */
.sponsor-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.sponsor-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;text-align:center;transition:.18s}
.sponsor-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.07)}
.sponsor-card.is-main{border-color:var(--gelb);box-shadow:0 0 0 2px var(--gelb) inset}
.sponsor-card .sc-logo{height:70px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.sponsor-card .sc-logo img{max-height:70px;width:auto;max-width:100%;object-fit:contain}
.sponsor-card h3{font-size:17px;margin:0 0 6px}
.sponsor-card p{font-size:14px;color:var(--text-light);margin:0 0 10px}
.sponsor-card .more{font-family:var(--head);font-weight:800;font-size:13px;color:var(--gelb-dark)}
@media(max-width:560px){.sponsor-cards{grid-template-columns:1fr 1fr}}

/* Vorstand: Telefon/Mobil-Zeilen */
.m-info .mline{font-size:13px;color:var(--text-light);line-height:1.4}
.m-info .mline a{color:var(--text-light)}
.m-info .mline a:hover{color:var(--gelb-dark)}

/* Tennisball-Avatar (Vorstand): gelber Ball mit weißen Nähten + Initialen */
.avatar.avatar-ball{background:var(--gelb);color:#0e0e0e;position:relative;overflow:hidden;border:1px solid #e6cc00}
.avatar.avatar-ball span{position:relative;z-index:2;font-family:var(--head);font-weight:800}
.avatar.avatar-ball::before,.avatar.avatar-ball::after{content:"";position:absolute;width:150%;height:150%;left:50%;transform:translateX(-50%);border-radius:50%;border:2px solid #fff;z-index:1;pointer-events:none}
.avatar.avatar-ball::before{top:-118%}
.avatar.avatar-ball::after{top:68%}
.avatar.avatar-ball.avatar-muted{background:#e5e5e5}
.avatar.avatar-ball.avatar-muted::before,.avatar.avatar-ball.avatar-muted::after{display:none}
