/* =====================================================================
   cdc-tema.css — Estilo unificado del sitio (mismo diseño que la web nueva)
   Se carga DESPUÉS de los estilos propios de cada página para pisarlos.
   Solo cambia la apariencia: no toca controles, datos ni código VB.
   ===================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap");

:root {
    --cdc-green: #0d6b34;
    --cdc-green-deep: #0a4a26;
    --cdc-ink: #10201a;
    --cdc-gold: #f0b429;
    --cdc-red: #9a2e24;
    --cdc-cream: #f6f4ee;
    --cdc-line: #dcd6c6;
    --cdc-dark: #10201a;
    --cdc-light: #f6f4ee;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
    font-family: "Inter", Arial, sans-serif !important;
    background-color: var(--cdc-cream) !important;
    color: var(--cdc-ink);
}
h1, h2, h3, h4, h5, .navbar-brand, .display-4, .display-5, .display-6 {
    font-family: "Anton", "Montserrat", sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: .03em;
    color: inherit;
}
a { color: var(--cdc-green); }
a:hover { color: var(--cdc-red); }
.text-success { color: var(--cdc-green) !important; }
.text-muted { color: rgba(16, 32, 26, .6) !important; }
.eyebrow, .cdc-eyebrow {
    font-family: "IBM Plex Mono", monospace;
    font-size: .72rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}

/* ---------- Menú ---------- */
.navbar, .bg-menu-verde, .navbar.bg-success {
    background-color: var(--cdc-green-deep) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .18) !important;
    padding-top: .55rem; padding-bottom: .55rem;
}
.navbar-brand {
    display: flex; align-items: center; gap: .6rem;
    color: var(--cdc-cream) !important;
    font-size: 1.15rem !important;
}
.navbar-brand img { height: 40px; width: auto; }
.navbar-brand .oro { color: var(--cdc-gold); }
.navbar-dark .navbar-nav .nav-link, .navbar .nav-link {
    font-family: "IBM Plex Mono", monospace !important;
    font-size: .74rem !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 500 !important;
    color: rgba(246, 244, 238, .85) !important;
    margin-left: .9rem;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar .nav-link.active { color: var(--cdc-gold) !important; }

/* ---------- Encabezado de página ---------- */
.page-header {
    position: relative;
    background: linear-gradient(90deg, rgba(16, 32, 26, .92), rgba(16, 32, 26, .6)), url("img/cdc/hero.jpg") center/cover no-repeat !important;
    color: var(--cdc-cream) !important;
    padding: 72px 0 56px !important;
    text-align: left !important;
    border: 0 !important;
    margin-bottom: 0 !important;
}
.page-header::after { display: none !important; }
.page-header h1 {
    font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
    line-height: 1.05;
    color: var(--cdc-cream) !important;
}
.page-header .lead, .page-header p {
    font-family: "IBM Plex Mono", monospace;
    font-size: .8rem !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--cdc-gold) !important;
    margin-top: .75rem;
}

/* ---------- Títulos de sección ---------- */
.section-title, .text-cdc-red {
    color: var(--cdc-ink) !important;
    font-family: "Anton", sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: .04em;
}
.underline, .title-line {
    width: 48px !important; height: 4px !important;
    background-color: var(--cdc-red) !important;
    border-radius: 4px;
}

/* ---------- Tarjetas ---------- */
.feature-box, .card, .service-card, .info-card, .login-card, .card-visita {
    background: #fff !important;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 1px 2px rgba(16, 32, 26, .06), 0 0 0 1px rgba(220, 214, 198, .7) !important;
}
.feature-box { border-bottom: 0 !important; }
.feature-box:hover, .service-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(16, 32, 26, .12) !important; }
.icon-circle {
    background-color: rgba(154, 46, 36, .08) !important;
    color: var(--cdc-red) !important;
}
.card-visita { border-top: 4px solid var(--cdc-gold) !important; }
.login-card { border-top: 4px solid var(--cdc-gold) !important; padding: 2.5rem 2rem !important; }
.login-card .logo-img { max-height: 110px; width: auto; }

/* ---------- Botones ---------- */
.btn, .btn-login-custom, .btn-generar, .btn-verificar {
    border-radius: 999px !important;
    font-family: "Inter", sans-serif;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: .85rem;
}
.btn-success, .btn-login-custom, .btn-verificar {
    background-color: var(--cdc-green) !important;
    border-color: var(--cdc-green) !important;
    color: #fff !important;
}
.btn-success:hover, .btn-login-custom:hover, .btn-verificar:hover {
    background-color: var(--cdc-green-deep) !important;
}
.btn-generar { background-color: var(--cdc-ink) !important; color: #fff !important; }
.btn-generar:hover { background-color: var(--cdc-gold) !important; color: var(--cdc-ink) !important; }
.btn-warning, .btn-cdc-oro {
    background-color: var(--cdc-gold) !important; border-color: var(--cdc-gold) !important; color: var(--cdc-ink) !important;
}
.btn-outline-success {
    color: var(--cdc-green) !important; border-color: var(--cdc-green) !important;
}
.btn-outline-success:hover { background-color: var(--cdc-green) !important; color: #fff !important; }
.btn-login-custom { width: 100%; padding: .85rem 1rem !important; border: 0 !important; }

/* ---------- Formularios ---------- */
.form-control, .form-select {
    border-radius: 12px !important;
    border: 1px solid var(--cdc-line) !important;
    background-color: #fff !important;
    padding: .7rem .9rem !important;
}
.form-control:focus { border-color: var(--cdc-green) !important; box-shadow: 0 0 0 3px rgba(13, 107, 52, .15) !important; }
.input-group-text { border-color: var(--cdc-line) !important; }
.form-label { font-family: "IBM Plex Mono", monospace; letter-spacing: .12em; }

/* ---------- Pestañas (Zona de delegados) ---------- */
.nav-tabs {
    border-bottom: 0 !important;
    gap: .35rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .5rem;
    margin-bottom: 1.25rem;
}
@media (min-width: 992px) { .nav-tabs { flex-wrap: wrap; overflow: visible; } }
.nav-tabs .nav-link {
    font-family: "IBM Plex Mono", monospace;
    font-size: .74rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
    color: rgba(16, 32, 26, .7) !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: .55rem 1rem;
    background: transparent;
}
.nav-tabs .nav-link:hover { color: var(--cdc-green) !important; }
.nav-tabs .nav-link.active {
    background-color: var(--cdc-ink) !important;
    color: var(--cdc-cream) !important;
}

/* ---------- Tablas (GridView) ---------- */
.grid-style, table.table {
    width: 100%;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0;
    box-shadow: 0 1px 2px rgba(16, 32, 26, .06), 0 0 0 1px rgba(220, 214, 198, .7);
    font-size: .92rem;
}
.grid-style th, table.table thead th {
    background-color: var(--cdc-green-deep) !important;
    color: var(--cdc-cream) !important;
    font-family: "IBM Plex Mono", monospace;
    font-weight: 500 !important;
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .85rem .9rem !important;
    border: 0 !important;
    white-space: nowrap;
}
.grid-style td, table.table td {
    padding: .7rem .9rem !important;
    border: 0 !important;
    border-top: 1px solid var(--cdc-line) !important;
    color: var(--cdc-ink) !important;
    background: transparent !important;
}
.grid-style tr:nth-child(even) td { background-color: rgba(246, 244, 238, .6) !important; }
.grid-style tr:hover td { background-color: rgba(240, 180, 41, .12) !important; }
/* paginador del GridView */
.grid-style tr:last-child table { margin: .4rem auto; box-shadow: none; background: transparent; width: auto; }
.grid-style tr:last-child table td { border: 0 !important; padding: .2rem !important; background: transparent !important; }
.grid-style tr:last-child table a, .grid-style tr:last-child table span {
    display: inline-block; min-width: 32px; padding: .3rem .55rem; border-radius: 999px;
    font-family: "IBM Plex Mono", monospace; font-size: .8rem; text-align: center;
}
.grid-style tr:last-child table span { background: var(--cdc-ink); color: var(--cdc-cream); }
.table-responsive { border-radius: 14px; }

/* ---------- Alertas ---------- */
.alert-danger { background: rgba(154, 46, 36, .08) !important; color: var(--cdc-red) !important; border: 0 !important; border-radius: 12px !important; }
.alert-success { background: rgba(13, 107, 52, .08) !important; color: var(--cdc-green-deep) !important; border: 0 !important; border-radius: 12px !important; }

/* ---------- Pie de página ---------- */
footer {
    position: relative;
    background: linear-gradient(180deg, rgba(10, 74, 38, .95), rgba(10, 74, 38, .9) 60%, rgba(16, 32, 26, .96)), url("img/cdc/footer.jpg") center/cover no-repeat !important;
    color: var(--cdc-cream) !important;
    padding: 56px 0 0 !important;
}
footer::before { display: none !important; }
footer .footer-title, footer h4 {
    font-family: "IBM Plex Mono", monospace !important;
    font-size: .74rem !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--cdc-gold) !important;
    text-decoration: none !important;
    margin-bottom: 1rem;
}
footer p, footer li { font-size: .9rem; color: rgba(246, 244, 238, .85); }
footer a, .btn-footer-link { color: rgba(246, 244, 238, .85) !important; }
footer a:hover, .btn-footer-link:hover { color: var(--cdc-gold) !important; }
.cdc-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    margin-top: 2.5rem;
    padding: 1rem 0;
    font-size: .78rem;
    color: rgba(246, 244, 238, .6);
}
.cdc-redes a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255, 255, 255, .1); margin-right: .5rem;
}
.cdc-redes a:hover { background: var(--cdc-gold); color: var(--cdc-ink) !important; }

/* ---------- WhatsApp flotante ---------- */
.whatsapp-float { box-shadow: 0 10px 25px rgba(37, 211, 102, .35) !important; }

/* ---------- Bloques del inicio (index.aspx) ---------- */
.cdc-hero {
    position: relative; isolation: isolate; overflow: hidden;
    background: var(--cdc-ink); color: var(--cdc-cream);
    min-height: 80vh; display: flex; align-items: flex-end;
}
.cdc-hero > img.fondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.cdc-hero::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(16, 32, 26, .92), rgba(16, 32, 26, .6) 50%, rgba(16, 32, 26, .2)),
                linear-gradient(0deg, var(--cdc-ink), transparent 45%);
}
.cdc-hero h1 { font-size: clamp(2.8rem, 6vw, 4.6rem) !important; line-height: 1; }
.cdc-hero h1 span, .oro { color: var(--cdc-gold); }
.cdc-hero .bajada { max-width: 36rem; color: rgba(246, 244, 238, .85); font-size: 1.1rem; }
.cdc-stats {
    display: grid; grid-template-columns: repeat(2, 1fr);
    border: 1px solid rgba(255, 255, 255, .15); border-radius: 18px;
    background: rgba(255, 255, 255, .05); backdrop-filter: blur(8px); overflow: hidden;
}
.cdc-stats > div { padding: 1.2rem 1.3rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.cdc-stats > div:nth-child(-n+2) { border-top: 0; }
.cdc-stats > div:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, .1); }
@media (min-width: 768px) {
    .cdc-stats { grid-template-columns: repeat(4, 1fr); }
    .cdc-stats > div { border-top: 0; border-left: 1px solid rgba(255, 255, 255, .1); }
    .cdc-stats > div:first-child { border-left: 0; }
}
.cdc-num { font-family: "IBM Plex Mono", monospace; font-weight: 600; font-size: 2rem; color: var(--cdc-gold); line-height: 1; }
.cdc-num-label { font-size: .82rem; color: rgba(246, 244, 238, .7); margin-top: .35rem; }

.cdc-seccion { padding: 96px 0; }
.cdc-seccion.crema { background: var(--cdc-cream); }
.cdc-seccion.blanca { background: #fff; }
.cdc-seccion.verde { background: var(--cdc-green-deep); color: var(--cdc-cream); }
.cdc-seccion.oscura { background: var(--cdc-ink); color: var(--cdc-cream); position: relative; isolation: isolate; overflow: hidden; }
.cdc-titulo { font-size: clamp(2.2rem, 4vw, 3rem) !important; line-height: 1.05; margin: .4rem 0 0; }
.cdc-raya { width: 48px; height: 4px; border-radius: 4px; background: var(--cdc-red); margin-top: 1rem; }
.verde .cdc-raya, .oscura .cdc-raya { background: var(--cdc-gold); }
.cdc-eyebrow { color: var(--cdc-red); }
.verde .cdc-eyebrow, .oscura .cdc-eyebrow { color: var(--cdc-gold); }

.cdc-card {
    display: flex; flex-direction: column; height: 100%;
    background: #fff; border-radius: 18px; overflow: hidden; text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(16, 32, 26, .06), 0 0 0 1px rgba(220, 214, 198, .7);
    transition: transform .3s, box-shadow .3s; color: var(--cdc-ink) !important;
}
.cdc-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16, 32, 26, .14); }
.cdc-card .foto { aspect-ratio: 4/3; overflow: hidden; }
.cdc-card .foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.cdc-card:hover .foto img { transform: scale(1.05); }
.cdc-card .cuerpo { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.cdc-card .cuerpo h3 { font-size: 1.5rem; margin: 0; }
.cdc-card .cuerpo p { flex: 1; font-size: .92rem; color: rgba(16, 32, 26, .7); margin: .5rem 0 1.2rem; }
.cdc-card .cuerpo .ir { font-family: "IBM Plex Mono", monospace; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cdc-red); font-weight: 600; }

.cdc-foto { border-radius: 18px; overflow: hidden; box-shadow: 0 20px 40px rgba(16, 32, 26, .12); position: relative; }
.cdc-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cdc-chip { position: absolute; left: 1rem; top: 1rem; background: var(--cdc-gold); color: var(--cdc-ink); font-family: "IBM Plex Mono", monospace; font-size: .75rem; font-weight: 600; padding: .35rem .9rem; border-radius: 999px; }
.cdc-lista { list-style: none; padding: 0; margin: 1.8rem 0 0; }
.cdc-lista li { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: 1rem 0; border-top: 1px solid var(--cdc-line); }
.cdc-lista li:last-child { border-bottom: 1px solid var(--cdc-line); }
.cdc-lista strong { font-family: "Anton", sans-serif; font-weight: 400; font-size: 1.25rem; letter-spacing: .04em; }
.cdc-lista span { font-size: .88rem; color: rgba(16, 32, 26, .6); text-align: right; }

.cdc-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    padding: .85rem 1.7rem; border-radius: 999px; font-weight: 700; font-size: .82rem;
    letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; transition: all .25s;
}
.cdc-btn.oro { background: var(--cdc-gold); color: var(--cdc-ink) !important; box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.cdc-btn.oro:hover { filter: brightness(1.08); }
.cdc-btn.borde-claro { border: 1px solid rgba(246, 244, 238, .4); color: var(--cdc-cream) !important; }
.cdc-btn.borde-claro:hover { border-color: var(--cdc-gold); color: var(--cdc-gold) !important; }
.cdc-btn.borde-oscuro { border: 1px solid rgba(16, 32, 26, .25); color: var(--cdc-ink) !important; }
.cdc-btn.borde-oscuro:hover { border-color: var(--cdc-red); color: var(--cdc-red) !important; }
.cdc-btn.wa { background: #25d366; color: #fff !important; box-shadow: 0 8px 20px rgba(37, 211, 102, .25); }
.cdc-btn.wa:hover { background: #128c7e; }

.cdc-reels { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: 1rem; scroll-snap-type: x mandatory; }
@media (min-width: 992px) { .cdc-reels { justify-content: center; overflow: visible; } }
.cdc-reel { position: relative; flex: 0 0 180px; height: 320px; border-radius: 20px; overflow: hidden; background: var(--cdc-ink); box-shadow: 0 16px 32px rgba(0, 0, 0, .3); scroll-snap-align: center; }
.cdc-reel iframe { position: absolute; top: -56px; left: -39px; width: 258px; height: 620px; border: 0; }

.cdc-deporte { position: relative; display: block; aspect-ratio: 4/5; border-radius: 18px; overflow: hidden; box-shadow: 0 12px 28px rgba(16, 32, 26, .15); }
.cdc-deporte img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.cdc-deporte:hover img { transform: scale(1.05); }
.cdc-deporte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(16, 32, 26, .9), rgba(16, 32, 26, .1) 50%, transparent); }
.cdc-deporte .txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem; z-index: 1; color: #fff; }
.cdc-deporte .txt strong { display: block; font-family: "Anton", sans-serif; font-weight: 400; font-size: 2rem; letter-spacing: .04em; }
.cdc-deporte .txt span { font-family: "IBM Plex Mono", monospace; font-size: .74rem; letter-spacing: .16em; color: var(--cdc-gold); }

.cdc-historia-fondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .25; filter: sepia(.6); z-index: -2; }
.cdc-historia-velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--cdc-ink), rgba(16, 32, 26, .85), rgba(16, 32, 26, .5)); }
.cdc-mini { aspect-ratio: 3/4; border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1); }
.cdc-mini img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.4); }

.cdc-punto { position: relative; background: #fff; border-radius: 18px; padding: 1.6rem; border-left: 4px solid var(--cdc-red); box-shadow: 0 0 0 1px rgba(220, 214, 198, .7); height: 100%; }
.cdc-punto .nro { position: absolute; right: 1.4rem; top: .8rem; font-family: "Anton", sans-serif; font-size: 3rem; color: rgba(16, 32, 26, .08); }
.cdc-punto h3 { font-size: 1.3rem; margin: 0 0 .8rem; }
.cdc-punto p { margin: .25rem 0; font-size: .9rem; color: rgba(16, 32, 26, .75); }
.cdc-punto i { color: var(--cdc-red); width: 1.2rem; }
.cdc-mail { display: block; background: #fff; border-radius: 14px; padding: 1rem 1.2rem; box-shadow: 0 0 0 1px rgba(220, 214, 198, .7); text-decoration: none !important; height: 100%; }
.cdc-mail:hover { box-shadow: 0 0 0 1px var(--cdc-red); }
.cdc-mail .eyebrow { color: var(--cdc-red); display: block; }
.cdc-mail strong { color: var(--cdc-ink); font-size: .88rem; word-break: break-all; }

/* ---------- Clases propias de las páginas viejas ---------- */
.objective-card, .service-card, .contact-card, .team-card, .doc-card, .info-box {
    background: #fff !important; border: 0 !important; border-radius: 18px !important;
    box-shadow: 0 1px 2px rgba(16, 32, 26, .06), 0 0 0 1px rgba(220, 214, 198, .7) !important;
    border-top: 0 !important; border-bottom: 0 !important;
}
.obj-icon, .service-icon, .contact-icon-circle {
    background: rgba(154, 46, 36, .08) !important; color: var(--cdc-red) !important;
}
.service-title, .team-title, .contact-label {
    font-family: "Anton", sans-serif !important; font-weight: 400 !important; letter-spacing: .04em;
    color: var(--cdc-ink) !important;
}
.contact-label { font-size: 1.1rem; }
.team-subtitle {
    font-family: "IBM Plex Mono", monospace; font-size: .72rem !important; letter-spacing: .14em;
    text-transform: uppercase; color: var(--cdc-red) !important;
}
.team-img { filter: sepia(.35) saturate(.85); transition: filter .6s, transform .6s; }
.team-card:hover .team-img { filter: none; }
.world-cup-badge {
    background: var(--cdc-gold) !important; color: var(--cdc-ink) !important;
    font-family: "IBM Plex Mono", monospace; font-size: .8rem; letter-spacing: .08em; border-radius: 999px !important;
}
.map-container { border-radius: 18px !important; overflow: hidden; border: 0 !important; box-shadow: 0 0 0 1px rgba(220, 214, 198, .7); }
.btn-action {
    background: var(--cdc-green) !important; color: #fff !important; border: 0 !important;
}
.btn-action:hover { background: var(--cdc-green-deep) !important; }
.text-primary { color: var(--cdc-green) !important; }
.text-danger { color: var(--cdc-red) !important; }

/* ---------- Encabezado nuevo de páginas internas ---------- */
.cdc-cabecera { position: relative; isolation: isolate; overflow: hidden; background: var(--cdc-ink); color: var(--cdc-cream); padding: 88px 0 64px; }
.cdc-cabecera > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: .35; }
.cdc-cabecera::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--cdc-ink), rgba(16, 32, 26, .55)); }
.cdc-cabecera h1 { font-size: clamp(2.6rem, 5.5vw, 4rem) !important; line-height: 1.02; margin: .6rem 0 0; }
.cdc-cabecera p.bajada { max-width: 36rem; color: rgba(246, 244, 238, .78); margin-top: 1rem; font-size: 1.05rem; }

/* ---------- Objetivos / tarjetas con borde ---------- */
.cdc-objetivo { background: #fff; border-radius: 16px; padding: 1.4rem 1.5rem; border-left: 4px solid var(--cdc-green); box-shadow: 0 0 0 1px rgba(220, 214, 198, .7); }
.cdc-objetivo h3 { font-size: 1.35rem; margin: 0 0 .35rem; color: var(--cdc-green-deep); }
.cdc-objetivo p { margin: 0; font-size: .92rem; color: rgba(16, 32, 26, .72); }
.cdc-texto p { color: rgba(16, 32, 26, .78); line-height: 1.75; }

/* ---------- Servicios ---------- */
.cdc-servicio { display: flex; flex-direction: column; height: 100%; background: var(--cdc-cream); border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 1px rgba(220, 214, 198, .8); text-decoration: none !important; color: var(--cdc-ink) !important; transition: transform .3s, box-shadow .3s; }
.cdc-servicio:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16, 32, 26, .12); }
.cdc-servicio .foto { position: relative; height: 190px; overflow: hidden; }
.cdc-servicio .foto img { width: 100%; height: 100%; object-fit: cover; }
.cdc-servicio .cuerpo { padding: 1.3rem 1.4rem 1.5rem; }
.cdc-servicio h3 { font-size: 1.3rem; margin: 0; color: var(--cdc-green-deep); }
.cdc-servicio p { font-size: .9rem; color: rgba(16, 32, 26, .72); margin: .5rem 0 0; line-height: 1.6; }
.cdc-servicio .ir { display: inline-block; margin-top: .8rem; font-family: "IBM Plex Mono", monospace; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cdc-green); font-weight: 600; }

/* ---------- Galería (mosaico + visor) ---------- */
.cdc-mosaico { display: grid; grid-template-columns: 1fr; grid-auto-rows: 220px; gap: 1rem; }
@media (min-width: 576px) { .cdc-mosaico { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .cdc-mosaico { grid-template-columns: repeat(4, 1fr); } }
.cdc-mosaico .g { grid-column: span 1; }
@media (min-width: 576px) { .cdc-mosaico .grande { grid-column: span 2; grid-row: span 2; } .cdc-mosaico .ancha { grid-column: span 2; } }
.cdc-foto-hist { position: relative; display: block; width: 100%; height: 100%; border: 0; padding: 0; border-radius: 18px; overflow: hidden; background: var(--cdc-ink); cursor: zoom-in; box-shadow: 0 12px 28px rgba(16, 32, 26, .18); text-align: left; }
.cdc-foto-hist img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.35) saturate(.8); transition: filter .7s, transform .7s; }
.cdc-foto-hist:hover img { filter: none; transform: scale(1.05); }
.cdc-foto-hist::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(16, 32, 26, .9), rgba(16, 32, 26, .15) 55%, transparent); }
.cdc-foto-hist .txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.2rem 1.3rem; z-index: 1; }
.cdc-foto-hist .txt strong { display: block; font-family: "Anton", sans-serif; font-weight: 400; font-size: 1.35rem; letter-spacing: .04em; color: #fff; }
.cdc-foto-hist.grande .txt strong { font-size: 2rem; }
.cdc-foto-hist .txt span { font-family: "IBM Plex Mono", monospace; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cdc-gold); }
.cdc-foto-hist .anio { position: absolute; left: 1rem; top: 1rem; z-index: 1; background: var(--cdc-gold); color: var(--cdc-ink); font-family: "IBM Plex Mono", monospace; font-size: .72rem; font-weight: 600; padding: .25rem .7rem; border-radius: 999px; }
.cdc-visor { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, .92); display: none; align-items: center; justify-content: center; padding: 1rem; }
.cdc-visor.abierto { display: flex; }
.cdc-visor figure { max-width: 1000px; width: 100%; margin: 0; }
.cdc-visor img { width: 100%; max-height: 78vh; object-fit: contain; border-radius: 12px; }
.cdc-visor figcaption { color: #fff; margin-top: .8rem; display: flex; justify-content: space-between; gap: 1rem; }
.cdc-visor figcaption strong { font-family: "Anton", sans-serif; font-weight: 400; font-size: 1.5rem; letter-spacing: .04em; }
.cdc-visor figcaption span { font-family: "IBM Plex Mono", monospace; font-size: .75rem; letter-spacing: .12em; color: var(--cdc-gold); text-transform: uppercase; }
.cdc-visor .btnv { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .15); color: #fff; font-size: 1.4rem; }
.cdc-visor .btnv:hover { background: var(--cdc-gold); color: var(--cdc-ink); }
.cdc-visor .cerrar { top: 1.2rem; right: 1.2rem; }
.cdc-visor .ant { left: 1.2rem; top: 50%; }
.cdc-visor .sig { right: 1.2rem; top: 50%; }

/* ---------- Accesos (campeonato) ---------- */
.cdc-acceso { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 18px; padding: 1.8rem; box-shadow: 0 0 0 1px rgba(220, 214, 198, .8); text-decoration: none !important; color: var(--cdc-ink) !important; transition: transform .3s, box-shadow .3s; }
.cdc-acceso:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16, 32, 26, .12); }
.cdc-acceso i { font-size: 1.6rem; color: var(--cdc-red); width: 56px; height: 56px; border-radius: 50%; background: rgba(154, 46, 36, .08); display: flex; align-items: center; justify-content: center; }
.cdc-acceso h3 { font-size: 1.45rem; margin: 1.1rem 0 .4rem; }
.cdc-acceso p { flex: 1; font-size: .9rem; color: rgba(16, 32, 26, .7); margin: 0 0 1rem; }
.cdc-acceso .ir { font-family: "IBM Plex Mono", monospace; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cdc-red); font-weight: 600; }
.cdc-post { position: relative; flex: 0 0 260px; height: 260px; border-radius: 18px; overflow: hidden; background: var(--cdc-ink); box-shadow: 0 12px 28px rgba(16, 32, 26, .18); scroll-snap-align: center; }
.cdc-post iframe { position: absolute; top: -54px; left: 0; width: 260px; height: 600px; border: 0; }

/* Portada grande centrada (Alquiler, Servicios, Femenino) — igual a la web nueva */
.cdc-hero.centro { min-height: 78vh; align-items: center; }
.cdc-hero.centro::before { background: linear-gradient(180deg, rgba(16, 32, 26, .55), rgba(16, 32, 26, .4) 50%, rgba(10, 74, 38, .9)); }
.cdc-hero.centro h1 { font-size: clamp(3rem, 7vw, 5.2rem) !important; text-shadow: 0 2px 12px rgba(0, 0, 0, .5); }
.cdc-hero.centro .bajada { text-shadow: 0 1px 6px rgba(0, 0, 0, .5); font-size: 1.15rem; max-width: 40rem; }

/* Carrusel de Instagram (Campeonato): solo la foto de cada publicación */
.cdc-ig-pista { display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-width: thin; }
.cdc-ig { position: relative; flex: 0 0 320px; height: 320px; border-radius: 20px; overflow: hidden; background: #10201a; box-shadow: 0 16px 32px rgba(0, 0, 0, .3); scroll-snap-align: start; }
.cdc-ig iframe { position: absolute; top: -56px; left: -1px; width: 322px; height: 700px; border: 0; pointer-events: auto; }
.cdc-ig-link { position: absolute; right: .8rem; bottom: .8rem; width: 40px; height: 40px; border-radius: 50%; background: rgba(16, 32, 26, .75); color: #fff !important; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; z-index: 2; }
.cdc-ig-link:hover { background: #f0b429; color: #10201a !important; }
.cdc-ig-flecha { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(246, 244, 238, .4); background: transparent; color: #f6f4ee; font-size: 1.6rem; line-height: 1; }
.cdc-ig-flecha:hover { background: #f0b429; border-color: #f0b429; color: #10201a; }
