.nativeBooking{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#17231c;background:#f3f7f4;--green:#245c3c;--green2:#e8f4ec;--border:#d6e1d9}.nativeBooking *{box-sizing:border-box}.nativeBooking{margin:0}.booking-shell{width:min(1120px,calc(100% - 32px));margin:32px auto 64px}.booking-shell.narrow{width:min(720px,calc(100% - 32px))}.booking-header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}.booking-header h1{font-size:clamp(30px,5vw,48px);margin:4px 0 8px;letter-spacing:-.04em}.booking-header p{margin:0;color:#5e6c62;max-width:720px}.booking-kicker{color:var(--green);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.booking-site{display:grid;text-align:right}.booking-site span{color:#68766d}.booking-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 14px 40px rgba(23,50,32,.08);overflow:hidden}.booking-card>section{padding:26px;border-bottom:1px solid var(--border)}.booking-step{display:flex;gap:12px;align-items:start;margin-bottom:18px}.booking-step>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:white;font-weight:800}.booking-step h2{margin:0 0 3px;font-size:20px}.booking-step p{margin:0;color:#718078}.service-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-service-card input{position:absolute;opacity:0}.public-service-card>span{display:grid;gap:7px;height:100%;padding:16px;border:2px solid var(--border);border-radius:13px;cursor:pointer;transition:.16s}.public-service-card>span:before{content:"";width:34px;height:5px;border-radius:9px;background:var(--service-colour)}.public-service-card input:checked+span{border-color:var(--green);background:var(--green2);box-shadow:0 0 0 3px rgba(36,92,60,.12)}.public-service-card small{color:#66746b}.public-service-card b{font-size:12px;color:var(--green)}.booking-date-grid{display:grid;grid-template-columns:220px 1fr;gap:20px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-fields .wide{grid-column:1/-1}.nativeBooking label{display:grid;gap:6px;font-weight:700;font-size:13px}.nativeBooking input,.nativeBooking select,.nativeBooking textarea{width:100%;padding:12px 13px;border:1px solid #cbd8cf;border-radius:9px;font:inherit;background:white}.nativeBooking input:focus,.nativeBooking select:focus,.nativeBooking textarea:focus{outline:3px solid rgba(36,92,60,.13);border-color:var(--green)}.registration-input{text-transform:uppercase}.field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700}.booking-slots{display:flex;flex-wrap:wrap;gap:8px}.booking-slots button{padding:10px 13px;border:1px solid #b9ccc0;border-radius:9px;background:white;font-weight:800;cursor:pointer}.booking-slots button.active{background:var(--green);color:white;border-color:var(--green)}.slot-hint{color:#728078;padding:10px 0}.booking-switches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.booking-switches label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--border);border-radius:10px;font-weight:600}.booking-switches input{width:auto;margin-top:2px}.booking-submit{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 26px;background:#f7faf8}.booking-submit div{display:grid}.booking-submit small{color:#6e7b73}.booking-submit button,.public-button{display:inline-flex;justify-content:center;padding:13px 18px;border:0;border-radius:10px;background:var(--green);color:white;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.booking-alert{padding:14px 16px;margin-bottom:14px;border:1px solid #e6a09a;border-radius:11px;background:#fff0ef;color:#8a2821}.booking-confirmation{padding:40px;text-align:center}.confirmation-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 16px;border-radius:50%;background:var(--green2);color:var(--green);font-size:34px;font-weight:900}.confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;text-align:left}.confirmation-details>div{display:grid;padding:13px;border:1px solid var(--border);border-radius:10px}.confirmation-details small{color:#69776e}@media(max-width:800px){.service-choice-grid{grid-template-columns:1fr 1fr}.booking-date-grid,.booking-fields,.booking-switches{grid-template-columns:1fr}.booking-header{display:grid}.booking-site{text-align:left}.booking-submit{align-items:stretch;flex-direction:column}.booking-submit button{width:100%}}@media(max-width:520px){.service-choice-grid,.confirmation-details{grid-template-columns:1fr}.booking-card>section{padding:20px}.booking-shell{margin-top:16px}}
.chargeable-note{
  display:block;
  margin-top:2px;
  color:#7a4e12;
  font-size:11px;
  font-weight:700;
}

.booking-option-note{
  display:block;
  margin-top:2px;
  color:#68766d;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
}

/* AutoHub v4.2.25 public booking widget */
.booking-embedded{background:transparent}
.booking-embedded .booking-shell{max-width:none;margin:0;padding:10px}
.booking-embedded .booking-header{margin-bottom:12px}
.booking-embedded .booking-header h1{font-size:clamp(25px,4vw,38px)}
.booking-payment-rule{font-style:normal;font-size:10px;color:#68766d;font-weight:650}
.booking-slots button{display:grid;gap:2px;min-width:88px;text-align:center}
.booking-slots button strong{font-size:13px}
.booking-slots button small{font-size:9px;font-weight:650;opacity:.7}
.slot-hold-status{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f4f6f4;color:#617068;font-size:11px}
.slot-hold-status.active{background:#e8f7ed;color:#176b3a;border:1px solid #9cd5ad}
.slot-hold-status.working{background:#fff8df;color:#6d5100;border:1px solid #e6cf8f}
.booking-payment-section{background:#fbfcfb}
.booking-payment-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--border);border-radius:12px;background:white}
.booking-payment-card>div{display:grid;gap:3px}
.booking-payment-card small{color:#68766d}
.booking-payment-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f0f4f1;color:#5b6a60;font-size:10px;font-weight:800;white-space:nowrap}
.booking-submit button:disabled{opacity:.58;cursor:not-allowed}
@media(max-width:650px){.booking-payment-card{align-items:flex-start;flex-direction:column}}

/* AutoHub v4.2.29 — required booking consent and public terms */
.booking-switches label.booking-terms-consent{
  grid-column:1/-1;
  align-items:center;
  padding:15px 16px;
  border:2px solid #d8b348;
  background:#fff9e7;
  box-shadow:0 0 0 3px rgba(216,179,72,.10);
}
.booking-terms-consent input{
  width:20px;
  height:20px;
  margin:0;
  accent-color:var(--green);
  flex:0 0 auto;
}
.booking-terms-consent>span{display:block;line-height:1.45}
.booking-terms-consent>span>strong{
  display:block;
  margin-bottom:2px;
  color:#745600;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.booking-terms-consent a{
  color:var(--green);
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}
.booking-terms-consent:has(input:checked){
  border-color:#79b58b;
  background:#edf8f0;
  box-shadow:0 0 0 3px rgba(36,92,60,.08);
}
.booking-terms-consent:has(input:checked)>span>strong{color:#287044}

.booking-terms-page{margin-top:26px}
.booking-terms-header{align-items:start}
.booking-terms-card{overflow:visible}
.booking-terms-card>section{padding:22px 28px}
.booking-terms-card h2{margin:0 0 9px;font-size:18px;color:#173c28}
.booking-terms-card p{margin:0 0 10px;color:#526159;line-height:1.65}
.booking-terms-card p:last-child{margin-bottom:0}
.booking-terms-notice{
  display:grid;
  gap:4px;
  padding:16px 20px;
  border-bottom:1px solid #e4d39c;
  background:#fff9e7;
  color:#695319;
}
.booking-terms-notice strong{font-size:13px}
.booking-terms-notice span{font-size:11px;line-height:1.45}
.booking-terms-actions{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 28px;
  background:#f7faf8;
  border-radius:0 0 18px 18px;
}
.booking-terms-back{color:var(--green);font-weight:750;text-decoration:none}
@media(max-width:600px){
  .booking-terms-card>section{padding:19px 20px}
  .booking-terms-actions{align-items:stretch;flex-direction:column;padding:18px 20px}
  .booking-terms-back{text-align:center}
}

/* v4.2.49 24-hour slot grouping */
.booking-slots{display:grid;gap:14px}
.booking-slot-group{display:grid;gap:8px;min-width:0}
.booking-slot-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.booking-slot-group>header strong{font-size:13px}
.booking-slot-group>header span{font-size:11px;opacity:.72}
.booking-slot-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}
.booking-slot-buttons button{min-width:0}
.booking-slot-buttons button small{display:block}
@media(max-width:560px){.booking-slot-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v4.2.50 clearer 24-hour public booking */
.booking-24h-notice{
  display:grid;
  gap:4px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid #a7ccb4;
  border-radius:12px;
  background:#eef8f1;
  color:#244b32;
}
.booking-24h-notice strong{font-size:14px}
.booking-24h-notice span{font-size:12px;line-height:1.45}

.booking-slot-collapsible{border:1px solid var(--border);border-radius:11px;padding:0;background:#fbfdfb}
.booking-slot-collapsible>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.booking-slot-collapsible>summary::-webkit-details-marker{display:none}
.booking-slot-collapsible>summary:after{
  content:"⌄";
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
  color:var(--green);
  transition:transform .15s ease;
}
.booking-slot-collapsible[open]>summary:after{transform:rotate(180deg)}
.booking-slot-collapsible>summary strong{font-size:13px}
.booking-slot-collapsible>summary span{margin-left:auto;font-size:11px;opacity:.72}
.booking-slot-collapsible>.booking-slot-buttons{padding:0 11px 11px}

/* v4.2.55 customer booking management */
.manage-booking-shell{padding-bottom:40px}
.booking-manage-message{padding:13px 15px;margin-bottom:16px;border:1px solid #9bc9a9;border-radius:12px;background:#edf8f0;color:#245634;font-weight:700}
.booking-manage-locked{display:grid;gap:4px;margin-top:16px;padding:13px 15px;border:1px solid #d8ddd9;border-radius:12px;background:#f7f8f7}
.booking-manage-locked span{font-size:12px}
.booking-cancel-card{border-color:#e2c7c7}
.public-button-danger{background:#8c2929!important}
.confirmation-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.public-text-link{display:inline-block;margin-top:14px;color:#285c3a;font-weight:700;text-decoration:none}
.manage-booking-shell .booking-card{margin-bottom:16px}

/* v4.3.0 optional customer portal */
.booking-site a{display:block;margin-top:4px;font-weight:800;color:inherit}
.public-button.secondary{background:#eef4f0;color:#23533a;border:1px solid #bdd0c3}
.booking-account-invite{display:grid;gap:3px;margin-top:18px;padding:13px 15px;border:1px solid #bdd7c5;border-radius:11px;background:#eef8f1}
.booking-account-invite span{font-size:12px;color:#4f6657}

/* v4.3.2 optional account during guest booking */
.booking-account-option{margin-top:14px;padding:14px;border:1px solid #bcd4c3;border-radius:12px;background:#eef8f1}
.booking-account-choice{display:flex!important;align-items:flex-start;gap:10px;cursor:pointer}
.booking-account-choice>input{width:auto!important;min-width:16px;margin:3px 0 0;flex:0 0 auto}
.booking-account-choice>span{display:grid;gap:3px}
.booking-account-choice small,.booking-account-option.is-linked span{font-size:12px;color:#52675a}
.booking-account-passwords{margin-top:14px;padding-top:14px;border-top:1px solid #cbded1}
.booking-account-passwords[hidden]{display:none!important}
.booking-password-wrap{display:flex;align-items:stretch;position:relative}
.booking-password-wrap input{padding-right:48px!important}
.booking-password-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:40px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:17px;opacity:.65}
.booking-password-toggle:hover,.booking-password-toggle.is-visible{background:#e4efe8;opacity:1}
.booking-password-rules{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:10px;padding:11px 13px;border:1px solid #cbded1;border-radius:10px;background:#fff}
.booking-password-rules strong{grid-column:1/-1;font-size:12px}
.booking-password-rules span{font-size:12px;color:#7a342f}
.booking-password-rules span:before{content:"○";display:inline-block;width:18px;font-weight:900}
.booking-password-rules span.met{color:#26613d}
.booking-password-rules span.met:before{content:"✓"}
.booking-account-note{margin:10px 0 0;font-size:12px;color:#52675a}
.booking-account-option.is-linked{display:grid;gap:4px}
@media(max-width:560px){.booking-password-rules{grid-template-columns:1fr}}

.booking-field-note{display:block;margin-top:4px;font-size:11px;color:#567061}
.booking-account-success{display:grid;gap:3px;margin:12px 0;padding:12px 14px;border:1px solid #9dcaac;border-radius:10px;background:#eaf7ee;color:#245534}
.booking-account-success span{font-size:12px}

/* v4.3.3 account-option layout correction */
.booking-account-option{display:block;width:100%;min-width:0}
.booking-account-choice{width:100%;min-width:0;justify-content:flex-start}
.booking-account-choice>span{min-width:0;flex:1 1 auto}
.booking-account-choice>span strong,
.booking-account-choice>span small{display:block;white-space:normal;overflow-wrap:normal;word-break:normal}
.booking-account-passwords{width:100%;min-width:0}

/* v4.3.54 — consistent UK registration plate entry */
input.registration-entry-plate{
  min-height:50px;
  border:3px solid #111!important;
  border-radius:5px!important;
  background:#f7da29!important;
  color:#111!important;
  font-size:19px!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
input.registration-entry-plate::placeholder{color:#6e6110!important;font-weight:800;opacity:.78}
input.registration-entry-plate:focus{outline:0;box-shadow:0 0 0 4px rgba(247,218,41,.28)!important}

.nativeBooking{
  --green:#8bdc3c;
  --green2:#17271b;
  --border:#2b3a2f;
  background:#07100a;
  color:#f4f7f4;
}
.nativeBooking .booking-shell{width:100%;max-width:none;margin:0;padding:0 10px 14px}
.nativeBooking .booking-header{display:none}
.nativeBooking .booking-24h-notice{margin:0 0 12px;padding:12px 15px;border:1px solid #315238;border-radius:12px;background:#102016;color:#e7f6e8}
.nativeBooking .booking-24h-notice strong{color:#9ae34d}
.nativeBooking .booking-24h-notice span{color:#c6d3c9}
.nativeBooking .booking-card{border:1px solid #26362b;border-radius:16px;background:#0d1710;box-shadow:0 14px 38px rgba(0,0,0,.28)}
.nativeBooking .booking-card>section{padding:23px 24px;border-bottom:1px solid #26362b;background:#0d1710}
.nativeBooking .booking-step{margin-bottom:16px}
.nativeBooking .booking-step>span{background:#8bdc3c;color:#081009;box-shadow:0 0 0 4px rgba(139,220,60,.10)}
.nativeBooking .booking-step h2{color:#fff}
.nativeBooking .booking-step p{color:#9eada2}
.nativeBooking .public-service-card>span{border-color:#304036;background:#111d14;color:#f5f8f5}
.nativeBooking .public-service-card>span:hover{border-color:#55705d;background:#142219}
.nativeBooking .public-service-card input:checked+span{border-color:#8bdc3c;background:#17291a;box-shadow:0 0 0 3px rgba(139,220,60,.11)}
.nativeBooking .public-service-card small{color:#aab7ad}
.nativeBooking .public-service-card b{color:#9ae34d}
.nativeBooking .booking-payment-rule{color:#839187}
.nativeBooking label,.nativeBooking .field-label{color:#eaf0eb}
.nativeBooking input:not(.registration-entry-plate),.nativeBooking select,.nativeBooking textarea{border-color:#35463a;background:#101b13;color:#f5f7f5}
.nativeBooking input:not(.registration-entry-plate)::placeholder,.nativeBooking textarea::placeholder{color:#718078}
.nativeBooking input:not(.registration-entry-plate):focus,.nativeBooking select:focus,.nativeBooking textarea:focus{outline:3px solid rgba(139,220,60,.12);border-color:#8bdc3c}
.nativeBooking input[type=date]{color-scheme:dark}
.nativeBooking .slot-hint{color:#91a096}
.nativeBooking .booking-slot-collapsible{border-color:#304036;background:#111d14}
.nativeBooking .booking-slot-collapsible>summary{color:#edf3ee}
.nativeBooking .booking-slot-collapsible>summary:after{color:#9ae34d}
.nativeBooking .booking-slots button{border-color:#3b5141;background:#132017;color:#edf3ee}
.nativeBooking .booking-slots button:hover{border-color:#8bdc3c}
.nativeBooking .booking-slots button.active{border-color:#8bdc3c;background:#8bdc3c;color:#081009}
.nativeBooking .slot-hold-status{background:#111d14;color:#aab7ad}
.nativeBooking .slot-hold-status.active{border-color:#426e4c;background:#14291a;color:#a9eab2}
.nativeBooking .slot-hold-status.working{border-color:#77652d;background:#29230f;color:#f1d982}
.nativeBooking .booking-account-option{border-color:#31513a;background:#112218}
.nativeBooking .booking-account-option.is-linked span,.nativeBooking .booking-account-choice small,.nativeBooking .booking-account-note,.nativeBooking .booking-field-note{color:#a4b2a7}
.nativeBooking .booking-switches label{border-color:#304036;background:#111d14;color:#e8eee9}
.nativeBooking .booking-switches input{accent-color:#8bdc3c}
.nativeBooking .booking-terms-consent{border-color:#75652e!important;background:#24200f!important;box-shadow:none!important}
.nativeBooking .booking-terms-consent>span>strong{color:#f0d876}
.nativeBooking .booking-terms-consent a{color:#a3e85e}
.nativeBooking .booking-terms-consent:has(input:checked){border-color:#4c7a55!important;background:#14251a!important}
.nativeBooking .booking-terms-consent:has(input:checked)>span>strong{color:#a9eab2}
.nativeBooking .booking-payment-section{background:#0b150e!important}
.nativeBooking .booking-payment-card{border-color:#304036;background:#111d14}
.nativeBooking .booking-payment-card small{color:#9aa89e}
.nativeBooking .booking-payment-badge{background:#1b3020;color:#a3e85e}
.nativeBooking .booking-submit{padding:18px 24px;border-top:1px solid #2a3a2f;background:#0a140d}
.nativeBooking .booking-submit strong{color:#fff}
.nativeBooking .booking-submit small{color:#94a198}
.nativeBooking .booking-submit button{min-height:48px;padding:13px 22px;background:#8bdc3c;color:#081009;border-radius:10px;box-shadow:0 8px 20px rgba(139,220,60,.13)}
.nativeBooking .booking-submit button:hover{background:#9be74f}
.nativeBooking .booking-alert{border-color:#7e3b35;background:#2a1412;color:#ffb8b0}
@media(max-width:600px){
  .nativeBooking .booking-shell{padding:0 4px 10px}
  .nativeBooking .booking-24h-notice{margin:0 0 8px;padding:10px 12px}
  .nativeBooking .booking-card{border-radius:13px}
  .nativeBooking .booking-card>section{padding:18px 14px}
  .nativeBooking .booking-step{gap:10px;margin-bottom:13px}
  .nativeBooking .booking-step>span{width:29px;height:29px;flex:0 0 29px}
  .nativeBooking .booking-step h2{font-size:18px}
  .nativeBooking .booking-step p{font-size:12px}
  .nativeBooking .service-choice-grid{grid-template-columns:1fr}
  .nativeBooking .public-service-card>span{padding:14px}
  .nativeBooking .booking-submit{padding:15px 14px}
}

/* v0.5.73 native 247 Autocentre booking */
.nativeBooking{--green:#98f500;--green2:#17271b;--border:#2b3a2f;background:transparent;color:#f5f8f6}
.nativeBooking .booking-shell{width:100%;max-width:none;margin:0;padding:0}
.nativeBooking .booking-header{display:none!important}
.nativeBooking .booking-card{margin:0}
