/* =========================================================================
   SUNQU — Base
   Envoltorios genéricos usados por cualquier página/bloque.
   ========================================================================= */
/* Base tipográfica del body: la plantilla la fija a nivel de <body> (no por
   sección), con peso 500 (Manrope Medium) — sin esto, cualquier párrafo sin
   un font-weight propio caía al 400 por defecto del navegador. Las clases
   de sección (.sq-page, .sq-footer, etc.) siguen repitiendo font-family por
   claridad, pero el peso correcto ahora se hereda siempre desde aquí. */
body {
  font-family: var(--sq-font-text);
  font-weight: 500;
  line-height: 1.6;
}
/* La plantilla fija además una altura de línea base para los títulos
   (medida: 1.4). Las clases de título propias que necesitan otra cosa
   (.sq-pagehead h1 = 1.1, .sq-h2 = 1.15, títulos de bloque…) la siguen
   pisando por especificidad; esto solo evita que un título sin regla propia
   caiga al `normal` del navegador, que es más apretado que la plantilla. */
h1,
h2,
h3,
h4,
h5,
h6,
legend {
  line-height: 1.4;
}
/* La plantilla también baja el peso del texto en negrita: `strong,b{font-weight:600}`
   (assets/theme/base-min-*.css). Sin esta regla el navegador aplica 700, que en
   Manrope se ve visiblemente más grueso que el render aprobado. Medido, no
   supuesto: en el mockup `.sq-prose strong` calcula 600 y aquí calculaba 700.
   Los componentes que fijan su propio peso (botones, precios…) no se ven
   afectados, mandan por especificidad. */
b,
strong {
  font-weight: 600;
}
.sq-main {
  max-width: none !important;
  width: 100% !important;
  padding-inline: 0 !important;
  padding-block: 0 !important;
}
.sq-page {
  width: 100%;
  font-family: var(--sq-font-text);
  color: var(--sq-ink);
}
/* Texto solo para lectores de pantalla (convención de WordPress) */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Salto al contenido: invisible hasta recibir foco por teclado */
.sq-skip-link:focus {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1600;
  width: auto;
  height: auto;
  clip: auto;
  margin: 0;
  padding: 12px 20px;
  background: var(--sq-gold);
  color: var(--sq-white);
  font-family: var(--sq-font-text);
  font-size: 14px;
  text-decoration: none;
  white-space: normal;
}
