@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/*=============== VARIABLES CSS ===============*/
:root {
  /*========== Colors ==========*/
  --white-color: hsl(0, 0%, 100%);
  --black-color: hsl(0, 0%, 0%);

  /*========== Font family ==========*/
  --body-font: "Rubik", sans-serif;

  /*========== Font sizes ==========*/
  --h1-font-size: 2rem;
  --h2-font-size: 1.5rem;
  --normal-font-size: 1rem;

  /*========== Font weight ==========*/
  --font-semibold: 600;
  --font-bold: 700;
}

/* Responsive typography */
@media screen and (max-width: 1024px) {
  :root {
    --h1-font-size: 1.5rem;
    --h2-font-size: 1.2rem;
    --normal-font-size: .93rem;
  }
}
/*=============== BASE ===============*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  color: var(--black-color);
  font-family: var(--body-font);
  font-size: var(--normal-font-size);
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

/*=============== HEADER & NAV ===============*/
.header {
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: background .3s;
}

.nav, 
.nav-list, 
.nav-actions {
  display: flex;
}

.nav {
  align-items: center;
  justify-content: space-between;
  height: 5.5rem;
  max-width: 1568px;
  margin-inline: auto;
  padding-inline: 1rem;
}

.nav-logo {
  color: var(--white-color);
  font-size: var(--h1-font-size);
  font-weight: var(--font-bold);
  transition: color .3s;
}

.nav-list {
  column-gap: 3.5rem;
}

.nav-link {
  color: var(--black-color);
}

.nav-actions {
  font-size: var(--h2-font-size);
  column-gap: 1rem;
}

.nav-toggle, 
.nav-close {
  display: none;
}

/*=============== CHANGE BACKGROUND HEADER ===============*/
.bg-header {
  background-color: var(--white-color);
}

.bg-header .nav-logo {
  color: var(--black-color);
}

/*=============== HOME ===============*/
.home {
  position: relative;
  min-height: 100dvh;
}

/*=============== SWIPER COMMON ===============*/
.swiper {
  width: 100%;
  height: 100%;
}

.swipper-wrapper {
  transition: ease-in;
}
/*=============== FIRST SWIPER (Background & Text) ===============*/
.first-swiper {
  position: relative;
  z-index: 1;
}

.home-data {
  background-color: var(--background-color);
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-title {
  position: absolute;
  top: calc(50% - 4.25rem);
  left: 50%;
  color: var(--white-color);
  font-size: clamp(5.5rem, -1.1667rem + 33.3333vw, 28rem);
  font-weight: var(--font-semibold);
  transform: translate(-50%, -50%);
  user-select: none;
}

/*=============== HOME MOCKUP (Can Container) ===============*/
.home-mockup {
  position: absolute;
  z-index: 100;
  top: calc(50% + 2.25rem);
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(9.375rem, 5.5568rem + 19.0909vw, 19.875rem);
  aspect-ratio: 45 / 83;
  background: url(../assets/img/labels.png) var(--left), url(../assets/img/can.png);
  --left: 0%;
  background-blend-mode: multiply;
  mask-image: url(../assets/img/can.png);
  mask-size: auto 100%;
  mask-repeat: no-repeat;
  background-size: auto 100%;
  transition: background 1s ease-in;
}

/*=============== SECOND SWIPER (Vertical Fruit Overlay) ===============*/
.second-swiper {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 200; 
  pointer-events: none; 
}

.second-swiper .swiper-wrapper {
  height: 100%;
}

.second-swiper .swiper-slide {
  height: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-fruit-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
}

/*=============== HOME BUTTON ===============*/
.home-button {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 300;
  padding: 1rem 2rem;
  background-color: var(--white-color);
  color: var(--black-color);
  border-radius: 2rem;
  font-weight: var(--font-semibold);
}

/*=============== BREAKPOINTS ===============*/
/* For large devices */
/* For large devices / Mobile Menu setup */
@media screen and (max-width: 1024px) {
  .nav-menu {
    position: fixed;
    top: 0;
    right: -100%; 
    background-color: var(--white-color);
    width: 50%;
    height: 100%;
    padding: 6rem 3rem 0;
    transition: right .4s; 
    z-index: 1000;
  }

  /* Show Menu Class */
  .show-menu {
    right: 0;
  }

  .nav-list {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 2.5rem;
  }

  .nav-close, 
  .nav-toggle {
    display: inline-flex;
    cursor: pointer;
  }

  .nav-close {
    font-size: 1.5rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: var(--black-color);
  }

  .nav-actions {
    column-gap: 0.5rem;
  }

  .home-button {
    padding: 1rem 2rem;
  }
}

@media screen and (max-width: 768px) {
  .nav {
    padding-inline: .75rem;
  }

  .nav-menu {
    width: 80%;
  }
}