/* Chauffeur Booking form — matches the approved black/gold design (booking.html).
   Every colour is a CSS variable so the Elementor Style tab can re-theme it. */
.chb{
  --chb-accent:#C9A45C; --chb-accent-lt:#E8D09A; --chb-on-accent:#0A0A0C;
  --chb-bg:#07070A; --chb-panel:#0E0E14; --chb-panel-2:#121219;
  --chb-text:#F4F1EA; --chb-text-2:#B3AEA4; --chb-muted:#7C776F;
  --chb-line:rgba(255,255,255,.07); --chb-radius:3px;
  --chb-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --chb-body:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --chb-side:376px; --chb-gap:34px; --chb-sticky:112px;
  --chb-a05:color-mix(in srgb,var(--chb-accent) 5%,transparent);
  --chb-a16:color-mix(in srgb,var(--chb-accent) 16%,transparent);
  --chb-a35:color-mix(in srgb,var(--chb-accent) 35%,transparent);
  font-family:var(--chb-body);color:var(--chb-text);font-size:15px;line-height:1.6;
}
.chb *,.chb *::before,.chb *::after{box-sizing:border-box}
.chb h3,.chb h4,.chb p{margin:0}
.chb h3:not(#chb),.chb h4:not(#chb){text-transform:none;letter-spacing:0}
.chb [hidden]{display:none!important}
.chb button,.chb input,.chb select,.chb textarea{font:inherit;color:inherit}
.chb svg.chb-i{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chb .chb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Layout */
.chb-grid{display:flex;gap:var(--chb-gap);align-items:flex-start}
.chb.side-left .chb-grid{flex-direction:row-reverse}
.chb-main{flex:1 1 62%;min-width:0}
.chb-side{flex:0 0 var(--chb-side);position:sticky;top:var(--chb-sticky)}

/* Panels */
.chb-panel{background:var(--chb-panel);border:1px solid var(--chb-line);border-radius:var(--chb-radius);padding:38px 34px;margin-bottom:24px}
.chb-panel:last-child{margin-bottom:0}
.chb-head{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.chb-n{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--chb-accent);border-radius:50%;color:var(--chb-accent);font-family:var(--chb-display);font-size:18px}
.chb-head h3:not(#chb){font-family:var(--chb-display);font-size:22px;font-weight:500;line-height:1.2;color:var(--chb-text)}
.chb-sub{font-size:12.5px;color:var(--chb-muted);margin-top:2px}
.chb-hide-n .chb-n{display:none}

/* Fields */
.chb-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;position:relative}
.chb-field:last-child{margin-bottom:0}
.chb-label{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--chb-muted)}
.chb-label em{font-style:normal;text-transform:none;letter-spacing:0}
.chb-row{display:flex;gap:14px}
.chb-row>*{flex:1;min-width:0}
.chb-row>.chb-field{margin-bottom:16px}
.chb-input:not(#chb){width:100%;background:var(--chb-bg);border:1px solid var(--chb-line);border-radius:var(--chb-radius);padding:14px 15px;font-size:14.5px;color:var(--chb-text);transition:border-color .25s,background .25s;min-height:50px}
.chb-input:not(#chb)::placeholder{color:var(--chb-muted);opacity:.75}
.chb-input:focus:not(#chb){outline:none;box-shadow:none;border-width:1px;border-style:solid;border-color:var(--chb-a35);background:var(--chb-panel)}
textarea.chb-input:not(#chb){resize:vertical;min-height:110px}
select.chb-input:not(#chb){appearance:none;cursor:pointer;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--chb-accent) 50%),linear-gradient(135deg,var(--chb-accent) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.chb-input[type=date]:not(#chb),.chb-input[type=time]:not(#chb){color-scheme:dark}
.chb-ico{position:relative}
.chb-ico>svg.chb-i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--chb-accent);pointer-events:none}
.chb-ico .chb-input:not(#chb){padding-left:42px}
.chb-ico .chb-x:not(#chb){font-family:inherit;line-height:1.3;box-shadow:none;text-decoration:none;min-height:0;position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--chb-muted);cursor:pointer;font-size:20px;line-height:1;padding:4px 6px}
.chb-ok .chb-input:not(#chb){border-color:var(--chb-a35)}

/* Address suggestions */
.chb-ac{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:var(--chb-panel-2);border:1px solid var(--chb-a35);border-radius:var(--chb-radius);max-height:290px;overflow:auto;display:none;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.chb-ac.open{display:block}
.chb-ac button:not(#chb){font-family:inherit;line-height:1.3;box-shadow:none;text-decoration:none;min-height:0;display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--chb-line);padding:12px 14px;font-size:13.5px;color:var(--chb-text-2);cursor:pointer}
.chb-ac button:last-child:not(#chb){border-bottom:0}
.chb-ac button:hover:not(#chb),.chb-ac button.on:not(#chb){background:var(--chb-a05);color:var(--chb-text)}
.chb-ac button svg:not(#chb){color:var(--chb-accent);margin-top:3px}
.chb-ac-s{padding:12px 14px;font-size:12.5px;color:var(--chb-muted);font-style:italic}
.chb-ac-h{padding:9px 14px 5px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--chb-muted)}

/* Tabs */
.chb-tabs:not(#chb){display:flex;border:1px solid var(--chb-line);border-radius:var(--chb-radius);overflow:hidden;margin-bottom:28px}
.chb-tab:not(#chb){border-radius:0;font-family:inherit;line-height:1.3;box-shadow:none;text-decoration:none;min-height:0;flex:1;padding:18px 20px;background:var(--chb-panel);border:0;border-right:1px solid var(--chb-line);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--chb-muted);display:flex;align-items:center;justify-content:center;gap:10px;transition:.25s}
.chb-tab:last-child:not(#chb){border-right:0}
.chb-tab.on:not(#chb){background:var(--chb-accent);color:var(--chb-on-accent)}
.chb-tab:not(.on):hover:not(#chb){color:var(--chb-text);background:var(--chb-panel-2)}
.chb-pane{display:none}
.chb-pane.on{display:block}

/* Stops */
.chb-stop .chb-ico{display:flex;gap:8px}
.chb-add:not(#chb){font-family:inherit;line-height:1.3;box-shadow:none;text-decoration:none;min-height:0;background:none;border:1px dashed var(--chb-a35);color:var(--chb-accent);border-radius:var(--chb-radius);padding:11px 16px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:8px;align-items:center;margin-bottom:16px}
.chb-add:hover:not(#chb){border-style:solid;background:var(--chb-a05)}

/* Availability */
.chb-avail{font-size:13.5px;min-height:22px;margin:4px 0 0;color:var(--chb-text-2)}
.chb-avail.ok{color:var(--chb-accent)}
.chb-avail.bad{color:#E07B6A}
.chb-busy{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chb-busy span{font-size:12px;padding:5px 10px;border:1px solid var(--chb-line);border-radius:20px;color:var(--chb-muted);text-decoration:line-through}
.chb-notice{display:flex;gap:17px;padding:24px 26px;border:1px solid var(--chb-a35);border-radius:var(--chb-radius);background:var(--chb-a05);margin-top:22px}
.chb-notice>svg.chb-i{width:22px;height:22px;color:var(--chb-accent);margin-top:3px}
.chb-notice h4:not(#chb){color:var(--chb-text);font-family:var(--chb-display);font-size:19px;font-weight:500;margin-bottom:7px}
.chb-notice p{font-size:14px;line-height:1.75;color:var(--chb-text-2)}

/* Service cards */
.chb-svcs{display:flex;flex-direction:column;gap:14px}
.chb-svc{display:flex;align-items:center;gap:20px;padding:18px;cursor:pointer;border:1px solid var(--chb-line);border-radius:var(--chb-radius);background:var(--chb-bg);transition:.25s}
.chb-svc:hover{border-color:var(--chb-a35)}
.chb-svc input{position:absolute;opacity:0;pointer-events:none}
.chb-svc.on{border-color:var(--chb-accent);background:var(--chb-a05)}
.chb-svc-ic{width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--chb-a35);border-radius:50%;color:var(--chb-accent);background:var(--chb-a05)}
.chb-svc-ic svg,.chb-svc-ic i{width:20px;height:20px;font-size:20px}
.chb-svc-ic svg{fill:currentColor}
.chb-svc-ic svg.chb-i{fill:none}
.chb-svc-t{flex:1;min-width:0}
.chb-svc-t strong{display:block;font-family:var(--chb-display);font-size:20px;font-weight:500;line-height:1.25}
.chb-svc-t span{display:block;font-size:12.5px;color:var(--chb-muted);margin-top:4px}
.chb-badge{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--chb-accent);white-space:nowrap}
.chb-check{width:20px;height:20px;border:1px solid var(--chb-a16);border-radius:50%;flex:none;position:relative}
.chb-svc.on .chb-check{border-color:var(--chb-accent);background:var(--chb-accent)}
.chb-svc.on .chb-check::after{content:"";position:absolute;left:6px;top:2.5px;width:5px;height:10px;border-right:2px solid var(--chb-on-accent);border-bottom:2px solid var(--chb-on-accent);transform:rotate(45deg)}
.chb-car{margin-top:18px;cursor:default;border-color:var(--chb-a35);background:var(--chb-a05)}
.chb-car img{width:104px;height:70px;object-fit:cover;border-radius:2px;flex:none}

/* Extras */
.chb-extras{display:flex;flex-wrap:wrap;gap:13px}
.chb-extra{flex:1 1 calc(50% - 7px);min-width:240px;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--chb-line);border-radius:var(--chb-radius);cursor:pointer;background:var(--chb-bg);transition:.25s}
.chb-extra:hover{border-color:var(--chb-a35)}
.chb-extra input[type=checkbox]{accent-color:var(--chb-accent);width:17px;height:17px;flex:none;margin:0}
.chb-extra select:not(#chb){width:auto;min-height:0;padding:6px 30px 6px 10px;font-size:13px}
.chb-extra-t{flex:1;min-width:0}
.chb-extra-t strong{display:block;font-size:14px;font-weight:600}
.chb-extra-t span{display:block;font-size:12px;color:var(--chb-muted);margin-top:2px}
.chb-cost{font-size:13.5px;color:var(--chb-accent);font-weight:600;white-space:nowrap}
.chb-incl{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.chb-incl div{flex:1 1 calc(50% - 7px);min-width:220px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--chb-line);border-radius:var(--chb-radius);font-size:13.5px;color:var(--chb-text-2)}
.chb-incl svg,.chb-incl i{color:var(--chb-accent);fill:currentColor;width:18px;height:18px;font-size:18px;flex:none}
.chb-incl svg.chb-i{fill:none}
.chb-msg{font-size:12.5px;min-height:18px;color:var(--chb-muted)}
.chb-msg.ok{color:var(--chb-accent)}
.chb-msg.bad{color:#E07B6A}
.chb-promo{display:flex;gap:10px}
.chb-promo .chb-ico{flex:1}
.chb-promo .chb-input:not(#chb){text-transform:uppercase}

/* Fare summary */
.chb-fare{background:linear-gradient(180deg,var(--chb-panel-2),var(--chb-panel));border:1px solid var(--chb-a35);border-radius:var(--chb-radius);overflow:hidden}
.chb-fare-head{padding:26px 30px;border-bottom:1px solid var(--chb-line);background:var(--chb-a05)}
.chb-fare-head h3:not(#chb){color:var(--chb-text);line-height:1.2;margin:0;font-family:var(--chb-display);font-size:21px;font-weight:500}
.chb-fare-body{padding:26px 30px}
.chb-route{display:flex;gap:14px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--chb-line)}
.chb-dots{display:flex;flex-direction:column;align-items:center;padding-top:5px;flex:none}
.chb-dots i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--chb-accent);display:block}
.chb-dots b{width:1px;flex:1;min-height:26px;background:var(--chb-a35);display:block;margin-block:4px}
.chb-dots i:last-child{background:var(--chb-accent)}
.chb-pts{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px}
.chb-pts span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--chb-muted);margin-bottom:3px}
.chb-pts strong{display:block;font-size:14px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
.chb-kpis{display:flex;gap:12px;margin-bottom:24px}
.chb-kpi{flex:1;text-align:center;padding:16px 10px;border:1px solid var(--chb-line);border-radius:var(--chb-radius);background:var(--chb-bg)}
.chb-kpi strong{display:block;font-family:var(--chb-display);font-size:25px;font-weight:500;color:var(--chb-accent);line-height:1}
.chb-kpi span{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--chb-muted);margin-top:7px}
.chb-lines{display:flex;flex-direction:column;gap:13px;margin-bottom:22px}
.chb-line{display:flex;justify-content:space-between;gap:14px;font-size:14px;color:var(--chb-text-2)}
.chb-line b{color:var(--chb-text);font-weight:500;white-space:nowrap}
.chb-line.neg,.chb-line.neg b{color:var(--chb-accent)}
.chb-empty{font-size:13.5px;color:var(--chb-muted)}
.chb-total{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding-top:22px;border-top:1px solid var(--chb-a35)}
.chb-total span{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--chb-muted)}
.chb-total strong{font-family:var(--chb-display);font-size:44px;font-weight:500;line-height:1;color:var(--chb-accent)}
.chb-note{margin-top:20px;padding:15px 17px;background:var(--chb-a05);border:1px solid var(--chb-a16);border-radius:var(--chb-radius);font-size:12.5px;color:var(--chb-text-2)}
.chb-note b{color:var(--chb-accent)}
.chb-fare-foot{padding:0 30px 30px}
.chb-btn:not(#chb){font-family:inherit;line-height:1.3;box-shadow:none;text-decoration:none;min-height:0;display:inline-flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:19px 30px;border:1px solid var(--chb-accent);border-radius:var(--chb-radius);background:var(--chb-accent);color:var(--chb-on-accent);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.28s}
.chb-btn:hover:not(#chb){background:var(--chb-accent-lt);border-color:var(--chb-accent-lt)}
.chb-btn[disabled]:not(#chb){opacity:.45;cursor:not-allowed}
.chb-btn-sm:not(#chb){width:auto;padding:12px 22px;font-size:11.5px;background:var(--chb-panel-2);color:var(--chb-text);border-color:var(--chb-a16)}
.chb-btn-sm:hover:not(#chb){background:var(--chb-panel);border-color:var(--chb-a35);color:var(--chb-text)}
.chb-pay-err{font-size:13px;color:#E07B6A;margin-top:12px;text-align:center;min-height:0}
.chb-cards{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.chb-cards img{height:23px;opacity:.75}
.chb-secure{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;font-size:12px;color:var(--chb-muted)}
.chb-secure svg{color:var(--chb-accent)}
.chb-banner{padding:22px 26px;border:1px solid var(--chb-accent);border-radius:var(--chb-radius);background:var(--chb-panel);color:var(--chb-text);margin-bottom:24px;font-size:15px}
.chb-banner strong{font-family:var(--chb-display);font-size:22px;font-weight:500;display:block;margin-bottom:4px;color:var(--chb-accent)}
.chb-loading .chb-total strong{opacity:.4}

/* Responsive */
@media (max-width:1024px){
  .chb-grid,.chb.side-left .chb-grid{flex-direction:column}
  .chb-side{position:static;flex:none;width:100%}
  .chb.side-first .chb-grid{flex-direction:column-reverse}
}
@media (max-width:640px){
  .chb-panel{padding:26px 20px}
  .chb-row{flex-direction:column;gap:0}
  .chb-svc{gap:14px;padding:15px}
  .chb-badge{display:none}
  .chb-extra,.chb-incl div{min-width:100%}
  .chb-fare-head,.chb-fare-body{padding:22px 20px}
  .chb-fare-foot{padding:0 20px 22px}
  .chb-tab:not(#chb){padding:15px 10px;letter-spacing:.08em}
  .chb-car img{width:80px;height:54px}
}

/* Theme focus rings off; our own subtle ring instead */
.chb button:focus-visible:not(#chb),.chb input:focus-visible:not(#chb),.chb select:focus-visible:not(#chb),.chb textarea:focus-visible:not(#chb){outline:none;box-shadow:0 0 0 2px var(--chb-a35)}
.chb .chb-input:focus-visible:not(#chb){box-shadow:none}
.chb-testbar{margin-bottom:18px;padding:12px 16px;border:1px dashed var(--chb-accent);border-radius:var(--chb-radius);background:var(--chb-panel);color:var(--chb-accent);font-size:12.5px;letter-spacing:.04em}
.chb-need{display:block;color:var(--chb-accent);font-weight:500}

/* ===== Light theme: matches the site (white sections, amber #F8B54A pills, Gotu + Manrope) ===== */
.chb.theme-light{
  --chb-accent:#F8B54A; --chb-accent-lt:#F6A623; --chb-on-accent:#090909;
  --chb-bg:#FFFFFF; --chb-panel:#FFFFFF; --chb-panel-2:#FDF3E3;
  --chb-text:#090909; --chb-text-2:#4B4B4B; --chb-muted:#7A7A7A;
  --chb-line:rgba(9,9,9,.10); --chb-radius:10px; --chb-pill:50px;
  --chb-display:var(--e-global-typography-primary-font-family,"Gotu"),Georgia,serif;
  --chb-body:var(--e-global-typography-text-font-family,"Manrope"),-apple-system,"Segoe UI",Arial,sans-serif;
  --chb-a05:#FDF3E3; --chb-a16:rgba(248,181,74,.30); --chb-a35:rgba(248,181,74,.65);
}
.chb.theme-light .chb-panel{box-shadow:0 10px 30px rgba(9,9,9,.06)}
.chb.theme-light .chb-head h3:not(#chb),.chb.theme-light .chb-notice h4:not(#chb),.chb.theme-light .chb-fare-head h3:not(#chb){font-weight:400;text-transform:capitalize}
.chb.theme-light .chb-n{background:var(--chb-accent);border-color:var(--chb-accent);color:#090909;font-family:var(--chb-body);font-weight:600;font-size:16px}
.chb.theme-light .chb-label{color:#090909;letter-spacing:.12em}
.chb.theme-light .chb-input:not(#chb){background:#FAFAF8}
.chb.theme-light .chb-input:focus:not(#chb){background:#FFFFFF;border-color:var(--chb-accent)}
.chb.theme-light .chb-input[type=date]:not(#chb),.chb.theme-light .chb-input[type=time]:not(#chb){color-scheme:light}
.chb.theme-light .chb-tabs:not(#chb){border-radius:var(--chb-pill);padding:5px;background:#FAFAF8}
.chb.theme-light .chb-tab:not(#chb){border-radius:var(--chb-pill);border-right:0;background:transparent}
.chb.theme-light .chb-tab.on:not(#chb){background:var(--chb-accent)}
.chb.theme-light .chb-tab:not(.on):hover:not(#chb){background:#FDF3E3;color:#090909}
.chb.theme-light .chb-btn:not(#chb),.chb.theme-light .chb-add:not(#chb){border-radius:var(--chb-pill)}
.chb.theme-light .chb-svc-ic,.chb.theme-light .chb-check{border-color:var(--chb-a35)}
.chb.theme-light .chb-svc.on{background:#FDF3E3}
.chb.theme-light .chb-notice{background:#FDF3E3;border-color:transparent}
.chb.theme-light .chb-badge,.chb.theme-light .chb-cost,.chb.theme-light .chb-add:not(#chb),.chb.theme-light .chb-avail.ok{color:#B97A12}
.chb.theme-light .chb-ac{background:#FFFFFF;box-shadow:0 18px 40px rgba(9,9,9,.15)}
.chb.theme-light .chb-ac button:hover:not(#chb),.chb.theme-light .chb-ac button.on:not(#chb){background:#FDF3E3;color:#090909}
.chb.theme-light .chb-testbar,.chb.theme-light .chb-banner{background:#FDF3E3;color:#090909}
.chb.theme-light .chb-banner strong{color:#090909}
.chb.theme-light .chb-btn-sm:not(#chb){background:#090909;color:#FFFFFF;border-color:#090909}
/* Fare summary stays dark, like the site's dark sections */
.chb.theme-light .chb-fare{
  --chb-bg:#151515; --chb-panel:#0F0F0F; --chb-panel-2:#090909; --chb-text:#FFFFFF; --chb-text-2:#D0D0D0;
  --chb-muted:#9A9A9A; --chb-line:rgba(255,255,255,.10); --chb-a05:rgba(248,181,74,.08);
  background:#090909;border-color:#090909;box-shadow:0 20px 40px rgba(9,9,9,.18);color:#FFFFFF
}
.chb.theme-light .chb-fare .chb-n{color:#090909}

/* ===== Date chips + time slots ===== */
.chb-when{margin-bottom:6px}
.chb-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.chb-day:not(#chb){flex:0 0 66px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 4px;background:var(--chb-bg);border:1px solid var(--chb-line);border-radius:var(--chb-radius);color:var(--chb-text);cursor:pointer;font-family:inherit;line-height:1.2;box-shadow:none;text-transform:none;letter-spacing:0;min-height:0;transition:.2s}
.chb-day small{font-size:10.5px;color:var(--chb-muted);text-transform:uppercase;letter-spacing:.08em}
.chb-day b{font-size:20px;font-weight:600;font-family:var(--chb-display)}
.chb-day:hover:not(#chb){border-color:var(--chb-a35)}
.chb-day.on:not(#chb){background:var(--chb-accent);border-color:var(--chb-accent);color:var(--chb-on-accent)}
.chb-day.on small{color:var(--chb-on-accent)}
.chb-other:not(#chb){margin-top:8px;max-width:260px}
.chb-slots{max-height:300px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}
.chb-sg{margin-bottom:12px}
.chb-sg-h{display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--chb-muted);margin-bottom:6px}
.chb-sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}
.chb-slot:not(#chb){padding:8px 0;background:var(--chb-bg);border:1px solid var(--chb-line);border-radius:var(--chb-radius);color:var(--chb-text);font:500 13px/1.2 var(--chb-body);cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;min-height:0;transition:.15s}
.chb-slot:hover:not(#chb):not([disabled]){border-color:var(--chb-accent)}
.chb-slot.on:not(#chb){background:var(--chb-accent);border-color:var(--chb-accent);color:var(--chb-on-accent);font-weight:700}
.chb-slot[disabled]:not(#chb){opacity:.35;cursor:not-allowed}
.chb-slot.busy:not(#chb){opacity:1;background:repeating-linear-gradient(135deg,transparent 0 5px,var(--chb-line) 5px 7px);color:var(--chb-muted);text-decoration:line-through}
.chb-legend{display:flex;align-items:center;gap:8px;margin-top:4px}
.chb-legend i{width:18px;height:12px;border:1px solid var(--chb-line);border-radius:3px;background:repeating-linear-gradient(135deg,transparent 0 3px,var(--chb-line) 3px 5px);flex:none}
.chb-ret{margin-top:18px;padding:18px;border:1px dashed var(--chb-a35);border-radius:var(--chb-radius);background:var(--chb-a05)}
.chb-ret-head{display:flex;align-items:center;gap:10px;font-weight:600;margin:0 0 14px!important;color:var(--chb-text)}
.chb-ret-head svg{color:var(--chb-accent)}
.chb-ret-hint{display:block;font-style:normal;font-size:12px;font-weight:600;color:var(--chb-accent);margin-top:6px}
.chb.theme-light .chb-ret-hint{color:#B97A12}
@keyframes chbPulse{0%{box-shadow:0 0 0 0 var(--chb-a35)}70%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 0 transparent}}
.chb-pulse{animation:chbPulse 1.2s ease-out 2}
@media (max-width:640px){.chb-sg-grid{grid-template-columns:repeat(4,1fr)}.chb-day:not(#chb){flex-basis:60px}}

/* Time-of-day tabs */
.chb-slots{max-height:none!important;overflow:visible!important}
.chb-sg-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
.chb-sg-tab:not(#chb){display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;background:var(--chb-bg);border:1px solid var(--chb-line);border-radius:var(--chb-radius);color:var(--chb-text);cursor:pointer;font-family:inherit;line-height:1.2;box-shadow:none;text-transform:none;letter-spacing:0;min-height:0}
.chb-sg-tab b{font-size:13px;font-weight:600}
.chb-sg-tab small{font-size:11px;color:var(--chb-muted)}
.chb-sg-tab.on:not(#chb){border-color:var(--chb-accent);background:var(--chb-a05);box-shadow:inset 0 -3px 0 var(--chb-accent)}
.chb-sg-tab[data-full]:not(#chb){opacity:.55}
.chb-sg{margin-bottom:8px}
.chb-sg-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))!important}
@media (max-width:640px){.chb-sg-tabs{grid-template-columns:repeat(2,1fr)}.chb-sg-grid{grid-template-columns:repeat(4,1fr)!important}}

/* Overflow guard: the date-chip strip scrolls inside the form and never widens the page (mobile) */
.elementor-widget-chb_booking{min-width:0;max-width:100%}
.chb{max-width:100%;min-width:0}
.chb-days{width:0;min-width:100%}
.chb-when,.chb-when .chb-field,.chb-main,.chb-side{min-width:0}
