
/* ==========================================================================
   ComTechSa 0.26.0 – visuelle Feinabnahme
   Ziel: keine neue Designrichtung, sondern konsistente Proportionen,
   Abstände, Typografie und Komponenten auf allen Seiten.
   ========================================================================== */

:root{
  --cts-page-max:1320px;
  --cts-gap-xl:clamp(28px,4vw,54px);
  --cts-gap-lg:clamp(22px,3vw,38px);
  --cts-gap-md:18px;
}

/* ---------- Header / Footer rhythm ---------- */
.cts-ref-header{
  align-items:center!important;
}
.cts-ref-nav a{
  line-height:1!important;
}
.cts-ref-header-cta{
  line-height:1!important;
}
.cts-ref-footer{
  align-items:center!important;
}
.cts-ref-footer-nav{
  align-items:center!important;
}

/* ---------- Hero proportions ---------- */
.cts-ref-hero,
.cts-subhero{
  isolation:isolate!important;
}
.cts-subhero-inner{
  min-height:280px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.cts-subhero h1{
  max-width:980px!important;
}
.cts-subhero-lead{
  max-width:900px!important;
}

/* ---------- Section rhythm ---------- */
.cts-ref-process,
.cts-ref-services,
.cts-ref-projects,
.cts-subpage-section,
.cts-subpage-cta{
  position:relative!important;
}
.cts-ref-process + .cts-ref-services,
.cts-ref-services + .cts-ref-projects,
.cts-subpage-section + .cts-subpage-section,
.cts-subpage-section + .cts-subpage-cta{
  margin-top:0!important;
}

/* ---------- Process cards ---------- */
.cts-ref-process-grid{
  align-items:stretch!important;
}
.cts-ref-process-step,
.cts-ref-process-step:last-child{
  min-height:128px!important;
}
.cts-ref-step-copy{
  min-width:0!important;
}
.cts-ref-step-copy p{
  margin-bottom:0!important;
}

/* ---------- Service cards ---------- */
.cts-ref-services-grid{
  align-items:stretch!important;
}
.cts-ref-service{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.cts-ref-service-svg{
  flex:0 0 auto!important;
}
.cts-ref-service h3{
  min-height:2.35em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.cts-ref-service p{
  max-width:22rem!important;
}

/* ---------- Cards on subpages ---------- */
.cts-detail-grid,
.cts-about-page-grid,
.cts-about-values-grid,
.cts-contact-page-grid,
.cts-project-facts-grid,
.cts-project-brief-grid{
  align-items:stretch!important;
}
.cts-detail-card,
.cts-contact-channel,
.cts-value-card{
  height:100%!important;
}
.cts-detail-card h2,
.cts-contact-channel h2,
.cts-value-card h3{
  margin-top:0!important;
}
.cts-detail-card p:last-child,
.cts-contact-channel p:last-child,
.cts-value-card p:last-child{
  margin-bottom:0!important;
}

/* ---------- Project/KleinBüro ---------- */
.cts-ref-projects-grid{
  align-items:center!important;
}
.cts-ref-kb-card{
  align-items:center!important;
}
.cts-project-page-grid{
  align-items:center!important;
}
.cts-project-stage p:last-child{
  margin-bottom:0!important;
}

/* ---------- References ---------- */
.cts-reference-project{
  align-items:stretch!important;
}
.cts-reference-project-content{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.cts-reference-note{
  margin-top:24px!important;
}

/* ---------- Contact ---------- */
.cts-project-brief{
  margin-top:28px!important;
}
.cts-contact-topics-approved{
  margin-top:22px!important;
}
.cts-contact-approved-note{
  margin-bottom:0!important;
}

/* ---------- Legal ---------- */
.cts-legal-approved{
  line-height:1.65!important;
}
.cts-legal-approved h2{
  margin-bottom:12px!important;
}
.cts-legal-approved h3{
  margin-top:22px!important;
  margin-bottom:8px!important;
}

/* ---------- Buttons ---------- */
.cts-ref-header-cta,
.cts-ref-btn,
.cts-ref-project-outline,
.cts-ref-kb-button,
.cts-contact-mail-button,
.cts-subpage-cta .wp-block-button__link{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* ---------- Tablet ---------- */
@media(max-width:1100px) and (min-width:901px){
  .cts-subhero-inner{
    min-height:240px!important;
  }

  .cts-ref-process-step,
  .cts-ref-process-step:last-child{
    min-height:116px!important;
  }

  .cts-ref-service{
    min-height:180px!important;
  }
}

/* ---------- Mobile ---------- */
@media(max-width:900px){
  .cts-subhero-inner{
    min-height:0!important;
  }

  .cts-ref-process-step,
  .cts-ref-process-step:last-child{
    min-height:0!important;
  }

  .cts-ref-service{
    display:grid!important;
    align-items:center!important;
  }

  .cts-ref-service h3{
    min-height:0!important;
    display:block!important;
    text-align:left!important;
  }

  .cts-ref-service p{
    max-width:none!important;
  }

  .cts-detail-card,
  .cts-contact-channel,
  .cts-value-card{
    height:auto!important;
  }

  .cts-ref-footer{
    align-items:center!important;
  }

  .cts-ref-footer-copy{
    text-align:center!important;
  }

  .cts-subpage-cta-inner{
    gap:16px!important;
  }
}

/* ---------- Very small screens ---------- */
@media(max-width:420px){
  .cts-ref-header-cta,
  .cts-ref-btn,
  .cts-ref-project-outline,
  .cts-ref-kb-button,
  .cts-contact-mail-button,
  .cts-subpage-cta .wp-block-button__link{
    min-height:40px!important;
  }
}
