.ops-booking-protection-info { margin: 0 0 16px; }
#staff-booking-form .ops-silent-booking-choice { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid #ccd6ce; border-radius:12px; background:#f7faf7; cursor:pointer; }
#staff-booking-form .ops-silent-booking-choice input { appearance:auto; flex:0 0 22px; width:22px; height:22px; min-height:22px; margin:2px 0 0; padding:0; accent-color:#315e43; }
.ops-silent-booking-choice span { display:grid; gap:6px; }
#staff-booking-form .ops-sms-permission-choice { align-items:center; padding:10px 12px; }
#staff-booking-form .ops-staff-booking-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; }
#staff-booking-form .ops-staff-booking-actions > label { flex:1 1 240px; margin:0; }
#staff-booking-form .ops-staff-booking-actions > button { flex:1 1 190px; min-height:44px; }
.ops-silent-booking-choice strong { color:#263e2e; font-size:16px; }
.ops-silent-booking-choice small { color:#56665a; font-size:14px; line-height:1.5; font-weight:400; }
#staff-booking-form .ops-silent-booking-choice:has(input:checked) { border-color:#315e43; background:#eaf4ec; box-shadow:0 0 0 1px #315e43; }
#staff-booking-form .ops-silent-booking-choice:focus-within { outline:2px solid #315e43; outline-offset:3px; }
.ops-booking-protection-info > summary { display:flex; align-items:center; justify-content:flex-end; gap:8px; width:fit-content; margin-left:auto; min-height:32px; padding:2px; list-style:none; cursor:pointer; color:#59645c; font-size:12px; font-weight:500; }
.ops-booking-protection-info > summary::-webkit-details-marker { display:none; }
.ops-booking-protection-info > summary:focus-visible { outline:2px solid #39674d; outline-offset:3px; border-radius:6px; }
.ops-booking-info-icon { display:grid; place-items:center; width:24px; height:24px; border:1px solid #91a497; border-radius:50%; font:600 15px Georgia,serif; color:#365740; background:#f5f8f4; }
.ops-booking-protection-info[open] .ops-booking-info-icon { background:#315e43; color:white; border-color:#315e43; }
.ops-booking-protection-info .ops-protection-guidance { margin:8px 0 0; }
#staff-booking-form .ops-rbk-choice { display:flex; align-items:center; justify-content:space-between; gap:18px; justify-self:start; min-width:124px; min-height:44px; box-sizing:border-box; padding:10px 14px; border:1px solid #d0d8d0; border-radius:10px; color:#37473c; background:#fff; cursor:pointer; font-size:14px; font-weight:650; }
#staff-booking-form .ops-rbk-choice input { appearance:auto; width:20px; height:20px; margin:0; padding:0; accent-color:#315e43; cursor:pointer; }
#staff-booking-form .ops-rbk-choice:has(input:checked) { border-color:#699778; background:#eef6ef; }
#staff-booking-form .ops-rbk-choice:focus-within { outline:2px solid #39674d; outline-offset:2px; }
@media(min-width:701px) {
  #staff-booking-form .ops-compact-datetime { padding:16px; border-radius:12px; background:#f8faf7; }
  #staff-booking-form .ops-compact-datetime legend { font-size:14px; font-weight:650; }
  #staff-booking-form .ops-compact-datetime-grid { grid-template-columns:minmax(155px,1fr) minmax(228px,1.25fr); gap:16px; align-items:end; }
  #staff-booking-form .ops-compact-datetime label { gap:7px; font-size:11px; font-weight:600; text-transform:none; letter-spacing:0; }
  #staff-booking-form .ops-compact-time-field > span { display:none; }
  #staff-booking-form .ops-compact-time-picker { grid-template-columns:minmax(58px,1fr) 6px minmax(58px,1fr) minmax(74px,1.15fr); gap:6px; }
  #staff-booking-form .ops-compact-time-picker > b { padding-top:20px; font-weight:400; }
  #staff-booking-form .ops-compact-datetime input, #staff-booking-form .ops-compact-datetime select { font-size:15px; font-weight:500; }
  #staff-booking-form .ops-compact-date input, #staff-booking-form .ops-time-period select { height:48px; min-height:48px; padding:9px; }
  #staff-booking-form .ops-time-wheel { height:48px; box-sizing:border-box; grid-template-columns:minmax(0,1fr) 22px; grid-template-rows:23px 23px; }
  #staff-booking-form .ops-time-wheel input { grid-column:1; grid-row:1 / 3; height:46px; }
  #staff-booking-form .ops-time-wheel button { grid-column:2; height:23px; border-left:1px solid #e0e5dd; font-size:8px; }
  #staff-booking-form .ops-time-wheel button:first-child { grid-row:1; border-bottom:1px solid #e0e5dd; }
  #staff-booking-form .ops-time-wheel button:last-child { grid-row:2; }
  #staff-booking-form .ops-compact-datetime > small { margin-top:12px; font-size:11px; font-weight:400; color:#748075; }
}
.ops-visit-checkout-action { margin-top:12px; }
.ops-visit-checkout-action > button { width:100%; min-height:46px; border:0; border-radius:10px; background:#233b29; color:#fff; font-size:15px; font-weight:600; }
.ops-visit-checkout-action > button:hover { background:#182c1d; }
.ops-appointment-primary-actions:has(> :nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
