.calculator-page {
  padding-top: 15px !important;
  background: #FFF !important;
  min-height: 18px;
}
.calculator-page-home {
  border-radius: 10px;
}
.calculator-page .main-top-img{
  position: relative;
}
.calculator-page .main-top-img img {
  border-radius: 15px;
  border: 5px solid #eef8fa;
  max-width: 100%;
  width: auto;
  height: auto;
}

.calculator-page .main-top-img .img-title {
  position: absolute;
  bottom: 30px;
  background-color: rgba(8, 83, 165, 0.75);
  width: 83%;
  padding: 20px 20px;
  left: 5px;
}
.calculator-page .main-top-img .img-title h3 {
  color: #fff;
  font-size: 30px;
  line-height: 1.3;
}
.calculator-page .main-top-img .img-title p {
  color: #fff;
  padding-bottom: 0;
  font-size: 17px;
}
.calculator-page .small-top-img{
  padding: 7px;
  border-radius: 15px;
  background-color: #eef8fa;
  display: flex;
  gap:15px;
  align-items: center;
}
.calculator-page .small-top-img img{
  max-width: 230px !important;
}

.calculator-page .small-top-img img,
.calculator-page .small-top-img-2 img{
  max-width: 100%;
  width: auto;
}

.calculator-page .small-top-img h4,
.calculator-page .small-top-img-2 h4{
  font-size: 23px;
  line-height: 1.3;
}
.calculator-page .small-top-img p{
  color: #727272;
  line-height: 1.3;
}
.calculator-page .small-top-img-2{
  padding: 13px 10px;
  border-radius: 15px;
  background-color: #eef8fa;
}
.calculator-page .small-top-img-2 img{
  border-radius: 10px;
}
.calculator-form{
  padding: 10px 10px 30px 10px;
  background: #FFF;
  /* box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.06) */
}
.calculator-card .calculator-form-title {
  background-color: #0853A5;
  margin-left: 0px;
  padding: 15px 15px;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 20px;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}
.calculator-card .calculator-form-title h4{
  color: #fff;
}
.calculator-card .calculator-form-title p{
  color: #fff;
  font-weight: 400;
  font-size: 15px;
}

.calculator-page .row{
  padding-bottom: 0;
}
.calculator-page hr{
  border-top:#e1e1e1 solid;
}
.calculator-page .btn-lg{
  font-size: 17px;
}
.calculator-page .form-label-heading{
  font-weight: 500;
  color: #000;
}
.calculator-page .form-label{
  font-size: 14px;
  color: #000;
  padding: 0px 0px;
}
.calculator-page .form-label-title{
  font-size: 16px;
  color: #000;
  padding: 0px 0px;
}
.calculator-page .form-label-title-bold{
  font-size: 18px;
  color: #0a52a5;
  font-weight: bold;
  padding: 0px 0px;
}
.calculator-page .cal-form-label{
  display: block;
  width: 300px;
}
.calculator-card .form-input-div{
  background-color: #F0F0F0 !important;
  border-radius: 10px;
  padding: 0px 10px;
}
.calculator-card .form-control-input{
  background-color: #F0F0F0 !important;
  border-radius: 10px;
  padding: 10px 30px !important;
}
.calculator-card .form-control{
  background-color: #F0F0F0 !important;
  border-radius: 10px;
}
.car-selector-title {
  width: 100%;
}
.car-selector-drop{
  width: 33%;
  padding: 0px 5px;
}
.car-selector-drop-start{
  padding-left: 15px;
}
.car-selector-drop-end{
  padding-right: 15px;
}
.calculator-card .form-control::placeholder {
  color: #aaa; /* Change this to your desired color */
  opacity: 1; /* Ensures full color visibility */
}
.calculator-card .form-select{
  background-color: #FAFAFA;
  border: 1px solid #EEE;
  border-radius: 10px;
  padding: 10px 10px;
  height: 40px;
}
.quote-form-submit-continue {
  margin-top: 30px;
  background-color: #222 !important;
}
.quote-form-submit-continue:hover {
  background-color: black !important;
}
.quote-form-submit-next {
  font-size: 14px;
  background-color: #222 !important;
}
.quote-form-submit-next:hover {
  background-color: black !important;
}
.form-select:focus{
  box-shadow: none;
}
.calculator-card .form-select:disabled {
    background-color: var(--bs-secondary-bg);
    border: 1px solid #EEE;
}
.calculator-card .form-control:disabled, .calculator-card .form-control:read-only {
    background-color: var(--bs-secondary-bg);
    border: 1px solid #EEE;
}
.calculator-card p{
  padding-bottom: 0.5rem;
  margin-bottom: 0px;
}
.form-check-input {
    width: 1.3em;
    height: 1.3em;
    margin: 0.2em;
    border-color: #000;
}
.red-box-calculator-form,
.black-box-calculator-form {
    width: 12px;         /* size of circle */
    height: 12px;
    border-radius: 50%;
    background: white;
    border-width: 3px;
    border-style: solid;
}

.red-box-calculator-form {
    border-color: red;
}

.black-box-calculator-form {
    border-color: black;
}
.form-input-to-from-icons {
  position: absolute;
  left: 25px;          /* Move whole icon group to the left of input */
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center; /* Centers the line horizontally */
  margin-top: 5px;
}
.form-input-to-from-icons-home {
  position: absolute;
  left: 12px;          /* Move whole icon group to the left of input */
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center; /* Centers the line horizontally */
  margin-top: 5px;
}
.form-input-to-from-icons1 {
  position: absolute;
  left: 25px;          /* Move whole icon group to the left of input */
  display: flex;
  flex-direction: column;
  align-items: center; /* Centers the line horizontally */
  margin-top: 6px;
}
.step-line-vertical {
    width: 2px;          /* line thickness */
    background-color: black;
    height: 65px;        /* adjust vertical length */
    margin: 4px 0;       /* spacing between circles */
}
.step-line-vertical1 {
    width: 2px;          /* line thickness */
    background-color: black;
    height: 25px;        /* adjust vertical length */
    margin: 4px 0;       /* spacing between circles */
}
.input-icon-end {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  pointer-events: none;
}

.inner-box-calculator-form {
  background: #fff;        /* content background */
  padding: 10px;           /* inner spacing */
}

/* .calculator-card .icon-box{
  background-color: #eef8fa;
  border-radius: 7px;
  padding: 20px 25px;
  display: block;
}
.calculator-card .icon-box i{
  margin-bottom: 15px;
}
.calculator-card .icon-box h4{
  font-size: 18px;
}
.calculator-card .icon-box p {
  line-height: 1.5;
  font-weight: 400;
} */

.calculator-form h2{
  font-size: 38px;
}
.calculator-form p{
  font-size: 18px;
  font-weight: 500;
}
.quote-id.bg-green{
  background-color: #e9f9f6;
}
.quote-id.bg-green .quote-number{
  color: #31c7a4;
}
.quote-id{
  width: 100%;
  background: #eef8fa;
  padding:8px 10px;
} 
.quote-id h3{
  font-size: 18px;
  margin-bottom: 0;
} 
.quote-id .quote-number{
  font-size: 18px;
  font-weight: 600;
  color: #0066cc;
}

.shipping-details .detail-box,
.detail-box{
	    border: 1px solid #2882e5;
    background: #fff;
}

.shipping-details .detail-box label{
  font-size: 17px;
  color: #000;
  font-weight: 500;
}
.shipping-details .detail-box h6{
  font-size: 17px;
  color: rgba(33, 37, 41, 0.75);
  font-weight: 600;
}


.shipping-details-icon{}
.shipping-details-icon i{
  font-size: 30px;
}
.shipping-details-icon p {
  font-size: 16px;
  font-weight: 500;
  padding-bottom: 0px;
  line-height: 1;
}
.shipping-details-icon h3{
  font-size: 17px;
}
.shipping-details .detail-box.detail-box-2{
	border: 1px solid #000000;
	padding:12px
}
.shipping-details .detail-box.detail-box-2 label{
	font-size:16px
}
.shipping-details .detail-box.detail-box-2 h6{
	line-height:1.1;
	font-size:15px;
}
.card-outline{
	border: 1px solid #2882e5;
    padding: 20px 15px 15px 15px;
    border-radius: 10px;
    background: #ffffff;
}
.location-from-icon i{
	color:#007f00;
	font-size:25px;
}
.location-to-icon i{
	color:#000000;
	font-size:25px;
}

.price-box{
  border: 1px solid #2882e5;
    padding: 20px 25px;
}
.price-box h2{
  font-size: 33px;
  margin-bottom: 0px;
  border-right: 1px solid #e1e1e1;
}
.features p{
  padding-bottom: 0px;
}
.shipping-map iframe,
.shipping-map img{
  border-radius: 10px;
}

.thank-you-text h2{
  font-size: 33px;
  line-height: 1.5;
}
.thank-you-text .success-icon{
  font-size: 35px;
  color: #078b00;
}
.calculator-page .alert-card,
.calculator-page .alert-warning-card{
  font-size: 19px;
  line-height: 1.5;
  color: #000000;
}
.calculator-page .alert-card i{
  font-size: 50px;
  color: #0c6603;
}
.calculator-page .alert-warning-card i{
  font-size: 50px;
  color: #0c6603;
}
/* Progress bar styles */
.step-progress {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 30px;
}

.step-progress::before {
  content: '';
  background-color: #e9ecef;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 2px;
  width: 100%;
  z-index: 0;
}

.step {
  background: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid #e9ecef;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  flex-direction: column;
}

.step.active {
  border-color: #dc3545;
  color: #dc3545;
}

.step.completed {
  border-color: #28a745;
  background-color: #28a745;
  color: #fff;
}

.step-number {
  font-weight: bold;
}

.step-text {
  position: absolute;
  top: 100%;
  font-size: 12px;
  margin-top: 5px;
}

/* Form step visibility */
.form-step {
  display: none;
}

.form-step.active {
  display: block;
}

/* New Column */
.payment__details__border {
    border: .1rem solid #ccc;
    width: 100%;
}
.payment__details__row {
    justify-content: center;
}
.u-bl-br {
    border-right: 1px solid #000000;
    border-left: 1px solid #000000;
}
.payment__center {
    justify-content: center;
}

.payment__details__header {
     display: flex;
     justify-content: start;
     background-color: #ecf5fe;
     padding: .5rem 1rem;
     border-bottom: .1rem solid #000000;
}
.payment__details {

    overflow: hidden;
    padding: 1rem;
    align-self: stretch;
}
.payment__details__sub--left p {
    font-size: 1.3rem;
    line-height: 2rem;
    text-align: left !important;
    padding-left: 1rem;
}



.shipping-form-2 {
  background-color: #ffffff;
  border: .1rem solid #2882e5;
	border-bottom: none;
}

.shipping-form-2 .form-group{
border-bottom: 1px solid #2882e5;
	display:flex;
	align-items:center;
	padding:15px 15px;
	width:100%;
}

.shipping-form-2 .form-group label {
  font-size: 17px;
    color: #000000;
    min-width: 180px;
    margin-bottom: 0;
    font-weight: 500;
}

.shipping-form-2 .form-control-static {
  font-size: 16px;
	color: #212529;
	padding: 0px 0;
}

.shipping-form-2 [class^="col-"]:nth-child(odd) {
  border-right: 1px solid #2882e5;
}

@media (max-width:767px){
	.shipping-form-2 [class^="col-"]:nth-child(odd){
		border-right:none
	}
}




/* Modal Container */
.calculator-modal {
  background: #fff;
  border-radius: 12px;
}

/* STEPS */

/* Custom styles to ensure the lines perfectly connect the circles */
.step-wrapper {
  background-color: white;
  border-radius: 0.75rem; /* rounded corners */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); /* light shadow */
  max-width: 500px;
  width: 100%;
  margin: 0 auto 3rem; /* center and space between */
  padding: 1.5rem;
}

.form-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 1.5rem;
  text-align: center;
}


/* ============================================== */
/* PROGRESS BAR STYLES               */
/* ============================================== */

/* Ensures the steps are aligned horizontally */
.progress-container {
  width: 180px;
  position: relative;
  z-index: 10;
  display: flex; /* KEY: This makes it horizontal */
  align-items: center;
  justify-content: space-between;
}

/* Base class for the circle */
.step-circle {
  width: 2rem; /* 40px */
  height: 2rem; /* 40px */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: white;
  transition: all 0.3s ease-in-out;
  flex-shrink: 0;
  z-index: 20; /* Higher z-index to overlap the line */
}

/* Active State (Red/Primary Color) */
.active-step {
  background-color: #0853a5; /* Red color */
  box-shadow: 0 4px 12px rgba(8, 83, 165, 0.4);
  transform: scale(1.05);
}

/* Inactive State (Grey Color) */
.inactive-step {
  background-color: #9CA3AF; /* Grey color */
}

/* Line (Default Inactive) */
.step-line {
  height: 0.1rem;
  background-color: #9CA3AF; /* Grey color */
  flex-grow: 1;
  /* Adjust margins to connect center to center */
  margin-left: -1rem; 
  margin-right: -1rem;
  z-index: 10;
  transition: background-color 0.3s ease-in-out;
}

.active-line {
  background-color: #0853a5; /* Red color */
}


/* FORM FIELDS */
.form-input {
  border-radius: 10px !important;
  background: #f5f5f5 !important;
  border: none !important;
  padding-left: 45px !important;
  height: 48px;
}

.input-icon-field {
  position: relative;
}

.input-icon-field .icon-location,
.input-icon-field .icon-calendar {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
}

/* SWITCH BUTTONS */
.toggle-btn-group .toggle-btn {
  background: #f0f0f0;
  border-radius: 20px;
  padding: 6px 20px;
  margin-left: 5px;
}

.toggle-btn.active {
  background: #000 !important;
  color: #fff !important;
}

/* SUMMARY */
.vehicle-summary-card {
  background: #f8f8f8;
  border-radius: 12px;
}

.back-btn {
  background: none;
  border: none;
  font-weight: 600;
  display: flex;
  align-items: center;
}

/* MAP */
.map-container {
  background: #e5e5e5;
  min-height: 600px;
  border-radius: 12px;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .map-container {
    min-height: 300px;
    margin-top: 20px;
  }
}

/* Modal Container */
#cost-calculator-modal {
  width: 90%;
  max-width: 900px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Main Content Grid */
.calculator-content {
  display: flex;
  min-height: 550px;
}

.left-panel {
  flex: 1 1 50%;
  padding: 30px;
  display: flex;
  flex-direction: column;
}

.right-panel {
  flex: 1 1 50%;
  background-color: #e8e8e8;
  position: relative;
}

/* Step Indicator */
.step-indicator {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
}

.step {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  font-size: 0.9rem;
  color: #666;
  background-color: #eee;
  transition: background-color 0.3s, color 0.3s;
}

.step.active {
  background-color: #007bff; /* Blue */
  color: #fff;
}

.step.done {
  background-color: #007bff; /* Blue */
  color: #fff;
}

.step.done::before {
  content: '✓';
}

.step.done:not(.active) {
   background-color: #007bff; /* Blue */
}

.step:not(.done):not(.active) {
  background-color: #eee;
}

.step-label {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.back-arrow {
  font-size: 1.2rem;
  font-weight: 500;
  margin-right: 10px;
  cursor: pointer;
}

.form-title {
   font-size: 1.1rem;
   font-weight: 600;
}

















/* Form Elements */
.form-section {
  margin-bottom: 30px;
}

.form-group-title {
  font-size: 0.9rem;
  font-weight: 500;
  color: #555;
  margin-bottom: 10px;
}

.input-group {
  position: relative;
  margin-bottom: 15px;
}

.input-icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  font-size: 18px;
}

.location-icon {
  width: 15px;
  height: 15px;
}

/* Input and Select Styling */
.app-input {
  width: 100%;
  padding: 12px 15px;
  padding-left: 45px; /* Space for icon */
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  background-color: #f0f0f0; /* Light gray background for inputs */
  box-sizing: border-box;
  color: #333;
  font-weight: 500;
}

.app-input::placeholder {
  color: #999;
  font-weight: 400;
}

.city-input {
  padding-left: 45px;
}

.date-input-group {
  position: relative;
  margin-top: 15px;
  display: flex;
  align-items: center;
}

.date-input-group .app-input {
  width: 100%;
  padding-right: 45px; /* Space for icon */
  padding-left: 15px; /* No icon on left */
}

.calendar-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  pointer-events: none;
  font-size: 18px;
}

.vehicle-selects {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}

.vehicle-selects select {
  flex: 1;
  padding: 12px 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  background-color: #f0f0f0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="[http://www.w3.org/2000/svg](http://www.w3.org/2000/svg)" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><polyline points="6 9 12 15 18 9"></polyline></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
}

/* Toggle Switch (Open/Enclosed) */
.toggle-container {
  margin-top: 25px;
  display: flex;
  justify-content: center;
}

.toggle-switch {
  position: relative;
  width: 100%;
  max-width: 250px;
  height: 45px;
  background-color: #f0f0f0;
  border-radius: 8px;
  display: flex;
  align-items: center;
  padding: 5px;
  cursor: pointer;
}

#shipment-type-input {
  display: none;
}

.toggle-label {
  flex: 1;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  color: #666;
  z-index: 1;
  transition: color 0.3s;
  line-height: 35px;
}

.toggle-slider {
  position: absolute;
  top: 5px;
  left: 5px;
  height: 35px;
  width: calc(50% - 5px);
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s, background-color 0.3s;
}

#shipment-type-input:checked + .toggle-slider {
  transform: translateX(100%);
}

.toggle-switch:has(#shipment-type-input:not(:checked)) .toggle-label#open {
  color: #333;
}
.toggle-switch:has(#shipment-type-input:checked) .toggle-label#enclosed {
  color: #333;
}

/* Buttons */
.btn {
  padding: 12px 25px;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s, box-shadow 0.2s;
  width: 100%;
}

.btn-primary {
  background-color: #ef3340; /* Red */
  color: #fff;
  box-shadow: 0 4px 10px rgba(239, 51, 64, 0.3);
}

.btn-secondary {
  background-color: #222; /* Dark */
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.btn:hover {
  opacity: 0.9;
}

/* Step 2 & 3 Summary Styling (Shipment Details) */
.summary-details {
  padding: 20px 0;
}

.detail-row {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.location-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 10px;
}

.location-dot.from {
  background-color: #222;
}

.location-dot.to {
  border: 2px solid #ef3340;
  background-color: #fff;
}

.location-text {
  font-size: 1rem;
  font-weight: 500;
  color: #333;
}

.shipment-type-text {
  font-size: 0.9rem;
  font-weight: 500;
  color: #666;
  margin: 15px 0 25px 0;
}

.car-detail-box {
  display: flex;
  align-items: center;
  background-color: #f8f8f8;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 30px;
}

.car-icon {
  margin-right: 15px;
  fill: #333;
  width: 24px;
  height: 24px;
}

.car-info span {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: #333;
}

.car-info small {
  font-size: 0.8rem;
  font-weight: 400;
  color: #666;
}

.date-cost-summary {
  margin-top: 10px;
}

.date-cost-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 0.95rem;
  color: #333;
}

.label {
  font-weight: 500;
}

.value {
  font-weight: 600;
}

.total-payable-row {
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px solid #eee;
}

.total-payable-row .label,
.total-payable-row .value {
  font-size: 1.5rem;
  font-weight: 700;
}

/* Step 3 - Contact Form */
.contact-form .app-input {
  padding-left: 15px; /* No icons on contact form */
  background-color: #f0f0f0;
}

.contact-form .input-group {
  margin-bottom: 25px;
}

/* Step 3 - Right Panel "What's Included" */
.whats-included-container {
  margin-top: 40px;
}

.whats-included-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
}

.included-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 0.95rem;
  color: #555;
  font-weight: 500;
}

.included-icon {
  color: #ef3340; /* Red Checkmark */
  font-weight: 700;
  margin-right: 10px;
}

/* Footer */
.footer {
  padding: 20px 30px;
  font-size: 0.8rem;
  color: #777;
  text-align: center;
  border-top: 1px solid #eee;
}

.footer-logo-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

.footer-icon-pair {
  display: flex;
  align-items: center;
  margin-right: 10px;
  color: #555;
}

.icon-svg {
  width: 20px;
  height: 20px;
  margin: 0 2px;
}


/* Map Placeholder - Right Panel */
.map-placeholder {
  width: 100%;
  height: 100%;
  background-color: #f2f0f4;
  /* Placeholder to mimic the map image */
  background-image: url('[https://placehold.co/450x550/f2f0f4/555?text=Route+Map+Placeholder](https://placehold.co/450x550/f2f0f4/555?text=Route+Map+Placeholder)');
  background-size: cover;
  background-position: center;
}

/* Media Queries for Responsiveness (Stack panels on small screens) */
@media (max-width: 768px) {
  .calculator-content {
      flex-direction: column;
      min-height: auto;
  }

  .left-panel {
      padding: 20px;
  }

  .right-panel {
      min-height: 250px;
  }

  .vehicle-selects {
      flex-direction: column;
      gap: 15px;
  }
}

.form-status {
  display: none;                 /* Hidden until JS adds alert classes */
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 20px;
}

/* When JS adds Bootstrap alert-danger classes */
.form-status.alert {
  display: block;
}

.form-status.alert-danger {
  background-color: #ffe6e6;     /* Light red background */
  color: #b30000;                /* Dark red text */
  border: 1px solid #ff9999;     /* Soft border */
}
.back-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.back-btn:hover svg {
  opacity: 0.7;
}
.align-items-center {
  display: flex;
  align-items: center;      /* vertical centering */
  position: relative;
}
.qoute-modal-back-title {
  line-height: 1;
  font-size: 16px;
  font-weight: 800;
  margin-top: 5px;
}
.car-card {
  width: 100%;
  display: flex;
  align-items: center;
  background: #f3f3f3;
  padding: 10px 10px;
  border-radius: 12px;
  min-width: 360px;
}

.car-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
}

.car-icon img {
  width: 36px;
  height: 36px;
}

.car-info .car-title {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  color: #000;
  line-height: 1.2;
}

.car-details {
  font-size: 13px;
  display: flex;
  align-items: center;
  color: #555;
}

.car-details .dot {
  width: 5px;
  height: 5px;
  background: #000;
  border-radius: 50%;
  margin: 0 8px;
}

.top-bottom-margin {
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding-top: 25px !important;
  padding-bottom: 25px !important;
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.delivery-date-format {
  display: flex;
  width: 100%;
}

.payable-title {
  font-weight: 800;
}

.finalTotal {
  font-weight: 800;
  font-size: 22px !important;
}

.finalTotal1 {
  font-weight: 800;
  font-size: 22px !important;
}

.gray-background-form {
  background: #F0F0F0;
  border-radius: 8px;
}

.quote-modal-toggle-container {
  width: 200px;
  background: #f0f0f0;
  border-radius: 30px;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  position: relative;
}

.transport-toggle {
  display: inline-flex;
  background: #f2f2f2;
  padding: 4px;
  border-radius: 40px;
}

.quote-modal-toggle-option {
  width: 100px;
  display: flex;
  padding: 8px 15px;
  border-radius: 30px;
  font-size: 14px;
  cursor: pointer;
  transition: 0.3s ease;
  color: #000;
  justify-content: center;
}

.quote-modal-toggle-option.active {
  background: #000;
  color: #fff;
}
.included-box {
  font-family: "Inter", sans-serif;
  margin-top: 80px;
}

.included-title {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 12px;
  color: #000;
}

.included-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.included-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #111;
  margin-bottom: 8px;
}

.check-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #000;
  font-size: 12px;
  line-height: 14px;
  text-align: center;
  padding: 1px 0 0 0;
}




/* error outline for inputs/selects/textarea */
.field-error {
  border: 1px solid #FF5A3D !important;          /* visible red border */
  box-shadow: 0 0 0 2px rgba(255,90,61,0.12) !important; /* soft glow */
  outline: none !important;                      /* remove native outline */
  transition: box-shadow 150ms ease, border 150ms ease;
}

/* if your inputs use .form-control with inner box-shadow on focus, override it */
.field-error:focus {
  box-shadow: 0 0 0 6px rgba(255,90,61,0.14) !important;
}

/* small tweak for select/textarea */
select.field-error, textarea.field-error {
  background-clip: padding-box; /* prevent border overlap artifacts */
}

/* Make the anchor tag a block element that covers the inputs */
.calculator-form-data .input-link-wrapper {
  display: block; /* Make the anchor tag take up space */
  position: relative; /* Use relative positioning */
  cursor: pointer; /* Give a visual cue that it is clickable */
}

/* Optional: Style the disabled inputs to look less grey/inactive if desired */
.calculator-form-data input:disabled {
  /* Example: Override the default disabled look */
  opacity: 1; 
  background-color: #fff; /* Keep background white */
  border-color: #ccc; /* Keep border color normal */
  color: #333; /* Keep text color readable */
  cursor: pointer; /* Ensure pointer is shown even on the input field */
}


/* Main floating dropdown card */
.zip-results {
    display: none; /* hide dropdown initially */
    position: absolute;
    background: #ffffff;
    width: 100%;
    max-height: 280px;
    overflow-y: auto;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
    z-index: 99999;
    margin-top: 6px;
    padding: 6px 0;
    border: none;
}

/* Hide ugly scrollbar on WebKit */
.zip-results::-webkit-scrollbar {
    width: 6px;
}
.zip-results::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.15);
    border-radius: 10px;
}

/* Each result row */
.zip-option {
    display: flex;
    align-items: flex-start;
    padding: 12px 14px;
    cursor: pointer;
    font-size: 14px;
    color: #222;
    transition: background 0.15s ease;
}

/* Hover effect */
.zip-option:hover {
    background: #f5f7fa;
}

/* Pin icon */
.zip-option::before {
    content: "📍";
    margin-right: 10px;
    font-size: 16px;
    line-height: 1.3;
    opacity: 0.85;
}

/* Address container */
.address-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

/* Main line (street / city) */
.address-text .main {
    font-weight: 500;
    color: #111;
}

/* Secondary line (city, state, country) */
.address-text .sub {
    font-size: 12px;
    color: #777;
    margin-top: 2px;
}

/* Smooth show animation */
.zip-results {
    animation: dropdownFade 0.15s ease;
}

@keyframes dropdownFade {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}




.thankyou-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;      /* horizontal center */
  justify-content: center;  /* vertical center */
  text-align: center;
  min-height: 420px;
}

.thankyou-icon {
  margin-bottom: 20px;
}

.thankyou-icon i {
  font-size: 72px;
  color: #28a745; /* Bootstrap green */
}

.thankyou-title {
  font-weight: 700;
  margin-bottom: 12px;
}

.thankyou-text {
  font-size: 18px;
  color: #6c757d;
  max-width: 600px;
  margin-bottom: 30px;
}

.thankyou-back-btn {
  min-width: 180px;
}