.product-header-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.product-back-arrow {
    color: var(--dark);
    cursor: pointer;
    transition: var(--transition);
}

.product-back-arrow svg {
    width: 30px;
    height: 30px;
}

.product-back-arrow:hover {
    color: var(--brown);
}

.product-container {
    margin: 40px 0px 0px;
    display: flex;
    gap: 50px;
}

.product {
    margin: 50px 0px 0px;
}

/* Product info */

.product-info-container {
    max-width: 382px;
    width: 100%;
}

.product-info__price:has(.header-simple-product-price-container) {
    display: flex;
    align-items: flex-start;
}

.product-info__price {
    margin: 16px 0px 0px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.product-info-meta {
    margin: 25px 0px 40px;
}

.product-info-meta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.product-info-meta-title,
.product-info-meta-value {
    white-space: nowrap;
}

.product-info-meta-divider {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: var(--border-gray);
}

.product-info-meta-divider:before,
.product-info-meta-divider:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--border-gray);
}

.product-info-meta-divider:before {
    left: 0;
}

.product-info-meta-divider:after {
    right: 0;
}

/* Variation buttons */

.variations_form {
}

.product-custom-variations .attribute-options {
    margin: 12px 0px 0px;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 10px;
}

.product-custom-variations .variation-btn {
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    background-color: transparent;
    border: 1px solid var(--border-gray);
    border-radius: 12px;
    color: var(--dark);
    text-align: left;
    transition: var(--transition);
}

.product-custom-variations .variation-btn:hover,
.product-custom-variations .variation-btn.active {
    color: var(--white);
    background-color: var(--dark);
    border-color: var(--dark);
}

/* Product child cats list */

.product-category-images-title {
    margin: 40px 0px 0px;
}

.product-category-images-title {
  position: relative;
  display: inline-block;
  color: transparent;
  font-weight: 600;
  background: linear-gradient(
    90deg,
    rgba(34, 34, 34, 1) 0%,
    rgba(34, 34, 34, 1) 50%,
    rgba(255, 235, 168, 1) 75%,
    rgba(34, 34, 34, 1) 100%
  );
  
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  animation: shimmerText 6s linear infinite;
}

@keyframes shimmerText {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: -200% center;
  }
}


.product-category-images .accordion-item {
    margin: 20px 0px 0px;
    border-top: 1px solid var(--border-gray);
    border-bottom: 1px solid var(--border-gray);
}

.product-category-images .accordion-trigger {
    padding: 20px 0px;
    width: 100%;
    cursor: pointer;
}

.product-category-images .accordion-trigger span {
    transition: var(--transition);
}

.product-category-images .accordion-trigger:hover svg,
.product-category-images .accordion-trigger:hover {
    color: var(--brown);
}

.product-cat-list {
    padding: 0px 0px 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.product-cat-list-container {
    margin: 20px 0px 0px;
    transition: max-height 0.5s ease;
}

.product-cat-list a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.show-all-shades-btn {
    cursor: pointer;
}

.product-cat-list a.hidden-shade {
    display: none;
}

.product-child-link img {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

.product-category-images .btn-cats-arrow {
    display: flex;
    align-items: center;
}

.product-category-images .btn-cats-arrow svg{
    transition: var(--transition);
}

.product-category-images .accordion-item.active .btn-cats-arrow svg {
    transform: rotate(180deg);
}

/* product total price */

.product-total-price {
    margin: 18px 0px 0px;
}

.old-price-value {
    text-decoration: line-through;
    color: var(--gray);
}

.product-total-price .availability {
    margin: 4px 0px 0px;
}
.stock {
    color: #2b9000;
}
/* Product add to cart btn */

.out-of-stock-message {
    margin: 30px 0px 0px;
    color: red;
}

.product-add-to-cart-container {
    margin: 16px 0px 0px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.product-add-to-cart-qty {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.product-add-to-cart-container .quantity-wrapper {
    display: flex;
    align-items: center;
    gap: 4px;
}

.product-add-to-cart-container .quantity-btn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--dark);
    transition: var(--transition);
}

.product-add-to-cart-container .quantity-text {
    text-align: center;
}

.product-add-to-cart-container .quantity-btn:hover {
    background-color: var(--dark);
    color: var(--white);
}

.product-add-to-cart-container .btn.btn-with-icon .title {
    padding: 0px 20px;
}

/* Product quantity field */

.product-qty-field {
    width: 40px;
    height: 40px;
    text-align: center;
    border: 1px solid var(--border-gray);
    border-radius: 50%;
}

/* Chrome, Safari, Edge, Opera */
input.product-qty-field[type=number]::-webkit-inner-spin-button,
input.product-qty-field[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input.product-qty-field[type=number] {
    -moz-appearance: textfield;
}

/* IE 10+ */
input.product-qty-field[type=number]::-ms-clear,
input.product-qty-field[type=number]::-ms-reveal {
    display: none;
}

/* -------------------- Product gallery -------------------- */

/* ======================
   Галерея товара
====================== */
.product-gallery {
    position: sticky;
    top: 120px;
    max-width: 453px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ----------------------
   Главный слайдер
----------------------- */
.product-main-slider {
    position: relative;
    width: 100%;
    height: 539px; /* фиксированная высота */
}

.product-main-slider .product-main-slide {
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-gray);
    border-radius: 24px;
}

.product-main-slider .product-main-slide img {
    padding: 10px;
    width: 400px;
    height: auto;
    display: block;
    object-fit: contain;
    border-radius: 24px;
}

/* Навигация главного слайдера */
.product-main-slider-nav {
    position: absolute;
    bottom: 18px;
    right: 25px;
    z-index: 2;
    display: flex;
    gap: 8px;
}

.product-main-slider-prev svg {
    transform: rotate(180deg);
}

/* ----------------------
   Thumbnails
----------------------- */
.product-thumbs-slider {
    width: 100%;
    height: 105px; /* фиксированная высота под миниатюры */
    box-sizing: border-box;
}

.product-thumbs-slider .swiper-wrapper {
    display: flex;
    gap: 10px; /* промежуток между превью */
}

.product-thumbs-slider.swiper-initialized .swiper-wrapper {
    gap: 0px;
}

.product-thumbs-slider .swiper-slide {
    flex-shrink: 0;
    width: calc((100% - 30px)/4); /* 4 слайда на экран с учётом gap */
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.5;
    box-sizing: border-box;
    border-radius: 12px;
    overflow: hidden;
    transition: var(--transition);
}

.product-thumbs-slider .swiper-slide:hover {
    opacity: 1;
}

.product-thumbs-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.product-thumbs-slider .swiper-slide-thumb-active {
    opacity: 1;
}

/* -------------------- Product description -------------------- */

.product-description-container {
    width: 100%;
}

.product-tabs-list .accordion-item {
    border-bottom: 1px solid var(--border-gray);
    cursor: pointer;
}

.product-tabs-list .accordion-item:first-child {
    border-top: 1px solid var(--border-gray);
}

.product-tabs-list .accordion-item:last-child {
    border-bottom: 0px;
}

.product-tabs-list .accordion-item:hover .btn-circle.btn-icon::before {
    opacity: 1;
}

.product-tabs-list .accordion-trigger {
    padding: 20px 0px;
}

.product-tabs-list .accordion-item.active .product-tabs-content {
    padding-bottom: 20px;
}

.example-image-container {
    margin: 20px 0px 0px;
}

.work-example-title {
    margin: 0px 0px 12px;
}

.example-image-container img {
    max-width: 381px;
    width: 100%;
    height: 330px;
    object-fit: cover;
    border-radius: 24px;
}

.product-description-container ul>li::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 1px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--brown);
}

/* -------------------- Related products -------------------- */

.related-products-section .animated-title-line svg {
    max-width: 722px;
}

.related-products-section .animation-section-header-desc {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-related-slider-prev svg {
    transform: rotate(180deg);
}

.related-products-slider .swiper-wrapper {
    display: flex;
    gap: 20px;
}

.related-products-slider.swiper-initialized .swiper-wrapper {
    gap: 0px;
}

.related-products-slider .swiper-slide {
    flex-shrink: 0;
    width: 25%; /* 4 слайда на экран с учётом gap */
    height: 100%;
}

.variations-form-mob {
    display: none;
}

@media (max-width: 1279px) {
    .product-container {
        column-count: initial;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: 
        "info gallery"
        "variations gallery"
        "desc desc";
        gap: 0px 40px;
    }

    .product-info-container {
        grid-area: info;
        max-width: 100%;
    }

    .variations_form {
        grid-area: variations;
    }

    .product-gallery {
        grid-area: gallery;
        max-width: 500px;
    }

    .product-description-container {
        grid-area: desc;
        margin: 60px 0px 0px;
    }
}

@media (max-width: 1024px) {
    .product-container {
        margin: 0px;
        grid-template-columns: 1fr;
        grid-template-areas: 
        "info"
        "gallery"
        "variations"
        "desc";
        gap: 30px;
    }

    .product-info-meta {
        margin: 25px 0px 0px;
    }

    .product-gallery {
        display: grid;
        max-width: 900px;
        width: 100%;
        gap: 14px;
    }

    .product-description-container {
        margin: 0px;
    }
    .related-products-slider .swiper-slide {
        width: calc((100% - 0px)/3); /* 4 слайда на экран с учётом gap */
    }
    .related-products-slider .swiper-wrapper {
        gap: 10px;
    }
    .variations-form-desktop {
        display: none;
    }
    .variations-form-mob {
        display: block;
    }

    .product-category-images-title {
        margin: 30px 0px 0px;
    }

    .product-category-images {
        margin: 12px 0px 0px;
    }

    .product-category-images .accordion-item.active .accordion-content {
        max-height: 200px !important;
        overflow: auto;
    }

    .product-cat-list {
        flex-direction: column;
        gap: 12px;
        flex-wrap: nowrap;
        padding: 0px 0px 12px;
        overflow: auto !important;
        height: 200px;
    }

    .product-category-images .btn.show-all-shades-btn {
        display: none;
    }

    .product-cat-list a.hidden-shade {
        display: flex !important;
    }

    .product-cat-list a {
        flex-direction: row;
    }

    .product-child-link {
        display: flex;
        align-items: center;
        color: var(--dark);
        gap: 8px;
    }

    .product-child-link + .product-child-link {
        padding: 12px 0px 0px;
        border-top: 1px solid var(--border-gray);
    }
}

@media (max-width: 767px) {
    .related-products-slider .swiper-slide {
        width: calc((100% - 0px)/2); /* 4 слайда на экран с учётом gap */
    }
    .related-products-slider .swiper-wrapper {
        gap: 6px;
    }
}

@media (max-width: 480px) {
    .product-main-slider {
        height: 279px;
    }
    .product-main-slider .product-main-slide img {
        height: 279px;
        width: auto;
    }

    .product-thumbs-slider {
        height: 94px;
    }
    .product-thumbs-slider .swiper-slide {
        width: calc((100% - 0px)/3); 
    }
}