/* Tower Bridge Hospital - online booking (Pabau widgets) and WhatsApp. Scoped classes only. */
:root{--tbk-navy:#0B2345;--tbk-blue:#005EB5;--tbk-deep:#003087;--tbk-line:#D3DFEE;--tbk-soft:#F3F7FC;--tbk-mute:#4E5D74;--tbk-wa:#25D366;--tbk-wa-d:#128C4B}

/* ---- "Book online" section before the footer ---- */
.tbh-bk{background:linear-gradient(180deg,#F7FAFE 0%,#EEF4FB 100%);border-top:1px solid var(--tbk-line);padding:56px 0 60px;font-family:'Manrope',system-ui,sans-serif;color:var(--tbk-navy)}
.tbh-bk__in{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:stretch}
.tbh-bk__eyebrow,.tbh-ch__eyebrow{margin:0 0 10px;font:500 12px/1.2 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--tbk-blue)}
.tbh-bk__h{margin:0 0 12px;font:400 clamp(28px,3.2vw,40px)/1.12 'Fraunces',Georgia,serif;color:var(--tbk-navy)}
.tbh-bk__h em{font-style:italic;color:var(--tbk-blue)}
.tbh-bk__lead{margin:0 0 22px;max-width:36em;font-size:16px;line-height:1.6;color:var(--tbk-mute)}
.tbh-bk__btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tbh-bk__btns .pabau-bw-btn{min-height:52px;padding:0 26px!important;font-family:'Manrope',system-ui,sans-serif!important;font-weight:700!important;box-shadow:0 8px 20px -10px rgba(0,48,135,.55)}
.tbh-bk__link .pabau-bw-btn{border-color:var(--tbk-line)!important;box-shadow:none}
.tbh-bk__link .pabau-bw-btn::after{content:"\2197";margin-left:.35em;font-weight:600}
.tbh-bk__fallback{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border-radius:999px;background:var(--tbk-deep);color:#fff;font-weight:700;text-decoration:none}
.tbh-bk__main{background:#fff;border:1px solid var(--tbk-line);border-radius:16px;padding:28px;box-shadow:0 10px 28px -18px rgba(11,35,69,.35)}
.tbh-bk__wa{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #CFEFD9;border-radius:16px;padding:28px;box-shadow:0 10px 28px -18px rgba(18,140,75,.35)}
.tbh-bk__wa-h{display:flex;align-items:center;gap:12px;margin:0;font:600 20px/1.25 'Manrope',system-ui,sans-serif;color:var(--tbk-navy)}
.tbh-bk__wa-ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--tbk-wa);color:#fff}
.tbh-bk__wa-ic svg{width:24px;height:24px}
.tbh-bk__wa p{margin:0;font-size:15px;line-height:1.55;color:var(--tbk-mute)}
.tbh-bk__wa-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:999px;background:var(--tbk-wa);color:#fff!important;font-weight:700;font-size:17px;text-decoration:none;box-shadow:0 10px 22px -12px rgba(18,140,75,.8)}
.tbh-bk__wa-btn:hover{background:#1FBE5B}
.tbh-bk__wa-btn svg{width:22px;height:22px}
.tbh-bk__call{color:var(--tbk-deep)!important;font-weight:700;text-decoration:none}
.tbh-bk__small{font-size:13px!important}
.tbh-bk__small a{color:var(--tbk-deep)}
.tbh-bk__embed{max-width:1200px;margin:24px auto 0;padding:0 24px}
.tbh-bk__embedbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--tbk-line);border-radius:16px;padding:16px 20px}
.tbh-bk__embedbar p{margin:0;font-weight:600;color:var(--tbk-navy)}
.tbh-bk__seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--tbk-soft);border:1px solid var(--tbk-line)}
.tbh-bk__seg button{border:0;background:transparent;border-radius:999px;padding:9px 16px;font:600 14px/1 'Manrope',system-ui,sans-serif;color:var(--tbk-navy);cursor:pointer}
.tbh-bk__seg button[aria-pressed="true"]{background:var(--tbk-deep);color:#fff}
.tbh-bk__show{border:1px solid var(--tbk-deep);background:#fff;color:var(--tbk-deep);border-radius:999px;min-height:46px;padding:0 22px;font:700 15px/1 'Manrope',system-ui,sans-serif;cursor:pointer}
.tbh-bk__show:hover{background:var(--tbk-soft)}
.tbh-bk__seg button:focus-visible,.tbh-bk__show:focus-visible,.tbh-bk__wa-btn:focus-visible,.tbh-wa-float:focus-visible,.tbh-ch__opt:focus-visible,.tbh-ch__x:focus-visible{outline:3px solid var(--tbk-blue);outline-offset:3px}
.tbh-bk__frame:not(:empty){margin-top:16px;background:#fff;border:1px solid var(--tbk-line);border-radius:16px;overflow:hidden}
@media (max-width:860px){.tbh-bk{padding:40px 0 44px}.tbh-bk__in{grid-template-columns:1fr;padding:0 16px;gap:16px}.tbh-bk__main,.tbh-bk__wa{padding:22px}.tbh-bk__embed{padding:0 16px}.tbh-bk__btns > div,.tbh-bk__btns .pabau-bw-btn{width:100%}.tbh-bk__embedbar{flex-direction:column;align-items:stretch;text-align:center}.tbh-bk__seg{justify-content:center}.tbh-bk__seg button{flex:1}}

/* ---- weekday / weekend chooser ---- */
.tbh-ch-lock{overflow:hidden!important}
.tbh-ch{position:fixed;inset:0;z-index:2147483002;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(11,35,69,.55);font-family:'Manrope',system-ui,sans-serif}
.tbh-ch__box{position:relative;width:min(480px,100%);background:#fff;border-radius:18px;padding:28px 24px 22px;box-shadow:0 24px 64px rgba(0,0,0,.3);color:var(--tbk-navy)}
.tbh-ch__x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--tbk-line);background:#fff;font-size:24px;line-height:1;cursor:pointer;color:var(--tbk-navy)}
.tbh-ch__h{margin:0 40px 18px 0;font:400 26px/1.2 'Fraunces',Georgia,serif}
.tbh-ch__opts{display:grid;gap:10px}
.tbh-ch__opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:10px 10px 10px 18px;border:1px solid var(--tbk-line);border-radius:14px;background:#fff;cursor:pointer;font:600 17px/1.2 'Manrope',system-ui,sans-serif;color:var(--tbk-navy);text-align:left}
.tbh-ch__opt:hover{border-color:#8FB3DE;box-shadow:0 8px 20px -12px rgba(11,35,69,.35)}
.tbh-ch__opt b{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:9px 14px;border-radius:10px;background:linear-gradient(135deg,#005EB5 0%,#003087 100%);color:#fff;font-size:24px;font-weight:700;line-height:1}
.tbh-ch__note{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--tbk-mute)}

/* ---- Pabau floating "Book online" button ---- */
.pabau-bw-float{font-family:'Manrope',system-ui,sans-serif!important;font-weight:700!important;bottom:24px!important;right:24px!important;box-shadow:0 12px 28px -10px rgba(0,48,135,.6)!important}
.tbh-chat-hours .pabau-bw-float{bottom:96px!important}
/* keep the site's back-to-top button clear of the floating Book button */
@media (min-width:821px){html.tbh-has-float .to-top{bottom:96px!important}html.tbh-has-float.tbh-chat-hours .to-top{bottom:168px!important}
/* the larger labelled WhatsApp button (bottom-left) replaces the small round one on larger screens */
html.tbh-has-wa .whatsapp-fab{display:none!important}}

/* ---- WhatsApp floating button (bottom-left, larger screens) ---- */
.tbh-wa-float{position:fixed;left:24px;bottom:24px;z-index:2147482999;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;background:var(--tbk-wa);color:#fff!important;text-decoration:none;font-family:'Manrope',system-ui,sans-serif;box-shadow:0 12px 28px -10px rgba(18,140,75,.75)}
.tbh-wa-float:hover{background:#1FBE5B}
.tbh-wa-float svg{width:40px;height:40px;padding:8px;border-radius:50%;background:rgba(255,255,255,.18)}
.tbh-wa-float span{display:flex;flex-direction:column;line-height:1.15}
.tbh-wa-float b{font-size:15px;font-weight:700}
.tbh-wa-float small{font-size:12px;opacity:.9}

/* Phones and small tablets already have the bottom bar with Book, WhatsApp and Call. */
@media (max-width:820px){.pabau-bw-float,.tbh-wa-float{display:none!important}}

/* Homepage: WhatsApp takes the space Grace used to have */
@media (max-width:767px){html body main#main.hp-home:not(#x8):not(#x9) .hh-hero .hh-cta--contact{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important}}

@media (prefers-reduced-motion:reduce){.tbh-ch__opt,.tbh-bk__wa-btn{transition:none}}

/* ===== 2026-11-08 update ===== */
/* Brand colours on every Pabau button (pop-up, floating) and the booking-link button */
.pabau-bw-btn{background:linear-gradient(135deg,#005EB5 0%,#003087 100%)!important;border-color:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.pabau-bw-btn:hover{filter:brightness(1.08)!important}
.tbh-bk__link .pabau-bw-btn,.tbh-qb .tbh-bk__link .pabau-bw-btn{background:#fff!important;color:#003087!important;-webkit-text-fill-color:#003087!important;border:1.5px solid #003087!important}
.tbh-bk__link .pabau-bw-btn:hover{background:#F3F7FC!important;filter:none!important}

/* Booking window: our own bar so patients can always get back to the website */
.pabau-bw-dialog.tbh-pb-has-bar{padding-top:56px}
.tbh-pb-bar{position:absolute;top:0;left:0;right:0;height:56px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 64px 0 12px;background:#0B2345;color:#fff;font-family:'Manrope',system-ui,sans-serif}
.tbh-pb-back{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:700 15px/1 'Manrope',system-ui,sans-serif;cursor:pointer}
.tbh-pb-back:hover{background:rgba(255,255,255,.18)}
.tbh-pb-back:focus-visible{outline:3px solid #7FB2EE;outline-offset:2px}
.tbh-pb-pay{font-size:13px;opacity:.85;white-space:nowrap}
.tbh-pb-has-bar .pabau-bw-head{top:8px!important;z-index:3}
@media (max-width:560px){.tbh-pb-pay{display:none}.tbh-pb-back{font-size:14px;padding:0 12px}}

/* Payment information (self-pay) before booking */
.tbh-bk__pay,.tbh-qb__pay,.tbh-ch__pay{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#F3F7FC;border:1px solid #D3DFEE;font-size:13.5px;line-height:1.55;color:#4E5D74}
.tbh-bk__pay strong,.tbh-qb__pay strong,.tbh-ch__pay strong{color:#0B2345}
.tbh-bk__pay a,.tbh-qb__pay a,.tbh-ch__pay a{color:#003087;font-weight:600}

/* Quick booking strip under the hero */
.tbh-qb{background:#fff;border-top:1px solid #D3DFEE;border-bottom:1px solid #D3DFEE;font-family:'Manrope',system-ui,sans-serif;color:#0B2345}
.tbh-qb__in{max-width:1200px;margin:0 auto;padding:18px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.tbh-qb__t{margin:0;font-size:16px;line-height:1.4}
.tbh-qb__t strong{display:block;font:400 22px/1.2 'Fraunces',Georgia,serif;color:#0B2345}
.tbh-qb__t span{color:#4E5D74;font-size:14px}
.tbh-qb__btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tbh-qb__btns .pabau-bw-btn{min-height:48px;padding:0 22px!important;font-family:'Manrope',system-ui,sans-serif!important;font-weight:700!important}
.tbh-qb__times,.tbh-qb__wa{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none}
.tbh-qb__times{background:#EEF4FB;color:#003087!important;border:1.5px solid #BFD3EC}
.tbh-qb__times:hover{background:#E2ECF8}
.tbh-qb__wa{background:#25D366;color:#fff!important}
.tbh-qb__wa:hover{background:#1FBE5B}
.tbh-qb__wa svg{width:20px;height:20px}
.tbh-qb__pay{flex-basis:100%;margin:0}
@media (max-width:760px){.tbh-qb__in{padding:16px}.tbh-qb__btns{width:100%;display:grid;grid-template-columns:1fr 1fr}.tbh-qb__btns > *{width:100%}.tbh-qb__btns .pabau-bw-btn,.tbh-qb__times,.tbh-qb__wa{width:100%;justify-content:center;padding:0 12px!important;font-size:14px}}

/* Grace has been withdrawn */
.tbhc-launch,.tbhc-teaser,.tbhc-panel{display:none!important}
