/* Herts Cupping 5.3.1 | booking-only colour repair.
   Amelia controls its forms and saved per-step palette. The theme styles only
   colours/legibility, never the plugin's dimensions or appointment workflow. */
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"],.am-fs__wrapper) {
  --am-c-primary:#832e2c !important;
  --am-c-success:#27604b !important;
  --am-c-main-bg:#fff !important;
  --am-c-main-heading-text:#17242a !important;
  --am-c-main-text:#33434b !important;
  --am-c-sb-bg:#282426 !important;
  --am-c-sb-text:#fff !important;
  --am-c-inp-bg:#fff !important;
  --am-c-inp-border:#b5c0c3 !important;
  --am-c-inp-text:#17242a !important;
  --am-c-inp-placeholder:#53636b !important;
  --am-c-drop-bg:#fff !important;
  --am-c-drop-text:#17242a !important;
  --am-c-btn-prim:#832e2c !important;
  --am-c-btn-prim-text:#fff !important;
  color-scheme:light;
}
/* Explicit colours are essential. The site previously showed burgundy
   sidebars with burgundy labels, despite variable-only overrides. */
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(.am-fs__sb,.am-fs__sidebar,.am-fs-sb__wrapper) {
  background-color:#282426 !important;
  color:#fff !important;
  --am-c-sb-bg:#282426 !important;
  --am-c-sb-text:#fff !important;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(.am-fs__sb,.am-fs__sidebar,.am-fs-sb__wrapper) :is(.am-fs-sb__step,.am-fs-sb__step-inner,[class*="am-fs-sb__step"]) {
  background-color:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.18) !important;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(.am-fs__sb,.am-fs__sidebar,.am-fs-sb__wrapper) :is(h2,h3,h4,p,span,a,small,label,strong,button,[class*="step-title"],[class*="step-name"],[class*="step-text"],[class*="sb__footer"],[class*="sb__heading"]) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(.am-fs__sb,.am-fs__sidebar,.am-fs-sb__wrapper) :is(svg,svg *) {
  color:#fff !important;
  stroke:currentColor;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(input:not([type=checkbox]):not([type=radio]),textarea,select) {
  color:#17242a !important;
  -webkit-text-fill-color:#17242a !important;
  background:#fff !important;
  border-color:#b5c0c3 !important;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(input,textarea)::placeholder {
  color:#53636b !important;
  -webkit-text-fill-color:#53636b !important;
  opacity:1;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(button.am-button--primary,.am-button--filled,.am-fs__main-footer button.am-button--primary) {
  background:#832e2c !important;
  border-color:#832e2c !important;
  color:#fff !important;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(button.am-button--primary,.am-button--filled,.am-fs__main-footer button.am-button--primary) :is(span,svg) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking,[id^="amelia-v2-booking"]) :is(input,select,textarea,button,a):focus-visible {
  outline:2px solid #832e2c !important;
  outline-offset:3px;
}
body.hc-v153-booking-page .hc-booking-trust-note { color:#504b48; font:500 13px/1.55 Inter,Arial,sans-serif; }
body.hc-v153-booking-page .hc-booking-route-context .hc-booking-change-service { color:#832e2c; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
body.hc-v153-booking-page #booking { scroll-margin-top:95px; }
/* Native, accessible service chooser. Opens without navigating away. */
.hc-booking-dialog {
  width:min(640px,calc(100vw - 32px)); max-height:min(84vh,850px); padding:0;
  border:1px solid #d7cfc7; border-radius:17px; color:#18262b;
  background:#fffdfa; box-shadow:0 24px 70px rgba(23,25,27,.22); overflow:auto;
}
.hc-booking-dialog::backdrop { background:rgba(20,24,26,.56); }
.hc-booking-dialog-head {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 25px 12px;}
.hc-booking-dialog h2 {margin:0;font:750 clamp(19px,3vw,24px)/1.2 Montserrat,Inter,sans-serif;}
.hc-booking-dialog-close {cursor:pointer;border:1px solid #cfd5d7;background:#fff;color:#28353a;border-radius:8px;padding:9px 12px;font:600 13px/1.3 Inter,sans-serif;}
.hc-booking-dialog-intro {margin:0;padding:0 25px 16px;color:#52616a;font:400 14px/1.55 Inter,sans-serif;}
.hc-booking-dialog-options {padding:0 25px 18px;display:grid;gap:17px;}
.hc-booking-dialog-options section {display:grid;gap:7px;}
.hc-booking-dialog-options h3 {margin:0 0 3px;font:750 13px/1.4 Montserrat,sans-serif;color:#6c3333;}
.hc-booking-choice {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid #dbe2e4;border-radius:10px;background:#fff;color:#18262b;text-decoration:none;font:550 14px/1.4 Inter,sans-serif;}
.hc-booking-choice strong {color:#822c2a;font:750 15px/1 Montserrat,sans-serif;white-space:nowrap;}
.hc-booking-choice:hover,.hc-booking-choice:focus-visible {border-color:#8c3431;background:#fbf3f1;outline-offset:2px;}
.hc-booking-dialog-foot {padding:15px 25px 20px;border-top:1px solid #e5dfda;}
.hc-booking-dialog-foot a {color:#82312e;font-weight:650;text-decoration:underline;}
@media(max-width:600px) {
  body.hc-v153-booking-page #booking {scroll-margin-top:72px;}
  body.hc-v153-booking-page :is(#amelia-container,.amelia-v2-booking) :is(input,textarea,select) {font-size:16px !important;}
  .hc-booking-dialog-head {padding:18px 16px 10px;}
  .hc-booking-dialog-intro {padding:0 16px 14px;}
  .hc-booking-dialog-options {padding:0 16px 16px;}
  .hc-booking-dialog-foot {padding:14px 16px 18px;}
}
