:root {

  --azul: #0033A0;

  --rojo: #D52B1E;

  --verde: #00843D;

  --amarillo: #FFD100;

  --gris: #f8f9fa;

}



/* Tipografía global */

body,
html {

  font-family: 'Albert Sans', sans-serif !important;

  font-weight: 400;

  color: #333;

}



h1,
h2,
h3,
h4,
h5,
h6 {

  font-family: 'Albert Sans', sans-serif !important;

  font-weight: 700;

}



/* Hero */

.logo {

  width: 460px;

  max-width: 90%;

  filter: drop-shadow(0 0 12px rgba(0, 0, 0, 0.5));

}



/* Navbar */

#mainNav {

  background-color: transparent;

  transition: background-color 0.4s ease, box-shadow 0.4s ease;

  z-index: 1000;

}



#mainNav.fixed {

  position: fixed !important;

  top: 0;

  left: 0;

  background-color: grey;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

}



.nav-link {

  font-weight: 500;

  color: white !important;

  font-size: 1.5rem;

}



#mainNav.fixed .nav-link {

  color: #333 !important;

}



.nav-link:hover,

.nav-link.active {

  color: grey !important;

}



/* Puntos de color */

.color-dot {

  width: 10px;

  height: 10px;

  border-radius: 50%;

  display: inline-block;

}



/* Carrusel */

.bg-cover {

  background-size: cover;

  background-position: center;

  height: 100%;

}



/* Títulos de Sección */

section h2,

h2.text-primary {

  color: #4c535a !important;

}



/* Footer */

footer {

  font-size: 0.9rem;

}



.footer-logo {

  width: 120px;

  opacity: 0.9;

}



/* General */

html {

  scroll-behavior: smooth;

  font-family: 'Albert Sans', sans-serif;

}



section {

  scroll-margin-top: 80px;

}



[data-aos] {

  transition: all 0.8s ease;

}





/* Títulos de las cards */

#servicios .card-title {

  font-size: 1.5rem;
  /* más grande */

  color: #ffffff !important;

  text-align: center;

  margin-bottom: 1rem;

}



/* Cards transparentes con borde blanco */

#servicios .card {

  background-color: transparent !important;

  border: 1px solid rgb(255, 255, 255) !important;

  border-radius: 1rem;

  transition: transform 0.3s;

}



#servicios .card:hover {

  transform: translateY(-5px);

  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);

}



/* Botón del acordeón */

#servicios .accordion-button {

  justify-content: center;

  font-size: 0.9rem;
  /* texto más pequeño */

  padding: 0.4rem 0.8rem;

  border-radius: 8px;

  width: fit-content;

  margin: 0 auto;
  /* centrado */

  background-color: rgba(108, 117, 125, 0.08);

  color: #ffffff !important;

  border: none;

  transition: all 0.3s ease;

}



#servicios .accordion-button:hover {

  background-color: rgba(67, 73, 78, 0.15);

}



#servicios .accordion-button::after {

  display: none;
  /* elimina el ícono por defecto */

}



/* Acordeón */

#servicios .accordion-item {

  background-color: transparent !important;

  border: none;

}



#servicios .accordion-body {

  color: #555;

  font-size: 0.95rem;

}



/* === Sección Servicios - Ajustes visuales === */

#servicios {

  padding-top: 7rem;
  /* más altura arriba */

  padding-bottom: 7rem;
  /* más altura abajo */

  position: relative;

  min-height: 600px;
  /* asegura buena proporción */

  background-color: #A0A0A0;

}



/* Imagen de fondo en la sección de servicios */

#servicios.services-bg,

#servicios .services-bg {

  background-repeat: no-repeat;

  background-size: 50%;
  /* la imagen ocupa el 50% del ancho */

  background-position: 5% center;
  /* desplazada un poco hacia la izquierda */

  background-blend-mode: normal;

}



/* Opcional: efecto sutil sobre la imagen para que el texto resalte */

#servicios::before {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 0;

}



#servicios .container {

  position: relative;

  z-index: 1;

}



/* === Botón volver al inicio (global) === */

.btn-back-top {

  position: fixed;
  /* fijo en pantalla */

  right: 2rem;

  bottom: 2rem;

  width: 46px;

  height: 46px;

  border-radius: 50%;

  background-color: rgba(0, 0, 0, 0.6);

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  text-decoration: none;

  transition: all 0.3s ease;

  opacity: 0;

  pointer-events: none;
  /* deshabilitado al inicio */

  z-index: 2000;

}



.btn-back-top.show {

  opacity: 0.9;

  pointer-events: auto;

}



.btn-back-top:hover {

  background-color: grey;

  transform: translateY(-4px);

}



.btn-back-top i {

  font-size: 1.3rem;

  line-height: 1;

}

/* Noticias CETUCHILE */
#noticias .card-title {
  font-size: 1.15rem;
  color: #0033A0;
}

#noticias .card {
  border-radius: 1rem;
}

/* Links útiles */
#links-utiles .link-util {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background-color: white;
}

#links-utiles .link-util:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}