/* ==========================================================================
   Savings Calculator
   Interactive slider-based calculator with live results.
   Enqueued on pages that contain the greenup/calculator pattern.
   ========================================================================== */

@layer components {
	.greenup-calculator__inner {
		display: grid;
		gap: var(--wp--preset--spacing--50);
	}

	.greenup-calculator__title {
		font-family: var(--wp--preset--font-family--heading);
		font-size: var(--wp--preset--font-size--xx-large);
		color: var(--wp--preset--color--primary);
		margin: 0;
	}

	.greenup-calculator__field {
		display: grid;
		gap: var(--wp--preset--spacing--30);
	}

	.greenup-calculator__label {
		font-weight: 600;
		font-size: var(--wp--preset--font-size--medium);
	}

	.greenup-calculator__label output {
		color: var(--wp--preset--color--primary);
		font-weight: 700;
		font-size: var(--wp--preset--font-size--large);
	}

	.greenup-calculator__slider {
		inline-size: 100%;
		block-size: 2rem;
		-webkit-appearance: none;
		appearance: none;
		background: transparent;
		cursor: pointer;
	}

	.greenup-calculator__slider::-webkit-slider-runnable-track {
		block-size: 6px;
		background: color-mix(
			in oklch,
			var(--wp--preset--color--primary) 20%,
			transparent
		);
		border-radius: 9999px;
	}

	.greenup-calculator__slider::-moz-range-track {
		block-size: 6px;
		background: color-mix(
			in oklch,
			var(--wp--preset--color--primary) 20%,
			transparent
		);
		border-radius: 9999px;
	}

	.greenup-calculator__slider::-webkit-slider-thumb {
		-webkit-appearance: none;
		appearance: none;
		margin-block-start: -9px;
		inline-size: 24px;
		block-size: 24px;
		border-radius: 9999px;
		background: var(--wp--preset--color--accent);
		border: 3px solid var(--wp--preset--color--base);
		box-shadow: 0 2px 6px rgb(0 0 0 / 0.15);
		cursor: grab;
	}

	.greenup-calculator__slider::-moz-range-thumb {
		inline-size: 24px;
		block-size: 24px;
		border-radius: 9999px;
		background: var(--wp--preset--color--accent);
		border: 3px solid var(--wp--preset--color--base);
		box-shadow: 0 2px 6px rgb(0 0 0 / 0.15);
		cursor: grab;
	}

	.greenup-calculator__slider:focus-visible {
		outline: 2px solid var(--wp--preset--color--primary);
		outline-offset: 4px;
		border-radius: 4px;
	}

	.greenup-calculator__scale {
		display: flex;
		justify-content: space-between;
		font-size: var(--wp--preset--font-size--small);
		color: var(--wp--preset--color--muted);
	}

	.greenup-calculator__results {
		display: grid;
		gap: var(--wp--preset--spacing--30);
		padding: var(--wp--preset--spacing--50);
		background: var(--wp--preset--color--base);
		border-radius: 0.5rem;
		margin-block-start: var(--wp--preset--spacing--30);
	}

	.greenup-calculator__row {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: var(--wp--preset--spacing--40);
		flex-wrap: wrap;
	}

	.greenup-calculator__row strong {
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--large);
	}

	.greenup-calculator__row--total {
		padding-block-start: var(--wp--preset--spacing--30);
		border-block-start: 2px solid
			color-mix(in oklch, var(--wp--preset--color--primary) 20%, transparent);
		font-weight: 700;
	}

	.greenup-calculator__row--total strong {
		font-size: var(--wp--preset--font-size--xx-large);
		color: var(--wp--preset--color--accent);
	}
}
