/*!
 * Rodríguez Cons · Lead Magnets — estilos del frontend.
 *
 * Reglas del archivo:
 * - Todo cuelga de .rc-lm[data-rc-lm] + componente + elemento: especificidad
 *   mínima (0,4,0), suficiente frente al Kit global de Elementor (0,3,1).
 * - Sin !important salvo en dos casos: ocultar el campo trampa y hacer que
 *   el atributo hidden oculte siempre (lo usa el JavaScript).
 * - Tokens --rc-lm-*: heredan los --rc-* del sistema de diseño si el tema los
 *   declara; si no, usan los valores de marca.
 * - Responsive por contenedor (container queries), no por pantalla.
 * - Elementor ajusta --rc-lm-gap, --rc-lm-max-width, --rc-lm-ms y --rc-lm-me
 *   desde el contenedor del widget (se leen con valor de respaldo).
 */

/* ==========================================================================
   Tokens
   ========================================================================== */

.rc-lm[data-rc-lm],
.rc-lm-editor-notice {
	--rc-lm-navy: var(--rc-navy-700, var(--rc-navy, #203152));
	--rc-lm-navy-900: var(--rc-navy-900, #16223a);
	--rc-lm-navy-600: var(--rc-navy-600, #2c4068);
	--rc-lm-burgundy: var(--rc-burgundy-700, var(--rc-burgundy, #5a0334));
	--rc-lm-burgundy-500: var(--rc-burgundy-500, #7a0a4a);
	--rc-lm-gold: var(--rc-gold-500, var(--rc-gold, #b69d74));
	--rc-lm-gold-300: var(--rc-gold-300, #d8c8a8);
	--rc-lm-paper: var(--rc-paper, #fbf9f5);
	--rc-lm-surface: var(--rc-surface, #fff);
	--rc-lm-surface-2: var(--rc-surface-2, #f3efe8);
	--rc-lm-ink: var(--rc-ink, #1a2233);
	--rc-lm-ink-2: var(--rc-ink-2, #4a5365);
	--rc-lm-on-dark: var(--rc-on-dark, #f4f1eb);
	--rc-lm-on-dark-2: var(--rc-on-dark-2, #aeb8ca);
	--rc-lm-border: var(--rc-border, #e7e1d6);
	--rc-lm-success: var(--rc-success, #2f6b4f);
	--rc-lm-success-050: var(--rc-success-050, #eaf2ed);
	--rc-lm-warning: var(--rc-warning, #b8862b);
	--rc-lm-warning-050: var(--rc-warning-050, #f8f0dd);
	--rc-lm-error: var(--rc-error, #9b2d3a);
	--rc-lm-font: var(--rc-font-sans, "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	--rc-lm-ease: var(--rc-ease, cubic-bezier(.22, .61, .36, 1));
	--rc-lm-dur: var(--rc-dur, .32s);
	--rc-lm-sh-sm: var(--rc-sh-sm, 0 4px 14px -6px rgba(32, 49, 82, .12));
	--rc-lm-sh-lg: var(--rc-sh-lg, 0 40px 80px -28px rgba(32, 49, 82, .3));

	/* Ajustes de contraste acordados (fase 1, apartado 2.4). */
	--rc-lm-field-border: #958b78;
	--rc-lm-kicker: #7a6540;

	/* Roles según la apariencia (claro por defecto). */
	--rc-lm-text: var(--rc-lm-ink);
	--rc-lm-muted: var(--rc-lm-ink-2);
	--rc-lm-title: var(--rc-lm-navy-900);
	--rc-lm-link: var(--rc-lm-navy);
	--rc-lm-focus: var(--rc-lm-navy);
	--rc-lm-error-text: var(--rc-lm-error);
	--rc-lm-kicker-color: var(--rc-lm-kicker);
}

.rc-lm[data-rc-lm].rc-lm--dark {
	--rc-lm-text: var(--rc-lm-on-dark);
	--rc-lm-muted: var(--rc-lm-on-dark-2);
	--rc-lm-title: var(--rc-lm-on-dark);
	--rc-lm-link: var(--rc-lm-gold-300);
	--rc-lm-focus: var(--rc-lm-gold);
	--rc-lm-error-text: #f3b8c0;
	--rc-lm-kicker-color: var(--rc-lm-gold-300);
}

/* ==========================================================================
   Raíz y reinicio frente al tema
   ========================================================================== */

.rc-lm[data-rc-lm] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: var(--rc-lm-max-width, none);
	margin: 0 var(--rc-lm-me, 0) 0 var(--rc-lm-ms, 0);
	padding: 0;
	color: var(--rc-lm-text);
	font-family: var(--rc-lm-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: normal;
	text-align: left;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
}

.rc-lm[data-rc-lm] *,
.rc-lm[data-rc-lm] *::before,
.rc-lm[data-rc-lm] *::after {
	box-sizing: border-box;
}

/*
 * Referencia de ancho invisible (altura 0).
 *
 * El formulario y el CTA se adaptan al ancho de su contenedor con container
 * queries, y un contenedor con container-type: inline-size declara un ancho
 * intrínseco de 0. Cuando un padre flexible en columna (los contenedores de
 * Elementor, el grupo «Apilado» de Gutenberg…) calcula la altura de su hijo,
 * primero lo maqueta con un ancho provisional basado en ese ancho intrínseco:
 * con 0, el formulario se partía palabra a palabra y el widget se quedaba con
 * una altura enorme, lo que dejaba un gran espacio vacío en móvil.
 *
 * Esta línea de texto oculta aporta un ancho máximo amplio (una sola línea
 * muy larga) y un ancho mínimo despreciable (una letra): así el ancho
 * provisional es siempre el disponible y la altura calculada es la real, sin
 * impedir que el componente se estreche. No se ve ni la leen los lectores de
 * pantalla (visibility: hidden).
 */
.rc-lm[data-rc-lm]::before {
	content: "x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x";
	display: block;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	visibility: hidden;
	font-size: 16px;
	line-height: 0;
	pointer-events: none;
}

.rc-lm[data-rc-lm] .rc-lm-form p,
.rc-lm[data-rc-lm] .rc-lm-cta p,
.rc-lm[data-rc-lm] .rc-lm-success p {
	margin: 0;
	padding: 0;
}

.rc-lm[data-rc-lm] .rc-lm-sr,
.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/*
 * El atributo hidden oculta siempre. Sin esta regla, cualquier display
 * propio (el del formulario, un botón…) lo anulaba: tras un envío correcto el
 * formulario seguía visible con el botón en «Enviando…».
 */
.rc-lm[data-rc-lm] [hidden] {
	display: none !important;
}

/* Campo trampa. */
.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-hp {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ==========================================================================
   Formulario: rejilla responsive por contenedor
   ========================================================================== */

.rc-lm[data-rc-lm] .rc-lm-form {
	container-type: inline-size;
	container-name: rc-lm-form;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-form__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-flow: row dense;
	align-items: start;
	gap: var(--rc-lm-gap, 12px);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-form__grid > * {
	grid-column: 1 / -1;
	min-width: 0;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-form__extra {
	display: grid;
	gap: var(--rc-lm-gap, 12px);
}

/* Automático: email + botón en fila desde 480 px; nombre + email + botón desde 720 px. */
@container rc-lm-form (min-width: 480px) {
	.rc-lm[data-rc-lm] .rc-lm-form--auto .rc-lm-form__grid {
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--auto .rc-lm-field--email {
		grid-column: 1;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--auto .rc-lm-field--submit {
		grid-column: 2;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--auto .rc-lm-field--submit .rc-lm-btn {
		width: auto;
	}
}

@container rc-lm-form (min-width: 720px) {
	.rc-lm[data-rc-lm] .rc-lm-form--auto.rc-lm-form--has-name .rc-lm-form__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--auto.rc-lm-form--has-name .rc-lm-field--name {
		grid-column: 1;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--auto.rc-lm-form--has-name .rc-lm-field--email {
		grid-column: 2;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--auto.rc-lm-form--has-name .rc-lm-field--submit {
		grid-column: 3;
	}
}

/* Horizontal forzado: en fila desde 400 px (por debajo se apila siempre). */
@container rc-lm-form (min-width: 400px) {
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal .rc-lm-form__grid {
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal .rc-lm-field--email {
		grid-column: 1;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal .rc-lm-field--submit {
		grid-column: 2;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal .rc-lm-field--submit .rc-lm-btn {
		width: auto;
	}
}

@container rc-lm-form (min-width: 600px) {
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal.rc-lm-form--has-name .rc-lm-form__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal.rc-lm-form--has-name .rc-lm-field--name {
		grid-column: 1;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal.rc-lm-form--has-name .rc-lm-field--email {
		grid-column: 2;
	}
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal.rc-lm-form--has-name .rc-lm-field--submit {
		grid-column: 3;
	}
}

/* Con etiquetas visibles, el botón en fila se alinea con el campo, no con la etiqueta. */
@container rc-lm-form (min-width: 480px) {
	.rc-lm[data-rc-lm] .rc-lm-form--auto.rc-lm-form--labels .rc-lm-field--submit {
		padding-top: 26px;
	}
}
@container rc-lm-form (min-width: 400px) {
	.rc-lm[data-rc-lm] .rc-lm-form--horizontal.rc-lm-form--labels .rc-lm-field--submit {
		padding-top: 26px;
	}
}

/* Botón a ancho completo forzado: una sola columna en cualquier ancho. */
.rc-lm[data-rc-lm] .rc-lm-form.rc-lm-form--btn-full .rc-lm-form__grid {
	grid-template-columns: minmax(0, 1fr);
}
.rc-lm[data-rc-lm] .rc-lm-form.rc-lm-form--btn-full .rc-lm-form__grid > * {
	grid-column: 1 / -1;
	padding-top: 0;
}
.rc-lm[data-rc-lm] .rc-lm-form.rc-lm-form--btn-full .rc-lm-field--submit .rc-lm-btn {
	width: 100%;
}

/* ==========================================================================
   Campos
   ========================================================================== */

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-field {
	display: block;
	margin: 0;
	padding: 0;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 6px;
	padding: 0;
	color: var(--rc-lm-text);
	font-family: var(--rc-lm-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: normal;
	text-transform: none;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-label__hint {
	color: var(--rc-lm-muted);
	font-weight: 400;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	float: none;
	width: 100%;
	max-width: none;
	height: 52px;
	min-height: 52px;
	margin: 0;
	padding: 0 22px;
	border: 1.5px solid var(--rc-lm-field-border);
	border-radius: 999px;
	background: var(--rc-lm-surface);
	box-shadow: none;
	color: var(--rc-lm-ink);
	font-family: var(--rc-lm-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: left;
	text-indent: 0;
	text-shadow: none;
	text-transform: none;
	outline: 0;
	transition: border-color .2s var(--rc-lm-ease), box-shadow .2s var(--rc-lm-ease);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input::placeholder {
	color: #6b7383;
	opacity: 1;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input:hover {
	border-color: var(--rc-lm-navy-600);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input:focus {
	border-color: var(--rc-lm-navy);
	box-shadow: 0 0 0 4px rgba(32, 49, 82, .1);
	outline: 0;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input:focus-visible {
	outline: 2.5px solid var(--rc-lm-focus);
	outline-offset: 3px;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input[aria-invalid="true"] {
	border-color: var(--rc-lm-error);
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-form .rc-lm-input {
	border-color: transparent;
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-form .rc-lm-input[aria-invalid="true"] {
	border-color: var(--rc-lm-error-text);
}

/* ==========================================================================
   Botón
   ========================================================================== */

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-width: 0;
	height: auto;
	min-height: 52px;
	margin: 0;
	padding: 12px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--rc-lm-burgundy);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	font-family: var(--rc-lm-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .01em;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	text-transform: none;
	white-space: normal;
	transition: background var(--rc-lm-dur) var(--rc-lm-ease), transform var(--rc-lm-dur) var(--rc-lm-ease), box-shadow var(--rc-lm-dur) var(--rc-lm-ease);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn:hover {
	background: var(--rc-lm-burgundy-500);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--rc-lm-sh-sm);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn:active {
	transform: translateY(0);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn:focus {
	outline: 0;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn:focus-visible {
	outline: 2.5px solid var(--rc-lm-focus);
	outline-offset: 3px;
}

.rc-lm[data-rc-lm] .rc-lm-form.rc-lm-form--btn-large .rc-lm-btn {
	min-height: 58px;
	padding: 14px 34px;
	font-size: 16px;
}

.rc-lm[data-rc-lm] .rc-lm-form.rc-lm-form--btn-large .rc-lm-input {
	height: 58px;
	min-height: 58px;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn__label {
	display: inline;
	min-width: 0;
	overflow: visible;
	line-height: inherit;
	text-align: center;
	overflow-wrap: anywhere;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, .35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: rc-lm-spin .8s linear infinite;
}

.rc-lm[data-rc-lm] .rc-lm-form.is-busy .rc-lm-spinner {
	display: inline-block;
}

.rc-lm[data-rc-lm] .rc-lm-form.is-busy .rc-lm-btn,
.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn[disabled] {
	cursor: progress;
	opacity: .85;
	transform: none;
}

@keyframes rc-lm-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ==========================================================================
   Consentimiento, ayuda, errores y estado
   ========================================================================== */

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-consent-group {
	display: grid;
	gap: 10px;
	margin: 2px 0 0;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-consent {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	column-gap: 10px;
	align-items: start;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-check {
	-webkit-appearance: auto;
	appearance: auto;
	position: static;
	display: block;
	float: none;
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 1px 0 0;
	padding: 0;
	accent-color: var(--rc-lm-navy);
	cursor: pointer;
	opacity: 1;
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-form .rc-lm-check {
	accent-color: var(--rc-lm-gold);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-check:focus-visible {
	outline: 2.5px solid var(--rc-lm-focus);
	outline-offset: 3px;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-consent__label {
	display: block;
	float: none;
	margin: 0;
	padding: 0;
	color: var(--rc-lm-muted);
	cursor: pointer;
	font-family: var(--rc-lm-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: normal;
	text-transform: none;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-consent .rc-lm-error {
	grid-column: 2;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-consent-group a,
.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-info a {
	color: var(--rc-lm-link);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-consent-group a:focus-visible {
	outline: 2.5px solid var(--rc-lm-focus);
	outline-offset: 2px;
	border-radius: 2px;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-info {
	color: var(--rc-lm-muted);
	font-size: 12.5px;
	line-height: 1.5;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-helper {
	color: var(--rc-lm-muted);
	font-size: 13px;
	line-height: 1.5;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-error {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 6px 0 0;
	color: var(--rc-lm-error-text);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-error[hidden] {
	display: none;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-error::before,
.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-status.is-error::before {
	content: "!";
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	border-radius: 50%;
	background: currentColor;
	color: inherit;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	-webkit-text-fill-color: var(--rc-lm-surface);
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-form .rc-lm-error::before,
.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-form .rc-lm-status.is-error::before {
	-webkit-text-fill-color: var(--rc-lm-navy-900);
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-status {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--rc-lm-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-status:empty {
	display: none;
}

.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-status.is-error {
	color: var(--rc-lm-error-text);
}

/* ==========================================================================
   Panel de éxito
   ========================================================================== */

.rc-lm[data-rc-lm] .rc-lm-success {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 20px 22px;
	border: 1px solid rgba(47, 107, 79, .25);
	border-radius: 18px;
	background: var(--rc-lm-success-050);
	color: var(--rc-lm-ink);
}

.rc-lm[data-rc-lm] .rc-lm-success[hidden] {
	display: none;
}

.rc-lm[data-rc-lm] .rc-lm-success:focus {
	outline: 0;
}

.rc-lm[data-rc-lm] .rc-lm-success:focus-visible {
	outline: 2.5px solid var(--rc-lm-focus);
	outline-offset: 3px;
}

.rc-lm[data-rc-lm] .rc-lm-success .rc-lm-success__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--rc-lm-success);
	color: #fff;
}

.rc-lm[data-rc-lm] .rc-lm-success .rc-lm-success__title {
	margin: 0 0 4px;
	color: var(--rc-lm-navy-900);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -.01em;
}

.rc-lm[data-rc-lm] .rc-lm-success .rc-lm-success__text {
	color: var(--rc-lm-ink-2);
	font-size: 15px;
	line-height: 1.55;
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-success {
	border-color: rgba(244, 241, 235, .18);
	background: rgba(255, 255, 255, .06);
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-success .rc-lm-success__title {
	color: var(--rc-lm-on-dark);
}

.rc-lm[data-rc-lm].rc-lm--dark .rc-lm-success .rc-lm-success__text {
	color: var(--rc-lm-on-dark-2);
}

/* ==========================================================================
   Avisos para editores
   ========================================================================== */

.rc-lm[data-rc-lm] .rc-lm-notice {
	display: block;
	margin: 0 0 16px;
	padding: 10px 14px;
	border-left: 3px solid var(--rc-lm-warning);
	border-radius: 8px;
	background: var(--rc-lm-warning-050);
	color: var(--rc-lm-ink);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

.rc-lm-editor-notice {
	display: block;
	padding: 16px 18px;
	border: 1.5px dashed var(--rc-lm-field-border);
	border-radius: 12px;
	background: var(--rc-lm-surface-2);
	color: var(--rc-lm-ink);
	font-family: var(--rc-lm-font);
	font-size: 14px;
	line-height: 1.5;
}

.rc-lm-editor-notice strong {
	margin-right: 4px;
	color: var(--rc-lm-navy);
	font-weight: 800;
}

/* ==========================================================================
   CTA completo
   ========================================================================== */

.rc-lm[data-rc-lm].rc-lm--cta {
	padding: clamp(24px, 4vw, 48px);
	border-radius: 28px;
	background: var(--rc-lm-surface-2);
}

.rc-lm[data-rc-lm].rc-lm--cta.rc-lm--surface {
	border: 1px solid var(--rc-lm-border);
	background: var(--rc-lm-surface);
	box-shadow: var(--rc-lm-sh-sm);
}

.rc-lm[data-rc-lm].rc-lm--cta.rc-lm--navy {
	background: var(--rc-lm-navy);
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__frame {
	container-type: inline-size;
	container-name: rc-lm-cta;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	align-items: center;
}

@container rc-lm-cta (min-width: 640px) {
	.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta {
		grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
		gap: clamp(28px, 4vw, 52px);
	}
	.rc-lm[data-rc-lm].rc-lm--cta.rc-lm--no-visual .rc-lm-cta {
		grid-template-columns: minmax(0, 1fr);
	}
	.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc {
		max-width: 200px;
	}
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual {
	display: flex;
	justify-content: center;
	min-width: 0;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-cta__image {
	display: block;
	width: 100%;
	max-width: 280px;
	height: auto;
	margin: 0 auto;
	border-radius: 18px;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__body {
	min-width: 0;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__body .rc-lm-kicker {
	margin: 0 0 10px;
	color: var(--rc-lm-kicker-color);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__body .rc-lm-cta__title {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	color: var(--rc-lm-title);
	font-family: var(--rc-lm-font);
	font-size: clamp(1.45rem, 1.1rem + 1.3vw, 2rem);
	font-style: normal;
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -.02em;
	text-transform: none;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__body .rc-lm-cta__desc {
	max-width: 58ch;
	margin: 0 0 24px;
	color: var(--rc-lm-muted);
	font-size: 16px;
	line-height: 1.6;
}

/* Mockup del documento (componente 11 del sistema de diseño). */
.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc {
	position: relative;
	display: block;
	width: 100%;
	max-width: 150px;
	aspect-ratio: 3 / 4;
	margin: 0 auto;
	padding: 22px;
	border: 1px solid var(--rc-lm-border);
	border-radius: 12px;
	background: var(--rc-lm-surface);
	box-shadow: var(--rc-lm-sh-lg);
	transform: rotate(-3deg);
	transition: transform var(--rc-lm-dur) var(--rc-lm-ease);
}

.rc-lm[data-rc-lm].rc-lm--cta:hover .rc-lm-cta__visual .rc-lm-doc {
	transform: rotate(0);
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc::before {
	content: "";
	display: block;
	width: 34px;
	height: 4px;
	margin-bottom: 14px;
	border-radius: 2px;
	background: var(--rc-lm-gold);
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc__label {
	display: block;
	margin-bottom: 12px;
	color: var(--rc-lm-navy-900);
	font-size: .95rem;
	font-weight: 800;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc__lines span {
	display: block;
	height: 5px;
	margin-bottom: 8px;
	border-radius: 3px;
	background: var(--rc-lm-border);
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc__lines span:nth-child(2) {
	width: 80%;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc__lines span:nth-child(3) {
	width: 90%;
}

.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc__lines span:nth-child(5) {
	width: 60%;
}

/* ==========================================================================
   Movimiento reducido
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn,
	.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input,
	.rc-lm[data-rc-lm].rc-lm--cta .rc-lm-cta__visual .rc-lm-doc {
		transition: none;
	}
	.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn:hover {
		transform: none;
	}
	.rc-lm[data-rc-lm].rc-lm--cta:hover .rc-lm-cta__visual .rc-lm-doc {
		transform: rotate(-3deg);
	}
	.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-spinner {
		animation-duration: 2.4s;
	}
}

/* Modo de alto contraste de Windows. */
@media (forced-colors: active) {
	.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-btn {
		border: 2px solid ButtonText;
	}
	.rc-lm[data-rc-lm] .rc-lm-form .rc-lm-input {
		border-color: FieldText;
	}
}
