/* =========================================================
   Mi Viaje UI — Base
   Variables globales, reset ligero y tipografía.
   Las variables dinámicas (color, radio, blur, sombra) se
   inyectan por PHP en MVJ_Assets::build_dynamic_css_variables()
   y sobrescriben estos valores por defecto.
   ========================================================= */

:root {
	/* Color */
	--mvj-bg: #F7F7F5;
	--mvj-surface: #FFFFFF;
	--mvj-text: #111111;
	--mvj-text-secondary: #6B6B6B;
	--mvj-border: rgba(0, 0, 0, .08);
	--mvj-glass: rgba(255, 255, 255, .72);
	--mvj-primary: #111111;
	--mvj-accent: #F5A623;
	--mvj-danger: #D9453D;

	/* Elevación */
	--mvj-shadow: 0 8px 30px rgba(0, 0, 0, .06);
	--mvj-shadow-hover: 0 16px 40px rgba(0, 0, 0, .10);

	/* Radios */
	--mvj-radius-sm: 12px;
	--mvj-radius-md: 18px;
	--mvj-radius-lg: 24px;
	--mvj-radius-card: 20px;
	--mvj-radius-pill: 999px;

	/* Blur (glassmorphism) */
	--mvj-blur: 20px;

	/* Tipografía */
	--mvj-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* Transiciones */
	--mvj-transition-fast: 160ms ease;
	--mvj-transition: 240ms cubic-bezier(.4, 0, .2, 1);
}

/* Solo dentro de páginas marcadas como "mvj-theme" (ver body_class en
   MVJ_HivePress::add_body_classes) para no afectar al resto del sitio. */
body.mvj-theme {
	background: var(--mvj-bg);
	color: var(--mvj-text);
	font-family: var(--mvj-font);
	-webkit-font-smoothing: antialiased;
}

body.mvj-theme a {
	color: inherit;
	text-decoration: none;
}

body.mvj-theme *,
body.mvj-theme *::before,
body.mvj-theme *::after {
	box-sizing: border-box;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* Foco visible accesible en todo mvj-theme */
body.mvj-theme a:focus-visible,
body.mvj-theme button:focus-visible,
body.mvj-theme input:focus-visible,
body.mvj-theme select:focus-visible,
body.mvj-theme textarea:focus-visible {
	outline: 2px solid var(--mvj-primary);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	body.mvj-theme * {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}
