.lpu-agent{
  --navy:#253a57;
  --navy-dark:#172b47;
  --navy-soft:#edf2f7;
  --ink:#253247;
  --muted:#6f7d8f;
  --line:#d4dde7;
  --line-soft:#e8edf3;
  --paper:#fff;
  --panel:#f4f7fa;
  --blue-soft:#f3f7fb;
  --accent:#162436;
  --green:#2f7d4a;
  --danger:#b42318;
  font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  box-sizing:border-box;
}
.lpu-agent *{box-sizing:border-box}
.lpu-agent button,.lpu-agent input,.lpu-agent select,.lpu-agent textarea{font:inherit}
.lpu-agent [hidden]{display:none!important}
.lpu-agent a{color:var(--navy)}

/* Main shell — intentionally mirrors the LondonSono booking plugin */
.lpu-agent__panel{
  width:min(100%,980px);
  margin:20px auto;
  background:var(--panel);
  border:1px solid #cbd5df;
  border-radius:4px;
  box-shadow:0 2px 8px rgba(23,43,71,.06);
  overflow:hidden;
}
.lpu-agent__header{
  position:relative;
  padding:24px 28px 18px;
  background:#f8fafc;
  border-bottom:6px solid #e8eef4;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.lpu-agent__headcopy{max-width:720px}
.lpu-agent__eyebrow{
  margin:0 0 5px!important;
  color:#7b8797!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.lpu-agent__headcopy h2{
  margin:0 0 7px;
  color:var(--navy-dark);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,3vw,2rem);
  line-height:1.15;
  font-weight:700;
}
.lpu-agent__headcopy p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}
.lpu-agent__close{
  border:1px solid #9eabba;
  background:#fff;
  color:var(--navy-dark);
  width:32px;height:32px;border-radius:2px;
  display:grid;place-items:center;
  cursor:pointer;font-size:1.15rem;line-height:1;
  box-shadow:none;
}
.lpu-agent__close:hover,.lpu-agent__close:focus-visible{background:var(--navy-soft);border-color:var(--navy-dark);outline:none}

/* Booking progress */
.lpu-agent__progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  padding:13px 28px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.lpu-agent__progress>div{
  min-height:30px;
  display:flex;align-items:center;gap:8px;
  position:relative;
  color:#9aa5b3;
  font-size:.7rem;
  font-weight:700;
}
.lpu-agent__progress>div:not(:last-child)::after{
  content:"";height:1px;background:#dce3ea;position:absolute;left:34px;right:8px;bottom:-13px;
}
.lpu-agent__progress span{
  width:20px;height:20px;display:grid;place-items:center;
  background:#edf1f5;color:#8a96a5;border-radius:2px;
  font-size:.62rem;font-weight:800;
}
.lpu-agent__progress b{font-weight:700;white-space:nowrap}
.lpu-agent__progress .is-active{color:var(--navy-dark)}
.lpu-agent__progress .is-active span{background:var(--navy-dark);color:#fff}
.lpu-agent__progress .is-done{color:#53667f}
.lpu-agent__progress .is-done span{background:#dce5ee;color:var(--navy-dark)}

/* Content */
.lpu-agent__messages{
  min-height:240px;
  max-height:430px;
  overflow:auto;
  padding:20px 28px 10px;
  background:#fff;
  scroll-behavior:smooth;
}
.lpu-agent__msg{
  max-width:820px;
  padding:10px 12px;
  margin:0 0 11px;
  border-radius:3px;
  line-height:1.55;
  font-size:.84rem;
}
.lpu-agent__msg--bot{
  background:var(--blue-soft);
  border:1px solid #d9e3ec;
  border-left:3px solid var(--navy);
  color:#42536a;
}
.lpu-agent__msg--user{
  margin-left:auto;
  background:var(--navy-dark);
  border:1px solid var(--navy-dark);
  color:#fff;
  max-width:70%;
}
.lpu-agent__thinking{display:flex;align-items:center;gap:8px;color:var(--muted)}
.lpu-agent__dots{display:flex;gap:3px}.lpu-agent__dots i{width:5px;height:5px;border-radius:50%;background:var(--navy);animation:lpuDot 1.1s infinite}.lpu-agent__dots i:nth-child(2){animation-delay:.15s}.lpu-agent__dots i:nth-child(3){animation-delay:.3s}
@keyframes lpuDot{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}

/* Guided service groups */
.lpu-agent__service-group{
  margin:14px 0 18px;
  border:1px solid var(--line);
  background:#fff;
}
.lpu-agent__service-group-head{
  display:flex;align-items:center;gap:11px;
  padding:11px 13px;
  border-bottom:1px solid var(--line-soft);
  background:#f8fafc;
}
.lpu-agent__service-group-head>span{
  width:22px;height:22px;display:grid;place-items:center;
  background:var(--navy-dark);color:#fff;font-size:.65rem;font-weight:800;border-radius:2px;
}
.lpu-agent__service-group-head small{
  display:block;color:#8a96a5;font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
.lpu-agent__service-group-head strong{display:block;color:var(--navy-dark);font-size:.85rem;margin-top:1px}
.lpu-agent__service-group--combined .lpu-agent__service-group-head>span{background:#536b88}
.lpu-agent__service-group--health .lpu-agent__service-group-head>span{background:#6d7c8f}

.lpu-agent__results{display:grid;gap:0;margin:0}
.lpu-agent__result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:13px 14px;
  background:#fff;
  border-bottom:1px solid var(--line-soft);
}
.lpu-agent__result:last-child{border-bottom:0}
.lpu-agent__result:hover{background:#fafbfd}
.lpu-agent__result-copy small{
  display:block;color:#8290a1;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;
}
.lpu-agent__result-copy strong{display:block;color:var(--navy-dark);font-size:.86rem;font-weight:800;line-height:1.35}
.lpu-agent__result-copy span{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}
.lpu-agent__result-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.lpu-agent__result-actions button{
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--navy-dark);
  border-radius:2px;
  background:#fff;color:var(--navy-dark);
  font-size:.66rem;font-weight:800;cursor:pointer;
}
.lpu-agent__result-actions button.is-primary{background:var(--navy-dark);color:#fff}
.lpu-agent__result-actions button:hover{filter:brightness(.96)}

/* Branch / appointment cards */
.lpu-agent__branchgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 16px}
.lpu-agent__branch{
  min-height:62px;padding:11px 13px;
  border:1px solid #9eabba;border-radius:2px;background:#fff;color:var(--navy-dark);
  text-align:left;cursor:pointer;
}
.lpu-agent__branch.is-primary{background:var(--navy-dark);color:#fff;border-color:var(--navy-dark)}
.lpu-agent__branch strong{display:block;font-size:.76rem;font-weight:800}
.lpu-agent__branch span{display:block;font-size:.61rem;margin-top:4px;opacity:.82}
.lpu-agent__branch:hover{box-shadow:0 2px 8px rgba(23,43,71,.08)}

.lpu-agent__availability,.lpu-agent__inline-card,.lpu-agent__patient-form,.lpu-agent__verify-card,.lpu-agent__payment-card,.lpu-agent__confirmation,.lpu-agent__enquiry{
  margin:12px 0 18px;
  padding:15px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:2px;
}
.lpu-agent__availability{background:#f9fbfd}
.lpu-agent__availability-head,.lpu-agent__payment-head,.lpu-agent__form-title{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  padding-bottom:10px;border-bottom:1px solid var(--line-soft);
}
.lpu-agent__availability-head small,.lpu-agent__payment-head small,.lpu-agent__form-title small{
  display:block;color:#7f8d9f;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
}
.lpu-agent__availability-head strong,.lpu-agent__payment-head strong,.lpu-agent__form-title strong{
  display:block;color:var(--navy-dark);font-size:.84rem;font-weight:800;margin-top:2px;
}
.lpu-agent__availability-head>span,.lpu-agent__payment-head>span,.lpu-agent__form-title>span{color:var(--navy-dark);font-weight:800;font-size:.88rem}
.lpu-agent__slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.lpu-agent__slot{
  min-height:48px;padding:7px 6px;
  border:1px solid var(--navy-dark);border-radius:2px;background:#fff;color:var(--navy-dark);cursor:pointer;
}
.lpu-agent__slot strong{display:block;font-size:.8rem}
.lpu-agent__slot span{display:block;margin-top:2px;font-size:.51rem;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);font-weight:800}
.lpu-agent__slot.is-nearest,.lpu-agent__slot:hover{background:var(--navy-dark);color:#fff}
.lpu-agent__slot.is-nearest span,.lpu-agent__slot:hover span{color:#ffd6b7}

.lpu-agent__date-row{display:flex;gap:8px;margin-top:10px}
.lpu-agent__date-row input{flex:1;border:1px solid #aab6c4;border-radius:2px;padding:10px;background:#fff}
.lpu-agent__date-row button{border:0;border-radius:2px;background:var(--navy-dark);color:#fff;padding:0 14px;font-weight:800;cursor:pointer}
.lpu-agent__inline-card p{margin:.55rem 0 0;color:var(--muted);font-size:.7rem}

/* Patient details */
.lpu-agent__formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:13px}
.lpu-agent__formgrid label{display:block;color:#536176;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.lpu-agent__formgrid label span{font-weight:500;color:#8994a3;text-transform:none;letter-spacing:0}
.lpu-agent__formgrid .is-wide{grid-column:1/-1}
.lpu-agent__formgrid input,.lpu-agent__formgrid select,.lpu-agent__formgrid textarea{
  display:block;width:100%;margin-top:5px;padding:10px 11px;
  border:1px solid #aab6c4;border-radius:2px;background:#fff;color:var(--ink);font-size:.78rem;
}
.lpu-agent__formgrid input:focus,.lpu-agent__formgrid select:focus,.lpu-agent__formgrid textarea:focus{outline:2px solid rgba(37,58,87,.13);border-color:var(--navy-dark)}
.lpu-agent__consent{display:flex!important;align-items:flex-start;gap:8px;margin:12px 0;color:var(--muted);font-size:.7rem;line-height:1.45;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
.lpu-agent__consent input{width:auto!important;margin:2px 0 0!important}
.lpu-agent__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.lpu-agent__cta{
  width:100%;min-height:44px;padding:10px 14px;
  border:0;border-radius:2px;background:var(--navy-dark);color:#fff;
  font-weight:800;font-size:.74rem;cursor:pointer;
}
.lpu-agent__cta:hover{background:#0f223b}
.lpu-agent__cta:disabled{opacity:.55;cursor:not-allowed}
.lpu-agent__form-status{margin:9px 0;padding:9px 10px;background:#f3f6f9;border:1px solid #e0e7ee;border-radius:2px;color:var(--navy);font-size:.68rem;line-height:1.45}
.lpu-agent__form-status:empty{display:none}.lpu-agent__form-status.is-error{background:#fff3f2;color:var(--danger);border-color:#efc7c4}

.lpu-agent__verify-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;overflow:hidden}
.lpu-agent__verify-card>div:not(.lpu-agent__form-status){padding:11px 13px;border-bottom:1px solid var(--line-soft);background:#fff}
.lpu-agent__verify-card>div:nth-child(odd){border-right:1px solid var(--line-soft)}
.lpu-agent__verify-card span{display:block;color:#8a96a5;font-size:.56rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.lpu-agent__verify-card strong{display:block;color:var(--navy-dark);font-size:.76rem;margin-top:3px}
.lpu-agent__verify-card .lpu-agent__cta,.lpu-agent__verify-card .lpu-agent__form-status{grid-column:1/-1;margin:12px}

/* Payment + confirmation */
.lpu-agent__payment-help,.lpu-agent__secure-note{color:var(--muted);font-size:.7rem;line-height:1.5}
.lpu-agent__payment-host{min-height:110px;margin:12px 0}
.lpu-agent__confirmation{text-align:center;border-color:#bad2c1;background:#f7fbf8}
.lpu-agent__confirmation-icon{width:48px;height:48px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.3rem;font-weight:800}
.lpu-agent__confirmation h3{margin:.25rem 0 1rem;color:#235b36;font-size:1.05rem}
.lpu-agent__confirmation dl{margin:0;text-align:left;background:#fff;border:1px solid #dce8df}
.lpu-agent__confirmation dl>div{display:grid;grid-template-columns:155px 1fr;gap:10px;padding:8px 10px;border-top:1px solid #e5eee7}
.lpu-agent__confirmation dl>div:first-child{border-top:0}
.lpu-agent__confirmation dt{color:#7d8998;font-size:.59rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.lpu-agent__confirmation dd{margin:0;color:var(--ink);font-size:.74rem;font-weight:700}

/* Composer: resembles booking controls rather than a chatbot footer */
.lpu-agent__composer{padding:13px 28px 18px;border-top:1px solid var(--line);background:#fff}
.lpu-agent__chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
.lpu-agent__chips button{
  min-height:42px;padding:8px 10px;
  border:1px solid #9eabba;border-radius:2px;background:#fff;color:var(--navy-dark);
  font-size:.68rem;font-weight:800;cursor:pointer;
}
.lpu-agent__chips button:first-child{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff}
.lpu-agent__chips button:hover{box-shadow:0 2px 8px rgba(23,43,71,.08)}
.lpu-agent__inputrow{display:flex;gap:7px}
.lpu-agent__inputrow input{flex:1;min-width:0;padding:11px 12px;border:1px solid #aab6c4;border-radius:2px;color:var(--ink);background:#fff;font-size:.78rem}
.lpu-agent__inputrow input:focus{outline:2px solid rgba(37,58,87,.12);border-color:var(--navy-dark)}
.lpu-agent__inputrow button{min-width:90px;border:0;border-radius:2px;background:var(--navy-dark);color:#fff;padding:0 16px;font-size:.72rem;font-weight:800;cursor:pointer}
.lpu-agent__footerline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:9px}
.lpu-agent__footerline span{text-align:center;color:#8a96a5;font-size:.59rem}
.lpu-agent__footerline button{border:0;background:transparent;color:#5d6d82;font-size:.63rem;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.lpu-agent__footerline .lpu-agent__back{
  text-decoration:none;border:1px solid #9eabba;background:#fff;color:var(--navy-dark);border-radius:2px;padding:6px 9px;
}

/* Floating mode */
.lpu-agent__launcher{border:1px solid #d2dbe4;background:#fff;color:var(--navy-dark);border-radius:3px;padding:12px 16px;font-weight:800;box-shadow:0 8px 22px rgba(23,43,71,.18);cursor:pointer;display:flex;align-items:center;gap:8px}
.lpu-agent__launcher-dot{width:8px;height:8px;background:var(--navy-dark);border-radius:50%;box-shadow:0 0 0 4px rgba(37,58,87,.10);animation:lpuPulse 2s infinite}
@keyframes lpuPulse{0%,100%{transform:scale(1)}50%{transform:scale(.72)}}
.lpu-agent--floating{position:fixed;left:20px;right:auto;bottom:20px;z-index:99990}
.lpu-agent--floating .lpu-agent__panel{position:absolute;left:0;right:auto;bottom:58px;width:min(500px,calc(100vw - 24px));max-height:min(650px,calc(100vh - 88px));margin:0}
.lpu-agent--floating .lpu-agent__messages{min-height:190px;max-height:350px}

@media(max-width:700px){
  .lpu-agent__panel{margin:8px auto;border-left:0;border-right:0}
  .lpu-agent__header{padding:18px 16px 14px}
  .lpu-agent__progress{padding:10px 14px;overflow-x:auto}
  .lpu-agent__progress>div{min-width:105px}
  .lpu-agent__messages{padding:14px 14px 8px;max-height:570px}
  .lpu-agent__msg{max-width:96%}.lpu-agent__msg--user{max-width:85%}
  .lpu-agent__composer{padding:12px 14px 15px}
  .lpu-agent__chips{grid-template-columns:1fr}
  .lpu-agent__chips button:first-child{background:#fff;color:var(--navy-dark);border-color:#9eabba}
  .lpu-agent__result{grid-template-columns:1fr;align-items:start}
  .lpu-agent__result-actions{justify-content:flex-start}
  .lpu-agent__branchgrid{grid-template-columns:1fr}
  .lpu-agent__slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lpu-agent__formgrid{grid-template-columns:1fr}.lpu-agent__formgrid .is-wide{grid-column:auto}
  .lpu-agent__verify-card{grid-template-columns:1fr}.lpu-agent__verify-card>div:nth-child(odd){border-right:0}
  .lpu-agent__verify-card .lpu-agent__cta,.lpu-agent__verify-card .lpu-agent__form-status{grid-column:auto}
  .lpu-agent__confirmation dl>div{grid-template-columns:1fr;gap:2px}
  .lpu-agent__footerline{grid-template-columns:auto auto;justify-content:space-between}.lpu-agent__footerline span{display:none}
  .lpu-agent--floating{right:10px;bottom:10px}.lpu-agent--floating .lpu-agent__panel{right:0;bottom:56px;width:calc(100vw - 20px)}
}
@media(max-width:420px){
  .lpu-agent__slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lpu-agent__inputrow{grid-template-columns:1fr;display:grid}.lpu-agent__inputrow button{min-height:42px}
}

/* v0.2.2 compact popular-service home + stronger back navigation */
.lpu-agent__popular{margin:10px 0 14px;border:1px solid var(--line);background:#fff;padding:12px}
.lpu-agent__popular-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.lpu-agent__popular-head strong{color:var(--navy-dark);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.lpu-agent__popular-head span{color:#8994a3;font-size:.61rem}
.lpu-agent__popular-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.lpu-agent__popular-service{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid #b5c0cc;border-radius:2px;background:#fff;color:var(--navy-dark);text-align:left;cursor:pointer}
.lpu-agent__popular-service:hover,.lpu-agent__popular-service:focus-visible{background:var(--navy-soft);border-color:var(--navy-dark);outline:none}
.lpu-agent__popular-service span{font-size:.67rem;font-weight:750;line-height:1.25}
.lpu-agent__popular-service b{font-size:.65rem;white-space:nowrap}
.lpu-agent__footerline .lpu-agent__back{min-width:84px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:1px solid var(--navy-dark)!important;background:#fff!important;color:var(--navy-dark)!important;border-radius:2px!important;padding:6px 10px!important}
.lpu-agent__footerline .lpu-agent__back:hover{background:var(--navy-soft)!important}
@media(max-width:700px){.lpu-agent__popular-grid{grid-template-columns:1fr}.lpu-agent__popular-service{min-height:40px}}

/* v0.2.3 UX refinements */
.lpu-agent{--hover:#162436}
.lpu-agent__result-actions button:hover,
.lpu-agent__result-actions button:focus-visible,
.lpu-agent__chips button:hover,
.lpu-agent__chips button:focus-visible,
.lpu-agent__branch:hover,
.lpu-agent__branch:focus-visible,
.lpu-agent__date-row button:hover,
.lpu-agent__date-row button:focus-visible,
.lpu-agent__inputrow button:hover,
.lpu-agent__inputrow button:focus-visible,
.lpu-agent__popular-service:hover,
.lpu-agent__popular-service:focus-visible,
.lpu-agent__cta:hover,
.lpu-agent__cta:focus-visible,
.lpu-agent__footerline .lpu-agent__back:hover,
.lpu-agent__footerline .lpu-agent__back:focus-visible{background:#162436!important;border-color:#162436!important;color:#fff!important;outline:none}

.lpu-agent__predictor{position:relative;margin:-1px 0 8px;background:#fff;border:1px solid #b8c3cf;border-top:0;box-shadow:0 8px 20px rgba(22,36,54,.10);z-index:20;max-height:210px;overflow:auto}
.lpu-agent__prediction{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:0;border-top:1px solid #edf0f3;background:#fff;color:#162436;text-align:left;cursor:pointer;font-size:.76rem}
.lpu-agent__prediction:first-child{border-top:0}
.lpu-agent__prediction span{font-weight:700;line-height:1.3}
.lpu-agent__prediction small{font-size:.64rem;color:#687585;white-space:nowrap}
.lpu-agent__prediction:hover,.lpu-agent__prediction:focus-visible{background:#162436;color:#fff;outline:none}
.lpu-agent__prediction:hover small,.lpu-agent__prediction:focus-visible small{color:#dfe5ec}

.lpu-agent__service-check{margin:8px 0 14px;border:1px solid #cbd3dc;background:#fff;padding:14px;box-shadow:0 3px 12px rgba(22,36,54,.05)}
.lpu-agent__service-check small{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:#617082;font-weight:800}
.lpu-agent__service-check h3{margin:3px 0 10px;font-size:1.02rem;line-height:1.25;color:#162436}
.lpu-agent__service-check dl{margin:0 0 12px;border-top:1px solid #edf0f3}
.lpu-agent__service-check dl>div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #edf0f3}
.lpu-agent__service-check dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#6d7885;font-weight:800}
.lpu-agent__service-check dd{margin:0;font-size:.77rem;color:#162436;font-weight:700}

/* Make the floating assistant noticeable without covering content. */
.lpu-agent__launcher{position:relative;overflow:visible;animation:lpuAssistantAttention 5.5s ease-in-out infinite;transform-origin:left center}
.lpu-agent__launcher::after{content:"Need help booking?";position:absolute;left:0;bottom:calc(100% + 8px);background:#162436;color:#fff;padding:6px 9px;border-radius:3px;font-size:.66rem;font-weight:700;white-space:nowrap;box-shadow:0 6px 16px rgba(22,36,54,.18);opacity:0;transform:translateY(5px);animation:lpuAssistantHint 8s ease-in-out infinite;pointer-events:none}
@keyframes lpuAssistantAttention{0%,78%,100%{transform:translateY(0);box-shadow:0 8px 22px rgba(23,43,71,.18)}82%{transform:translateY(-4px);box-shadow:0 12px 28px rgba(22,36,54,.28)}86%{transform:translateY(0)}90%{transform:translateY(-2px)}94%{transform:translateY(0)}}
@keyframes lpuAssistantHint{0%,10%,72%,100%{opacity:0;transform:translateY(5px)}14%,28%{opacity:1;transform:translateY(0)}}
.lpu-agent__launcher:hover,.lpu-agent__launcher:focus-visible{background:#162436!important;color:#fff!important;border-color:#162436!important;animation-play-state:paused;outline:none}

/* Keep the floating window compact and on the left, including mobile. */
.lpu-agent--floating{left:18px!important;right:auto!important;bottom:18px!important}
.lpu-agent--floating .lpu-agent__panel{left:0!important;right:auto!important;max-height:min(590px,calc(100vh - 88px))!important}
.lpu-agent--floating .lpu-agent__messages{min-height:155px!important;max-height:300px!important}
@media(max-width:700px){
  .lpu-agent--floating{left:10px!important;right:auto!important;bottom:10px!important}
  .lpu-agent--floating .lpu-agent__panel{left:0!important;right:auto!important;bottom:56px!important;width:calc(100vw - 20px)!important;max-height:min(560px,calc(100vh - 76px))!important}
  .lpu-agent--floating .lpu-agent__messages{max-height:285px!important}
  .lpu-agent__launcher::after{font-size:.62rem}
}
@media(prefers-reduced-motion:reduce){.lpu-agent__launcher,.lpu-agent__launcher::after{animation:none!important}}

/* =========================================================
   v0.2.4 — LondonSono white + #162436 UI refinement
   Removes brown/gold accents and makes floating content fit.
   ========================================================= */
.lpu-agent{
  --navy:#162436!important;
  --navy-dark:#162436!important;
  --navy-soft:#f3f5f7!important;
  --ink:#162436!important;
  --muted:#657184!important;
  --line:#d9e0e7!important;
  --line-soft:#edf1f4!important;
  --paper:#ffffff!important;
  --panel:#ffffff!important;
  --blue-soft:#f7f9fb!important;
  --accent:#162436!important;
  --hover:#162436!important;
}

/* Clean white shell */
.lpu-agent__panel{
  background:#fff!important;
  border:1px solid #cbd4dd!important;
  border-radius:8px!important;
  box-shadow:0 16px 42px rgba(22,36,54,.18)!important;
}
.lpu-agent__header{
  background:#fff!important;
  border-bottom:5px solid #f0f3f6!important;
}
.lpu-agent__eyebrow{color:#6f7b8c!important}
.lpu-agent__headcopy h2,
.lpu-agent__headcopy p{color:#162436!important}
.lpu-agent__headcopy p{opacity:.74}

/* Close button: LondonSono booking style */
.lpu-agent__close{
  width:34px!important;height:34px!important;
  border:1px solid #162436!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#162436!important;
  font-size:1rem!important;
  font-weight:700!important;
  transition:background .16s ease,color .16s ease!important;
}
.lpu-agent__close:hover,.lpu-agent__close:focus-visible{
  background:#162436!important;color:#fff!important;border-color:#162436!important;
}

/* Progress */
.lpu-agent__progress{background:#fff!important}
.lpu-agent__progress span{background:#eef2f5!important;color:#758196!important}
.lpu-agent__progress .is-active span{background:#162436!important;color:#fff!important}
.lpu-agent__progress .is-active{color:#162436!important}

/* Main content */
.lpu-agent__messages{background:#fff!important}
.lpu-agent__msg--bot{
  background:#f7f9fb!important;
  border-color:#e0e6ec!important;
  border-left-color:#162436!important;
}
.lpu-agent__msg--user{background:#162436!important;border-color:#162436!important}
.lpu-agent__dots i{background:#162436!important}

/* Service/result cards */
.lpu-agent__service-group,
.lpu-agent__availability,
.lpu-agent__inline-card,
.lpu-agent__patient-form,
.lpu-agent__verify-card,
.lpu-agent__payment-card,
.lpu-agent__confirmation,
.lpu-agent__enquiry,
.lpu-agent__popular,
.lpu-agent__service-check{
  background:#fff!important;
  border-color:#d9e0e7!important;
  box-shadow:none!important;
}
.lpu-agent__service-group-head{background:#f7f9fb!important}
.lpu-agent__service-group-head>span,
.lpu-agent__service-group--combined .lpu-agent__service-group-head>span,
.lpu-agent__service-group--health .lpu-agent__service-group-head>span{background:#162436!important;color:#fff!important}
.lpu-agent__result:hover{background:#f7f9fb!important}
.lpu-agent__result-copy strong,
.lpu-agent__availability-head strong,
.lpu-agent__payment-head strong,
.lpu-agent__form-title strong,
.lpu-agent__availability-head>span,
.lpu-agent__payment-head>span,
.lpu-agent__form-title>span{color:#162436!important}

/* Every action uses only white and #162436 */
.lpu-agent__result-actions button,
.lpu-agent__branch,
.lpu-agent__slot,
.lpu-agent__chips button,
.lpu-agent__popular-service,
.lpu-agent__footerline .lpu-agent__back,
.lpu-agent__date-row button,
.lpu-agent__inputrow button,
.lpu-agent__cta{
  border-color:#162436!important;
  border-radius:5px!important;
}
.lpu-agent__result-actions button,
.lpu-agent__branch,
.lpu-agent__slot,
.lpu-agent__chips button,
.lpu-agent__popular-service,
.lpu-agent__footerline .lpu-agent__back{
  background:#fff!important;
  color:#162436!important;
}
.lpu-agent__result-actions button.is-primary,
.lpu-agent__branch.is-primary,
.lpu-agent__slot.is-nearest,
.lpu-agent__date-row button,
.lpu-agent__inputrow button,
.lpu-agent__cta{
  background:#162436!important;
  color:#fff!important;
}
.lpu-agent__result-actions button:hover,
.lpu-agent__result-actions button:focus-visible,
.lpu-agent__branch:hover,.lpu-agent__branch:focus-visible,
.lpu-agent__slot:hover,.lpu-agent__slot:focus-visible,
.lpu-agent__chips button:hover,.lpu-agent__chips button:focus-visible,
.lpu-agent__popular-service:hover,.lpu-agent__popular-service:focus-visible,
.lpu-agent__footerline .lpu-agent__back:hover,.lpu-agent__footerline .lpu-agent__back:focus-visible{
  background:#162436!important;color:#fff!important;border-color:#162436!important;
}
.lpu-agent__slot span,
.lpu-agent__slot.is-nearest span,
.lpu-agent__slot:hover span{color:inherit!important;opacity:.72!important}

/* Inputs */
.lpu-agent__inputrow input,
.lpu-agent__formgrid input,
.lpu-agent__formgrid select,
.lpu-agent__formgrid textarea,
.lpu-agent__date-row input{
  border-color:#aeb9c5!important;
  border-radius:5px!important;
}
.lpu-agent__inputrow input:focus,
.lpu-agent__formgrid input:focus,
.lpu-agent__formgrid select:focus,
.lpu-agent__formgrid textarea:focus,
.lpu-agent__date-row input:focus{
  border-color:#162436!important;
  outline:2px solid rgba(22,36,54,.12)!important;
}

/* Predictor */
.lpu-agent__predictor{border-color:#c6d0da!important;border-radius:0 0 5px 5px!important}
.lpu-agent__prediction{color:#162436!important}
.lpu-agent__prediction:hover,.lpu-agent__prediction:focus-visible{background:#162436!important;color:#fff!important}

/* Floating launcher: no brown anywhere */
.lpu-agent__launcher{
  background:#fff!important;
  color:#162436!important;
  border:1px solid #162436!important;
  border-radius:7px!important;
  box-shadow:0 10px 28px rgba(22,36,54,.20)!important;
}
.lpu-agent__launcher-dot{background:#162436!important;box-shadow:0 0 0 4px rgba(22,36,54,.10)!important}
.lpu-agent__launcher:hover,.lpu-agent__launcher:focus-visible{background:#162436!important;color:#fff!important}
.lpu-agent__launcher::after{background:#162436!important;color:#fff!important;border-radius:5px!important}

/* Critical sizing fix: floating window is a proper flex column. */
.lpu-agent--floating .lpu-agent__panel{
  width:min(570px,calc(100vw - 32px))!important;
  height:min(610px,calc(100vh - 92px))!important;
  max-height:min(610px,calc(100vh - 92px))!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.lpu-agent--floating .lpu-agent__header,
.lpu-agent--floating .lpu-agent__progress,
.lpu-agent--floating .lpu-agent__composer{flex:0 0 auto!important}
.lpu-agent--floating .lpu-agent__messages{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:14px 20px 8px!important;
}
.lpu-agent--floating .lpu-agent__header{padding:16px 20px 13px!important}
.lpu-agent--floating .lpu-agent__headcopy h2{font-size:1.72rem!important;margin-bottom:5px!important}
.lpu-agent--floating .lpu-agent__headcopy p{font-size:.78rem!important;line-height:1.42!important}
.lpu-agent--floating .lpu-agent__progress{padding:10px 20px!important}
.lpu-agent--floating .lpu-agent__composer{padding:10px 20px 12px!important;background:#fff!important}

/* Keep results/buttons inside the available width. */
.lpu-agent__result{grid-template-columns:minmax(0,1fr) minmax(220px,auto)!important;gap:10px!important;padding:12px!important}
.lpu-agent__result-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;width:100%!important;max-width:270px!important}
.lpu-agent__result-actions button{width:100%!important;white-space:normal!important;line-height:1.2!important;min-height:38px!important;padding:7px 8px!important}
.lpu-agent__chips{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
.lpu-agent__chips button{width:100%!important;white-space:normal!important}
.lpu-agent__inputrow{display:grid!important;grid-template-columns:minmax(0,1fr) 104px!important;gap:8px!important}
.lpu-agent__inputrow button{min-width:0!important}

@media(max-width:620px){
  .lpu-agent--floating .lpu-agent__panel{
    width:calc(100vw - 20px)!important;
    height:min(560px,calc(100vh - 76px))!important;
    max-height:min(560px,calc(100vh - 76px))!important;
  }
  .lpu-agent--floating .lpu-agent__header{padding:14px 15px 11px!important}
  .lpu-agent--floating .lpu-agent__headcopy h2{font-size:1.45rem!important}
  .lpu-agent--floating .lpu-agent__progress{padding:9px 14px!important}
  .lpu-agent--floating .lpu-agent__messages{padding:12px 14px 7px!important}
  .lpu-agent--floating .lpu-agent__composer{padding:9px 14px 11px!important}
  .lpu-agent__result{grid-template-columns:1fr!important}
  .lpu-agent__result-actions{max-width:none!important;grid-template-columns:1fr 1fr!important}
  .lpu-agent__chips{grid-template-columns:1fr 1fr!important}
}
@media(max-width:430px){
  .lpu-agent__result-actions,.lpu-agent__chips{grid-template-columns:1fr!important}
  .lpu-agent__inputrow{grid-template-columns:1fr!important}
  .lpu-agent__inputrow button{min-height:42px!important}
}

/* v0.2.5 — reliable, compact close control */
.lpu-agent__header{position:relative!important;padding-right:68px!important}
.lpu-agent__close{
  position:absolute!important;
  top:14px!important;
  right:16px!important;
  z-index:50!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1.5px solid #162436!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#162436!important;
  box-shadow:0 2px 8px rgba(22,36,54,.08)!important;
  cursor:pointer!important;
  line-height:1!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease!important;
}
.lpu-agent__close svg{width:18px!important;height:18px!important;display:block!important;fill:currentColor!important;pointer-events:none!important}
.lpu-agent__close:hover,.lpu-agent__close:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
  transform:scale(1.04)!important;
  box-shadow:0 5px 14px rgba(22,36,54,.18)!important;
  outline:3px solid rgba(22,36,54,.12)!important;
  outline-offset:2px!important;
}
.lpu-agent__close:active{transform:scale(.96)!important}
.lpu-agent--floating.is-open .lpu-agent__launcher{opacity:.72}
@media(max-width:700px){
  .lpu-agent__header{padding-right:60px!important}
  .lpu-agent__close{top:11px!important;right:11px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}

/* v0.2.6 light interface */
.lpu-agent__messages{background:#f4f7fa!important}
.lpu-agent__composer{background:#f8fafc!important}
.lpu-agent__service-group,.lpu-agent__result,.lpu-agent__patient-form,.lpu-agent__verify-card,.lpu-agent__payment-card,.lpu-agent__confirmation,.lpu-agent__enquiry{background:#fff}
\n\n/* v0.2.7 — professional shell + reliable close behaviour */
.lpu-agent{
  --professional:#162436;
  --professional-soft:#f3f6f9;
  --professional-line:#dbe2e9;
  --professional-muted:#667487;
}
.lpu-agent__panel{
  border:1px solid #d7dee6!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(22,36,54,.16)!important;
}
.lpu-agent__header{
  min-height:118px!important;
  padding:22px 64px 20px 28px!important;
  background:#fff!important;
  border-bottom:1px solid #e3e8ee!important;
}
.lpu-agent__eyebrow{
  color:#667487!important;
  font-size:.66rem!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
}
.lpu-agent__headcopy h2{
  color:#162436!important;
  font-size:clamp(1.7rem,4vw,2.2rem)!important;
  line-height:1.08!important;
  margin:.12rem 0 .48rem!important;
}
.lpu-agent__headcopy>p:last-child{
  max-width:560px!important;
  color:#657387!important;
  font-size:.9rem!important;
  line-height:1.52!important;
}
.lpu-agent__close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  z-index:1000!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #d6dee6!important;
  border-radius:8px!important;
  background:#f5f7f9!important;
  color:#162436!important;
  box-shadow:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.lpu-agent__close svg{
  width:16px!important;
  height:16px!important;
  fill:currentColor!important;
  pointer-events:none!important;
}
.lpu-agent__close:hover,.lpu-agent__close:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
  transform:none!important;
  box-shadow:0 4px 12px rgba(22,36,54,.16)!important;
  outline:2px solid rgba(22,36,54,.13)!important;
  outline-offset:2px!important;
}
.lpu-agent__close:active{background:#0f1b2a!important;transform:translateY(1px)!important}
/* Critical: prevent the launcher receiving the same pointer sequence after Close. */
.lpu-agent--floating.is-open .lpu-agent__launcher{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(4px)!important;
}
.lpu-agent__progress{
  background:#fbfcfd!important;
  border-bottom:1px solid #e2e7ed!important;
}
.lpu-agent__messages{background:#f5f7fa!important}
.lpu-agent__composer{
  background:#fff!important;
  border-top:1px solid #dde4eb!important;
  box-shadow:0 -8px 22px rgba(22,36,54,.035)!important;
}
.lpu-agent__result,.lpu-agent__availability,.lpu-agent__inline-card,.lpu-agent__patient-form,.lpu-agent__verify-card,.lpu-agent__payment-card,.lpu-agent__confirmation,.lpu-agent__enquiry{
  border-color:#dce3ea!important;
  border-radius:11px!important;
  box-shadow:0 3px 12px rgba(22,36,54,.045)!important;
}
.lpu-agent__result:hover{
  border-color:#162436!important;
  box-shadow:0 7px 20px rgba(22,36,54,.08)!important;
}
.lpu-agent__result-actions button,
.lpu-agent__chips button,
.lpu-agent__date-row button,
.lpu-agent__inputrow button,
.lpu-agent__cta{
  border-radius:7px!important;
}
.lpu-agent__inputrow input,
.lpu-agent__formgrid input,
.lpu-agent__formgrid select,
.lpu-agent__formgrid textarea,
.lpu-agent__date-row input{
  border-radius:7px!important;
}
@media(max-width:700px){
  .lpu-agent__header{min-height:102px!important;padding:18px 56px 17px 18px!important}
  .lpu-agent__close{top:14px!important;right:14px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}
}

/* =========================================================
   v0.2.8 — professional chatbot shell + deterministic close
   ========================================================= */
.lpu-agent--floating{
  isolation:isolate;
}
.lpu-agent--floating .lpu-agent__panel{
  display:flex!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,16px,0) scale(.985);
  transform-origin:bottom left;
  transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s;
  will-change:transform,opacity;
}
.lpu-agent--floating.is-open .lpu-agent__panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0) scale(1);
  transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s;
}
.lpu-agent--floating .lpu-agent__backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:-1!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  cursor:default!important;
}
.lpu-agent--floating.is-open .lpu-agent__backdrop{
  z-index:-1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Launcher behaves like a modern support/chat product. */
.lpu-agent__launcher{
  min-height:58px!important;
  padding:9px 14px 9px 10px!important;
  gap:10px!important;
  border:1px solid #d8e0e7!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#162436!important;
  box-shadow:0 10px 30px rgba(22,36,54,.16)!important;
  animation:lpuChatFloat 5.8s ease-in-out infinite!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .15s ease!important;
}
.lpu-agent__launcher:hover,.lpu-agent__launcher:focus-visible{
  background:#fff!important;
  color:#162436!important;
  border-color:#162436!important;
  box-shadow:0 13px 34px rgba(22,36,54,.20)!important;
  transform:translateY(-2px)!important;
  outline:none!important;
}
.lpu-agent__launcher::after{display:none!important;content:none!important}
.lpu-agent__launcher-dot{display:none!important}
.lpu-agent__launcher-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  background:#162436!important;
  color:#fff!important;
}
.lpu-agent__launcher-icon svg{width:21px!important;height:21px!important;fill:currentColor!important;display:block!important}
.lpu-agent__launcher-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important;line-height:1.15!important;white-space:nowrap!important}
.lpu-agent__launcher-copy strong{font-size:.86rem!important;font-weight:800!important;color:#162436!important}
.lpu-agent__launcher-copy small{font-size:.66rem!important;font-weight:600!important;color:#6a7787!important}
.lpu-agent--floating.is-open .lpu-agent__launcher{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(8px) scale(.96)!important;
}
@keyframes lpuChatFloat{
  0%,72%,100%{transform:translateY(0)}
  78%{transform:translateY(-3px)}
  84%{transform:translateY(0)}
  90%{transform:translateY(-1.5px)}
}

/* Close button: unmistakable, isolated and always clickable. */
.lpu-agent__header{position:relative!important}
.lpu-agent__close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:2147483646!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid #d8e0e7!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#162436!important;
  box-shadow:0 4px 14px rgba(22,36,54,.08)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease!important;
}
.lpu-agent__close svg{width:17px!important;height:17px!important;fill:currentColor!important;pointer-events:none!important}
.lpu-agent__close:hover,.lpu-agent__close:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
  outline:3px solid rgba(22,36,54,.12)!important;
  outline-offset:2px!important;
  transform:none!important;
}
.lpu-agent__close:active{transform:scale(.95)!important}

/* Cleaner chat-product proportions. */
.lpu-agent--floating .lpu-agent__panel{
  width:min(480px,calc(100vw - 28px))!important;
  max-height:min(600px,calc(100dvh - 92px))!important;
  border-radius:16px!important;
  box-shadow:0 24px 70px rgba(22,36,54,.22)!important;
}
.lpu-agent--floating .lpu-agent__header{min-height:auto!important;padding:18px 62px 15px 20px!important}
.lpu-agent--floating .lpu-agent__headcopy h2{font-size:1.65rem!important;letter-spacing:-.02em!important}
.lpu-agent--floating .lpu-agent__headcopy>p:last-child{font-size:.8rem!important;line-height:1.42!important}
.lpu-agent--floating .lpu-agent__messages{background:#f5f7fa!important}

@media(max-width:700px){
  .lpu-agent--floating .lpu-agent__panel{
    width:calc(100vw - 20px)!important;
    max-height:min(570px,calc(100dvh - 76px))!important;
    border-radius:15px!important;
  }
  .lpu-agent--floating .lpu-agent__header{padding:15px 56px 13px 16px!important}
  .lpu-agent__close{top:11px!important;right:11px!important;width:38px!important;height:38px!important}
  .lpu-agent__launcher{min-height:54px!important;padding:8px 12px 8px 8px!important}
  .lpu-agent__launcher-icon{width:36px!important;height:36px!important;flex-basis:36px!important}
}
@media(prefers-reduced-motion:reduce){
  .lpu-agent__launcher{animation:none!important}
  .lpu-agent--floating .lpu-agent__panel{transition:none!important}
}


/* =========================================================
   v0.2.9 — clinic-prioritised popular services + polished UI
   White + #162436 only; no brown/gold visual accents.
   ========================================================= */
.lpu-agent{
  --navy:#162436!important;
  --navy-dark:#162436!important;
  --brand:#162436!important;
  --brand2:#162436!important;
  --gold:#162436!important;
  --gold2:#162436!important;
  --accent:#162436!important;
  --warm:#f6f8fb!important;
  --bg:#f4f7fa!important;
  --panel:#ffffff!important;
  --line:#dbe2ea!important;
  --muted:#687789!important;
}

/* Three primary choices stay on one row */
.lpu-agent__chips.is-discovery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
  margin-bottom:10px!important;
}
.lpu-agent__chips.is-discovery button{
  min-width:0!important;
  min-height:44px!important;
  padding:8px 7px!important;
  border:1px solid #162436!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#162436!important;
  font-size:.69rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:normal!important;
  text-align:center!important;
  box-shadow:0 3px 10px rgba(22,36,54,.05)!important;
}
.lpu-agent__chips.is-discovery button:first-child{
  background:#162436!important;
  color:#fff!important;
}
.lpu-agent__chips.is-discovery button:hover,
.lpu-agent__chips.is-discovery button:focus-visible{
  background:#162436!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 6px 16px rgba(22,36,54,.14)!important;
}

/* More engaging popular-services module */
.lpu-agent__popular{
  border:1px solid #dbe2ea!important;
  border-radius:12px!important;
  padding:12px!important;
  background:linear-gradient(180deg,#f7f9fc 0%,#ffffff 100%)!important;
  box-shadow:0 8px 22px rgba(22,36,54,.06)!important;
}
.lpu-agent__popular-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:0 1px!important;
}
.lpu-agent__popular-head>div{display:flex!important;flex-direction:column!important;gap:1px!important}
.lpu-agent__popular-head small{
  color:#718093!important;
  font-size:.57rem!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.lpu-agent__popular-head strong{
  color:#162436!important;
  font-size:.82rem!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.lpu-agent__popular-head>span{
  color:#718093!important;
  font-size:.61rem!important;
  white-space:nowrap!important;
}
.lpu-agent__popular-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.lpu-agent__popular-service{
  min-width:0!important;
  min-height:54px!important;
  padding:9px 10px!important;
  border:1px solid #d7dfe7!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#162436!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  text-align:left!important;
  box-shadow:0 2px 7px rgba(22,36,54,.035)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.lpu-agent__popular-service>span{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:center!important;
}
.lpu-agent__popular-service i{
  width:22px!important;height:22px!important;
  display:grid!important;place-items:center!important;
  border-radius:6px!important;
  background:#eef2f6!important;
  color:#162436!important;
  font-size:.61rem!important;
  font-style:normal!important;
  font-weight:900!important;
}
.lpu-agent__popular-service em{
  min-width:0!important;
  color:#162436!important;
  font-size:.69rem!important;
  font-style:normal!important;
  font-weight:800!important;
  line-height:1.28!important;
}
.lpu-agent__popular-service b{
  color:#162436!important;
  font-size:.64rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.lpu-agent__popular-service:hover,
.lpu-agent__popular-service:focus-visible{
  background:#162436!important;
  border-color:#162436!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 7px 16px rgba(22,36,54,.16)!important;
  outline:none!important;
}
.lpu-agent__popular-service:hover em,
.lpu-agent__popular-service:hover b,
.lpu-agent__popular-service:focus-visible em,
.lpu-agent__popular-service:focus-visible b{color:#fff!important}
.lpu-agent__popular-service:hover i,
.lpu-agent__popular-service:focus-visible i{background:#fff!important;color:#162436!important}

/* Results feel like a modern booking product rather than a raw list */
.lpu-agent__result{
  border-radius:10px!important;
  border:1px solid #dce3ea!important;
  padding:12px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(22,36,54,.035)!important;
}
.lpu-agent__result:hover{border-color:#9fabb8!important;box-shadow:0 7px 18px rgba(22,36,54,.08)!important}
.lpu-agent__result-actions button{border-radius:7px!important;min-height:40px!important}

/* Search/footer visual cleanup */
.lpu-agent__composer{
  background:#f8fafc!important;
  border-top:1px solid #dbe2ea!important;
  box-shadow:0 -5px 16px rgba(22,36,54,.035)!important;
}
.lpu-agent__inputrow{
  padding:3px!important;
  border:1px solid #cfd8e2!important;
  border-radius:9px!important;
  background:#fff!important;
}
.lpu-agent__inputrow input{border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important}
.lpu-agent__inputrow button{border-radius:7px!important;min-width:76px!important}

/* Ensure legacy accent declarations can never surface brown */
.lpu-agent *{--gold:#162436;--gold2:#162436;--accent:#162436}

@media(max-width:520px){
  .lpu-agent__chips.is-discovery{gap:4px!important}
  .lpu-agent__chips.is-discovery button{font-size:.61rem!important;padding:7px 4px!important;min-height:42px!important}
  .lpu-agent__popular-grid{grid-template-columns:1fr!important}
  .lpu-agent__popular-service{min-height:48px!important}
}


/* =========================================================
   v0.3.0 — focused navy booking window + modal page overlay
   ========================================================= */
.lpu-agent{
  --navy-dark:#162436!important;
  --brand:#162436!important;
}

/* The booking window itself uses LondonSono navy as its shell. */
.lpu-agent--floating .lpu-agent__panel{
  background:#162436!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 28px 80px rgba(10,20,34,.34)!important;
}
.lpu-agent--floating .lpu-agent__header{
  background:#162436!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.lpu-agent--floating .lpu-agent__eyebrow,
.lpu-agent--floating .lpu-agent__headcopy h2,
.lpu-agent--floating .lpu-agent__headcopy>p:last-child{
  color:#fff!important;
}
.lpu-agent--floating .lpu-agent__eyebrow{opacity:.72!important}
.lpu-agent--floating .lpu-agent__headcopy>p:last-child{opacity:.86!important}

/* Keep the working area bright and readable inside the navy shell. */
.lpu-agent--floating .lpu-agent__progress{
  background:#fff!important;
  border-bottom:1px solid #e4e9ef!important;
}
.lpu-agent--floating .lpu-agent__messages{
  background:#f4f7fa!important;
  border-radius:0!important;
}
.lpu-agent--floating .lpu-agent__composer{
  background:#162436!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
.lpu-agent--floating .lpu-agent__inputrow input{
  background:#fff!important;
  color:#162436!important;
  border-color:#d7dee7!important;
}
.lpu-agent--floating .lpu-agent__inputrow button{
  background:#fff!important;
  color:#162436!important;
  border:1px solid #fff!important;
}
.lpu-agent--floating .lpu-agent__inputrow button:hover,
.lpu-agent--floating .lpu-agent__inputrow button:focus-visible{
  background:#eef2f6!important;
  border-color:#eef2f6!important;
  color:#162436!important;
}
.lpu-agent--floating .lpu-agent__footerline span,
.lpu-agent--floating .lpu-agent__footerline button{
  color:#fff!important;
}
.lpu-agent--floating .lpu-agent__footerline span{opacity:.72!important}

/* Remove the visible heading above the default suggestions. */
.lpu-agent__popular{margin-top:4px!important;padding-top:8px!important}
.lpu-agent__popular-head{display:none!important}

/* Professional close control on the dark header. */
.lpu-agent--floating .lpu-agent__close{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:none!important;
}
.lpu-agent--floating .lpu-agent__close:hover,
.lpu-agent--floating .lpu-agent__close:focus-visible{
  background:#fff!important;
  color:#162436!important;
  border-color:#fff!important;
  outline:3px solid rgba(255,255,255,.16)!important;
}

/* When opened, visually de-emphasise the website behind the agent. */
.lpu-agent--floating .lpu-agent__backdrop{
  z-index:0!important;
  background:rgba(22,36,54,0)!important;
  -webkit-backdrop-filter:blur(0)!important;
  backdrop-filter:blur(0)!important;
  transition:background .22s ease,backdrop-filter .22s ease,-webkit-backdrop-filter .22s ease,opacity .22s ease!important;
}
.lpu-agent--floating.is-open .lpu-agent__backdrop{
  z-index:1!important;
  opacity:1!important;
  background:rgba(22,36,54,.48)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.lpu-agent--floating .lpu-agent__panel{z-index:3!important}
.lpu-agent--floating .lpu-agent__launcher{z-index:3!important}

/* Suggested-service cards remain white for clarity on the light content surface. */
.lpu-agent__popular-service{
  background:#fff!important;
  color:#162436!important;
  border-color:#d7dee7!important;
  box-shadow:0 2px 8px rgba(22,36,54,.05)!important;
}
.lpu-agent__popular-service:hover,
.lpu-agent__popular-service:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
  box-shadow:0 8px 20px rgba(22,36,54,.16)!important;
}

@media(max-width:700px){
  .lpu-agent--floating.is-open .lpu-agent__backdrop{
    background:rgba(22,36,54,.42)!important;
    -webkit-backdrop-filter:blur(1.5px)!important;
    backdrop-filter:blur(1.5px)!important;
  }
}


/* =========================================================
   v0.3.1 — cleaner professional typography + button contrast
   ========================================================= */
.lpu-agent{
  --navy:#162436!important;
  --navy-dark:#162436!important;
  --accent:#162436!important;
  --ink:#162436!important;
}

/* Remove the previous default popular-service presentation completely. */
.lpu-agent__popular{display:none!important}

/* Professional typography: strong hierarchy without overly heavy 800 weight. */
.lpu-agent__eyebrow,
.lpu-agent__progress span,
.lpu-agent__service-group-head>span,
.lpu-agent__service-group-head small,
.lpu-agent__result-copy small,
.lpu-agent__availability-head small,
.lpu-agent__payment-head small,
.lpu-agent__form-title small,
.lpu-agent__formgrid label,
.lpu-agent__confirmation dt{
  font-weight:600!important;
}
.lpu-agent__headcopy h2,
.lpu-agent__progress b,
.lpu-agent__service-group-head strong,
.lpu-agent__result-copy strong,
.lpu-agent__availability-head strong,
.lpu-agent__payment-head strong,
.lpu-agent__form-title strong,
.lpu-agent__branch strong,
.lpu-agent__slot strong,
.lpu-agent__confirmation dd,
.lpu-agent__launcher-copy strong{
  font-weight:700!important;
}
.lpu-agent__headcopy p,
.lpu-agent__msg,
.lpu-agent__result-copy span,
.lpu-agent__branch span,
.lpu-agent__formgrid input,
.lpu-agent__formgrid select,
.lpu-agent__formgrid textarea,
.lpu-agent__consent,
.lpu-agent__payment-help,
.lpu-agent__secure-note{
  font-weight:400!important;
}

/* Universal interactive states — always distinguishable from #162436 shell. */
.lpu-agent button{
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.lpu-agent button:focus-visible{
  outline:3px solid rgba(255,255,255,.72)!important;
  outline-offset:2px!important;
}

/* Main actions on white/light cards. */
.lpu-agent__result-actions button.is-primary,
.lpu-agent__cta,
.lpu-agent__date-row button,
.lpu-agent__branch.is-primary,
.lpu-agent__slot.is-nearest{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
}
.lpu-agent__result-actions button.is-primary:hover,
.lpu-agent__cta:hover,
.lpu-agent__date-row button:hover,
.lpu-agent__branch.is-primary:hover,
.lpu-agent__slot.is-nearest:hover{
  background:#fff!important;
  color:#162436!important;
  border-color:#162436!important;
  box-shadow:inset 0 0 0 1px #162436!important;
}

/* Secondary actions on light cards. */
.lpu-agent__result-actions button:not(.is-primary),
.lpu-agent__branch:not(.is-primary),
.lpu-agent__slot:not(.is-nearest),
.lpu-agent__chips button,
.lpu-agent__back{
  background:#fff!important;
  color:#162436!important;
  border:1px solid #162436!important;
}
.lpu-agent__result-actions button:not(.is-primary):hover,
.lpu-agent__branch:not(.is-primary):hover,
.lpu-agent__slot:not(.is-nearest):hover,
.lpu-agent__chips button:hover,
.lpu-agent__back:hover{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
}

/* Dark composer/shell controls must stay visibly separate from shell. */
.lpu-agent__composer .lpu-agent__inputrow button,
.lpu-agent__composer [data-role="send"]{
  background:#fff!important;
  color:#162436!important;
  border:1px solid #fff!important;
  font-weight:700!important;
}
.lpu-agent__composer .lpu-agent__inputrow button:hover,
.lpu-agent__composer [data-role="send"]:hover{
  background:#eaf0f6!important;
  color:#162436!important;
  border-color:#eaf0f6!important;
}
.lpu-agent__composer .lpu-agent__chips button{
  background:#fff!important;
  color:#162436!important;
  border-color:#fff!important;
  font-weight:600!important;
}
.lpu-agent__composer .lpu-agent__chips button:hover{
  background:#dfe8f0!important;
  color:#162436!important;
  border-color:#dfe8f0!important;
}

/* Close button remains separate from the dark header. */
.lpu-agent__close{
  background:#fff!important;
  color:#162436!important;
  border:1px solid rgba(255,255,255,.9)!important;
}
.lpu-agent__close:hover,.lpu-agent__close:focus-visible{
  background:#dfe8f0!important;
  color:#162436!important;
  border-color:#fff!important;
}

/* Launcher remains visually distinct from page and modal shell. */
.lpu-agent__launcher{
  background:#fff!important;
  color:#162436!important;
  border:1px solid #162436!important;
}
.lpu-agent__launcher:hover,.lpu-agent__launcher:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
}
.lpu-agent__launcher:hover .lpu-agent__launcher-copy strong,
.lpu-agent__launcher:focus-visible .lpu-agent__launcher-copy strong,
.lpu-agent__launcher:hover .lpu-agent__launcher-copy span,
.lpu-agent__launcher:focus-visible .lpu-agent__launcher-copy span{
  color:#fff!important;
}


/* =========================================================
   v0.3.2 — unified white/navy buttons + clearer opening help
   ========================================================= */
.lpu-agent{--lpu-action:#162436!important;--lpu-action-soft:#eef2f6!important}
.lpu-agent__welcome-help{display:inline-block;margin-top:6px;color:#526173;font-size:.78rem;line-height:1.55;font-weight:400}

/* Every native agent button starts white/navy and reverses on hover/focus. */
.lpu-agent button:not(:disabled){
  background:#fff!important;
  color:#162436!important;
  border:1px solid #162436!important;
  box-shadow:none!important;
}
.lpu-agent button:not(:disabled):hover,
.lpu-agent button:not(:disabled):focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#162436!important;
  box-shadow:0 5px 14px rgba(22,36,54,.14)!important;
  outline:none!important;
}
.lpu-agent button:disabled{background:#f2f4f6!important;color:#8b96a5!important;border:1px solid #d9e0e7!important;box-shadow:none!important}

/* Selected/priority controls remain white so nothing disappears into the dark shell. */
.lpu-agent__result-actions button.is-primary,
.lpu-agent__branch.is-primary,
.lpu-agent__slot.is-nearest,
.lpu-agent__chips button:first-child,
.lpu-agent__cta,
.lpu-agent__inputrow button,
.lpu-agent__launcher,
.lpu-agent__close{
  background:#fff!important;
  color:#162436!important;
  border:1px solid #162436!important;
}
.lpu-agent__slot.is-nearest{box-shadow:inset 0 0 0 2px #162436!important;font-weight:700!important}
.lpu-agent__slot.is-nearest span{color:#162436!important;opacity:.75!important}
.lpu-agent__slot.is-nearest:hover span,.lpu-agent__slot.is-nearest:focus-visible span{color:#fff!important;opacity:.85!important}

/* Keep the three opening category buttons in one row on normal floating/desktop widths. */
.lpu-agent__chips[data-chip-mode="discovery"],
.lpu-agent__chips.is-discovery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.lpu-agent__chips[data-chip-mode="discovery"] button,
.lpu-agent__chips.is-discovery button{width:100%!important;min-width:0!important;padding:9px 7px!important;line-height:1.2!important;font-size:.69rem!important;font-weight:600!important}

@media(max-width:430px){
  .lpu-agent__chips[data-chip-mode="discovery"],.lpu-agent__chips.is-discovery{grid-template-columns:1fr!important}
}


/* =========================================================
   v0.3.3 — mobile responsiveness, top-layer modal, 3 buttons in one row
   ========================================================= */

/* Keep the whole floating booking agent above WhatsApp, sticky bars and theme UI. */
.lpu-agent--floating{
  z-index:2147483600!important;
  isolation:isolate!important;
}
.lpu-agent--floating .lpu-agent__backdrop{z-index:1!important}
.lpu-agent--floating .lpu-agent__panel{z-index:3!important}
.lpu-agent--floating .lpu-agent__launcher{z-index:3!important}
.lpu-agent--floating .lpu-agent__close{z-index:10!important}

/* Discovery controls always stay in one compact row, including mobile. */
.lpu-agent__chips[data-chip-mode="discovery"],
.lpu-agent__chips.is-discovery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  align-items:stretch!important;
}
.lpu-agent__chips[data-chip-mode="discovery"] button,
.lpu-agent__chips.is-discovery button{
  width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  padding:7px 5px!important;
  margin:0!important;
  white-space:normal!important;
  line-height:1.15!important;
  text-align:center!important;
  font-size:clamp(.58rem,2.35vw,.72rem)!important;
  font-weight:600!important;
  background:#fff!important;
  color:#162436!important;
  border:1px solid rgba(255,255,255,.92)!important;
  border-radius:7px!important;
}
.lpu-agent__chips[data-chip-mode="discovery"] button:hover,
.lpu-agent__chips[data-chip-mode="discovery"] button:focus-visible,
.lpu-agent__chips.is-discovery button:hover,
.lpu-agent__chips.is-discovery button:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#fff!important;
}

/* Prevent sticky touch-hover from leaving the first Ultrasound button navy on phones. */
@media (hover:none){
  .lpu-agent__chips[data-chip-mode="discovery"] button:hover,
  .lpu-agent__chips.is-discovery button:hover{
    background:#fff!important;
    color:#162436!important;
    border-color:#fff!important;
  }
  .lpu-agent__chips[data-chip-mode="discovery"] button:active,
  .lpu-agent__chips.is-discovery button:active{
    background:#162436!important;
    color:#fff!important;
  }
}

/* More usable mobile modal: use viewport width/height without overflowing sticky page UI. */
@media(max-width:700px){
  .lpu-agent--floating{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
  }
  .lpu-agent--floating .lpu-agent__panel{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100dvh - 16px)!important;
    margin:0!important;
    border-radius:14px!important;
  }
  .lpu-agent--floating .lpu-agent__header{
    padding:13px 52px 10px 14px!important;
  }
  .lpu-agent--floating .lpu-agent__headcopy h2{
    font-size:1.3rem!important;
    line-height:1.1!important;
  }
  .lpu-agent--floating .lpu-agent__headcopy>p:last-child{
    font-size:.74rem!important;
    line-height:1.35!important;
  }
  .lpu-agent--floating .lpu-agent__progress{
    padding:8px 11px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .lpu-agent--floating .lpu-agent__progress::-webkit-scrollbar{display:none!important}
  .lpu-agent--floating .lpu-agent__messages{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:10px 11px 7px!important;
    overscroll-behavior:contain!important;
  }
  .lpu-agent--floating .lpu-agent__composer{
    padding:8px 10px calc(9px + env(safe-area-inset-bottom))!important;
  }
  .lpu-agent__inputrow{
    gap:5px!important;
    padding:3px!important;
  }
  .lpu-agent__inputrow input{
    min-height:44px!important;
    padding:10px 9px!important;
    font-size:16px!important; /* prevents iOS zoom */
  }
  .lpu-agent__inputrow button{
    min-width:68px!important;
    min-height:44px!important;
    padding:8px 9px!important;
    font-size:.72rem!important;
  }
  .lpu-agent__footerline{
    margin-top:6px!important;
  }
  .lpu-agent__footerline span{display:none!important}
  .lpu-agent__footerline button{
    min-height:36px!important;
    padding:6px 10px!important;
    font-size:.68rem!important;
  }
  .lpu-agent__close{
    top:9px!important;
    right:9px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
  }
}

@media(max-width:380px){
  .lpu-agent__chips[data-chip-mode="discovery"],
  .lpu-agent__chips.is-discovery{gap:4px!important}
  .lpu-agent__chips[data-chip-mode="discovery"] button,
  .lpu-agent__chips.is-discovery button{
    min-height:40px!important;
    padding:6px 3px!important;
    font-size:.56rem!important;
  }
}

/* =========================================================
   v0.3.5 — true full-screen mobile booking assistant
   ========================================================= */
@media(max-width:700px){
  .lpu-agent--floating{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    margin:0!important;
    pointer-events:none!important;
  }

  .lpu-agent--floating .lpu-agent__panel{
    position:fixed!important;
    inset:0!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    pointer-events:auto!important;
  }


  .lpu-agent--floating .lpu-agent__header{
    flex:0 0 auto!important;
    padding:calc(13px + env(safe-area-inset-top)) 54px 11px 16px!important;
    border-radius:0!important;
  }

  .lpu-agent--floating .lpu-agent__progress{
    flex:0 0 auto!important;
    padding:8px 12px!important;
    width:100%!important;
  }

  .lpu-agent--floating .lpu-agent__messages{
    flex:1 1 0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:12px 12px 10px!important;
  }

  .lpu-agent--floating .lpu-agent__composer{
    flex:0 0 auto!important;
    width:100%!important;
    margin:0!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    border-radius:0!important;
  }

  .lpu-agent--floating .lpu-agent__inputrow{
    width:100%!important;
  }

  .lpu-agent--floating .lpu-agent__inputrow input{
    min-width:0!important;
    width:100%!important;
  }

  .lpu-agent--floating .lpu-agent__close{
    position:absolute!important;
    top:calc(10px + env(safe-area-inset-top))!important;
    right:12px!important;
  }

  /* Launcher stays compact when the assistant is closed. */
  .lpu-agent--floating .lpu-agent__launcher{
    position:fixed!important;
    left:12px!important;
    right:auto!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:auto!important;
    pointer-events:auto!important;
  }
}


/* v0.3.8 — persistent desktop booking navigation */
.lpu-agent__persistent-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 18px;
  background:#162436;
  border-bottom:1px solid rgba(255,255,255,.12);
  flex:0 0 auto;
}
.lpu-agent__persistent-actions button{
  appearance:none;
  min-height:36px;
  padding:7px 13px;
  border:1px solid #fff;
  border-radius:6px;
  background:#fff;
  color:#162436;
  font-size:.72rem;
  line-height:1.15;
  font-weight:600;
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.lpu-agent__persistent-actions button:hover,
.lpu-agent__persistent-actions button:focus-visible{
  background:#162436;
  color:#fff;
  border-color:#fff;
  outline:2px solid rgba(255,255,255,.32);
  outline-offset:1px;
}
.lpu-agent__persistent-actions button:active{transform:translateY(1px)}
.lpu-agent__persistent-back[hidden]{display:none!important}
.lpu-agent__persistent-restart{margin-left:auto}

/* Keep the composer footer uncluttered on desktop now that navigation is persistent. */
@media (min-width:701px){
  .lpu-agent__footerline .lpu-agent__back,
  .lpu-agent__footerline [data-role="restart"]{display:none!important}
  .lpu-agent__footerline{grid-template-columns:1fr;justify-items:center}
}

/* On mobile the persistent bar stays compact and touch friendly as well. */
@media (max-width:700px){
  .lpu-agent__persistent-actions{padding:7px 10px}
  .lpu-agent__persistent-actions button{min-height:34px;padding:6px 10px;font-size:.7rem}
  .lpu-agent__footerline .lpu-agent__back,
  .lpu-agent__footerline [data-role="restart"]{display:none!important}
}


/* =========================================================
   v0.3.9 — stable mobile flow + true bottom navigation
   ========================================================= */
.lpu-agent__persistent-actions{
  order:99!important;
  flex:0 0 auto!important;
  width:100%!important;
  padding:9px 14px!important;
  background:#162436!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  position:relative!important;
  z-index:30!important;
}
.lpu-agent__persistent-actions button{
  min-height:38px!important;
  padding:8px 13px!important;
  border:1px solid #fff!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#162436!important;
  font-size:.74rem!important;
  font-weight:600!important;
  line-height:1.1!important;
  box-shadow:none!important;
}
.lpu-agent__persistent-actions button:hover,
.lpu-agent__persistent-actions button:focus-visible{
  background:#162436!important;
  color:#fff!important;
  border-color:#fff!important;
  outline:2px solid rgba(255,255,255,.34)!important;
  outline-offset:1px!important;
}
.lpu-agent__persistent-restart{margin-left:auto!important}
.lpu-agent__persistent-back[hidden]{display:none!important}

/* The wrapper owns the open state. The panel itself must remain interactive
   whenever the wrapper is open, especially in full-screen mobile mode. */
.lpu-agent--floating.is-open .lpu-agent__panel{
  pointer-events:auto!important;
  visibility:visible!important;
}
.lpu-agent--floating.is-closed .lpu-agent__panel{
  pointer-events:none!important;
}

@media(max-width:700px){
  .lpu-agent--floating .lpu-agent__panel{
    display:flex!important;
    flex-direction:column!important;
  }
  .lpu-agent--floating .lpu-agent__header{order:1!important}
  .lpu-agent--floating .lpu-agent__progress{order:2!important}
  .lpu-agent--floating .lpu-agent__messages{order:3!important;flex:1 1 0!important;min-height:0!important;overflow-y:auto!important}
  .lpu-agent--floating .lpu-agent__composer{order:4!important;flex:0 0 auto!important}
  .lpu-agent--floating .lpu-agent__persistent-actions{
    order:5!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
    min-height:54px!important;
  }
  .lpu-agent--floating .lpu-agent__persistent-actions button{
    min-height:38px!important;
    font-size:.72rem!important;
    padding:7px 11px!important;
  }
}

/* =========================================================
   v0.4.0 — desktop fit, stable backdrop, true bottom actions
   ========================================================= */

/* The modal backdrop is a functional close surface, not a visible action
   button. Never let generic button hover/focus rules style it. */
.lpu-agent .lpu-agent__backdrop,
.lpu-agent .lpu-agent__backdrop:hover,
.lpu-agent .lpu-agent__backdrop:focus,
.lpu-agent .lpu-agent__backdrop:focus-visible,
.lpu-agent .lpu-agent__backdrop:active{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  color:transparent!important;
  cursor:default!important;
  transform:none!important;
}
.lpu-agent--floating .lpu-agent__backdrop,
.lpu-agent--floating .lpu-agent__backdrop:hover,
.lpu-agent--floating .lpu-agent__backdrop:focus-visible{
  background:rgba(22,36,54,0)!important;
}
.lpu-agent--floating.is-open .lpu-agent__backdrop,
.lpu-agent--floating.is-open .lpu-agent__backdrop:hover,
.lpu-agent--floating.is-open .lpu-agent__backdrop:focus-visible{
  background:rgba(22,36,54,.42)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}

/* Desktop behaves like a fixed-size professional booking/chat window.
   It must never collapse, stretch with page hover states, or be clipped by
   the launcher wrapper. */
@media (min-width:701px){
  .lpu-agent--floating{
    position:fixed!important;
    left:24px!important;
    right:auto!important;
    bottom:22px!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    overflow:visible!important;
  }

  .lpu-agent--floating .lpu-agent__panel{
    position:fixed!important;
    left:24px!important;
    right:auto!important;
    bottom:86px!important;
    top:auto!important;
    width:min(620px,calc(100vw - 48px))!important;
    min-width:min(620px,calc(100vw - 48px))!important;
    max-width:min(620px,calc(100vw - 48px))!important;
    height:min(720px,calc(100dvh - 112px))!important;
    min-height:520px!important;
    max-height:min(720px,calc(100dvh - 112px))!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:16px!important;
    border:1px solid #cfd7e1!important;
    background:#f5f7fa!important;
    box-shadow:0 24px 70px rgba(9,20,34,.28)!important;
  }

  .lpu-agent--floating .lpu-agent__header{
    order:1!important;
    flex:0 0 auto!important;
    width:100%!important;
  }
  .lpu-agent--floating .lpu-agent__progress{
    order:2!important;
    flex:0 0 auto!important;
    width:100%!important;
  }
  .lpu-agent--floating .lpu-agent__messages{
    order:3!important;
    flex:1 1 0!important;
    min-height:0!important;
    width:100%!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    background:#f5f7fa!important;
  }
  .lpu-agent--floating .lpu-agent__composer{
    order:4!important;
    flex:0 0 auto!important;
    width:100%!important;
  }
  .lpu-agent--floating .lpu-agent__persistent-actions{
    order:5!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:9px 18px!important;
    border-top:1px solid rgba(255,255,255,.18)!important;
    border-bottom:0!important;
    background:#162436!important;
    position:relative!important;
    inset:auto!important;
  }

  .lpu-agent--floating .lpu-agent__persistent-actions button{
    min-width:112px!important;
    min-height:40px!important;
    padding:8px 14px!important;
    background:#fff!important;
    color:#162436!important;
    border:1px solid #fff!important;
    border-radius:8px!important;
    font-size:.76rem!important;
    font-weight:600!important;
  }
  .lpu-agent--floating .lpu-agent__persistent-actions button:hover,
  .lpu-agent--floating .lpu-agent__persistent-actions button:focus-visible{
    background:#e8edf3!important;
    color:#162436!important;
    border-color:#fff!important;
    box-shadow:none!important;
    transform:none!important;
    outline:2px solid rgba(255,255,255,.42)!important;
  }

  /* Keep booking content comfortably inside the window. */
  .lpu-agent__availability,
  .lpu-agent__inline-card,
  .lpu-agent__patient-form,
  .lpu-agent__verify-card,
  .lpu-agent__payment-card,
  .lpu-agent__confirmation,
  .lpu-agent__enquiry{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .lpu-agent__availability-head,
  .lpu-agent__payment-head,
  .lpu-agent__form-title,
  .lpu-agent__result{
    min-width:0!important;
  }
  .lpu-agent__result-copy{min-width:0!important;flex:1 1 auto!important}
  .lpu-agent__result-copy strong,
  .lpu-agent__result-copy span{overflow-wrap:anywhere!important}
  .lpu-agent__result-actions{flex:0 0 auto!important}

  /* Hover is reserved for the actual control under the pointer. It must not
     recolour containers or the page backdrop. */
  .lpu-agent--floating .lpu-agent__panel:hover,
  .lpu-agent--floating .lpu-agent__messages:hover,
  .lpu-agent--floating .lpu-agent__composer:hover,
  .lpu-agent--floating .lpu-agent__persistent-actions:hover{
    filter:none!important;
    background-color:inherit;
  }
}

/* Mobile keeps the same bottom action placement while remaining full screen. */
@media (max-width:700px){
  .lpu-agent--floating .lpu-agent__persistent-actions{
    order:5!important;
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    flex:0 0 auto!important;
    width:100%!important;
    margin:0!important;
  }
}
\n\n/* =========================================================\n   v0.4.2 — sitewide launch, first-step focus, CTA refinement\n   ========================================================= */\n\n/* Patient-details continuation uses the same high-contrast LondonSono\n   white/navy system as the rest of the agent. */\n.lpu-agent__patient-form > .lpu-agent__cta,\n.lpu-agent__patient-form button[type="submit"].lpu-agent__cta{\n  background:#fff!important;\n  color:#162436!important;\n  border:1.5px solid #162436!important;\n  box-shadow:0 3px 10px rgba(22,36,54,.08)!important;\n  font-weight:700!important;\n}\n.lpu-agent__patient-form > .lpu-agent__cta:hover,\n.lpu-agent__patient-form > .lpu-agent__cta:focus-visible,\n.lpu-agent__patient-form button[type="submit"].lpu-agent__cta:hover,\n.lpu-agent__patient-form button[type="submit"].lpu-agent__cta:focus-visible{\n  background:#162436!important;\n  color:#fff!important;\n  border-color:#162436!important;\n  box-shadow:0 7px 18px rgba(22,36,54,.16)!important;\n}\n\n/* Keep the first booking content aligned neatly below the progress row when\n   the agent performs its initial automatic scroll. */\n.lpu-agent__messages{scroll-padding-top:14px!important}\n@media(max-width:700px){\n  .lpu-agent--floating .lpu-agent__messages{scroll-padding-top:10px!important}\n}\n
/* v0.4.4 — related service page actions */
.lpu-agent__service-check-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.lpu-agent__service-check-actions .lpu-agent__cta{margin:0}
.lpu-agent__cta--secondary{background:#fff!important;color:#162436!important;border:1px solid #162436!important;box-shadow:none!important}
.lpu-agent__cta--secondary:hover,.lpu-agent__cta--secondary:focus-visible{background:#162436!important;color:#fff!important}
@media(max-width:520px){.lpu-agent__service-check-actions{grid-template-columns:1fr}}

/* v0.4.5 — service-page actions are always visible and styled like buttons */
.lpu-agent__result-actions a[data-info]{
  display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;
  background:#fff!important;color:#162436!important;border:1px solid #162436!important;
  border-radius:9px;padding:8px 10px;font-size:.73rem;font-weight:600;line-height:1.2;white-space:nowrap;
  min-height:38px;transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.lpu-agent__result-actions a[data-info]:hover,.lpu-agent__result-actions a[data-info]:focus-visible{
  background:#162436!important;color:#fff!important;border-color:#162436!important;
}
@media(max-width:700px){.lpu-agent__result-actions a[data-info]{flex:1 1 0;white-space:normal;text-align:center}}


/* v0.4.8 — predictor rows with a dedicated service-page action */
.lpu-agent .lpu-agent__prediction-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid #d5dce5;border-radius:8px;overflow:hidden;background:#fff;margin:0 0 6px}
.lpu-agent .lpu-agent__prediction-row .lpu-agent__prediction{border:0!important;border-radius:0!important;margin:0!important;min-width:0;text-align:left}
.lpu-agent .lpu-agent__prediction-page{display:flex;align-items:center;justify-content:center;padding:8px 12px;border-left:1px solid #d5dce5;background:#fff;color:#162436!important;font-size:12px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.lpu-agent .lpu-agent__prediction-page:hover,.lpu-agent .lpu-agent__prediction-page:focus{background:#162436!important;color:#fff!important}
@media (max-width:600px){.lpu-agent .lpu-agent__prediction-row{grid-template-columns:minmax(0,1fr) 92px}.lpu-agent .lpu-agent__prediction-page{padding:7px 8px;font-size:11px}}
