section#hero {
  margin: var(--header-height) auto 0;
  padding: 0;

  & img {
    margin: auto;
    width: var(--max-site-width);
  }
}

section {
  /* padding-inline: var(--inline-padding); */
  padding-block: 40px 60px;

  &#navigation {
    padding-block: 30px 40px;

    & .wrap {
      nav {
        color: #757c8a;

        & b {
          color: inherit;
          font-weight: 400;
        }
      }
    }
  }
}

section.info {
  padding-top: 0;

  & .wrap {
    display: grid;
    grid-template-columns: 6fr 7fr;
    align-items: stretch;
    gap: 80px;

    & .amenity-unit-img {
      border-radius: 10px;
      overflow: hidden;

      & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    & div {
      h1 {
        margin-block: 30px;
      }

      & .grid {
        margin-block: 30px;
        /* max-width: 700px; */
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
      }
    }

    @media (max-width: 1460px) {
      gap: 40px;
      grid-template-columns: 1fr;
      padding-block: 20px 40px;

      & .amenity-unit-img {
        order: 2;
        object-fit: cover;
        max-height: 800px;
      }

      & div h1 {
        margin-top: 0;
      }

      & .texts {
        max-width: 1000px;

        & .grid ul li {
          gap: 15px;

          & img {
            margin-top: 3px;
          }
        }
      }
    }

    @media (max-width: 800px) {
      gap: 20px;
      padding-block: 0;

      /* & .amenity-unit-img {
        aspect-ratio: 1;
      } */

      & div {
        & .grid {
          grid-template-columns: 1fr;
          gap: 20px;

          & ul li {
            gap: 10px;

            & img {
              width: 20px;
              height: 20px;
            }
          }
        }
      }
    }
  }
}

section#options {
  padding-block: 90px 70px;

  & .wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 80px;

    & > div {
      & h1 {
        margin-block: 40px 50px;
      }

      & > p {
        margin-block: 40px;
      }

      & .grid {
        margin-block: 30px 50px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
      }

      & .params {
        max-width: 450px;
        border: 1px solid #c1c7d3;
        border-radius: 10px;

        & .header {
          padding: 10px 24px;
          border-bottom: 1px solid #c1c7d3;
        }

        & .params-grid {
          padding: 10px 24px;
          display: grid;
          grid-template-columns: auto auto auto;
          justify-content: start;

          & .separator {
            margin-inline: 30px;
            width: 2px;
            background-color: #c1c7d3;
          }
        }
      }
    }

    & .splide#groundplans-slider {
      margin-bottom: 50px;

      & .splide__track {
        border-radius: 10px;
        overflow: hidden;

        & .splide__list {
          & .splide__slide {
            & img {
              object-fit: contain;
              padding: 70px 10px;
              background-color: var(--color-secondary);
            }

            & .splide__caption {
              position: absolute;
              bottom: 20px;
              right: 30px;
            }
          }
        }
      }

      & .splide__pagination {
        bottom: -50px;
        flex-wrap: nowrap;

        & .splide__pagination__page {
          width: 18px;
          height: 18px;
          margin-inline: 9px;
          border: 2px solid var(--color-primary);
          background-color: transparent;

          &:focus-visible {
            outline: 2px solid var(--color-primary);
            outline-offset: 2px;
          }

          &.is-active {
            background-color: var(--color-primary);
          }
        }
      }
    }
  }

  @media (max-width: 1460px) {
    padding-block: 60px;

    & .wrap {
      gap: 40px;

      & > div {
        & .grid ul li {
          gap: 15px;

          & img {
            margin-top: 3px;
          }
        }
        & h1 {
          margin-block: 20px 40px;
        }
      }
    }
  }

  @media (max-width: 1200px) {
    & .wrap {
      grid-template-columns: 1fr;

      & > div {
        & h1 {
          margin-block: 0;
        }

        & > p {
          margin-block: 30px;
        }

        & .grid {
          margin-block: 20px 40px;
          max-width: 600px;
        }
      }
    }
  }

  @media (max-width: 600px) {
    & .wrap {
      & > div {
        & .grid {
          grid-template-columns: 1fr;
          gap: 20px;
          max-width: 100%;
        }
      }

      & .splide#groundplans-slider {
        & .splide__track {
          & .splide__list {
            & .splide__slide {
              & img {
                padding: 30px 10px 50px;
              }
            }
          }
        }

        & .splide__pagination {
          bottom: -40px;

          & .splide__pagination__page {
            width: 14px;
            height: 14px;
            margin-inline: 6px;
          }
        }
      }
    }
  }

  @media (max-width: 420px) {
    & .wrap {
      & .splide#groundplans-slider {
        & .splide__track {
          & .splide__list {
            & .splide__slide {
              & img {
                padding: 30px 0 40px;
              }
            }
          }
        }
        & .splide__pagination {
          bottom: -30px;

          & .splide__pagination__page {
            width: 10px;
            height: 10px;
            margin-inline: 4px;
          }
        }
      }
    }
  }
}

ul.bullet-points {
  display: flex;
  flex-direction: column;
  gap: 20px;

  & li {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    list-style: none;

    & img {
      margin-top: 6px;
      width: 24px;
      height: 24px;
      flex-shrink: 0;
    }

    & p {
      font-weight: 500;
    }
  }
}

section#gallery {
  padding-block: 90px;

  & .wrap {
    width: 100%;
    padding-inline: var(--inline-padding);
    aspect-ratio: 2.5;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(10, 1fr);
    row-gap: 20px;
    column-gap: 30px;

    & button {
      width: 100%;
      height: 100%;
      display: block;
      background-color: transparent;
      border-radius: 10px;
      padding: 0;
      outline-offset: 2px;

      &.top-leftest {
        grid-column: 1;
        grid-row: 1/5;
      }

      &.top-left {
        grid-column: 2;
        grid-row: 1/5;
      }

      &.top-middle {
        grid-column: 3 / 5;
        grid-row: 1/6;
      }

      &.right {
        grid-column: 5 / 7;
        grid-row: 1 / 11;
      }

      &.bottom-left {
        grid-column: 1 / 3;
        grid-row: 5/11;
      }

      &.bottom-middle {
        grid-column: 3 / 5;
        grid-row: 6/11;
      }

      & > div {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        overflow: hidden;

        & > img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          cursor: zoom-in;
          rotate: 0.1deg; /* FF bug fix */
          transition: var(--duration-400);

          @media (hover: hover) and (pointer: fine) {
            &:hover {
              filter: saturate(1.1);
              scale: 1.05;
            }
          }
        }
      }
    }

    @media (max-width: 800px) {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto auto;
      aspect-ratio: unset;
      gap: 20px;

      * {
        grid-column: unset !important;
        grid-row: unset !important;
        aspect-ratio: unset !important;
      }

      *:nth-child(n + 3) {
        grid-column: 1 / -1 !important;
        width: 100%;
        aspect-ratio: 2 !important;
      }
    }
  }
}
