/* ============================================================
   RutaUni · Estilos personalizados
   Se carga DESPUÉS de Bootstrap, por eso gana en los empates
   ============================================================ */

/* ---------- 1. Identidad de color ---------- */
:root {
    --rutuni-azul: #1f3a8a;
    --rutuni-lima: #a3e635;
    --rutuni-naranja: #f97316;

    --bs-primary: var(--rutuni-azul);
    --bs-link-color: var(--rutuni-azul);
    --bs-link-hover-color: #16306f;

    --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto,
                            "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 2. Detalles propios ---------- */

/* En móvil los textos largos (correos, URLs) se parten antes de provocar un
   desplazamiento horizontal de toda la página. Ojo: `anywhere`, no
   `break-word`, porque es el único que reduce también el ancho mínimo de las
   celdas de una rejilla. */
body {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.rounded-4 {
    border-radius: 1.25rem !important;
}

.hero-degradado {
    background-image:
        radial-gradient(circle at 15% 20%, rgba(163, 230, 53, .25), transparent 45%),
        radial-gradient(circle at 85% 10%, rgba(249, 115, 22, .30), transparent 40%),
        linear-gradient(135deg, var(--rutuni-azul) 0%, #2b1a6b 100%);
}

.tarjeta-programa {
    border-top: 4px solid var(--rutuni-azul);
    transition: transform .2s ease, box-shadow .2s ease;
}

.tarjeta-programa:hover,
.tarjeta-programa:focus-within {
    transform: translateY(-4px);
    box-shadow: 0 1rem 1.5rem rgba(0, 0, 0, .12);
}

.footer-borde {
    border-top: 4px solid transparent;
    border-image: linear-gradient(90deg, var(--rutuni-lima), var(--rutuni-naranja), var(--rutuni-azul)) 1;
}

/* ---------- 3. Modo oscuro ---------- */
[data-bs-theme="dark"] {
    --rutuni-azul: #93c5fd;
    --rutuni-lima: #bef264;
    --rutuni-naranja: #fdba74;

    --bs-link-color: #93c5fd;
    --bs-link-hover-color: #bfdbfe;
}

[data-bs-theme="dark"] .hero-degradado {
    background-image:
        radial-gradient(circle at 15% 20%, rgba(163, 230, 53, .15), transparent 45%),
        radial-gradient(circle at 85% 10%, rgba(249, 115, 22, .18), transparent 40%),
        linear-gradient(135deg, #101a3d 0%, #1a1030 100%);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-bs-theme="light"]) {
        color-scheme: dark;
    }
}

/* ---------- 4. Navegación suave entre anclas ---------- */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 5rem;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* ---------- 5. Impresión ---------- */
@media print {
    .navbar,
    footer,
    .btn {
        display: none !important;
    }

    body {
        background: #fff;
        color: #000;
    }
}
