
/* ==========================================================================
   ComTechSa 0.25.0 – technical finish / accessibility / performance polish
   ========================================================================== */

/* System-level motion preference */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Robust focus treatment */
a:focus-visible,
button:focus-visible,
.cts-ref-menu-toggle:focus-visible,
.cts-ref-header-cta:focus-visible,
.cts-ref-mobile-cta:focus-visible{
  outline:3px solid #ff8a47!important;
  outline-offset:3px!important;
}

/* Avoid accidental horizontal overflow from long strings */
.cts-subpage-inner,
.cts-ref-service,
.cts-detail-card,
.cts-contact-channel,
.cts-legal-approved,
.cts-project-brief,
.cts-reference-project{
  min-width:0!important;
}
.cts-legal-approved,
.cts-legal-approved p,
.cts-contact-channel p,
.cts-detail-card p{
  overflow-wrap:anywhere!important;
}

/* Better link readability in legal/contact text */
.cts-legal-approved a,
.cts-contact-channel a{
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}

/* Image rendering */
.cts-ref-hero-img{
  content-visibility:auto;
}
img{
  height:auto;
}

/* Prevent layout jumps on the header */
.cts-ref-header-shell{
  contain:layout paint;
}

/* Ensure section anchors are not hidden behind the fixed header */
[id]{
  scroll-margin-top:calc(var(--cts-header-h,82px) + 18px);
}

/* Print-friendly legal pages */
@media print{
  .cts-ref-header-shell,
  .cts-ref-footer-shell,
  .cts-subpage-cta,
  .cts-ref-mobile-panel{
    display:none!important;
  }
  body{
    padding-top:0!important;
    background:#fff!important;
    color:#000!important;
  }
  .cts-subhero,
  .cts-subpage-section{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .cts-subhero{
    background:#fff!important;
    color:#000!important;
  }
  .cts-subhero h1,
  .cts-subhero-lead,
  .cts-subhero-kicker{
    color:#000!important;
  }
  a{
    color:#000!important;
    text-decoration:underline!important;
  }
}
