/* ── Cleaning Booking Form – Front-end ── */
.cbf-container{max-width:500px;margin:auto}
.cbf-container form{display:flex;flex-direction:column;gap:14px}

.cbf-container input,
.cbf-container select{
  width:100%;padding:14px;
  border:1.5px solid #069FE4;border-radius:20px;
  font-family:'Poppins',sans-serif;font-size:16px;font-weight:600;
  line-height:1.4em;color:#092C48;background:#F5FCFF;
  outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;
  box-sizing:border-box;transition:background .2s ease
}
.cbf-container input:focus,
.cbf-container select:focus{border-color:#008CBA;box-shadow:0 0 0 2px rgba(6,159,228,.2)}
.cbf-container input::placeholder,
.cbf-container select{color:#092C48;font-family:'Poppins',sans-serif;font-weight:600}
.cbf-container select:disabled,
.cbf-container select[data-locked="true"]{opacity:.45;pointer-events:none;cursor:not-allowed}

.cbf-form-row{display:flex;gap:12px}
.cbf-extras-pets-row{display:flex;justify-content:space-between;gap:60px;align-items:flex-start;padding:16px 0}
.cbf-check-row{display:flex;gap:16px;margin-top:6px;flex-wrap:wrap}

.cbf-check input[type=checkbox],
.cbf-radio input[type=radio]{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  width:20px;height:20px;border:1.5px solid #069FE4;background:#F5FCFF;
  margin:0 8px 0 0;display:inline-block;vertical-align:middle;cursor:pointer
}
.cbf-radio input[type=radio]{border-radius:50%}
.cbf-check input[type=checkbox]:checked,
.cbf-radio input[type=radio]:checked{background:#069FE4}
.cbf-check span,.cbf-radio span{font-size:16px;font-weight:600;color:#092C48;font-family:'Poppins',sans-serif}
.cbf-container label{user-select:none;cursor:pointer}

button.cbf-book-now-btn{
  background:#069FE4;border:none;border-radius:25px;padding:14px;
  color:#fff;font-size:16px;font-weight:600;font-family:'Poppins',sans-serif;
  cursor:pointer;transition:.3s;margin:10px auto 0;display:block;width:60%
}
button.cbf-book-now-btn:hover{background:#008CBA}

.cbf-helper-text{text-align:center;font-size:14px;color:#555;font-family:'Poppins',sans-serif}
.cbf-helper-text a{color:#008CBA;text-decoration:none;font-weight:600}
.cbf-helper-text a:hover{text-decoration:underline}

.cbf-booking-summary{margin-top:30px;padding:20px;border:1.5px solid #069FE4;border-radius:20px;background:#F5FCFF;font-family:'Poppins',sans-serif}
.cbf-booking-summary h2{margin-bottom:15px;font-size:20px;font-weight:600;color:#092C48}
.cbf-summary-details p{margin:6px 0;font-size:16px;font-weight:500;color:#092C48}
.cbf-total-price{margin-top:15px;font-size:18px;font-weight:700;display:flex;justify-content:space-between;color:#092C48}
@media(max-width:768px){.cbf-booking-summary{display:none}}

.cbf-mobile-price-bar{
  display:none;position:fixed;bottom:0;left:0;right:0;
  background:#069FE4;color:#fff;font-family:'Poppins',sans-serif;
  font-size:18px;font-weight:600;padding:14px 20px;
  justify-content:space-between;align-items:center;z-index:99
}
.cbf-mobile-price-bar.show{display:flex}

@media(max-width:991px){
  .cbf-form-row{flex-direction:column}
  .cbf-extras-pets-row{flex-direction:column;gap:24px}
}

.cbf-submit-feedback{
  padding:12px 14px;border:1.5px solid #2ecc71;background:#ecfdf3;color:#0a3d21;
  border-radius:14px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;
}
.cbf-validation-error{
  padding:12px 14px;border:1.5px solid #e74c3c;background:#fef2f2;color:#7f1d1d;
  border-radius:14px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;
  text-align:center;
}
.cbf-required-star{color:#e74c3c;font-weight:700}
.cbf-required-group label{font-family:'Poppins',sans-serif;font-weight:600;font-size:16px;color:#092C48}
