/* NoorVista 3.0.167 — readable medical typography, unified CTAs and desktop service tiles */
:root{
  --nv167-navy:#0A2540;
  --nv167-teal:#008080;
  --nv167-cyan:#00AFC4;
  --nv167-sky:#3B82F6;
  --nv167-text:#334155;
  --nv167-muted:#60748a;
  --nv167-soft:#F8FAFC;
  --nv167-line:#d7e4ec;
  --nv167-shadow:0 14px 36px rgba(10,37,64,.09);
}

body:not([data-panel-role]){
  color:var(--nv167-text)!important;
  font-size:16px!important;
  line-height:1.85!important;
  background:var(--nv167-soft)!important;
}
body:not([data-panel-role]) :where(p,li,dd,dt,blockquote){font-size:1rem!important;line-height:1.9!important}
body:not([data-panel-role]) :where(small,.muted){font-size:.875rem!important}
body:not([data-panel-role]) :where(h1,h2,h3,h4){letter-spacing:-.018em!important}
body:not([data-panel-role]) h1{font-size:clamp(2.15rem,4.3vw,3.75rem)!important;line-height:1.32!important}
body:not([data-panel-role]) h2{font-size:clamp(1.7rem,3vw,2.65rem)!important;line-height:1.42!important}
body:not([data-panel-role]) h3{font-size:clamp(1.12rem,1.8vw,1.42rem)!important;line-height:1.55!important}

/* Navigation is intentionally larger but remains compact. */
body:not([data-panel-role]) .navbar .menu>li>a{
  font-size:15.5px!important;
  line-height:1.35!important;
  min-height:46px!important;
  padding:10px 12px!important;
}
body:not([data-panel-role]) .navbar .nav-actions .btn{font-size:15px!important;min-height:44px!important}
body:not([data-panel-role]) .mega-col a{font-size:14.5px!important;line-height:1.6!important}
body:not([data-panel-role]) .footer,
body:not([data-panel-role]) .footer a,
body:not([data-panel-role]) .footer p,
body:not([data-panel-role]) .footer li{font-size:14.5px!important;line-height:1.8!important}

/* Unified conversion colours: no unrelated orange. */
body:not([data-panel-role]) :is(.btn-primary,.nav-booking,.floating-booking,.nv164-mobile-actions__booking,.nv-home-slide__action--primary){
  background:linear-gradient(135deg,var(--nv167-teal),var(--nv167-cyan))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,128,128,.18)!important;
}
body:not([data-panel-role]) :is(.floating-consult,.chatbot-fab,.nv164-mobile-actions__consult){
  background:linear-gradient(135deg,var(--nv167-navy),#155b79)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(10,37,64,.18)!important;
}
body:not([data-panel-role]) .btn-outline{border-color:#b9d3df!important;color:var(--nv167-navy)!important;background:#fff!important}

/* Desktop: four key services fill the content width with a stronger hierarchy. */
@media (min-width:901px){
  body.nv-home-page .nv-quick-services{padding:22px 0 30px!important;margin:0!important;background:#fff!important}
  body.nv-home-page .nv-quick-services__shell{width:min(calc(100% - 48px),1320px)!important;max-width:1320px!important;padding:0!important}
  body.nv-home-page .nv-quick-services__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important}
  body.nv-home-page .nv-quick-service{
    min-height:218px!important;height:218px!important;padding:28px 20px!important;border-radius:28px!important;
    border:1px solid rgba(0,175,196,.30)!important;
    background:linear-gradient(145deg,#0d3b70 0%,#155ac0 58%,#1f36b9 100%)!important;
    box-shadow:0 16px 34px rgba(10,37,64,.12)!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:18px!important;
    transform:none!important;
  }
  body.nv-home-page .nv-quick-service:hover{transform:translateY(-4px)!important;box-shadow:0 22px 44px rgba(10,37,64,.18)!important}
  body.nv-home-page .nv-quick-service__icon{width:76px!important;height:76px!important;border-radius:22px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.25)!important}
  body.nv-home-page .nv-quick-service__icon svg{width:48px!important;height:48px!important;stroke:#a9f1f3!important}
  body.nv-home-page .nv-quick-service__title{font-size:18px!important;line-height:1.55!important;color:#fff!important;font-weight:900!important;text-align:center!important}
  body.nv-home-page #services.nv-home-services{padding-top:38px!important;margin-top:0!important}
}

/* Keep long text readable instead of stretching across the whole viewport. */
body:not([data-panel-role]) :where(.service-detail-copy p,.services-hero-copy p,.detail-main p,.article-content p,.nv-seo-page p){max-width:76ch}
body:not([data-panel-role]) :where(.detail-main,.service-panel,.service-faq-card,.article-card,.faq-item){font-size:16px!important}

/* Redundant generic CTA areas are hidden only where persistent/header actions already exist. */
body:not([data-panel-role]) .nv167-redundant-cta{display:none!important}
body:not([data-panel-role]) .final-appointment .cta-actions .open-chat{display:none!important}

/* New logo proportions and safe containment. */
body:not([data-panel-role]) .brand-logo-image img,
body:not([data-panel-role]) .brand>.brand-logo img{
  object-fit:contain!important;
  object-position:center!important;
}

@media (max-width:900px){
  body:not([data-panel-role]){font-size:15.5px!important;line-height:1.82!important}
  body:not([data-panel-role]) :where(p,li,dd,dt){font-size:15.5px!important;line-height:1.86!important}
  body:not([data-panel-role]) h1{font-size:clamp(1.78rem,8vw,2.35rem)!important}
  body:not([data-panel-role]) h2{font-size:clamp(1.45rem,6.5vw,2rem)!important}
  body:not([data-panel-role]) h3{font-size:1.08rem!important}
}
