/* LA Web Mortgage Calculator */

.law-mc {
	--law-mc-ink: #1a1a2e;
	--law-mc-muted: #6b7280;
	--law-mc-border: #e5e7eb;
	--law-mc-panel: #f3f4f6;
	--law-mc-track: #1a1a2e;
	--law-mc-track-bg: #e5e7eb;

	box-sizing: border-box;
	max-width: 900px;
	margin: 0 auto;
	padding: 32px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--law-mc-ink);
}

.law-mc *,
.law-mc *::before,
.law-mc *::after {
	box-sizing: border-box;
}

.law-mc__title {
	text-align: center;
	font-size: 32px;
	font-weight: 800;
	margin: 0 0 32px;
	color: var(--law-mc-ink);
}

.law-mc__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 32px;
	align-items: start;
}

@media (max-width: 720px) {
	.law-mc__grid {
		grid-template-columns: 1fr;
	}
}

/* Inputs */

.law-mc__field {
	margin-bottom: 28px;
}

.law-mc__field:last-child {
	margin-bottom: 0;
}

.law-mc__field-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.law-mc__field-head label {
	font-weight: 700;
	font-size: 15px;
}

.law-mc__number {
	width: 130px !important;
	max-width: 45% !important;
	padding: 8px 4px !important;
	border: none !important;
	border-bottom: 1px solid #ccc !important;
	border-radius: 0 !important;
	font-size: 15px !important;
	text-align: left !important;
	color: var(--law-mc-ink) !important;
	background: transparent !important;
}

.law-mc__number:focus {
	outline: none !important;
	border-bottom-color: var(--law-mc-ink) !important;
}

.law-mc__range-labels {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: var(--law-mc-muted);
	margin-top: 6px;
}

.law-mc__help {
	font-size: 12px;
	color: var(--law-mc-muted);
	margin: 6px 0 0;
}

/* Slider */

.law-mc__slider {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 6px;
	border-radius: 999px;
	background: var(--law-mc-track-bg);
	outline: none;
	cursor: pointer;
	margin: 0;
}

.law-mc__slider::-webkit-slider-runnable-track {
	height: 6px;
	border-radius: 999px;
	background: transparent;
}

.law-mc__slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--law-mc-ink);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	margin-top: -8px;
	cursor: pointer;
}

.law-mc__slider::-moz-range-track {
	height: 6px;
	border-radius: 999px;
	background: var(--law-mc-track-bg);
}

.law-mc__slider::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--law-mc-ink);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}

.law-mc__slider::-moz-range-progress {
	height: 6px;
	border-radius: 999px;
	background: var(--law-mc-track);
}

/* Chrome/Edge/Safari filled-track effect via background gradient set inline by JS */

/* Results panel */

.law-mc__results {
	background: var(--law-mc-panel);
	border-radius: 0;
	padding: 28px;
}

.law-mc__result-block h3 {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 8px;
}

.law-mc__result-value {
	font-size: 34px;
	font-weight: 800;
	margin: 0 0 10px;
	line-height: 1.1;
}

.law-mc__result-value--small {
	font-size: 18px;
	white-space: nowrap;
	margin-top: 2px;
}

.law-mc__result-note {
	font-size: 13px;
	color: var(--law-mc-muted);
	margin: 0;
	line-height: 1.5;
}

.law-mc__divider {
	border: none !important;
	border-top: 1px solid var(--law-mc-border) !important;
	margin: 24px 0 28px !important;
}

.law-mc__result-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.law-mc__result-row h4 {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 6px;
}

.law-mc__cta {
	margin-top: 28px;
}

.law-mc__cta h3 {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 8px;
}

.law-mc__cta p {
	font-size: 14px;
	color: var(--law-mc-muted);
	margin: 0 0 18px;
	line-height: 1.5;
}

.law-mc__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: auto;
	padding: 14px 28px;
	background: var(--law-mc-ink);
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	border-radius: 999px;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.law-mc__button-label {
	line-height: 1;
}

.law-mc__button-arrow {
	flex-shrink: 0;
	transition: transform 0.15s ease;
}

.law-mc__button:hover,
.law-mc__button:focus {
	background-color: #000;
	opacity: 1;
	color: #fff;
}

.law-mc__button:hover .law-mc__button-arrow,
.law-mc__button:focus .law-mc__button-arrow {
	transform: translateX(3px);
}
