/**
 * Calculadora Omisos SAT — estilos scoped (#0D1B3E / #C9A040).
 */

.sat-om-calc {
	--sat-accent: #c9a040;
	--sat-secondary: #0d1b3e;
	--sat-text: #0d1b3e;
	--sat-text-sec: #3d4f6f;
	--sat-text-ter: #6b7a99;
	--sat-bg-card: #f2f5fa;
	--sat-accent-soft: rgba(201, 160, 64, 0.12);
	--sat-radius: 10px;
	--sat-focus: 0 0 0 3px rgba(201, 160, 64, 0.45);
	box-sizing: border-box;
	padding: 1.5rem 0 1rem;
	color: var(--sat-text);
	font-family: inherit;
	line-height: 1.5;
}

.sat-om-calc *, .sat-om-calc *::before, .sat-om-calc *::after { box-sizing: inherit; }

.sat-om-calc__sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.sat-om-calc__subtitle {
	font-size: 0.8125rem; font-weight: 600; color: var(--sat-secondary);
	margin: 0 0 1.75rem; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.4;
}

.sat-om-calc__sliders {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem 2rem; margin: 0 0 2rem; padding: 0; border: 0;
}

.sat-om-calc__slider-header {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: 0.75rem; margin-bottom: 0.5rem;
}

.sat-om-calc__slider-header label {
	font-size: 0.875rem; font-weight: 500; color: var(--sat-text-sec); cursor: pointer;
}

.sat-om-calc__value {
	font-size: 0.9375rem; font-weight: 700; color: var(--sat-accent);
	font-variant-numeric: tabular-nums; min-width: 2.5rem; text-align: right;
}

.sat-om-calc__range {
	display: block; width: 100%; height: 2.75rem; margin: 0; padding: 0.75rem 0;
	cursor: pointer; accent-color: var(--sat-accent); background: transparent;
	-webkit-tap-highlight-color: transparent;
}

.sat-om-calc__range:focus { outline: none; }
.sat-om-calc__range:focus-visible { outline: none; box-shadow: var(--sat-focus); border-radius: 4px; }

.sat-om-calc__cards {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: 1rem; margin-bottom: 1.75rem;
}

@media (max-width: 640px) { .sat-om-calc__cards { grid-template-columns: 1fr; } }

.sat-om-calc__card {
	background: var(--sat-bg-card); border-radius: var(--sat-radius);
	padding: 1.125rem 1rem; text-align: center;
	border: 1px solid rgba(13, 27, 62, 0.08);
}

.sat-om-calc__card--highlight {
	background: linear-gradient(180deg, var(--sat-accent-soft) 0%, var(--sat-bg-card) 100%);
	border: 2px solid var(--sat-accent);
	box-shadow: 0 4px 14px rgba(13, 27, 62, 0.08);
}

.sat-om-calc__card-label {
	font-size: 0.75rem; font-weight: 500; color: var(--sat-text-sec);
	margin: 0 0 0.375rem; line-height: 1.3;
}

.sat-om-calc__card-value {
	font-size: 1.375rem; font-weight: 700; margin: 0;
	font-variant-numeric: tabular-nums; line-height: 1.2;
}

.sat-om-calc__card--highlight .sat-om-calc__card-value { font-size: 1.5rem; }
.sat-om-calc__card-value--accent { color: var(--sat-accent); }
.sat-om-calc__card-value--secondary { color: var(--sat-secondary); }

.sat-om-calc__legend {
	display: flex; flex-wrap: wrap; gap: 1rem 1.5rem;
	margin-bottom: 0.75rem; font-size: 0.8125rem; color: var(--sat-text-sec);
}

.sat-om-calc__legend-item { display: inline-flex; align-items: center; gap: 0.375rem; }
.sat-om-calc__legend-swatch { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }
.sat-om-calc__legend-swatch--accent { background: var(--sat-accent); }
.sat-om-calc__legend-swatch--secondary { background: var(--sat-secondary); }

.sat-om-calc__chart-wrap {
	position: relative; width: 100%; height: 240px; padding: 0.75rem;
	background: var(--sat-bg-card); border-radius: var(--sat-radius);
	border: 1px solid rgba(13, 27, 62, 0.08);
}

.sat-om-calc__chart { display: block; width: 100% !important; height: 100% !important; }

.sat-om-calc__disclaimer {
	font-size: 0.6875rem; color: var(--sat-text-ter);
	margin: 1rem 0 0; line-height: 1.5; max-width: 65ch;
}

@media (prefers-reduced-motion: reduce) {
	.sat-om-calc__card { transition: none; }
}
