body.product-detail-page {
            background: linear-gradient(180deg, #fbf4eb 0%, #fffaf7 42%, #f6ece2 100%);
        }

        .product-detail-main {
            padding-top: 128px;
            padding-bottom: 70px;
        }

        .product-breadcrumb {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 9px;
            margin-bottom: 22px;
            color: #7b6a5a;
            font-size: 14px;
        }

        .product-breadcrumb a {
            color: #3f3228;
            text-decoration: none;
            font-weight: 700;
        }

        .product-breadcrumb a:hover {
            color: #b88658;
        }

        .product-detail-shell {
            background: rgba(255, 255, 255, 0.74);
            border: 1px solid rgba(184, 134, 88, 0.18);
            border-radius: 34px;
            padding: clamp(18px, 3vw, 34px);
            box-shadow: 0 26px 80px rgba(63, 50, 40, 0.10);
            backdrop-filter: blur(12px);
        }

        .product-gallery-card,
        .product-info-card,
        .reviews-card {
            background: rgba(255, 255, 255, 0.88);
            border: 1px solid rgba(184, 134, 88, 0.16);
            border-radius: 28px;
            box-shadow: 0 18px 50px rgba(63, 50, 40, 0.07);
        }

        .product-gallery-card {
            padding: 16px;
        }

        .main-product-img {
            width: 100%;
            height: min(720px, 72vw);
            min-height: 420px;
            object-fit: cover;
            border-radius: 24px;
            background: #f2e8dd;
        }

        .thumb-strip {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 14px;
        }

        .thumb-img {
            width: 82px;
            height: 96px;
            object-fit: cover;
            border-radius: 16px;
            cursor: pointer;
            border: 2px solid transparent;
            background: #f2e8dd;
            transition: border-color .2s ease, transform .2s ease;
        }

        .thumb-img:hover {
            border-color: #b88658;
            transform: translateY(-2px);
        }

        .product-info-card {
            padding: clamp(24px, 4vw, 42px);
            position: sticky;
            top: 104px;
        }

        .category-name {
            color: #b88658;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 2.6px;
            text-transform: uppercase;
            margin-bottom: 12px;
        }

        .product-title {
            font-family: "Playfair Display", Georgia, serif;
            color: #2f261f;
            font-size: clamp(34px, 5vw, 58px);
            line-height: 1.08;
            margin: 0 0 16px;
            font-weight: 600;
        }

        .product-rating-line {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
            margin-bottom: 20px;
            color: #7b6a5a;
        }

        .review-stars,
        .review-item-stars {
            color: #c8944f;
            letter-spacing: 2px;
        }

        .product-price {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: #3f3228;
            font-size: 28px;
            font-weight: 800;
            margin-bottom: 18px;
        }

        .product-description {
            color: #66584d;
            line-height: 1.85;
            margin: 0;
        }

        .product-details-disclosure {
            margin-top: 22px;
            border: 1px solid rgba(184, 134, 88, 0.20);
            border-radius: 18px;
            background: #fffaf4;
            overflow: hidden;
        }

        .product-details-disclosure summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 18px;
            color: #3f3228;
            font-weight: 800;
            cursor: pointer;
            list-style: none;
        }

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

        .product-details-disclosure summary::after {
            content: "+";
            font-size: 22px;
            font-weight: 400;
        }

        .product-details-disclosure[open] summary::after {
            content: "−";
        }

        .product-details-content {
            padding: 0 18px 18px;
        }

        .variant-title {
            display: block;
            color: #3f3228;
            font-weight: 800;
            margin-bottom: 12px;
        }

        .variant-box {
            border: 1px solid rgba(184, 134, 88, 0.22);
            border-radius: 18px;
            padding: 14px 16px;
            cursor: pointer;
            margin-bottom: 10px;
            background: #fffaf4;
            transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
        }

        .variant-box:hover,
        .variant-box:has(input:checked) {
            border-color: #b88658;
            box-shadow: 0 12px 30px rgba(184, 134, 88, 0.14);
            transform: translateY(-1px);
        }

        .variant-box input {
            margin-right: 8px;
            accent-color: #b88658;
        }

        .variant-meta {
            color: #7b6a5a;
            font-size: 13px;
            margin-left: 25px;
        }

        .quantity-input {
            max-width: 120px;
            border-radius: 16px;
            min-height: 48px;
        }

        .product-action-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-top: 24px;
        }

        .btn-cart {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 54px;
            border: 0;
            border-radius: 999px;
            background: #3f3228;
            color: #fffaf4;
            font-weight: 800;
            text-decoration: none;
            padding: 13px 24px;
            transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
        }

        .btn-cart:hover {
            background: #2f261f;
            color: #fffaf4;
            transform: translateY(-1px);
            box-shadow: 0 12px 30px rgba(63, 50, 40, 0.18);
        }

        .btn-shopier {
            background: transparent;
            color: #765333;
            border: 1px solid rgba(184, 134, 88, .55);
        }

        .btn-shopier:hover {
            background: #f4e7d8;
            color: #3f3228;
        }

        .mobile-purchase-bar {
            display: none;
        }

        .stock-notify-box {
            margin-top: 22px;
            padding: 22px;
            border: 1px solid rgba(184, 134, 88, .26);
            border-radius: 22px;
            background: linear-gradient(145deg, #fffaf4, #f6e9dc);
        }

        .stock-notify-box h3 {
            margin: 0 0 7px;
            color: #3f3228;
            font-family: "Playfair Display", Georgia, serif;
            font-size: 23px;
        }

        .stock-notify-box p {
            margin: 0 0 16px;
            color: #756357;
            font-size: 14px;
            line-height: 1.65;
        }

        .stock-notify-fields {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto;
            gap: 10px;
        }

        .stock-notify-fields .form-control,
        .stock-notify-fields .form-select {
            min-width: 0;
            min-height: 50px;
            border-color: #dfc8b3;
            border-radius: 14px;
            background-color: #fff;
        }

        .stock-notify-button {
            min-height: 50px;
            padding: 0 20px;
            border: 0;
            border-radius: 14px;
            background: #b88658;
            color: #fff;
            font-weight: 800;
            white-space: nowrap;
        }

        @media (max-width: 767px) {
            .stock-notify-fields {
                grid-template-columns: 1fr;
            }
        }

        .product-trust-box {
            display: grid;
            gap: 10px;
            margin-top: 22px;
            padding: 18px;
            border-radius: 22px;
            background: linear-gradient(135deg, rgba(63, 50, 40, .06), rgba(184, 134, 88, .12));
            color: #5e4f44;
            font-size: 14px;
        }

        .product-trust-box i {
            color: #b88658;
            margin-right: 8px;
        }

        .product-delivery-note {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0 0 18px;
            padding: 11px 14px;
            border-radius: 14px;
            background: #f7efe5;
            color: #66584d;
            font-size: 13px;
            font-weight: 700;
        }

        .product-delivery-note i {
            color: #b88658;
            font-size: 17px;
        }

        .unrated-product {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 6px 10px;
            border-radius: 999px;
            background: #f5eadc;
            color: #765b43;
            font-size: 13px;
            font-weight: 700;
        }

        .reviews-section {
            margin-top: 34px;
        }

        .reviews-card {
            padding: clamp(22px, 3vw, 32px);
        }

        .review-summary {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 24px;
        }

        .review-score {
            font-size: 38px;
            font-weight: 800;
            color: #3f3228;
        }

        .rating-input {
            display: flex;
            flex-direction: row-reverse;
            justify-content: flex-end;
            gap: 4px;
        }

        .rating-input input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .rating-input label {
            cursor: pointer;
            color: #d6c7b7;
            font-size: 30px;
            line-height: 1;
        }

        .rating-input label:hover,
        .rating-input label:hover ~ label,
        .rating-input input:checked ~ label {
            color: #c8944f;
        }

        .review-item {
            padding: 22px 0;
            border-bottom: 1px solid rgba(184, 134, 88, 0.18);
        }

        .review-item:last-child {
            border-bottom: 0;
        }

        .review-comment {
            margin: 10px 0 0;
            color: #5e4f44;
            line-height: 1.75;
            overflow-wrap: anywhere;
        }

        @media (max-width: 991px) {
            .product-info-card {
                position: static;
            }

            .main-product-img {
                height: min(112vw, 520px);
                min-height: 320px;
            }
        }

        @media (max-width: 575px) {
            body.product-detail-page {
                padding-bottom: 78px;
            }

            .product-detail-main {
                padding-top: 104px;
            }

            .product-detail-shell {
                border-radius: 24px;
            }

            .product-action-row {
                grid-template-columns: 1fr;
            }

            .product-title {
                font-size: 31px;
                line-height: 1.12;
            }

            .product-info-card {
                padding: 22px 18px;
            }

            .mobile-purchase-bar {
                position: fixed;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 1060;
                display: grid;
                grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
                align-items: center;
                gap: 12px;
                padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
                background: rgba(255, 250, 244, .97);
                border-top: 1px solid rgba(184, 134, 88, .28);
                box-shadow: 0 -10px 30px rgba(63, 50, 40, .14);
                backdrop-filter: blur(12px);
            }

            .mobile-purchase-price {
                color: #3f3228;
                font-size: 18px;
                font-weight: 900;
                white-space: nowrap;
            }

            .mobile-purchase-bar .btn-cart {
                min-height: 48px;
                padding: 10px 14px;
                font-size: 14px;
            }

            .thumb-img {
                width: 70px;
                height: 82px;
            }
        }
