/* NOBREAKS on-page assistant and booking celebration. Same system as the site: dark panels, 18px frames,
   pills for actions, orange only on what you can click. Works on the homepage, service pages and book page. */
.nba{--nba-ink:#0A0A0A;--nba-panel:#0F1519;--nba-line:rgba(229,228,226,.12);--nba-text:#E5E4E2;--nba-mist:#A9B2BA;--nba-red:#D91A12;
  position:fixed;right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:60;font-family:"Questrial",system-ui,sans-serif;color:var(--nba-text);transition:opacity .3s,translate .3s}
.nba.hide{opacity:0;pointer-events:none;translate:0 12px}
.nba-open{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:#141B20;color:var(--nba-text);font-size:15px;line-height:1;
  box-shadow:inset 0 0 0 1px var(--nba-line),0 18px 40px -16px rgba(0,0,0,.9);transition:background .25s,box-shadow .25s}
.nba-open:hover{background:#221F1C;box-shadow:inset 0 0 0 1px rgba(217,26,18,.6),0 18px 40px -16px rgba(0,0,0,.9)}
.nba-open:focus-visible{outline:2px solid var(--nba-red);outline-offset:3px}
.nba.on .nba-open{display:none}
.nba-dot{width:7px;height:7px;border-radius:50%;background:var(--nba-red);box-shadow:0 0 0 0 rgba(217,26,18,.6);animation:nba-ping 2.4s infinite}
@keyframes nba-ping{70%,100%{box-shadow:0 0 0 8px rgba(217,26,18,0)}}
.nba-panel{width:min(380px,calc(100vw - 24px));max-height:min(620px,calc(100svh - 32px));display:flex;flex-direction:column;border-radius:18px;background:var(--nba-panel);
  box-shadow:inset 0 0 0 1px var(--nba-line),0 40px 90px -30px rgba(0,0,0,.95);overflow:hidden}
.nba-panel[hidden]{display:none}
.nba-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--nba-line)}
.nba-title{margin:0;font-size:18px;letter-spacing:-.01em}
.nba-sub{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--nba-mist)}
.nba-x{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:var(--nba-mist);flex:none}
.nba-x:hover,.nba-x:focus-visible{background:rgba(229,228,226,.08);color:var(--nba-text)}
.nba-log{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-height:120px}
.nba-msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:15px;line-height:1.45}
.nba-msg p{margin:0}
.nba-msg.them{align-self:flex-start;background:#1A2329;border-top-left-radius:4px}
.nba-msg.me{align-self:flex-end;background:#2A2623;border-top-right-radius:4px;color:var(--nba-text)}
.nba-msg a{color:var(--nba-text)}
.nba-more{display:inline-block;margin-top:10px;margin-right:10px;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.nba-book{display:inline-flex;margin-top:10px;padding:8px 14px;border-radius:999px;background:var(--nba-red);color:var(--nba-text)!important;font-size:14px;text-decoration:none}
.nba-book:hover{background:#810100}
.nba-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.nba-chip{all:unset;cursor:pointer;padding:7px 12px;border-radius:999px;font-size:13px;color:var(--nba-text);box-shadow:inset 0 0 0 1px var(--nba-line)}
.nba-chip:hover,.nba-chip:focus-visible{box-shadow:inset 0 0 0 1px rgba(217,26,18,.7)}
.nba-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--nba-line)}
.nba-in{flex:1;min-width:0;padding:12px 14px;border-radius:999px;border:0;background:#1A2329;color:var(--nba-text);font:inherit;font-size:15px;box-shadow:inset 0 0 0 1px var(--nba-line)}
.nba-in::placeholder{color:#7A746D}
.nba-in:focus{outline:none;box-shadow:inset 0 0 0 1px rgba(217,26,18,.7)}
.nba-send{all:unset;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--nba-red);color:var(--nba-text);flex:none}
.nba-send svg{width:20px;height:20px}
.nba-send:focus-visible{outline:2px solid var(--nba-text);outline-offset:2px}
.nba-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* booking celebration */
.nbc-burst{position:fixed;inset:0;width:100vw;height:100vh;z-index:2147483646;pointer-events:none}
.nbc-note{position:fixed;left:50%;top:clamp(16px,4vh,40px);z-index:2147483647;translate:-50% -20px;opacity:0;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;
  padding:16px 26px;border-radius:18px;background:#0F1519;color:#E5E4E2;font-family:"Questrial",system-ui,sans-serif;font-size:15px;
  box-shadow:inset 0 0 0 1px rgba(217,26,18,.55),0 30px 80px -20px rgba(0,0,0,.9);transition:opacity .5s,translate .6s cubic-bezier(.32,.72,0,1)}
.nbc-note.in{opacity:1;translate:-50% 0}
.nbc-note strong{font-weight:400;font-size:22px;letter-spacing:-.01em}
.nbc-note span{color:#A9B2BA}
.nbc-code{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;color:#D91A12!important;letter-spacing:.04em}

@media (max-width:600px){.nba-open span:last-child{font-size:14px}.nba-panel{max-height:calc(100svh - 24px)}}
@media (prefers-reduced-motion:reduce){.nba-dot{animation:none}.nba,.nbc-note{transition:none}}
