.width-base{
padding: 0 !important;
}
.booking-wrapper{
   background:#fff;
   border-radius:24px;
   overflow:hidden;
   box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.service-side{
   background:var(--color-main2);
   height:100%;
}
.service-image{
   width:100%;
   height:400px;
   object-fit:cover;
   max-width: unset;
}
.service-content{
   padding:30px;
}
.service-badge{
   background:var(--color-main);
   color:#fff;
   padding:8px 16px;
   border-radius:6px;
   display:inline-block;
   font-size:14px;
   margin-bottom:15px;
}
.service-title{
   font-size:32px;
   font-weight:700;
   margin-bottom:15px;
   text-align: center;
}
.service-desc{
   color:#666;
   line-height:1.9;
   margin-bottom:25px;
}
.service-features{
   display:flex;
   flex-direction:column;
   gap:12px;
}
.feature{
   display:flex;
   align-items:center;
   gap:10px;
}
.booking-side{
   padding:40px;
}
.booking-header h4{
   font-weight:700;
   margin-bottom:10px !important;
}
.booking-header small{
   color:#777;
   margin-bottom:30px;
}
.booking-steps{
   display:flex;
   align-items:center;
   justify-content:center;
}
.bs-stepper-circle{
   background-color: #999 !important;
}
.active .bs-stepper-circle{
   background-color: var(--color-main) !important;
}
.form-control{
   border-radius:12px;
   border:1px solid #ddd;
   padding: 10px;
}
.form-control:focus{
   border-color:var(--color-main);
   box-shadow:none;
}
input[type="radio"]:checked{
   box-shadow: unset !important
}
input[type="radio"] {
   appearance: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   width: 30px;
   height: 30px;
   margin-left: 6px !important;
   position: relative;
   border: 2px solid #4a5a3e;
   border-radius: 50%;
   position: relative;
   cursor: pointer;
}
@media(max-width:991px){
   .booking-side{
      padding:25px;
   }
   .service-image{
      height:250px;
   }
}
#map {
   height: 400px;
   border-radius: 12px;
   margin-bottom: 15px;
}
.alert-required {
   display: none;
   position: fixed;
   top: 20px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1000;
   animation: fadeIn 0.5s;
}
input.invalid{
   border: 1px solid red;
}
.select2-dropdown.select2-dropdown--below {
   position: absolute !important;
   text-align:center;
}
.select2-dropdown.select2-dropdown--above {
   position: absolute !important;
   text-align:center;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
   background-color: #4a5a3e;
   color: white;
}
.select2-dropdown.select2-dropdown--above {
   position: absolute !important;
   text-align:center;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
   background-color: #4a5a3e;
   color: white;
}
.select2.select2-container{
   border: 1px solid;
   border-radius: 5px;
   padding-top: 8px;
}
#notifyAvailabilityModal .modal-content {
   border-radius: 15px;
}
#notifyAvailabilityModal .btn-outline-secondary {
   padding: 8px 20px;
   border-color: #ddd;
}
.container_checkmark {
   cursor: pointer;
}

.booking-summary{
   max-width: 850px;
}
.summary-card{
   background:#fff;
   border-radius:20px;
   padding:25px;
   border:1px solid #eee;
   box-shadow:0 10px 30px rgba(0,0,0,.05);
}
.summary-item{
   display:flex;
   align-items:center;
   gap:18px;
   padding:10px 0;
}
.summary-icon{
   width:55px;
   height:55px;
   border-radius:14px;
   background:var(--color-lighter);
   display:flex;
   align-items:center;
   justify-content:center;
   flex-shrink:0;
}
.summary-icon i{
   color: #fff;
   font-size:22px;
}
.summary-label{
   display:block;
   color:#888;
   font-size:13px;
   margin-bottom:4px;
}
.summary-value{
   font-size:17px;
   font-weight:600;
   color:#222;
}
.summary-divider{
   height:1px;
   background:#f0f0f0;
   margin:8px 0;
}