/* ============================================================
   VLC PLUS – CSS Maestro
   Estilos institucionales, layout, componentes y responsividad
   ============================================================ */

/* ------------------------------
   Variables globales
--------------------------------*/
:root {
  --azul: #0b3c7d;
  --amarillo: #ffc107;
  --gris-claro: #f2f2f2;
  --gris-medio: #555;
  --fondo-tarjeta: #f0eeeef6;
  --font-base: 'Arial', sans-serif;
}

/* ------------------------------
   Reset y tipografía
--------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-base);
  color: #222;
  line-height: 1.5;
  background: #fff;
}

/* ------------------------------
   Layout general
--------------------------------*/
header, section {
  padding: 40px 10%;
}

h1, h2, h3 {
  margin-bottom: 10px;
  color: var(--azul);
}

p, li {
  color: var(--azul);
}

/* ------------------------------
   Botones
--------------------------------*/
.btn-primary {
  background: var(--amarillo);
  color: #000;
  padding: 10px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
}

.btn-secondary {
  background: #fff;
  color: var(--azul);
  border: 1px solid var(--azul);
  padding: 10px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
}

.hero-buttons a {
  margin-right: 15px;
}

/* ------------------------------
   Tarjetas (cards)
--------------------------------*/
.card {
  border: 1px solid var(--amarillo);
  border-radius: 6px;
  padding: 16px;
  background: var(--fondo-tarjeta);
}
/* Ajuste de listas dentro de tarjetas */
.card ul {
  padding-left: 18px;
  margin: 0;
}

.card li {
  margin-bottom: 6px;
}

/* ------------------------------
   Grids
--------------------------------*/
.modules, .benefits, .integrations-list {
  display: grid;
  gap: 16px;
}

.modules {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   align-items: stretch;
}

/* ------------------------------
   Íconos
--------------------------------*/
.card img {
  width: 48px;
  margin-bottom: 10px;
}

section img {
  width: 60px;
  margin-bottom: 20px;
}

/* ------------------------------
   Ajustes de alineación y tamaño uniforme
--------------------------------*/
.card {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.card img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

/* ------------------------------
   Secciones con fondo azul
--------------------------------*/
.hero {
  background: var(--azul);
  color: #fff;
}

.hero h1,
.hero h2,
.hero p {
  color: #fff;
}

.seccion-azul {
  background: var(--azul);
  color: #fff;
}

.seccion-azul h2,
.seccion-azul p,
.seccion-azul li {
  color: #fff;
}

/* ------------------------------
   Footer
--------------------------------*/
footer {
  background: var(--gris-claro);
  padding: 20px 10%;
  font-size: 0.9rem;
  color: var(--gris-medio);
}

/* ============================================================
   RESPONSIVIDAD
   Ajustes para móviles y pantallas pequeñas
   ============================================================ */

/* ------------------------------
   Tablets y pantallas medianas
--------------------------------*/
@media (max-width: 768px) {

  header, section {
    padding: 25px 6%;
  }

  h1 {
    font-size: 1.8rem;
  }

  h2 {
    font-size: 1.4rem;
  }

  .card img {
    width: 40px;
  }

  section img {
    width: 50px;
  }

  .hero-buttons a {
    display: block;
    margin-bottom: 10px;
    width: 100%;
    text-align: center;
  }
}

/* ------------------------------
   Móviles pequeños (iPhone SE)
--------------------------------*/
@media (max-width: 480px) {

  header, section {
    padding: 20px 5%;
  }

  h1 {
    font-size: 1.5rem;
  }

  h2 {
    font-size: 1.2rem;
  }

  .card img {
    width: 36px;
  }

  section img {
    width: 45px;
  }

  .modules {
    grid-template-columns: 1fr;
  }
}