.single-product-page {
  margin: 120px 0;
}

.single-product-page .main-image {
  overflow: hidden;
}
.single-product-page .main-image img {
  display: block;
  max-width: 100%;
  width: auto;
  height: 662px;
  margin: 0 auto;
  border-radius: 20px;
}
.single-product-page .gallery-images {
  display: none;
}
.single-product-page .product-categories {
  font-size: 28px;
  font-weight: 500;
  color: #666259;
  margin: 0 0 15px 0;
}
.single-product-page .product-categories a {
  color: #666259;
  text-decoration: none;
}
.single-product-page .short-description p {
  font-size: 18px;
}
.single-product-page .short-description p strong {
  color: #647947;
  font-weight: 700;
}
.single-product-page h1 {
  font-size: 48px;
  line-height: 100%;
  color: #353129;
  margin: 0 0 15px 0;
}
/* ----------------------------------------------
   TEGOBE
---------------------------------------------- */
.product-tegobe-list {
  margin: 0 0 30px 0;
}
.tegoba-tag {
  display: inline-block;
  background-color: #614B1F;
  font-size: 12px;
  font-weight: 300;
  color: #FFFFFF;
  text-decoration: none;
  padding: 5px 10px;
  margin: 0 4px 0 0;
  border-radius: 4px;
}

/* ----------------------------------------------
   PRICE — Optimized
---------------------------------------------- */
.single-product-price-wrapper {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background: linear-gradient(90deg, rgba(233,240,212,1) 0%, rgba(242,244,233,1) 52%, rgba(233,240,212,1) 100%);
}
.single-product-price-wrapper.is-raised {
    transform: translateY(-50px); /* ili visina footer paddinga */
}
/* Layout */
.single-product-price-wrapper .single-product-price-holder {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 15px;
}
/* Price */
.single-product-price-wrapper .price {
  margin: 0;
}
.single-product-price-wrapper .price bdi {
  font-size: 36px;
  font-weight: 700;
  color: #647947;
}
/* Out of stock */
.single-product-price-wrapper .out-of-stock-message {
  font-size: 18px;
  font-weight: 600;
  color: red;
}
/* Quantity + Add to Cart Layout */
.single-product-price-wrapper .quantity-add-to-cart {
  display: flex;
  align-items: center;
  gap: 20px;
}
/* Quantity Wrapper */
.single-product-price-wrapper .quantity-wrapper {
  display: inline-flex;
  align-items: center;
  background-color: #647947;
  border-radius: 35px;
}
.single-product-price-wrapper .qty {
  pointer-events: none;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.single-product-price-wrapper .quantity-btn {
  width: 38px;
  height: 38px;
  border: 0;
  font-size: 18px;
  color: #fff;
  background: #647947;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.15s linear;
}
.single-product-price-wrapper .quantity-btn:hover {
  background: #FF9451;
  color: #ECEFF2;
}
.single-product-price-wrapper .quantity-btn.minus {
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
}
.single-product-price-wrapper .quantity-btn.plus {
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
}
.single-product-price-wrapper .quantity input:focus-visible {
  outline: none;
}
/* Add to cart button */
.single-product-price-wrapper .primary-button {
  font-family: "Outfit", serif;
  font-size: 15px;
  line-height: 16px;
  font-weight: 500;
  color: #fff;
  background: #647947;
  border: 1px solid #647947;
  border-radius: 35px;
  padding: 10px 25px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s linear;
}
.single-product-price-wrapper .primary-button:hover {
  background: #FF9451;
  border-color: #FF9451;
  color: #ECEFF2;
}
/* Added-to-cart link */
.single-product-price-wrapper a.added_to_cart {
  font-size: 15px;
  font-weight: 500;
  color: #647947;
  margin-left: 20px;
  transition: 0.2s linear;
}
.single-product-price-wrapper a.added_to_cart:hover {
  color: #DD6727;
}


/* ----------------------------------------------
   TABS
---------------------------------------------- */
.product-additional-info {
  padding: 40px 0 80px 0;
}
.product-additional-info h2 {
  color: #3E5626;
  margin: 0 0 20px 0;
}
.product-additional-info li {
  color: #3E3E3E;
}

section.related.products {
  margin: 60px 0 0 0;
}
.related-list {
  display: flex;
  align-items: start;
}
.related-list a.product-image-link img {
  display: block;
  width: 100%;
  height: auto;
}
.related-list .archive-product-box {
  margin: 0 15px 140px;
  width: 270px;
}

.custom-tabs .tab-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}
.custom-tabs .tab-button {
  font-family: "Outfit", serif;
  padding: 10px 20px;
  border: none;
  background: #614B1F;
  color: #FFFFFF;
  cursor: pointer;
  font-weight: 400;
  border-radius: 25px;
  border: 1px solid #614B1F;
}
.custom-tabs .tab-button.active {
    background-color: transparent;
    color: #614B1F;
}
.custom-tabs .tab-button:focus,
.custom-tabs .tab-button:focus-visible {
  outline: none;
}
.custom-tabs .tab-content {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease-in-out, max-height 0.3s ease-in-out;
}
.custom-tabs .tab-content.active {
    opacity: 1;
    max-height: 1000px; /* dovoljno da sve stane */
}
.custom-tabs table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
.custom-tabs table tr:nth-of-type(2n) {
  background-color: #3e56260a;
}
.custom-tabs table td {
  max-width: 50%;
  width: 100%;
  border: 1px solid #ddd;
  padding: 8px 12px;
}
.custom-tabs h3 {
  color: #3E5626;
  margin: 0 0 20px 0;
}
.custom-tabs h4 {
  font-weight: 600;
  color: #3E3E3E;
  margin: 0 0 16px 0;
}
.custom-tabs p {
  color: #3E3E3E;
  margin: 0 0 16px 0;
}
.custom-tabs li {
  color: #3E3E3E;
}
.custom-tabs a {
  color: #3E5626;
  text-decoration: none;
}

/* ----------------------------------------------
   RECEPTI ACCORDION STYLING
---------------------------------------------- */
.bp-accordion {
  border-top: 1px solid #e5e5e5;
  width: 100%;
}
.bp-accordion-item {
  border-bottom: 1px solid #e5e5e5;
  padding: 0;
  transition: 0.35s ease all;
}
.bp-accordion > p,
.bp-accordion-item > p {
  display: none;
}
.bp-accordion-header {
  width: 100%;
  background: none;
  border: none;
  outline: none;
  padding: 10px 0;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  font-family: "Outfit", serif;
  cursor: pointer;
  position: relative;
  color: #614B1F;
  line-height: 1.3;
}
.bp-accordion-item.active .bp-accordion-header {
  padding: 10px 0 0 0;
}
.bp-accordion-header::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-size: 22px;
  color: #614B1F;
  transition: transform 0.25s ease, color 0.25s ease;
}
.bp-accordion-item.active .bp-accordion-header::after {
  transform: translateY(-50%) rotate(45deg);
}
.bp-accordion-content {
  max-height: 0;
  overflow: hidden;
  padding: 0;
  opacity: 0;
  transition: max-height 0.35s ease, opacity 0.25s ease;
}
.bp-accordion-item.active .bp-accordion-content {
  max-height: 800px; /* enough for any content */
  padding: 10px 0;
  opacity: 1;
}
.bp-accordion-content ul,
.bp-accordion-content ol {
  padding-left: 20px;
  margin: 0;
}
.bp-accordion-content li {
  color: #3E3E3E;
}
.bp-accordion-content h5 {
  margin: 0 0 10px 0;
  font-size: 16px;
  font-weight: 600;
  color: #3E3E3E;
}
.bp-accordion-content p {
  line-height: 100%;
  color: #3E3E3E;
  margin: 0;
}

@media (max-width: 576px) {
  .bp-accordion-header {
    font-size: 17px;
  }

  .bp-accordion-header::after {
    font-size: 20px;
  }
}


@media only screen and (max-width: 768px) {
  .single-product-page .main-image img {
    max-height: 220px;
    height: 100%;
    width: auto;
    margin: 0 auto 30px;
  }
  .single-product-page .price {
    margin: 0 0 20px 0;
  }
  .product-summary-wrapper .quantity-add-to-cart {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .product-summary-wrapper .quantity-btn {
    width: 40px;
    height: 40px;
  }
  .product-summary-wrapper .qty {
    width: 40px;
    height: 40px;
  }
  .product-summary-wrapper .quantity-wrapper {
    margin: 0;
  }
  .product-summary-wrapper .quantity {
    padding: 0;
  }
  .product-summary-wrapper button.primary-button {
    font-size: 14px;
    padding: 12px 20px;
  }

  .single-product-page .product-categories {
    font-size: 16px;
    margin: 0 0 5px 0;
  }
  .single-product-page h1 {
    font-size: 30px;
    margin: 0 0 20px 0;
  }
  .custom-tabs .tab-buttons {
    gap: 4px;
  }
  .custom-tabs .tab-button {
    font-size: 12px;
    padding: 8px 13px;
  }
}
