/* =========================================================
   MOBILE BROWSER FIXES
   Mobile-only improvements for phones and small tablets.
   Desktop and larger screens remain untouched.
   ========================================================= */

@media screen and (max-width: 900px){

  html,
  body{
    max-width:100%;
    overflow-x:hidden !important;
  }

  body{
    word-break:normal;
    overflow-wrap:normal;
  }

  *,
  *::before,
  *::after{
    box-sizing:border-box;
  }

  img,
  video,
  iframe,
  svg{
    max-width:100%;
    height:auto;
  }

  #page,
  .site,
  .site-main,
  main,
  section,
  .container{
    max-width:100%;
  }

  .container{
    width:min(100% - 28px, 1180px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* =========================
     HEADER / TOP BAR
     ========================= */

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:999999 !important;
    background:#ffffff !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 8px 24px rgba(15,23,42,.08) !important;
    overflow:visible !important;
  }

  .admin-bar .site-header{
    top:46px !important;
  }

  .top-bar{
    display:block !important;
    width:100% !important;
    background:#0f172a !important;
    color:#ffffff !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
  }

  .top-bar .container,
  .top-bar-inner{
    width:100% !important;
    max-width:100% !important;
    padding:10px 16px !important;
    margin:0 !important;
  }

  .top-bar-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    min-height:auto !important;
  }

  .top-bar-left,
  .top-bar-right{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px 12px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .top-bar-message{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffffff !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  .top-bar-item{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffffff !important;
    text-decoration:none !important;
    font-size:13px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }

  .top-bar-left .top-bar-item + .top-bar-item::before,
  .top-bar-item::before{
    display:none !important;
    content:none !important;
  }

  .top-bar-follow{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    color:#ffffff !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
    white-space:nowrap !important;
  }

  .social-links--topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .social-links--topbar a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    min-height:28px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.24) !important;
    border-radius:999px !important;
    background:transparent !important;
    flex:0 0 28px !important;
  }

  .social-links--topbar .social-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
  }

  .social-links--topbar .social-icon svg{
    display:block !important;
    width:14px !important;
    height:14px !important;
    fill:#ffffff !important;
  }

  .header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    min-height:72px !important;
    padding:12px 16px !important;
    width:100% !important;
    max-width:100% !important;
    background:#ffffff !important;
    border-bottom:0 !important;
  }

  .branding{
    flex:1 1 auto !important;
    min-width:0 !important;
    margin-right:0 !important;
  }

  .branding .custom-logo,
  .branding img{
    max-height:46px !important;
    width:auto !important;
  }

  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:88px !important;
    min-height:42px !important;
    padding:0 16px !important;
    margin-left:auto !important;
    border:1px solid #d9e2ec !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
  }

  .primary-navigation{
    display:none !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    flex:0 0 100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .primary-navigation.is-open{
    display:block !important;
  }

  .primary-navigation .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100% !important;
    gap:8px !important;
    margin:12px 0 0 !important;
    padding:12px !important;
    list-style:none !important;
    background:#ffffff !important;
    border:1px solid #d9e2ec !important;
    border-radius:20px !important;
    box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  }

  .primary-navigation .menu > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .primary-navigation .menu > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    padding:12px 14px !important;
    margin:0 !important;
    background:#ffffff !important;
    color:#0f172a !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:14px !important;
    box-shadow:none !important;
    text-decoration:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.35 !important;
  }

  .primary-navigation .sub-menu{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:6px 0 0 !important;
    padding:8px !important;
    background:#f8fbff !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:16px !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .primary-navigation .menu > li.menu-open > .sub-menu,
  .primary-navigation .sub-menu li.menu-open > .sub-menu{
    display:block !important;
  }

  .primary-navigation .sub-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .primary-navigation .sub-menu a{
    display:block !important;
    width:100% !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    text-decoration:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.4 !important;
  }

  /* =========================
     GLOBAL MOBILE LAYOUT
     ========================= */

  .hero-grid,
  .trust-band,
  .split-section,
  .footer-grid,
  .contact-hero-inner,
  .contact-main-grid,
  .knowledge-hub-hero__inner,
  .connectivity-hero-grid,
  .connectivity-support-grid,
  .connectivity-option-grid,
  .connectivity-process-grid,
  .connectivity-split-card,
  .home-hero-inner,
  .home-service-grid,
  .home-process-grid,
  .home-split-grid,
  .solutions-hero-inner,
  .solutions-intro-grid,
  .solutions-card-grid,
  .solutions-benefit-grid,
  .solutions-approach-panel,
  .solutions-cta-panel,
  .mobile-hero-inner,
  .mobile-intro-grid,
  .mobile-card-grid,
  .mobile-approach-panel,
  .mobile-use-case-grid,
  .mobile-benefit-grid,
  .mobile-cta-panel,
  .it-hero-inner,
  .it-intro-grid,
  .it-card-grid,
  .it-approach-panel,
  .it-use-case-grid,
  .it-benefit-grid,
  .it-cta-panel,
  .contact-centre-hero-inner,
  .contact-centre-card-grid,
  .contact-centre-process-grid,
  .contact-centre-dark-inner,
  .contact-centre-dark-grid,
  .contact-centre-cta-inner,
  .ccaas-hero-inner,
  .ccaas-card-grid,
  .ccaas-process-grid,
  .ccaas-dark-inner,
  .ccaas-dark-grid,
  .ccaas-cta-inner,
  .networks-hero-inner,
  .networks-card-grid,
  .networks-process-grid,
  .networks-dark-inner,
  .networks-dark-grid,
  .networks-cta-inner,
  .social-updates-hero-inner,
  .social-updates-dark-inner,
  .social-updates-dark-grid,
  .social-updates-placeholder-grid,
  .social-updates-cta-inner,
  .faq-hero-inner,
  .faq-split-grid,
  .faq-mini-grid,
  .faq-cta-inner,
  .cards-grid,
  .card-grid,
  .service-cards,
  .posts-grid,
  .cyber-card-grid,
  .feature-grid,
  .social-links-grid,
  .knowledge-hub-grid,
  .knowledge-hub-post-grid,
  .premium-outcomes-cards,
  .premium-outcomes-cards--six{
    grid-template-columns:1fr !important;
  }

  .section,
  .hero-home,
  .hero-social,
  .contact-hero,
  .knowledge-hub-hero,
  .connectivity-hero,
  .connectivity-intro,
  .connectivity-options,
  .connectivity-comparison,
  .connectivity-process,
  .connectivity-support,
  .connectivity-cta{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }

  .button-row,
  .home-hero-actions,
  .home-cta-actions,
  .contact-centre-hero-actions,
  .contact-centre-cta-actions,
  .ccaas-hero-actions,
  .ccaas-cta-actions,
  .networks-hero-actions,
  .networks-cta-actions,
  .social-updates-hero-actions,
  .social-updates-cta-actions,
  .faq-hero-actions,
  .faq-cta-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
  }

  .button-row a,
  .button-primary,
  .button-secondary{
    width:100% !important;
  }

  .card,
  .service-card,
  .post-card,
  .cyber-card,
  .homepage-solution-card,
  .connectivity-option-card,
  .connectivity-process-card,
  .connectivity-reasons-card,
  .connectivity-hero-card,
  .connectivity-mini-card,
  .connectivity-check-card,
  .connectivity-cta-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .homepage-solution-card-inner,
  .ucaas-grid-section .ucaas-card-inner,
  .ccaas-grid-section .ccaas-card-inner,
  .ai-grid-section .ai-card-inner,
  .voice-cx-grid-section .voice-card-inner,
  .cyber-grid-section .cyber-solution-card-inner,
  section.network-grid-section article.network-card .network-card-inner,
  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  .homepage-solution-card-media,
  .ucaas-grid-section .ucaas-card-media,
  .ccaas-grid-section .ccaas-card-media,
  .ai-grid-section .ai-card-media,
  .voice-cx-grid-section .voice-card-media,
  .cyber-grid-section .cyber-solution-card-media,
  section.network-grid-section article.network-card .network-card-media,
  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__media{
    height:220px !important;
    min-height:220px !important;
  }

  .homepage-solution-card-media img,
  .ucaas-grid-section .ucaas-card-media img,
  .ccaas-grid-section .ccaas-card-media img,
  .ai-grid-section .ai-card-media img,
  .voice-cx-grid-section .voice-card-media img,
  .cyber-grid-section .cyber-solution-card-media img,
  section.network-grid-section article.network-card .network-card-media img,
  .knowledge-hub-post-card.has-image .knowledge-hub-post-card__media img{
    height:220px !important;
    min-height:220px !important;
    width:100% !important;
    object-fit:cover !important;
  }

  .homepage-solution-card-copy,
  .ucaas-grid-section .ucaas-card-copy,
  .ccaas-grid-section .ccaas-card-copy,
  .ai-grid-section .ai-card-copy,
  .voice-cx-grid-section .voice-card-copy,
  .cyber-grid-section .cyber-solution-card-copy,
  section.network-grid-section article.network-card .network-card-body,
  .knowledge-hub-post-card__content,
  .connectivity-support-copy,
  .connectivity-option-card,
  .connectivity-process-card,
  .connectivity-reasons-card,
  .connectivity-hero-card,
  .connectivity-mini-card,
  .connectivity-check-card,
  .connectivity-cta-card{
    padding:22px 20px !important;
  }

  /* =========================
     CONNECTIVITY PAGE
     ========================= */

  .page-connectivity,
  .page-connectivity *{
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  .page-connectivity .connectivity-split-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    min-height:auto !important;
  }

  .page-connectivity .connectivity-split-copy,
  .page-connectivity .connectivity-check-card,
  .page-connectivity .connectivity-option-card,
  .page-connectivity .connectivity-process-card,
  .page-connectivity .connectivity-reasons-card,
  .page-connectivity .connectivity-support-copy{
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
  }

  .page-connectivity .connectivity-anchor-nav{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  .page-connectivity .connectivity-anchor-nav a{
    width:100% !important;
    text-align:center !important;
  }

  .page-connectivity .connectivity-table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .page-connectivity .connectivity-table{
    min-width:720px !important;
  }

  /* =========================
     FAQ
     ========================= */

  .faq-category-toggle,
  .faq-question{
    width:100%;
  }

  /* =========================
     FOOTER
     ========================= */

  .footer-bottom{
    justify-content:center !important;
    text-align:center !important;
  }

  .footer-bottom p{
    width:100% !important;
    text-align:center !important;
    white-space:normal !important;
  }

  .footer-inline-links{
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
  }

  .social-links-labeled{
    justify-content:center !important;
    width:100% !important;
  }
}

@media screen and (max-width: 575px){

  .top-bar-message,
  .top-bar-item,
  .top-bar-follow{
    font-size:12.5px !important;
  }

  .social-links--topbar a{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    flex:0 0 26px !important;
  }

  .social-links--topbar .social-icon,
  .social-links--topbar .social-icon svg{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    min-height:13px !important;
  }

  .branding .custom-logo,
  .branding img{
    max-height:42px !important;
  }

  .menu-toggle{
    min-width:82px !important;
    min-height:40px !important;
    font-size:13px !important;
  }
}

/* =========================================================
   MOBILE MENU HARD OVERRIDE
   Put this at the very end of mobile-browser-fixes.css
   ========================================================= */

@media screen and (max-width: 900px){

  .site-header .primary-navigation,
  .site-header #primary-navigation{
    display:none;
    width:100% !important;
    flex:0 0 100% !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  .site-header .primary-navigation.is-open,
  .site-header #primary-navigation.is-open{
    display:block !important;
  }

  .site-header .primary-navigation .menu,
  .site-header #primary-navigation .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    width:100% !important;
    margin:12px 0 0 !important;
    padding:12px !important;
    list-style:none !important;
    background:#ffffff !important;
    border:1px solid #d9e2ec !important;
    border-radius:20px !important;
    box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  }

  .site-header .primary-navigation .menu > li,
  .site-header #primary-navigation .menu > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .site-header .primary-navigation .menu > li > a,
  .site-header #primary-navigation .menu > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:44px !important;
    padding:12px 14px !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    text-decoration:none !important;
    box-shadow:none !important;
  }

  .site-header .primary-navigation .sub-menu,
  .site-header #primary-navigation .sub-menu{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:6px 0 0 !important;
    padding:8px !important;
    background:#f8fbff !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:16px !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .site-header .primary-navigation .menu > li.menu-open > .sub-menu,
  .site-header .primary-navigation .sub-menu li.menu-open > .sub-menu,
  .site-header #primary-navigation .menu > li.menu-open > .sub-menu,
  .site-header #primary-navigation .sub-menu li.menu-open > .sub-menu{
    display:block !important;
  }

  .site-header .primary-navigation .sub-menu li,
  .site-header #primary-navigation .sub-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  .site-header .primary-navigation .sub-menu a,
  .site-header #primary-navigation .sub-menu a{
    display:block !important;
    width:100% !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    text-decoration:none !important;
  }

  .menu-toggle{
    pointer-events:auto !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent;
  }
}