*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


.product-page .breadcrumbs {
    border-bottom: 1px solid var(--color-primary);
}

.woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
    display: none !important;
}

main.product-page {
    margin-top: 50px;
}

@media (max-width: 960px) {
    main.product-page {
        margin-top: 35px;
    }
}

@media (max-width: 767px) {
    main.product-page {
        margin-top: 25px;
    }

    .product-page .breadcrumbs {
        margin-top: 18vw;
    }
}

/* Основний контент товару (дві колонки) */
.product-content {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}


.product-gallery {
    flex: 1;
    min-width: 50%;
    position: relative;
    display: flex;
    flex-direction: column;
}

.main-image-wrapper * {
    transition: none;
}

.main-image-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 0;
    border-radius: 30px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.main-product-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.arrow-button,
.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.7);
    border: 1.95px solid var(--color-primary);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.3s ease;
}

.gallery-nav.prev {
    left: 10px;
}

.gallery-nav.next {
    right: 10px;
}

.thumbnail-images,
.product-gallery {
    gap: 20px;
}

.thumbnail-images {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 15px;
}


.thumbnail-images img {
    object-fit: cover;
    border-radius: 10px;
    cursor: pointer;
    flex-basis: 30%;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
}


.product-details {
    flex: 2;
    min-width: 350px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.product-header {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.product-rating {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 26px;
}

.product-rating .stars {
    display: flex;
    gap: 20px
}

.add-to-wishlist svg.icon-heart {
    stroke: var(--color-primary);
    fill: none;
}

.product-rating svg {
  /*  fill: var(--color-primary); */
    width: 37px !important;
    height: 37px !important;
}
.yith-wcwl-add-to-wishlist-button__label{
	display: none;
}

.product-rating .reviews-count {
    font-size: 14px;
    color: var(--color-text-light-gray);
}

.add-to-wishlist {
    margin-left: auto;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #e0e0e0;
}

.entry-title.product_title {
    color: var(--color-primary);
    font-size: 100px;
    line-height: 90%;
    letter-spacing: -2px;
    font-family: "Cramaten", sans-serif;
    font-weight: 400;
    background-clip: text !important;
}

.product-meta {
    display: flex;
    gap: 20px;
    align-items: center;
    color: var(--color-text-light-gray);
}

.availability {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--color-primary-darkest);
}

.availability svg {
    width: 16px;
}


.product-main-block {
    display: flex;
    gap: 55px;
}

.product-left-clm {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


.product-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    white-space: nowrap;
    text-transform: uppercase;
    font-style: normal;
    line-height: 125%;
    margin-bottom: 20px;
}

.product-price .current-price {
    color: var(--color-primary);
    font-family: "Vela Sans";
    font-size: 33px;
    font-weight: 700;
    letter-spacing: -0.33px;
}

.product-price .current-price span.currency {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.14px;
    text-transform: uppercase;
}

.product-price .old-price {
    font-size: 20px;
    color: var(--color-text-light-gray);
    font-weight: 600;
    letter-spacing: -0.2px;
    text-decoration-line: line-through;
}

.product-price .old-price span.currency {
    font-size: 14px;
    letter-spacing: -0.14px;
    text-decoration-line: line-through;
}


.product-options {
    display: flex;
    gap: 16px;
}

.option-button {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid var(--color-text-light-gray);
    background: #FFF;
    font-size: 16px;
    color: var(--color-primary-darkest);
    font-family: "Vela Sans";
    white-space: nowrap;
}

.option-button.active {
    border-color: #fff;
    background-color: var(--color-primary);
    color: #fff;
}

.quantity-selector {
    display: flex;
    align-items: center;
    width: fit-content;
    padding: 7px 8px;
    border-radius: 10px;
    border: 1px solid var(--color-primary);
    background: var(--color-bg-light);
}

.quantity-value-display,
.quantity-value {
    min-width: 1.295vw;
    text-align: center;
}

.quantity-selector button {
    display: flex;
    width: 20px;
    height: 20px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 20px;
    border: 1px solid var(--color-primary);
    background: #FFF;
}

.quantity-selector button svg {
    fill: var(--color-primary-darkest);
}

.quantity-minus {
    margin-left: 2px;
}

.quantity-plus {
    margin-right: 2px;
}

.quantity-selector .quantity-value {
    font-size: 16px;
}

.btn-add-to-cart {
    transform: rotate(-22deg) !important;
    margin-top: 80px !important;

}

.product-right-clm {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.shipping-info,
.order-request {
    display: flex;
    padding: 24px 20px;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 25px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(7.5px);
    color: var(--color-primary-darkest);
}

.shipping-info {
    gap: 12px;
    font-size: 18px;
}

.shipping-info span {
    opacity: 0.6;
    font-weight: 600;
}

.shipping-info {
    font-size: 16px;
    font-style: normal;
}

.product-card__actions .btn.btn--icon-round:hover svg.yith-wcwl-add-to-wishlist-button-icon {
  stroke: #fff !important;
}



.order-request {
    flex-flow: column;
    gap: 25px;
}

.order-request__first-line {
    display: flex;
    gap: 12px;
}

.product-right-clm svg {
    flex-shrink: 0;
}

.order-request p {
    font-size: 16px;
}

.request-callback-button {
    color: var(--color-primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 110%;
    letter-spacing: -0.48px;
    text-transform: uppercase;
    gap: 4px;
}

.request-callback-button::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-primary);
    transition: width 0.3s ease;
}

.request-callback-button:hover::after {
    width: 50%;
}

.product-accordion {
    margin-top: 20px;
}

.product-accordion__item {
    border-bottom: 1px solid var(--color-border-dark-opacity);
}

.product-accordion__item:first-child {
    border-top: 1px solid var(--color-border-dark-opacity);
}

.product-accordion__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    cursor: pointer;
}

.is-active .product-accordion__header h3 {
    color: var(--color-accent-pink);
}

.product-accordion__question {
    font-size: 15px;
    color: var(--color-primary-darkest);
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.45px;
    text-transform: uppercase;
    margin: 0;
}

.product-accordion__icon {
    width: 20px;
    height: 20px;
    transition: transform 0.4s ease;
    flex-shrink: 0;
    fill: var(--color-primary);
}

.product-accordion__icon.icon-arrow-down {
    width: 10px;
    height: 10px;
}

.product-accordion__item.is-active .product-accordion__icon {
    transform: rotate(-90deg);
}

.product-accordion__answer-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding-bottom 0.4s ease-out;
}

.product-accordion__item.is-active .product-accordion__answer-wrapper {
    max-height: 7.8125vw;
}

.product-accordion__answer {
    padding: 0 0 20px 0;
    margin: 0;
    font-size: 14px;
    line-height: 130%;
    color: var(--color-primary-darkest);
}

.thumbnail-images img {
    width: 30%;
    height: 195px;
}

@media (max-width: 1300px) {
.order-request__first-line {
 flex-flow: column;
}
	.request-callback-button {
  font-size: 14px;
}
}

@media (max-width: 960px) {
	
	.order-request__first-line {
 flex-flow: row;
}
	
	.quantity-value-display,
.quantity-value {
    min-width: 2.083vw;
    text-align: center;
}

    .main-image-wrapper,
    .thumbnail-images {
        height: 600px;
    }

    .thumbnail-images {
        width: 30%;
    }

    .entry-title.product_title {
        font-size: 80px;
        letter-spacing: -1.72px;
    }

    .thumbnail-images,
    .product-gallery {
        gap: 15px;
    }

    .thumbnail-images {
        flex-flow: column;
    }

    .product-gallery {
        flex-direction: row;
    }
}

@media (max-width: 767px) {
	.quantity-value-display,
.quantity-value {
    min-width: 5vw;
}

    .main-image-wrapper,
    .thumbnail-images {
        height: auto;
    }

    .thumbnail-images {
        flex-direction: row;
    }

    .product-gallery {
        flex-flow: column;
    }

    .product-title {
        font-size: 50px;
    }

    .arrow-button,
    .gallery-nav {
        width: 25px;
        height: 25px;
    }

    .gallery-nav svg,
    .arrow-button svg {
        width: 17px;
        height: 17px;
    }

    .thumbnail-images img {
        width: 30%;
        height: 100px;
    }

    .thumbnail-images img {
        width: 30%;
        height: 100px;
    }

    .thumbnail-images {
        width: 100%;
    }

    .product-accordion__item.is-active .product-accordion__answer-wrapper {
        max-height: 30vw;
    }
}

.accordion-content p {}

.product-extra {
    width: 89vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 60px;
    align-items: start;
}

.product-extra__image-large img {
    height: 800px;
}

.product-extra__text-block img {
    height: 471px;
}

.product-extra__image-large img,
.product-extra__text-block img {
    width: 100%;
    display: block;
    border-radius: 30px;
    object-fit: cover;
}

.product-description {
    color: var(--color-primary-darkest);
    line-height: 130%;
    width: 352px;
}

.product-description__fst_line {
    margin-top: 20px;
    font-size: 20px;
    font-weight: 600;
}

.product-description__scnd_line {
    font-size: 16px;
    font-weight: 400;
}

.breadcrumbs__product-page {
    padding: 20px 0;
}

.breadcrumbs__product-page .breadcrumbs__separator {
    margin: 0 6px;
}


@media (max-width: 960px) {

    .thumbnail-images img {
        width: 100%;
        height: 100px;
    }

    .breadcrumbs__product-page {
        padding: 20px 0;
    }

    .product-extra {
        width: 98.4vw;
    }

    .content-block {
        grid-template-columns: minmax(50%, 1fr) minmax(50%, 1fr);
    }

    .middle-image-column {
        display: none;
    }

    .right-content-column .bordered-text {
        width: 100%;
    }

    .left-text-column {
        gap: 35px;
    }


}

@media (max-width: 768px) {


    .product-rating .stars {
        gap: 10px;
    }

    .product-rating {
        gap: 20px;
        margin-bottom: 15px;
    }

    .product-rating svg {
        width: 24px;
    }

    .product-content {
        flex-direction: column;
    }

    .product-gallery,
    .product-details {
        min-width: unset;
        width: 100%;
        max-width: unset;
    }

    .add-to-cart-button {
        width: 120px;
        height: 120px;
        font-size: 14px;
    }

    .product-main-block {
        gap: 20px;
    }

    .product-left-clm,
    .product-content {
        gap: 15px;
    }

    .product-price {
        margin: 0;
    }

    .product-main-block {
        flex-flow: wrap;
    }

    .btn-add-to-cart {
        transform: rotate(-22deg) !important;
        margin-top: 0 !important;
    }

    .product-description {
        width: auto;
    }

    .order-request {
        flex-flow: column;
        gap: 15px;
    }
}


.content-block-wrapper {
    width: 100%;
    max-width: 78.125vw;
    margin: 0 auto;
}

.content-block-wrapper,
.product-extra {
    margin-top: 150px;
}

.content-block {
    display: grid;
    grid-template-columns: minmax(24%, 1fr) minmax(24%, 1fr) minmax(48%, 2fr);
    gap: 25px;
}

.left-text-column {
    gap: 10px;
    display: flex;
    flex-direction: column;
}

.right-content-column .masked-image {
    height: 250px;
    border-radius: 30px;
    object-fit: cover;
}

.middle-image-column img,
.right-content-column img {
    max-width: 100%;
    border-radius: 30px;
}

.right-content-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.right-content-column .bordered-text {
    font-size: 18px;
    width: 50%;
}


@media (max-width: 768px) {
    .product-extra {
        max-width: 90.625vw;
        grid-template-columns: 1fr;
        margin: 20px auto;
    }

    .product-extra__image-large {
        display: none;
    }

    .content-block {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .content-block-wrapper {
        padding: 50px 0;
        max-width: 90.625vw;
        border-top: 1px solid var(--color-primary);
        margin-top: 50px;

    }

    main.product-page .bestseller-section {
        margin: 50px 0 !important;
    }

    .left-text-column h2 {
        font-size: 5.5em;
    }
}


main.product-page .bestseller-section {
    margin: 89px 0 150px 0 !important;
}

main.product-page .bestseller-section__bottle,
main.product-page.categories-section__bottle {
    display: block;
}

main.product-page .static-bottle {
    opacity: 1;
}


.reviews-section-wrapper {
    width: 100%;
    max-width: 78.125vw;
    margin: 0 auto;
    padding: 75px 0;
    border-top: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    z-index: 10;
    position: relative;
}

.categories-page-content .reviews-section-wrapper{
	margin:0;
	border: 0;
	padding:0;
}

.reviews-content {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    align-items: start;
}

.reviews-left-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 1.0417vw;
}

.section-subtitle {
    margin-bottom: 0;
    margin-top: 0;
}

.reviews-title {
    margin-bottom: 0;
    margin-top: 0;
    line-height: .9;
}

.reviews-link {
    text-decoration: none;
    display: inline-block;
    width: fit-content;
}

.reviews-right-panel {
    display: flex;
    flex-direction: column;
}

/* Новый контейнер для карусели и стрелок */
.testimonials-carousel-wrapper {
    position: relative;
    width: 100%;
    padding: 0 60px;
    /* Добавляем отступы для стрелок */
    box-sizing: border-box;
}

/* Скрытие стандартного скроллбара */
.testimonials-container::-webkit-scrollbar {
    display: none;
}

.testimonials-container {
    scrollbar-width: none;
}

/* Остальные свойства testimonials-container остаются */
.testimonials-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 5%;
}

.testimonial-card {
    flex-basis: 30%;
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex-shrink: 0;
}

.reviewer-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.reviewer-image {
    width: 60px ;
    height: 60px !important;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.reviewer-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reviewer-name {
    text-transform: none;
}

.reviewer-role {
    opacity: .35;
    color: var(--color-primary-darkest);
}

.testimonial-text {
    margin: 0;
}

.testimonials-footer-line {
    width: 200px;
    height: 4px;
    align-self: center;
}

.product-card__index {
    position: absolute;
}

.product-page .catalog-section {
    margin-top: 75px;
}



.arrow-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.left-arrow {
    left: 0;
}

.right-arrow {
    right: 0;
}

.right-arrow svg {
    transform: rotate(180deg);
}

/* Медиа-запросы */
@media (max-width: 960px) {
    .reviews-section-wrapper {
        max-width: 96.875vw;
    }

    .reviews-content {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .reviews-left-panel {
        gap: 10px;
    }

    .testimonials-footer-line {
        align-self: center;
    }
	
	.product-main-block{
		flex-wrap: wrap;
	}
}

@media (max-width: 768px) {

    .reviews-left-panel {
        gap: 6.25vw;
    }

    .testimonials-carousel-wrapper {
        padding: 0;
    }

      .testimonial-card {
		flex-basis: 100%;
		padding: 0 10%;
  }

    .testimonials-container {
        max-width: 90.625vw;
		gap: 0;
    }

    .reviews-content {
        gap: 20px
    }

    .reviews-section-wrapper {
        max-width: 90.625vw;
        padding: 25px 0;
    }

    .reviewer-image {
        width: 50px;
        height: 50px !important;
    }

    .reviewer-role,
    .reviewer-name {
        font-size: 13px;
    }

    .testimonial-text {
        font-size: 14px;
    }

    .bestseller-section__product-page {
        margin: 25px 0;
    }

    .product-page .catalog-section {
        margin-top: 25px;
    }

    .product-page .catalog-section {
        height: 650vw;

    }


    .product-card--crystal-nude,
    .product-card--latte-nude-catalog,
    .product-card--unicorn-pearl {
        display: none;
    }
}