.product-detail-page {
    background: #fbfaf8;
}

.product-breadcrumb {
    font-size: .76rem;
}

.product-main-card {
    background: transparent;
}

.product-main-grid {
    align-items: start;
    display: grid;
    gap: clamp(1rem, 2vw, 1.75rem);
    grid-template-columns: minmax(0, 1.3fr) minmax(24rem, .9fr);
}

.product-main-grid > * {
    max-width: none;
    width: auto;
}

.product-visual-stack {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

.product-gallery-column {
    background: #f2eee8;
    border: 1px solid #e4ddd3;
    border-radius: 1.25rem;
    box-shadow: 0 1.2rem 3rem rgba(43, 37, 29, .07);
    overflow: hidden;
    position: relative;
}

.product-detail-gallery {
    height: clamp(30rem, 44vw, 38rem);
    min-height: 0;
    padding: 1.1rem;
}

.product-detail-gallery .product-gallery-preview-item {
    align-items: center;
    background: #f2eee8;
    height: 100%;
    justify-content: center;
}

.product-detail-gallery .product-gallery-preview-item.active {
    display: flex;
}

.product-detail-gallery .product-gallery-preview-item > img {
    height: 100%;
    max-height: 42rem;
    object-fit: contain;
    width: 100%;
}

.product-detail-gallery .product-gallery-thumblist-item {
    background: #fff;
    border-radius: .65rem;
    overflow: hidden;
    position: relative;
}

.product-detail-gallery .product-gallery-thumblist-item img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.product-video-thumb span {
    align-items: center;
    background: rgba(20, 18, 15, .72);
    border-radius: 50%;
    color: #fff;
    display: flex;
    height: 2rem;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2rem;
}

.product-video-frame,
.product-video-frame video {
    height: 100%;
    width: 100%;
}

.product-video-frame video {
    object-fit: contain;
}

.product-image-placeholder {
    color: #aaa197;
    font-size: 4rem;
}

.product-summary {
    background: #fff;
    border: 1px solid #e4ddd3;
    border-radius: 1.25rem;
    box-shadow: 0 1.2rem 3rem rgba(43, 37, 29, .07);
    padding: clamp(1.35rem, 2.4vw, 2rem);
}

.product-category-pill {
    background: #eee7dd;
    border-radius: 999px;
    color: #6f5737;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .06em;
    padding: .45rem .7rem;
    text-transform: uppercase;
}

.product-availability {
    align-items: center;
    color: #7b6749;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 600;
    gap: .4rem;
}

.product-availability > span {
    background: #c49655;
    border-radius: 50%;
    height: .48rem;
    width: .48rem;
}

.product-availability.is-stocked {
    color: #3c684b;
}

.product-availability.is-stocked > span {
    background: #4b9664;
}

.product-detail-title {
    color: #221d17;
    font-size: clamp(1.7rem, 3vw, 2.65rem);
    letter-spacing: -.035em;
    line-height: 1.14;
    margin-bottom: 1rem;
}

.product-rating-inline {
    align-items: center;
    color: #6e665d;
    display: inline-flex;
    font-size: .78rem;
    gap: .65rem;
    margin-bottom: 1.3rem;
}

.product-stars {
    color: #c9953f;
    display: inline-flex;
    gap: .12rem;
}

.product-synopsis {
    color: #625b53;
    font-size: .92rem;
    line-height: 1.75;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.product-price-panel {
    align-items: center;
    border-top: 1px solid #eee9e2;
    display: flex;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding-top: 1.4rem;
}

.product-price-label {
    color: #8b837a;
    display: block;
    font-size: .7rem;
    margin-bottom: .15rem;
}

.product-current-price {
    color: #17130f;
    font-size: 2rem;
    font-weight: 750;
}

.product-compare-price {
    color: #9a9288;
    font-size: .95rem;
}

.product-saving-badge {
    background: #e7f2ea;
    border-radius: 999px;
    color: #39704b;
    font-size: .7rem;
    font-weight: 700;
    padding: .5rem .75rem;
}

.product-price-note {
    color: #8a8178;
    font-size: .7rem;
    margin: .4rem 0 0;
}

.product-trust-grid {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
    padding: 0;
}

.product-trust-grid > div {
    align-items: center;
    background: #faf8f5;
    border: 1px solid #eee8df;
    border-radius: .7rem;
    color: #3e372f;
    display: flex;
    font-size: .68rem;
    gap: .6rem;
    line-height: 1.35;
    min-width: 0;
    padding: .7rem;
}

.product-trust-grid i {
    color: #8b6f47;
    font-size: 1.15rem;
}

.product-trust-grid span,
.product-trust-grid strong,
.product-trust-grid small {
    display: block;
}

.product-trust-grid strong {
    font-size: .65rem;
    line-height: 1.25;
}

.product-trust-grid small {
    color: #8a8178;
    font-size: .58rem;
    margin-top: .16rem;
}

.product-facts {
    margin: 0;
    padding: .15rem 1rem;
}

.product-facts > div {
    display: flex;
    font-size: .75rem;
    justify-content: space-between;
    border-bottom: 1px solid #f0ebe4;
    padding: .55rem 0;
}

.product-facts > div:last-child { border-bottom: 0; }

.product-facts dt {
    color: #8b837a;
    font-weight: 500;
}

.product-facts dd {
    color: #302a23;
    font-weight: 600;
    margin: 0;
    text-align: right;
}

.product-support-strip {
    align-items: stretch;
    background: #fff;
    border: 1px solid #e4ddd3;
    border-radius: 1rem;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
    margin-top: 0;
    padding: 1rem;
}

.product-visual-stack .product-support-strip {
    grid-template-columns: 1fr;
}

.product-content-section {
    background: #fff;
}

.product-section-kicker {
    color: #8b6f47;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.product-description {
    color: #554e46;
    line-height: 1.85;
}

.product-description img {
    height: auto;
    max-width: 100%;
}

.product-service-card {
    background: linear-gradient(145deg, #29251f, #514535);
    border-radius: 1rem;
    color: rgba(255, 255, 255, .75);
    padding: 2rem;
    position: sticky;
    top: 7.5rem;
}

.product-reviews-section {
    background: #f7f5f2;
    border-top: 1px solid #e8e1d8;
}

.review-summary-card {
    background: #fff;
    border: 1px solid #e6ded4;
    border-radius: 1rem;
    padding: 1.5rem;
    position: sticky;
    top: 7rem;
}

.review-average {
    color: #211c16;
    font-size: 3.4rem;
    font-weight: 750;
    letter-spacing: -.05em;
    line-height: 1;
}

.review-distribution {
    display: grid;
    gap: .55rem;
    margin-top: 1.3rem;
}

.review-distribution-row {
    align-items: center;
    color: #766d64;
    display: grid;
    font-size: .68rem;
    gap: .65rem;
    grid-template-columns: 2.2rem 1fr 1.3rem;
}

.review-distribution-row .progress {
    background: #eee9e2;
    height: .38rem;
}

.review-distribution-row .progress-bar {
    background: #b8873d;
}

.customer-review-card {
    background: #fff;
    border: 1px solid #e6ded4;
    border-radius: .9rem;
    box-shadow: 0 .45rem 1.4rem rgba(49, 40, 30, .045);
    display: grid;
    gap: 1rem;
    grid-template-columns: 2.8rem 1fr;
    padding: 1.25rem;
    transition: box-shadow .2s ease, transform .2s ease;
}

.customer-review-card + .customer-review-card {
    margin-top: .85rem;
}

.customer-review-card:hover { box-shadow:0 .8rem 2rem rgba(49,40,30,.085); transform:translateY(-2px); }
.customer-review-card > div:last-child > p { color:#4d463f; font-size:.82rem; line-height:1.75; }

.review-avatar {
    align-items: center;
    background: #dfd3c3;
    border-radius: 50%;
    color: #604e37;
    display: flex;
    font-size: .78rem;
    font-weight: 750;
    height: 2.8rem;
    justify-content: center;
    width: 2.8rem;
}

.review-date {
    color: #938a81;
    font-size: .68rem;
}

.verified-review {
    color: #3f7951;
    font-size: .68rem;
    font-weight: 600;
}

.review-empty-state {
    border: 1px dashed #d6cdc2;
    border-radius: 1rem;
    padding: 3rem 1.5rem;
    text-align: center;
}

.review-empty-state > i {
    color: #b98c49;
    font-size: 2rem;
}

.review-form-wrap {
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(54, 45, 34, .08);
    overflow: hidden;
}

.review-form-intro {
    background: #2d2923;
    color: rgba(255, 255, 255, .72);
    padding: 2rem;
}

.review-form {
    padding: 2rem;
}

.review-star-input {
    direction: rtl;
    display: inline-flex;
}

.review-star-input input {
    opacity: 0;
    position: absolute;
}

.review-star-input label {
    color: #d9d1c7;
    cursor: pointer;
    font-size: 1.7rem;
    padding-right: .3rem;
    transition: color .15s ease, transform .15s ease;
}

.review-star-input label:hover,
.review-star-input label:hover ~ label,
.review-star-input input:checked ~ label {
    color: #c58e36;
}

.review-star-input label:hover {
    transform: scale(1.08);
}

.related-products-section {
    background: #fff;
    overflow: hidden;
}

.related-slider-nav {
    gap: .5rem;
}

.related-slider-nav button,
.related-view-link {
    align-items: center;
    background: #fff;
    border: 1px solid #dcd4c9;
    border-radius: 50%;
    color: #302a23;
    display: inline-flex;
    height: 2.6rem;
    justify-content: center;
    width: 2.6rem;
}

.relative-product {
    overflow: visible;
    padding-bottom: 2.5rem;
}

.related-product-card {
    border: 1px solid #e9e4dc;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.related-product-image {
    aspect-ratio: 1 / 1;
    background: #f3efe9;
    display: block;
    overflow: hidden;
    position: relative;
}

.related-product-image img {
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
    width: 100%;
}

.related-product-card:hover img {
    transform: scale(1.04);
}

.related-product-image > span {
    background: rgba(255, 255, 255, .9);
    border-radius: 999px;
    bottom: .7rem;
    color: #5a4933;
    font-size: .62rem;
    font-weight: 700;
    left: .7rem;
    padding: .38rem .58rem;
    position: absolute;
}

.related-product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1rem;
}

.related-product-category {
    color: #92754d;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.related-product-body h3 {
    font-size: .88rem;
    line-height: 1.45;
    margin: .4rem 0 0;
}

.related-product-body h3 a {
    color: #28221c;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.related-view-link {
    height: 2rem;
    width: 2rem;
}

.related-custom-card {
    background: linear-gradient(145deg, #2b2721, #66533c);
    border-radius: 1rem;
    color: rgba(255, 255, 255, .72);
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
}

.related-custom-card > i {
    color: #e5c697;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.related-custom-card h3 {
    color: #fff;
    font-size: 1.35rem;
    margin-top: .6rem;
}

.related-pagination .swiper-pagination-bullet-active {
    background: #5f4b33;
}

@media (max-width: 991.98px) {
    .product-main-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .product-visual-stack { display: contents; }
    .product-gallery-column { order: 1; }
    .product-main-grid > .col-lg-5 { order: 2; }
    .product-support-strip { order: 3; }

    .product-detail-gallery {
        height: clamp(28rem, 72vw, 38rem);
    }

    .product-support-strip {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .product-detail-page,
    .product-detail-page .product-main-grid,
    .product-detail-page .product-main-grid > *,
    .product-detail-page .product-summary {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }

    .product-detail-page {
        overflow-x: hidden;
    }

    .product-detail-page .product-main-grid > .col-lg-5,
    .product-detail-page .product-summary {
        max-width: calc(100vw - 1.7rem) !important;
        width: calc(100vw - 1.7rem) !important;
    }

    .product-main-card {
        border-radius: .85rem;
    }

    .product-detail-gallery {
        height: auto;
        min-height: 23rem;
        padding: .6rem;
    }

    .product-summary,
    .review-form,
    .review-form-intro {
        padding: 1.25rem;
    }

    .product-trust-grid { grid-template-columns: 1fr; }
}
.product-purchase-form {
    background: #faf8f5;
    border: 1px solid #e8e1d7;
    border-radius: .9rem;
    padding: 1rem;
}
.product-custom-options {
    border-top: 1px solid #e5ddd2;
    margin-top: .85rem;
    padding-top: .75rem;
}
.product-custom-options summary {
    align-items: center;
    color: #57483a;
    cursor: pointer;
    display: flex;
    font-size: .72rem;
    font-weight: 700;
    justify-content: space-between;
    list-style: none;
}
.product-custom-options summary::-webkit-details-marker { display: none; }
.product-custom-options summary::after {
    content: "+";
    font-size: 1.05rem;
    margin-left: .5rem;
}
.product-custom-options[open] summary::after { content: "−"; }
.product-custom-options summary small {
    color: #94897d;
    font-size: .62rem;
    font-weight: 500;
    margin-left: auto;
}
.product-option-label { color: #4b433a; display: block; font-size: .72rem; font-weight: 700; }
.product-option-label small { color: #8b8379; font-weight: 400; }
.product-option-label .form-control,.product-option-label .form-select {
    background-color: #fff;
    border-color: #d9d0c4;
    border-radius: .6rem;
    margin-top: .4rem;
    min-height: 2.8rem;
}
.product-option-label textarea.form-control { min-height: 4.6rem; }
.product-purchase-actions { display: grid; gap: .6rem; grid-template-columns: 1fr 1fr; margin-top: 1rem; }
.product-purchase-actions .btn { border-radius: .65rem; font-size: .82rem; min-height: 3rem; }
.product-wishlist-action {
    background: #fff;
    border: 1px solid #ddd4c8;
    border-radius: .6rem;
    color: #72552e;
    font-size: .75rem;
    margin-top: .65rem;
    min-height: 2.6rem;
    padding: .55rem 1rem;
    width: 100%;
}
.product-wishlist-action.is-added { background: #f4ece8; color: #883c3c; }
.product-contact-actions {
    display: grid;
    gap: .65rem;
    grid-template-columns: 1fr 1fr;
    margin-top: .8rem;
}
.product-contact-actions .btn { border-radius: .65rem; font-size: .75rem; min-height: 2.8rem; }
.product-gallery-wishlist { right: 1.25rem; top: 1.25rem; z-index: 30; }
@media(max-width:479.98px){.product-purchase-actions{grid-template-columns:1fr}}
@media(max-width:575.98px){
    .product-contact-actions{grid-template-columns:1fr}
    .product-gallery-wishlist{right:.9rem;top:.9rem}
}

/* Premium product hero */
.product-detail-page {
    background: #fff;
}

.product-detail-page > .container {
    max-width: 1380px;
}

.product-detail-page .product-breadcrumb {
    color: #8a8178;
    font-size: .68rem;
}

.product-detail-page .product-breadcrumb a {
    color: #6d645a;
}

.product-detail-page .product-main-grid {
    align-items: start;
    gap: clamp(2rem, 4.5vw, 4.5rem);
    grid-template-columns: minmax(0, 1.2fr) minmax(25rem, .8fr);
}

.product-detail-page .product-gallery-column {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.product-detail-page .product-detail-gallery {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    height: auto;
    padding: 0;
}

.product-detail-page .product-gallery-preview {
    aspect-ratio: 1.08 / 1;
    background: #f5f2ed;
    border-radius: .8rem;
    order: 1 !important;
    overflow: hidden;
    width: 100%;
}

.product-detail-page .product-detail-gallery .product-gallery-preview-item {
    background: #f5f2ed;
}

.product-detail-page .product-detail-gallery .product-gallery-preview-item > img {
    max-height: none;
    object-fit: contain;
    padding: clamp(.35rem, 1vw, .8rem);
}

.product-detail-page .product-gallery-thumblist {
    display: flex;
    flex-wrap: nowrap;
    gap: .65rem;
    order: 2 !important;
    overflow-x: auto;
    padding: .1rem .1rem .4rem;
    scrollbar-width: thin;
    width: 100%;
}

.product-detail-page .product-detail-gallery .product-gallery-thumblist-item {
    border: 1px solid #e4ddd3;
    border-radius: .55rem;
    flex: 0 0 4.7rem;
    height: 4.7rem;
    margin: 0;
    opacity: .72;
    padding: .18rem;
}

.product-detail-page .product-detail-gallery .product-gallery-thumblist-item.active,
.product-detail-page .product-detail-gallery .product-gallery-thumblist-item:hover {
    border-color: #40372d;
    opacity: 1;
}

.product-detail-page .product-gallery-wishlist {
    right: 1rem;
    top: 1rem;
}

.product-detail-page .product-summary {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: .35rem 0 0;
    position: sticky;
    top: 7rem;
}

.product-detail-page .product-category-pill {
    background: #f2eee8;
    color: #675135;
    font-size: .62rem;
    letter-spacing: .1em;
    padding: .48rem .72rem;
}

.product-detail-page .product-detail-title {
    font-size: clamp(2rem, 3.3vw, 3.3rem);
    font-weight: 520;
    letter-spacing: -.045em;
    line-height: 1.06;
    margin: 1.15rem 0 1rem;
}

.product-detail-page .product-rating-inline {
    border-bottom: 1px solid #ebe5dc;
    display: flex;
    margin-bottom: 1.2rem;
    padding-bottom: 1.05rem;
    width: 100%;
}

.product-detail-page .product-synopsis {
    color: #5f574e;
    font-size: .84rem;
    line-height: 1.75;
    -webkit-line-clamp: 3;
}

.product-detail-page .product-price-panel {
    border-top: 0;
    margin-top: 1.15rem;
    padding-top: 0;
}

.product-detail-page .product-current-price {
    font-size: 2.15rem;
    letter-spacing: -.035em;
}

.product-detail-page .product-purchase-form {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #ebe5dc;
    border-radius: 0;
    border-top: 1px solid #ebe5dc;
    margin-top: 1.35rem !important;
    padding: 1.1rem 0 1.15rem;
}

.product-detail-page .product-option-label .form-control,
.product-detail-page .product-option-label .form-select {
    border-color: #cfc5b8;
    border-radius: .35rem;
    min-height: 3rem;
}

.product-detail-page .product-purchase-actions {
    grid-template-columns: .9fr 1.1fr;
}

.product-detail-page .product-purchase-actions .btn {
    border-radius: .35rem;
    min-height: 3.15rem;
}

.product-detail-page .product-contact-actions {
    gap: .7rem;
    margin-top: .8rem;
}

.product-detail-page .product-contact-actions .btn {
    border-color: #d7cec2;
    border-radius: .35rem;
    color: #54473a;
    min-height: 2.7rem;
}

.product-detail-page .product-contact-actions .btn:hover {
    background: #f5f1eb;
    color: #28221c;
}

.product-made-note {
    align-items: flex-start;
    color: #756c63;
    display: flex;
    font-size: .63rem;
    gap: .45rem;
    line-height: 1.55;
    margin: .9rem 0 0;
}

.product-made-note i {
    color: #42604e;
    margin-top: .1rem;
}

.product-detail-page .product-support-strip {
    align-items: center;
    background: #faf8f5;
    border: 0;
    border-radius: .7rem;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    margin-top: clamp(2rem, 4vw, 3.5rem);
    padding: 1.25rem 1.4rem;
}

.product-detail-page .product-trust-grid {
    gap: 0;
}

.product-detail-page .product-trust-grid > div {
    background: transparent;
    border: 0;
    border-right: 1px solid #e4ddd3;
    border-radius: 0;
    padding: .35rem .8rem;
}

.product-detail-page .product-trust-grid > div:first-child {
    padding-left: 0;
}

.product-detail-page .product-trust-grid > div:last-child {
    border-right: 0;
}

.product-detail-page .product-facts {
    display: grid;
    gap: 0 1.3rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
}

.product-detail-page .product-facts > div {
    min-width: 0;
    padding: .45rem 0;
}

.product-detail-page .product-facts dd {
    max-width: 65%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .product-detail-page .product-main-grid {
        gap: 2rem;
        grid-template-columns: minmax(0, 1fr);
    }

    .product-detail-page .product-summary {
        position: static;
    }
    .review-summary-card { position: static; }

    .product-detail-page .product-support-strip {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 575.98px) {
    .product-detail-page > .container {
        padding-inline: 1rem;
    }

    .product-detail-page .product-gallery-preview {
        aspect-ratio: 1 / 1.04;
    }

    .product-detail-page .product-detail-gallery .product-gallery-thumblist-item {
        flex-basis: 4rem;
        height: 4rem;
    }

    .product-detail-page .product-detail-title {
        font-size: 2rem;
    }

    .product-detail-page .product-purchase-actions,
    .product-detail-page .product-contact-actions,
    .product-detail-page .product-facts {
        grid-template-columns: 1fr;
    }

    .product-detail-page .product-trust-grid {
        grid-template-columns: 1fr;
    }

    .product-detail-page .product-trust-grid > div {
        border-bottom: 1px solid #e4ddd3;
        border-right: 0;
        padding: .7rem 0;
    }

    .product-detail-page .product-trust-grid > div:last-child {
        border-bottom: 0;
    }
}

/* Etsy-inspired listing hero */
.product-detail-page > .container {
    max-width: 1480px;
    padding-top: 1.75rem !important;
}

.product-detail-page .product-main-grid {
    gap: clamp(2.25rem, 4vw, 4.75rem);
    grid-template-columns: minmax(0, 1.38fr) minmax(24rem, .72fr);
}

.product-detail-page .product-gallery-column {
    min-width: 0;
    position: sticky;
    top: 6.6rem;
}

.product-detail-page .product-detail-gallery {
    display: grid;
    gap: .9rem;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    height: clamp(34rem, calc(100vh - 8rem), 46rem);
}

.product-detail-page .product-gallery-preview {
    aspect-ratio: auto;
    background: #f5f3ef;
    border-radius: 1rem;
    grid-column: 2;
    height: 100%;
    order: initial !important;
}

.product-detail-page .product-detail-gallery .product-gallery-preview-item,
.product-detail-page .product-detail-gallery .product-gallery-preview-item > img {
    height: 100%;
}

.product-detail-page .product-detail-gallery .product-gallery-preview-item > img {
    object-fit: cover;
    padding: 0;
}

.product-detail-page .product-gallery-thumblist {
    align-content: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: .7rem;
    grid-column: 1;
    grid-row: 1;
    max-height: 100%;
    order: initial !important;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 .2rem 0 0;
    width: auto;
}

.product-detail-page .product-detail-gallery .product-gallery-thumblist-item {
    background: #f5f3ef;
    border: 2px solid transparent;
    border-radius: .75rem;
    flex: 0 0 4.6rem;
    height: 4.6rem;
    opacity: .82;
    padding: .12rem;
    transition: border-color .18s ease, opacity .18s ease, transform .18s ease;
}

.product-detail-page .product-detail-gallery .product-gallery-thumblist-item.active,
.product-detail-page .product-detail-gallery .product-gallery-thumblist-item:hover {
    border-color: #22201d;
    opacity: 1;
    transform: translateY(-1px);
}

.product-detail-page .product-gallery-wishlist {
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 .3rem 1rem rgba(34, 30, 25, .14);
    right: 1.15rem;
    top: 1rem;
}

.product-detail-page .product-summary {
    padding-top: 0;
    position: static;
}

.product-maker-row {
    align-items: center;
    display: grid;
    gap: .65rem;
    grid-template-columns: 2.35rem minmax(0, 1fr) auto;
}

.product-maker-mark {
    align-items: center;
    background: #f1645d;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: .64rem;
    font-weight: 800;
    height: 2.35rem;
    justify-content: center;
    letter-spacing: -.02em;
    width: 2.35rem;
}

.product-maker-row > div:nth-child(2) span,
.product-maker-row > div:nth-child(2) strong {
    display: block;
}

.product-maker-row > div:nth-child(2) span {
    color: #77716b;
    font-size: .64rem;
    line-height: 1.25;
}

.product-maker-row > div:nth-child(2) strong {
    color: #2d2925;
    font-size: .76rem;
    font-weight: 700;
}

.product-category-link {
    color: #5f574f;
    font-size: .68rem;
    text-decoration: underline;
    text-underline-offset: .18rem;
}

.product-detail-page .product-detail-title {
    font-size: clamp(1.75rem, 2.35vw, 2.45rem);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.16;
    margin: 1.25rem 0 .85rem;
}

.product-proof-row {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 1.8rem;
}

.product-detail-page .product-rating-inline {
    border: 0;
    color: #34302c;
    font-size: .75rem;
    margin: 0;
    padding: 0;
    width: auto;
}

.product-detail-page .product-stars {
    color: #22201d;
}

.product-detail-page .product-availability {
    color: #5e584f;
    font-size: .68rem;
}

.product-detail-page .product-availability > span {
    background: #31855a;
}

.product-detail-page .product-price-panel {
    align-items: flex-end;
    border-top: 1px solid #e5e1dc;
    margin-top: 1rem;
    padding-top: 1rem;
}

.product-detail-page .product-current-price {
    font-size: 1.9rem;
    font-weight: 700;
}

.product-detail-page .product-saving-badge {
    background: #e9f4eb;
    border-radius: .35rem;
    color: #287344;
}

.product-detail-page .product-synopsis {
    color: #5a544e;
    font-size: .78rem;
    line-height: 1.65;
    margin: .95rem 0 0;
    -webkit-line-clamp: 2;
}

.product-popularity-note {
    align-items: flex-start;
    background: #faf6f1;
    border-radius: .55rem;
    color: #5c5146;
    display: flex;
    font-size: .7rem;
    gap: .65rem;
    line-height: 1.5;
    margin-top: 1rem;
    padding: .75rem .85rem;
}

.product-popularity-note i {
    color: #bd4f49;
    margin-top: .14rem;
}

.product-popularity-note.is-ready-to-ship {
    background: #edf7f0;
    color: #315f43;
}

.product-popularity-note.is-ready-to-ship i {
    color: #28764a;
}

.product-availability.is-out-of-stock {
    color: #a63c32;
}

.product-availability.is-out-of-stock > span {
    background: #c94b3c;
}

.product-popularity-note.is-out-of-stock {
    background: #fff5f3;
    color: #82352e;
}

.product-popularity-note.is-out-of-stock i {
    color: #b64034;
}

.product-detail-page .product-purchase-form {
    border-bottom: 0;
    margin-top: 1rem !important;
    padding: 0;
}

.product-option-grid {
    display: grid;
    gap: .7rem;
    grid-template-columns: minmax(0, 1fr) 5.75rem;
}

.product-option-label {
    font-size: .7rem;
}

.product-option-label > span {
    color: #8a837b;
    float: right;
    font-size: .6rem;
    font-weight: 500;
}

.product-detail-page .product-option-label .form-control,
.product-detail-page .product-option-label .form-select {
    border: 1px solid #a9a39c;
    border-radius: .45rem;
    font-size: .78rem;
    min-height: 2.85rem;
}

.product-detail-page .product-custom-options {
    border: 1px solid #ded9d3;
    border-radius: .5rem;
    margin-top: .75rem;
    padding: .75rem .85rem;
}

.product-detail-page .product-purchase-actions {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin-top: .85rem;
}

.product-detail-page .product-purchase-actions .btn {
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
    min-height: 3.1rem;
    width: 100%;
}

.product-detail-page .product-purchase-actions .btn-dark {
    background: #22201d;
    border-color: #22201d;
}

.product-detail-page .product-purchase-actions .btn:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.product-detail-page .product-contact-actions {
    border-bottom: 1px solid #e7e2dc;
    gap: .45rem;
    grid-template-columns: 1fr 1fr;
    margin-top: .75rem;
    padding-bottom: .9rem;
}

.product-detail-page .product-contact-actions .btn {
    align-items: center;
    border: 0;
    color: #514b45;
    display: flex;
    font-size: .68rem;
    justify-content: center;
    min-height: 2.2rem;
    padding: .35rem;
    text-decoration: underline;
    text-underline-offset: .18rem;
}

.product-assurance-list {
    display: grid;
    gap: .72rem;
    padding: 1rem 0 .85rem;
}

.product-assurance-list > div {
    align-items: center;
    display: grid;
    gap: .75rem;
    grid-template-columns: 1.75rem 1fr;
}

.product-assurance-list i {
    align-items: center;
    background: #f4f1ec;
    border-radius: 50%;
    color: #65543e;
    display: flex;
    font-size: .8rem;
    height: 1.75rem;
    justify-content: center;
    width: 1.75rem;
}

.product-assurance-list strong,
.product-assurance-list small {
    display: block;
}

.product-assurance-list strong {
    color: #3a3530;
    font-size: .68rem;
}

.product-assurance-list small {
    color: #847d76;
    font-size: .6rem;
    margin-top: .08rem;
}

.product-item-details {
    border-bottom: 1px solid #e5e1dc;
    border-top: 1px solid #e5e1dc;
    padding: .8rem 0;
}

.product-item-details summary {
    align-items: center;
    color: #302c28;
    cursor: pointer;
    display: flex;
    font-size: .75rem;
    font-weight: 700;
    justify-content: space-between;
    list-style: none;
}

.product-item-details summary::-webkit-details-marker {
    display: none;
}

.product-item-details[open] summary i {
    transform: rotate(45deg);
}

.product-item-details .product-facts {
    display: block;
    margin-top: .6rem;
    padding: 0;
}

.product-item-details .product-facts > div {
    font-size: .68rem;
    padding: .4rem 0;
}

.product-item-details .product-facts dd {
    max-width: 65%;
    white-space: normal;
}

@media (max-width: 1199.98px) {
    .product-detail-page .product-main-grid {
        gap: 2rem;
        grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .8fr);
    }

    .product-detail-page .product-detail-gallery {
        height: clamp(31rem, 52vw, 39rem);
    }
}

@media (max-width: 991.98px) {
    .product-detail-page .product-main-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .product-detail-page .product-detail-gallery {
        height: clamp(30rem, 78vw, 44rem);
    }

    .product-detail-page .product-gallery-column {
        position: static;
    }

    .product-detail-page .product-summary {
        margin: 0 auto;
        max-width: 42rem;
    }
}

@media (max-width: 575.98px) {
    .product-detail-page > .container {
        padding-inline: .85rem;
        padding-top: 1rem !important;
    }

    .product-detail-page nav {
        margin-bottom: 1rem !important;
    }

    .product-detail-page .product-detail-gallery {
        display: flex;
        height: auto;
    }

    .product-detail-page .product-gallery-preview {
        aspect-ratio: 1 / 1.08;
        order: 1 !important;
    }

    .product-detail-page .product-gallery-thumblist {
        flex-direction: row;
        max-height: none;
        order: 2 !important;
        overflow-x: auto;
        overflow-y: hidden;
        padding: .1rem 0 .35rem;
    }

    .product-detail-page .product-detail-gallery .product-gallery-thumblist-item {
        flex-basis: 4rem;
        height: 4rem;
    }

    .product-maker-row {
        grid-template-columns: 2.35rem minmax(0, 1fr);
    }

    .product-category-link {
        display: none;
    }

    .product-detail-page .product-detail-title {
        font-size: 1.7rem;
        overflow-wrap: anywhere;
    }

    .product-option-grid {
        grid-template-columns: minmax(0, 1fr) 5rem;
        max-width: 100%;
    }

    .product-proof-row {
        flex-wrap: wrap;
        gap: .45rem 1rem;
    }
}
