/* Recobria IA — analizador de viabilidad y página de resultado */

.ria-an, .ria-res {
	--ria-navy: #0B2545;
	--ria-navy2: #123A63;
	--ria-teal: #0D9488;
	--ria-teal-d: #0B7C72;
	--ria-bg: #F4F7FB;
	--ria-ink: #182635;
	--ria-mut: #5B6B7D;
	--ria-line: #E2EAF2;
}
.ria-an *, .ria-res * { box-sizing: border-box; }

/* Ni la página del analizador ni la del resultado deben desplazarse en horizontal
   (el hero a todo el ancho y el fondo del resultado se salían por el ancho del scroll). */
body.ria-analyzer-page,
body.ria-analysis-page { overflow-x: hidden; overflow-x: clip; }

/* =====================================================================
 * Recorrido de preguntas
 * =================================================================== */
.ria-an { max-width: 660px; margin: 0 auto; }

.ria-an-bar {
	height: 6px;
	background: var(--ria-line);
	border-radius: 999px;
	overflow: hidden;
	margin: 0 0 10px;
}
.ria-an-bar span {
	display: block;
	height: 100%;
	width: 16.6%;
	background: linear-gradient(90deg, var(--ria-teal), var(--ria-navy2));
	border-radius: 999px;
	transition: width .35s ease;
}
.ria-an-count { color: var(--ria-mut); font-size: .82rem; font-weight: 700; margin: 0 0 22px; }

.ria-an-q { display: none; }
.ria-an-q.is-on { display: block; animation: riaAnIn .32s ease both; }
@keyframes riaAnIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.ria-an-q h2 {
	color: var(--ria-navy);
	font-size: clamp(1.35rem, 3.2vw, 1.75rem);
	line-height: 1.25;
	margin: 0 0 8px;
	letter-spacing: -.01em;
}
.ria-an-help { color: var(--ria-mut); margin: 0 0 20px; font-size: .95rem; line-height: 1.55; }

/* Opciones táctiles */
.ria-an-opts { display: flex; flex-direction: column; gap: 10px; }
.ria-an-opt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	width: 100%;
	text-align: left;
	background: #fff;
	border: 2px solid var(--ria-line);
	border-radius: 14px;
	padding: 16px 20px;
	cursor: pointer;
	font-family: inherit;
	color: var(--ria-ink);
	box-shadow: 0 4px 16px rgba(11, 37, 69, .06);
	transition: border-color .15s, transform .15s, box-shadow .15s;
}
.ria-an-opt strong { color: var(--ria-navy); font-size: 1.02rem; font-weight: 700; }
.ria-an-opt span { color: var(--ria-mut); font-size: .86rem; }
.ria-an-opt:hover { border-color: var(--ria-teal); transform: translateY(-2px); box-shadow: 0 8px 22px rgba(11, 37, 69, .1); }
.ria-an-opt.is-sel { border-color: var(--ria-teal); background: #F0FBF9; }
.ria-an-opt.is-sel strong::after {
	content: " ✓";
	color: var(--ria-teal-d);
}

/* Campos */
.ria-an-grid2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px; }
.ria-an-fg-solo { max-width: 280px; }
.ria-an-fg label { display: block; font-weight: 700; color: var(--ria-navy); margin: 0 0 6px; font-size: .9rem; }
.ria-an input[type="number"],
.ria-an input[type="date"],
.ria-an input[type="email"],
.ria-an-fg input[type="text"] {
	width: 100%;
	border: 2px solid var(--ria-line);
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 1.05rem;
	font-family: inherit;
	color: var(--ria-ink);
	background: #fff;
	outline: 0;
	transition: border-color .15s;
}
.ria-an input:focus { border-color: var(--ria-teal); }
.ria-an-fg input::placeholder { color: var(--ria-mut); opacity: 1; }
.ria-an-fg small { display: block; color: var(--ria-mut); font-size: .82rem; margin-top: 6px; }

.ria-an-next {
	margin-top: 18px;
	background: linear-gradient(135deg, var(--ria-teal), var(--ria-navy2));
	border: 0;
	border-radius: 12px;
	color: #fff;
	padding: 14px 30px;
	font-weight: 700;
	font-size: 1rem;
	font-family: inherit;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(13, 148, 136, .3);
	transition: transform .15s;
}
.ria-an-next:hover { transform: translateY(-1px); }

.ria-an-nav { margin-top: 20px; }
.ria-an-back {
	background: none;
	border: 0;
	color: var(--ria-mut);
	font-weight: 700;
	font-size: .9rem;
	cursor: pointer;
	font-family: inherit;
	padding: 6px 0;
}
.ria-an-back:hover { color: var(--ria-navy); }

.ria-an-err {
	background: #FFF1F2;
	border: 1px solid #FECDD3;
	color: #9F1239;
	border-radius: 10px;
	padding: 12px 16px;
	font-weight: 600;
	margin-top: 14px;
}
.ria-an-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.ria-an-loading { text-align: center; padding: 40px 0; }
.ria-an-loading h2 { color: var(--ria-navy); font-size: 1.3rem; margin: 0 0 8px; }
.ria-an-loading p { color: var(--ria-mut); margin: 0; }
.ria-an-dots { display: flex; gap: 8px; justify-content: center; margin-bottom: 18px; }
.ria-an-dots span {
	width: 11px; height: 11px; border-radius: 50%;
	background: var(--ria-teal);
	animation: riaAnDot 1.2s infinite ease-in-out;
}
.ria-an-dots span:nth-child(2) { animation-delay: .15s; }
.ria-an-dots span:nth-child(3) { animation-delay: .3s; }
@keyframes riaAnDot { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-7px); opacity: 1; } }

.ria-an-legal { color: var(--ria-mut); font-size: .78rem; line-height: 1.6; margin-top: 28px; }

/* Bloque informativo bajo el analizador (página «Analiza tu impago») */
.ria-info {
	max-width: 660px;
	margin: 46px auto 0;
	padding-top: 42px;
	border-top: 1px solid var(--ria-line);
}
.ria-info-head { text-align: center; margin: 0 0 24px; }
.ria-info-head h2 { color: var(--ria-navy); font-size: clamp(1.35rem, 3vw, 1.6rem); margin: 0; letter-spacing: -.01em; }
.ria-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ria-info-card {
	background: #fff;
	border: 1px solid var(--ria-line);
	border-radius: 16px;
	padding: 24px 26px;
	box-shadow: 0 6px 24px rgba(11, 37, 69, .06);
}
.ria-info-card h3 {
	color: var(--ria-navy);
	font-size: 1.08rem;
	margin: 0 0 10px;
	padding-left: 14px;
	border-left: 3px solid var(--ria-teal);
	line-height: 1.3;
}
.ria-info-card p { color: var(--ria-ink); font-size: .94rem; line-height: 1.65; margin: 0; }
.ria-info-card p + p { margin-top: .8em; }
.ria-info-note { color: var(--ria-mut); font-size: .82rem; line-height: 1.6; margin: 22px 0 0; text-align: center; }
.ria-info-note a { color: var(--ria-teal-d); }
@media (max-width: 620px) { .ria-info-grid { grid-template-columns: 1fr; } }

/* =====================================================================
 * Página de resultado
 * =================================================================== */
.ria-res {
	background: var(--ria-bg);
	padding: 42px 20px 64px;
	/* Rompe el contenedor del tema (Astra) para ocupar el ancho completo y centrar el contenido */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.ria-res-wrap { max-width: 760px; margin: 0 auto; }

.ria-res-head { text-align: center; margin: 0 0 28px; }
.ria-res-check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ria-teal), var(--ria-navy2));
	box-shadow: 0 10px 26px rgba(13, 148, 136, .34);
	animation: riaCheckPop .45s cubic-bezier(.34, 1.56, .64, 1) both;
}
.ria-res-check span {
	display: block;
	width: 32px;
	height: 32px;
	background-color: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
@keyframes riaCheckPop { from { opacity: 0; transform: scale(.55); } to { opacity: 1; transform: none; } }
.ria-res-sem {
	display: inline-block;
	border-radius: 999px;
	padding: 6px 16px;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.ria-res-verde { background: #F0FBF9; color: var(--ria-teal-d); }
.ria-res-ambar { background: #FEF3C7; color: #92400E; }
.ria-res-rojo { background: #FFE4E6; color: #9F1239; }
.ria-res-head h1 { color: var(--ria-navy); font-size: clamp(1.6rem, 4vw, 2.3rem); margin: 0; letter-spacing: -.02em; }
.ria-res-head h1.is-ok { color: var(--ria-teal-d); }

.ria-res-nums {
	background: #fff;
	border: 1px solid var(--ria-line);
	border-radius: 16px;
	box-shadow: 0 6px 24px rgba(11, 37, 69, .08);
	padding: 8px 26px;
	margin: 0 0 26px;
}
.ria-res-num {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	padding: 15px 0;
	border-bottom: 1px solid var(--ria-line);
}
.ria-res-num:last-child { border-bottom: 0; }
.ria-res-num span { color: var(--ria-mut); font-size: .95rem; }
.ria-res-num strong { color: var(--ria-navy); font-size: 1.15rem; font-weight: 800; margin-left: auto; }
.ria-res-num small { flex: 1 0 100%; color: var(--ria-mut); font-size: .76rem; }
.ria-res-total { background: linear-gradient(120deg, #0B2545, #123A63); margin: 0 -26px; padding: 18px 26px; border-radius: 0 0 15px 15px; }
.ria-res-total span { color: #CFE9E6; font-weight: 700; }
.ria-res-total strong { color: #fff; font-size: 1.6rem; }

.ria-res-txt { font-size: 1.05rem; line-height: 1.7; color: var(--ria-ink); margin: 0 0 28px; }
.ria-res-txt p { margin: 0 0 1em; }

.ria-res-cta {
	background: #fff;
	border: 2px solid var(--ria-teal);
	border-radius: 16px;
	padding: 28px 30px;
	text-align: center;
	box-shadow: 0 8px 28px rgba(13, 148, 136, .14);
	margin: 0 0 26px;
}
.ria-res-cta-soft { border-color: var(--ria-line); box-shadow: 0 6px 24px rgba(11, 37, 69, .08); }
.ria-res-cta-tag {
	display: inline-block;
	background: #EAF6F4;
	color: var(--ria-teal-d);
	border-radius: 999px;
	padding: 5px 14px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.ria-res-cta h2 { color: var(--ria-navy); font-size: 1.5rem; margin: 0 0 4px; }
.ria-res-price { color: var(--ria-teal-d); font-size: 2rem; font-weight: 800; margin: 0 0 10px; }
.ria-res-cta-note { color: var(--ria-mut); font-size: .92rem; line-height: 1.6; margin: 0 0 18px; }
.ria-res-btn {
	display: inline-block;
	background: linear-gradient(135deg, var(--ria-teal), var(--ria-navy2));
	color: #fff !important;
	border-radius: 12px;
	padding: 15px 34px;
	font-weight: 700;
	font-size: 1.02rem;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(13, 148, 136, .3);
	transition: transform .15s;
}
.ria-res-btn:hover { transform: translateY(-2px); color: #fff; }
.ria-res-fee { color: var(--ria-mut); font-size: .82rem; margin: 16px 0 0; }

.ria-res-block {
	background: #fff;
	border: 1px solid var(--ria-line);
	border-radius: 14px;
	padding: 22px 26px;
	margin: 0 0 20px;
}
.ria-res-block h2 { color: var(--ria-navy); font-size: 1.1rem; margin: 0 0 12px; }
.ria-res-block ul { margin: 0; padding-left: 20px; }
.ria-res-block li { color: var(--ria-ink); margin-bottom: 9px; line-height: 1.6; font-size: .95rem; }
.ria-res-block li:last-child { margin-bottom: 0; }

.ria-res-save {
	background: #fff;
	border: 1px dashed var(--ria-teal);
	border-radius: 14px;
	padding: 24px 26px;
	margin: 26px 0 20px;
	text-align: center;
}
.ria-res-save h2 { color: var(--ria-navy); font-size: 1.15rem; margin: 0 0 6px; }
.ria-res-save > p { color: var(--ria-mut); margin: 0 0 16px; font-size: .93rem; }
.ria-res-mailrow { display: flex; gap: 8px; max-width: 440px; margin: 0 auto; flex-wrap: wrap; }
.ria-res-mailrow input[type="email"] {
	flex: 1 1 220px;
	border: 2px solid var(--ria-line);
	border-radius: 12px;
	padding: 13px 16px;
	font-size: 1rem;
	font-family: inherit;
	outline: 0;
}
.ria-res-mailrow input[type="email"]:focus { border-color: var(--ria-teal); }
.ria-res-mailrow button {
	background: var(--ria-teal);
	border: 0;
	border-radius: 12px;
	color: #fff;
	padding: 13px 24px;
	font-weight: 700;
	font-family: inherit;
	font-size: .96rem;
	cursor: pointer;
	transition: background .15s;
}
.ria-res-mailrow button:hover { background: var(--ria-teal-d); }
.ria-res-mailmsg { margin: 14px 0 0; font-weight: 700; color: var(--ria-teal-d); }
.ria-res-mailmsg.is-err { color: #9F1239; }
.ria-res-mailnote { color: var(--ria-mut); font-size: .78rem; margin: 14px 0 0; }
.ria-res-mailnote a { color: var(--ria-teal-d); }

.ria-baja-btn {
	background: #fff;
	border: 2px solid var(--ria-line);
	border-radius: 12px;
	padding: 12px 24px;
	color: var(--ria-navy);
	font-weight: 700;
	font-size: .95rem;
	font-family: inherit;
	cursor: pointer;
	transition: border-color .15s;
}
.ria-baja-btn:hover:not(:disabled) { border-color: var(--ria-teal); }
.ria-baja-btn:disabled { opacity: .6; cursor: default; }

.ria-res-tools { display: flex; gap: 14px; justify-content: center; align-items: center; flex-wrap: wrap; margin: 0 0 24px; }
.ria-res-tools button {
	background: #fff;
	border: 2px solid var(--ria-line);
	border-radius: 12px;
	padding: 12px 22px;
	color: var(--ria-navy);
	font-weight: 700;
	font-family: inherit;
	font-size: .92rem;
	cursor: pointer;
}
.ria-res-tools button:hover { border-color: var(--ria-teal); }
.ria-res-tools a { color: var(--ria-teal-d); font-weight: 700; text-decoration: none; }

.ria-res-legal { color: var(--ria-mut); font-size: .78rem; line-height: 1.6; text-align: center; margin: 0; }

@media (max-width: 620px) {
	.ria-an-grid2 { grid-template-columns: 1fr; }
	.ria-res { padding: 26px 12px 44px; }
	.ria-res-nums { padding: 6px 18px; }
	.ria-res-total { margin: 0 -18px; padding: 16px 18px; }
	.ria-res-cta { padding: 22px 18px; }
}

@media print {
	body.ria-analysis-page .site-header,
	body.ria-analysis-page .site-footer,
	body.ria-analysis-page header,
	body.ria-analysis-page footer,
	body.ria-analysis-page #ria-root,
	body.ria-analysis-page .ria-res-save,
	body.ria-analysis-page .ria-res-tools { display: none !important; }
	body.ria-analysis-page .ria-res { background: #fff; padding: 0; }
	body.ria-analysis-page .ria-res-nums,
	body.ria-analysis-page .ria-res-cta,
	body.ria-analysis-page .ria-res-block { box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ria-an-q.is-on { animation: none; }
	.ria-an-dots span { animation: none; opacity: .7; }
	.ria-res-check { animation: none; }
	.ria-an-opt, .ria-an-next, .ria-res-btn { transition: none; }
}
