.main-container {
	background-color: #fff;
	padding: 50px 30px;
	max-width: 900px;
	margin: auto;
}
.lead-phrase {
	font-size: 2.5rem;
	font-weight: 900;
	color: #333;
	margin-bottom: 20px;
}
.subtitle {
	font-size: 1.25rem;
	color: #555;
	margin-bottom: 50px;
}
.btn-primary {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary);
}
.btn-primary:hover {
	background-color: #4cae4c;
	border-color: #4cae4c;
}
.zip-input {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
	border: 2px solid #dee2e6;
	border-radius: 10px;
}
.zip-input:focus {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}
.zip-input::placeholder {
   font-size: 1.0rem;
   color: #aaa;
}

.result-box {
	background-color: #f0fdf0;
	padding: 20px;
	border-radius: 0 10px 10px 0;
}
.result-row {
	border-left: 5px solid var(--bs-primary);
}
.dx-sidebar {
	background-color: #fff;
	border-radius: 15px;
	padding: 20px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.05);
	border-style: solid;
}
