/*
 * Dr. Shahriyari primary navigation — v1.8.1
 *
 * Strategy:
 * - unique dsh-nav181 class namespace (no dependency on legacy nav CSS)
 * - desktop services panel is portaled to <body> by JS and positioned fixed
 * - mobile navigation uses native <dialog>, which renders in the browser top layer
 * - no WordPress core Navigation block markup/interactivity is required
 */


/*
 * v1.8.1 precision header layer
 * Resolution-independent CSS/vector treatment: crisp 1px edges, restrained
 * glass blur, deterministic sticky positioning, and a compact scrolled state.
 */
.dsh-header{
  position:sticky!important;
  top:0;
  z-index:2147481000!important;
  isolation:isolate;
  background:rgba(250,253,253,.80)!important;
  border-bottom:1px solid rgba(2,48,71,.10)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.82) inset,0 10px 32px rgba(2,48,71,.055);
  backdrop-filter:blur(22px) saturate(170%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(170%)!important;
  transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.dsh-header::after{
  content:"";
  position:absolute;
  inset-inline:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(10,147,150,.34) 28%,rgba(2,48,71,.16) 68%,transparent);
}
.dsh-header.dsh-header--scrolled{
  background:rgba(255,255,255,.90)!important;
  border-bottom-color:rgba(2,48,71,.13)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 14px 38px rgba(2,48,71,.10);
}
body.admin-bar .dsh-header{top:32px!important}
@media(max-width:782px){body.admin-bar .dsh-header{top:46px!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .dsh-header{background:rgba(255,255,255,.97)!important}
}
.dsh-header__inner{transition:min-height .18s ease}
.dsh-header.dsh-header--scrolled .dsh-header__inner{min-height:76px}
.dsh-brand .wp-block-site-logo img{transition:width .18s ease,height .18s ease,transform .18s ease}
.dsh-header.dsh-header--scrolled .dsh-brand .wp-block-site-logo img{transform:scale(.94)}

.dsh-nav181,
.dsh-nav181 *{box-sizing:border-box}

.dsh-nav181{display:flex;align-items:center;justify-content:flex-end;min-width:0;margin-inline-start:auto;font-family:inherit}
.dsh-nav181__desktop{display:block;margin:0;padding:0}
.dsh-nav181__list{display:flex;align-items:center;gap:clamp(8px,1vw,16px);list-style:none;margin:0;padding:0}
.dsh-nav181__item{position:relative;display:flex;align-items:center;min-height:46px;margin:0;padding:0}
.dsh-nav181__link{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:8px 7px;border-radius:10px;color:var(--dsh-navy,#023047);font-size:.84rem;font-weight:780;line-height:1.15;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;text-rendering:geometricPrecision}
.dsh-nav181__link:hover,.dsh-nav181__link:focus-visible,.dsh-nav181__link.is-current,.dsh-nav181__item.is-current>.dsh-nav181__link{background:#edf8f7;color:var(--dsh-teal,#0A9396)}
.dsh-nav181__link[aria-current="page"]{color:var(--dsh-teal,#0A9396)}
.dsh-nav181__link::after{content:"";position:absolute;inset-inline:8px;bottom:3px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--dsh-teal,#0A9396),var(--dsh-navy,#023047));transform:scaleX(0);transform-origin:center;transition:transform .16s ease}
.dsh-nav181__link:hover::after,.dsh-nav181__link:focus-visible::after,.dsh-nav181__link.is-current::after,.dsh-nav181__item.is-current>.dsh-nav181__link::after{transform:scaleX(1)}

.dsh-nav181__item--services{gap:1px}
.dsh-nav181__services-toggle{display:grid;place-items:center;width:30px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--dsh-navy,#023047);cursor:pointer}
.dsh-nav181__services-toggle:hover,.dsh-nav181__services-toggle:focus-visible{background:#edf8f7;color:var(--dsh-teal,#0A9396)}
.dsh-nav181__services-toggle>span{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}
.dsh-nav181__services-toggle[aria-expanded="true"]>span{transform:translateY(2px) rotate(225deg)}

/* Body-level desktop panel. JS physically moves this element out of the header. */
.dsh-nav181__mega{position:fixed;z-index:2147482000;width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - var(--dsh-nav181-top,90px) - 18px);overflow:auto;margin:0;padding:18px;border:1px solid rgba(2,48,71,.12);border-radius:22px;background:rgba(253,255,255,.92);box-shadow:0 30px 90px rgba(2,48,71,.22),0 1px 0 rgba(255,255,255,.92) inset;backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%);color:var(--dsh-ink,#102A35);opacity:0;transform:translateY(-7px);transition:opacity .14s ease,transform .14s ease}
.dsh-nav181__mega[hidden]{display:none!important}
.dsh-nav181__mega.is-open{opacity:1;transform:translateY(0)}
.dsh-nav181__mega-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 3px 14px;border-bottom:1px solid var(--dsh-line,#DCE8EA)}
.dsh-nav181__mega-head>div{display:grid;gap:2px}
.dsh-nav181__mega-head span{color:var(--dsh-teal,#0A9396);font-size:.68rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.dsh-nav181__mega-head strong{color:var(--dsh-navy,#023047);font-size:1.15rem;line-height:1.2}
.dsh-nav181__mega-head>a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border-radius:999px;background:var(--dsh-navy,#023047);color:#fff;font-size:.76rem;font-weight:850;text-decoration:none;white-space:nowrap}
.dsh-nav181__mega-head>a:hover,.dsh-nav181__mega-head>a:focus-visible{background:var(--dsh-teal,#0A9396);color:#fff}
.dsh-nav181__mega-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:13px;padding-top:15px}
.dsh-nav181__group{min-width:0;padding:13px;border:1px solid var(--dsh-line,#DCE8EA);border-radius:16px;background:#fbfdfd}
.dsh-nav181__group h3,.dsh-nav181__mobile-group h3{margin:0 0 9px;color:#61777f;font-size:.66rem;font-weight:900;line-height:1.35;letter-spacing:.06em;text-transform:uppercase}
.dsh-nav181__service-list{display:grid;gap:5px;list-style:none;margin:0;padding:0}
.dsh-nav181__service-link{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:42px;padding:7px 8px;border-radius:11px;color:var(--dsh-navy,#023047);font-size:.78rem;font-weight:760;line-height:1.38;text-decoration:none;white-space:normal}
.dsh-nav181__service-link:hover,.dsh-nav181__service-link:focus-visible,.dsh-nav181__service-link.is-current{background:#eaf7f6;color:var(--dsh-teal,#0A9396)}
.dsh-nav181__service-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#edf7f7;color:var(--dsh-teal,#0A9396);overflow:hidden}
.dsh-nav181__service-icon svg{display:block;width:17px;height:17px;max-width:100%}

/* Mobile button is intentionally a button, not WordPress Navigation's modal trigger. */
.dsh-nav181__mobile-open{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:46px;height:46px;padding:10px;border:1px solid rgba(2,48,71,.14);border-radius:13px;background:#fff;color:var(--dsh-navy,#023047);box-shadow:0 5px 18px rgba(2,48,71,.06);cursor:pointer}
.dsh-nav181__mobile-open>span{display:block;width:23px;height:2px;border-radius:999px;background:currentColor}

/* Native modal dialog = browser top layer. Hero/header stacking contexts cannot cover it. */
.dsh-nav181__dialog{width:min(470px,92vw);height:100dvh;max-width:92vw;max-height:100dvh;margin:0 0 0 auto;padding:0;border:0;border-radius:24px 0 0 24px;background:rgba(255,255,255,.985);color:var(--dsh-ink,#102A35);box-shadow:-24px 0 76px rgba(2,48,71,.26);overflow:hidden}
.dsh-nav181__dialog:not([open]){display:none}
.dsh-nav181__dialog::backdrop{background:rgba(2,48,71,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.rtl .dsh-nav181__dialog,[dir="rtl"] .dsh-nav181__dialog{margin:0 auto 0 0;border-radius:0 24px 24px 0;box-shadow:22px 0 70px rgba(2,48,71,.24)}
.dsh-nav181__dialog-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:17px;background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%)}
.dsh-nav181__dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;padding:2px 1px 14px;border-bottom:1px solid var(--dsh-line,#DCE8EA)}
.dsh-nav181__dialog-head>div{display:grid;gap:2px}
.dsh-nav181__dialog-head strong{color:var(--dsh-navy,#023047);font-size:1.08rem}
.dsh-nav181__dialog-head span{color:var(--dsh-teal,#0A9396);font-size:.71rem;font-weight:800}
.dsh-nav181__close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--dsh-line,#DCE8EA);border-radius:12px;background:#fff;color:var(--dsh-navy,#023047);font:inherit;cursor:pointer}
.dsh-nav181__close>span{font-size:1.65rem;font-weight:400;line-height:1;transform:translateY(-1px)}
.dsh-nav181__close:hover,.dsh-nav181__close:focus-visible{background:#edf8f7;color:var(--dsh-teal,#0A9396)}
.dsh-nav181__dialog nav{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 1px 8px;-webkit-overflow-scrolling:touch}
.dsh-nav181__mobile-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}
.dsh-nav181__mobile-link{display:flex;align-items:center;min-height:48px;padding:10px 12px;border-radius:12px;color:var(--dsh-navy,#023047);font-size:.92rem;font-weight:800;line-height:1.25;text-decoration:none}
.dsh-nav181__mobile-link:hover,.dsh-nav181__mobile-link:focus-visible,.dsh-nav181__mobile-link.is-current{background:#eaf7f6;color:var(--dsh-teal,#0A9396)}
.dsh-nav181__mobile-services{border:1px solid var(--dsh-line,#DCE8EA);border-radius:15px;background:#fff;overflow:hidden}
.dsh-nav181__mobile-services>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:49px;padding:10px 12px;list-style:none;color:var(--dsh-navy,#023047);font-size:.92rem;font-weight:850;cursor:pointer}
.dsh-nav181__mobile-services>summary::-webkit-details-marker{display:none}
.dsh-nav181__mobile-services>summary i{display:block;width:8px;height:8px;flex:0 0 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}
.dsh-nav181__mobile-services[open]>summary{background:#edf8f7;color:var(--dsh-teal,#0A9396)}
.dsh-nav181__mobile-services[open]>summary i{transform:translateY(2px) rotate(225deg)}
.dsh-nav181__mobile-services-body{display:grid;gap:9px;padding:9px 10px 12px;border-top:1px solid var(--dsh-line,#DCE8EA);background:#fff}
.dsh-nav181__view-all{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 11px;border-radius:11px;background:var(--dsh-navy,#023047);color:#fff;font-size:.77rem;font-weight:850;text-decoration:none}
.dsh-nav181__view-all:hover,.dsh-nav181__view-all:focus-visible{background:var(--dsh-teal,#0A9396);color:#fff}
.dsh-nav181__mobile-group{padding:8px 2px 2px}
.dsh-nav181__mobile-group+.dsh-nav181__mobile-group{border-top:1px solid var(--dsh-line,#DCE8EA);padding-top:12px}
.dsh-nav181__mobile-group .dsh-nav181__service-link{grid-template-columns:29px minmax(0,1fr);min-height:40px;padding:6px;font-size:.76rem}
.dsh-nav181__languages{flex:0 0 auto;padding:12px 1px 2px;border-top:1px solid var(--dsh-line,#DCE8EA)}
.dsh-nav181__languages>strong{display:block;margin-bottom:8px;color:#61777f;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.dsh-nav181__languages .dsh-language-switcher{display:block!important}
.dsh-nav181__languages .dsh-language-switcher ul{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important;list-style:none!important;margin:0!important;padding:0!important}
.dsh-nav181__languages .dsh-language-switcher a{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:6px 9px!important;border:1px solid var(--dsh-line,#DCE8EA)!important;border-radius:999px!important;background:#fff!important;color:var(--dsh-navy,#023047)!important;font-size:.69rem!important;font-weight:820!important;text-decoration:none!important}
.dsh-nav181__languages .dsh-language-switcher .is-current a{border-color:var(--dsh-navy,#023047)!important;background:var(--dsh-navy,#023047)!important;color:#fff!important}
body.dsh-nav181-modal-open{overflow:hidden!important}

/* Mid-size laptops: keep desktop menu but reduce nonessential header width. */
@media (min-width:1280px) and (max-width:1500px){
  .dsh-header__inner{gap:9px!important}
  .dsh-brand__specialty{display:none!important}
  .dsh-brand .wp-block-site-logo img{width:50px!important;height:50px!important}
  .dsh-nav181__list{gap:5px}
  .dsh-nav181__link{padding-inline:5px;font-size:.76rem}
  .dsh-header__actions .dsh-language-switcher a{padding:5px 6px!important;font-size:.64rem!important}
}

@media (max-width:1279px){
  .dsh-nav181__desktop{display:none!important}
  .dsh-nav181__mobile-open{display:flex!important}
  .dsh-header__actions{display:none!important}
  .dsh-nav181{flex:0 0 auto;margin-inline-start:auto}
  .dsh-header__inner{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:10px!important}
  .dsh-brand{min-width:0!important;flex:1 1 auto!important}
  .dsh-brand__specialty{display:none!important}
  .dsh-brand .wp-block-site-title{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .dsh-nav181__mega{display:none!important}
}

@media (max-width:620px){
  .dsh-nav181__dialog{width:min(440px,94vw);max-width:94vw;border-radius:20px 0 0 20px}
  .rtl .dsh-nav181__dialog,[dir="rtl"] .dsh-nav181__dialog{border-radius:0 20px 20px 0}
  .dsh-nav181__dialog-inner{padding:14px}
  .dsh-brand .wp-block-site-logo img{width:46px!important;height:46px!important}
  .dsh-brand .wp-block-site-title{max-width:52vw!important;font-size:.84rem!important}
  .dsh-nav181__mobile-open{width:44px;height:44px}
}

@media (max-width:370px){
  .dsh-nav181__dialog{width:96vw;max-width:96vw}
  .dsh-brand .wp-block-site-title{max-width:45vw!important;font-size:.78rem!important}
  .dsh-nav181__mobile-group .dsh-nav181__service-link{font-size:.72rem}
}

@media (prefers-reduced-motion:reduce){
  .dsh-nav181__mega,.dsh-nav181__services-toggle>span,.dsh-nav181__mobile-services>summary i{transition:none!important}
}

/* --------------------------------------------------------------------------
 * Services artwork refinement — Theme 2.1.0
 * Only replaces the old symbolic service sketches. Navigation behavior,
 * placement, breakpoints and dialog/mega-menu mechanics remain unchanged.
 * ----------------------------------------------------------------------- */
.dsh-nav181__service-link{
  grid-template-columns:48px minmax(0,1fr);
  gap:11px;
  min-height:58px;
  padding:7px 9px;
}
.dsh-nav181__service-icon{
  position:relative;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(2,48,71,.085);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(254,250,224,.94),rgba(255,255,255,.96));
  box-shadow:0 6px 18px rgba(2,48,71,.065),inset 0 1px 0 rgba(255,255,255,.92);
  overflow:hidden;
  color:transparent;
  flex:0 0 48px;
}
.dsh-nav181__service-icon::after{
  content:"";
  position:absolute;
  inset-inline-end:3px;
  bottom:3px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--dsh-teal,#0A9396);
  box-shadow:0 0 0 3px rgba(10,147,150,.10);
  pointer-events:none;
}
.dsh-nav181__service-art{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
  transform:scale(.91);
  transform-origin:center;
}
.dsh-nav181__service-link:hover .dsh-nav181__service-icon,
.dsh-nav181__service-link:focus-visible .dsh-nav181__service-icon,
.dsh-nav181__service-link.is-current .dsh-nav181__service-icon{
  border-color:rgba(10,147,150,.25);
  background:linear-gradient(145deg,rgba(254,250,224,.98),rgba(234,247,246,.98));
  box-shadow:0 8px 20px rgba(2,48,71,.09),inset 0 1px 0 rgba(255,255,255,.96);
}
.dsh-nav181__service-link:hover .dsh-nav181__service-art,
.dsh-nav181__service-link:focus-visible .dsh-nav181__service-art{
  transform:scale(.96);
}
.dsh-nav181__service-art{transition:transform .18s ease}

/* Give the real artwork enough breathing room without changing menu anchoring. */
@media (min-width:1280px){
  .dsh-nav181__mega{width:min(1030px,calc(100vw - 32px));}
  .dsh-nav181__group{padding:14px;}
  .dsh-nav181__service-link{font-size:.79rem;line-height:1.36;}
}

/* Mobile Services list: same artwork, touch-sized and compact. */
@media (max-width:1279px){
  .dsh-nav181__mobile-group .dsh-nav181__service-link{
    grid-template-columns:46px minmax(0,1fr);
    gap:10px;
    min-height:56px;
    padding:6px 7px;
    font-size:.78rem;
    line-height:1.42;
  }
  .dsh-nav181__mobile-group .dsh-nav181__service-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:12px;
  }
}

/* RTL: the icon stays adjacent to the localized title on the logical start. */
[dir="rtl"] .dsh-nav181__service-link,
.rtl .dsh-nav181__service-link{
  text-align:right;
}

/* Arabic/Persian need more vertical room for shaping; Latin/Hindi remain compact. */
html[lang^="ar"] .dsh-nav181__service-link,
html[lang^="fa"] .dsh-nav181__service-link{
  line-height:1.62;
  letter-spacing:0;
}

@media (max-width:370px){
  .dsh-nav181__mobile-group .dsh-nav181__service-link{
    grid-template-columns:42px minmax(0,1fr);
    gap:8px;
    min-height:52px;
    font-size:.72rem;
  }
  .dsh-nav181__mobile-group .dsh-nav181__service-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
}

@media (prefers-reduced-motion:reduce){
  .dsh-nav181__service-art{transition:none!important}
}
