/* DIMART V52 — shared geometry, readable footer and page-detail corrections */
:root{--v52-cyan:#6ce6ff;--v52-ink:#031b49;--v52-shell:1180px}

/* Keep the shared header hidden only during its very short normalization pass. */
html:not(.v52-ready) body{opacity:0!important;visibility:hidden!important}
html.v52-ready body{opacity:1!important;visibility:visible!important}
html.v52-ready .site-header{opacity:1!important;visibility:visible!important;transition:opacity .18s ease!important}
.site-header .nav,.site-header.scrolled .nav{width:min(calc(100% - 40px),var(--v52-shell))!important;margin-inline:auto!important}

/* One exact menu-toggle treatment on every page. */
html body .site-header .menu-toggle{color:#e9fbff!important;background:radial-gradient(circle at 32% 25%,rgba(121,230,255,.22),rgba(4,37,94,.72))!important;border:1px solid rgba(139,229,255,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,12,45,.2)!important}
html body .site-header .menu-toggle .v50-menu-icon i{background:#e9fbff!important;box-shadow:0 0 9px rgba(109,228,255,.22)!important}
html body .site-header .menu-toggle.open{background:radial-gradient(circle at 35% 27%,#f8feff,#a9edff 58%,#6edcff)!important;border-color:rgba(255,255,255,.72)!important;box-shadow:0 0 0 4px rgba(100,226,255,.12),0 13px 30px rgba(0,16,56,.3)!important}
html body .site-header .menu-toggle.open .v50-menu-icon i{background:#06336f!important;box-shadow:none!important}

/* Home: keep the blue growth-output panel clearly inside the mobile content rail. */
@media(max-width:620px){
  html body.v50-home .growth-system .open-output{
    width:calc(100% - 34px)!important;max-width:520px!important;box-sizing:border-box!important;
    left:50%!important;right:auto!important;padding:15px 17px 15px 58px!important;border-radius:22px!important;
    overflow:hidden!important;
  }
}

/* Quick-contact is a real scroll surface on small/touch screens. */
.dimart-action-overlay{overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
.dimart-action-card{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable!important}
@media(max-width:700px){
  html body .dimart-action-overlay{display:block!important;padding:calc(env(safe-area-inset-top,0px) + 74px) 8px calc(env(safe-area-inset-bottom,0px) + 12px)!important;overflow-y:auto!important}
  html body .dimart-action-card{width:100%!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:0 auto!important;border-radius:26px!important}
  html body .dimart-action-grid{height:auto!important;min-height:0!important;overflow:visible!important}
  html body .dimart-action-formside{overflow:visible!important}
}

/* Digital-products hero actions share one centered action rail. */
body.v52-digital-products .dp-hero .dp-actions,
body.v52-digital-products .dp-actions{justify-content:center!important;align-items:center!important;text-align:center!important;margin-inline:auto!important}
body.v52-digital-products .dp-actions .btn{justify-content:center!important}

/* Language-aware direction for the common action arrow system. */
html[lang="en"] .v50-arrow svg{transform:scaleX(-1)!important}
html[lang="en"] :is(.pf-btn,.btn,.sw-btn,.hbs-action,.map-link) .v52-inline-arrow svg{transform:scaleX(-1)!important}
html[lang="fa"] :is(.pf-btn,.btn,.sw-btn,.hbs-action,.map-link) .v52-inline-arrow svg{transform:none!important}
.v52-inline-arrow{width:30px;height:30px;min-width:30px;display:inline-grid;place-items:center;border-radius:50%;color:#effdff;background:linear-gradient(145deg,rgba(3,48,111,.94),rgba(2,23,73,.98));border:1px solid rgba(138,231,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 18px rgba(0,20,65,.2);vertical-align:middle;transition:.28s cubic-bezier(.2,.8,.2,1)}
.v52-inline-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:is(.pf-btn,.btn,.sw-btn,.hbs-action):hover .v52-inline-arrow{transform:translateX(-3px) rotate(-5deg)}
html[lang="en"] :is(.pf-btn,.btn,.sw-btn,.hbs-action):hover .v52-inline-arrow{transform:translateX(3px) rotate(5deg)}
body.v52-digital-products .dp-actions .btn.primary .v52-inline-arrow{color:#08356f;background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.82);box-shadow:0 7px 18px rgba(0,46,104,.13)}

/* A dimensional but restrained before/after transition icon. */
.pf-arrow-mid.v52-transform-arrow{position:relative!important;width:68px!important;height:68px!important;border-radius:50%!important;background:radial-gradient(circle at 34% 28%,rgba(159,241,255,.42),rgba(10,105,179,.96) 49%,#032762 100%)!important;border:1px solid rgba(153,235,255,.55)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 8px rgba(255,255,255,.045),0 18px 38px rgba(0,54,121,.27)!important;animation:v52TransformFloat 2.8s ease-in-out infinite!important;overflow:visible!important}
.pf-arrow-mid.v52-transform-arrow:before{content:"";position:absolute;inset:-7px;border:1px dashed rgba(70,210,255,.34);border-radius:50%;animation:v52TransformOrbit 9s linear infinite}
.pf-arrow-mid.v52-transform-arrow:after{content:"";position:absolute;width:7px;height:7px;right:1px;top:2px;border-radius:50%;background:#a9f4ff;box-shadow:0 0 0 4px rgba(117,232,255,.12),0 0 14px #62dcff}
.pf-arrow-mid.v52-transform-arrow svg{position:relative;z-index:2;width:28px;height:28px;fill:none;stroke:#f5fdff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(142,235,255,.45))}
@keyframes v52TransformFloat{50%{transform:translateX(-6px)}}
@keyframes v52TransformOrbit{to{transform:rotate(360deg)}}

/* Match editorial glyphs to the installed DIMART typeface. */
body.v52-pf-marketing .pf-case .case-no,
body.v52-pf-data .pf-case .case-no{font-family:"Yekan Bakh",YekanBakh,Tahoma,sans-serif!important;font-style:normal!important;font-variant-numeric:lining-nums!important;letter-spacing:0!important}
body.v52-pf-data .pf-case .case-no{text-transform:uppercase!important}
body.v52-about .capability-grid .capability .v52-capability-icon{font-family:"Yekan Bakh",YekanBakh,Tahoma,sans-serif!important;font-size:26px!important;line-height:1!important;color:#028ece!important;text-shadow:0 6px 18px rgba(0,155,218,.18)!important}

/* Dark portfolio/editorial panels always carry high-contrast headings. */
.pf-section:not(.soft) :is(.pf-title,.pf-head h1,.pf-head h2),
.pf-section.v52-transformation :is(.pf-title,.pf-head h1,.pf-head h2),
section.dark :is(.title,h1,h2,h3),section.da-dark :is(.title,h1,h2,h3){color:#fff!important;text-shadow:0 2px 22px rgba(0,12,43,.28)!important}
.pf-section:not(.soft) .pf-copy,.pf-section.v52-transformation .pf-copy{color:#c7ddeb!important}
.pf-section.v52-transformation .pf-eyebrow{color:#72e3ff!important}

/* Footer V52: same readable contact system and map action on all pages. */
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact{
  grid-template-columns:minmax(260px,1.25fr) minmax(155px,.7fr) minmax(225px,1fr)!important;
}
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact>*{
  height:auto!important;min-height:54px!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;padding:7px 11px!important;overflow:visible!important;
}
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact-link:before{content:none!important;display:none!important}
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .contact-copy{
  display:block!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;
  color:#e8f7ff!important;font-size:12px!important;font-weight:600!important;line-height:1.65!important;letter-spacing:0!important;
}
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .contact-copy:before{content:none!important;display:none!important}
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .phone .contact-copy,
html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .email .contact-copy{direction:ltr!important;text-align:left!important;unicode-bidi:isolate!important;word-break:normal!important}
html body .site-footer[data-v31-footer][data-v52-footer] .map-link{
  position:relative!important;width:100%!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  padding:7px 12px!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;line-height:1.5!important;overflow:hidden!important;
  background:linear-gradient(135deg,#fff,#eafaff)!important;color:#07356f!important;box-shadow:0 13px 28px rgba(0,17,56,.19),inset 0 1px 0 #fff!important;
}
.site-footer[data-v52-footer] .map-link:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(62,202,246,.16) 49%,transparent 72%);transform:translateX(110%);transition:.55s ease}
.site-footer[data-v52-footer] .map-link:hover:before{transform:translateX(-110%)}
.site-footer[data-v52-footer] .v52-map-label{position:relative;z-index:2}
.site-footer[data-v52-footer] .v52-inline-arrow{position:relative;z-index:2;width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:50%;color:#eefdff;background:linear-gradient(145deg,#08a9dd,#07549f);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 7px 16px rgba(2,75,139,.25);transition:.28s}
.site-footer[data-v52-footer] .v52-inline-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-footer[data-v52-footer] .map-link:hover .v52-inline-arrow{transform:translateX(-3px) rotate(-5deg)}
html[lang="en"] .site-footer[data-v52-footer] .map-link:hover .v52-inline-arrow{transform:translateX(3px) rotate(5deg)}
.site-footer[data-v52-footer] [data-v52-map-code]{display:inline-block!important;direction:ltr!important;unicode-bidi:isolate!important;font-family:Arial,sans-serif!important;letter-spacing:.08em!important;color:#dceef9!important}

@media(max-width:1100px){
  /* This is the same mobile content rail used by the home hero search. */
  html body .site-header .nav,html body .site-header.scrolled .nav{width:calc(100% - 28px)!important;max-width:760px!important;margin-inline:auto!important}
  html body.v50-home .dimart-hero-x .hero-intent-search,
  html body.v50-home .dimart-hero-x .hero-business-search{position:relative!important;left:50%!important;right:auto!important;transform:translateX(-50%) translateX(8px)!important;width:calc(100vw - 28px)!important;max-width:760px!important;margin-inline:0!important}
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact{grid-template-columns:1fr!important;grid-template-areas:"location" "phone" "email"!important;gap:8px!important}
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .location,
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .phone,
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .email{grid-column:1!important}
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact>*{min-height:52px!important;height:auto!important;padding:7px 10px!important;grid-template-columns:36px minmax(0,1fr)!important}
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .contact-copy{font-size:12.5px!important;line-height:1.55!important;text-align:start!important}
  html body .site-footer[data-v31-footer][data-v52-footer] .footer-contact .email .contact-copy{font-size:11.5px!important}
}
@media(max-width:950px){
  .pf-arrow-mid.v52-transform-arrow{margin:2px auto!important;animation:v52TransformMobile 2.8s ease-in-out infinite!important}
  .pf-arrow-mid.v52-transform-arrow svg,html[lang="en"] .pf-arrow-mid.v52-transform-arrow svg{transform:rotate(-90deg)!important}
  @keyframes v52TransformMobile{50%{transform:translateY(5px)}}
}
@media(max-width:430px){
  html body .site-header .nav,html body .site-header.scrolled .nav{width:calc(100% - 28px)!important}
  html body.v50-home .dimart-hero-x .hero-intent-search,
  html body.v50-home .dimart-hero-x .hero-business-search{width:calc(100vw - 28px)!important;max-width:none!important}
  body.v52-digital-products .dp-actions{width:100%!important;display:flex!important;flex-direction:column!important}
  body.v52-digital-products .dp-actions .btn{width:min(100%,340px)!important;margin-inline:auto!important}
}
@media(prefers-reduced-motion:reduce){html.v52-ready .site-header,.pf-arrow-mid.v52-transform-arrow,.pf-arrow-mid.v52-transform-arrow:before,.site-footer[data-v52-footer] .map-link:before{animation:none!important;transition:none!important}}
