/* Base: reinicio mínimo y tipografía por defecto de la original (Divi: Open Sans 14px/1.7 #666) */
*, *::before, *::after { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--fuente-base);
    font-size: var(--texto-base);
    font-weight: 500;
    line-height: 1.7;
    color: var(--color-gris);
    background: var(--color-blanco);
    -webkit-font-smoothing: antialiased;
}

/* Espaciado de Divi: títulos con 10 px debajo y párrafos con 1em salvo el último del bloque.
   Con :where() (especificidad 0) para que cualquier clase de componente lo sustituya. */
:where(h1, h2, h3, h4, h5, h6) { margin: 0; padding-bottom: 10px; font-weight: 500; }
:where(p) { margin: 0; padding-bottom: 1em; }
:where(p:last-of-type) { padding-bottom: 0; }
ul { margin: 0; padding: 0; list-style: none; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }

:focus-visible { outline: 2px solid var(--color-marron); outline-offset: 2px; }

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.saltar {
    position: absolute; left: 1rem; top: -4rem; z-index: 100000;
    background: var(--color-marron); color: var(--color-blanco); padding: .5rem 1rem;
}
.saltar:focus { top: 1rem; }

/* Hueco de imagen que falta (SiteImageTagHelper) */
.img-hueco {
    display: flex; align-items: center; justify-content: center; min-height: 8rem;
    background: #ddd; color: #555; font: 0.75rem/1.2 monospace; padding: 1rem; word-break: break-all;
}

/* Evita la barra horizontal por los efectos que sobresalen (escalas, imágenes decorativas) */
main { overflow-x: clip; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
