/* TSV Frommern-Dürrwangen – Redesign (TYPO3 Marker-Template)
   Lädt NACH dem generierten typo3temp-Stylesheet -> überschreibt Altes.
   Alles unter .tsv-redesign gekapselt. */

.tsv-redesign{
  --gold:#f7b904; --orange:#ea7b18; --ink:#16160f; --ink2:#26261c;
  --bg:#f4f4ef; --paper:#fff; --line:#e4e4dc; --muted:#6b6b60; --text:#24241c;
  --wrap:1120px; --radius:14px; --shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.06);
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text); line-height:1.6; background:var(--bg);
}
.tsv-redesign *{box-sizing:border-box;}
.tsv-redesign img{max-width:100%;}
.tsv-redesign .wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.tsv-redesign a{color:inherit;}

/* Header */
.tsv-redesign .site-header{background:rgba(255,255,255,.95);border-bottom:3px solid;border-image:linear-gradient(90deg,var(--gold),var(--orange)) 1;box-shadow:0 1px 12px rgba(0,0,0,.05);}
.tsv-redesign .site-header .wrap{display:flex;align-items:center;gap:18px;min-height:76px;flex-wrap:wrap;}
.tsv-redesign .brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);}
.tsv-redesign .brand img{width:48px;height:52px;object-fit:contain;}
.tsv-redesign .brand .name{font-weight:800;line-height:1.15;}
.tsv-redesign .brand .name small{display:block;font-weight:700;color:var(--orange);font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;}
.tsv-redesign .topnav{margin-left:auto;}

/* Reiter (###RMENU### – Tabellen-Ausgabe modern gestylt) */
.tsv-redesign .reiter,.tsv-redesign .reiter tr,.tsv-redesign .reiter table{border:0;background:none;border-collapse:collapse;}
.tsv-redesign .reiter img{display:none;}
.tsv-redesign .reiter-spacer{display:none;}
.tsv-redesign .reiter td[onclick]{cursor:pointer;padding:0 3px;}
.tsv-redesign .topreiternav,.tsv-redesign .topreiternavselected{
  display:inline-block;padding:9px 18px;border-radius:999px;font-weight:600;font-size:.95rem;color:#43433a;background:transparent;text-decoration:none;}
.tsv-redesign .reiter td[onclick]:hover .topreiternav{background:rgba(0,0,0,.06);color:var(--ink);}
.tsv-redesign .topreiternavselected{background:var(--gold);color:var(--ink);}

/* Hero */
.tsv-redesign .hero{background:radial-gradient(120% 140% at 85% -20%,rgba(234,123,24,.28),transparent 55%),linear-gradient(180deg,var(--ink),var(--ink2));color:#fff;padding:40px 0 44px;}
.tsv-redesign .hero h1{margin:0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;font-weight:800;}
.tsv-redesign .hero .lead{color:#d7d7cc;margin:.5em 0 0;font-size:1.1rem;}
.tsv-redesign .hero-home{padding:60px 0 66px;}
.tsv-redesign .pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.tsv-redesign .pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:8px 16px;border-radius:999px;font-weight:600;font-size:.9rem;}
.tsv-redesign .pill b{color:var(--gold);}

/* Scrollbar (Laufschrift, nur wenn Inhalt) */
.tsv-redesign .scrollbar{background:var(--ink2);color:#fff;}
.tsv-redesign .scrollbar .wrap:empty,.tsv-redesign .scrollbar:has(.wrap:empty){display:none;}
.tsv-redesign .scrollbar .wrap{padding:6px 20px;font-size:.85rem;}

/* Abteilungs-Kacheln (Home) */
.tsv-redesign .depts{padding:52px 0;}
.tsv-redesign .depts h2{text-align:center;font-size:clamp(1.4rem,3vw,2rem);color:var(--ink);margin:0 0 28px;}
.tsv-redesign .dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.tsv-redesign .dept{--c:var(--gold);position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:20px;border-radius:var(--radius);
  background:linear-gradient(145deg, var(--c), color-mix(in srgb, var(--c) 58%, #101010));
  box-shadow:var(--shadow);text-decoration:none;color:#fff;font-weight:800;font-size:1.2rem;overflow:hidden;
  transition:transform .16s, box-shadow .16s;}
.tsv-redesign .dept::after{content:"";position:absolute;inset:0;background:radial-gradient(130% 90% at 88% -15%, rgba(255,255,255,.28), transparent 58%);pointer-events:none;}
.tsv-redesign .dept .dept-ico{position:absolute;top:14px;left:16px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.tsv-redesign .dept .t{position:relative;z-index:1;text-shadow:0 1px 3px rgba(0,0,0,.25);}
.tsv-redesign .dept:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.24);}
.tsv-redesign .dept.fussball{--c:#8aa515;}.tsv-redesign .dept.frauen{--c:#6fb0d6;}
.tsv-redesign .dept.handball{--c:#3f9d54;}.tsv-redesign .dept.volleyball{--c:#2f6fb0;}
.tsv-redesign .dept.tennis{--c:#e07a1f;}.tsv-redesign .dept.tischtennis{--c:#8e3f8e;}
.tsv-redesign .dept.turnen{--c:#c8402f;}.tsv-redesign .dept.gymnastik{--c:#1f9e93;}

/* Layout: Inhalt + Sidebar */
.tsv-redesign .layoutmain{padding:40px 20px 10px;}
.tsv-redesign .layout{display:grid;grid-template-columns:1fr 288px;gap:34px;align-items:start;}
.tsv-redesign .content{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px;box-shadow:var(--shadow);}
.tsv-redesign .content a{color:var(--orange);}
.tsv-redesign .content img{height:auto;border-radius:8px;margin:8px 0;}
.tsv-redesign .content table{max-width:100%;}

/* --- Alt-Ballast im Content neutralisieren (überschreibt typo3temp + Inline-Styles) --- */
.tsv-redesign .content, .tsv-redesign .content *{font-family:"Segoe UI",system-ui,Arial,sans-serif !important;}
.tsv-redesign .content span[style]{color:inherit !important;font-size:inherit !important;background:transparent !important;}
.tsv-redesign .content font{font-size:inherit !important;color:inherit !important;}
.tsv-redesign .content p, .tsv-redesign .content li{font-size:1rem !important;line-height:1.6 !important;color:var(--text) !important;margin:0 0 14px !important;}
.tsv-redesign .content h1,.tsv-redesign .content h2,.tsv-redesign .content h3{color:var(--ink) !important;font-weight:800 !important;line-height:1.2;margin:1.2em 0 .5em;}
.tsv-redesign .content img[src*="clear.gif"],.tsv-redesign .content img[src*="spacer"]{display:none !important;}
.tsv-redesign .content table[background],.tsv-redesign .content td[background]{background-image:none !important;}
.tsv-redesign .content table,.tsv-redesign .content tr,.tsv-redesign .content td{border:0 !important;background-color:transparent !important;width:auto !important;height:auto !important;}
.tsv-redesign .content .csc-frame{margin:0 0 16px !important;}
.tsv-redesign .content blockquote{margin:0 0 14px !important;padding:4px 0 4px 18px !important;border-left:3px solid var(--gold) !important;}
.tsv-redesign .content b,.tsv-redesign .content strong{color:var(--ink) !important;}

/* Sidebar-Menü (###MENU### – Tabellen-Ausgabe modern) */
.tsv-redesign .sidebar .sidemenu{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.tsv-redesign .menu_p0{background:var(--ink);color:#fff;padding:14px 18px;font-weight:800;font-size:.95rem;}
.tsv-redesign .menu_p1{display:block;padding:12px 16px;border-top:1px solid var(--line);cursor:pointer;font-weight:600;color:var(--text);transition:background .12s,color .12s;}
.tsv-redesign .menu_p1:hover{background:var(--bg);color:var(--orange);}
.tsv-redesign .menu_p1 b{color:var(--ink);}
.tsv-redesign tr:has(>.menu_p1 b) .menu_p1{background:var(--gold);color:var(--ink);}

/* Footer */
.tsv-redesign .site-footer{background:var(--ink);color:#b9b9ad;margin-top:40px;}
.tsv-redesign .site-footer .wrap{display:grid;grid-template-columns:2fr 1fr;gap:28px;padding:40px 20px;}
.tsv-redesign .foot-brand img{width:42px;height:46px;object-fit:contain;vertical-align:middle;margin-right:10px;}
.tsv-redesign .foot-brand strong{color:#fff;}
.tsv-redesign .foot-brand p{margin:8px 0 0;font-size:.9rem;}
.tsv-redesign .foot-links h4{color:#fff;margin:0 0 12px;}
.tsv-redesign .foot-links a{display:block;color:#b9b9ad;text-decoration:none;padding:3px 0;}
.tsv-redesign .foot-links a:hover{color:var(--gold);}
.tsv-redesign .foot-copy{border-top:1px solid rgba(255,255,255,.1);padding:16px;text-align:center;font-size:.82rem;color:#7c7c70;}

@media(max-width:900px){
  .tsv-redesign .layout{grid-template-columns:1fr;}
  .tsv-redesign .dept-grid{grid-template-columns:repeat(2,1fr);}
  .tsv-redesign .site-footer .wrap{grid-template-columns:1fr;}
  .tsv-redesign .site-header .wrap{min-height:60px;}
  .tsv-redesign .topnav{margin-left:0;width:100%;}
}
@media(max-width:520px){.tsv-redesign .dept-grid{grid-template-columns:1fr;}}

/* --- Overflow-/Mobile-Härtung (verhindert horizontales Scrollen) --- */
.tsv-redesign{max-width:100%;overflow-x:hidden;}
.tsv-redesign .content{overflow-wrap:break-word;word-break:break-word;}
.tsv-redesign .content img,.tsv-redesign .content video,.tsv-redesign .content iframe{max-width:100% !important;height:auto !important;}
.tsv-redesign .content table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* Besucherzähler modern gerahmt */
.tsv-redesign .besucher-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);margin:12px 0;}
.tsv-redesign .besucher-badge .bz-ico{font-size:1.1rem;line-height:1;}
.tsv-redesign .besucher-badge .bz-label{font-weight:700;color:var(--ink);font-size:.88rem;letter-spacing:.3px;}
.tsv-redesign .besucher-badge img{height:22px;width:auto;vertical-align:middle;opacity:.85;}

.tsv-redesign .besucher-badge .bz-num{font-weight:800;color:var(--orange);font-size:1.05rem;font-variant-numeric:tabular-nums;letter-spacing:.3px;}

/* Besucherzähler-Karte (Heute/Gesamt/Online) */
.tsv-redesign .besucher-card{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px 18px;margin:14px 0;}
.tsv-redesign .besucher-card .bz-head{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink);font-size:.92rem;margin-bottom:10px;}
.tsv-redesign .besucher-card .bz-head .bz-ico{font-size:1.1rem;}
.tsv-redesign .bz-stats{display:flex;gap:10px;}
.tsv-redesign .bz-stat{min-width:80px;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;}
.tsv-redesign .bz-stat .bz-n{display:block;font-weight:800;font-size:1.3rem;line-height:1.1;color:var(--orange);font-variant-numeric:tabular-nums;}
.tsv-redesign .bz-stat .bz-l{display:block;margin-top:3px;font-size:.68rem;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);}
.tsv-redesign .bz-stat.online .bz-n{color:#3f9d54;}
.tsv-redesign .bz-stat.online .bz-l::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#3f9d54;margin-right:5px;vertical-align:middle;}

/* Cookie-/Datenschutz-Hinweis-Banner */
.tsv-redesign .tsv-cookie{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:780px;margin:0 auto;background:var(--ink);color:#ecece4;border:1px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.35);padding:16px 18px;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.9rem;line-height:1.5;}
.tsv-redesign .tsv-cookie .tc-txt{flex:1;min-width:220px;}
.tsv-redesign .tsv-cookie a{color:var(--gold);}
.tsv-redesign .tsv-cookie .tc-btn{flex:none;background:var(--gold);color:var(--ink);border:0;border-radius:10px;padding:10px 22px;font-weight:800;cursor:pointer;}
.tsv-redesign .tsv-cookie .tc-btn:hover{background:var(--gold-dark);}
