#asb-booking-form-wrapper{
max-width:1100px;
margin:40px auto;
padding:40px;
background:#fff;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
}

#asb-booking-form-wrapper h2{
text-align:center;
margin-bottom:30px;
}

.asb-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.asb-full{
grid-column:1/-1;
}

.asb-field{
display:flex;
flex-direction:column;
}

.asb-field label{
font-weight:600;
margin-bottom:8px;
}

.asb-field input,
.asb-field select{
width:100%;
height:55px;
padding:12px 16px;
border:1px solid #ddd;
border-radius:12px;
font-size:15px;
}

@media(max-width:768px){

.asb-grid{
grid-template-columns:1fr;
}

#asb-booking-form-wrapper{
padding:20px;
}

}

#asb-booking-form-wrapper{
background:#ffffff !important;
padding:40px !important;
border-radius:20px !important;
max-width:1100px !important;
margin:40px auto !important;
}

#asb-booking-form{
margin-top:20px;
}

#asb-booking-form-wrapper label{
color:#111827 !important;
font-size:15px !important;
font-weight:600 !important;
display:block;
margin-bottom:8px;
}

#asb-booking-form-wrapper h2{
color:#111827 !important;
margin-bottom:30px !important;
}

#asb-booking-form-wrapper input,
#asb-booking-form-wrapper select{
background:#fff !important;
color:#111827 !important;
}





.asb-address-row{
display:flex;
gap:12px;
align-items:center;
}

.asb-address-row input{
flex:1;
}

#asb-location-btn{
height:55px;
padding:0 18px;
border:none;
border-radius:12px;
background:#00cfff;
color:#fff;
font-weight:600;
cursor:pointer;
white-space:nowrap;
}

#asb-location-btn:hover{
opacity:.9;
}

@media(max-width:768px){

.asb-address-row{
flex-direction:column;
}

#asb-location-btn{
width:100%;
}

}



.asb-payment-methods{
display:flex;
gap:30px;
margin-top:10px;
}

.asb-radio{
display:flex;
align-items:center;
gap:10px;
font-weight:600;
cursor:pointer;
}

.asb-checkbox{
display:flex;
align-items:center;
gap:10px;
font-weight:600;
cursor:pointer;
}

.asb-checkbox a{
color:#00cfff;
text-decoration:none;
font-weight:700;
}

.asb-checkbox a:hover{
text-decoration:underline;
}

#asb-submit-btn{
width:100%;
height:60px;
border:none;
border-radius:14px;
background:#00cfff;
color:#fff;
font-size:18px;
font-weight:700;
cursor:pointer;
transition:.3s;
}

#asb-submit-btn:hover{
opacity:.9;
transform:translateY(-2px);
}

@media(max-width:768px){

.asb-payment-methods{
flex-direction:column;
gap:15px;
}

}







/* RADIO FIX */

.asb-radio input[type="radio"]{
width:18px !important;
height:18px !important;
margin:0 !important;
transform:none !important;
appearance:auto !important;
-webkit-appearance:radio !important;
}

/* CHECKBOX FIX */

.asb-checkbox input[type="checkbox"]{
width:18px !important;
height:18px !important;
margin:0 !important;
transform:none !important;
appearance:auto !important;
-webkit-appearance:checkbox !important;
}

/* ALIGNMENT */

.asb-payment-methods{
display:flex;
gap:30px;
align-items:center;
}

.asb-radio,
.asb-checkbox{
display:flex;
align-items:center;
gap:10px;
}

.asb-field.asb-full .asb-checkbox{
margin-top:10px;
}


/* FORCE INLINE RADIO & CHECKBOX */

.asb-payment-methods label{
display:inline-flex !important;
align-items:center !important;
flex-direction:row !important;
gap:10px !important;
margin-right:30px !important;
}

.asb-checkbox{
display:inline-flex !important;
align-items:center !important;
flex-direction:row !important;
gap:10px !important;
}

.asb-radio input,
.asb-checkbox input{
flex:0 0 auto !important;
position:static !important;
top:auto !important;
left:auto !important;
}

/* KILL THEME STYLES */

#asb-booking-form label::before,
#asb-booking-form label::after{
display:none !important;
content:none !important;
}