:root {
	--color-primary: #19194B;
	--color-secondary: #EE730F;
	--color-text: #1A1A36;
	--color-dark-blue: #2A2A59;
	--color-off-white: #FAFAFF;
	--color-bg: #FFFFFF;
	--color-border: #E2E8F0;
	--color-success: #28a745;
}
body {
	color: var(--color-text);
	line-height: 1.6;
	overflow-x: hidden;
	margin:0;
}


.header-section {
	text-align: center;
	padding: 30px 20px;
	background: var(--color-primary);
	color: white;
}

.header-section  h2 {
	font-size: 24px !important
	margin-bottom: 10px;
	color:#fff;
}
.header-section img{
	max-width: 250px;
	width: 100%;
}

.description {
	font-size: 16px !important;
	opacity: 0.9;
	max-width: 600px;
	margin: 0 auto;
}
a{color:#EE730F}

.progress-bar {
	display: flex;
	background: var(--color-off-white);
	padding: 0px;
}

.progress-step {
	flex: 1;
	text-align: center;
	padding: 15px 5px;
	position: relative;
	font-weight: 600;
	color: #666;
	font-size: 14px;
}

.progress-step.active {
	color: var(--color-primary);
	background: #e1e8ff;
}

.progress-step::after {
	content: '';
	position: absolute;
	right: -10px;
	top: 0px;
	width: 0px;
	height: 0px;
	border-left: 10px solid #e1e8ff;
	border-top: 25px solid transparent;
	border-bottom: 25px solid transparent;
	z-index: 1;
}

.progress-step.active::after {
	border-left-color: #e1e8ff;
}

.step-content {
	padding: 20px;
	display: none;
}

.step-content.active {
	display: block;
}

.step-content h2 {
	color: var(--color-primary);
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--color-dark-blue);
	font-size: 20px;
}
 .step-content h3 {
	color: var(--color-primary);
	margin-bottom: 20px;
	font-size: 18px;
}

.form-group {
	margin-bottom: 20px;
}

label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--color-primary);
}

input, select {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid var(--color-border);
	border-radius: 5px;
	font-size: 16px;
	transition: border-color 0.3s;
	box-sizing: border-box;
}

input:focus, select:focus {
	border-color: var(--color-dark-blue);
	outline: none;
	box-shadow: 0px 0px 0px 2px rgba(42, 82, 152, 0.2);
}

.button-group {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	gap: 15px;
}

button {
	padding: 12px 20px;
	color: white;
	border: none;
	border-radius: 5px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}

button:hover {
	transform: translateY(-2px);
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
}

button:active {
	transform: translateY(0px);
}

.btn-primary {
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-dark-blue) 100%) !important;
	color:#fff !important;
	border:none !important;

}

.btn-secondary,
.btn-secondary:hover{
	background: transparent !important;
	color:#fff !important;
	padding:0;
	font-weight: 400;
	border:none !important;
}
   .btn-secondary:hover{
	color:var(--color-secondary) !important;
	box-shadow:none !important;
   transform: none !important;
   }

.btn-email {
	background: linear-gradient(135deg, var(--color-secondary) 0%, #f57c00 100%) !important;
	border:none!important;
	color:#fff !important;
}

button:disabled {
	background: #ccc !important;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.result-card {
	background: var(--color-primary);
	color: white;
	padding: 20px;
	border-radius: 8px;
	margin-bottom: 20px;
	text-align: center;
}

.result-title {
	font-size: 16px;
	margin-bottom: 10px;
	opacity: 0.9;
}

.result-value {
	font-size: 32px;
	font-weight: bold;
}

.breakdown {
	margin-top: 20px;
	margin-bottom: 30px;
}

.breakdown h3 {
	color: var(--color-primary);
	margin-bottom: 15px;
	font-size: 20px;
}

.breakdown-table {
	width: 100%;
	border-collapse: collapse;
}

.breakdown-table th, .breakdown-table td {
	padding: 12px 15px;
	text-align: left;
	border-bottom: 1px solid var(--color-border);
}

.breakdown-table th {
	background-color: var(--color-off-white);
	color: var(--color-primary);
}

.breakdown-table tr:last-child {
	font-weight: bold;
	background-color: var(--color-off-white);
}

.savings-note {
	background-color: #e7f5e9;
	color: #2d5a2d;
	padding: 15px;
	border-radius: 5px;
	margin-top: 20px;
	border-left: 4px solid #4CAF50;
	font-size: 14px;
}

.rules-note {
	background-color: #fff3cd;
	color: #856404;
	padding: 15px;
	border-radius: 5px;
	margin-top: 20px;
	border-left: 4px solid #ffc107;
	font-size: 14px;
}

.success-message {
	display: none;
}

.error-message {
	background-color: #f8d7da;
	color: #721c24;
	padding: 15px;
	border-radius: 5px;
	margin-top: 20px;
	display: none;
}

.confirmation-message {
	text-align: center;
	padding: 30px;
	background: var(--color-off-white);
	border-radius: 10px;
	margin: 20px 0;
	border: 2px dashed var(--color-secondary);
}

.confirmation-icon {
	font-size: 50px;
	color: var(--color-success);
	margin-bottom: 15px;
}

.step-content-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	align-items: start;
}

.calculation-section {
	background: var(--color-off-white);
	padding: 25px;
	border-radius: 10px;
	border: 1px solid var(--color-border);
}

.form-section {
	background: white;
	padding: 25px;
	border-radius: 10px;
	border: 1px solid var(--color-border);
}
 .fa-check-green { color: #28a745; margin-right: .5rem; }
  .check-paragraph { display: flex; align-items: flex-start; gap: .35rem; }
  .check-paragraph i { line-height: 1; margin-top: .12rem; }
  
@media (max-width: 1024px) {
	.step-content-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.calculation-section,
	.form-section {
		padding: 20px;
	}
}

@media (max-width: 768px) {
	.header-section {
		padding: 20px 15px;
	}
	
	.header-section h2 {
		font-size: 24px;
	}
	
	.description {
		font-size: 14px;
	}
	
	.progress-step {
		font-size: 12px;
		padding: 12px 5px;
	}
	
	.progress-step::after {
		display: none;
	}
	
	.step-content {
		padding: 15px;
	}
	
	.step-content h2 {
		font-size: 20px !important;
	}
	
	.result-value {
		font-size: 28px;
	}
	
	.breakdown-table th, 
	.breakdown-table td {
		padding: 8px 10px;
		font-size: 14px;
	}
	
	.button-group {
		flex-direction: column;
		gap: 10px;
	}
	
	.button-group button {
		width: 100%;
		text-align: center;
	}
	
	.btn-secondary {
		order: -1;
		text-align: center !important;
		padding: 12px 20px !important;
		background: var(--color-off-white) !important;
		border: 1px solid var(--color-border) !important;
		color: var(--color-text) !important;
	}
	
	.step-content-grid {
		gap: 15px;
	}
	
	.calculation-section,
	.form-section {
		padding: 15px;
	}
}

@media (max-width: 480px) {
	.header-section h2 {
		font-size: 20px;
	}
	
	.progress-step {
		font-size: 11px;
		padding: 10px 3px;
	}
	
	.step-content {
		padding: 10px;
	}
	
	.step-content h2 {
		font-size: 18px !important;
	}
	
	.result-value {
		font-size: 24px;
	}
	
	.breakdown-table {
		font-size: 12px;
	}
	
	.breakdown-table th, 
	.breakdown-table td {
		padding: 6px 8px;
	}
	
	button {
		padding: 10px 15px;
		font-size: 14px;
	}
}
/* Add these styles to your existing CSS */

/* Loader styles */
.btn-loading {
position: relative;
color: transparent !important;
}

.btn-loading::after {
content: '';
position: absolute;
width: 20px;
height: 20px;
top: 50%;
left: 50%;
margin-left: -10px;
margin-top: -10px;
border: 2px solid #ffffff;
border-radius: 50%;
border-top-color: transparent;
animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
to { transform: rotate(360deg); }
}

/* Success message scroll target */
.success-message:target {
animation: highlightSuccess 2s ease-in-out;
}

@keyframes highlightSuccess {
0% { background-color: transparent; }
50% { background-color: rgba(40, 167, 69, 0.1); }
100% { background-color: transparent; }
}

/* Smooth scroll behavior */
html {
scroll-behavior: smooth;
}

/* Disabled state styles */
button:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none !important;
box-shadow: none !important;
}

/* Enhanced success message styles */
.confirmation-message {
position: relative;
overflow: hidden;
}

.confirmation-message::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(45deg, transparent, rgba(255,255,255,0.3), transparent);
transform: rotate(45deg);
animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}
