/**
 * ECCO Retos — tokens de marca. Paleta monocromática: negro sobre blanco,
 * sin color de acento. Los demás archivos CSS del plugin importan estas
 * variables (dependencia de wp_enqueue_style en cada shortcode).
 */
:root {
	--ecco-negro:    #000000;
	--ecco-grafito:  #1a1a1a;
	--ecco-gris-700: #4a4a4a;
	--ecco-gris-400: #9b9b9b;
	--ecco-gris-100: #f2f2f2;
	--ecco-gris-050: #fafafa;
	--ecco-blanco:   #ffffff;
	--ecco-error:    #c0392b;
	--ecco-campo-bg:   #f0f0f0;
	--ecco-tarjeta-bg: #ffffff;
	--ecco-font: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

	/* Escala de espaciado en múltiplos de 4px. */
	--ecco-space-1: 4px;
	--ecco-space-2: 8px;
	--ecco-space-3: 12px;
	--ecco-space-4: 16px;
	--ecco-space-5: 20px;
	--ecco-space-6: 24px;
	--ecco-space-7: 28px;
	--ecco-space-8: 32px;
	--ecco-space-10: 40px;
	--ecco-space-12: 48px;
	--ecco-space-16: 64px;

	/* Escala tipográfica consistente. */
	--ecco-text-xs: 11px;
	--ecco-text-sm: 12.5px;
	--ecco-text-base: 15px;
	--ecco-text-md: 16px;
	--ecco-text-lg: 20px;
	--ecco-text-xl: 26px;
	--ecco-text-2xl: 32px;
	--ecco-text-3xl: 44px;
	--ecco-text-4xl: 64px;

	--ecco-radius-sm: 12px;
	--ecco-radius-md: 18px;
	--ecco-radius-lg: 28px;

	--ecco-ease: cubic-bezier(.2, .9, .2, 1);
}

/**
 * Reset defensivo contra el tema: Hello Elementor trae reset.css con
 * `button, [type=submit], a { color:#c36; border-color:#c36 }` a la misma
 * especificidad que nuestras clases. .ecco-app eleva todo a 2 clases de
 * especificidad y normaliza herencia de fuente/color, sin !important.
 */
.ecco-app {
	font-family: var(--ecco-font);
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}

.ecco-app,
.ecco-app *,
.ecco-app *::before,
.ecco-app *::after {
	box-sizing: border-box;
}

.ecco-app a {
	color: inherit;
	text-decoration: none;
	background-color: transparent;
}

/*
 * Hello Elementor trae `a:active,a:hover{color:#336}` en su reset.css, a la
 * misma especificidad (1 clase + 1 elemento) que la regla de arriba, así que
 * en :hover/:active el empate puede resolverse a favor del tema según el
 * orden de carga. Reafirmarlo aquí sube la cuenta y gana siempre.
 */
.ecco-app a:hover,
.ecco-app a:active {
	color: inherit;
}

.ecco-app button,
.ecco-app input,
.ecco-app select,
.ecco-app textarea {
	font-family: inherit;
	color: inherit;
	background-color: transparent;
	border: none;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
}

.ecco-app button {
	cursor: pointer;
}

.ecco-app h1,
.ecco-app h2,
.ecco-app h3,
.ecco-app p {
	font-family: inherit;
}

/* Foco visible y consistente en todo el plugin (accesibilidad). */
.ecco-app a:focus-visible,
.ecco-app button:focus-visible,
.ecco-app input:focus-visible,
.ecco-app [tabindex]:focus-visible {
	outline: 2px solid var(--ecco-negro);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.ecco-app,
	.ecco-app * {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
