/*
Theme Name: Alemannia Aachen Tischfußball – Final
Theme URI: https://example.com/
Author: OpenAI
Description: Barrierearmes WordPress-Theme für die Abteilung Tischfußball im schwarz-gelben Alemannia-Aachen-Stil mit WCAG-orientierter Struktur und integriertem Vereinswappen.
Version: 2.0.16
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GPLv2 or later
Text Domain: bvt
*/
:root{--bvt-black:#080808;--bvt-yellow:#ffd200;--bvt-gold:#f5b700;--bvt-white:#fff;--bvt-gray:#f4f4f4;--bvt-text:#111;--bvt-muted:#4b5563;--bvt-focus:#005fcc;--bvt-max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;color:var(--bvt-text);background:var(--bvt-white)}a{color:#084fa3}a:hover{text-decoration-thickness:3px}.skip-link{position:absolute;left:-999px;top:auto;background:var(--bvt-yellow);color:#000;padding:.75rem 1rem;z-index:1000}.skip-link:focus{left:1rem;top:1rem;outline:4px solid var(--bvt-focus)}:focus-visible{outline:4px solid var(--bvt-focus);outline-offset:3px}.site-header{background:var(--bvt-black);color:var(--bvt-white);border-bottom:6px solid var(--bvt-yellow)}.topbar{background:#1a1a1a;font-size:.95rem}.wrap{max-width:var(--bvt-max);margin:auto;padding:0 1rem}.topbar .wrap,.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar a{color:var(--bvt-white);padding:.5rem;display:inline-block}.masthead{padding:1rem}.brand{display:flex;align-items:center;gap:1rem;color:var(--bvt-white);text-decoration:none}.brand img{max-height:92px;width:auto}.brand-logo{max-height:92px;width:auto;display:block}.brand-mark{width:74px;height:74px;border:4px solid var(--bvt-yellow);border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.6rem;color:var(--bvt-yellow)}.brand-title{font-weight:900;font-size:clamp(1.3rem,3vw,2rem);letter-spacing:.02em;text-transform:uppercase}.brand-subtitle{color:var(--bvt-yellow);font-weight:700}.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;flex-wrap:wrap}.main-navigation a{color:var(--bvt-white);text-decoration:none;font-weight:800;text-transform:uppercase;padding:.8rem .9rem;display:block;border-radius:.25rem}.main-navigation a:hover,.main-navigation a:focus{background:var(--bvt-yellow);color:#000}.hero{background:linear-gradient(120deg,rgba(0,0,0,.9),rgba(0,0,0,.78)),radial-gradient(circle at top right,var(--bvt-yellow),transparent 34%);background-color:var(--bvt-black);color:white;padding:clamp(3rem,7vw,6rem) 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:auto -10vw -20vw auto;width:42vw;height:42vw;background:var(--bvt-yellow);opacity:.16;border-radius:50%;pointer-events:none}.hero .wrap{position:relative;z-index:1}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:center}.eyebrow{display:inline-block;background:var(--bvt-yellow);color:#000;font-weight:900;text-transform:uppercase;padding:.3rem .7rem;border-radius:.2rem}.hero h1{font-size:clamp(2.2rem,6vw,4.8rem);line-height:1;margin:.8rem 0;text-transform:uppercase;max-width:850px}.lead{font-size:1.25rem;max-width:720px}.button{display:inline-block;background:var(--bvt-yellow);color:#000;text-decoration:none;font-weight:900;text-transform:uppercase;padding:.9rem 1.15rem;border:0;border-radius:.25rem;box-shadow:0 5px 0 #9a7900;cursor:pointer}.button:hover{transform:translateY(1px)}.button.secondary{background:white;color:#000;box-shadow:0 5px 0 #777}.card{background:white;color:#111;border-radius:.7rem;padding:1.25rem;box-shadow:0 18px 40px rgba(0,0,0,.25);border-top:7px solid var(--bvt-yellow)}.section{padding:3.5rem 0}.section.alt{background:var(--bvt-gray)}.section h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.1;text-transform:uppercase;margin-top:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.feature{background:white;border:1px solid #ddd;border-left:8px solid var(--bvt-yellow);padding:1.2rem;border-radius:.5rem}.news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.news-card{background:#fff;border:1px solid #ddd;border-radius:.5rem;overflow:hidden}.news-card .placeholder{height:150px;background:linear-gradient(135deg,#111 0 55%,var(--bvt-yellow) 55% 100%)}.news-card div:not(.placeholder){padding:1rem}.bvt-form{display:grid;gap:1rem;max-width:760px}.bvt-form label{font-weight:800}.bvt-form input,.bvt-form select,.bvt-form textarea{width:100%;font:inherit;padding:.8rem;border:2px solid #666;border-radius:.25rem}.bvt-form input:focus,.bvt-form select:focus,.bvt-form textarea:focus{border-color:var(--bvt-focus)}.required{color:#8b0000;font-weight:900}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.notice{padding:1rem;border-left:8px solid #008a00;background:#eefbea}.notice.error{border-left-color:#b00020;background:#fff1f3}.site-footer{background:#111;color:white;padding:2rem 0;border-top:6px solid var(--bvt-yellow)}.site-footer a{color:white}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}@media (max-width:850px){.hero-grid,.grid-3,.news-list,.footer-grid,.form-row{grid-template-columns:1fr}.masthead{align-items:flex-start;flex-direction:column}.main-navigation ul{display:block}.main-navigation a{border-top:1px solid #333}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* =============================================================
   Vorlesefunktion / Text-to-Speech Toolbar
   ============================================================= */
.bvt-tts-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;
  background:#1a1a1a;color:#fff;
  padding:.55rem max(1rem,calc((100% - var(--bvt-max)) / 2 + 1rem));
  font-size:.9rem;border-bottom:3px solid var(--bvt-yellow);
  position:sticky;top:0;z-index:900;
  transition:background .2s;
}
.bvt-tts-bar.bvt-tts--active{background:#002b00;border-bottom-color:#00c400;}
.bvt-tts-label{font-weight:800;letter-spacing:.04em;margin-right:.25rem;white-space:nowrap;}
.bvt-tts-btn{
  background:var(--bvt-yellow);color:#000;border:0;
  font:inherit;font-weight:800;font-size:.85rem;
  padding:.4rem .85rem;border-radius:.25rem;cursor:pointer;
  white-space:nowrap;
}
.bvt-tts-btn:hover:not(:disabled){background:var(--bvt-gold);}
.bvt-tts-btn:focus-visible{outline:4px solid var(--bvt-focus);outline-offset:3px;}
.bvt-tts-btn:disabled{opacity:.4;cursor:not-allowed;}
.bvt-tts-speed{display:flex;align-items:center;gap:.4rem;margin-left:.25rem;}
.bvt-tts-speed label{font-size:.85rem;white-space:nowrap;}
.bvt-tts-speed select{
  font:inherit;font-size:.85rem;
  padding:.3rem .5rem;border:2px solid #555;border-radius:.25rem;
  background:#2a2a2a;color:#fff;cursor:pointer;
}
.bvt-tts-speed select:focus-visible{outline:4px solid var(--bvt-focus);outline-offset:2px;}
.bvt-tts-status{
  margin-left:auto;font-size:.8rem;color:#ccc;
  white-space:nowrap;
  /* Für Screenreader sichtbar, visuell dezent */
}
@media(max-width:600px){
  .bvt-tts-bar{gap:.4rem;padding:.5rem .75rem;}
  .bvt-tts-status{display:none;}
}

/* =============================================================
   Sponsoren-Grid
   ============================================================= */
.bvt-sponsoren-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1.25rem;
  margin-top:1.5rem;
}
.bvt-sponsor-card{
  background:#fff;border:1px solid #ddd;border-radius:.5rem;
  padding:1.25rem;display:flex;flex-direction:column;align-items:center;
  gap:.75rem;text-align:center;
  transition:box-shadow .15s;
}
.bvt-sponsor-card:has(a):hover{box-shadow:0 6px 20px rgba(0,0,0,.12);}
.bvt-sponsor-card img{max-width:160px;max-height:70px;object-fit:contain;width:auto;height:auto;}
.bvt-sponsor-name{font-size:.85rem;font-weight:700;color:var(--bvt-muted);}
.bvt-sponsor-card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:.5rem;}
.bvt-sponsor-card a:hover .bvt-sponsor-name{color:var(--bvt-focus);}
.bvt-sponsor-card a:focus-visible{outline:4px solid var(--bvt-focus);outline-offset:4px;border-radius:.25rem;}

/* =============================================================
   Inhaltsverzeichnis (ToC) auf Über-Uns-Seite
   ============================================================= */
.bvt-toc{
  display:flex;gap:1rem;flex-wrap:wrap;
  margin-bottom:2rem;padding:.75rem 1rem;
  background:var(--bvt-gray);border-left:6px solid var(--bvt-yellow);
  border-radius:.25rem;
}
.bvt-toc a{font-weight:800;text-decoration:none;}
.bvt-toc a:hover{text-decoration:underline;}

/* Kontaktseite Zwei-Spalten auf kleinen Screens */
@media(max-width:850px){
  .bvt-sponsoren-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:500px){
  .bvt-sponsoren-grid{grid-template-columns:1fr;}
}

/* =============================================================
   FINAL V5 – Design nach freigegebenem Startseiten-Entwurf
   ============================================================= */
:root{--bvt-black:#050505;--bvt-yellow:#ffd400;--bvt-gold:#f2bf00;--bvt-white:#fff;--bvt-gray:#efefef;--bvt-text:#111;--bvt-muted:#686868;--bvt-max:1360px}
body{background:#050505;font-family:Arial,Helvetica,sans-serif}
.site-header{background:#020202;border:0;position:relative;z-index:50}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#181818}
.masthead{min-height:100px;padding:.45rem 1rem;display:flex;align-items:center;gap:2rem}
.brand{min-width:355px;gap:.65rem}
.brand .custom-logo-link{display:block;line-height:0}.brand .custom-logo{max-height:88px;width:auto}
.brand-logo{max-height:88px!important;width:auto}.brand-wordmark{display:flex;flex-direction:column;line-height:.96}.brand-title{font-size:1.55rem;font-weight:900;letter-spacing:-.03em;color:#fff;white-space:nowrap}.brand-subtitle{font-size:1.65rem;font-weight:900;letter-spacing:-.03em;color:var(--bvt-yellow);text-transform:uppercase;margin-top:.15rem}
.main-navigation{margin-left:auto}.main-navigation ul{gap:.1rem;align-items:center;flex-wrap:nowrap}.main-navigation a{font-size:.82rem;padding:2.15rem .78rem 1.9rem;border-radius:0;position:relative;white-space:nowrap}.main-navigation a:hover,.main-navigation a:focus,.main-navigation .current-menu-item>a{background:transparent;color:var(--bvt-yellow)}.main-navigation .current-menu-item>a:after,.main-navigation a:hover:after{content:"";position:absolute;height:3px;background:var(--bvt-yellow);left:.78rem;right:.78rem;bottom:1.25rem}
.hero{--bvt-hero-image:none;background-image:linear-gradient(90deg,#080808 0%,rgba(5,5,5,.88) 25%,rgba(5,5,5,.35) 58%,rgba(5,5,5,.6) 100%),var(--bvt-hero-image);background-position:center;background-size:cover;padding:3rem 0 2.6rem;min-height:320px;border-bottom:4px solid var(--bvt-yellow)}
.hero:before{display:none}.hero-grid{grid-template-columns:1fr 340px;min-height:270px;align-items:center}.hero-copy{padding-left:4.8rem}.hero h1{font-size:clamp(2.8rem,4.6vw,4.25rem);line-height:.91;margin:0 0 .85rem;letter-spacing:-.035em;font-weight:1000;text-shadow:0 2px 14px rgba(0,0,0,.5)}.hero h1 span{display:block}.hero h1 .yellow{color:var(--bvt-yellow)}.hero .lead{margin:0 0 1.25rem;font-size:1rem;font-weight:700}.hero-actions{display:flex;gap:.75rem}.button{box-shadow:none;border-radius:2px;padding:.82rem 1.35rem;font-size:.76rem}.button.secondary{background:transparent;color:#fff;border:2px solid var(--bvt-yellow);box-shadow:none}.button.secondary:hover{background:var(--bvt-yellow);color:#000}.hero-crest{text-align:center}.hero-crest img{width:min(230px,82%);max-height:250px;object-fit:contain;filter:drop-shadow(0 8px 22px rgba(0,0,0,.55))}
.home-dark-block{background:radial-gradient(circle at 100% 80%,rgba(255,212,0,.08),transparent 30%),#030303;color:#fff;padding:1.4rem 0 .8rem}.home-dark-block h2{font-size:1.65rem;line-height:1;text-transform:uppercase;margin:0 0 1rem;color:#fff;font-weight:1000;letter-spacing:-.03em}.home-sponsors{padding:.45rem 0 1.25rem}.sponsor-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem;align-items:stretch}.sponsor-tile{height:74px;background:#fff;border:1px solid #cfcfcf;border-radius:2px;display:flex;align-items:center;justify-content:center;overflow:hidden}.sponsor-tile a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.sponsor-tile img{width:100%;height:100%;object-fit:contain;padding:.15rem}.sponsor-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,212,0,.12)}.section-action{text-align:center;margin:1.05rem 0 0}.outline-button{display:inline-block;border:2px solid var(--bvt-yellow);color:#fff!important;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:.75rem;padding:.58rem 2.25rem}.outline-button:hover{background:var(--bvt-yellow);color:#000!important}
.home-partners{padding:0 0 1.45rem}.partner-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;max-width:780px}.partner-card{background:#fff;color:#111;min-height:188px;border:1px solid #ddd;border-radius:2px;text-align:center}.partner-card>a,.partner-card>span{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-decoration:none;color:#111;padding:.65rem .7rem .7rem}.partner-logo-wrap{height:100px;display:flex;align-items:center;justify-content:center;width:100%}.partner-logo-wrap img{max-width:170px;max-height:95px;width:auto;height:auto;object-fit:contain}.partner-card:first-child .partner-logo-wrap img{max-height:105px}.partner-card strong{font-size:.86rem;line-height:1.18;min-height:34px;display:flex;align-items:center;justify-content:center}.partner-link{margin-top:.5rem;color:#d09f00;font-size:.72rem}.partner-placeholder{font-size:3rem;color:#777}.partner-card:hover{box-shadow:0 0 0 2px var(--bvt-yellow)}
.quick-strip{background:var(--bvt-yellow);color:#050505;border-top:3px solid #050505;border-bottom:3px solid #050505;padding:.75rem 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.quick-item{display:grid;grid-template-columns:40px 1fr 190px;gap:.7rem;align-items:center}.quick-icon{font-size:1.85rem;font-weight:900}.quick-item strong{display:block;text-transform:uppercase;font-size:1.08rem;line-height:1}.quick-item span:not(.quick-icon){font-size:.83rem}.quick-item a{background:#070707;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:.7rem;text-align:center;padding:.62rem .85rem;border-radius:2px}
.section{background:#fff;padding:3.5rem 0}.section.alt{background:#f2f2f2}.section.dark-content{background:#090909;color:#fff}.section.dark-content h2{color:#fff}.section h2{font-weight:1000;letter-spacing:-.03em}.feature{border-radius:2px;border:1px solid #d6d6d6;border-left:6px solid var(--bvt-yellow);box-shadow:none}.dark-content .feature{background:#121212;color:#fff;border-color:#333;border-left-color:var(--bvt-yellow)}.news-card{border-radius:2px}.news-card img{width:100%;height:170px;object-fit:cover}.news-date{font-size:.85rem;color:var(--bvt-muted)}
.site-footer{background:#050505;border-top:4px solid var(--bvt-yellow)}
@media(max-width:1180px){.brand{min-width:290px}.brand-title{font-size:1.25rem}.brand-subtitle{font-size:1.35rem}.main-navigation a{font-size:.72rem;padding-left:.55rem;padding-right:.55rem}.sponsor-row{grid-template-columns:repeat(4,1fr)}.hero-copy{padding-left:1rem}}
@media(max-width:850px){.masthead{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.brand{min-width:0}.main-navigation{margin-left:0}.main-navigation ul{display:grid;grid-template-columns:repeat(2,1fr)}.main-navigation a{padding:.7rem;border-top:1px solid #242424}.main-navigation a:hover:after,.main-navigation .current-menu-item>a:after{display:none}.hero-grid{grid-template-columns:1fr 180px}.hero-copy{padding-left:0}.hero h1{font-size:2.7rem}.hero-crest img{max-height:180px}.sponsor-row{grid-template-columns:repeat(2,1fr)}.partner-row{grid-template-columns:1fr 1fr;max-width:none}.quick-grid{grid-template-columns:1fr;gap:1rem}.quick-item{grid-template-columns:36px 1fr 160px}}
@media(max-width:560px){.brand-title{font-size:1.05rem}.brand-subtitle{font-size:1.15rem}.brand-logo{max-height:72px!important}.hero{min-height:0;padding:2.3rem 0}.hero-grid{grid-template-columns:1fr}.hero-crest{display:none}.hero h1{font-size:2.45rem}.hero-actions{flex-wrap:wrap}.sponsor-row{grid-template-columns:1fr 1fr}.sponsor-tile{height:68px}.partner-row{grid-template-columns:1fr}.quick-item{grid-template-columns:32px 1fr}.quick-item a{grid-column:2}.home-dark-block h2{font-size:1.4rem}}

/* Final V6: Sponsoren als horizontaler Slider */
.sponsor-slider{position:relative;display:flex;align-items:center;gap:.65rem}.sponsor-row{display:flex!important;grid-template-columns:none!important;gap:.55rem;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;padding:.2rem 0}.sponsor-row::-webkit-scrollbar{display:none}.sponsor-tile{flex:0 0 calc((100% - 3.85rem)/8);min-width:130px;scroll-snap-align:start}.sponsor-arrow{flex:0 0 38px;width:38px;height:74px;border:0;background:transparent;color:var(--bvt-yellow);font-size:2.4rem;font-weight:900;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sponsor-arrow:hover,.sponsor-arrow:focus-visible{color:#fff;outline:2px solid var(--bvt-yellow);outline-offset:2px}@media(max-width:1180px){.sponsor-tile{flex-basis:calc((100% - 1.65rem)/4)}}@media(max-width:850px){.sponsor-tile{flex-basis:calc((100% - .55rem)/2)}.sponsor-arrow{width:30px;flex-basis:30px}}@media(max-width:560px){.sponsor-tile{flex-basis:calc((100% - .55rem)/2);min-width:145px}.sponsor-arrow{height:68px}}


/* Final V8: FOOSBALL-Kennung an den Wappen + Sponsoren/Partner am Seitenende */
.brand-emblem{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}
.brand-foosball-label,.crest-foosball-label{display:block;color:#fff;font-weight:900;letter-spacing:.34em;text-transform:uppercase;white-space:nowrap}
.brand-foosball-label{font-size:.62rem;margin:0 0 .25rem .34em}
.brand-emblem .brand-logo{display:block;max-height:78px!important;width:auto}
.hero-crest{display:flex;flex-direction:column;align-items:center;justify-content:center}
.crest-foosball-label{font-size:clamp(.7rem,1.2vw,1rem);margin:0 0 .45rem .34em;text-shadow:0 2px 5px rgba(0,0,0,.8)}
.home-dark-block{margin-top:0;border-top:5px solid var(--bvt-yellow)}
@media(max-width:560px){.brand-foosball-label{font-size:.52rem}.brand-emblem .brand-logo{max-height:64px!important}}


/* Final V9: FOOSBALL exakt auf Wappenbreite */
.brand-emblem{width:66px}
.brand-emblem .brand-logo{width:66px!important;height:auto!important;max-height:none!important;object-fit:contain}
.brand-foosball-label,.crest-foosball-label{display:flex!important;justify-content:space-between;align-items:center;letter-spacing:0!important;margin-left:0!important;box-sizing:border-box}
.brand-foosball-label{width:66px;font-size:.61rem;margin-bottom:.25rem!important}
.brand-foosball-label span,.crest-foosball-label span{display:block;line-height:1}
.hero-crest img{width:min(230px,82%)!important;height:auto}
.crest-foosball-label{width:min(230px,82%);font-size:clamp(.7rem,1.2vw,1rem);margin-bottom:.45rem!important}
@media(max-width:850px){.hero-crest img,.crest-foosball-label{width:min(150px,82%)!important}}
@media(max-width:560px){.brand-emblem{width:54px}.brand-emblem .brand-logo,.brand-foosball-label{width:54px!important}.brand-foosball-label{font-size:.5rem}}

/* Final V13: FOOSBALL am großen Hero-Wappen auf sichtbare Wappenbreite angepasst */
.hero-crest .crest-foosball-label{width:min(205px,73%)!important}
@media(max-width:850px){.hero-crest .crest-foosball-label{width:min(136px,73%)!important}}
