/**
 * Sidnik EMI Calculator widget. Layout switches (row/stacked) set the --emi-* variables.
 */

.sidnik-emi {
	--emi-gap: 56px;
	--emi-focus: #c38b45;
	--emi-divider-color: rgba(255, 255, 255, 0.16);
	--emi-divider-l: 1px;
	--emi-divider-t: 0px;
	--emi-result-pl: var(--emi-gap);
	--emi-result-pt: 0px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--emi-gap);
}

.sidnik-emi__fields {
	display: flex;
	flex-direction: column;
	flex: none;
	gap: 14px;
	width: 320px;
	max-width: 100%;
}

.sidnik-emi__label {
	display: block;
	margin-bottom: 6px;
}

.sidnik-emi__control {
	display: flex;
	align-items: center;
	background-color: #fff;
	border: 1px solid transparent;
	border-radius: 6px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sidnik-emi__control:focus-within {
	border-color: var(--emi-focus);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--emi-focus) 35%, transparent);
}

/* Beats the theme's generic input[type="text"] styling. */
.sidnik-emi .sidnik-emi__input {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 42px;
	margin: 0;
	padding: 0 14px;
	font: inherit;
	color: #0c2f51;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
}

.sidnik-emi__suffix {
	flex: none;
	padding-inline-end: 14px;
	font-size: 0.9em;
	color: #6b7280;
	white-space: nowrap;
}

.sidnik-emi__hint {
	display: none;
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: #ffb3b3;
}

.sidnik-emi__field.is-invalid .sidnik-emi__control {
	border-color: #e5484d;
}

.sidnik-emi__field.is-invalid .sidnik-emi__hint {
	display: block;
}

.sidnik-emi__result {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	justify-content: center;
	min-width: 0;
	padding-inline-start: var(--emi-result-pl);
	padding-top: var(--emi-result-pt);
	border-inline-start: var(--emi-divider-l) solid var(--emi-divider-color);
	border-top: var(--emi-divider-t) solid var(--emi-divider-color);
}

.sidnik-emi--no-divider .sidnik-emi__result {
	border-color: transparent;
}

.sidnik-emi__result-label {
	margin-bottom: 6px;
}

.sidnik-emi__result-value {
	margin-bottom: 22px;
	font-size: 44px;
	line-height: 1.1;
	white-space: nowrap;
}

.sidnik-emi__result-value.is-updated {
	animation: sidnik-emi-pulse 0.45s ease;
}

@keyframes sidnik-emi-pulse {
	40% {
		transform: scale(1.06);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sidnik-emi__result-value.is-updated {
		animation: none;
	}
}

.sidnik-emi__breakdown {
	display: grid;
	grid-template-columns: auto auto;
	gap: 4px 18px;
	margin: -6px 0 22px;
	font-size: 14px;
}

.sidnik-emi__breakdown dt {
	opacity: 0.8;
}

.sidnik-emi__breakdown dd {
	margin: 0;
	font-weight: 600;
}

.sidnik-emi__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 34px;
	font: inherit;
	line-height: 1.2;
	color: #fff;
	background-color: #b5712d;
	border: 0;
	border-radius: 50px;
	cursor: pointer;
	transition: color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

.sidnik-emi__button svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}
