/* ── Copa 2026 Widget ───────────────────────────────────────────── */

.copa2026-section {
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    padding: 16px 0 14px;
}

/* ── Header ─────────────────────────────────────────────────────── */
.copa2026-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    gap: 12px;
}

.copa2026-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #212529 !important;
    line-height: 1.2 !important;
    border: none !important;
}

.copa2026-btn-all {
    display: inline-block;
    padding: 5px 14px;
    border: 1.5px solid #0d6efd;
    border-radius: 4px;
    color: #0d6efd;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .15s, color .15s;
}
.copa2026-btn-all:hover,
.copa2026-btn-all:focus {
    background: #0d6efd;
    color: #fff;
    text-decoration: none;
}

/* ── Slider ─────────────────────────────────────────────────────── */
.copa2026-slider {
    position: relative;
    display: flex;
    align-items: stretch;
}

.copa2026-track-wrap {
    overflow: hidden;
    flex: 1;
    min-width: 0;
    padding: 3px; /* breathing room so overflow:hidden never clips card borders */
}

.copa2026-track {
    display: flex;
    gap: 10px;
    transition: transform .3s ease;
    will-change: transform;
    align-items: stretch;
}

/* ── Cards ──────────────────────────────────────────────────────── */
.copa2026-card {
    flex: 0 0 calc(25% - 7.5px);
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 12px 14px 10px;
    box-sizing: border-box;
    position: relative;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Finished: muted border */
.copa2026-card--finished {
    border-color: #ced4da;
    background: #f8f9fa;
}

/* Live: green glow */
.copa2026-card--live {
    border-color: #198754;
    background: #f0fff4;
}

/* Brasil highlight — verde (inset shadow nunca é clipado pelo overflow:hidden) */
.copa2026-card--brasil {
    box-shadow: inset 0 0 0 2px #198754;
    padding-top: 38px;
}

/* ── Brasil badge ───────────────────────────────────────────────── */
.copa2026-badge {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: #198754;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    padding: 5px 8px;
    border-radius: 6px 6px 0 0;
    letter-spacing: .3px;
    text-transform: uppercase;
}

/* ── Time line ──────────────────────────────────────────────────── */
.copa2026-time {
    font-size: 12px;
    color: #495057;
    margin-bottom: 8px;
    font-weight: 500;
    white-space: nowrap;
}

.copa2026-time--live {
    color: #198754;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
}

.copa2026-live-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #198754;
    border-radius: 50%;
    flex-shrink: 0;
    animation: copa-pulse 1.2s ease-in-out infinite;
}

@keyframes copa-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: .4; transform: scale(.7); }
}

.copa2026-ended {
    color: #6c757d;
    font-weight: 600;
    font-size: 11px;
}

/* ── Teams ──────────────────────────────────────────────────────── */
.copa2026-team {
    font-size: 14px;
    color: #212529;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.35;
    margin-bottom: 3px;
}

/* When score is shown: name fills remaining space, score is right-aligned */
.copa2026-team--scored {
    gap: 4px;
}

.copa2026-flag {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
}

.copa2026-teamname {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.copa2026-score {
    font-size: 20px;
    font-weight: 800;
    color: #212529;
    min-width: 22px;
    text-align: right;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

/* ── Round label ────────────────────────────────────────────────── */
.copa2026-round {
    font-size: 11px;
    color: #6c757d;
    margin-top: 6px;
    flex: 1;
    display: flex;
    align-items: flex-end;
}

/* ── Stats row ──────────────────────────────────────────────────── */
.copa2026-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #e9ecef;
    font-size: 11px;
    color: #495057;
}

.copa2026-stats span {
    white-space: nowrap;
}

/* ── Arrows ─────────────────────────────────────────────────────── */
.copa2026-arrow {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    background: #0d6efd;
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    z-index: 2;
    transition: background .15s;
    margin: 0 4px;
    align-self: center;
    padding: 0;
    line-height: 1;
}
.copa2026-arrow:hover  { background: #0b5ed7; }
.copa2026-arrow:disabled { background: #adb5bd; cursor: default; }

/* ── Group table ────────────────────────────────────────────────── */
.copa2026-table-wrap {
    margin-top: 14px;
}

.copa2026-table-summary {
    font-size: 13px;
    font-weight: 700;
    color: #212529;
    cursor: pointer;
    user-select: none;
    padding: 6px 2px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.copa2026-table-summary:hover { color: #0d6efd; }

.copa2026-table-scroll {
    overflow-x: auto;
    margin-top: 8px;
}

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

.copa2026-table th,
.copa2026-table td {
    padding: 7px 10px;
    text-align: center;
    border-bottom: 1px solid #e9ecef;
    white-space: nowrap;
}

.copa2026-table th {
    font-size: 11px;
    color: #6c757d;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    background: #f8f9fa;
}

.copa2026-th-team,
.copa2026-td-team {
    text-align: left !important;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 150px;
}

.copa2026-table thead .copa2026-th-team {
    display: table-cell;
}

.copa2026-flag-sm {
    font-size: 16px;
    line-height: 1;
}

.copa2026-tr--brasil td {
    background: #f0fff4;
    font-weight: 700;
}

.copa2026-td-pts {
    font-weight: 800;
    color: #212529;
    font-size: 15px;
}

.copa2026-sg-pos { color: #198754; font-weight: 700; }
.copa2026-sg-neg { color: #dc3545; font-weight: 700; }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .copa2026-card {
        flex: 0 0 calc(50% - 5px);
    }
}

@media (max-width: 575px) {
    .copa2026-card {
        flex: 0 0 calc(100%);
        min-width: 220px;
    }
    .copa2026-title  { font-size: 15px !important; }
    .copa2026-btn-all { font-size: 12px; padding: 4px 10px; }
    .copa2026-arrow  { width: 26px; height: 26px; font-size: 11px; margin: 0 2px; }
}
