/* form-a23c2: shared #book form.cb fixes (header bleed, float labels, tiles, seg, trust). Left column untouched. */
html body #book form.cb:not(#_):not(#_){
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;
  grid-template-columns:unset!important;gap:0!important;
  position:relative;border-radius:20px;overflow:hidden;text-align:left;
  padding:0!important;margin:0;align-self:stretch;height:auto;width:100%;
  background:#fff!important;
  box-shadow:
    0 2px 0 rgba(254,209,77,.55),
    0 24px 48px rgba(0,0,0,.34),
    0 8px 18px rgba(0,0,0,.18),
    0 0 0 1px rgba(0,5,62,.06);
}

html body #book form.cb > .cbt,
html body #book form.cb > .cbs{display:none!important}

/* cream header: full bleed edge to edge, card top corners via form overflow */
html body #book .cb-top{
  width:100%!important;max-width:none!important;align-self:stretch!important;
  box-sizing:border-box;margin:0!important;
  padding:22px 28px 20px;
  background:linear-gradient(180deg,#FFF8E0 0%,#fff 100%);
  border-bottom:1px solid rgba(254,209,77,.28);
  display:block;grid-column:unset;text-align:left
}
html body #book .cb-top .cbt{
  margin:0;font-family:"Roboto Condensed","Arial Narrow",system-ui,sans-serif;
  font-stretch:112%;font-weight:800;font-size:21px;line-height:1.25;
  color:var(--ink,#00053E);letter-spacing:-.02em;text-wrap:balance;
  grid-column:unset;text-align:left
}
html body #book .cb-top .cbs{
  margin:12px 0 0!important;font-size:13.5px;color:#5a6478;line-height:1.4;grid-column:unset;text-align:left
}
html body #book .cb-top .facts{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px}
html body #book .cb-top .facts span{
  display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;
  background:rgba(0,5,62,.06);font-size:11px;font-weight:750;color:var(--navy2,#001a4d)
}
html body #book .cb-top .facts svg{width:12px;height:12px;color:#0075BD}

html body #book .cb-body{
  width:100%!important;box-sizing:border-box;align-self:stretch!important;
  container-type:inline-size;container-name:cbb;
  padding:22px 28px 22px!important;display:grid!important;grid-template-columns:1fr 1fr;gap:16px
}
html body #book .cb-body > .ctx{grid-column:1/-1;margin:0}
html body #book .cb-body > .ctx[hidden]{display:none}

/* floating labels: identical Name + Phone (placeholder=" " in HTML) */
html body #book .cb .fl{position:relative;margin:0!important;display:block}
html body #book .cb .fl input{
  width:100%;height:56px;border:1.5px solid #e4ebf3;border-radius:14px;padding:20px 16px 8px;
  font:600 15px/1.2 system-ui;color:var(--ink,#00053E);
  background:linear-gradient(180deg,#fafbfd,#f3f6fa);
  transition:border-color .15s,box-shadow .15s,background .15s;
  box-sizing:border-box
}
html body #book .cb .fl input:focus{outline:0;background:#fff;border-color:var(--y,#FED14D);box-shadow:0 0 0 4px rgba(254,209,77,.3)}
html body #book .cb .fl input::placeholder{color:transparent!important;opacity:0!important}
html body #book .cb .fl .lbl{
  position:absolute;left:16px;top:10px;font-size:10px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#6b778c;pointer-events:none
}

html body #book .cb .sec-l{
  grid-column:1/-1;margin:2px 0 0;font-size:13px;font-weight:800;color:var(--ink,#00053E)
}

/* service tiles: equal W/H, one-line labels; 2x2 when 4-across won't fit */
html body #book .cb .tiles{
  grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;
  border:0;padding:0;margin:0;align-items:stretch
}
/* 4-across only when the form body is wide enough for one-line labels */
@container cbb (min-width: 540px){
  html body #book .cb .tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
/* viewport fallback: side-by-side form column is narrow from 700 to ~1199 */
@media (min-width:700px) and (max-width:1199px){
  html body #book .cb .tiles{grid-template-columns:1fr 1fr!important}
}

html body #book .cb .tile{
  position:relative;margin:0!important;appearance:none;background:0;border:0;padding:0;cursor:pointer;
  display:block;height:100%;min-width:0
}
html body #book .cb .tile input{
  position:absolute;opacity:0;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden
}
html body #book#book .cb .tile > span{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:6px!important;padding:10px 10px!important;border-radius:12px!important;
  min-height:48px!important;height:100%!important;box-sizing:border-box!important;
  border:1.5px solid #e6edf5!important;background:#fff!important;
  font-size:12px!important;font-weight:750!important;color:var(--navy2,#001a4d)!important;
  line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;
  text-align:left!important;box-shadow:0 4px 12px rgba(15,23,42,.04)!important;
  justify-content:flex-start!important;cursor:pointer
}
html body #book .cb .tile .ico{
  box-sizing:border-box!important;
  flex:0 0 28px!important;width:28px!important;height:28px!important;
  min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;
  border-radius:8px!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  align-self:center!important;line-height:0!important;font-size:0!important;
  padding:0!important;margin:0!important;gap:0!important;border:0!important;
  background:#f0f4fa!important;color:var(--blue,#0075BD)!important;
  box-shadow:inset 0 0 0 1px rgba(0,70,140,.08)!important;overflow:hidden!important
}
html body #book .cb .tile .ico svg{
  width:16px;height:16px;display:block;flex:none;margin:0;padding:0;
  overflow:visible;pointer-events:none
}
html body #book .cb .tile svg{width:16px;height:16px;display:block;color:inherit}
html body #book .cb .tile.on > span,
html body #book .cb .tile:has(input:checked) > span,
html body #book .cb .tile input:checked + span{
  background:#FFF9E6!important;border-color:var(--ink,#00053E)!important;
  box-shadow:0 0 0 3px rgba(254,209,77,.22),0 8px 18px rgba(0,5,62,.08)!important
}
html body #book .cb .tile.on .ico,
html body #book .cb .tile:has(input:checked) .ico,
html body #book .cb .tile input:checked + span .ico{
  background:var(--ink,#00053E)!important;color:var(--y,#FED14D)!important
}
html body #book .cb .tile input:focus-visible + span{outline:3px solid var(--sky,#4da3e0);outline-offset:2px}

/* beat inc-book revert on white-space */
html body #book#book .cb .tile > span:is(#book #book, #book *){white-space:nowrap!important}


/* when: 3 equal-width segments at every width */
html body #book .cb .seg{
  grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:0;
  border:1.5px solid #e4ebf3;border-radius:14px;overflow:hidden;background:#fff;margin:0
}
html body #book .cb .seg button{
  height:48px;border:0;border-right:1.5px solid #e4ebf3;background:#fafbfd;
  font:750 12.5px/1.15 system-ui;color:#4a5568;cursor:pointer;margin:0;border-radius:0;
  min-height:48px;padding:0 6px;min-width:0;width:100%;
  white-space:normal;text-wrap:balance
}
html body #book .cb .seg button:last-child{border-right:0}
html body #book .cb .seg button.on{background:var(--y,#FED14D);color:var(--ink,#00053E);font-weight:800}

/* foot */
html body #book .cb .cb-foot{
  grid-column:1/-1;display:flex;flex-direction:column;gap:12px;margin-top:4px
}
html body #book .cb .btn.sub{
  width:100%!important;height:52px;min-height:52px;border:0;border-radius:14px;cursor:pointer;
  background:var(--ink,#00053E)!important;color:#fff!important;font:800 16px/1 system-ui;
  display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 14px 28px rgba(0,5,62,.28);grid-column:unset;margin:0
}
html body #book .cb .btn.sub svg{width:18px;height:18px;flex:none}
html body #book .cb .cb-consent{
  margin:0;font-size:12px;line-height:1.45;color:#6b778c;text-align:center;grid-column:unset
}
html body #book .cb .cb-consent a{color:var(--blue,#0075BD);text-underline-offset:2px}

html body #book .cb .trust-row{
  grid-column:1/-1;display:flex;justify-content:center;flex-wrap:wrap;gap:18px;
  padding-top:2px;padding-bottom:0;margin:0
}
html body #book .cb .trust-row span{
  display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--navy2,#001a4d)
}
html body #book .cb .trust-row svg{width:15px;height:15px;color:#0075BD}

html body #book .cb .cbm{grid-column:1/-1;margin:0!important;min-height:0!important;padding:0!important}
html body #book .cb .cbm:empty{display:none!important;height:0!important;overflow:hidden!important}
html body #book .cb .cbm:not(:empty){display:block!important;height:auto!important;margin-top:4px!important}
html body #book .cb .cbok{display:none}
html body #book .cb[data-state=success] .cbok{
  display:block;position:relative;width:52px;height:52px;margin:12px auto 0;grid-column:1/-1
}

@media(max-width:699px){
  html body #book .cb-top{padding:18px!important;text-align:left}
  html body #book .cb-body{padding:18px!important;gap:14px}
  html body #book .cb .tile > span{
    flex-direction:row!important;text-align:left!important;align-items:center!important;
    min-height:48px!important;padding:10px 12px!important;white-space:nowrap!important
  }
  html body #book .cb .seg button{font-size:11.5px;padding:0 4px}
}


/* ===== sth-glance-fix1b a2-3c: When? radios, float labels, hide Booking strip ===== */
html body form.cb .ctx[data-ctx]{display:none!important;visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
/* Float labels: keep clear of typed value (placeholder-shown / :focus / :not(:placeholder-shown)) */
html body form.cb .fl .lbl{
  pointer-events:none;
  transition:transform .15s ease,font-size .15s ease,color .15s ease,top .15s ease;
}
html body form.cb .fl:focus-within .lbl,
html body form.cb .fl:has(input:not(:placeholder-shown)) .lbl,
html body form.cb .fl input:not(:placeholder-shown) ~ .lbl,
html body form.cb .fl input:focus ~ .lbl{
  transform:translateY(-1.15em) scale(.85);
  color:var(--blue,#00468C);
  background:#fff;
  padding:0 4px;
}
/* When? radios: equal-width segmented bar; selected = yellow+navy (beat .cb label ink) */
html body #book form.cb .seg,
html body form.cb .seg{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:0!important;
  border:1.5px solid #c5d0de!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#fff!important;
  flex-wrap:nowrap!important;
  margin:0!important;
}
html body #book form.cb .seg-opt,
html body form.cb .seg-opt{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 4px!important;
  min-height:48px!important;
  height:48px!important;
  min-width:0!important;
  width:auto!important;
  border:0!important;
  border-right:1.5px solid #c5d0de!important;
  border-radius:0!important;
  background:#fafbfd!important;
  font:750 12.5px/1.1 system-ui,sans-serif!important;
  color:#3d4a5c!important;
  cursor:pointer!important;
  text-align:center!important;
  white-space:nowrap!important;
  gap:0!important;
}
html body #book form.cb .seg-opt:last-child,
html body form.cb .seg-opt:last-child{border-right:0!important}
html body #book form.cb .seg-opt input,
html body form.cb .seg-opt input{
  position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;
  pointer-events:none!important;margin:0!important;
}
html body #book form.cb .seg-opt > span,
html body form.cb .seg-opt > span{
  color:inherit!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}
html body #book form.cb .seg-opt.on,
html body #book form.cb .seg-opt:has(input:checked),
html body form.cb .seg-opt.on,
html body form.cb .seg-opt:has(input:checked){
  background:var(--y,#FED14D)!important;
  color:var(--ink,#00053E)!important;
  font-weight:800!important;
}
html body #book form.cb .seg-opt.on > span,
html body #book form.cb .seg-opt:has(input:checked) > span,
html body form.cb .seg-opt.on > span,
html body form.cb .seg-opt:has(input:checked) > span{
  color:var(--ink,#00053E)!important;
}
html body #book form.cb .seg-opt:focus-within,
html body form.cb .seg-opt:focus-within{
  outline:3px solid #4da3e0!important;
  outline-offset:-3px!important;
  position:relative!important;
  z-index:2!important;
}
@media (max-width:390px){
  html body #book form.cb .seg-opt,
  html body form.cb .seg-opt{font-size:10px!important;padding:0 1px!important;letter-spacing:-0.01em!important}
  html body #book form.cb .seg-opt > span,
  html body form.cb .seg-opt > span{letter-spacing:-0.01em!important}
}
/* ASAP short label only at very narrow */
@media (max-width:360px){
  html body #book form.cb .seg-opt:first-child > span,
  html body form.cb .seg-opt:first-child > span{
    font-size:0!important;line-height:0!important;
  }
  html body #book form.cb .seg-opt:first-child > span::after,
  html body form.cb .seg-opt:first-child > span::after{
    content:"ASAP";
    font:800 12px/1.1 system-ui,sans-serif!important;
    color:inherit!important;
  }
}
/* ===== /a2-3c ===== */

/* ===== fix1b float clear typed ===== */
/* Only the filled/focus state is !important so it always beats live top:10px. */
html body #book form.cb .fl:not(#_):not(#_):not(#_){position:relative!important}
html body #book form.cb .fl:has(input:not(:placeholder-shown)) > .lbl:not(#_):not(#_):not(#_):not(#_),
html body #book form.cb .fl:has(input:focus) > .lbl:not(#_):not(#_):not(#_):not(#_),
html body #book form.cb .fl input:not(:placeholder-shown) ~ .lbl:not(#_):not(#_):not(#_):not(#_),
html body #book form.cb .fl input:focus ~ .lbl:not(#_):not(#_):not(#_):not(#_){
  top:0!important;
  left:16px!important;
  transform:translateY(-110%)!important;
  background:#fff!important;
  color:#00468C!important;
  padding:0 4px!important;
  z-index:3!important;
  pointer-events:none!important;
}
/* ===== /float clear ===== */
/* ===== sth-glance-fix1c headasap: ASAP When? ≥8px side inset @≤390; one line ===== */
@media (max-width:390px){
  html body #book form.cb .seg:not(#_) .seg-opt:not(#_):not(#_),
  html body form.cb .seg:not(#_) .seg-opt:not(#_):not(#_),
  html body #book form.cb .seg-opt:not(#_):not(#_):not(#_),
  html body form.cb .seg-opt:not(#_):not(#_):not(#_){
    font-size:9px!important;
    padding:0 8px!important;
    letter-spacing:-0.02em!important;
  }
  html body #book form.cb .seg:not(#_) .seg-opt:not(#_) > span,
  html body form.cb .seg:not(#_) .seg-opt:not(#_) > span{
    letter-spacing:-0.02em!important;
  }
}
@media (max-width:360px){
  html body #book form.cb .seg:not(#_) .seg-opt:not(#_):not(#_),
  html body form.cb .seg:not(#_) .seg-opt:not(#_):not(#_),
  html body #book form.cb .seg-opt:not(#_):not(#_):not(#_),
  html body form.cb .seg-opt:not(#_):not(#_):not(#_){
    font-size:11px!important;
    padding:0 8px!important;
  }
  html body #book form.cb .seg-opt:first-child > span,
  html body form.cb .seg-opt:first-child > span{
    font-size:0!important;line-height:0!important;
  }
  html body #book form.cb .seg-opt:first-child > span::after,
  html body form.cb .seg-opt:first-child > span::after{
    content:"ASAP";
    font:800 11px/1.1 system-ui,sans-serif!important;
    color:inherit!important;
    letter-spacing:0!important;
  }
}
/* ===== /headasap ASAP ===== */

/* ===== svc-yellow1 nov5: selected service tile = When-row yellow ===== */
html body #book#book#book form.cb .tile input:checked + span,
html body #book#book#book form.cb .tile input:checked + span,
html body #book#book#book .tile.on > span{
  background:#FED14D!important;border-color:#00053E!important;color:#00053E!important;
}
html body #book#book#book form.cb .tile input:checked + span .ico,
html body #book#book#book form.cb .tile input:checked + span .ico,
html body #book#book#book .tile.on > span .ico{
  background:rgba(0,5,62,.08)!important;color:#00053E!important;border-color:transparent!important;
}
html body #book#book#book .tile input:checked + span .ico svg,
html body #book#book#book form.cb .tile input:checked + span .ico svg{color:#00053E!important;}
/* ===== /svc-yellow1 ===== */
