.canchas-page {
    background: linear-gradient(165deg, #f4f7fc, #eaf1fa);
}

.canchas-page .container {
    max-width: 1180px;
}

.canchas-hero h1 {
    color: #113152;
    font-size: clamp(2rem, 4.4vw, 3.06rem);
    line-height: 1.12;
}

.hero-copy {
    max-width: 690px;
    color: #5a6d86;
}

.hero-stats {
    border-radius: 18px;
    color: #edf7ff;
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: linear-gradient(165deg, #113257, #15527f);
    box-shadow: 0 22px 36px rgba(10, 25, 45, 0.2);
}

.hero-stats h4 {
    color: #ffffff;
}

.stats-grid {
    display: grid;
    gap: 0.72rem;
}

.stat-line span {
    display: block;
    font-size: 1.16rem;
    color: #ffffff;
    font-weight: 800;
}

.stat-line p {
    margin: 0;
    color: #c2d7ef;
    font-size: 0.9rem;
}

.benefit-card,
.cancha-card,
.info-band {
    border: 1px solid #d8e3ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(16, 35, 55, 0.07);
}

.benefit-card {
    padding: 1.05rem;
}

.benefit-card i {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    margin-bottom: 0.68rem;
    color: #14656f;
    background: rgba(20, 101, 111, 0.14);
}

.benefit-card h3 {
    color: #173d62;
    font-size: 1.03rem;
    margin-bottom: 0.35rem;
}

.benefit-card p {
    margin: 0;
    color: #5f738e;
}

.section-head h2 {
    color: #173d62;
    font-size: 1.5rem;
}

.cancha-card {
    overflow: hidden;
}

.cancha-cover {
    width: 100%;
    height: 205px;
    object-fit: cover;
}

.cancha-body {
    padding: 0.98rem;
}

.cancha-body h3 {
    color: #173d62;
    font-size: 1.1rem;
    margin-bottom: 0.62rem;
}

.cancha-meta li {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    font-size: 0.92rem;
    color: #566b84;
    margin-bottom: 0.4rem;
}

.cancha-meta i {
    color: #1f8f9a;
}

.empty-box {
    border-radius: 12px;
    border: 1px dashed #cad9ec;
    background: #f7fbff;
    padding: 1.1rem;
}

.empty-box h4 {
    margin: 0 0 0.34rem;
    color: #17395f;
    font-size: 1.06rem;
}

.empty-box p {
    margin: 0 0 0.65rem;
    color: #627892;
}

.info-band {
    padding: 1.15rem;
}

.info-band h3 {
    color: #173d62;
    font-size: 1.28rem;
    margin-bottom: 0.45rem;
}

.info-band p {
    color: #5f738e;
}

.canchas-page .footer-premium {
    margin-top: 2.5rem;
}

@media (max-width: 768px) {
    .canchas-hero {
        margin-bottom: 1rem;
    }

    .cancha-cover {
        height: 182px;
    }
}
