

:root {



	--ct-cyan: #1758dd;
	--ct-cyan-osc: #0d3fa0;
	--ct-cyan-tinte: #eef4ff;
	--ct-menu-texto: #111111;
	--ct-texto-negro: #111111;


	--ct-naranja: #ff8514;
	--ct-naranja-hover: #d96700;
	--ct-naranja-osc: #d96700;
	--ct-naranja-tinte: #fff3e8;
	--ct-naranja-suave: #ff9d43;
	--ct-sobre-naranja: #fff;


	--ct-tinta: #061a48;
	--ct-tinta-suave: #5e6a85;
	--ct-tinta-tenue: #9aa6bb;

	--ct-superficie: #fff;
	--ct-superficie-suave: #f5f7fa;
	--ct-fondo: #fff;

	--ct-borde: #dde3ec;
	--ct-borde-fuerte: #c5cfdf;
	--ct-borde-suave: #e8edf5;
	--ct-hover-sutil: #f7faff;


	--ct-exito: #20a94b;
	--ct-exito-tinte: #eef8f0;
	--ct-aviso: #956400;
	--ct-aviso-tinte: #fbf3db;
	--ct-error: #cf3606;
	--ct-error-tinte: #fff0ed;


	--ct-estado-completado-fondo: #eaf2ff;
	--ct-estado-completado-texto: #0d5be1;
	--ct-estado-completado-borde: #cfe0ff;
	--ct-estado-preparando-fondo: #f2f6fc;
	--ct-estado-preparando-texto: #355a8a;
	--ct-estado-preparando-borde: #dce5f1;
	--ct-estado-pendiente-fondo: #eef1f7;
	--ct-estado-pendiente-texto: #061a48;
	--ct-estado-pendiente-borde: #dde3ec;
	--ct-estado-inactivo-fondo: #eef1f7;
	--ct-estado-inactivo-texto: #5e6a85;
	--ct-estado-inactivo-borde: #dde3ec;


	--ct-radio: 12px;
	--ct-radio-campo: 6px;
	--ct-radio-pill: 999px;


	--ct-contenedor-max: 1320px;
	--ct-contenedor-gutter: 16px;
	--ct-contenedor-ancho: min(
		var(--ct-contenedor-max),
		calc(100% - (var(--ct-contenedor-gutter) * 2))
	);
	--ct-menu-altura-desktop: 52px;
	--ct-separacion-menu-pagina-desktop: 24px;
	--ct-separacion-menu-pagina-mobile: 16px;


	--ct-whatsapp: #25d366;
	--ct-whatsapp-suave: #5df29b;

	--ct-foco: 0 0 0 3px rgba(23, 88, 221, .22);
	--ct-foco-teclado: 2px solid var(--ct-cyan);
	--ct-sombra: 0 1px 2px rgba(23, 32, 51, .05), 0 8px 24px rgba(23, 32, 51, .05);
	--ct-sombra-alta: 0 2px 6px rgba(23, 32, 51, .07), 0 14px 34px rgba(23, 32, 51, .07);

	--ct-ease: cubic-bezier(.23, 1, .32, 1);
	--ct-transicion: 160ms var(--ct-ease);
}


@media (max-width: 1024px) {
	input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='hidden']),
	select,
	textarea {

		font-size: 16px !important;
	}
}


html,
body {
	max-width: 100%;
	overflow-x: clip;
	overscroll-behavior-x: none;
}

/* Toda página de contenido usa este único espacio después del menú. */
.ctsys-pagina-contenido {
	padding-top: var(--ct-separacion-menu-pagina-desktop);
}

@media (max-width: 767px) {
	.ctsys-pagina-contenido {
		padding-top: var(--ct-separacion-menu-pagina-mobile);
	}
}

/* El foco por clic no debe dejar el contorno nativo punteado; teclado conserva una marca consistente. */
html body[class] :is(a, button, input, select, textarea, summary, [role='button'], [tabindex]):focus:not(:focus-visible) {
	outline: 0 !important;
}

html body[class] :is(a, button, input, select, textarea, summary, [role='button'], [tabindex]):focus-visible {
	outline: var(--ct-foco-teclado) !important;
	outline-offset: 2px;
	box-shadow: none !important;
}

html body[class] :is(.show-password-input, button.show-password-input):focus:not(:focus-visible) {
	outline: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}
