/* Frontend styles */
.tbp-booking-form{background:#fff;color:#000;padding:15px;border-radius:8px;margin:10px 0; box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.tbp-booking-form h3{color:#000}
.tbp-booking-form .tbp-title, .tbp-booking-form h3.tbp-title{color:#000 !important;background:#fff !important;border-radius:4px;padding:6px 10px;margin:10px 0;font-weight:700}
.tbp-booking-form .tbp-field label{color:#000;font-weight:600}
.tbp-booking-form input, .tbp-booking-form select{background:#fff;color:#000;border:1px solid #ccc;padding:10px;border-radius:6px;width:100%;}
/* Placeholder to black across browsers */
.tbp-booking-form input::placeholder{color:#000}
.tbp-booking-form input::-webkit-input-placeholder{color:#000}
.tbp-booking-form input:-ms-input-placeholder{color:#000}
.tbp-booking-form input::-moz-placeholder{color:#000;opacity:1}
.tbp-booking-form input:-moz-placeholder{color:#000;opacity:1}
/* Ensure readonly/disabled inputs keep black text */
.tbp-booking-form input[readonly], .tbp-booking-form input:disabled{color:#000; opacity:1;}
.tbp-booking-form .tbp-field{margin-bottom:12px}
.tbp-booking-form .tbp-summary{margin-top:12px;font-weight:bold;color:#000}

/* Admin styles */
#tbp-fields h3{margin-top:10px}

/* Summary styling update to make label + count clear */
.tbp-booking-form .tbp-summary {
  font-weight: 600;
}
.tbp-booking-form .tbp-summary .tbp-summary-count {
  font-weight: 700;
}

/* Force date input text to render in solid black even when readonly (flatpickr) */
.tbp-booking-form .tbp-field input.tbp-date,
.tbp-booking-form .tbp-field input.flatpickr-input,
.tbp-booking-form .tbp-field input[name="tbp_start_date"],
.tbp-booking-form .tbp-field input[name="tbp_end_date"] {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important; /* Safari/WebKit when readonly */
  opacity: 1 !important; /* override themes that dim inputs */
}

/* Ensure placeholders are also black across browsers */
.tbp-booking-form .tbp-field input.tbp-date::placeholder,
.tbp-booking-form .tbp-field input.flatpickr-input::placeholder,
.tbp-booking-form .tbp-field input[name="tbp_start_date"]::placeholder,
.tbp-booking-form .tbp-field input[name="tbp_end_date"]::placeholder { color: #000 !important; opacity: 1 !important; }
.tbp-booking-form .tbp-field input.tbp-date::-webkit-input-placeholder,
.tbp-booking-form .tbp-field input.flatpickr-input::-webkit-input-placeholder,
.tbp-booking-form .tbp-field input[name="tbp_start_date"]::-webkit-input-placeholder,
.tbp-booking-form .tbp-field input[name="tbp_end_date"]::-webkit-input-placeholder { color: #000 !important; opacity: 1 !important; }
.tbp-booking-form .tbp-field input.tbp-date::-moz-placeholder,
.tbp-booking-form .tbp-field input.flatpickr-input::-moz-placeholder,
.tbp-booking-form .tbp-field input[name="tbp_start_date"]::-moz-placeholder,
.tbp-booking-form .tbp-field input[name="tbp_end_date"]::-moz-placeholder { color: #000 !important; opacity: 1 !important; }
.tbp-booking-form .tbp-field input.tbp-date:-ms-input-placeholder,
.tbp-booking-form .tbp-field input.flatpickr-input:-ms-input-placeholder,
.tbp-booking-form .tbp-field input[name="tbp_start_date"]:-ms-input-placeholder,
.tbp-booking-form .tbp-field input[name="tbp_end_date"]:-ms-input-placeholder { color: #000 !important; opacity: 1 !important; }

/* Also ensure readonly/disabled inputs stay black */
.tbp-booking-form .tbp-field input[readonly],
.tbp-booking-form .tbp-field input:disabled {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1 !important;
}

/* Total price display styling */
.tbp-total-price {
  margin-top: 20px;
  padding: 15px;
  background: #f8f9fa;
  border: 2px solid #007cba;
  border-radius: 8px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #007cba;
}

.tbp-total-price .tbp-total-amount {
  color: #d63384;
  font-size: 24px;
  font-weight: 800;
}

/* Add some spacing and visual hierarchy */
.tbp-booking-form .tbp-summary {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9ecef;
}