@charset "UTF-8";
/* ===================================================
   SERVICES ALL PAGE STYLES - KORJATTU GRID
   =================================================== */
/* Services All Banner - sama kuin author-sivulla */
#services-all-banner {
  position: relative;
  min-height: 55vh !important;
  display: flex;
  align-items: center;
  overflow: hidden;
  /* Background handling */
  /* Muropolku bannerissa - KIINTEÄSTI NAVIGAATION ALLE */ }
  #services-all-banner.bg-image {
    background-image: var(--bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll; }
  #services-all-banner.bg-svg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background-image: var(--svg-pattern);
    opacity: var(--svg-opacity);
    background-repeat: var(--svg-repeat);
    background-size: var(--svg-size);
    background-position: var(--svg-position);
    background-attachment: var(--svg-attachment); }
  #services-all-banner .fullshow2-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 1; }
  #services-all-banner .fullshow2-content {
    position: relative;
    z-index: 2; }
    #services-all-banner .fullshow2-content h1 {
      font-size: 3rem;
      margin-bottom: 1.5rem; }
      @media (max-width: 768px) {
        #services-all-banner .fullshow2-content h1 {
          font-size: 2.5rem; } }
    #services-all-banner .fullshow2-content .fullshow2-description {
      font-size: 1.2rem;
      max-width: 600px;
      margin: 0 auto; }
      @media (max-width: 768px) {
        #services-all-banner .fullshow2-content .fullshow2-description {
          font-size: 1rem; } }
  #services-all-banner .breadcrumb-nav {
    position: fixed !important;
    top: 80px !important;
    /* navigaation alapuolelle */
    left: 0px !important;
    right: 0 !important;
    z-index: 998 !important;
    padding: 15px 0 !important;
    margin: 0 !important;
    width: auto;
    display: block !important;
    background: transparent !important; }
    #services-all-banner .breadcrumb-nav ol {
      margin: 0 !important;
      padding: 0 15px !important;
      /* padding suoraan ol:lle */
      list-style: none !important;
      display: flex !important;
      flex-direction: row !important;
      gap: 0;
      align-items: center !important;
      width: auto;
      line-height: 1.2; }
    #services-all-banner .breadcrumb-nav li {
      display: flex !important;
      align-items: center;
      font-size: 14px !important;
      line-height: 1.4; }
    #services-all-banner .breadcrumb-nav a {
      color: rgba(255, 255, 255, 0.7) !important;
      text-decoration: none !important;
      transition: all 0.3s ease;
      padding: 4px 8px !important; }
      #services-all-banner .breadcrumb-nav a:hover {
        color: white !important;
        background: rgba(255, 255, 255, 0.1) !important; }
    #services-all-banner .breadcrumb-nav .separator {
      color: rgba(255, 255, 255, 0.5) !important;
      margin: 0 8px !important;
      font-size: 14px !important; }
    #services-all-banner .breadcrumb-nav .active span {
      color: white !important;
      font-weight: 500 !important; }

/* Services All Content Section */
.services-all-section {
  padding: 60px 0;
  /* Service Items - DESKTOP */
  /* POISTETTU: Turhat flex-säännöt jotka rikkoivat grid:n */ }
  .services-all-section .service-category {
    margin-bottom: 50px; }
    .services-all-section .service-category .brand-split-title {
      font-size: 2rem;
      margin-bottom: 10px; }
      .services-all-section .service-category .brand-split-title .brand-part {
        font-weight: 700;
        color: var(--siteset-lightset-button); }
      .services-all-section .service-category .brand-split-title .rest-part {
        font-style: italic;
        font-weight: 400;
        color: var(--siteset-lightset-button); }
    .services-all-section .service-category .service-subtitle {
      font-size: 1.2rem;
      margin-bottom: 15px;
      color: var(--siteset-lightset-color); }
    .services-all-section .service-category .service-category-description {
      margin-bottom: 30px;
      color: var(--siteset-lightset-color); }
  .services-all-section .service-item {
    background: white;
    border: none;
    border-radius: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 30px;
    height: 100%; }
    .services-all-section .service-item:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); }
    .services-all-section .service-item .service-image {
      overflow: hidden;
      position: relative;
      /* 4:3 kuvasuhde (vaakasuora) - laskettuna: (3/4) * 100% = 75% */ }
      .services-all-section .service-item .service-image::before {
        content: '';
        display: block;
        width: 100%;
        padding-top: 75%;
        /* 3/4 = 0.75 = 75% */ }
      .services-all-section .service-item .service-image img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top center;
        /* Kuva kiinnittyy yläreunaan ja keskittyy vaakasuunnassa */
        border: none;
        border-radius: 0;
        transition: transform 0.3s ease; }
      .services-all-section .service-item .service-image:hover img {
        transform: scale(1.05); }
    .services-all-section .service-item .service-content {
      padding: 20px;
      background: white; }
      .services-all-section .service-item .service-content h4 {
        margin-bottom: 10px; }
        .services-all-section .service-item .service-content h4 a {
          color: var(--siteset-lightset-h2);
          text-decoration: none;
          font-weight: 600; }
          .services-all-section .service-item .service-content h4 a:hover {
            color: var(--siteset-lightset-button); }
      .services-all-section .service-item .service-content p {
        color: var(--siteset-lightset-color);
        margin-bottom: 0;
        line-height: 1.6; }

/* MOBIILI - Piilotetaan valkoiset laatikot */
@media (max-width: 768px) {
  #services-all-banner {
    min-height: 40vh; }
    #services-all-banner .breadcrumb-nav {
      display: none !important; }
  .services-all-section {
    padding: 40px 0;
    /* Service Items - MOBIILI: Ei valkoisia laatikkoja */ }
    .services-all-section .service-category {
      margin-bottom: 40px; }
      .services-all-section .service-category .brand-split-title {
        font-size: 1.8rem; }
    .services-all-section .service-item {
      background: transparent !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      padding: 0 !important;
      margin-bottom: 25px !important; }
      .services-all-section .service-item:hover {
        transform: none;
        box-shadow: none; }
      .services-all-section .service-item .service-image {
        margin-bottom: 10px;
        /* 4:3 kuvasuhde (vaakasuora) mobiilissa */
        position: relative; }
        .services-all-section .service-item .service-image::before {
          content: '';
          display: block;
          width: 100%;
          padding-top: 75%;
          /* 3/4 = 75% */ }
        .services-all-section .service-item .service-image img {
          position: absolute !important;
          top: 0 !important;
          left: 0 !important;
          width: 100% !important;
          height: 100% !important;
          border: none !important;
          border-radius: 0 !important;
          object-position: top center;
          /* Kuva kiinnittyy yläreunaan mobiilissakin */ }
      .services-all-section .service-item .service-content {
        background: transparent !important;
        padding: 0 !important; }
        .services-all-section .service-item .service-content h4 {
          margin-bottom: 5px; }
          .services-all-section .service-item .service-content h4 a {
            color: inherit; }
            .services-all-section .service-item .service-content h4 a:hover {
              opacity: 0.8; }
        .services-all-section .service-item .service-content p {
          color: inherit;
          margin-bottom: 0; } }

/* Tablet-koko */
@media (max-width: 991px) and (min-width: 769px) {
  .services-all-section .service-item .service-image {
    /* 4:3 kuvasuhde (vaakasuora) tabletissa */
    position: relative; }
    .services-all-section .service-item .service-image::before {
      content: '';
      display: block;
      width: 100%;
      padding-top: 75%;
      /* 3/4 = 75% */ }
    .services-all-section .service-item .service-image img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-position: top center;
      /* Kuva kiinnittyy yläreunaan tabletissa */ } }

.mb-4, .my-4 {
  padding-left: 0px; }
