/* Shared readability and navigation contract; loaded after legacy themes. */
body.public-body, body.dashboard-body { font-family:'Cairo',system-ui,sans-serif; font-size:1rem; line-height:1.75; }
body.doctor-public-v17 { --v17-muted:#52685c; }
body.dashboard-v8 :is(.status,.nutrition-tabs button,.sidebar-context b) { font-size:.875rem !important; }
body :is(button,input,select,textarea) { font-family:inherit; }
body [hidden] { display:none !important; }
body :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #a87817; outline-offset:3px; }
body.doctor-public-v17 .btn-primary { color:#fff; }
body.doctor-public-v17 .btn-light { color:#123f30; background:#fff; }
body.doctor-public-v17 .btn-ghost { color:#174b39; }
body.doctor-public-v17 .community-category-pills-v12 a { color:#174b39; background:#fff; }
body.doctor-public-v17 .community-category-pills-v12 a.active { color:#fff; background:#174b39; }
body.doctor-public-v17 .site-header, body.doctor-public-v17 .site-header.is-scrolled { background:#fff; }
body.doctor-public-v17 :is(.btn,.v17-btn) { min-height:44px; font-size:.875rem !important; }
body.doctor-public-v17 :is(.footer-links-column a,.footer-links-column>b,.v17-info-card p,.v17-journey-grid p,.v17-service-content p,.v17-faq-list summary,.v17-faq-list details p) { font-size:.875rem; }
body.doctor-public-v17 :is(.v17-hero-facts small,.v17-trust-item small,.v17-float-card small,.footer-bottom p,.footer-brand-column>p) { font-size:.8125rem; }
body.doctor-public-v17 :is(.v17-hero-facts b,.v17-float-card b,.v17-tags b) { font-size:.875rem; }
body.doctor-public-v17 .mobile-booking-bar-v12>a:not(.whatsapp) { color:#fff; }
body.dashboard-v8 :is(.sidebar-nav a,.sidebar-logout,.dashboard-language-switcher a,.tab-button,.workspace-tab,.patient-tab) { font-size:.9375rem !important; }
body.dashboard-v8 :is(label,.form-label,.btn,.btn-small,th,td,.data-table td,.data-table th) { font-size:.9375rem !important; line-height:1.7; }
body.dashboard-v8 :is(input,select,textarea) { font-size:1rem !important; min-height:44px; }
body.dashboard-v8 :is(input[type=checkbox],input[type=radio]) { min-height:0; width:18px; height:18px; }
body.dashboard-v8 :is(small,.muted,.eyebrow,.sidebar-label,.sidebar-security,.topbar-context>small,.kpi-label) { font-size:.8125rem !important; }
body.dashboard-v8 :is(p,.panel-description,.empty-state) { font-size:.9375rem; }
body.dashboard-v8 .premium-sidebar { display:flex; flex-direction:column; height:100dvh; overflow:hidden; }
body.dashboard-v8 .sidebar-nav { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
body.dashboard-v8 .sidebar-footer { flex-shrink:0; }
body.dashboard-v8 .table-wrap { overflow:auto; }
body.dashboard-v8 .dashboard-language-switcher a { min-width:38px; min-height:40px; display:inline-grid; place-items:center; }
.directory-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-block:18px; }
.directory-pagination a { min-height:44px; padding:8px 16px; border:1px solid #c8d8d0; border-radius:10px; background:white; color:#174b39; }
.directory-pagination span { font-size:.875rem; }
.directory-pagination-links { display:flex; gap:8px; }
@media(max-width:1200px) {
 body.doctor-public-v17 :is(.desktop-nav,.desktop-language,.desktop-login,.desktop-book) { display:none !important; }
 body.doctor-public-v17 .doctor-nav-v9 { grid-template-columns:1fr auto; }
 body.doctor-public-v17 .mobile-menu-toggle { display:grid !important; }
 body.doctor-public-v17 .doctor-mobile-nav-v9 {
  display:flex !important; position:fixed; z-index:130; inset-block:0; inset-inline-start:0; inset-inline-end:auto;
  width:min(390px,92vw); height:100dvh; padding:20px; background:#fff; opacity:1; backdrop-filter:none;
  flex-direction:column; overflow-y:auto; overscroll-behavior:contain; visibility:hidden;
  transform:translateX(-105%); transition:transform .2s ease,visibility .2s;
 }
 [dir=rtl] body.doctor-public-v17 .doctor-mobile-nav-v9 { transform:translateX(105%); }
 body.doctor-public-v17 .doctor-mobile-nav-v9.is-open { transform:translateX(0); visibility:visible; }
 body.doctor-public-v17 .doctor-mobile-nav-v9 nav a { font-size:1rem; min-height:48px; color:#174b39; }
 body.doctor-public-v17 .doctor-mobile-nav-v9 .mobile-language-row { margin-top:18px; }
 body.doctor-public-v17 .site-backdrop { z-index:120; backdrop-filter:none; }
 body.menu-open { overflow:hidden; }
 body.menu-open :is(.chat17-root,.mobile-booking-bar-v12) { visibility:hidden; pointer-events:none; }
}
@media(max-width:1100px) {
 body.dashboard-v8 .premium-sidebar { z-index:130; visibility:hidden; }
 body.dashboard-v8 .premium-sidebar.is-open { visibility:visible; }
 body.dashboard-v8 .dashboard-backdrop { z-index:120; }
 body.dashboard-menu-open { overflow:hidden; }
}
@media(max-width:600px) {
 body.dashboard-v8 .premium-dashboard-content { padding:18px 12px; }
 body.dashboard-v8 .topbar-actions { flex-wrap:wrap; gap:8px; }
 body.dashboard-v8 .topbar-user-copy { display:none; }
 body.doctor-public-v17 .doctor-mobile-nav-v9 { padding-bottom:max(20px,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 body :is(.doctor-mobile-nav-v9,.premium-sidebar,.v17-info-card,.v17-btn) { transition:none !important; animation:none !important; }
}
