/* Team-Seite: Layout. Tabellen, Zeilen, Tabs und Kacheln stammen aus dss/components.css. */

.team-head { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 0.35rem; }
.team-head .team-title { margin: 0; }
.team-title { font-weight: 800; font-size: clamp(1.7rem, 5vw, 2.4rem); letter-spacing: -0.03em; line-height: 1.1; margin: 0 0 0.35rem; }
.team-sub { color: var(--dss-fg-soft); font-size: 0.95rem; margin-bottom: 1rem; }
.team-sub a { color: var(--dss-link); }

.team-ligas { margin-bottom: 1.25rem; }


.team-section-title { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dss-mute); margin: 2rem 0 0.7rem; }



.team-tabs { margin-bottom: 0.75rem; }
.dss-stats:not(.dss-stats--compact) { margin-bottom: 1.5rem; }
.team-match-ha { text-transform: none; letter-spacing: 0; font-size: 0.78rem; font-weight: 700; min-width: 2.6rem; justify-content: center; }
.team-match-result { display: inline-flex; align-items: center; gap: 0.35rem; }
.team-match-note { font-size: 0.72rem; color: var(--dss-mute); font-weight: 500; margin-left: 0.3rem; font-family: var(--font-body); }
.team-match-past .dss-row-main { color: var(--dss-fg-soft); }

.team-empty.dss-empty { padding: 16px 20px; font-size: 0.9rem; }
.team-updated { font-family: var(--font-mono); font-size: 0.72rem; color: var(--dss-mute); margin-top: 1.75rem; text-align: center; }


/* Teamlogos (von basketball-bund.net; ohne Logo erscheint ein Kürzel) */
.team-logo { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; background: var(--n-0); border: 1px solid var(--dss-line); }
.team-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.team-logo--xs { width: 28px; height: 28px; border-radius: 6px; padding: 2px; }
.team-logo--lg { width: 72px; height: 72px; border-radius: var(--radius-lg); padding: 5px; }
.team-logo--xl { width: 64px; height: 64px; border-radius: var(--radius-lg); padding: 4px; }
.team-logo--empty { background: var(--ink-800); color: var(--ink-0); border-color: transparent; font-family: var(--font-display); font-weight: 800; letter-spacing: 0.02em; }
.team-logo--xs.team-logo--empty { font-size: 0.6rem; }
.team-logo--lg.team-logo--empty, .team-logo--xl.team-logo--empty { font-size: 1.1rem; }
.team-name-cell, .team-match-teams { display: inline-flex; align-items: center; gap: 0.5rem; }

/* Nächstes Spiel: Teaser mit Logos, Spielort und Karte */
.next-game { margin-top: 2rem; }
.next-game .team-section-title { margin: 0; padding: 14px 18px 0; }
.next-game-matchup { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.75rem; padding: 14px 18px 6px; }
.next-game-team { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; text-align: center; min-width: 0; }
.next-game-team-name { font-family: var(--font-display); font-weight: 700; font-size: 0.95rem; line-height: 1.25; color: var(--dss-fg); overflow-wrap: anywhere; }
.next-game-team-name a { color: var(--dss-link); display: inline-flex; align-items: center; min-height: 44px; }
.next-game-vs { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.next-game-vs-label { font-family: var(--font-display); font-weight: 800; font-size: 1.1rem; color: var(--dss-mute); }
.next-game-kickoff { font-family: var(--font-mono); font-weight: 700; font-size: 0.85rem; color: var(--dss-fg); }
.next-game-kickoff-time { font-family: var(--font-mono); font-size: 0.85rem; font-weight: 600; color: var(--dss-fg-soft); }
.next-game-ha { margin-top: 4px; font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 10px; border-radius: var(--radius-full); }
.next-game-ha--home { background: var(--dss-chip-sky-bg); color: var(--dss-chip-sky-fg); }
.next-game-ha--away { background: var(--dss-chip-amber-bg); color: var(--dss-chip-amber-fg); }
.next-game-competition { text-align: center; font-size: 0.85rem; color: var(--dss-mute); padding: 0 18px 14px; }

.next-game-venue { border-top: 1px solid var(--dss-line); padding: 14px 18px; }
.next-game-venue-label { font-family: var(--font-mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dss-mute); }
.next-game-venue-name { font-family: var(--font-display); font-weight: 700; color: var(--dss-fg); margin-top: 2px; }
.next-game-venue-addr { font-size: 0.9rem; color: var(--dss-fg-soft); }
.next-game-venue-note { font-size: 0.75rem; color: var(--dss-mute); margin-top: 4px; }
.next-game-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.next-game-map { height: 220px; border-top: 1px solid var(--dss-line); position: relative; z-index: 0; background: var(--dss-surface-2); }

@media (max-width: 560px) {
  .next-game-matchup { grid-template-columns: 1fr 1fr; }
  .next-game-vs { grid-column: 1 / -1; grid-row: 2; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.5rem 0.9rem; }
  .next-game-team--home { grid-column: 1; grid-row: 1; }
  .next-game-team--guest { grid-column: 2; grid-row: 1; }
}

/* Kalender-Abo */
.team-cal { margin: 1rem 0 1.5rem; }
.team-cal-summary { cursor: pointer; list-style: none; }
.team-cal-summary::-webkit-details-marker { display: none; }
.team-cal-body { margin-top: 0.75rem; padding: 0.75rem 1rem; border: 1px solid var(--dss-line); border-radius: var(--radius-lg); background: var(--dss-surface); }
.team-cal-intro { margin: 0 0 0.75rem; color: var(--dss-fg-soft); }
.team-cal-note { margin: 0.5rem 0; color: var(--dss-mute); font-size: 0.9rem; }
.team-cal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.team-cal-link { display: inline-flex; align-items: center; text-decoration: none; }
.team-cal-help { margin-top: 0.75rem; }
.team-cal-help summary { cursor: pointer; color: var(--dss-link); min-height: 44px; display: flex; align-items: center; }
.team-cal-help dl { margin: 0.25rem 0 0; }
.team-cal-help dt { font-weight: 600; margin-top: 0.75rem; }
.team-cal-help dd { margin: 0.15rem 0 0; color: var(--dss-fg-soft); }

.next-game-venue-name a { display: inline-flex; align-items: center; min-height: 44px; color: var(--dss-link); }
