/* V51: targeted contrast correction; loaded last to override legacy global button rules. */
.ths-booking-page .btn,
.ths-booking-page button.btn,
.ths-booking-page a.btn,
.ths-booking-page .care-visual-controls button.btn,
.ths-booking-page .ths-range-controls button.btn,
.ths-booking-page .ths-slot-choice {
  background:#f2f8fc!important;color:#173650!important;-webkit-text-fill-color:#173650!important;
  border:1px solid #a7bed1!important;opacity:1!important;font-weight:750!important;
  text-shadow:none!important;filter:none!important;
}
.ths-booking-page .btn.btn-accent:not(:disabled),
.ths-booking-page button.btn.btn-accent:not(:disabled){
  background:#08766e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-color:#08766e!important;
}
.ths-booking-page button.btn:disabled{
  background:#e5eaf0!important;color:#465b6c!important;-webkit-text-fill-color:#465b6c!important;
  border-color:#c4cdd7!important;opacity:1!important;cursor:not-allowed;
}
.ths-booking-page .ths-range-controls{display:flex;gap:8px;flex-wrap:wrap}
.ths-booking-page .ths-range-controls button[aria-pressed="true"],
.ths-booking-page .ths-slot-choice[aria-pressed="true"]{
  background:#0b5268!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-color:#0b5268!important;box-shadow:0 0 0 2px #94d9d0!important;
}
.ths-booking-page .ths-slot-choice[aria-pressed="true"] *{color:#fff!important;-webkit-text-fill-color:#fff!important}
.ths-booking-page .ths-slot-list{display:grid;gap:8px;max-height:430px;overflow:auto}
.ths-booking-page .ths-slot-choice{display:flex!important;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;white-space:normal;min-height:55px}
.ths-booking-page .ths-slot-choice .small{color:inherit!important;-webkit-text-fill-color:inherit!important}
.ths-booking-page .ths-booking-notice{color:#7f2d20;background:#fff6e9;border:1px solid #edc18e;border-radius:10px;padding:12px;margin:12px 0}
.ths-booking-page .ths-slot-message{color:#28465d!important;-webkit-text-fill-color:#28465d!important;line-height:1.5}
.ths-booking-page .btn:focus-visible{outline:3px solid #17a398!important;outline-offset:3px}
/* Common neutral button surfaces outside promotional dark banners. */
main .card a.btn:not(.btn-primary):not(.btn-accent):not(.btn-dark),
main .card button.btn:not(.btn-primary):not(.btn-accent):not(.btn-dark):not(:disabled){
  color:#18354b;-webkit-text-fill-color:#18354b;
}
main .card a.btn.btn-accent,main .card button.btn.btn-accent:not(:disabled){
  color:#fff;-webkit-text-fill-color:#fff;
}
@media(max-width:767px){
 .ths-booking-page .ths-range-controls button{flex:1 1 100px;min-height:44px}
 .ths-booking-page .ths-slot-list{max-height:340px}
 .ths-booking-page .card{min-width:0}
}
