/* ============================
   Fuente personalizada: General Sans
   Ruta: /templates/shaper_helixultimate/fonts/
   ============================ */

/* Regular */
@font-face {
  font-family: 'GeneralSans-Regular';
  src: url('../fonts/GeneralSans-Regular.woff2') format('woff2'),
       url('../fonts/GeneralSans-Regular.woff') format('woff'),
       url('../fonts/GeneralSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}

/* Bold */
@font-face {
  font-family: 'GeneralSans-Bold';
  src: url('../fonts/GeneralSans-Bold.woff2') format('woff2'),
       url('../fonts/GeneralSans-Bold.woff') format('woff'),
       url('../fonts/GeneralSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}

/* Italic */
@font-face {
  font-family: 'GeneralSans-Italic';
  src: url('../fonts/GeneralSans-Italic.woff2') format('woff2'),
       url('../fonts/GeneralSans-Italic.woff') format('woff'),
       url('../fonts/GeneralSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}

/* Variable (peso controlable) */
@font-face {
  font-family: 'GeneralSans-Variable';
  src: url('../fonts/GeneralSans-Variable.woff2') format('woff2'),
       url('../fonts/GeneralSans-Variable.woff') format('woff'),
       url('../fonts/GeneralSans-Variable.ttf') format('truetype');
  font-weight: 200 700;
  font-display: swap;
  font-style: normal;
}


/* ============================
   Jerarquía Tipográfica
   ============================ */

body {
  font-family: 'GeneralSans-Regular', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'GeneralSans-Bold', sans-serif;
  color: #111;
  margin-bottom: 0.5em;
}

h1 {
  font-size: 2.5em;
  line-height: 1.2;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.5em;
}

h4 {
  font-size: 1.25em;
}

h5 {
  font-size: 1em;
}

h6 {
  font-size: 0.875em;
}

p {
  font-family: 'GeneralSans-Regular', sans-serif;
  margin-bottom: 1em;
}

em {
  font-family: 'GeneralSans-Italic', sans-serif;
}

strong {
  font-family: 'GeneralSans-Bold', sans-serif;
  font-weight: 700;
}


/* ============================
   Navegación y otros estilos
   ============================ */

.nav, .sp-megamenu-parent > li > a {
  font-family: 'GeneralSans-Regular', sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
}

.btn, button, input[type="submit"] {
  font-family: 'GeneralSans-Bold', sans-serif;
  letter-spacing: 0.05em;
}

blockquote {
  font-style: italic;
  font-family: 'GeneralSans-Italic', sans-serif;
  border-left: 3px solid #ccc;
  padding-left: 1em;
  margin-left: 0;
  color: #555;
}

/* Evitar que las imágenes en timeline floten y desacomoden el texto */
.sppb-addon-timeline .timeline-item img {
  float: none !important;
  display: block;
  margin: 0 auto 1em auto; /* centrar y separarlas con espacio */
}

/* Opcional: limitar ancho máximo de las imágenes del timeline */
.sppb-addon-timeline .timeline-item img {
  max-width: 80%;
  height: auto;
}

/* Asegurar que el texto aparezca siempre debajo */
.sppb-addon-timeline .timeline-item .details {
  clear: both;
}