/* Alisivut: header aina fixed → ei flow-muutosta kun rullataan, ei hyppyä */
.header-subpage-fixed {
  position: fixed !important;
  top: 0;
  inset-inline-start: 0;
  width: calc(100% - 30px);
  z-index: 1002;
  background-color: var(--tj-color-common-white);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 575.98px) {
  .header-subpage-fixed {
    width: 100%;
  }
}

/* Palvelut-sivu: team-details -layout, laaja sisältö eikä kapea keskikolumni */
.palvelut-content .sec-heading {
  max-width: none;
}
.palvelut-content .team-details__content {
  padding-inline-start: 0;
}
.palvelut-block {
  margin-top: 2.5rem;
}
.palvelut-block:first-child {
  margin-top: 0;
}
.palvelut-block.palvelut-cta {
  margin-top: 3rem;
  padding-top: 2rem;
}

.top-space-80 {
  padding-top: 80px;
}

.tj-banner-section-2 .banner-img {
    max-height: 600px;
}
/* Hero-kuva: cover leikkaa yläreunan, alalaita pysyy näkyvissä */
.tj-banner-section-2 .banner-img img {
    object-position: bottom;
}

/* Hero-kuva mobiilissa keskelle (teeman margin-inline-start: auto pitää sen oikealla) */
@media (max-width: 991.98px) {
  .tj-banner-section-2 .banner-img-area {
    margin-inline-start: auto;
    margin-inline-end: auto;
  }
  .tj-banner-section-2 .banner-img {
    margin-inline-start: auto;
    margin-inline-end: auto;
    max-width: 100%;
  }
}

.tj-banner-section-2 .banner-content-2 {
    max-width: 500px;
}

.client-slider-2 .client-logo img {
    height: 60px;
}

.tj-client-section-2 {
    background-color: #ecf0f0;
}

.client-slider-2 .client-logo {
    border: none;
}

/* Kare-sivu: lyhyt yleiskuvaus ennen välilehtiä */
.kare-intro {
  margin-bottom: 2rem;
}
.kare-intro p {
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 0;
  color: var(--tj-color-body, #555);
}

/* Kare välilehdet: otsikko + selite erikseen */
.kare-tab-heading {
  margin-bottom: 1rem;
}
.kare-tab-heading .title {
  margin-bottom: 0.25rem;
}
.kare-tab-tagline {
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--tj-color-body, #666);
  margin: 0;
  line-height: 1.4;
}

/* Kare section: vain yksi ohjelma kerrallaan (välilehdet) */
#kare .kare-tab {
    display: none;
}
#kare .kare-tab.kare-tab-active {
    display: block;
}
#kare .tj-sidebar-widget.service-categories a.active {
    font-weight: 600;
    color: var(--tj-theme-primary, #ffffff);
}

/* Mobiilissa: Kare-banner ensin, sitten välilehdet, sitten sisältö */
@media (max-width: 991.98px) {
    #kare .row {
        display: flex;
        flex-wrap: wrap;
    }
    #kare .col-lg-8 {
        order: 2;
    }
    #kare .col-lg-4 {
        order: 1;
    }
    #kare .tj-main-sidebar {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    #kare .tj-main-sidebar .service-categories {
        order: 2;
    }
    #kare .tj-main-sidebar .widget-feature-item {
        order: 1;
    }
}

/* CTA ei overlappaa footeria */
.tj-cta-section {
    margin-bottom: 50px;
}
.banner-desc { margin-top: 18px; max-width: 520px; }
.banner-list { margin: 18px 0 0; padding: 0; list-style: none; }
.banner-list li { display: flex; gap: 10px; margin-top: 10px; }
.banner-list i { margin-top: 3px; }
.tj-secondary-btn { display: inline-flex; align-items: center; padding: 14px 18px; border: 1px solid rgba(0,0,0,.12); border-radius: 999px; }
.banner-proof { margin-top: 14px; opacity: .85; }

/* Kare 01./02./03. -kortit: row/col index.html:ssä, yhtä korkeat kortit riveillä */
.service-details-item {
  height: 100%;
}

/* Kare: "Näin aloitetaan" -infoblokki ennen FAQ:ta */
.kare-start-box {
  background: #ecf0f0;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  margin-bottom: 2rem;
  font-size: 0.95rem;
  color: inherit;
}

/* Räätälöidyt ratkaisut -välilehti: CTA-lause */
.kare-custom-cta {
  margin-top: 1.25rem;
  font-weight: 500;
}

.post-details-wrapper .title {
    font-size: 20px;
}

.tj-page-header {
    background-color: inherit;
}

/* Kare intro box */
.kare-intro-box {
    padding: 22px 24px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    border-left: 6px solid #1e8a8a;
    position: relative;
    margin-bottom: 28px;
  }

  
  .kare-intro-title {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 700;
  }
  
  .kare-intro-list {
    margin-top: 14px;
  }
  
  .kare-intro-note {
    margin-top: 14px;
    opacity: 0.9;
  }