/* Recobria — calculadoras públicas */

.ria-tool {
	--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;
	max-width: 700px;
	margin: 0 auto;
}
.ria-tool * { box-sizing: border-box; }

.ria-tool-form {
	background: #fff;
	border: 1px solid var(--ria-line);
	border-radius: 16px;
	box-shadow: 0 6px 24px rgba(11, 37, 69, .08);
	padding: 26px 28px;
}
.ria-tool-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.ria-tool-fg { margin: 0 0 15px; }
.ria-tool-fg label { display: block; font-weight: 700; color: var(--ria-navy); margin: 0 0 6px; font-size: .93rem; }
.ria-tool-fg small { display: block; color: var(--ria-mut); font-size: .8rem; margin-top: 5px; line-height: 1.5; }
.ria-tool input[type="text"],
.ria-tool input[type="number"],
.ria-tool select {
	width: 100%;
	border: 2px solid var(--ria-line);
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 1rem;
	font-family: inherit;
	color: var(--ria-ink);
	background: #fff;
	outline: 0;
	transition: border-color .15s;
}
.ria-tool input:focus, .ria-tool select:focus { border-color: var(--ria-teal); }
.ria-tool-eur { position: relative; }
.ria-tool-eur input { padding-right: 38px; }
.ria-tool-eur span {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ria-mut);
	font-weight: 700;
	pointer-events: none;
}
.ria-tool-go {
	width: 100%;
	background: linear-gradient(135deg, var(--ria-teal), var(--ria-navy2));
	border: 0;
	border-radius: 12px;
	color: #fff;
	padding: 15px 24px;
	font-weight: 700;
	font-size: 1.02rem;
	font-family: inherit;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(13, 148, 136, .3);
	transition: transform .15s;
}
.ria-tool-go:hover { transform: translateY(-1px); }
.ria-tool-err {
	background: #FFF1F2;
	border: 1px solid #FECDD3;
	color: #9F1239;
	border-radius: 10px;
	padding: 11px 15px;
	font-weight: 600;
	font-size: .9rem;
	margin: 14px 0 0;
}

/* Resultado */
.ria-tool-out { margin-top: 20px; animation: riaToolIn .35s ease both; }
@keyframes riaToolIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.ria-tool-total {
	background: linear-gradient(120deg, #0B2545, #123A63);
	border-radius: 16px 16px 0 0;
	padding: 22px 26px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.ria-tool-total span { color: #CFE9E6; font-weight: 700; font-size: .95rem; }
.ria-tool-total strong { color: #fff; font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; }

.ria-tool-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid var(--ria-line);
	border-top: 0;
	margin: 0;
}
.ria-tool-table td, .ria-tool-table th {
	padding: 13px 26px;
	border-bottom: 1px solid var(--ria-line);
	font-size: .95rem;
	color: var(--ria-ink);
	text-align: left;
	vertical-align: top;
}
.ria-tool-table td:last-child, .ria-tool-table th:last-child { text-align: right; font-weight: 700; color: var(--ria-navy); white-space: nowrap; }
.ria-tool-table tr:last-child td { border-bottom: 0; }
.ria-tool-sub { display: block; color: var(--ria-mut); font-size: .8rem; font-weight: 400; margin-top: 3px; }
.ria-tool-tr-total td { background: #F0FBF9; font-weight: 800; color: var(--ria-navy); }
.ria-tool-tr-total td:last-child { color: var(--ria-teal-d); }
.ria-tool-table-sm td, .ria-tool-table-sm th { padding: 9px 26px; font-size: .87rem; }
.ria-tool-table-sm th { color: var(--ria-mut); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.ria-tool abbr { cursor: help; color: var(--ria-teal-d); text-decoration: none; }

.ria-tool-det {
	background: #fff;
	border: 1px solid var(--ria-line);
	border-top: 0;
	border-radius: 0 0 16px 16px;
}
.ria-tool-det > summary {
	padding: 14px 26px;
	cursor: pointer;
	font-weight: 700;
	color: var(--ria-teal-d);
	font-size: .92rem;
	list-style: none;
}
.ria-tool-det > summary::-webkit-details-marker { display: none; }
.ria-tool-det > summary::before { content: "▸ "; }
.ria-tool-det[open] > summary::before { content: "▾ "; }
.ria-tool-note { color: var(--ria-mut); font-size: .84rem; line-height: 1.6; padding: 0 26px 18px; margin: 10px 0 0; }

.ria-tool-verdict {
	border-radius: 16px 16px 0 0;
	padding: 24px 26px;
	border: 1px solid var(--ria-line);
	border-bottom: 0;
}
.ria-tool-verdict strong { display: block; font-size: 1.3rem; margin-bottom: 8px; letter-spacing: -.01em; }
.ria-tool-verdict p { margin: 0; font-size: .95rem; line-height: 1.65; color: var(--ria-ink); }
.ria-tool-verdict.is-verde { background: #F0FBF9; border-color: #99e2d8; }
.ria-tool-verdict.is-verde strong { color: var(--ria-teal-d); }
.ria-tool-verdict.is-ambar { background: #FEF3C7; border-color: #FDE68A; }
.ria-tool-verdict.is-ambar strong { color: #92400E; }
.ria-tool-verdict.is-rojo { background: #FFF1F2; border-color: #FECDD3; }
.ria-tool-verdict.is-rojo strong { color: #9F1239; }

.ria-tool-cta {
	background: #fff;
	border: 2px solid var(--ria-teal);
	border-radius: 16px;
	padding: 24px 26px;
	margin-top: 18px;
	text-align: center;
	box-shadow: 0 8px 24px rgba(13, 148, 136, .12);
}
.ria-tool-cta p { margin: 0 0 16px; color: var(--ria-ink); font-size: .98rem; line-height: 1.6; }
.ria-tool-btn {
	display: inline-block;
	background: linear-gradient(135deg, var(--ria-teal), var(--ria-navy2));
	color: #fff !important;
	border-radius: 12px;
	padding: 14px 30px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none !important;
	box-shadow: 0 6px 18px rgba(13, 148, 136, .3);
	transition: transform .15s;
}
.ria-tool-btn:hover { transform: translateY(-2px); color: #fff; }

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

@media (max-width: 620px) {
	.ria-tool-row { grid-template-columns: 1fr; }
	.ria-tool-form { padding: 20px 18px; }
	.ria-tool-total { padding: 18px; }
	.ria-tool-total strong { font-size: 1.6rem; }
	.ria-tool-table td, .ria-tool-table th { padding: 12px 18px; }
	.ria-tool-table-sm td, .ria-tool-table-sm th { padding: 8px 18px; font-size: .82rem; }
	.ria-tool-det > summary, .ria-tool-note { padding-left: 18px; padding-right: 18px; }
	.ria-tool-verdict, .ria-tool-cta { padding: 20px 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.ria-tool-out { animation: none; }
	.ria-tool-go, .ria-tool-btn { transition: none; }
}

/* ---------- Radar de impagos ---------- */
.ria-tool-wide { max-width: 880px; }
.ria-drop-tool {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
	background: #F7FBFA;
	border: 2px dashed var(--ria-teal);
	border-radius: 16px;
	padding: 34px 24px;
	cursor: pointer;
	transition: background .15s, transform .15s;
}
.ria-drop-tool:hover, .ria-drop-tool.is-over { background: #EAF6F4; transform: translateY(-1px); }
.ria-drop-tool:focus-visible { outline: 3px solid var(--ria-teal); outline-offset: 2px; }
.ria-drop-tool strong { color: var(--ria-navy); font-size: 1.08rem; }
.ria-drop-tool .ria-drop-sub { color: var(--ria-mut); font-size: .9rem; }
.ria-drop-tool .ria-drop-sub u { color: var(--ria-teal-d); text-underline-offset: 2px; }
.ria-drop-tool .ria-drop-ico {
	width: 34px; height: 34px; margin-bottom: 6px;
	background-color: var(--ria-teal);
	-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='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2'/%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='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ria-tool-privacy { color: var(--ria-mut); font-size: .85rem; line-height: 1.6; text-align: center; margin: 12px 0 0; }
.ria-tool-h3 { color: var(--ria-navy); font-size: 1.1rem; margin: 26px 0 6px; }
.ria-tool-p { color: var(--ria-mut); font-size: .92rem; margin: 0 0 14px; }
.ria-tool-maps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 12px;
	background: #fff;
	border: 1px solid var(--ria-line);
	border-radius: 14px;
	padding: 20px 22px;
	margin-bottom: 14px;
}
.ria-tool-map label { display: block; font-weight: 700; color: var(--ria-navy); font-size: .86rem; margin-bottom: 5px; }
.ria-tool-map label em { color: var(--ria-teal-d); font-style: normal; }
.ria-tool-map select { width: 100%; }
.ria-tool-chk {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: var(--ria-ink);
	font-size: .92rem;
	line-height: 1.5;
	margin: 0 0 16px;
}
.ria-tool-chk input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; accent-color: var(--ria-teal); }
.ria-tool-scroll { overflow-x: auto; border-radius: 0 0 16px 16px; }
.ria-tool-scroll .ria-tool-table { border-radius: 0 0 16px 16px; border-top: 1px solid var(--ria-line); }
@media (max-width: 620px) {
	.ria-tool-maps { padding: 16px; }
	.ria-drop-tool { padding: 26px 16px; }
}
