/* Variables */
:root {
  --blue-900:#002a5c;
  --blue-700:#003b73;
  --blue-600:#004c99;
  --accent:#66a3ff;
  --light:#eaf5ff;
  --white:#ffffff;
}

/* Fuente general */
body {
  margin:0;
  font-family:'Poppins', sans-serif;
  background:var(--blue-900);
  color:var(--light);
}

/* HERO */
.portada {
  position:relative;
  height:380px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.portada-bg {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(0.55);
}
.portada-content {
  position:relative;
  text-align:center;
}
.titulo {
  font-family:'Dancing Script', cursive;
  font-size:80px;
  color:var(--white);
  margin:0;
}
.subtitulo {
  font-size:34px;
  color:var(--light);
  margin:0 0 10px 0;
  font-style:italic;
}
.logo-principal {
  width:160px;
  border-radius:50%;
  border:6px solid white;
  box-shadow:0 6px 18px rgba(0,0,0,0.4);
}

/* NAV */
.main-nav {
  background:var(--blue-700);
  border-top:4px solid var(--white);
  border-bottom:4px solid var(--white);
}
.nav-inner {
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:18px;
  padding:12px;
}
.nav-inner a {
  color:white;
  text-decoration:none;
  font-family:'Oswald', sans-serif;
  font-size:18px;
  letter-spacing:1px;
}
.nav-logo {
  width:46px;
  height:46px;
  border-radius:6px;
}

/* CONTENIDO */
.site-content {
  max-width:1100px;
  margin:24px auto;
  padding:0 16px;
}

/* TABLAS */
.tabla-simple {
  width:100%;
  border-collapse:collapse;
  margin-bottom:12px;
}
.tabla-simple th, .tabla-simple td {
  border:1px solid rgba(204,230,255,0.15);
  padding:8px;
  background:rgba(159, 187, 238, 0.178);
  color:white;
}

/* BOXED */
.boxed .bg-color {
  background:var(--blue-700);
  padding:12px;
  border-radius:8px;
  color:var(--light);
}

/* IMÁGENES */
.img-small { max-width:150px; }

/* FOOTER */
.site-footer {
  text-align:center;
  padding:18px;
  color:#cfe9ff;
  background:linear-gradient(90deg,rgba(0, 24, 48, 0.3),rgba(0,61,102,0.3));
  margin-top:32px;
}

/* RESPONSIVO */
@media(max-width:700px) {
  .titulo { font-size:55px; }
  .subtitulo { font-size:22px; }
  .nav-inner { flex-wrap:wrap; justify-content:center; }
  .logo-principal { width:120px; }
}

/* Fondo azul general */
.blue-bg {
  background: var(--blue-900);
  color: var(--light);
}

/* Título bonito en Dancing Script */
.titulo-form {
  text-align: center;
  font-family: 'Dancing Script', cursive;
  color:  rgb(11, 71, 109);
  font-size: 48px;
  margin-bottom: 20px;
}

/* Contenedor del formulario */
.form-wrap {
  max-width: 500px;
  margin: 40px auto;
  padding: 0 15px;
}

/* Tarjeta del formulario */
.form-card {
  background: var(--blue-700);
  padding: 25px;
  border-radius: 12px;
  border: 2px solid var(--accent);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* Etiquetas */
.form-card label {
  display: block;
  margin-top: 15px;
  font-weight: bold;
  color: var(--white);
}

/* Campos de entrada */
.form-card input,
.form-card textarea {
  width: 100%;
  padding: 10px;
  margin-top: 6px;
  border-radius: 8px;
  border: 2px solid var(--accent);
  background: var(--blue-900);
  color: var(--light);
  font-family: 'Poppins', sans-serif;
}

/* Grupo de radios */
.radio-group {
  display: flex;
  gap: 20px;
  margin-top: 6px;
}

.radio-group label {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Botón */
.primary-btn {
  width: 100%;
  margin-top: 22px;
  background: var(--blue-600);
  color: white;
  padding: 12px;
  border: none;
  font-size: 18px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

.primary-btn:hover {
  background: var(--accent);
  color: var(--blue-900);
}

/* Robot formulario */

.gif-esquina {
  position: fixed;
  bottom: 10px;    
  right: 10px;     
  width: 550px;    /*cambiar el tamaño */
  z-index: -1;   
  pointer-events: none; 
}

.contenedor {
  display: flex;
  align-items: center; /* Centra verticalmente los elementos */
}

.contenedor img {
  margin-right: 20px; /* Separa la imagen del texto */
}

.enlace-blanco {
    color: white;            /* color blanco normal */
    text-decoration: none;   /* quitar subrayado (opcional) */
    font-weight: bold;
}

.enlace-blanco:hover {
    color: #4f80b1;          /* azul fuerte al pasar el mouse */
    text-decoration: underline; /* subrayado al hacer hover (opcional) */
}
