@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Outfit:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
:root {
  --font-logo: "Outfit", sans-serif;
  --font-title: "Roboto", sans-serif;
  --font-main: "Open Sans", sans-serif;

  --main-color: #000000;
  --second-color: #ffffff;
  --third-color: #fff8f0;
  --nav-color: #7a7a7a;
  --background-cover: #0000005c;

  --w-logo: clamp(28px, 5vw, 47px);
  --fz-title: clamp(24px, 4.5vw, 40px);
  --fw-title: 600;
  --fz-title2: clamp(28px, 4.5vw, 40px);
  --fz-title3: clamp(20px, 3vw, 28px);
  --fz-p: clamp(16px, 1.5vw, 20px);
  --w-icon: clamp(18px, 2.5vw, 24px);

  --space-xs: 8px 15px;
  --space-sm: 30px 15px;
  --space-md: 75px 15px;
  --space-lg: 150px 15px;
}
h1,
h2,
h3 {
  font-weight: var(--fw-title);
}
h1 {
  font-family: var(--font-logo);
  font-size: var(--fz-title);
}
h2 {
  font-family: var(--font-title);
  font-size: var(--fz-title2);
}
h3 {
  font-family: var(--font-title);
  font-size: var(--fz-title3);
}
p,
a {
  font-family: var(--font-main);
  font-size: var(--fz-p);
}
a {
  color: var(--main-colors);
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
input,
textarea::placeholder {
  font-family: var(--font-main);
}
.icon {
  font-size: var(--w-icon);
}
.little-title {
  margin-bottom: 10px;
}
#cart-content {
  display: none;
}
.show {
  display: block !important;
}
#cart {
  position: fixed;
  bottom: 7px;
  right: 9px;
  width: 43px;
  height: 43px;
  background-color: #d97d54;
  color: var(--third-color);
  text-align: center;
  line-height: 45px;
  border-radius: 50%;
  cursor: pointer;
}
header {
  max-width: 1920px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-sm);
  color: var(--main-color);
  > a {
    display: flex;
    gap: 5px;
    align-items: center;
    #logo {
      font-size: var(--w-logo);
    }
  }
  ul {
    list-style: none;
    display: flex;
    gap: 50px;
  }
  #menu-toggle {
    display: none;
  }
  #cart {
    font-size: var(--w-icon);
  }
  #cart-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 30px 20px;
    border: none;
    border-radius: 0;
    background-color: #fff;
    z-index: 1000;
    overflow-y: auto;
    display: none;
    flex-direction: column;
    #cart-content-header,
    #cart-content-footer {
      display: flex;
      justify-content: space-between;
    }
    p {
      display: flex;
      flex-direction: row-reverse;
    }
    #cart-items {
      font-family: var(--font-main);
      font-size: var(--fz-p);
      margin: 50px 0;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
  }
}
footer {
  background-color: var(--third-color);
  > div {
    max-width: 1920px;
    margin: auto;
    display: flex;
    gap: 50px;
    justify-content: space-between;
    padding: var(--space-md);
    color: var(--main-color);
    > div {
      h2:nth-child(n + 1) {
        padding-bottom: 12px;
      }
      #legale,
      #apropos {
        display: flex;
        flex-direction: column;
        gap: 50px;
      }
      #partenaire,
      #social {
        list-style: none;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 50px;
      }
    }
  }
}
#home {
  #cookies {
    background-color: var(--third-color);
    > div {
      max-width: 1440px;
      margin: auto;
      padding: var(--space-lg);
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
      article {
        padding-right: 200px;
        > h2 {
          margin-bottom: 24px;
        }
        > p {
          margin-bottom: 17px;
        }
        > div {
          display: flex;
          gap: 27px;
        }
      }
      img {
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
      }
    }
  }
  #explore {
    max-width: 1440px;
    margin: auto;
    padding: var(--space-lg);
    > div:first-child {
      text-align: center;
      h2 {
        padding-bottom: 12px;
      }
      p:last-child {
        padding-bottom: 50px;
      }
    }
    > div:last-child {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 100px;
      .card {
        .card-img {
          width: 100%;
          aspect-ratio: 4 / 3;
          overflow: hidden;
          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
          }
        }
        > div {
          padding-top: 5px;
          > h3 {
            padding-bottom: 7px;
          }
          .details {
            display: flex;
            justify-content: space-between;
          }
        }
      }
      article:nth-child(n + 1) > div > p {
        padding-bottom: 37px;
      }
    }
  }
  #about {
    background-color: var(--third-color);
    > div {
      max-width: 1440px;
      margin: auto;
      padding: var(--space-lg);
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
      gap: 50px;
      > div {
        h2 {
          margin-bottom: 12px;
        }
        > p:nth-child(4) {
          margin: 25px 0;
        }
      }
    }
    img {
      width: 100%;
      aspect-ratio: 3 / 3;
      object-fit: cover;
    }
  }
  #contact {
    max-width: 1440px;
    margin: auto;
    padding: var(--space-lg);
    > div {
      text-align: center;
      > h2 {
        margin-bottom: 12px;
      }
      p:last-child {
        margin-bottom: 20px;
      }
    }
    form {
      max-width: 480px;
      margin: auto;
      display: flex;
      flex-direction: column;
      gap: 25px;
      input,
      textarea {
        padding: 12px 8px;
      }
    }
  }
}
@media screen and (max-width: 1024px) {
  #nav-links {
    display: none;
  }
  header > nav {
    display: flex;
    gap: 20px;
    #nav-links > li:nth-child(n + 1) {
      margin-bottom: 12px;
    }
  }
  #menu-toggle {
    display: block !important;
  }
  #cookies > div {
    grid-template-columns: 1fr !important;
    gap: 70px;
  }
  #explore > div:nth-child(2) {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  #about > div {
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 70px;
  }
  #partenaire {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  footer > div {
    flex-direction: column;
    gap: 70px;
  }
}

@media screen and (max-width: 767px) {
  #logo {
    display: none;
  }
  #cookies > div > article {
    padding-right: 0px !important;
  }
  #explore > div:nth-child(2) {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
