/* ==========================================================================
   05 · SECTIONS (SR-22) — composición específica de /seguros/sr22.html
   ==========================================================================
   Mismo criterio que el resto de páginas de producto: composición
   propia de esta página, el aspecto de cada pieza viene de
   04-components.css (compartido entre todas las páginas).
   ========================================================================== */

.breadcrumb .container {
  padding-top: 0;
  padding-bottom: 0;
}

.hero {
  background: linear-gradient(180deg, var(--color-navy) 0%, var(--color-navy-2) 100%);
  color: var(--color-white);
  padding: 40px 0;
}

.hero .container {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

@media (min-width: 768px) {
  .hero .container {
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .hero-copy {
    flex: 1 1 54%;
  }
  .hero-illustration {
    flex: 1 1 46%;
  }
}

.hero h1 {
  color: var(--color-white);
  font-size: 2rem;
  font-weight: 800;
}

@media (min-width: 768px) {
  .hero h1 { font-size: 2.6rem; }
}
@media (min-width: 1024px) {
  .hero h1 { font-size: 2.9rem; }
}

.hero .lede {
  color: #D7DCEA;
  font-size: 1.02rem;
  max-width: 48ch;
}

.hero-ctas {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 6px;
}

@media (min-width: 768px) {
  .hero-ctas {
    flex-direction: row;
  }
}

.hero-ctas .btn {
  font-size: 1rem;
  padding: 16px 22px;
}

.intro-copy {
  max-width: 72ch;
}

.coverage-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

@media (min-width: 768px) {
  .coverage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .coverage-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.coverage-grid .notice {
  grid-column: 1 / -1;
}

.compare-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

@media (min-width: 768px) {
  .compare-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }
}

.fullcover-callout {
  margin: 16px 0 0;
  padding: 12px 14px;
  background: var(--color-cloud);
  border-left: 4px solid var(--color-green);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-family: var(--font-head);
  font-weight: 700;
  color: var(--color-navy);
  font-size: .95rem;
}

.fullcover-callout--neutral {
  background: var(--color-white);
  border-left-color: var(--color-border);
  color: var(--color-graphite-soft);
  font-family: var(--font-body);
  font-weight: 600;
}

.factors-intro {
  max-width: 70ch;
  margin: 0 auto 24px;
}

.chip-grid {
  max-width: 900px;
  margin: 0 auto;
}

.prep-checklist {
  margin-bottom: 26px;
}

.learn-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

@media (min-width: 768px) {
  .learn-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------
   Chips de "¿Qué puede cambiar el precio?" con etiquetas más largas
   que el resto de páginas (p. ej. "Estado y tipo de certificado") —
   mismo componente, sin override adicional; se deja esta nota porque
   si alguna etiqueta se ve ajustada en 320px vale la pena revisar
   .chip-grid/.chip en 04-components.css antes de acortar el texto.
   -------------------------------------------------------------------- */
