.station-page {
  .station-banner-container {
    width: 100%;
    background-color: #FFFDF1;
    padding: 53px 143px;

    .station-banner {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 48px;
    }

    .station-text-block {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 21px;
      width: 60%;

      .station-name {
        font-family: Poppins-Semi-Bold, serif;
        font-weight: 600;
        font-size: 42px;
        line-height: 48px;
      }

      .station-description {
        color: #475569;
        font-weight: 400;
        font-size: 18px;
        line-height: 24px;
      }
    }

    .station-image {
      border-radius: 14px;
      height: auto;
      width: 40%;
    }
  }

  .station-info-container {
    margin-top: 90px;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 16px;
    flex-wrap: wrap;

    .station-info {
      width: 349px;
      height: auto;
      border-radius: 14px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 32px;
      padding: 16px;
      justify-content: flex-start;
      flex: 0 0 auto;

      .station-info-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 16px;
        width: 100%;

        .station-info-name {
          color: #0F172A;
          font-weight: 600;
          font-size: 18px;
          line-height: 24px;
        }

        .station-info-data {
          font-weight: 400;
          font-size: 14px;
          line-height: 20px;
          text-align: center;
          color: #475569;
          text-decoration: none;
        }
      }
    }
  }

  .station-services-container {
    margin-top: 104px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 48px;
    margin-bottom: 90px;

    .title {
      font-family: Poppins-Semi-Bold, serif;
      font-weight: 600;
      font-size: 32px;
      line-height: 42px;
      text-align: center;
      color: #0F172A;
    }

    .details-container {
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      gap: 16px;
      justify-content: center;
      align-items: center;

      .details-row {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: stretch;
        gap: 16px;
        flex-wrap: wrap;

        .detail {
          width: 349px;
          border-radius: 14px;
          padding: 16px;
          background-color: white;
          border: 1px solid #E2E8F0;
          box-shadow: 0 4px 8px -2px rgba(16, 24, 40, 0.3);
          display: flex;
          gap: 32px;
          flex-direction: column;
          align-items: flex-start;
          justify-content: flex-start;
          flex: 0 0 auto;
          font-family: Poppins-Semi-Bold, serif;
          font-size: 18px;
          line-height: 24px;
          color: #0F172A;
        }

        .picto-row {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          flex-wrap: wrap;
          width: 100%;
          gap: 16px;
        }

        .picto {
          border-radius: 8px;
          width: 65px;
          height: auto;
        }
      }
    }
  }

  .station-images-container {
    margin-top: 90px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 11px;
    margin-bottom: 100px;

    .image-row {
      display: flex;
      width: 100%;
      justify-content: center;
      align-items: center;
      height: 290px;
      gap: 11px;

      .square-image {
        height: 100%;
        width: calc((100% - 11px) / 2);
        border-radius: 14px;
        transition: transform 0.4s ease-in-out;
      }

      .rectangular-image {
        height: 100%;
        width: calc((100% - 5.5px) / 2);
        border-radius: 14px;
        transition: transform 0.4s ease-in-out;
      }

      .square-image:hover, .rectangular-image:hover {
        transform: scale(0.97);
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
      }

      .square-row {
        display: flex;
        gap: 11px;
        width: calc((100% - 5.5px) / 2);
        height: 100%;
      }
    }
  }

  @media only screen and (max-width: 768px) {
    .station-banner-container {
      padding: 64px 20px;

    }

    .station-banner {
      flex-direction: column;
      gap: 48px;

      .station-text-block {
        width: 100%;

        .station-name {
          font-size: 24px;
          line-height: 32px;
        }

        .station-description {
          font-weight: 400;
          font-size: 16px;
          line-height: 24px;
        }
      }

      .station-image {
        width: 100%;
        height: auto;
      }
    }

    .station-info-container {
      padding: 64px 20px;
      margin-top: 0;

      .station-info {
        width: 100%;
        gap: 8px;

        .station-info-name {
          font-size: 16px !important;
          line-height: 24px !important;
        }

        .station-info-data {
          font-size: 12px !important;
          line-height: 18px !important;
        }
      }
    }

    .station-services-container {
      margin-top: 0;
      padding-right: 20px;
      padding-left: 20px;

      .title {
        font-weight: 600;
        font-size: 24px;
        line-height: 32px;
      }

      .detail {
        width: 100% !important;
      }
    }

    .station-images-container {
      padding: 64px 20px;
      margin-bottom: 0 !important;

      .image-row {
        flex-direction: column;
        height: auto;

        .square-row {
          width: 100%;
          height: 160px;

        }

        .rectangular-image {
          width: 100%;
          height: 160px;

        }
      }
    }
  }
}

@media only screen and (max-width: 900px) and (min-width: 769px) {
  .station-banner {
    flex-direction: column;
  }

  .station-text-block {
    width: 100%;
  }

  .station-image {
    width: 100% !important;
    height: auto !important;
  }
}
