* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.main-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-radius: 2.4rem;
	background-color: var(--white);
	max-width: 100.8rem;
}

/* FORM CONTAINER */

.form-container {
	padding: 4rem;
	display: flex;
	flex-direction: column;
	gap: 4rem;
}

.title-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

form.form-fields {
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
}

.input-text {
	color: var(--slate-900);
}

form label,
form p {
	color: var(--slate-700);
}

.input-container {
	display: flex;
	align-items: center;
	border: 1px solid var(--slate-500);
	border-radius: 4px;
}

/* .input-container input:active.prefix-text {
	background-color: var(--lime);
} */

.prefix-text,
.suffix-text {
	padding: 1.2rem 1.6rem;
	background-color: var(--slate-100);
	color: var(--slate-700);
}

.prefix-text {
	border-bottom-left-radius: 4px;
	border-top-left-radius: 4px;
}

.suffix-text {
	border-bottom-right-radius: 4px;
	border-top-right-radius: 4px;
}

.input-container input {
	padding: 0 1.6rem;
	cursor: pointer;
	border: none;
	outline: none;
	flex-grow: 1;
}

.input-container:hover {
	cursor: pointer;
	border: 1px solid #133041;
}

.option label {
	color: var(--slate-900);
}

.mortgage-amount {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.mortgage-term-rate {
	display: flex;
	justify-content: space-between;
	gap: 2.4rem;
}

.mortgage-term,
.mortgage-rate {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.mortgage-term-rate input {
	width: 100%;
}

.mortgage-type {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}

.option label,
.option input {
	cursor: pointer;
}

.option {
	padding: 1.6rem;
	display: flex;
	gap: 1.6rem;
	align-items: center;
	border: 1px solid var(--slate-500);
	border-radius: 4px;
}

input[type='radio'] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	accent-color: var(--lime);
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--slate-700);
	border-radius: 50%;
	outline: none;
	position: relative;
}

input[type='radio']:checked {
	border-color: var(--lime);
}

input[type='radio']:checked::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: var(--lime);
}

.option:hover {
	cursor: pointer;
	border: 1px solid var(--lime);
}

/* RESULTS CONTAINER */
.results-container-empty,
.results-container-completed {
	background-color: var(--slate-900);
	border-radius: 2.4rem;
	border-top-left-radius: 0rem;
	border-bottom-left-radius: 8rem;
}

.results-container-empty {
	padding: 4rem;
	display: flex;
	text-align: center;
	gap: 1.4rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.results-container-empty h2,
.results-container-completed h2 {
	color: var(--white);
}

.results-container-empty p,
.results-container-completed p {
	color: var(--slate-300);
}

.results-container-completed {
	padding: 4rem;
	display: flex;
	flex-direction: column;
	gap: 4rem;
}

.title-container {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}

.results {
	padding: 3.2rem;
	border-radius: 8px;
	border-top: 4px solid var(--lime);
	background-color: rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	gap: 3.2rem;
}

.monthly,
.total {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

.monthly span {
	color: var(--lime);
}

.total span {
	color: var(--white);
}

.attribution {
	font-size: 11px;
	text-align: center;
}
