:root {
  --azul: #162653;
  --rosa: #bd1c5e;
  --celeste: #28a6e1;
  --amarillo: #eeab2a;
  --verde: #54b9a8;
  --celeste-claro: #eaf7fc;
}

/* =========  ANULA SCROLL HORIZONTAL ========= */
html, body {
  overflow-x: hidden;   /* siempre */
  width: 100%;
}
* {
  box-sizing: border-box; /* facilita las cuentas */
}
/* =========================================== */


html {
    scroll-padding-top: 80px; /* = altura de tu navbar (ajústala) */
}

body {
    padding-top: 65px; /* altura del header */
}

header {
  background-color: var(--azul);
  transition: all 0.3s ease;
}

header .logo {
  height: 50px;
  margin-right: 10px;
}

header .nav-link {
  color: white !important;
  font-weight: 500;
}

header .nav-link:hover,
header .nav-link.active {
  color: var(--celeste) !important;
}

header.scrolled {
  height: 60px;
  margin: 2px;
  border-radius: 20px; 
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}


/* BOTON HAMBURGESA - FONDO Y BORDES */
.navbar-toggler {
  background-color: #ffffff;        /* fondo */
  border: 1px solid #cccccc;        /* borde */
}

/* Líneas del icono (Bootstrap usa un SVG como background-image) */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23333333' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* FUENTE DE LOS TEXTOS */
h3, h2{
    font-family: 'Monserrat', sans-serif;
}

p{
  font-family: 'Open Sans', sans-serif;
}

/* CARRUSEL DE IMAGENES RESPONSIVO */

#mainCarousel .carousel-item img {
  height: 90vh;           /* 80% del alto de la pantalla */
  object-fit: cover;
}

/* SECCIÓN CARRERAS */
#carreras .card {
  transition: transform 0.3s, box-shadow 0.3s;
  border: 1px solid #eee;
}

#con .card:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

#informacion {
  max-width: 95%;
  margin: 20px auto;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(134, 131, 144, 0.1);
}

/* SECCION INFORMACION */
.row {
    display: flex;
    align-items: stretch;
}

/* FORMULARIO */
#contacto .formulario {
  background-color: #eaf7fc;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(134, 131, 144, 0.1);
}

#contacto .btn {
  border: none;
  color: white;
  background-color: var(--celeste);
  transition: background-color 0.3s;
}

#contacto .btn:hover {
  background-color: var(--azul);
}

/* FOOTER */

footer {
    color: white;
    background-color: var(--azul);
    text-align: center;
    padding: 15px;
}


.custom-link {
    color: white; /* Color del texto */
    text-decoration: none; /* Elimina el subrayado */
}

.custom-link:hover {
    color: white; /* Color del texto al pasar el mouse */
    text-decoration: none; /* Elimina el subrayado al pasar el mouse */
}


/* MODAL DE AVISOS IMPORTANTES */

/* HEADER */
#modalOferta .modal-header {
  background-color: #9fa9e2;
  border-bottom: none;
}
#modalOferta .modal-title {
  color: var(--azul);
  font-weight: bold;
}

/* BODY */
#modalOferta .modal-body {
  background-color: var(--celeste-claro);
  color: #162653;
}

/* FOOTER */
#modalOferta .modal-footer {
  background-color: var(--celeste-claro);
  border-top: none;
}

/* BOTONES */
#modalOferta .btn-primary, .btn-secondary {
  background-color: var(--celeste-claro); /* celeste */
  color: var(--azul);
  font-weight: bold;
  border: none;
}
#modalOferta .btn-primary:hover {
  background-color: var(--azul);
  color: white;
}
#modalOferta .btn-secondary:hover {
  background-color: var(--azul);
  color: white;
}


@media (max-width: 768px) {
    .col-md-4.d-flex {
        flex-direction: column;
        align-items: flex-start;
    }
    .col-md-4.d-flex a {
        margin-top: 0.5rem;
    }
  }