/* ---------- Variables ---------- */
:root {
  --azul-anerpv: #003366;
  --azul-claro: #005baa;
  --gris-claro: #f8f9fa;
  --gris-medio: #dee2e6;
  --negro: #212529;
}

/* ---------- Fonts -----------*/

@font-face {
  font-family: 'Myriad Pro';
  src: url('../assets/fonts/MyriadPro-Regular.woff2') format('woff2'),
    url('../assets/fonts/MyriadPro-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham Book';
  src: url('../assets/fonts/Gotham-Book.woff2') format('woff2'),
    url('../assets/fonts/Gotham-Book.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham Black';
  src: url('../assets/fonts/Gotham-Black.woff2') format('woff2'),
    url('../assets/fonts/Gotham-Black.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham BoldItalic';
  src: url('../assets/fonts/Gotham-BoldItalic.woff2') format('woff2'),
    url('../assets/fonts/Gotham-BoldItalic.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed Bold';
  src: url('../assets/fonts/IBMPlexSansCond-Bold.woff2') format('woff2'),
    url('../assets/fonts/IBMPlexSansCond-Bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'IBM Plex Sans Condensed SemiBold';
  src: url('../assets/fonts/IBMPlexSansCond-SemiBold.woff2') format('woff2'),
    url('../assets/fonts/IBMPlexSansCond-SemiBold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed Regular';
  src: url('../assets/fonts/IBMPlexSansCond-Regular.woff2') format('woff2'),
    url('../assets/fonts/IBMPlexSansCond-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed Medium';
  src: url('../assets/fonts/IBMPlexSansCond-Medium.woff2') format('woff2'),
    url('../assets/fonts/IBMPlexSansCond-Medium.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed SemiBoldItalic';
  src: url('../assets/fonts/IBMPlexSansCond-SemiBoldItalic.woff2') format('woff2'),
    url('../assets/fonts/IBMPlexSansCond-SemiBoldItalic.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Galvji';
  src: url('../assets/fonts/Galvji.woff2') format('woff2'),
    url('../assets/fonts/Galvji.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Galvji Bold';
  src: url('../assets/fonts/Galvji-Bold.woff2') format('woff2'),
    url('../assets/fonts/Galvji-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Glacial Indifference Bold';
  src: url('../assets/fonts/GlacialIndifference-Bold.woff2') format('woff2'),
    url('../assets/fonts/GlacialIndifference-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Galvji Oblique';
  src: url('../assets/fonts/Galvji-Oblique.woff2') format('woff2'),
    url('../assets/fonts/Galvji-Oblique.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat ExtraBold';
  src: url('../assets/fonts/Montserrat-ExtraBold.woff2') format('woff2'),
    url('../assets/fonts/Montserrat-ExtraBold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Antponio Bold';
  src: url('../assets/fonts/Antponio-Bold.woff2') format('woff2'),
    url('../assets/fonts/Antponio-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}


/* ---------- Global ---------- */
body {
  font-family: 'Gotham Book', sans-serif;
  color: var(--negro);
  background-color: #fff;
  scroll-behavior: smooth;
  font-size: 18px;
}

h1,
h2,
h3,
h4 {
  color: var(--azul-anerpv);
  font-weight: 700;
}

section {
  scroll-margin-top: 80px;
}

/* ---------- Header ---------- */
.site-header {
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.nav-link {
  color: var(--negro);
  font-weight: 500;
  transition: color 0.2s ease-in-out;
}

.nav-link:hover,
.nav-link.active {
  color: var(--azul-claro);
}

/* Responsive nav spacing */
@media (max-width: 768px) {
  .nav {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
  }
}

/* ---------- Cards (beneficios, cursos) ---------- */
.card {
  border: 1px solid var(--gris-medio);
  border-radius: 0.5rem;
  transition: transform 0.2s ease-in-out;
}

.card:hover {
  transform: translateY(-5px);
}

.card-img-top {
  max-height: 80px;
  width: auto;
}

@media (max-width: 576px) {
  .card-img-top {
    max-height: 60px;
  }

  .card-title {
    font-size: 1.1rem;
  }

  .card-text {
    font-size: 0.95rem;
  }
}

/* ---------- Verifica ---------- */
#verifica input.form-control {
  border-color: var(--azul-anerpv);
}

#verifica .btn-success {
  background-color: var(--azul-claro);
  border: none;
}

#verifica .btn-success:hover {
  background-color: var(--azul-anerpv);
}

/* Responsive form */
@media (max-width: 768px) {
  #verifica .row>div {
    width: 100%;
  }

  #verifica .btn {
    margin-top: 1rem;
  }
}

/* ---------- Footer ---------- */
footer {
  background-color: var(--azul-anerpv);
  color: #fff;
  font-size: 0.95rem;
}

footer p {
  margin-bottom: 0.25rem;
  line-height: 1.5;
}

@media (max-width: 768px) {
  footer {
    padding: 2rem 1rem;
  }
}