/* Audit fixes — layered on top of the original design (no visual redesign) */
/* Sticky mobile bar: the only persistent contact controls on phones, with clear labels */
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#060c1a;border-top:1px solid rgba(255,255,255,.15);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -4px 20px rgba(0,0,0,.3)}
.mob-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700;letter-spacing:.2px;padding:8px 4px;border-radius:6px;min-height:52px;line-height:1.15;text-align:center;text-decoration:none}
.mob-bar__call{background:#1a56a0;color:#fff}
.mob-bar__wa{background:#128c4a;color:#fff}
.mob-bar__book{background:#0e5e6f;color:#fff;flex:1.3!important}
@media(max-width:768px){.mob-bar{display:flex}body{padding-bottom:78px}}
.floats{display:none!important}
/* Footer legibility (WCAG contrast) */
.ft__desc{color:rgba(255,255,255,.72)!important;font-size:13px!important}
.ft__logo-sub{color:rgba(255,255,255,.62)!important;font-size:10px!important}
.ft__ul a,.ft__ul span{color:rgba(255,255,255,.72)!important;font-size:13px!important}
.ft__copy{color:rgba(255,255,255,.62)!important;font-size:12px!important}
.ft__copy a{color:inherit}
.ft__disc{margin-top:16px;font-size:12px;color:rgba(255,255,255,.62);text-align:center;line-height:1.7}
/* Live "Open now" badge (replaces static OPEN on every day) */
.badge-now{font-size:10px;font-weight:700;letter-spacing:.6px;padding:3px 9px;border-radius:30px;text-transform:uppercase;white-space:nowrap}
.badge-now--open{background:#d4edda;color:#1a6630}.badge-now--closed{background:#eee;color:#555}
.timing-row.is-today b{color:#1a56a0}
/* Keyboard focus */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f2a900;outline-offset:2px}
/* Map facade */
.map-facade{border-radius:14px;overflow:hidden;border:1px solid #ebebeb;height:420px;background:#0f1a2a;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff}
.map-facade iframe{width:100%;height:100%;border:0}
.map-facade p{margin:0;color:rgba(255,255,255,.8);font-size:15px;line-height:1.6}
/* Small helper blocks */
.note-box{background:#f4f7fa;border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px;font-size:14px;color:#334155;line-height:1.7}
.note-box strong{color:#0f172a}
.where{display:block;margin-top:10px;font-size:12px;font-weight:600;color:#0369a1}
/* Floating WhatsApp button (all pages). On phones it sits above the bottom bar so it never covers "Book a Consultation". */
.wa-fab{position:fixed;right:24px;bottom:24px;z-index:9998;width:48px;height:48px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.28);text-decoration:none;transition:transform .2s,box-shadow .2s}
.wa-fab:hover{transform:scale(1.07);box-shadow:0 8px 26px rgba(0,0,0,.35);color:#fff}
.wa-fab svg{width:26px;height:26px}
.wa-fab__tip{position:absolute;right:58px;top:50%;transform:translateY(-50%);background:#0a0a0a;color:#fff;font:600 13px/1 Inter,sans-serif;padding:9px 12px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.wa-fab:hover .wa-fab__tip,.wa-fab:focus-visible .wa-fab__tip{opacity:1}
/* Phones already have WhatsApp in the bottom bar, so the floating button is hidden there */
@media(max-width:768px){.wa-fab{display:none}}
@media print{.wa-fab{display:none}}

/* Homepage hero: lung artwork — lungs on the right on desktop, below the text on phones */
.hero__bg picture{display:block;width:100%;height:100%}
.hero__bg img{object-position:right center}
@media(max-width:768px){
  .hero__bg img{object-position:center bottom}
  .hero__ov{background:linear-gradient(to bottom,rgba(5,5,5,.9) 0%,rgba(5,5,5,.8) 45%,rgba(5,5,5,.4) 68%,rgba(5,5,5,.15) 100%)!important}
}

/* Illustrations on inner-page banners (right side, fades into the dark banner) */
.page-hero__art{position:absolute;top:0;right:0;bottom:0;width:55%;pointer-events:none}
.page-hero__art img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.85;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 45%);mask-image:linear-gradient(to right,transparent 0%,#000 45%)}
.page-hero__ov{background:linear-gradient(90deg,rgba(5,5,5,.97) 40%,rgba(5,5,5,.35) 75%,rgba(5,5,5,.15) 100%)!important}
.page-hero__body{position:relative;z-index:2}
@media(max-width:768px){.page-hero__art{width:100%}.page-hero__art img{opacity:.35;-webkit-mask-image:none;mask-image:none}
  .page-hero__ov{background:linear-gradient(180deg,rgba(5,5,5,.75),rgba(5,5,5,.92))!important}}
.ft__credit{opacity:.9}
.ft__credit strong{color:#fff;font-weight:600}

.ft__credit a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ft__credit a:hover{opacity:.8}
