/* Handball Turnierplaner – Frontend Styles v1.1 */

/* ---- Containers ---- */
.ht-tournament,
.ht-schedule,
.ht-results,
.ht-standings { font-family: inherit; max-width: 100%; }

.ht-tournament-title { font-size: 1.6em; margin-bottom: 4px; }
.ht-tournament-desc  { color: #555; margin-bottom: 20px; }

/* ---- Age category ---- */
.ht-age-category { margin-bottom: 40px; }
.ht-ac-title     { font-size: 1.3em; border-bottom: 2px solid #0073aa; padding-bottom: 4px; margin-bottom: 4px; }
.ht-ac-meta      { font-size: 0.83em; color: #777; margin-bottom: 14px; }

/* ---- Group heading ---- */
.ht-group-standings { margin-bottom: 20px; }
.ht-group-title     { font-size: 1.05em; font-weight: 600; margin: 12px 0 6px; }

/* ---- Scrollable table wrapper ---- */
.ht-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 16px; }

/* ---- Team logos ---- */
.ht-team-logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
    margin-right: 5px;
    border-radius: 2px;
}
.ht-standings-table .ht-team-logo { width: 22px; height: 22px; }

/* ---- Standings table ---- */
.ht-standings-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92em;
    min-width: 420px;
}
.ht-standings-table th,
.ht-standings-table td {
    padding: 7px 10px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}
.ht-standings-table th   { background: #0073aa; color: #fff; font-weight: 600; }
.ht-standings-table .ht-team-col { text-align: left; }
.ht-standings-table .ht-pos { width: 32px; }
.ht-standings-table .ht-pts { font-weight: 700; font-size: 1em; }

/* Rank highlights */
.ht-standings-table tr.ht-rank-1 td { background: #fff8e1; }
.ht-standings-table tr.ht-rank-2 td { background: #f5f5f5; }
.ht-standings-table tr.ht-rank-3 td { background: #fafafa; }
.ht-standings-table tbody tr:hover td { background: #f0f7ff; }

/* ---- Schedule / Results table ---- */
.ht-schedule-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
    min-width: 480px;
}
.ht-schedule-table th,
.ht-schedule-table td {
    padding: 7px 10px;
    border-bottom: 1px solid #e0e0e0;
    white-space: nowrap;
}
.ht-schedule-table th       { background: #0073aa; color: #fff; font-weight: 600; text-align: center; }
.ht-schedule-table .ht-team-col   { text-align: left; white-space: normal; min-width: 110px; }
.ht-schedule-table .ht-result-col { text-align: center; min-width: 60px; font-size: 1.05em; }
.ht-schedule-table .ht-match-no   { text-align: center; width: 36px; color: #999; }

.ht-match-finished td  { }
.ht-match-scheduled td { color: #555; }
.ht-schedule-table tbody tr:hover td { background: #f0f7ff; }

.ht-pending { color: #ccc; }

/* ---- Error ---- */
.ht-error {
    padding: 10px 14px;
    background: #fde8e8;
    border-left: 4px solid #c0392b;
    color: #c0392b;
    border-radius: 2px;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
    .ht-ac-title    { font-size: 1.1em; }
    .ht-standings-table,
    .ht-schedule-table { font-size: 0.82em; }
    .ht-standings-table th,
    .ht-standings-table td,
    .ht-schedule-table  th,
    .ht-schedule-table  td { padding: 5px 6px; }
    .ht-team-logo { width: 16px; height: 16px; }
}
