/**
 * Single product — layout + WooCommerce scoping
 * Visual language inherits global.css, product-cards.css, accordion.css, woocommerce.css
 */

/* -------------------------------------------------------------------------- */
/* Page shell — extends .shop-catalog                                         */
/* -------------------------------------------------------------------------- */

body.single-product {
    overflow-x: clip;
}

.single-product-page {
    overflow-x: clip;
}

.single-product-page .single-product-page__inner {
    display: flex;
    flex-direction: column;
    gap: var(--stack-gap-lg);
    width: 100%;
    max-width: var(--container-max-width);
    margin-inline: auto;
    padding-inline: var(--container-gutter);
    box-sizing: border-box;
    min-width: 0;
}

.single-product-layout {
    display: flex;
    flex-direction: column;
    gap: var(--section-margin);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.masthead--product .masthead__title {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Prev / next nav                                                            */
/* -------------------------------------------------------------------------- */

.product-nav {
    padding-block: 12px 16px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
    overflow-x: clip;
}

.product-nav__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px 16px;
    width: 100%;
    max-width: var(--container-max-width);
    margin-inline: auto;
    padding-inline: var(--container-gutter);
    box-sizing: border-box;
}

.product-nav__item {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 1 420px;
    max-width: min(100%, 420px);
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    background: var(--white);
    color: var(--color-title);
    text-decoration: none;
    transition: border-color var(--transition), box-shadow var(--transition), color var(--transition);
}

.product-nav__item:hover {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-sm);
    color: var(--color-primary);
}

.product-nav__item--prev {
    justify-self: start;
}

.product-nav__item--next {
    margin-inline-start: auto;
    text-align: right;
    flex-direction: row-reverse;
}

.product-nav__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: var(--color-text-muted);
}

.product-nav__item:hover .product-nav__arrow {
    color: var(--color-primary);
}

.product-nav__arrow .rt-icon,
.product-nav__arrow svg {
    width: 18px;
    height: 18px;
}

.product-nav__thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    background: var(--color-surface);
}

.product-nav__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-nav__meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.product-nav__title {
    font-family: var(--primary-font);
    font-size: var(--small-font-size);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-title);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-nav__price {
    font-family: var(--entities-font);
    font-size: var(--tiny-font-size);
    font-weight: var(--entities-font-weight);
    color: var(--color-primary);
}

.product-nav__price .amount,
.product-nav__price ins,
.product-nav__price del {
    color: inherit;
}

.product-nav__spacer {
    flex: 0 1 420px;
    max-width: min(100%, 420px);
    min-width: 0;
}

.product-nav__back {
    flex: 0 0 auto;
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--entities-font-weight);
    color: var(--color-text-muted);
    text-decoration: none;
}

.product-nav__back:hover {
    color: var(--color-primary);
}

/* -------------------------------------------------------------------------- */
/* Two-column layout                                                          */
/* -------------------------------------------------------------------------- */

.single-product-layout__hero {
    display: grid;
    gap: 28px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.single-product-layout__gallery,
.single-product-layout__summary,
.single-product-layout__below {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.single-product-layout__gallery,
.single-product-layout__summary {
    overflow-x: clip;
}

/* Gallery — Swiper slider */

.product-gallery-slider {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.25s ease-in-out;
}

.product-gallery-slider[data-gallery-ready] {
    opacity: 1;
}

.single-product-layout__gallery .woocommerce-product-gallery {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Kill WooCommerce default gallery layout (inline thumbs / float columns). */
.single-product-layout .woocommerce-product-gallery__wrapper {
    margin: 0;
    padding: 0;
}

.single-product-layout .woocommerce-product-gallery__image,
.single-product-layout .woocommerce-product-gallery__image:nth-child(n + 2) {
    width: 100%;
    display: block;
    float: none;
}

.single-product-layout .product-gallery-slider__compat,
.single-product-layout .flex-control-nav.flex-control-thumbs {
    display: none !important;
}

.product-gallery-slider__viewport {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.product-gallery-slider__main {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 20px;
    background: var(--white);
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.product-gallery-slider__main .swiper-wrapper {
    height: auto;
}

.product-gallery-slider__main .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    box-sizing: border-box;
    max-width: 100%;
}

.product-gallery-slider__main .woocommerce-product-gallery__image {
    width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.product-gallery-slider__main .woocommerce-product-gallery__image a {
    display: block;
    width: 100%;
    max-width: 100%;
}

.product-gallery-slider__main .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.product-gallery-slider__nav {
    position: absolute;
    top: 50%;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    background: var(--white);
    color: var(--color-title);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    pointer-events: auto;
    transform: translateY(-50%);
    transition: background-color var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);
}

/* Expand clickable area beyond the visible circle */
.product-gallery-slider__nav::before {
    content: '';
    position: absolute;
    inset: -14px;
}

.product-gallery-slider__nav:hover:not(.swiper-button-disabled) {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--white);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.product-gallery-slider__nav.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.product-gallery-slider__nav--prev {
    left: 12px;
}

.product-gallery-slider__nav--next {
    right: 12px;
}

.product-gallery-slider__nav .rt-icon,
.product-gallery-slider__nav svg {
    width: 22px;
    height: 22px;
    pointer-events: none;
}

.product-gallery-slider__thumbs-wrap {
    margin-block-start: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.product-gallery-slider__thumbs {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.product-gallery-slider__thumbs .swiper-wrapper {
    height: auto;
}

.product-gallery-slider__thumbs .swiper-slide {
    width: 72px;
    height: auto;
    box-sizing: border-box;
    border: 2px solid transparent;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    cursor: pointer;
    transition: border-color var(--transition);
}

.product-gallery-slider__thumbs .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.product-gallery-slider__thumbs .swiper-slide-thumb-active,
.product-gallery-slider__thumbs .swiper-slide:hover {
    border-color: var(--color-primary);
}

.product-gallery-slider .onsale {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 4px 10px;
    border-radius: var(--border-radius-pill);
    background: var(--label-red);
    color: var(--white);
    font-family: var(--entities-font);
    font-size: var(--tiny-font-size);
    font-weight: var(--font-weight-bold);
}

/* Summary — align with product cards + global type */

.single-product-layout__summary .product_title {
    margin-block-end: 12px;
}

.single-product-layout__summary .price {
    margin-block-end: 18px;
    color: var(--color-primary);
    font-family: var(--entities-font);
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 800;
    line-height: 1.2;
}

.single-product-layout__summary .price .amount,
.single-product-layout__summary .price ins {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-decoration: none;
}

.single-product-layout__summary .price del {
    color: var(--gray-50);
    font-size: 0.85em;
    font-weight: 600;
    margin-inline-end: 8px;
}

.single-product-layout__summary .woocommerce-product-details__short-description {
    margin-block-end: 20px;
}

.single-product-layout__summary .variations {
    width: 100%;
    margin-block-end: 16px;
    border-collapse: collapse;
}

.single-product-layout__summary .variations tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-block-end: 14px;
}

.single-product-layout__summary .variations th.label {
    padding: 0;
    text-align: left;
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--entities-font-weight);
    color: var(--color-title);
}

.single-product-layout__summary .variations td.value {
    padding: 0;
}

/* Match shop toolbar selects */
.single-product-layout__summary .variations select {
    appearance: none;
    width: 100%;
    min-height: var(--input-min-height);
    padding: 10px 36px 10px 14px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius-md);
    background:
        var(--white)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")
        no-repeat right 12px center;
    color: var(--color-title);
    font-family: var(--primary-font);
    font-size: var(--small-font-size);
    cursor: pointer;
}

.single-product-layout__summary .variations select:focus {
    outline: 2px solid var(--green-90);
    outline-offset: 1px;
    border-color: var(--color-primary);
}

.single-product-layout__summary .reset_variations {
    display: inline-block;
    margin-block-start: 6px;
    color: var(--color-primary);
    font-size: 13px;
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
}

.single-product-layout__summary .reset_variations:hover {
    text-decoration: underline;
}

.single-product-layout__summary .stock.in-stock {
    color: var(--color-success);
}

.single-product-layout__summary .stock.out-of-stock {
    color: var(--color-danger);
}

/* Cart row — qty + Add to cart + Buy now on one line */

.single-product-layout__summary form.cart,
.single-product-layout__summary .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    margin-block-end: 20px;
}

.single-product-layout__summary form.variations_form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.single-product-layout__summary form.variations_form.cart .variations,
.single-product-layout__summary form.variations_form.cart .reset_variations_alert,
.single-product-layout__summary form.variations_form.cart .single_variation_wrap {
    flex: 1 1 100%;
    width: 100%;
}

.single-product-layout__summary form.variations_form.cart .woocommerce-variation-add-to-cart {
    width: 100%;
}

.single-product-layout__summary form.cart .quantity,
.single-product-layout__summary .woocommerce-variation-add-to-cart .quantity {
    flex: 0 0 auto;
    align-self: center;
}

.single-product-layout__summary .single_add_to_cart_button,
.single-product-layout__summary .single-product__buy-now {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
}

.single-product-layout__summary .single_add_to_cart_button.loading {
    opacity: 0.75;
    pointer-events: none;
}

/* -------------------------------------------------------------------------- */
/* Promo cards — Swiper slider                                                */
/* -------------------------------------------------------------------------- */

.single-product-promos {
    margin-block-end: 18px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.single-product-promos__slider-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.single-product-promos__viewport {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    align-items: center;
    column-gap: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.single-product-promos__slider {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.single-product-promos__slider .swiper-wrapper {
    align-items: stretch;
    height: auto;
}

.single-product-promos__slider .swiper-slide {
    height: auto;
    box-sizing: border-box;
    max-width: 100%;
}

.single-product-promos__slide {
    height: auto;
    display: flex;
    min-width: 0;
}

.single-product-promos__nav {
    position: static;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    align-self: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    background: var(--white);
    color: var(--color-title);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    transform: none;
    transition: background-color var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.single-product-promos__nav:hover:not(.swiper-button-disabled) {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--white);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.single-product-promos__nav.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.single-product-promos__nav--prev {
    grid-column: 1;
    grid-row: 1;
}

.single-product-promos__nav--next {
    grid-column: 3;
    grid-row: 1;
}

.single-product-promos__pagination {
    position: static !important;
    inset: auto !important;
    bottom: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    z-index: auto !important;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.single-product-promos__pagination .swiper-pagination-bullet {
    margin: 0 !important;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #d4d4d4;
    opacity: 1;
    transition: width var(--transition), background-color var(--transition);
}

.single-product-promos__pagination .swiper-pagination-bullet-active {
    width: 22px;
    background: var(--color-primary);
}

.single-product-promos__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    height: 100%;
    padding: 16px 18px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 20px;
    background: var(--white);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
    color: inherit;
    text-decoration: none;
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.single-product-promos__card:hover {
    border-color: rgba(55, 178, 14, 0.35);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.single-product-promos__eyebrow {
    margin: 0;
}

.single-product-promos__title {
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    color: var(--color-title);
}

.single-product-promos__text {
    margin: 0;
    font-size: var(--small-font-size);
    color: var(--color-text-muted);
}

.single-product-promos__cta {
    margin-block-start: auto;
    pointer-events: none;
}

/* -------------------------------------------------------------------------- */
/* Toolbar — compare / wishlist / share                                       */
/* -------------------------------------------------------------------------- */

.single-product-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    padding-block-start: 14px;
    border-top: 1px solid var(--color-border);
}

.single-product-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-product-toolbar__actions > li {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.single-product-toolbar__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
    color: var(--color-text-muted);
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--entities-font-weight);
    text-decoration: none;
    transition: color var(--transition);
}

.single-product-toolbar__action:hover {
    color: var(--color-primary);
}

.single-product-toolbar__action .rt-icon,
.single-product-toolbar__action svg {
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

.single-product-toolbar__share {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-inline-start: auto;
}

.single-product-toolbar__share-label {
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--entities-font-weight);
    color: var(--color-text-muted);
}

.single-product-toolbar__share-links {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.single-product-toolbar__share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius-md);
    background: var(--white);
    color: var(--color-title);
    cursor: pointer;
    transition: border-color var(--transition), color var(--transition), background-color var(--transition);
}

.single-product-toolbar__share-btn:hover,
.single-product-toolbar__share-btn.is-copied {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--green-99);
}

/* Tabs — accordion layout on product page */

.single-product-layout__below .woocommerce-tabs {
    width: 100%;
    max-width: 100%;
}

.single-product-layout__below .accordion,
.single-product-layout__below .accordion__box,
.single-product-layout__below .accordion__list,
.single-product-layout__below .accordion__item,
.single-product-layout__below .accordion__panel {
    width: 100%;
    max-width: 100%;
}

.single-product-layout__below .accordion__panel-inner {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 4px 0 20px;
    row-gap: 0;
}

.single-product-layout__below .accordion__panel-inner.entry-content > * + * {
    margin-block-start: 0.85em;
}

.single-product-layout__below .accordion__panel-inner.entry-content > *:first-child {
    margin-block-start: 0;
}

.single-product-layout__below .accordion__panel-inner :where(h1, h2, h3, h4, h5, h6) {
    margin-block: 1.1em 0.4em;
    color: var(--color-title);
    line-height: var(--line-height-tight);
}

.single-product-layout__below .accordion__panel-inner :where(h1, h2, h3, h4, h5, h6):first-child {
    margin-block-start: 0;
}

.single-product-layout__below .accordion__panel-inner :where(p, ul, ol) {
    margin: 0;
    max-width: none;
    width: 100%;
}

.single-product-layout__below .accordion__panel-inner :where(img, figure, table, pre, iframe, video) {
    max-width: 100%;
}

.single-product-layout__below .woocommerce-Reviews-title {
    display: none;
}

/* -------------------------------------------------------------------------- */
/* Customer reviews                                                           */
/* -------------------------------------------------------------------------- */

.single-product-layout__below .woocommerce-Reviews {
    width: 100%;
    max-width: 720px;
}

.single-product-layout__below .woocommerce-noreviews,
.single-product-layout__below .woocommerce-Reviews .comment-reply-title {
    margin: 0 0 12px;
    color: var(--color-text-muted);
    font-family: var(--primary-font);
    font-size: var(--body-font-size);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body);
}

.single-product-layout__below .woocommerce-Reviews .comment-reply-title {
    display: block;
    margin-block-end: 18px;
    color: var(--color-title);
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--font-weight-semibold);
}

.single-product-layout__below .woocommerce-Reviews .comment-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.single-product-layout__below .woocommerce-Reviews .comment-form > p,
.single-product-layout__below .woocommerce-Reviews .comment-form-rating,
.single-product-layout__below .woocommerce-Reviews .comment-form-comment,
.single-product-layout__below .woocommerce-Reviews .comment-form-author,
.single-product-layout__below .woocommerce-Reviews .comment-form-email {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    width: 100%;
}

.single-product-layout__below .woocommerce-Reviews .comment-form label {
    margin: 0;
    color: var(--color-title);
    font-family: var(--entities-font);
    font-size: var(--small-font-size);
    font-weight: var(--entities-font-weight);
    line-height: 1.3;
}

.single-product-layout__below .woocommerce-Reviews .comment-form .required {
    color: var(--color-danger, #c0392b);
}

.single-product-layout__below .woocommerce-Reviews .comment-form input[type="text"],
.single-product-layout__below .woocommerce-Reviews .comment-form input[type="email"],
.single-product-layout__below .woocommerce-Reviews .comment-form textarea {
    width: 100%;
    max-width: 100%;
    min-height: var(--input-min-height);
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius-md);
    background: var(--white);
    color: var(--color-title);
    font-family: var(--primary-font);
    font-size: var(--small-font-size);
    line-height: var(--line-height-tight);
    box-sizing: border-box;
    transition: border-color var(--transition), box-shadow var(--transition);
}

.single-product-layout__below .woocommerce-Reviews .comment-form textarea {
    min-height: 140px;
    resize: vertical;
}

.single-product-layout__below .woocommerce-Reviews .comment-form input:focus,
.single-product-layout__below .woocommerce-Reviews .comment-form textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);
}

/* Hide native select — WC JS replaces it with .stars */
.single-product-layout__below .woocommerce-Reviews .comment-form-rating select {
    display: none;
}

/* Star rating picker (theme-owned; WC general CSS is disabled) */
.single-product-layout__below .woocommerce-Reviews p.stars {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
}

.single-product-layout__below .woocommerce-Reviews p.stars a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #d0d0d0;
    font-size: 0;
    line-height: 0;
    text-decoration: none;
    text-indent: 0;
    overflow: hidden;
    cursor: pointer;
    transition: color var(--transition), transform var(--transition);
}

.single-product-layout__below .woocommerce-Reviews p.stars a::before {
    content: "★";
    font-size: 26px;
    line-height: 1;
    color: inherit;
}

.single-product-layout__below .woocommerce-Reviews p.stars:hover a {
    color: var(--color-primary);
}

.single-product-layout__below .woocommerce-Reviews p.stars:hover a:hover ~ a {
    color: #d0d0d0;
}

.single-product-layout__below .woocommerce-Reviews p.stars.selected a:not(.active) {
    color: var(--color-primary);
}

.single-product-layout__below .woocommerce-Reviews p.stars.selected a.active {
    color: var(--color-primary);
}

.single-product-layout__below .woocommerce-Reviews p.stars.selected a.active ~ a {
    color: #d0d0d0;
}

.single-product-layout__below .woocommerce-Reviews p.stars a:hover {
    transform: scale(1.08);
}

.single-product-layout__below .woocommerce-Reviews .form-submit {
    margin-block-start: 4px;
}

.single-product-layout__below .woocommerce-Reviews .form-submit .single-product-review__submit,
.single-product-layout__below .woocommerce-Reviews .form-submit input[type="submit"] {
    width: auto;
    min-width: 140px;
    cursor: pointer;
}

/* Existing reviews list */
.single-product-layout__below .woocommerce-Reviews .commentlist {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.single-product-layout__below .woocommerce-Reviews .comment_container {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px 14px;
    padding: 14px 16px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 16px;
    background: var(--white);
}

.single-product-layout__below .woocommerce-Reviews .comment_container .avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
}

.single-product-layout__below .woocommerce-Reviews .comment-text {
    min-width: 0;
}

.single-product-layout__below .woocommerce-Reviews .meta {
    margin: 0 0 6px;
    color: var(--color-text-muted);
    font-size: var(--small-font-size);
}

.single-product-layout__below .woocommerce-Reviews .description {
    margin: 0;
    color: var(--color-text);
    font-size: var(--body-font-size);
    line-height: var(--line-height-body);
}

.single-product-layout__below .woocommerce-Reviews .star-rating {
    display: inline-block;
    position: relative;
    width: 5.2em;
    height: 1em;
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #d0d0d0;
    overflow: hidden;
}

.single-product-layout__below .woocommerce-Reviews .star-rating::before {
    content: "★★★★★";
    color: #d0d0d0;
}

.single-product-layout__below .woocommerce-Reviews .star-rating span {
    position: absolute;
    inset: 0 auto 0 0;
    overflow: hidden;
    color: var(--color-primary);
}

.single-product-layout__below .woocommerce-Reviews .star-rating span::before {
    content: "★★★★★";
}

/* Related — shop grid rules + product cards block */

.single-product-related {
    padding-block-start: 8px;
}

.single-product-related .product-cards__panel {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.single-product-related .shop-products.products,
.single-product-related .shop-products.product-cards__grid {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* -------------------------------------------------------------------------- */
/* Breakpoints                                                                */
/* -------------------------------------------------------------------------- */

@media (min-width: 1024px) {
    .single-product-layout__hero {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
        gap: 40px;
    }

    .product-nav__back {
        display: none;
    }
}

@media (max-width: 767px) {
    .product-gallery-slider__nav {
        width: 44px;
        height: 44px;
    }

    .product-gallery-slider__nav::before {
        inset: -10px;
    }

    .product-nav__inner {
        gap: 10px;
    }

    .product-nav__item {
        flex: 1 1 0;
        max-width: none;
    }

    .product-nav__back,
    .product-nav__spacer {
        display: none;
    }

    .product-nav__title {
        font-size: 12px;
    }

    .single-product-toolbar__share {
        width: 100%;
        margin-inline-start: 0;
        justify-content: flex-start;
    }

    .single-product-promos__nav {
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 420px) {
    .single-product-layout__summary form.cart,
    .single-product-layout__summary .woocommerce-variation-add-to-cart {
        flex-wrap: wrap;
    }

    .single-product-layout__summary form.cart .quantity,
    .single-product-layout__summary .woocommerce-variation-add-to-cart .quantity {
        flex: 1 1 100%;
    }

    .single-product-layout__summary .single_add_to_cart_button,
    .single-product-layout__summary .single-product__buy-now {
        flex: 1 1 calc(50% - 5px);
    }
}
