/* TGO Vereinsdaten & Sportangebote – Ausgabe auf der Webseite.
 *
 * Alle Regeln stehen in :where() und haben damit die Gewichtung 0: Was im
 * Theme bzw. im Avada-Custom-CSS bereits gestaltet ist, gewinnt immer. Das
 * Plugin liefert nur die Grundgestaltung dort, wo sonst nichts greift.
 * Farben und Schriften kommen aus der Avada-Palette (--awb-*). */

/* ---------- Tabellen ([tgo_angebote], [tgo_altersklassen]) ---------- */
:where(.tt) { width: 100%; border-collapse: collapse; border: 1px solid var(--awb-color3, #e4e6e9); border-radius: 8px; overflow: hidden; }
:where(.tt th) { text-align: left; background: var(--ac, var(--awb-color7, #16191d)); color: #fff; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 13.5px; letter-spacing: .13em; text-transform: uppercase; padding: 14px 18px; }
:where(.tt td) { padding: 16px 18px; border-bottom: 1px solid var(--awb-color3, #e4e6e9); vertical-align: top; }
:where(.tt tr:last-child td) { border-bottom: 0; }
:where(.tt .d) { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 19px; text-transform: uppercase; white-space: nowrap; }
:where(.tt .t) { white-space: nowrap; font-variant-numeric: tabular-nums; }
:where(.tt .tgo-saison) { display: inline-block; margin-left: 8px; padding: 1px 7px 2px; border-radius: 99px; background: var(--awb-color2, #f6f7f8); font-size: 11.5px; font-weight: 600; letter-spacing: .08em; vertical-align: middle; }
:where(.tt tr.tgo-folgezeile td) { border-top: 0; padding-top: 6px; }
:where(.tt tr.tgo-folgezeile td[data-l="Angebot"]) { color: var(--awb-custom_color_2, #697077); }
:where(.tt tr.tgo-vd-gruppenzeile th) { background: var(--awb-color2, #f6f7f8); color: var(--awb-color7, #16191d); font-size: 15px; }

:where(.tgo-hinweis, .tgo-leitung, .tgo-alter) { font-size: 14px; color: var(--awb-custom_color_2, #697077); }
:where(.tgo-zeit--fehlt) { color: var(--awb-color4, #ff0000); font-style: italic; }
:where(.tgo-ohne-zeit) { color: var(--awb-custom_color_2, #697077); }
:where(.tgo-pause) { color: var(--awb-color5, #d50000); font-weight: 600; }

/* Handy: Tabellenzeilen werden zu Karten */
@media (max-width: 780px) {
	:where(.tt, .tt tbody, .tt tr, .tt td) { display: block; width: 100%; }
	:where(.tt thead) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	:where(.tt tr) { border-bottom: 1px solid var(--awb-color3, #e4e6e9); padding: 10px 0; }
	:where(.tt td) { border: 0; padding: 4px 16px; display: flex; gap: 18px; }
	:where(.tt td)::before { content: attr(data-l); flex: 0 0 34%; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--awb-custom_color_2, #697077); }
	:where(.tt tr.tgo-folgezeile) { margin-top: -12px; border-top: 0; }
	:where(.tt tr.tgo-vd-gruppenzeile th) { display: block; }
}

/* ---------- Listen und Karten ---------- */
:where(.tgo-vd-liste) { list-style: none; margin: 0; padding: 0; }
:where(.tgo-vd-liste > li) { padding: 12px 0; border-bottom: 1px solid var(--awb-color3, #e4e6e9); }
:where(.tgo-vd-liste > li:last-child) { border-bottom: 0; }
:where(.tgo-vd-liste p, .tgo-vd-karte p) { margin: 0 0 6px; }
:where(.tgo-vd-gruppe) { margin: 22px 0 8px; }
:where(.tgo-vd-karten) { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 12px 0; }
:where(.tgo-vd-karte) { border: 1px solid var(--awb-color3, #e4e6e9); border-radius: 10px; background: var(--awb-color1, #fff); padding: 17px 20px 19px; }
:where(.tgo-karte__titel) { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 21px; line-height: 1.2; }
:where(.tgo-karte__zeile) { font-family: "Barlow Condensed", sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: var(--awb-custom_color_2, #697077); }
:where(.tgo-kontakt__rolle) { font-family: "Barlow Condensed", sans-serif; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: 14px; color: var(--awb-custom_color_2, #697077); }
:where(.tgo-kontakt__name) { font-weight: 600; }

/* ---------- Personenkarten (wie Vereinsführung) ---------- */
:where(.tgo-personen) { display: grid; gap: 18px; margin: 24px 0 0; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); }
:where(.tgo-personen--1) { grid-template-columns: minmax(0, 340px); }
:where(.tgo-person) { overflow: hidden; border: 1px solid var(--awb-color3, #e4e6e9); border-radius: 10px; background: var(--awb-color1, #fff); padding: 17px 20px 19px; }
:where(.tgo-person__bild) { display: block; margin: -17px -20px 14px; }
:where(.tgo-person__foto) { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
:where(.tgo-person__name) { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 21px; line-height: 1.2; color: var(--awb-color7, #16191d); margin-bottom: 3px; }
:where(.tgo-person__rolle) { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 600; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; color: var(--ac, var(--awb-custom_color_2, #697077)); margin-bottom: 10px; line-height: 1.3; }
:where(.tgo-person__mail, .tgo-person__tel, .tgo-person__handy) { display: block; font-size: 15px; line-height: 1.55; color: var(--awb-custom_color_2, #697077); overflow-wrap: anywhere; }
@media (max-width: 640px) { :where(.tgo-personen) { grid-template-columns: minmax(0, 1fr); gap: 14px; } }

/* Kontakt-Links in Karten und Zeilen wie der umgebende Text (nicht in Linkfarbe). */
.tgo-person__mail a, .tgo-person__tel a, .tgo-person__handy a { color: inherit; text-decoration: none; }
.tgo-person__mail a:hover, .tgo-person__tel a:hover, .tgo-person__handy a:hover { text-decoration: underline; }
