/* Corporate Media Wire — mobile performance, touch, and layout fixes */

/* ── Disable decorative / infinite animations on mobile & touch ── */
@media (max-width:768px),(hover:none) and (pointer:coarse){
  html{scroll-behavior:auto!important}

  #icn-contact .ct-hero-grid,
  #icn-contact .ct-orb,
  #icn-contact .ct-aurora,
  #icn-contact .ct-particle,
  #icn-contact .pulse-ring::before,
  #icn-contact .pulse-ring::after,
  .hero-badge-dot,
  .hero-counter-cell::after{
    animation:none!important;
  }

  #icn-contact .ct-orb{display:none}
  #icn-contact .ct-aurora{
    opacity:.35;
    filter:none;
    animation:none!important;
  }

  #zb-shell-header.is-scrolled .cmw-header,
  .zb-nav-drop-menu,
  .zb-mobile-nav,
  .cmw-why-card,
  .cmw-faq-item.is-open .cmw-faq-panel,
  .zb-post-card-cat,
  .hero-counter,
  .filter-card,
  .filter-dock,
  .modal-overlay,
  .mkt-cols-panel,
  .zb-cart-bar{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  #zb-shell-header.is-scrolled .cmw-header{
    background:rgba(0,0,64,.98)!important;
  }

  .cmw-service-card:hover,
  .cmw-why-card:hover,
  .cmw-network-card:hover,
  .cmw-process-step:hover,
  .cmw-testimonial:hover,
  .cmw-benefit-panel:hover,
  .zb-post-card:hover,
  .cmw-newsroom-row:hover,
  .cmw-svc-card:hover,
  .cmw-svc-feature:hover{
    transform:none!important;
  }

  .zb-post-card:hover,
  .cmw-newsroom-row:hover{
    box-shadow:0 4px 20px rgba(15,23,42,.05)!important;
  }

  .zb-post-card:hover .zb-post-card-thumb img,
  .cmw-newsroom-row:hover .cmw-newsroom-row-thumb img{
    transform:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}

  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }

  #icn-contact .ct-orb{display:none}
}

html.cmw-mobile{scroll-behavior:auto}

html.cmw-mobile #icn-contact .ct-hero-grid,
html.cmw-mobile #icn-contact .ct-orb,
html.cmw-mobile #icn-contact .ct-aurora,
html.cmw-mobile #icn-contact .ct-particle,
html.cmw-mobile #icn-contact .pulse-ring::before,
html.cmw-mobile #icn-contact .pulse-ring::after,
html.cmw-mobile .hero-badge-dot,
html.cmw-mobile .hero-counter-cell::after{
  animation:none!important;
}

html.cmw-mobile #icn-contact .ct-orb{display:none}

/* ── Global mobile layout & overflow ── */
@media (max-width:768px){
  .page-inner,
  .cmw-newsroom-page .page-inner,
  .cmw-services-page .page-inner{
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
  }

  body.zb-page-dark .hero,
  .cmw-hero.hero{
    padding-top:calc(var(--zb-header-height) + var(--zb-admin-offset) + 28px)!important;
    padding-bottom:40px!important;
  }

  .cmw-hero-grid{padding-top:0!important}

  .cmw-newsroom-hero{
    padding-top:calc(var(--zb-header-height) + var(--zb-admin-offset) + 28px)!important;
    padding-bottom:36px!important;
  }

  .cmw-svc-hero{
    padding-top:calc(var(--zb-header-height) + var(--zb-admin-offset) + 28px)!important;
  }

  .zb-blog-hero{padding-bottom:40px!important}

  #icn-contact .ct-main{
    padding:48px 0 64px;
  }

  #icn-contact .ct-main-inner{
    grid-template-columns:1fr;
    gap:28px;
  }

  #icn-contact .ct-faq-item.open .ct-faq-a{
    max-height:none!important;
  }

  #icn-contact .ct-channels,
  #icn-contact .ct-faq{
    padding:48px 0;
  }

  .cmw-cta-final-inner{
    flex-direction:column;
    text-align:center;
  }

  .cmw-cta-final-actions{
    width:100%;
    justify-content:center;
  }

  .cmw-cta-final-actions .cmw-btn{
    flex:1 1 auto;
    min-width:min(100%,220px);
    justify-content:center;
  }

  .cmw-stats-grid .cmw-stat{
    padding:20px 16px;
  }

  .cmw-faq-q{
    font-size:15px;
    padding:16px 18px;
  }

  .zb-co-wrap,
  .zb-chk-inner,
  .zb-blog-wrap{
    padding-left:16px;
    padding-right:16px;
  }

  .filter-dock{
    position:sticky;
    top:calc(var(--zb-header-height) + var(--zb-admin-offset));
    z-index:100;
  }

  img,video,iframe,table,pre,svg.cmw-logo-mark{
    max-width:100%;
    height:auto;
  }

  .cmw-btn,
  .zb-btn-primary,
  .zb-btn-ghost,
  .zb-nav-link,
  .zb-mobile-nav a,
  button.ct-faq-q{
    min-height:44px;
  }

  .cmw-home .page-inner,
  .cmw-services-page .page-inner{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
}

@media (max-width:480px){
  .cmw-logo-name{font-size:14px}
  .cmw-logo-tag{font-size:8px}
  .cmw-hero-copy h1{font-size:clamp(26px,7vw,34px)}
  .cmw-stats-grid{gap:12px}
  .cmw-newsroom-row{
    padding:16px;
    grid-template-columns:1fr;
  }
  .cmw-newsroom-row-thumb{
    max-width:100%;
    height:200px;min-height:200px;max-height:200px;
  }
  .zb-posts-grid{gap:20px}
}
