/* DigiX final consistency fixes v4.0
   - continuous mobile Industries and Blog topic strips
   - standard compact blog cards
   - identical footer presentation on every page
   - reliable vertical touch scrolling
*/

html{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  height:auto !important;
  overscroll-behavior-y:auto !important;
}
body.premium-ui-v2:not(.menu-open){
  position:static !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  height:auto !important;
  min-height:100% !important;
  touch-action:pan-y pinch-zoom !important;
}
body.premium-ui-v2.menu-open{
  overflow:hidden !important;
  touch-action:none !important;
}

/* ---------------------------------------------------------
   Industries: reliable continuous marquee on mobile/tablet
   --------------------------------------------------------- */
@keyframes dxFinalIndustriesLeft{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 7px),0,0)}
}
@keyframes dxFinalIndustriesRight{
  from{transform:translate3d(calc(-50% - 7px),0,0)}
  to{transform:translate3d(0,0,0)}
}
body.premium-ui-v2 .industries-section,
body.premium-ui-v2 .industries-belt{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
body.premium-ui-v2 .industries-belt{
  display:flex !important;
  flex-direction:column !important;
  touch-action:pan-y !important;
  -webkit-user-select:none;
  user-select:none;
}
body.premium-ui-v2 .industries-row{
  display:flex !important;
  flex-flow:row nowrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  gap:14px !important;
  white-space:nowrap !important;
  transform:translate3d(0,0,0);
  animation:dxFinalIndustriesLeft 28s linear infinite !important;
  animation-play-state:running !important;
  will-change:transform !important;
  backface-visibility:hidden !important;
}
body.premium-ui-v2 .industries-row.row-reverse{
  animation-name:dxFinalIndustriesRight !important;
  animation-duration:25s !important;
}
body.premium-ui-v2 .industries-row .industry-pill{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
}
@media (hover:hover) and (pointer:fine){
  body.premium-ui-v2 .industries-belt:hover .industries-row{
    animation-play-state:paused !important;
  }
}
@media (max-width:640px){
  body.premium-ui-v2 .industries-belt{
    gap:10px !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%) !important;
  }
  body.premium-ui-v2 .industries-row{
    gap:9px !important;
    animation-duration:21s !important;
  }
  body.premium-ui-v2 .industries-row.row-reverse{
    animation-duration:19s !important;
  }
}

/* ---------------------------------------------------------
   Blog page topic strip: continuous movement on mobile
   --------------------------------------------------------- */
@keyframes dxFinalTopicScroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 8px),0,0)}
}
body.premium-ui-v2 .topic-strip{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  touch-action:pan-y !important;
}
body.premium-ui-v2 .topic-strip .static-topic-list{
  display:flex !important;
  flex-flow:row nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  gap:16px !important;
  padding-inline:10px !important;
  white-space:nowrap !important;
  transform:translate3d(0,0,0);
  animation:dxFinalTopicScroll 25s linear infinite !important;
  animation-play-state:running !important;
  will-change:transform !important;
  backface-visibility:hidden !important;
}
body.premium-ui-v2 .topic-strip .static-topic-list span{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  white-space:nowrap !important;
}
@media (hover:hover) and (pointer:fine){
  body.premium-ui-v2 .topic-strip:hover .static-topic-list{
    animation-play-state:paused !important;
  }
}
@media (max-width:640px){
  body.premium-ui-v2 .topic-strip .static-topic-list{
    gap:12px !important;
    animation-duration:19s !important;
  }
}

/* Keep these two requested continuous strips active even where the device
   has reduced system animation enabled. Other decorative motion stays reduced. */
@media (prefers-reduced-motion:reduce){
  body.premium-ui-v2 .industries-row{
    animation:dxFinalIndustriesLeft 38s linear infinite !important;
    animation-play-state:running !important;
  }
  body.premium-ui-v2 .industries-row.row-reverse{
    animation-name:dxFinalIndustriesRight !important;
    animation-duration:35s !important;
  }
  body.premium-ui-v2 .topic-strip .static-topic-list{
    animation:dxFinalTopicScroll 34s linear infinite !important;
    animation-play-state:running !important;
  }
}

/* ---------------------------------------------------------
   Blog list: standard compact equal-height cards
   --------------------------------------------------------- */
body.premium-ui-v2 .blog-grid{
  align-items:stretch !important;
  gap:22px !important;
}
body.premium-ui-v2 .blog-grid .blog-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:20px !important;
  box-shadow:0 12px 32px rgba(7,17,38,.08) !important;
}
body.premium-ui-v2 .blog-grid .blog-img{
  flex:0 0 188px !important;
  height:188px !important;
}
body.premium-ui-v2 .blog-grid .blog-body{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  padding:18px !important;
}
body.premium-ui-v2 .blog-grid .blog-body .blog-meta{
  margin-bottom:9px !important;
  gap:8px !important;
  font-size:.75rem !important;
}
body.premium-ui-v2 .blog-grid .blog-body h3{
  min-height:2.72em !important;
  margin-bottom:8px !important;
  font-size:1.03rem !important;
  line-height:1.36 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
body.premium-ui-v2 .blog-grid .blog-body p{
  min-height:3.05em !important;
  margin-bottom:13px !important;
  font-size:.84rem !important;
  line-height:1.52 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
body.premium-ui-v2 .blog-grid .read-more{
  align-self:flex-start !important;
  margin-top:auto !important;
  min-height:38px !important;
  padding:8px 13px !important;
  font-size:.78rem !important;
}

/* Homepage blog carousel cards use the same standard compact proportion. */
body.premium-ui-v2 .home-blog-card{
  min-height:430px !important;
  border-radius:20px !important;
}
body.premium-ui-v2 .home-blog-image{
  height:190px !important;
  flex:0 0 190px !important;
}
body.premium-ui-v2 .home-blog-body{
  padding:18px !important;
}
body.premium-ui-v2 .home-blog-body h3{
  min-height:2.7em !important;
  margin-bottom:8px !important;
  font-size:1rem !important;
  line-height:1.35 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
body.premium-ui-v2 .home-blog-body p{
  min-height:2.95em !important;
  margin-bottom:12px !important;
  font-size:.83rem !important;
  line-height:1.48 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
body.premium-ui-v2 .home-blog-read{
  align-self:flex-start !important;
  width:auto !important;
  min-height:38px !important;
  padding:8px 12px !important;
  gap:8px !important;
}
body.premium-ui-v2 .home-blog-read i{
  width:auto !important;
  height:auto !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
@media (max-width:767px){
  body.premium-ui-v2 .blog-grid .blog-img{
    flex-basis:176px !important;
    height:176px !important;
  }
  body.premium-ui-v2 .blog-grid .blog-body{
    padding:16px !important;
  }
  body.premium-ui-v2 .home-blog-card{
    min-height:0 !important;
  }
  body.premium-ui-v2 .home-blog-image{
    height:176px !important;
    flex-basis:176px !important;
  }
  body.premium-ui-v2 .home-blog-body{
    padding:16px !important;
  }
}

/* ---------------------------------------------------------
   One identical footer model on all 23 pages
   --------------------------------------------------------- */
body.premium-ui-v2 .site-footer{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:72px 0 0 !important;
  color:rgba(255,255,255,.82) !important;
  background:linear-gradient(135deg,#050816 0%,#071126 48%,#1237B7 145%) !important;
}
body.premium-ui-v2 .site-footer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 12% 18%,rgba(34,184,240,.16),transparent 31%),
    radial-gradient(circle at 90% 10%,rgba(30,94,255,.18),transparent 38%) !important;
}
body.premium-ui-v2 .site-footer::after{
  display:none !important;
}
body.premium-ui-v2 .site-footer .footer-worldmap{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:.34 !important;
  pointer-events:none !important;
}
body.premium-ui-v2 .site-footer .footer-grid{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(160px,1fr)) !important;
  gap:36px !important;
  align-items:start !important;
  padding-bottom:44px !important;
}
body.premium-ui-v2 .site-footer .footer-brand{
  display:flex !important;
  align-items:center !important;
  min-height:52px !important;
  margin:0 0 16px !important;
}
body.premium-ui-v2 .site-footer .footer-brand img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:220px !important;
  max-height:56px !important;
  object-fit:contain !important;
  border-radius:0 !important;
}
body.premium-ui-v2 .site-footer .footer-brand > span{
  display:none !important;
}
body.premium-ui-v2 .site-footer .footer-col p.tag{
  max-width:340px !important;
  margin:0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:.88rem !important;
  line-height:1.7 !important;
}
body.premium-ui-v2 .site-footer .footer-col h5{
  margin:0 0 17px !important;
  color:#fff !important;
  font-size:.94rem !important;
  line-height:1.3 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
}
body.premium-ui-v2 .site-footer .footer-col h5::after{
  width:38px !important;
  height:3px !important;
  margin-top:8px !important;
}
body.premium-ui-v2 .site-footer .footer-col ul{
  margin:0 !important;
  padding:0 !important;
}
body.premium-ui-v2 .site-footer .footer-col li{
  margin:0 0 8px !important;
}
body.premium-ui-v2 .site-footer .footer-col a{
  display:inline-flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  color:rgba(255,255,255,.72) !important;
  font-size:.86rem !important;
  line-height:1.5 !important;
}
body.premium-ui-v2 .site-footer .footer-social{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:18px !important;
}
body.premium-ui-v2 .site-footer .footer-social a,
body.premium-ui-v2 .site-footer .footer-social .social-icon{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:12px !important;
  color:#fff !important;
  box-shadow:0 9px 22px rgba(0,0,0,.20) !important;
}
body.premium-ui-v2 .site-footer .footer-social a::before,
body.premium-ui-v2 .site-footer .footer-social a::after{
  display:none !important;
}
body.premium-ui-v2 .site-footer .footer-social a.fb{background:#1877F2 !important}
body.premium-ui-v2 .site-footer .footer-social a.ig{background:linear-gradient(135deg,#FEDA75 0%,#FA7E1E 24%,#D62976 52%,#962FBF 76%,#4F5BD5 100%) !important}
body.premium-ui-v2 .site-footer .footer-social a.li{background:#0A66C2 !important}
body.premium-ui-v2 .site-footer .footer-social a.tw{background:#000 !important}
body.premium-ui-v2 .site-footer .footer-social a.wa{background:#25D366 !important}
body.premium-ui-v2 .site-footer .footer-social a i{
  color:#fff !important;
  font-size:1.02rem !important;
  transform:none !important;
}
body.premium-ui-v2 .site-footer .footer-bottom{
  position:relative !important;
  z-index:2 !important;
  min-height:70px !important;
  margin:0 !important;
  padding:20px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}
body.premium-ui-v2 .site-footer .footer-bottom p{
  margin:0 !important;
  color:rgba(255,255,255,.62) !important;
  font-size:.82rem !important;
}
@media (max-width:1080px){
  body.premium-ui-v2 .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.premium-ui-v2 .site-footer .footer-grid .footer-col:first-child{
    grid-column:1/-1 !important;
  }
}
@media (max-width:640px){
  body.premium-ui-v2 .site-footer{
    padding-top:54px !important;
  }
  body.premium-ui-v2 .site-footer .footer-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:24px !important;
    padding-bottom:32px !important;
  }
  body.premium-ui-v2 .site-footer .footer-grid .footer-col:first-child{
    grid-column:auto !important;
  }
  body.premium-ui-v2 .site-footer .footer-brand img{
    max-width:190px !important;
    max-height:50px !important;
  }
  body.premium-ui-v2 .site-footer .footer-bottom{
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
  }
}
