@charset "UTF-8";
.product-page {
  background-color: #0A0A0A;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  padding: 7vw 5vw 8vw 5vw;
  width: 99.2vw;
  min-height: 100vh;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-wrapper {
  display: flex;
  flex-direction: row;
  width: 90vw;
  height: 40vw;
  gap: 5vw;
  border-radius: 2vw;
  overflow: hidden;
  box-shadow: 0 0 3vw rgba(112, 250, 0, 0.07);
}

.product-image {
  flex: 1;
  width: 45vw;
  margin-top: 2.7vw;
  margin-left: 2.7vw;
  height: 34.6vw;
}
.product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1vw;
  display: block;
}

.package-selector {
  display: flex;
  gap: 1vw;
  margin-bottom: 1.5vw;
}
.package-selector .package-btn {
  padding: 0.9vw 2vw;
  font-size: 1.1vw;
  background-color: #222;
  color: #70fa00;
  border: 0.15vw solid #70fa00;
  border-radius: 1vw;
  cursor: pointer;
  transition: 0.3s;
}
.package-selector .package-btn.active {
  background-color: #70fa00;
  color: #111;
}
.package-selector .package-btn:hover {
  background-color: #5ae000;
  color: #111;
}

.product-content {
  flex: 1;
  padding: 2vw;
  display: flex;
  flex-direction: column;
}
.product-content h1 {
  font-size: 2.8vw;
  color: #70fa00;
  margin-bottom: 1.5vw;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-content .price-container {
  display: flex;
  align-items: baseline;
  gap: 1.5vw;
  margin-bottom: 1.5vw;
}
.product-content .price-container .promo-badge {
  background-color: #70fa00;
  color: #111;
  position: relative;
  padding: 0.4vw 0.8vw;
  font-size: 1vw;
  font-weight: 700;
  top: -0.4vw;
  left: -1.2vw;
  border-radius: 0.6vw;
  margin-left: 1vw;
}
.product-content .price-container .old-price {
  font-size: 1.8vw;
  color: #888;
  text-decoration: line-through;
}
.product-content .price-container .price {
  font-size: 2.5vw;
  font-weight: 700;
  color: #70fa00;
}
.product-content .description {
  font-size: 1.2vw;
  margin-bottom: 2vw;
  color: #ccc;
  max-width: 90%;
  min-height: 4vw;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-content .features {
  list-style: none;
  padding: 0;
  margin-bottom: 2vw;
  min-height: 5vw;
}
.product-content .features li {
  font-size: 1vw;
  color: #eee;
  margin-bottom: 0.8vw;
}
.product-content form {
  margin-top: auto;
}
.product-content button {
  padding: 1.2vw 2.4vw;
  font-size: 1.3vw;
  background-color: #70fa00;
  border: 0.1vw solid #70fa00;
  color: #111;
  font-weight: 700;
  position: relative;
  top: -0.6vw;
  border-radius: 1vw;
  cursor: pointer;
  transition: all 0.3s ease;
}
.product-content button:hover {
  background-color: rgba(90, 224, 0, 0);
  color: white;
}
.product-content button:hover i {
  color: white;
  transform: rotate(0deg);
}
.product-content button i {
  color: black;
  position: relative;
  top: 0.1vw;
  left: 0.1vw;
  font-size: 1.4vw;
  transition: all 0.5s;
  transform: rotate(45deg);
}

.disabled-btn {
  background-color: #444 !important;
  color: #aaa !important;
  cursor: not-allowed !important;
  border-color: #444 !important;
}

.back-button {
  position: absolute;
  top: 40.75vw;
  left: 84vw;
  background-color: transparent;
  color: #70fa00;
  border: 0.2vw solid #70fa00;
  border-radius: 1vw;
  padding: 0.8vw 1.6vw;
  font-size: 1.2vw;
  cursor: pointer;
  transition: all 0.3s ease;
}
.back-button:hover {
  background-color: #70fa00;
  color: #111;
}

/* --- MOBILE --- */
@media (max-width: 800px) {
  .product-page {
    padding: 15vw 4vw;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .product-wrapper {
    flex-direction: column;
    width: 100%;
    height: auto;
    gap: 6vw;
    border-radius: 4vw;
    box-shadow: 0 0 5vw rgba(112, 250, 0, 0.08);
  }
  .product-image {
    width: 100%;
    height: 60vw;
    margin: 0;
  }
  .product-image img {
    width: 100%;
    height: 100%;
    border-radius: 3vw;
    object-fit: cover;
  }
  .product-content {
    padding: 4vw;
  }
  .product-content h1 {
    font-size: 6vw;
    margin-bottom: 4vw;
    -webkit-line-clamp: unset;
  }
  .product-content .package-selector {
    flex-direction: row; /* obok siebie */
    gap: 4vw;
    justify-content: center;
    margin-bottom: 4vw;
  }
  .product-content .package-selector .package-btn {
    font-size: 4vw;
    padding: 2.8vw 4vw;
    border-radius: 5vw;
  }
  .product-content .price-container {
    gap: 3vw;
    margin-bottom: 4vw;
  }
  .product-content .price-container .price {
    font-size: 7.5vw;
  }
  .product-content .price-container .old-price {
    font-size: 5vw;
  }
  .product-content .price-container .promo-badge {
    font-size: 3.5vw;
    padding: 1.5vw 3vw;
    border-radius: 4vw;
    top: -1vw;
    left: 0;
    margin-left: 0;
  }
  .product-content .description {
    font-size: 4vw;
    margin-bottom: 4vw;
    max-width: 100%;
    min-height: auto;
    -webkit-line-clamp: unset;
  }
  .product-content .features {
    margin-bottom: 4vw;
    min-height: auto;
  }
  .product-content .features li {
    font-size: 3.8vw;
    margin-bottom: 2vw;
  }
  .product-content form {
    margin-top: 4vw;
    display: flex;
    gap: 4vw;
    justify-content: center;
  }
  .product-content button {
    font-size: 5.2vw;
    padding: 3vw 6vw;
    border-radius: 6vw;
    flex: 1111;
  }
  .product-content button i {
    font-size: 5.2vw;
    top: 0;
    left: 1vw;
  }
  .back-button {
    visibility: hidden; /* ukryty */
    pointer-events: none; /* nie blokuje kliknięć */
    position: static;
    margin-bottom: 0;
  }
}

/*# sourceMappingURL=diets.css.map */
