@charset "UTF-8";

/* ===== NAVIGATION ===== */
.navigation__body {
  background-color: #fff;
  border-radius: 24px;
  padding: 90px clamp(30px, 5vw, 90px) 74px;
  margin: 90px 0 180px;
  color: #1a1a1a;

  .navigation-menu_inner {
    grid-template-columns: unset;
    padding: 0;
    color: inherit;
    border-bottom: none;

    .navigation-menu_nav {
      .navigation-menu_cols {
        display: grid;
        grid-template-columns: 1fr clamp(200px, 27vw, 444px) 1fr;
        justify-content: unset;
        gap: clamp(20px, 3vw, 60px);
        padding: 0;

        .navigation-menu_col {
          margin-left: 0;
        }
      }
    }

    .navigation-menu_list {
      gap: 24px;
      line-height: 1.4;

      .navigation-menu_heading {
        letter-spacing: 0.5px;
      }

      .navigation-menu_link_heading {
        font-size: 18px;
      }

      .navigation-menu_link_list {
        margin-top: 8px !important;
        gap: 4px !important;
        a {
          font-size: clamp(13px, 1.5vw, 16px);
        }
      }

      .navigation-menu_link {
        display: inline-block;
        width: auto;
        cursor: pointer;
      }
    }
  }

  .navigation-menu_cta {
    .navigation-menu_cta_body {
      display: flex;
      align-items: center;
      gap: 50px;
      margin: 50px auto 0;
      padding: 40px 20px 0;
      border-top: 1px solid var(--color-gray-60);
      justify-content: center;

      img {
        width: 160px;
      }

      .navigation-menu_cta_text {
        /* width: max-content; */

        .cta-desc {
          margin: 0 0 24px;
          line-height: 1.5;
        }

        .cta {
          width: clamp(300px, 40vw, 546px);
        }
      }
    }
  }
}

@media (max-width: 790px) {
  .navigation__body {
    padding: 30px 10px;
    margin: 70px 0 90px;

    .navigation-menu_inner {
      .navigation-menu_nav {
        .navigation-menu_cols {
          grid-template-columns: auto;
          gap: 24px;
        }
      }

      .navigation-menu_list {
        .list-bullets_sitemap {
          gap: 10px !important;
        }
        .navigation-menu_heading {
          gap: 10px;
        }

        .navigation-menu_link_heading {
          line-height: 1.5;
        }

        .navigation-menu_link_list {
          margin-top: 2px !important;

          a {
            font-size: 14px;
          }
        }

        .navigation-menu_link {
          display: flex;
          gap: 14px;
        }
      }
    }

    .navigation-menu_cta {
      .navigation-menu_cta_body {
        flex-direction: column;
        width: 100%;
        gap: 20px;
        margin: 50px auto 10px;
        padding: 50px 10px 0;

        img {
          width: 60%;
          margin: 0 auto;
        }

        .navigation-menu_cta_text {
          width: auto;

          .cta {
            width: auto;
            font-size: 15px;
          }
        }
      }
    }
  }
}
