/*
 * interiores.css — capa visual local de la "dirección B" para páginas existentes.
 * Paleta: superficie #ffffff, página #ebebeb, borde #d9d9d9, tinta #1c1c1c, cuerpo #333333,
 * meta #6a6a6a; naranja de acento #ff6a00 (superficies/detalles con texto tinta) y
 * naranja de texto/enlaces #b3400a sobre claro (foco incluido).
 *
 * Ámbito deliberadamente acotado a las cuatro páginas de la tarea:
 *   A) páginas Elementor 1283 (/preguntas-frecuentes/), 505 (/about-us/), 507 (/contact-us/)
 *   B) página clásica 43 (/how-it-works-2/)
 *
 * Solo se retocan tipografía, ritmo, superficies, botones y foco visible.
 * NO se oculta contenido, NO se alteran formularios/mapas/acordeones/layouts de
 * Elementor, NO se toca el marcado ni el ancho de .elementor-container (Elementor
 * decide sus anchuras por sección) y NO se modifica CSP ni código PHP.
 * Depende de los tokens --riv-* ya definidos en riv.css (al cargarse después,
 * estas reglas concretas ganan donde riv.css excluye las páginas Elementor).
 */

/* ==========================================================================
   A · Páginas Elementor (1283, 505, 507)
   ========================================================================== */

/* --- Titulares: equilibrio de líneas e interlineado de flujo normal --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-heading-title {
	text-wrap: balance;
}

/* Los widgets posicionados en absoluto (subtítulos del FAQ) quedan fuera para
   no descuadrar su ubicación. */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-heading:not(.elementor-absolute) .elementor-heading-title {
	line-height: 1.12;
}

/* --- Ritmo vertical del contenido de texto --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-text-editor > .elementor-widget-container > :first-child {
	margin-top: 0;
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-text-editor > .elementor-widget-container > :last-child {
	margin-bottom: 0;
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-text-editor :is(p, li) {
	line-height: 1.7;
}

/* --- Enlaces de texto (no botones) --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	:is(.elementor-widget-text-editor, .elementor-widget-heading, .elementor-widget-icon-list)
	a:not(.elementor-button) {
	color: var(--riv-ink);
	text-decoration: underline;
	text-decoration-color: var(--riv-yellow);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	:is(.elementor-widget-text-editor, .elementor-widget-heading, .elementor-widget-icon-list)
	a:not(.elementor-button):hover,
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	:is(.elementor-widget-text-editor, .elementor-widget-heading, .elementor-widget-icon-list)
	a:not(.elementor-button):focus-visible {
	color: var(--riv-blue);
	text-decoration-color: currentColor;
}

/* --- Botones: contraste correcto sobre amarillo, esquinas rectas --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button {
	border-radius: var(--riv-radius);
	font-weight: 700;
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button,
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button :is(.elementor-button-text, .elementor-button-icon) {
	color: var(--riv-ink) !important;
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button:hover,
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button:focus-visible {
	background-color: var(--riv-ink);
	border-color: var(--riv-ink);
	color: #fff !important;
	transform: translateY(-2px);
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button:hover :is(.elementor-button-text, .elementor-button-icon),
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-button:focus-visible :is(.elementor-button-text, .elementor-button-icon) {
	color: #fff !important;
}

/* --- Contador: tinta en lugar de gris de cuerpo --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-counter .elementor-counter-number-wrapper {
	color: var(--riv-ink);
}

/* --- Formulario (WPForms dentro de widget shortcode) --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-shortcode :is(.wpforms-field-label, label) {
	color: var(--riv-ink);
	font-weight: 600;
}

/* --- Mapa: superficie contenida y embed fluido (el iframe sigue bloqueado por CSP) --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-google_maps .elementor-custom-embed {
	background: var(--riv-soft);
	border: 1px solid var(--riv-line);
}

body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-google_maps .elementor-custom-embed > iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
}

/* --- Imágenes fluidas --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	.elementor-widget-image img {
	max-width: 100%;
	height: auto;
}

/* --- Foco visible reforzado en controles interactivos de Elementor --- */
body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
	:is(.elementor-button, .elementor-widget-shortcode :is(input, select, textarea),
		.elementor-widget-icon-list a):focus-visible {
	outline: 3px solid var(--riv-focus);
	outline-offset: 3px;
}

/* El FAQ original imprime amarillo y naranja claros directamente sobre blanco.
   Conservar su jerarquía cálida requiere oscurecer esos dos textos, no cambiar
   el contenido ni la composición posicionada por Elementor. */
body.riv-local.elementor-page.page-id-1283
	.elementor-element-b82db88 h2 {
	color: var(--riv-blue) !important;
}

body.riv-local.elementor-page.page-id-1283
	.elementor-element-1c9b8f8 span[style*="#ff9900"] {
	color: var(--riv-orange-text) !important;
}

/* ==========================================================================
   B · Página clásica 43 (/how-it-works-2/)
   ========================================================================== */

body.riv-local.page-id-43 .entry-content {
	max-width: 72ch;
	margin-inline: auto;
}

body.riv-local.page-id-43 .entry-content :is(h1, h2, h3) {
	color: var(--riv-ink);
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

body.riv-local.page-id-43 .entry-content :is(h1, h2, h3):first-child {
	margin-top: 0;
}

body.riv-local.page-id-43 .entry-content :is(p, li) {
	color: var(--riv-body);
	line-height: 1.7;
}

body.riv-local.page-id-43 .entry-content a:not(.button) {
	color: var(--riv-ink);
	text-decoration: underline;
	text-decoration-color: var(--riv-yellow);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

body.riv-local.page-id-43 .entry-content a:not(.button):hover,
body.riv-local.page-id-43 .entry-content a:not(.button):focus-visible {
	color: var(--riv-blue);
	text-decoration-color: currentColor;
}

/* ==========================================================================
   Responsive y preferencias de movimiento
   ========================================================================== */

@media (max-width: 767.98px) {
	/* Los dos títulos del FAQ heredaron anchos de 615/641px y desplazamientos
	   absolutos de 182/215px: en móvil quedaban recortados fuera del viewport. */
	body.riv-local.elementor-page.page-id-1283
		:is(.elementor-element-b82db88, .elementor-element-776b7e6) {
		left: 0 !important;
		right: 0 !important;
		width: 100%;
		max-width: 100%;
		padding-inline: 12px;
	}

	body.riv-local.elementor-page.page-id-1283
		.elementor-element-b82db88 h2 {
		font-size: clamp(1.45rem, 7vw, 1.8rem);
	}

	body.riv-local.elementor-page.page-id-1283
		.elementor-element-776b7e6 h2 {
		font-size: clamp(1.05rem, 5vw, 1.35rem);
		line-height: 1.3;
	}

	body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
		.elementor-widget-google_maps .elementor-custom-embed > iframe {
		aspect-ratio: 4 / 3;
	}

	body.riv-local.page-id-43 .entry-content {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
		.elementor-button {
		transition: none;
	}

	body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
		.elementor-button:hover,
	body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
		.elementor-button:focus-visible {
		transform: none;
	}

	/* Elementor no debe dejar contenido oculto esperando animación de entrada. */
	body.riv-local.elementor-page:is(.page-id-1283, .page-id-505, .page-id-507)
		.elementor-invisible {
		opacity: 1 !important;
		visibility: visible !important;
		animation: none !important;
	}
}
