/* Usability layer: approved M+M visual system. */
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #008c80;outline-offset:4px}
header a:focus-visible,header button:focus-visible{outline-color:#00d7bf}
html{scroll-behavior:smooth}section[id],form[id],.library-results{scroll-margin-top:24px}
button,input,select{font-family:'IBM Plex Sans Arabic',sans-serif}
input,select{font-size:16px!important}button,a.button,summary{min-height:44px}
.specialty-tile:focus-within{outline:2px solid #008c80;outline-offset:4px}
.header-inner nav a{padding-block:12px}.detail-index nav a[aria-current=location]{background:#e9f6f3;border-inline-start:3px solid #007c72;color:#101068;font-weight:600}
.ux-jump{display:none}.ux-booking-shortcut{display:inline-flex;margin-top:18px;gap:14px;align-items:center;font-size:16px;color:#101068;border-bottom:1px solid #007c72;min-height:44px}
.ux-clinic-selection{font-size:14px;padding:12px 16px;background:#e5f5ef;color:#15584e;border-radius:6px;margin:0 0 18px}
.ux-pagination{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:30px;padding:20px 0;border-top:1px solid #dce3e9}
.ux-pagination button{border:1px solid #101068;border-radius:6px;padding:10px 20px;background:white;color:#101068;font-size:16px;cursor:pointer}
.ux-pagination button:disabled{opacity:.4;cursor:default}.ux-pagination p{font-size:15px;margin:0}.library-topics button[aria-pressed=true]{background:#00d7bf;color:#101068;border-color:#00d7bf}
.ux-review-dialog{padding:0;border:0;border-radius:12px;background:#fff;color:#101068;width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px)}
.ux-review-dialog::backdrop{background:#09092bcc}.ux-review-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #dce3e9}.ux-review-head h2{font-size:18px;margin:0}.ux-review-head button,.ux-review-controls button{border:1px solid #dce3e9;color:#101068;background:white;border-radius:6px;font-size:15px;padding:8px 16px;cursor:pointer}.ux-review-body{overflow:auto;max-height:65dvh;background:#eff4f6;text-align:center}.ux-review-body img{display:block;width:auto;max-width:100%;max-height:65dvh;margin:auto}.ux-review-body.zoomed img{width:100%;max-height:none}.ux-review-controls{display:flex;justify-content:space-between;gap:8px;padding:12px;flex-wrap:wrap}.ux-review-count{font-size:13px;margin:0 18px 12px;color:#536273}.review-source-image a{display:block;cursor:zoom-in}.review-originals>p{max-width:70ch;line-height:1.9}
.ux-top{position:fixed;bottom:24px;left:20px;border:1px solid #dce3e9;border-radius:50%;height:46px;width:46px;background:#fff;color:#101068;font-size:24px;box-shadow:0 3px 12px #10106818;z-index:25;cursor:pointer}
@media(max-width:850px){.ux-jump{display:block;padding:16px;background:#eef5f6;border:1px solid #dce3e9;border-radius:8px}.ux-jump label{display:block;font-size:15px;font-weight:500;margin-bottom:8px}.ux-jump select{width:100%;min-height:48px;background:white;border:1px solid #b2c1cc;padding:8px;border-radius:5px;color:#101068}.detail-index:has(.ux-jump)>.eyebrow,.detail-index:has(.ux-jump)>nav{display:none}}
@media(max-width:650px){.header-inner nav.open{max-height:calc(100dvh - 170px);overflow:auto;padding:12px 20px}.header-inner nav a{font-size:17px;min-height:48px;display:flex;align-items:center}.mobile-booking{padding-bottom:max(10px,env(safe-area-inset-bottom))}.ux-top{bottom:88px;left:16px}.ux-pagination{gap:12px}.ux-pagination button{padding:10px 16px}.detail-chapter p,.detail-faq details p{font-size:17px;line-height:1.95}.library-grid h3{font-size:22px}.booking-form-panel{scroll-margin-top:20px}.review-originals>p{font-size:14px}.services-jumps a{min-height:44px;display:inline-flex;align-items:center}.ux-review-body{max-height:61dvh}.ux-review-body img{max-height:61dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.ux-review-body.zoomed img{width:819px;max-width:none;max-height:none;margin:0 auto}
