/* ==========================================================================
   1. Configuración Global y Variables
   ========================================================================== */
:root {
    --color-fondos: #110033a6; /* Un fondo oscuro con más opacidad para leer mejor */
    --color-bordes: #7b2cbf66;               /* Un borde morado más vivo */
    --color-fuente-principal: #ffffff;    /* Texto claro para un contraste excelente sobre fondo oscuro */
    --color-fuente-titulos: #b5a2d9;      /* Títulos llamativos */
    --fuente-sistema: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

* {
    box-sizing: border-box; /* Evita que el padding o los bordes rompan el ancho de tus elementos */
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--fuente-sistema);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-image: url(/img/fondofactra.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* Mantiene el fondo estático al hacer scroll */
    color: var(--color-fuente-principal);
}

/* ==========================================================================
   2. Header (Encabezado)
   ========================================================================== */
/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Header principal */
.headerContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1e3c72, #2a5298);
  color: #ffffff;
  padding: 20px;
  text-align: center;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Logo y título */
.logoContainer {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logoImage {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.siteTitle {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
}

/* Lema */
.siteTagline {
  font-size: 1.2rem;
  font-style: italic;
  margin-top: 8px;
  opacity: 0.9;
}


/* ==========================================================================
   3. Estructura Principal (Grid/Flex para Responsivo)
   ========================================================================== */
.contenedor-principal {
    display: flex;
    flex-wrap: wrap; /* Permite que los elementos bajen en pantallas móviles */
    justify-content: center;
    gap: 20px;
    padding: 40px 20px;
    flex: 1; /* Empuja el footer hacia abajo si hay poco contenido */
}

.vertical {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ==========================================================================
   4. Componentes y Tarjetas (Articles)
   ========================================================================== */
article {
    display: flex;
    flex-direction: column;
    background-color: var(--color-fondos);
    padding: 25px;
    width: 100%;
    max-width: 400px; /* Evita que las tarjetas se estiren infinitamente */
    border: 2px solid var(--color-bordes);
    border-radius: 16px;
    backdrop-filter: blur(5px); /* Efecto esmerilado moderno sobre el fondo */
}

article p {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 15px;
    text-align: justify;
}

article p:last-child {
    margin-bottom: 0;
}

/* Sección específica de botones de navegación */
.menu {
    max-width: 320px;
}

/* ==========================================================================
   5. Botones y Enlaces (Estilo moderno)
   ========================================================================== */
.btn-enlace {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background-color: #512b58;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    padding: 12px 20px;
    margin-top: 15px;
    border: 2px solid var(--color-bordes);
    border-radius: 8px;
    width: 100%;
    transition: all 0.3s ease;
    text-align: center;
}

.btn-enlace:hover {
    background-color: #7b4384;
    transform: translateY(-2px); /* Pequeño efecto de elevación al pasar el mouse */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* ==========================================================================
   6. Tipografía (Títulos)
   ========================================================================== */
h2 {
    font-size: 1.4rem;
    color: var(--color-fuente-titulos);
    margin-bottom: 18px;
    text-align: center;
}

/* ==========================================================================
   7. Footer (Pie de página)
   ========================================================================== */
footer {
    background-color: var(--color-fondos);
    width: 100%;
    padding: 30px 20px;
    margin-top: auto; /* Garantiza que se quede abajo */
    border-top: 1px solid var(--color-bordes);
}

.footer-content {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

.footer-content h2 {
    margin-bottom: 15px;
}

.lista-encargados {
    list-style: none; /* Quitamos los puntitos tradicionales */
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lista-encargados li {
    font-size: 1rem;
    color: var(--color-fuente-principal);
}

/* ==========================================================================
   8. Media Query (Adaptación pantallas pequeñas)
   ========================================================================== */
@media (max-width: 768px) {
    .contenedor-principal {
        flex-direction: column;
        align-items: center;
    }
    
    article {
        max-width: 90%; /* En móviles ocupa casi todo el ancho disponible */
    }
}