/* WHV Handball Manager – Frontend Styles */
/* Kompatibel mit Hello Elementor Theme */

/* ============================================
   ALLGEMEIN / TABELLEN
   ============================================ */
.whv-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.whv-table th,
.whv-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #e5e5e5;
}

.whv-table thead th {
    background: #f5f5f5;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #555;
}

.whv-table tbody tr:hover {
    background-color: #fafafa;
}

/* Ergebnis-Farben */
.whv-row-sieg {
    background-color: rgba(46, 204, 64, 0.06) !important;
    border-left: 3px solid #2ecc40;
}

.whv-row-niederlage {
    background-color: rgba(231, 76, 60, 0.06) !important;
    border-left: 3px solid #e74c3c;
}

.whv-row-unentschieden {
    background-color: rgba(149, 165, 166, 0.06) !important;
    border-left: 3px solid #95a5a6;
}

.whv-row-heute {
    border-left: 3px solid #f39c12;
    font-weight: 600;
}

/* Badges */
.whv-badge-heim {
    display: inline-block;
    background: #2980b9;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
}

.whv-badge-auswaerts {
    display: inline-block;
    background: #7f8c8d;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
}

.whv-mini-logo {
    width: 22px;
    height: 22px;
    object-fit: contain;
    vertical-align: middle;
    margin-right: 6px;
    border-radius: 2px;
}

/* Links in Tabelle */
.whv-icon-link {
    text-decoration: none;
    font-size: 16px;
    margin-right: 4px;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.whv-icon-link:hover {
    opacity: 1;
}

/* ============================================
   MATCH CARD WIDGET
   ============================================ */
.whv-match-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    padding: 24px;
    max-width: 520px;
    font-family: inherit;
}

.whv-match-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    font-size: 12px;
    color: #888;
}

.whv-match-saison {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.whv-match-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.whv-badge-geplant {
    background: #e8f4fd;
    color: #2980b9;
}

.whv-badge-beendet {
    background: #f9f9f9;
    color: #777;
}

.whv-match-teams {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 16px 0;
}

.whv-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
}

.whv-team-logo,
.whv-team img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    margin-bottom: 8px;
}

.whv-team-logo-placeholder {
    width: 72px;
    height: 72px;
    background: #f0f0f0;
    border-radius: 50%;
    margin-bottom: 8px;
}

.whv-team-name {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    line-height: 1.3;
}

.whv-match-score {
    text-align: center;
    min-width: 80px;
}

.whv-score {
    display: block;
    font-size: 32px;
    font-weight: 800;
    color: #111;
    line-height: 1;
}

.whv-match-vs {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #bbb;
}

.whv-match-time {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #444;
    line-height: 1.5;
    margin-top: 6px;
}

.whv-match-date-info {
    text-align: center;
    font-size: 13px;
    color: #888;
    margin-bottom: 8px;
}

/* Formkurve */
.whv-formkurve {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: center;
    margin: 12px 0;
    padding: 8px;
    background: #f8f8f8;
    border-radius: 6px;
}

.whv-formkurve-label {
    font-size: 11px;
    color: #888;
    margin-right: 4px;
    font-weight: 600;
}

.whv-form-circle {
    font-size: 14px;
    line-height: 1;
}

.whv-form-win { color: #2ecc40; }
.whv-form-loss { color: #e74c3c; }
.whv-form-draw { color: #95a5a6; }

/* Actions */
.whv-match-actions {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 16px;
}

.whv-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, transform 0.1s;
    cursor: pointer;
}

.whv-btn:active { transform: scale(0.97); }

.whv-btn-tickets {
    background: #2ecc40;
    color: #fff;
}

.whv-btn-tickets:hover { background: #27ae60; color: #fff; }

.whv-btn-stream {
    background: #9b59b6;
    color: #fff;
}

.whv-btn-stream:hover { background: #8e44ad; color: #fff; }

.whv-btn-ical {
    background: #f0f0f0;
    color: #444;
}

.whv-btn-ical:hover { background: #e0e0e0; color: #222; }

/* Match Sponsor */
.whv-match-sponsor {
    text-align: center;
    margin: 10px 0;
}

.whv-match-sponsor img {
    max-height: 36px;
    object-fit: contain;
    display: inline-block;
}

/* ============================================
   HEAD-TO-HEAD WIDGET
   ============================================ */
.whv-h2h {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    padding: 24px;
}

.whv-h2h-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.whv-h2h-logo {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.whv-h2h-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.whv-h2h-bilanz {
    display: flex;
    gap: 0;
    margin: 16px 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e5e5;
}

.whv-h2h-stat {
    flex: 1;
    text-align: center;
    padding: 16px 8px;
}

.whv-siege { background: rgba(46, 204, 64, 0.1); }
.whv-niederlagen { background: rgba(231, 76, 60, 0.1); }
.whv-unent { background: rgba(149, 165, 166, 0.1); }

.whv-h2h-number {
    display: block;
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
}

.whv-siege .whv-h2h-number { color: #27ae60; }
.whv-niederlagen .whv-h2h-number { color: #e74c3c; }
.whv-unent .whv-h2h-number { color: #7f8c8d; }

.whv-h2h-label {
    display: block;
    font-size: 12px;
    color: #888;
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.whv-h2h-best {
    background: #fff8e5;
    border: 1px solid #f0d080;
    border-radius: 5px;
    padding: 10px 14px;
    font-size: 13px;
    margin: 12px 0;
}

.whv-result-sieg { color: #27ae60; font-weight: 600; }
.whv-result-niederlage { color: #e74c3c; font-weight: 600; }
.whv-result-unentschieden { color: #7f8c8d; }

/* ============================================
   TOP-SCORER WIDGET
   ============================================ */
.whv-top-scorer {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    padding: 24px;
    overflow: hidden;
}

.whv-scorer-header h3 {
    margin-top: 0;
    font-size: 16px;
    font-weight: 700;
}

.whv-scorer-foto {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
    margin-right: 8px;
}

.whv-scorer-link {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.whv-scorer-link:hover { text-decoration: underline; }

.whv-tore-count {
    font-size: 18px;
    color: #111;
}

.whv-rank-medal { font-size: 18px; }
.whv-rank-number { font-weight: 700; color: #888; }

.whv-karte-gelb, .whv-karte-rot {
    display: inline-block;
    margin-right: 4px;
    font-size: 12px;
}

/* Podium rows */
.whv-podium-1 { background: rgba(255, 215, 0, 0.08) !important; }
.whv-podium-2 { background: rgba(192, 192, 192, 0.08) !important; }
.whv-podium-3 { background: rgba(205, 127, 50, 0.08) !important; }

.whv-scorer-footnote {
    font-size: 11px;
    color: #aaa;
    margin-top: 12px;
    margin-bottom: 0;
}

/* ============================================
   SPIELPLAN LISTE WIDGET
   ============================================ */
.whv-spielplan-liste {
    overflow-x: auto;
}

.whv-col-datum { min-width: 110px; }
.whv-col-zeit { min-width: 70px; }
.whv-col-gegner { min-width: 140px; }
.whv-col-ergebnis { text-align: center; min-width: 90px; }
.whv-col-links { text-align: center; min-width: 80px; }

.whv-wochentag {
    font-size: 11px;
    color: #999;
    display: block;
}

.whv-score-result {
    font-size: 16px;
    font-weight: 700;
}

.whv-result-w { color: #27ae60; }
.whv-result-l { color: #e74c3c; }
.whv-result-d { color: #7f8c8d; }

.whv-geplant-text {
    font-size: 12px;
    color: #aaa;
    font-style: italic;
}

/* Responsive */
@media (max-width: 600px) {
    .whv-match-card { padding: 16px; }
    .whv-team-logo, .whv-team img { width: 52px; height: 52px; }
    .whv-score { font-size: 26px; }
    .whv-h2h-bilanz { flex-direction: column; }
    .whv-match-actions { flex-direction: column; align-items: center; }
    .whv-col-2min, .whv-col-karten { display: none; }
}
