/* ComoVa source: Fútbol (API-Football). */
.cv-fb { margin: 1rem 0; }
.cv-fb-lead { font-size: 1.05em; line-height: 1.55; }

.cv-fb-list { list-style: none; margin: .75rem 0 1rem; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.cv-fb-m { background: var(--cv-surface, #fff); border: 1px solid var(--cv-border, #e3e8f0); border-radius: var(--cv-radius, 14px); padding: .7rem .9rem; min-width: 0; }
.cv-fb-live { border-color: #dc2626; box-shadow: 0 0 0 1px rgba(220, 38, 38, .25); }
.cv-fb-top { font-size: .82em; color: var(--cv-muted, #5b6475); margin-bottom: .35rem; }
.cv-fb-st { font-weight: 600; }
.cv-fb-live .cv-fb-st { color: #dc2626; }
.cv-fb-live .cv-fb-st::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .35rem; border-radius: 50%; background: #dc2626; vertical-align: baseline; animation: cv-fb-pulse 1.6s ease-in-out infinite; }
.cv-fb-off .cv-fb-st { color: #b45309; }
.cv-fb-row { display: flex; align-items: baseline; gap: .5rem; padding: .1rem 0; }
.cv-fb-tn { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.cv-fb-tn a { color: inherit; }
.cv-fb-g { font-size: 1.2em; min-width: 1.5ch; text-align: right; font-variant-numeric: tabular-nums; }
.cv-fb-pen { font-size: .85em; }
.cv-fb-win .cv-fb-tn { font-weight: 700; }
.cv-fb-done .cv-fb-row:not(.cv-fb-win) .cv-fb-g { color: var(--cv-muted, #5b6475); }
.cv-fb-ev { margin: .4rem 0 0; font-size: .85em; line-height: 1.4; }
.cv-fb-sub { margin: .4rem 0 0; font-size: .8em; }
.cv-fb-day { margin: 1.1rem 0 .2rem; font-size: 1em; }

.cv-fb-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: .75rem 0; }
.cv-fb-table { width: 100%; border-collapse: collapse; font-size: .92em; font-variant-numeric: tabular-nums; }
.cv-fb-table th, .cv-fb-table td { padding: .4rem .45rem; border-bottom: 1px solid var(--cv-border, #e3e8f0); text-align: center; white-space: nowrap; }
.cv-fb-table thead th { font-size: .82em; color: var(--cv-muted, #5b6475); font-weight: 600; }
.cv-fb-table tbody th { text-align: left; font-weight: 500; white-space: normal; min-width: 7rem; }
.cv-fb-table thead th:nth-child(2) { text-align: left; }
.cv-fb-table caption { text-align: left; padding-bottom: .3rem; font-weight: 600; }
.cv-fb-table tr > td:first-child { box-shadow: inset 4px 0 0 var(--cv-fb-z, transparent); }
.cv-fb-z1 { --cv-fb-z: #16a34a; }
.cv-fb-z2 { --cv-fb-z: #2563eb; }
.cv-fb-z3 { --cv-fb-z: #eab308; }
.cv-fb-z4 { --cv-fb-z: #dc2626; }
.cv-fb-legend span { display: inline-block; margin-right: .75rem; white-space: nowrap; }
.cv-fb-zdot { display: inline-block; width: .65rem; height: .65rem; border-radius: 3px; margin-right: .35rem; background: var(--cv-fb-z); vertical-align: baseline; }

.cv-fb-f { display: inline-block; width: 1.35rem; line-height: 1.35rem; margin-right: 2px; border-radius: 4px; font-style: normal; font-size: .75em; font-weight: 700; text-align: center; color: #fff; }
.cv-fb-fW { background: #16a34a; }
.cv-fb-fD { background: #8b93a7; }
.cv-fb-fL { background: #dc2626; }
.cv-fb-formline { margin: .25rem 0 .75rem; }
.cv-fb-note { margin-top: .25rem; }

@keyframes cv-fb-pulse { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .cv-fb-live .cv-fb-st::before { animation: none; } }
@media (max-width: 420px) {
	.cv-fb-table { font-size: .85em; }
	.cv-fb-table th, .cv-fb-table td { padding: .35rem .3rem; }
	.cv-fb-table .cv-fb-form, .cv-fb-table .cv-fb-formh { display: none; }
}

/* Match pages, match lists, club facts. */
.cv-fb-one { grid-template-columns: minmax(0, 420px); }
.cv-fb-one .cv-fb-g { font-size: 1.6em; }
.cv-fb-go { margin: .45rem 0 0; font-size: .85em; }
.cv-fb-links { margin: .25rem 0 1rem; padding-left: 1.1rem; }
.cv-fb-links li { margin: .2rem 0; }
.cv-fb-plist { list-style: none; padding-left: 0; }
.cv-fb-plist li { padding: .35rem 0; border-bottom: 1px solid var(--cv-border, #e3e8f0); }
.cv-fb-plist .cv-fb-live .cv-fb-st { color: #dc2626; font-weight: 600; }
.cv-fb-more { margin-top: 1rem; }
.cv-fb-facts { list-style: none; padding: 0; margin: .25rem 0 1rem; }
.cv-fb-facts li { margin: .2rem 0; }
.cv-fb-squad { display: grid; gap: .5rem 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.cv-fb-squad h4 { margin: .5rem 0 .2rem; font-size: .85em; text-transform: uppercase; letter-spacing: .04em; color: var(--cv-muted, #5b6475); }
.cv-fb-squad ul { list-style: none; margin: 0; padding: 0; font-size: .92em; }
.cv-fb-evt th[scope="row"] { font-weight: 500; }
