/* Quiet forest-green choices, coordinated with the site's ivory palette. */
.booking-main .booking-panel .consent-row {
  gap: 12px;
  margin-block: 12px;
  padding: 14px 16px;
  border: 1px solid #d5ded4;
  border-radius: 10px;
  background: transparent;
  transition: background-color .18s ease, border-color .18s ease;
}

.booking-main .booking-panel .consent-row label {
  color: #426452;
  font-weight: 500;
  line-height: 1.8;
  cursor: pointer;
}

.booking-main .booking-panel .consent-row [data-slot="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 3px;
  border-color: #6b8574;
  box-shadow: none;
}

.booking-main .booking-panel .consent-row [data-slot="checkbox"][data-state="checked"] {
  background: #426452;
  border-color: #426452;
  color: #fff;
}

.booking-main .booking-panel .consent-row:has([data-state="checked"]) {
  background: #f3f5ee;
  border-color: #b6c7b8;
}

.booking-main .booking-panel .consent-row:focus-within {
  outline: 2px solid #6b8574;
  outline-offset: 3px;
}

.booking-main .booking-panel .payment-choice > label span,
.booking-main .booking-panel .payment-choice > label strong {
  color: #426452;
}

.booking-main .booking-panel .payment-choice > label small,
.booking-main .booking-panel .payment-choice > p {
  color: #586e5f;
}

.booking-main .booking-panel .payment-choice input[type="radio"] {
  accent-color: #426452;
}

@media (max-width: 600px) {
  .booking-main .booking-panel .consent-row {
    padding: 12px;
    gap: 10px;
  }

  .booking-main .booking-panel .consent-row label {
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-main .booking-panel .consent-row { transition: none; }
}
