
/* ==========================================================================
   ComTechSa 0.24.0 – Unterseiten-Pass auf Basis der 0.23.0 Architektur
   ========================================================================== */

/* shared page frame */
.cts-subhero,
.cts-subpage-section,
.cts-subpage-cta{
  overflow:hidden!important;
}

/* hero */
.cts-subhero{
  background:
    radial-gradient(circle at 88% 14%,rgba(255,90,10,.14),transparent 20rem),
    linear-gradient(135deg,#0a1a27,#102632)!important;
}
.cts-subhero-inner{
  position:relative!important;
}
.cts-subhero-kicker{
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.cts-subhero h1{
  color:#fff!important;
  margin:0 0 14px!important;
}
.cts-subhero-lead{
  color:#d6dde2!important;
}

/* generic section headings */
.cts-subpage-inner > h2,
.cts-subpage-inner > .wp-block-heading{
  margin-top:0!important;
  letter-spacing:-.025em!important;
}

/* cards */
.cts-detail-grid,
.cts-about-page-grid,
.cts-about-values-grid,
.cts-contact-page-grid{
  gap:16px!important;
}
.cts-detail-card,
.cts-contact-channel,
.cts-value-card{
  position:relative!important;
  background:linear-gradient(180deg,#fff,#fbfcfd)!important;
  border:1px solid #e2e7eb!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.cts-detail-card::before,
.cts-contact-channel::before,
.cts-value-card::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:18px!important;
  width:44px!important;
  height:3px!important;
  border-radius:0 0 3px 3px!important;
  background:linear-gradient(90deg,#ff5a0a,#ff7b2d)!important;
}
@media(hover:hover){
  .cts-detail-card:hover,
  .cts-contact-channel:hover,
  .cts-value-card:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 14px 30px rgba(11,28,41,.08)!important;
    border-color:#d4dbe0!important;
  }
}

/* project page */
.cts-subpage-section--dark{
  background:
    radial-gradient(circle at 84% 16%,rgba(98,189,62,.12),transparent 24rem),
    linear-gradient(135deg,#0b1c29,#102a38)!important;
}
.cts-project-page-grid{
  gap:48px!important;
}
.cts-kleinbuero-page-mark{
  border-radius:18px!important;
  box-shadow:0 18px 36px rgba(0,0,0,.20)!important;
}
.cts-project-facts-grid{
  gap:12px!important;
}
.cts-project-facts-grid>div{
  border-radius:10px!important;
  background:rgba(255,255,255,.045)!important;
}
.cts-project-stage{
  border-radius:10px!important;
}

/* references */
.cts-reference-project{
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:0 12px 30px rgba(11,28,41,.07)!important;
}
.cts-reference-project-aside{
  background:
    radial-gradient(circle at 78% 18%,rgba(255,90,10,.12),transparent 12rem),
    linear-gradient(145deg,#0f2230,#0b1924)!important;
}
.cts-reference-facts span{
  border-radius:999px!important;
  background:#f3f5f7!important;
}
.cts-reference-note{
  border-radius:10px!important;
  border-left:0!important;
  border-top:3px solid #ff5a0a!important;
}

/* about */
.cts-about-page-note{
  border-radius:14px!important;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,90,10,.10),transparent 16rem),
    #0b1c29!important;
}

/* contact */
.cts-project-brief{
  border-radius:14px!important;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,90,10,.10),transparent 16rem),
    #0b1c29!important;
}
.cts-project-brief-grid{
  gap:10px!important;
}
.cts-contact-topics-approved{
  border-radius:14px!important;
}
.cts-topic-grid span{
  border-radius:8px!important;
  border-left:0!important;
  border-top:3px solid #ff5a0a!important;
}

/* legal */
.cts-legal-approved{
  max-width:980px!important;
  margin-inline:auto!important;
  background:#fff!important;
}
.cts-legal-approved h2{
  border-top:1px solid #edf0f2!important;
  padding-top:24px!important;
}
.cts-legal-approved h2:first-of-type{
  border-top:0!important;
  padding-top:0!important;
}
.cts-legal-approved-note{
  border-left:0!important;
  border-top:3px solid #ff5a0a!important;
  border-radius:10px!important;
}

/* CTA footer blocks */
.cts-subpage-cta{
  background:linear-gradient(135deg,#fff3e8,#ffe9d5)!important;
}
.cts-subpage-cta-inner{
  min-height:150px!important;
}
.cts-subpage-cta .wp-block-button__link{
  border-radius:8px!important;
  box-shadow:0 8px 18px rgba(255,90,10,.14)!important;
}

/* 404 frame alignment */
.error404 .wp-site-blocks{
  background:#eef1f3!important;
}
.error404 main,
.error404 .wp-block-group{
  max-width:100%!important;
}

/* tablet */
@media(max-width:1100px) and (min-width:901px){
  .cts-project-page-grid,
  .cts-reference-page-grid{
    gap:28px!important;
  }
}

/* mobile consistency */
@media(max-width:900px){
  .cts-subhero{
    background:linear-gradient(135deg,#0a1a27,#102632)!important;
  }
  .cts-subhero-inner{
    padding:28px 16px 30px!important;
  }
  .cts-subhero-kicker{
    font-size:.66rem!important;
  }
  .cts-subhero h1{
    font-size:clamp(1.8rem,8vw,2.35rem)!important;
    margin-bottom:10px!important;
  }
  .cts-subhero-lead{
    font-size:.9rem!important;
  }

  .cts-detail-grid,
  .cts-about-page-grid,
  .cts-about-values-grid,
  .cts-contact-page-grid{
    gap:10px!important;
  }

  .cts-detail-card,
  .cts-contact-channel,
  .cts-value-card,
  .cts-legal-approved,
  .cts-contact-topics-approved,
  .cts-project-brief,
  .cts-about-page-note{
    border-radius:10px!important;
  }

  .cts-project-page-grid,
  .cts-reference-page-grid{
    flex-direction:column!important;
    gap:20px!important;
  }

  .cts-kleinbuero-page-mark{
    max-width:150px!important;
    border-radius:14px!important;
  }

  .cts-project-facts-grid,
  .cts-project-brief-grid{
    grid-template-columns:1fr!important;
  }

  .cts-reference-project{
    grid-template-columns:1fr!important;
    border-radius:10px!important;
  }

  .cts-reference-project-aside{
    min-height:150px!important;
  }

  .cts-topic-grid{
    grid-template-columns:1fr!important;
  }

  .cts-legal-approved{
    margin:0!important;
  }

  .cts-subpage-cta-inner{
    min-height:0!important;
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
}
