/**
 * Business Code Widgets - Variables globales
 * ---------------------------------------------------------------------
 * Se cargan como dependencia de CUALQUIER style.css de widget (ver
 * Assets_Manager::register_widget_assets). Definen valores por defecto
 * que cada widget puede sobreescribir localmente vía Elementor sin
 * tocar este archivo, usando la especificidad natural de :where() para
 * no inflar el peso de cada selector.
 */

:where(.bcw-widget) {
	--bcw-color-primary: #2563eb;
	--bcw-color-secondary: #0f172a;
	--bcw-color-surface: #ffffff;
	--bcw-color-border: #e2e8f0;
	--bcw-color-text: #1e293b;
	--bcw-color-text-muted: #64748b;

	--bcw-radius-sm: 6px;
	--bcw-radius-md: 12px;
	--bcw-radius-lg: 20px;

	--bcw-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
	--bcw-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
	--bcw-shadow-lg: 0 20px 40px rgba(15, 23, 42, 0.12);

	--bcw-gap: 24px;
	--bcw-transition-speed: 0.35s;
	--bcw-transition-ease: cubic-bezier(0.16, 1, 0.3, 1);

	box-sizing: border-box;
}

.bcw-widget *,
.bcw-widget *::before,
.bcw-widget *::after {
	box-sizing: inherit;
}

/* Utilidad compartida: oculta visualmente pero mantiene accesible a lectores de pantalla. */
.bcw-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Estado de foco visible consistente en toda la librería (accesibilidad). */
.bcw-widget a:focus-visible,
.bcw-widget button:focus-visible {
	outline: 2px solid var(--bcw-color-primary);
	outline-offset: 2px;
}
