﻿body {
    background-color: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

header.navbar {
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

footer {
    font-size: 0.9rem;
}

.container {
    min-height: 70vh;
}


.card img {
    height: 220px;
    object-fit: cover;
}

.list-group-item {
    font-weight: 500;
}

h3 {
    color: #2b5d34;
}


.estado-cancha.excelente {
    background-color: #d4edda;
    color: #155724;
}

.estado-cancha.jugable {
    background-color: #fff3cd;
    color: #856404;
}

.estado-cancha.cerrada {
    background-color: #f8d7da;
    color: #721c24;
}

.card {
    border: none;
    border-radius: 12px;
}

.card-body {
    font-size: 0.95rem;
}

@media (max-width: 768px) {
    .card-body {
        font-size: 1rem;
    }
}

.torneo-card {
    border: none;
    border-radius: 14px;
}

    .torneo-card .card-title {
        color: #2b5d34;
        font-weight: 700;
    }

    .torneo-card .card-text {
        font-size: 0.95rem;
    }
table th {
    background-color: #2b5d34;
    color: white;
}

table td {
    vertical-align: middle;
}
.titulo-seccion {
    color: #2b2b2b;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.subtitulo-seccion {
    color: #6c757d;
}

.bloque-torneos {
    border: none;
    border-radius: 12px;
    overflow: hidden;
}

.encabezado-bloque {
    background-color: #2b5d34;
    color: white;
    font-weight: 700;
    padding: 14px 18px;
}

.torneo-item {
    display: block;
    padding: 14px 18px;
    border-bottom: 1px solid #e9ecef;
    text-decoration: none;
    color: #212529;
    transition: background-color 0.2s ease;
}

    .torneo-item:hover {
        background-color: #f5f5f5;
        color: #212529;
        text-decoration: none;
    }

.torneo-nombre {
    font-weight: 600;
}

.torneo-fecha {
    font-size: 0.9rem;
    color: #6c757d;
}

.titulo-categoria {
    font-size: 1.5rem;
    font-weight: 800;
    color: #4a4a4a;
    text-transform: uppercase;
}

.tabla-resultados-wrapper {
    overflow-x: auto;
}

.tabla-resultados {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.05rem;
}

    .tabla-resultados th {
        background-color: #25b1b1;
        color: white;
        font-weight: 800;
        text-align: center;
        padding: 16px 10px;
        border: 4px solid #2f4050;
    }

    .tabla-resultados td {
        padding: 12px 10px;
        border-left: 4px solid #2f4050;
        border-right: 4px solid #2f4050;
        text-align: center;
        font-weight: 600;
        color: #3d3d3d;
    }

    .tabla-resultados tr:nth-child(odd) td {
        background-color: #f0f0f0;
    }

    .tabla-resultados tr:nth-child(even) td {
        background-color: #dcdcdc;
    }

    .tabla-resultados td:nth-child(2) {
        text-align: left;
        font-size: 1rem;
        font-weight: 800;
    }

@media (max-width: 768px) {
    .titulo-categoria {
        font-size: 1.1rem;
    }

    .tabla-resultados {
        font-size: 0.92rem;
    }

        .tabla-resultados th,
        .tabla-resultados td {
            padding: 10px 6px;
        }
}


.categoria-box {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 12px 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

    .categoria-box h5 {
        color: #2b5d34;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .categoria-box ol {
        margin: 0;
        padding-left: 20px;
    }

    .categoria-box li {
        margin-bottom: 4px;
        font-weight: 500;
    }
.noticia-card-vertical {
    border: none;
    border-radius: 16px;
    overflow: hidden;
}

    .noticia-card-vertical .row {
        align-items: flex-start;
    }

    .noticia-card-vertical .card-body {
        padding: 2rem;
    }

    .noticia-card-vertical .card-title {
        font-size: 2rem;
        font-weight: 800;
    }

    .noticia-card-vertical .card-text {
        font-size: 1.15rem;
        line-height: 1.7;
    }

@media (max-width: 768px) {
    .noticia-card-vertical .card-body {
        padding: 1.2rem;
    }

    .noticia-card-vertical .card-title {
        font-size: 1.35rem;
    }

    .noticia-card-vertical .card-text {
        font-size: 1rem;
    }
}