/* assets/css/base/styles.css */

html {
  box-sizing: border-box;
  font-size: 62.5%;
  min-height: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* ===== ESTILOS BASE ===== */

body {
  margin: 0;
  font-family: var(--fuente-principal);
  font-size: var(--tamano-texto-base);
  color: var(--color-texto-principal);
  background-color: var(--color-fondo-body);

  word-wrap: break-word;
  overflow-wrap: break-word;

  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* El main se separa del header fijo/sticky */
.page-main {
  padding-top: 8rem;
  min-width: 0;
  flex: 1 0 auto;
}

/* Evita que el footer se encoja o suba raro */
.site-footer {
  flex-shrink: 0;
}

/* ===== CONTENEDOR GLOBAL ===== */

.container {
  width: 66.66%;
  max-width: 1400px;
  margin-inline: auto;
}

/* ===== IMÁGENES Y MULTIMEDIA RESPONSIVE ===== */

img,
svg,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== RESPONSIVE GLOBAL ===== */

@media (max-width: 1200px) {
  .container {
    width: 80%;
  }
}

@media (max-width: 768px) {
  .page-main {
    padding-top: 4rem;
  }

  .container {
    width: 100%;
    max-width: 100%;
    padding: 0 1rem;
  }

  html,
  body {
    overflow-x: hidden;
  }
}

.seo-h1 {
  position: absolute;
  left: -9999px;
}
