/*
 * MultiLiga — AMP-only stylesheet
 *
 * Loaded only on AMP requests in place of style.css. AMP imposes a 75 KB
 * total inline-CSS budget (shared with theme + other plugins) and runs an
 * aggressive sanitizer, so we ship the bare minimum needed for the four
 * shortcode layouts to render correctly. No animations, hover states,
 * modals, tooltips, or scroll indicators — none of those work in AMP
 * anyway (no custom JS, restricted CSS).
 */

.multiliga-fixtures-compact,
.multiliga-results-compact,
.multiliga-standings-compact,
.multiliga-scorers-compact {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 14px;
    color: #1f2937;
}

.multiliga-no-data {
    padding: 16px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
}

/* ===== Fixtures + Results — shared row layout ===== */

.fixtures-table,
.results-table {
    display: block;
}

.fixtures-date-row,
.results-date-row {
    background: #f5f6f8;
    padding: 8px 12px;
    font-weight: 600;
    font-size: 13px;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e5e7eb;
}

.fixtures-date-row:first-child,
.results-date-row:first-child {
    border-top: none;
}

.fixture-row,
.result-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-bottom: 1px solid #f1f2f4;
}

.fixture-row:last-child,
.result-row:last-child {
    border-bottom: none;
}

.fixture-time-col,
.result-score-col {
    flex: 0 0 56px;
    text-align: center;
    font-size: 13px;
    color: #4b5563;
    font-variant-numeric: tabular-nums;
}

.fixture-time-col .match-time,
.result-score-col .final-score {
    display: block;
    font-weight: 600;
    color: #111827;
}

.result-score-col .status-badge {
    display: inline-block;
    margin-top: 2px;
    padding: 1px 6px;
    background: #e5e7eb;
    border-radius: 3px;
    font-size: 11px;
    color: #4b5563;
}

.fixture-teams-col,
.result-teams-col {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.team-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.team-row .team-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    object-fit: contain;
}

.team-row .team-name {
    flex: 1;
    min-width: 0;
    font-size: 14px;
    color: #1f2937;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-row.winner .team-name,
.team-row .team-score.winning {
    font-weight: 600;
    color: #065f46;
}

.team-row .team-score {
    flex: 0 0 24px;
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.fixture-venue-col,
.result-info-col {
    flex: 0 0 auto;
    max-width: 30%;
    text-align: right;
    font-size: 12px;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.venue-name,
.league-name,
.round-name,
.circuit-name,
.race-title {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== F1 race rows ===== */

.f1-race-info {
    flex: 1;
}

.f1-race-name {
    display: flex;
    align-items: center;
    gap: 10px;
}

.f1-race-name .circuit-image {
    width: 40px;
    height: 30px;
    flex: 0 0 40px;
    object-fit: contain;
    border-radius: 4px;
    background: #f5f5f5;
    padding: 2px;
}

.f1-race-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.f1-race-details .race-title {
    font-weight: 600;
    color: #111827;
}

.f1-race-details .circuit-name {
    font-size: 12px;
    color: #6b7280;
}

/* ===== Standings — table layout ===== */

.standings-group-heading {
    margin: 0;
    padding: 10px 14px;
    background: #f5f6f8;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    letter-spacing: 0.02em;
}

.standings-group-heading:first-child {
    border-top: none;
}

.standings-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.standings-table th,
.standings-table td {
    padding: 8px 6px;
    text-align: center;
    border-bottom: 1px solid #f1f2f4;
}

.standings-table thead th {
    background: #f9fafb;
    font-weight: 600;
    font-size: 12px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.standings-table th.col-team,
.standings-table td.col-team {
    text-align: left;
    padding-left: 10px;
}

.standings-table tbody tr:last-child td {
    border-bottom: none;
}

.team-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.team-cell .team-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: contain;
}

.team-cell .team-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.position-badge {
    display: inline-block;
    min-width: 22px;
    padding: 2px 5px;
    border-radius: 3px;
    background: #e5e7eb;
    font-size: 12px;
    font-weight: 600;
    color: #1f2937;
}

.col-pts strong {
    font-weight: 700;
    color: #111827;
}

.col-gd.positive { color: #065f46; }
.col-gd.negative { color: #b91c1c; }

/* ===== Top Scorers — table layout ===== */

.scorers-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.scorers-table th,
.scorers-table td {
    padding: 8px 6px;
    text-align: center;
    border-bottom: 1px solid #f1f2f4;
}

.scorers-table thead th {
    background: #f9fafb;
    font-weight: 600;
    font-size: 12px;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.scorers-table th.col-player,
.scorers-table td.col-player,
.scorers-table th.col-team,
.scorers-table td.col-team {
    text-align: left;
    padding-left: 10px;
}

.scorers-table tbody tr:last-child td {
    border-bottom: none;
}

.player-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.player-cell .player-photo,
.player-cell .player-photo-placeholder {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 50%;
    object-fit: cover;
    background: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #4b5563;
}

.player-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.player-info .player-name {
    font-weight: 600;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.player-info .player-team-mobile {
    font-size: 12px;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.medal {
    display: inline-block;
    width: 22px;
    height: 22px;
    line-height: 22px;
    border-radius: 50%;
    text-align: center;
    font-weight: 700;
    color: #fff;
    font-size: 12px;
}
.medal.gold   { background: #f59e0b; }
.medal.silver { background: #9ca3af; }
.medal.bronze { background: #b45309; }

/* ===== Hide-on-mobile / tablet helpers (responsive trim) ===== */

@media (max-width: 480px) {
    .hide-mobile { display: none !important; }
    .standings-table th,
    .standings-table td,
    .scorers-table th,
    .scorers-table td { padding: 6px 4px; }
    .fixture-venue-col,
    .result-info-col { display: none; }
    .fixture-time-col,
    .result-score-col { flex: 0 0 48px; }
}

@media (max-width: 768px) {
    .hide-tablet { display: none !important; }
}

@media (min-width: 481px) {
    .player-info .player-team-mobile { display: none; }
}
