/**
 * Base: reset del navegador y estilos por defecto de los elementos
 * HTML (tipografía, enlaces, listas, formularios). No contiene clases
 * de componentes ni de secciones, solo el punto de partida común.
 *
 * @package Induscore
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	/* Resguardo general: ningún elemento (imagen, tarjeta, insignia
	   flotante, etc.) puede forzar scroll horizontal, ni siquiera si
	   algún contenido futuro se pasa de ancho por error. */
	overflow-x: hidden;
	max-width: 100vw;
}

/* Texto solo para lectores de pantalla (etiquetas de formularios,
   "Abrir menú", contexto de enlaces). Definido por el tema para no
   depender de la hoja de WooCommerce; si recibe el foco (enlaces de
   salto), se muestra. Técnica estándar de WordPress. */
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	padding: var(--e-12) var(--e-16);
	top: var(--e-8);
	left: var(--e-8);
	z-index: var(--z-panel);
	background-color: var(--color-blanco);
	color: var(--color-azul-oscuro);
	font-size: var(--fs-base);
	font-weight: var(--peso-semi);
	text-decoration: none;
}

body {
	margin: 0;
	background-color: var(--color-blanco);
	color: var(--texto-principal);
	font-family: var(--fuente-base);
	font-size: var(--fs-lg);
	line-height: var(--interlineado-base);
	font-weight: var(--peso-normal);
	overflow-x: hidden;
	max-width: 100vw;
}

/* Mientras el panel móvil del header está abierto, main.js agrega esta
   clase a <body> para bloquear el scroll del fondo. */
body.menu-abierto {
	overflow: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--color-azul-oscuro);
	text-decoration: none;
	transition: color var(--transicion-base);
}

/* Variante de texto del naranjo: los enlaces genéricos viven sobre
   fondos claros (sobre fondos oscuros cada componente define el suyo). */
a:hover {
	color: var(--color-naranjo-texto);
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button,
input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
}

button {
	background: none;
	border: none;
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--e-16);
	font-weight: var(--peso-medio);
	line-height: var(--interlineado-ajustado);
	letter-spacing: var(--letras-negativas-sm);
	color: var(--color-azul-oscuro);
}

h1 {
	font-size: clamp(var(--fs-6xl), 5vw, var(--fs-8xl));
}

h2 {
	font-size: clamp(var(--fs-5xl), 4vw, var(--fs-7xl));
}

h3 {
	font-size: var(--fs-4xl);
}

h4 {
	font-size: var(--fs-2xl);
}

p {
	margin: 0 0 var(--e-16);
	color: var(--color-texto-secundario);
}
