/* DanCamera custom product detail template. */

body.dancamera-custom-product .whb-header,
body.dancamera-custom-product .wd-page-title,
body.dancamera-custom-product .page-title,
body.dancamera-custom-product .woocommerce-breadcrumb,
body.dancamera-custom-product .wd-breadcrumbs,
body.dancamera-custom-product .wd-tools-element.wd-header-search,
body.dancamera-custom-product .wd-toolbar,
body.dancamera-custom-product .whb-sticky-shadow {
    display: none !important;
}

body.dancamera-global-chrome .whb-header,
body.dancamera-global-chrome .wd-toolbar,
body.dancamera-global-chrome .whb-sticky-shadow {
    display: none !important;
}

body.dancamera-custom-product .wd-page-wrapper {
    background: #f8fafc;
}

body.dancamera-global-chrome .main-page-wrapper,
body.dancamera-global-chrome .wd-content-layout,
body.dancamera-global-chrome .site-content {
    padding-top: 0 !important;
}

body.dancamera-custom-product .main-page-wrapper,
body.dancamera-custom-product .wd-content-layout,
body.dancamera-custom-product .site-content {
    padding-top: 0 !important;
}

body.dancamera-custom-product .dc-product-page {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    font-family: Roboto, Arial, sans-serif;
}

body.dancamera-custom-product .dc-product-page *,
body.dancamera-custom-product .dc-product-page *::before,
body.dancamera-custom-product .dc-product-page *::after {
    box-sizing: border-box;
}

body.dancamera-custom-product .dc-product-page a {
    text-decoration: none;
}

body.dancamera-custom-product .dc-product-page img {
    max-width: 100%;
}

.dc-product-page { background-color: #f8fafc; color: #334155; }

        .price .dc-variable-lowest-price {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 4px 7px;
        }

        .product-grid-item .price,
        .product-grid-item .price > .amount,
        .product-grid-item .price ins,
        .product-grid-item .price ins .amount,
        .product-grid-item .price .dc-variable-lowest-price,
        .product-grid-item .price .dc-variable-lowest-price ins,
        .product-grid-item .price .dc-variable-lowest-price ins .amount {
            color: #f45113 !important;
        }

        .product-grid-item .price ins {
            text-decoration: none;
        }

        .product-grid-item .price del,
        .product-grid-item .price del .amount,
        .product-grid-item .price .dc-variable-lowest-price del,
        .product-grid-item .price .dc-variable-lowest-price del .amount {
            color: #9ca3af !important;
        }

        .price .dc-variable-lowest-price del {
            color: #9ca3af;
            font-size: .9em;
            font-weight: 500;
        }

        .price .dc-variable-lowest-price ins {
            color: #f45113;
            font-weight: 800;
            text-decoration: none;
        }

        .dc-product-page *,
        .dc-product-page *::before,
        .dc-product-page *::after {
            box-sizing: border-box;
        }

        .dc-product-page.dc-global-header-shell,
        .dc-product-page.dc-global-store-shell {
            width: 100%;
            max-width: 100%;
            margin: 0;
            font-family: Roboto, Arial, sans-serif;
            color: #334155;
            background: #f8fafc;
        }

        .dc-product-page.dc-global-header-shell {
            position: relative;
            z-index: 100;
        }

        .dc-product-page .dc-site-header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: #fff;
            box-shadow: 0 4px 18px rgba(15, 23, 42, .08);
        }

        body.admin-bar .dc-product-page .dc-site-header {
            top: 32px;
        }

        .dc-product-page .dc-header-container {
            width: 100%;
            max-width: 1280px;
            margin: 0 auto;
            padding-right: 32px;
            padding-left: 32px;
        }

        .dc-product-page .dc-header-top {
            background: #0f172a;
            color: #cbd5e1;
        }

        .dc-product-page .dc-header-top strong {
            color: #fff;
        }

        .dc-product-page .dc-header-top-inner,
        .dc-product-page .dc-header-top-left,
        .dc-product-page .dc-header-top-links {
            display: flex;
            align-items: center;
        }

        .dc-product-page .dc-header-top-inner {
            justify-content: space-between;
            gap: 18px;
        }

        .dc-product-page .dc-header-top-left,
        .dc-product-page .dc-header-top-links {
            gap: 20px;
        }

        .dc-product-page .dc-header-top a {
            color: #cbd5e1;
            transition: color .2s ease;
        }

        .dc-product-page .dc-header-top a:hover {
            color: #fff;
        }

        .dc-product-page .dc-header-main {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .dc-product-page .dc-header-logo {
            display: flex;
            flex: 0 0 auto;
            align-items: center;
        }

        .dc-product-page .dc-header-logo img {
            display: block;
            width: auto;
            max-width: 190px;
            height: 48px;
            object-fit: contain;
        }

        .dc-product-page .dc-header-search {
            flex: 1 1 auto;
            min-width: 280px;
            max-width: 672px;
        }

        .dc-product-page .dc-header-actions {
            display: flex;
            flex: 0 0 auto;
            align-items: center;
            gap: 24px;
        }

        .dc-product-page .dc-header-support {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .dc-product-page .dc-header-support-icon {
            display: flex;
            width: 40px;
            height: 40px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #e7f0ff;
            color: #0b5ed7;
            font-size: 18px;
        }

        .dc-product-page .dc-header-support p,
        .dc-product-page .dc-header-cart small {
            display: block;
            margin: 0;
            color: #64748b;
            font-size: 12px;
            line-height: 1.2;
            text-transform: none;
        }

        .dc-product-page .dc-header-support strong,
        .dc-product-page .dc-header-cart strong {
            display: block;
            color: #1e293b;
            font-size: 14px;
            font-weight: 800;
            line-height: 1.3;
        }

        .dc-product-page .dc-header-cart {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #334155;
        }

        .dc-product-page .dc-header-cart-icon {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #334155;
            font-size: 24px;
            line-height: 1;
        }

        .dc-product-page .dc-header-cart-icon span {
            position: absolute;
            top: -8px;
            right: -9px;
            display: flex;
            min-width: 16px;
            height: 16px;
            align-items: center;
            justify-content: center;
            padding: 0 4px;
            border-radius: 999px;
            background: #dc2626;
            color: #fff;
            font-size: 10px;
            font-weight: 800;
            line-height: 16px;
        }

        .dc-product-page .dc-header-cart strong {
            color: #0b5ed7;
        }

        .dc-product-page .dc-header-account {
            color: #334155;
            font-size: 24px;
            line-height: 1;
        }

        .dc-product-page .dc-header-cart:hover,
        .dc-product-page .dc-header-account:hover {
            color: #0b5ed7;
        }

        .dc-product-page .dc-header-nav {
            border-top: 1px solid #f1f5f9;
            background: #fff;
        }

        .dc-product-page.dc-global-store-shell {
            padding: 0 16px 28px;
        }

        .dc-product-page.dc-global-store-shell .dc-store-system-section {
            max-width: 1280px;
            margin-right: auto;
            margin-left: auto;
        }

        @media (max-width: 1023px) {
            .dc-product-page .dc-header-container {
                padding-right: 16px;
                padding-left: 16px;
            }

            .dc-product-page .dc-header-open-hours,
            .dc-product-page .dc-header-top-links,
            .dc-product-page .dc-header-search,
            .dc-product-page .dc-header-support,
            .dc-product-page .dc-header-account,
            .dc-product-page .dc-header-nav {
                display: none !important;
            }

            .dc-product-page .dc-header-main {
                gap: 16px;
                padding-top: 14px !important;
                padding-bottom: 14px !important;
            }

            .dc-product-page .dc-header-actions {
                gap: 16px;
                margin-left: auto;
            }
        }

        @media (max-width: 782px) {
            body.admin-bar .dc-product-page .dc-site-header {
                top: 46px;
            }
        }

        @media (max-width: 639px) {
            .dc-product-page .dc-header-logo img {
                max-width: 160px;
                height: 40px;
            }

            .dc-product-page .dc-header-cart-text {
                display: none;
            }
        }

        .dc-product-page .hide-scrollbar::-webkit-scrollbar { display: none; }
        .dc-product-page .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        .dc-product-page header ul {
            list-style: none;
            margin: 0;
            padding-left: 0;
        }

        .dc-product-page header li::marker {
            content: "";
        }

        .dc-product-page .dc-primary-menu {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 18px;
            min-height: 46px;
            color: #334155;
            font-size: 14px;
            font-weight: 500;
        }

        .dc-product-page .dc-primary-menu > li {
            position: relative;
            flex: 0 0 auto;
            margin: 0 !important;
        }

        .dc-product-page .dc-primary-menu > li > a {
            display: flex;
            align-items: center;
            gap: 7px;
            min-height: 46px;
            color: #334155;
            white-space: nowrap;
            transition: color .2s ease;
        }

        .dc-product-page .dc-primary-menu a:hover,
        .dc-product-page .dc-primary-menu .current-menu-item > a,
        .dc-product-page .dc-primary-menu .current-menu-ancestor > a {
            color: #0b5ed7;
        }

        .dc-product-page .dc-primary-menu .menu-item-has-children > a::after {
            width: 7px;
            height: 7px;
            margin-top: -4px;
            border-right: 1.5px solid currentColor;
            border-bottom: 1.5px solid currentColor;
            content: "";
            transform: rotate(45deg);
        }

        .dc-product-page .dc-primary-menu .sub-menu {
            position: absolute;
            top: calc(100% - 1px);
            left: -14px;
            z-index: 80;
            min-width: 230px;
            padding: 8px;
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            background: #fff;
            box-shadow: 0 14px 30px rgba(15, 23, 42, .14);
            opacity: 0;
            visibility: hidden;
            transform: translateY(8px);
            transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
        }

        .dc-product-page .dc-primary-menu .sub-menu a {
            display: block;
            padding: 9px 11px;
            border-radius: 4px;
            color: #334155;
            line-height: 1.35;
            white-space: nowrap;
            transition: color .2s ease, background-color .2s ease;
        }

        .dc-product-page .dc-primary-menu .sub-menu a:hover {
            background: #eff6ff;
            color: #0b5ed7;
        }

        .dc-product-page .dc-primary-menu li:hover > .sub-menu,
        .dc-product-page .dc-primary-menu li:focus-within > .sub-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .dc-product-page .dc-primary-menu .sub-menu .sub-menu {
            top: -9px;
            left: calc(100% + 8px);
        }

        .dc-product-page header .fa-cart-shopping,
        .dc-product-page header .fa-regular.fa-user {
            line-height: 1;
        }

        .dc-product-page header input[type="text"] + button {
            min-width: 96px;
            white-space: nowrap;
        }

        .dc-product-page .dc-header-top {
            padding-top: 6px !important;
            padding-bottom: 6px !important;
            font-size: 13px;
            line-height: 19.5px;
        }

        .dc-product-page .dc-header-main {
            padding-top: 20px !important;
            padding-bottom: 20px !important;
        }

        .dc-product-page .dc-header-main > a img {
            width: auto;
            height: 48px !important;
        }

        .dc-product-page .dc-header-actions p {
            margin: 0 !important;
        }

        .dc-product-page .dc-header-search {
            position: relative !important;
            height: 44px;
        }

        .dc-product-page .dc-header-search-icon {
            position: absolute !important;
            top: 0;
            bottom: 0;
            left: 0;
            z-index: 2;
            display: flex;
            align-items: center;
            padding-left: 12px;
            pointer-events: none;
        }

        .dc-product-page .dc-header-search-icon .fa-magnifying-glass {
            color: #94a3b8;
            animation: none !important;
        }

        .dc-product-page .dc-header-search-input {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            height: 44px !important;
            padding: 0 128px 0 40px !important;
            border: 2px solid rgba(11, 94, 215, .2) !important;
            border-radius: 9999px !important;
            background: #f8fafc !important;
            color: #334155 !important;
            font-size: 14px !important;
            line-height: 1.25 !important;
            box-sizing: border-box !important;
            box-shadow: none !important;
            appearance: none !important;
            -webkit-appearance: none !important;
        }

        .dc-product-page .dc-header-search-input:focus {
            border-color: #0b5ed7 !important;
            background: #fff !important;
            outline: 0 !important;
        }

        .dc-product-page .dc-header-search-button {
            position: absolute !important;
            top: 4px !important;
            right: 4px !important;
            bottom: 4px !important;
            z-index: 2;
            display: flex !important;
            align-items: center;
            justify-content: center;
            width: auto !important;
            min-width: 96px !important;
            height: auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 20px !important;
            border: 0 !important;
            border-radius: 9999px !important;
            background: #0b5ed7 !important;
            color: #fff !important;
            font-size: 14px !important;
            font-weight: 500 !important;
            line-height: 1 !important;
            text-transform: none !important;
            box-shadow: 0 1px 2px rgba(15, 23, 42, .08) !important;
        }

        .dc-product-page .dc-header-search-button:hover {
            background: #004d99 !important;
            color: #fff !important;
        }
        
        /* Box Flash Sale Gradient */
        .dc-product-page .flash-sale-bg {
            background: linear-gradient(90deg, #b91c1c 0%, #dc2626 55%, #ef4444 100%);
            isolation: isolate;
        }

        .dc-product-page .flash-sale-stripes {
            z-index: 0;
            background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, .08) 0 10px, rgba(255, 255, 255, 0) 10px 26px);
            background-size: 44px 44px;
            animation: flash-stripe-slide 4.2s linear infinite;
            pointer-events: none;
        }

        @keyframes flash-stripe-slide {
            from { background-position: 0 0; }
            to { background-position: 64px 0; }
        }
        
        /* Hiệu ứng gạch chéo cho giá cũ */
        .dc-product-page .price-strike {
            text-decoration-color: #94a3b8;
            text-decoration-thickness: 1px;
        }

        /* Dashed border cho quà tặng */
        .dc-product-page .gift-box {
            background-image: repeating-linear-gradient(0deg, #dc2626, #dc2626 10px, transparent 10px, transparent 20px, #dc2626 20px), repeating-linear-gradient(90deg, #dc2626, #dc2626 10px, transparent 10px, transparent 20px, #dc2626 20px), repeating-linear-gradient(180deg, #dc2626, #dc2626 10px, transparent 10px, transparent 20px, #dc2626 20px), repeating-linear-gradient(270deg, #dc2626, #dc2626 10px, transparent 10px, transparent 20px, #dc2626 20px);
            background-size: 2px 100%, 100% 2px, 2px 100%, 100% 2px;
            background-position: 0 0, 0 0, 100% 0, 0 100%;
            background-repeat: no-repeat;
            border-radius: 12px;
        }

        .dc-product-page .dc-gift-promotion {
            position: relative;
            margin-top: 12px;
            padding: 20px;
            border: 2px dashed #fca5a5 !important;
            border-radius: 12px;
            background: #fef2f2 !important;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
        }

        .dc-product-page .dc-gift-promotion-title {
            position: absolute;
            top: -14px;
            left: 20px;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 4px 16px;
            border: 1px solid #fca5a5 !important;
            border-radius: 9999px;
            background: #fff !important;
            color: #dc2626 !important;
            font-size: 14px;
            font-weight: 700;
            line-height: 20px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
            white-space: nowrap;
        }

        .dc-product-page .dc-gift-promotion-title .fa-gift,
        .dc-product-page .dc-gift-promotion-list .text-danger {
            color: #dc2626 !important;
        }

        .dc-product-page .dc-gift-promotion-list {
            margin: 12px 0 0 !important;
            padding: 0 !important;
            color: #334155;
            font-size: 14px;
            line-height: 20px;
            list-style: none !important;
        }

        .dc-product-page .dc-gift-promotion-list > li {
            margin: 0 !important;
            padding: 0;
            list-style: none !important;
        }

        .dc-product-page .dc-gift-promotion-list > li + li {
            margin-top: 12px !important;
        }

        .dc-product-page .dc-gift-promotion-list .fa-circle {
            color: #dc2626 !important;
        }

        .dc-product-page .dc-gift-promotion-list ul {
            margin: 0 !important;
            padding: 0 0 0 28px !important;
            color: #475569;
            list-style: disc !important;
        }

        .dc-product-page .dc-gift-promotion-list ul > li {
            margin: 0 !important;
            padding: 0;
            line-height: 20px;
            list-style: disc !important;
        }

        .dc-product-page .dc-gift-promotion-list ul > li + li {
            margin-top: 4px !important;
        }

        .dc-product-page .dc-gift-promotion-content {
            margin-top: 12px;
            color: #334155;
            font-size: 14px;
            line-height: 20px;
        }

        .dc-product-page .dc-gift-promotion-content > *:first-child {
            margin-top: 0 !important;
        }

        .dc-product-page .dc-gift-promotion-content > *:last-child {
            margin-bottom: 0 !important;
        }

        .dc-product-page .dc-gift-promotion-content a {
            color: #0284c7;
            font-weight: 600;
            text-decoration: none;
        }

        .dc-product-page .dc-gift-promotion-content a:hover {
            text-decoration: underline;
        }

        .dc-product-page .dc-gift-promotion-content > ul:not(.dc-gift-promotion-list) {
            margin: 0 !important;
            padding: 0 !important;
            list-style: none !important;
        }

        .dc-product-page .dc-gift-promotion-content > ul:not(.dc-gift-promotion-list) > li {
            position: relative;
            margin: 0 !important;
            padding-left: 18px;
            list-style: none !important;
        }

        .dc-product-page .dc-gift-promotion-content > ul:not(.dc-gift-promotion-list) > li + li {
            margin-top: 12px !important;
        }

        .dc-product-page .dc-gift-promotion-content > ul:not(.dc-gift-promotion-list) > li::before {
            content: "";
            position: absolute;
            top: 8px;
            left: 0;
            width: 6px;
            height: 6px;
            border-radius: 999px;
            background: #dc2626;
        }

        .dc-product-page .dc-gift-promotion-content ul:not(.dc-gift-promotion-list) ul,
        .dc-product-page .dc-gift-promotion-content ol {
            margin: 6px 0 0 !important;
            padding-left: 24px !important;
        }

        .dc-product-page .dc-policy-column {
            gap: 24px;
        }

        .dc-product-page .dc-policy-card {
            position: relative;
            overflow: hidden;
            border: 1px solid #dbeafe !important;
            border-radius: 12px;
            background: #f0f9ff !important;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
        }

        .dc-product-page .dc-policy-address {
            padding: 20px;
            border-bottom: 1px solid rgba(191, 219, 254, .6) !important;
        }

        .dc-product-page .dc-policy-heading {
            display: flex;
            align-items: center;
            gap: 12px;
            margin: 0 0 16px !important;
        }

        .dc-product-page .dc-policy-heading .fa-location-dot {
            flex: 0 0 auto;
            color: #ef4444 !important;
            font-size: 30px;
            line-height: 36px;
        }

        .dc-product-page .dc-policy-heading h3 {
            margin: 0 !important;
            color: #dc2626 !important;
            font-size: 18px;
            font-weight: 700;
            line-height: 28px;
            letter-spacing: .025em;
        }

        .dc-product-page .dc-store-list {
            margin: 0 !important;
            padding: 0 !important;
            color: #334155;
            font-size: 13px;
            line-height: 20px;
            list-style: none !important;
        }

        .dc-product-page .dc-store-list > li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin: 0 !important;
            padding: 0;
            list-style: none !important;
        }

        .dc-product-page .dc-store-list > li + li {
            margin-top: 16px !important;
        }

        .dc-product-page .dc-store-list .fa-layer-group {
            flex: 0 0 auto;
            margin-top: 4px;
            color: #ef4444 !important;
        }

        .dc-product-page .dc-store-list strong.block {
            color: #0f172a;
        }

        .dc-product-page .dc-store-list .text-danger {
            color: #dc2626 !important;
        }

        .dc-product-page .dc-policy-support {
            padding: 20px;
        }

        .dc-product-page .dc-policy-item {
            display: flex;
            align-items: flex-start;
            gap: 16px;
            margin: 0 !important;
        }

        .dc-product-page .dc-policy-item + .dc-policy-item {
            margin-top: 24px !important;
        }

        .dc-product-page .dc-policy-icon {
            display: flex;
            flex: 0 0 40px;
            align-items: center;
            justify-content: center;
            width: 40px !important;
            height: 40px !important;
            border-radius: 9999px;
            background: #dc2626 !important;
            color: #fff !important;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
        }

        .dc-product-page .dc-policy-icon i {
            color: #fff !important;
            font-size: 18px;
            line-height: 28px;
        }

        .dc-product-page .dc-policy-item h4 {
            margin: 0 0 2px !important;
            color: #dc2626 !important;
            font-size: 14px;
            font-weight: 700;
            line-height: 20px;
        }

        .dc-product-page .dc-policy-item p {
            margin: 0 !important;
            color: #475569;
            font-size: 12px;
            line-height: 1.625;
        }

        .dc-product-page .product-thumb {
            border: 1px solid #e2e8f0;
            overflow: hidden;
            padding: 0 !important;
        }

        .dc-product-page .product-thumb > img,
        .dc-product-page .product-thumb .dc-product-video-thumb,
        .dc-product-page .product-thumb .dc-product-video-thumb img {
            width: 100%;
            height: 100%;
            border-radius: 10px;
        }

        .dc-product-page .product-thumb > img,
        .dc-product-page .product-thumb .dc-product-video-thumb img {
            object-fit: cover !important;
        }

        .dc-product-page .dc-main-product-media {
            position: relative;
            overflow: hidden;
            border-radius: 12px;
            background: #020617;
        }

        .dc-product-page .dc-main-product-media img {
            background: #fff;
        }

        .dc-product-page .dc-main-product-video {
            width: 100%;
            height: 100%;
            border: 0;
            border-radius: 12px;
            background: #020617;
        }

        .dc-product-page .dc-main-product-video-mask {
            position: absolute;
            left: 0;
            right: 0;
            z-index: 3;
            pointer-events: none;
        }

        .dc-product-page .dc-main-product-video-mask-top {
            top: 0;
            height: clamp(58px, 14%, 86px);
            border-radius: 12px 12px 0 0;
            background: linear-gradient(180deg, #020617 0%, #020617 78%, rgba(2, 6, 23, 0) 100%);
        }

        .dc-product-page .dc-main-product-video-mask-bottom {
            bottom: 0;
            height: clamp(36px, 9%, 58px);
            border-radius: 0 0 12px 12px;
            background: linear-gradient(0deg, #020617 0%, #020617 56%, rgba(2, 6, 23, 0) 100%);
        }

        .dc-product-page .dc-main-product-video[hidden],
        .dc-product-page #mainProductImage[hidden] {
            display: none !important;
        }

        .dc-product-page .dc-main-product-video[hidden] ~ .dc-main-product-video-mask {
            display: none !important;
        }

        .dc-product-page .product-thumb.is-active {
            border-color: #0b5ed7;
            border-width: 2px;
        }

        .dc-product-page .dc-product-thumbs {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: calc((100% - 32px) / 5);
            gap: 8px;
            overflow-x: auto;
            overscroll-behavior-inline: contain;
            padding: 2px 0 6px;
            scroll-snap-type: x mandatory;
        }

        .dc-product-page .dc-product-thumbs .product-thumb {
            min-width: 0;
            scroll-snap-align: start;
        }

        .dc-product-page .dc-product-video-thumb {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
            overflow: hidden;
            border-radius: 8px;
            background: #020617;
        }

        .dc-product-page .dc-product-video-thumb::after {
            position: absolute;
            inset: 0;
            content: "";
            background: linear-gradient(180deg, rgba(15, 23, 42, .05), rgba(15, 23, 42, .32));
        }

        .dc-product-page .dc-product-video-thumb-play {
            position: absolute;
            top: 50%;
            left: 50%;
            z-index: 2;
            display: flex;
            width: 30px;
            height: 30px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #f45113;
            color: #fff;
            font-size: 12px;
            transform: translate(-50%, -50%);
            box-shadow: 0 8px 18px rgba(15, 23, 42, .24);
        }

        .dc-product-page .dc-gallery-promises {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 6px;
            width: 100%;
            max-width: 100%;
            margin: 0;
            overflow: visible;
            padding: 2px 0 4px;
        }

        .dc-product-page .dc-gallery-promise {
            min-width: 0;
            min-height: 52px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2px;
            padding: 5px 4px;
            color: #fff;
            background: #f45113;
            border: 2px solid #111;
            border-radius: 10px;
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
            text-align: center;
        }

        .dc-product-page .dc-gallery-promise-icon {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 17px;
            line-height: 1;
        }

        .dc-product-page .dc-gallery-promise-copy {
            min-width: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex: 1 1 auto;
            text-align: center;
            line-height: 1.08;
            white-space: normal;
        }

        .dc-product-page .dc-gallery-promise-copy strong {
            display: block;
            color: #fff;
            font-size: 8.5px;
            font-style: italic;
            font-weight: 900;
            letter-spacing: 0;
            line-height: 10px;
        }

        .dc-product-page .dc-gallery-promise-copy small {
            display: block;
            margin-top: 1px;
            color: #fff;
            font-size: 5.8px;
            font-style: italic;
            font-weight: 700;
            letter-spacing: 0;
            line-height: 7px;
        }

        .dc-product-page .dc-price,
        .dc-product-page .dc-price .woocommerce-Price-amount,
        .dc-product-page .dc-price ins {
            color: inherit;
            text-decoration: none;
        }

        .dc-product-page .dc-price {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 0 .35rem;
            line-height: 1.08;
        }

        .dc-product-page .dc-price-prefix {
            font-size: 1rem;
            font-weight: 700;
            opacity: .9;
        }

        .dc-product-page .dc-price del {
            display: none;
        }

        .dc-product-page .dc-short-description p:last-child,
        .dc-product-page .dc-product-description p:last-child {
            margin-bottom: 0;
        }

        .dc-product-page .dc-product-description img {
            border-radius: 12px;
            margin: 18px 0;
        }

        .dc-product-page .dc-store-system-section {
            margin-top: 32px;
            padding: 28px 0 8px;
            background: transparent;
        }

        .dc-product-page .dc-store-system-heading {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-bottom: 18px;
        }

        .dc-product-page .dc-store-system-heading h2 {
            margin: 0;
            color: #1e293b;
            font-size: 21px;
            font-weight: 500;
            line-height: 1.25;
            letter-spacing: 0;
        }

        .dc-product-page .dc-store-system-heading h2 span {
            color: #f45113;
            font-size: 30px;
            font-weight: 400;
        }

        .dc-product-page .dc-store-system-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 18px;
        }

        .dc-product-page .dc-store-card {
            overflow: hidden;
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            background: #fff;
            box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
        }

        .dc-product-page .dc-store-card-image {
            aspect-ratio: 1 / 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            background: #f8fafc;
            border-bottom: 1px solid #f1f5f9;
        }

        .dc-product-page .dc-store-card-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
        }

        .dc-product-page .dc-store-card-body {
            padding: 14px 16px 16px;
        }

        .dc-product-page .dc-store-card-body h3 {
            margin: 0 0 6px;
            color: #f45113;
            font-size: 15px;
            font-weight: 800;
            line-height: 1.35;
        }

        .dc-product-page .dc-store-card-body p {
            margin: 0;
            color: #334155;
            font-size: 13px;
            line-height: 1.55;
        }

        .dc-product-page .dc-store-card-body p span {
            display: block;
            color: #64748b;
            font-size: 12px;
        }

        .dc-product-page .dc-store-card-body p a {
            color: #0b5ed7;
            font-weight: 700;
            white-space: nowrap;
        }

        .dc-product-page .dc-store-card-phone {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 12px;
            color: #0b7edc;
            font-size: 13px;
            font-weight: 800;
            line-height: 1.3;
        }

        .dc-product-page .dc-store-card-phone-icon {
            width: 22px;
            height: 22px;
            flex: 0 0 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #e0f2fe;
            color: #0b7edc;
        }

        .dc-product-page .dc-store-card-phone-icon svg {
            width: 13px;
            height: 13px;
            display: block;
            fill: currentColor;
        }

        .dc-product-page .dc-review-panel {
            overflow: hidden;
            padding: 0;
        }

        .dc-product-page .dc-review-panel-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 14px;
            padding: 20px 22px 16px;
            border-bottom: 1px solid #f1f5f9;
            background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
        }

        .dc-product-page .dc-review-eyebrow {
            margin: 0 0 3px;
            color: #f45113;
            font-size: 12px;
            font-weight: 900;
            letter-spacing: .02em;
            text-transform: uppercase;
        }

        .dc-product-page .dc-review-panel-head h2 {
            margin: 0;
            color: #0f172a;
            font-size: 20px;
            font-weight: 900;
            line-height: 1.25;
        }

        .dc-product-page .dc-review-panel-head > span {
            flex: 0 0 auto;
            border-radius: 999px;
            background: #ffedd5;
            color: #c2410c;
            padding: 5px 10px;
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }

        .dc-product-page .dc-review-summary {
            display: grid;
            grid-template-columns: 118px minmax(0, 1fr);
            gap: 18px;
            padding: 18px 22px;
            border-bottom: 1px solid #f1f5f9;
        }

        .dc-product-page .dc-review-score {
            display: flex;
            min-height: 124px;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border-radius: 14px;
            background: #0f172a;
            color: #fff;
        }

        .dc-product-page .dc-review-score strong {
            font-size: 42px;
            font-weight: 950;
            line-height: 1;
        }

        .dc-product-page .dc-review-score small {
            margin-top: 4px;
            color: #cbd5e1;
            font-size: 11px;
            font-weight: 700;
        }

        .dc-product-page .dc-review-stars {
            display: inline-flex;
            align-items: center;
            gap: 2px;
            color: #f59e0b;
            line-height: 1;
        }

        .dc-product-page .dc-review-stars .is-muted {
            color: #cbd5e1;
        }

        .dc-product-page .dc-review-bars {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 8px;
            min-width: 0;
        }

        .dc-product-page .dc-review-bar-row {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr) 24px;
            align-items: center;
            gap: 8px;
            color: #64748b;
            font-size: 12px;
            font-weight: 800;
        }

        .dc-product-page .dc-review-bar-row span i {
            color: #f59e0b;
            font-size: 10px;
        }

        .dc-product-page .dc-review-bar-row > div {
            height: 7px;
            overflow: hidden;
            border-radius: 999px;
            background: #e2e8f0;
        }

        .dc-product-page .dc-review-bar-row b {
            display: block;
            height: 100%;
            border-radius: inherit;
            background: #f45113;
        }

        .dc-product-page .dc-review-bar-row em {
            color: #94a3b8;
            font-style: normal;
            text-align: right;
        }

        .dc-product-page .dc-review-form-card {
            margin: 18px 22px 0;
            padding: 16px;
            border: 1px solid #fed7aa;
            border-radius: 14px;
            background: #fff7ed;
        }

        .dc-product-page .dc-review-form-card h3,
        .dc-product-page .dc-review-list h3 {
            margin: 0 0 12px;
            color: #0f172a;
            font-size: 16px;
            font-weight: 900;
        }

        .dc-product-page .dc-review-form {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .dc-product-page .dc-review-rating-field {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .dc-product-page .dc-review-rating-field > span,
        .dc-product-page .dc-review-form label > span {
            color: #475569;
            font-size: 13px;
            font-weight: 800;
        }

        .dc-product-page .dc-review-stars-input {
            display: inline-flex;
            flex-direction: row-reverse;
            justify-content: flex-end;
            gap: 2px;
        }

        .dc-product-page .dc-review-stars-input input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .dc-product-page .dc-review-stars-input label {
            cursor: pointer;
            color: #cbd5e1;
            font-size: 22px;
            line-height: 1;
            transition: color .16s ease, transform .16s ease;
        }

        .dc-product-page .dc-review-stars-input label i {
            color: inherit !important;
        }

        .dc-product-page .dc-review-stars-input label:hover,
        .dc-product-page .dc-review-stars-input label:hover ~ label,
        .dc-product-page .dc-review-stars-input input:checked + label,
        .dc-product-page .dc-review-stars-input input:checked + label ~ label,
        .dc-product-page .dc-review-stars-input input:checked ~ label {
            color: #f59e0b !important;
        }

        .dc-product-page .dc-review-stars-input label.is-selected,
        .dc-product-page .dc-review-stars-input label.is-selected i {
            color: #f59e0b !important;
        }

        .dc-product-page .dc-review-stars-input label:hover {
            transform: translateY(-1px);
        }

        .dc-product-page .dc-review-form-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }

        .dc-product-page .dc-review-form label,
        .dc-product-page .dc-review-comment-field {
            display: flex;
            min-width: 0;
            flex-direction: column;
            gap: 6px;
        }

        .dc-product-page .dc-review-form input[type="text"],
        .dc-product-page .dc-review-form input[type="email"],
        .dc-product-page .dc-review-form textarea {
            width: 100%;
            border: 1px solid #fdba74;
            border-radius: 10px;
            background: #fff;
            color: #0f172a;
            font-size: 14px;
            box-shadow: none;
        }

        .dc-product-page .dc-review-form input[type="text"],
        .dc-product-page .dc-review-form input[type="email"] {
            min-height: 42px;
            padding: 0 12px;
        }

        .dc-product-page .dc-review-form textarea {
            min-height: 104px;
            padding: 11px 12px;
            resize: vertical;
        }

        .dc-product-page .dc-review-upload-field small {
            color: #64748b;
            font-size: 12px;
            line-height: 1.45;
        }

        .dc-product-page .dc-review-form input[type="file"] {
            width: 100%;
            border: 1px dashed #fdba74;
            border-radius: 10px;
            background: #fff7ed;
            color: #475569;
            font-size: 13px;
            padding: 10px;
        }

        .dc-product-page .dc-review-form input[type="file"]::file-selector-button {
            margin-right: 10px;
            border: 0;
            border-radius: 8px;
            background: #f45113;
            color: #fff;
            font-size: 12px;
            font-weight: 900;
            padding: 8px 11px;
        }

        .dc-product-page .dc-review-form input:focus,
        .dc-product-page .dc-review-form textarea:focus {
            border-color: #f45113;
            outline: 0;
            box-shadow: 0 0 0 3px rgba(244, 81, 19, .14);
        }

        .dc-product-page .dc-review-form button[type="submit"],
        .dc-product-page .dc-review-login-button {
            display: flex;
            min-height: 46px;
            align-items: center;
            justify-content: center;
            border: 0;
            border-radius: 12px;
            background: #f45113;
            color: #fff;
            font-size: 14px;
            font-weight: 900;
            text-transform: none;
            box-shadow: 0 10px 18px rgba(244, 81, 19, .22);
        }

        .dc-product-page .dc-review-form button[type="submit"]:hover,
        .dc-product-page .dc-review-login-button:hover {
            background: #d83f0c;
            color: #fff;
        }

        .dc-product-page .dc-review-logged-in,
        .dc-product-page .dc-review-disabled {
            margin: 0;
            color: #475569;
            font-size: 13px;
        }

        .dc-product-page .dc-review-list {
            padding: 20px 22px 22px;
        }

        .dc-product-page .dc-review-list h3 {
            margin-bottom: 14px;
        }

        .dc-product-page .dc-review-item {
            display: flex;
            gap: 12px;
            padding: 14px 0;
            border-top: 1px solid #f1f5f9;
        }

        .dc-product-page .dc-review-avatar {
            display: flex;
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: #ffedd5;
            color: #f45113;
            font-size: 14px;
            font-weight: 950;
        }

        .dc-product-page .dc-review-copy {
            min-width: 0;
            flex: 1;
        }

        .dc-product-page .dc-review-item-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 10px;
        }

        .dc-product-page .dc-review-item-head strong {
            display: block;
            color: #0f172a;
            font-size: 14px;
            font-weight: 900;
            line-height: 1.25;
        }

        .dc-product-page .dc-review-item-head time {
            display: block;
            margin-top: 2px;
            color: #94a3b8;
            font-size: 12px;
            font-weight: 700;
        }

        .dc-product-page .dc-review-content {
            margin-top: 7px;
            color: #475569;
            font-size: 13px;
            line-height: 1.6;
        }

        .dc-product-page .dc-review-content p {
            margin: 0 0 8px;
        }

        .dc-product-page .dc-review-content p:last-child {
            margin-bottom: 0;
        }

        .dc-product-page .dc-review-images {
            display: grid;
            width: min(100%, 344px);
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 8px;
            margin-top: 10px;
        }

        .dc-product-page .dc-review-image {
            display: block;
            overflow: hidden;
            aspect-ratio: 1;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            background: #f8fafc;
        }

        .dc-product-page .dc-review-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .18s ease;
        }

        .dc-product-page .dc-review-image:hover img {
            transform: scale(1.04);
        }

        .dc-product-page .dc-review-replies {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-top: 12px;
        }

        .dc-product-page .dc-review-reply {
            position: relative;
            overflow: hidden;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            background: #f8fafc;
            padding: 12px 12px 12px 14px;
        }

        .dc-product-page .dc-review-reply::before {
            position: absolute;
            top: 12px;
            bottom: 12px;
            left: 0;
            width: 3px;
            border-radius: 999px;
            background: #94a3b8;
            content: "";
        }

        .dc-product-page .dc-review-reply.is-admin-reply {
            border-color: #fed7aa;
            background: #fff7ed;
        }

        .dc-product-page .dc-review-reply.is-admin-reply::before {
            background: #f45113;
        }

        .dc-product-page .dc-review-reply-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 6px;
        }

        .dc-product-page .dc-review-reply-head span {
            color: #0f172a;
            font-size: 13px;
            font-weight: 900;
        }

        .dc-product-page .dc-review-reply.is-admin-reply .dc-review-reply-head span {
            color: #c2410c;
        }

        .dc-product-page .dc-review-reply-head time {
            color: #94a3b8;
            font-size: 11px;
            font-weight: 700;
            white-space: nowrap;
        }

        .dc-product-page .dc-review-reply-content {
            color: #475569;
            font-size: 13px;
            line-height: 1.6;
        }

        .dc-product-page .dc-review-reply-content p {
            margin: 0 0 8px;
        }

        .dc-product-page .dc-review-reply-content p:last-child {
            margin-bottom: 0;
        }

        .dc-product-page .dc-review-empty {
            display: flex;
            flex-direction: column;
            gap: 4px;
            border: 1px dashed #fdba74;
            border-radius: 12px;
            background: #fff7ed;
            padding: 14px;
            color: #64748b;
            font-size: 13px;
        }

        .dc-product-page .dc-review-empty strong {
            color: #0f172a;
        }

        .dc-product-page .dc-review-pagination {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin-top: 16px;
            padding-top: 16px;
            border-top: 1px solid #f1f5f9;
        }

        .dc-product-page .dc-review-pagination .page-numbers {
            display: inline-flex;
            min-width: 36px;
            height: 36px;
            align-items: center;
            justify-content: center;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            background: #fff;
            color: #334155;
            font-size: 13px;
            font-weight: 900;
            line-height: 1;
        }

        .dc-product-page .dc-review-pagination .page-numbers.current,
        .dc-product-page .dc-review-pagination .page-numbers:hover {
            border-color: #f45113;
            background: #f45113;
            color: #fff;
        }

        .dc-product-page .dc-related-card {
            display: block;
            height: 100%;
        }

        .dc-product-page .dc-related-price {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 2px;
            min-height: 46px;
            margin: 8px 0 0;
            line-height: 1.15;
        }

        .dc-product-page .dc-related-price-original {
            color: #94a3b8;
            font-size: 12px;
            font-weight: 700;
            text-decoration: line-through;
        }

        .dc-product-page .dc-related-price-original .woocommerce-Price-amount {
            color: inherit;
            font-size: inherit;
            font-weight: inherit;
        }

        .dc-product-page .dc-related-price-sale {
            color: #f45113;
            font-size: 19px;
            font-weight: 950;
            letter-spacing: 0;
        }

        .dc-product-page .dc-related-price-sale .woocommerce-Price-amount,
        .dc-product-page .dc-related-price-sale bdi,
        .dc-product-page .dc-related-price-sale .woocommerce-Price-currencySymbol {
            color: inherit;
            font-size: inherit;
            font-weight: inherit;
        }

        .dc-product-page .dc-related-price-contact {
            color: #f45113;
            font-size: 17px;
            font-weight: 900;
        }

        @media (min-width: 640px) {
            .dc-product-page .dc-store-system-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (min-width: 1024px) {
            .dc-product-page .dc-store-system-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }

        .dc-product-page .dc-native-cart form.cart,
        .dc-product-page .dc-native-cart .variations_form {
            margin: 0;
        }

        .dc-product-page .dc-simple-cart-form {
            display: flex !important;
            flex-direction: row !important;
            align-items: stretch !important;
            gap: 12px !important;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }

        .dc-product-page .dc-simple-cart-form > .grid {
            width: 128px !important;
            flex: 0 0 128px;
            max-width: 100%;
        }

        .dc-product-page .dc-simple-cart-form button[name="add-to-cart"] {
            flex: 1 1 0;
            width: auto !important;
            min-height: 56px;
            border: 0 !important;
            border-radius: 12px !important;
            background: #0b5ed7 !important;
            color: #fff !important;
            font-size: 13px;
            font-weight: 800;
            line-height: 1.1;
            white-space: nowrap;
            text-transform: uppercase;
            box-shadow: 0 8px 14px rgba(11, 94, 215, 0.28) !important;
        }

        .dc-product-page .dc-simple-cart-form button[name="add-to-cart"]:hover {
            background: #004d99 !important;
            color: #fff !important;
        }

        .dc-product-page .dc-simple-cart-form > a {
            flex: 1 1 0;
            width: auto !important;
            min-height: 56px !important;
            border-radius: 12px !important;
            background: #dc2626 !important;
            color: #fff !important;
            box-shadow: 0 8px 14px rgba(220, 38, 38, 0.24) !important;
        }

        .dc-product-page .dc-simple-cart-form > a:hover {
            background: #b91c1c !important;
            color: #fff !important;
        }

        .dc-product-page .dc-simple-cart-form > a span:last-child {
            display: none;
        }

        .dc-product-page .dc-variation-card + .dc-native-cart {
            margin-top: 8px;
        }

        .dc-product-page .dc-variation-options {
            display: flex;
            flex-direction: column;
            gap: 14px;
            margin-bottom: 0;
        }

        .dc-product-page .dc-variation-group {
            display: flex;
            align-items: flex-start;
            gap: 14px;
        }

        .dc-product-page .dc-variation-label {
            flex: 0 0 72px;
            padding-top: 10px;
            color: #334155;
            font-size: 14px;
            font-weight: 700;
        }

        .dc-product-page .dc-variation-buttons {
            display: grid;
            flex: 1;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
        }

        .dc-product-page .dc-variation-button {
            min-height: 40px;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            background: #fff;
            color: #475569;
            padding: 8px 14px;
            font-size: 14px;
            font-weight: 700;
            line-height: 1.25;
            text-align: center;
            transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
            width: 100%;
        }

        .dc-product-page .dc-variation-button:hover,
        .dc-product-page .dc-variation-button.is-active {
            border-color: #0b5ed7;
            background: #e6f2ff;
            color: #0b5ed7;
            box-shadow: 0 0 0 1px rgba(11, 94, 215, .12);
        }

        .dc-product-page .dc-variation-button:focus {
            outline: 0;
            box-shadow: 0 0 0 2px rgba(11, 94, 215, .18);
        }

        .dc-product-page .dc-native-cart table.variations {
            width: 100%;
            margin: 0 0 14px;
        }

        .dc-product-page .dc-native-cart table.variations {
            display: none !important;
        }

        .dc-product-page .dc-native-cart table.variations th,
        .dc-product-page .dc-native-cart table.variations td {
            display: block;
            padding: 0 0 8px !important;
            text-align: left;
            border: 0;
        }

        .dc-product-page .dc-native-cart table.variations label {
            color: #334155;
            font-size: 14px;
            font-weight: 700;
            text-transform: none;
        }

        .dc-product-page .dc-native-cart select,
        .dc-product-page .dc-native-cart input.qty {
            width: 100%;
            min-height: 44px;
            border: 1px solid #cbd5e1;
            border-radius: 10px;
            background: #fff;
            color: #0f172a;
            padding: 0 12px;
        }

        .dc-product-page .dc-native-cart .single_variation_wrap {
            margin-top: 12px;
        }

        .dc-product-page .dc-native-cart .woocommerce-variation-add-to-cart {
            display: flex !important;
            flex-direction: row;
            align-items: stretch;
            gap: 12px;
        }

        .dc-product-page .dc-native-cart .quantity {
            display: grid !important;
            grid-template-columns: 42px minmax(58px, 1fr) 42px;
            align-items: stretch;
            flex: 0 0 128px;
            width: 128px !important;
            max-width: 128px;
            min-height: 56px;
            margin: 0;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            overflow: hidden;
            background: #fff;
        }

        .dc-product-page .dc-native-cart .quantity .minus,
        .dc-product-page .dc-native-cart .quantity .plus {
            width: 42px !important;
            min-height: 56px !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: #fff !important;
            color: #64748b !important;
            font-size: 18px;
            box-shadow: none !important;
        }

        .dc-product-page .dc-native-cart .quantity input.qty {
            width: 100% !important;
            min-height: 56px;
            border: 0 !important;
            border-left: 1px solid #e2e8f0 !important;
            border-right: 1px solid #e2e8f0 !important;
            border-radius: 0 !important;
            text-align: center;
            font-weight: 700;
        }

        .dc-product-page .dc-native-cart .single_add_to_cart_button {
            flex: 1 1 0;
            width: auto !important;
            min-height: 56px;
            border: 0;
            border-radius: 12px;
            background: #0b5ed7;
            color: #fff;
            font-size: 13px;
            font-weight: 800;
            line-height: 1.1;
            white-space: nowrap;
            text-transform: uppercase;
            box-shadow: 0 4px 8px rgba(0, 102, 204, 0.25);
        }

        .dc-product-page .dc-native-cart .single_add_to_cart_button:hover {
            background: #004d99;
            color: #fff;
        }

        .dc-product-page .dc-native-cart .wd-buy-now-btn {
            flex: 1 1 0;
            width: auto !important;
            min-height: 56px;
            margin-top: 0;
            border: 0;
            border-radius: 12px;
            background: #dc2626;
            color: #fff;
            font-weight: 800;
            text-transform: uppercase;
            box-shadow: 0 4px 8px rgba(220, 38, 38, 0.22);
        }

        .dc-product-page .dc-native-cart .wd-buy-now-btn:hover {
            background: #b91c1c;
            color: #fff;
        }

        .dc-product-page .dc-native-cart .reset_variations {
            color: #0b5ed7;
            font-size: 13px;
            margin-left: 8px;
        }

        .dc-product-page .dc-native-cart .woocommerce-variation-price,
        .dc-product-page .dc-native-cart .woocommerce-variation-availability {
            margin: 10px 0;
            color: #0f172a;
            font-weight: 700;
        }

        .dc-product-page .dc-native-cart .woocommerce-variation-price .price {
            color: #dc2626;
            font-size: 20px;
        }

        @media (max-width: 767px) {
            body.dancamera-custom-product .dc-product-page {
                margin-left: 0;
                max-width: 100%;
                width: 100%;
            }

            .dc-product-page header {
                position: sticky;
            }

            .dc-product-page header .container {
                max-width: 100%;
            }

            .dc-product-page main {
                padding-top: 18px;
            }

            body.dancamera-custom-product .dc-product-page > main.container {
                width: 100%;
                max-width: 100%;
                padding-right: 3px !important;
                padding-left: 3px !important;
            }

            .dc-product-page .flash-sale-bg {
                padding: 16px;
            }

            .dc-product-page .dc-gift-promotion {
                margin-top: 18px;
                padding: 20px 12px 14px !important;
                border-radius: 10px;
            }

            .dc-product-page .dc-gift-promotion-title {
                top: -13px;
                left: 12px;
                max-width: calc(100% - 24px);
                padding: 4px 12px;
                gap: 7px;
                font-size: 13px;
                line-height: 18px;
            }

            .dc-product-page .dc-gift-promotion-title .fa-gift {
                font-size: 16px;
            }

            .dc-product-page .dc-gift-promotion-content {
                margin-top: 8px;
                font-size: 13px;
                line-height: 1.55;
            }

            .dc-product-page .dc-gift-promotion-list {
                margin-top: 8px !important;
                font-size: 13px;
                line-height: 1.55;
            }

            .dc-product-page .dc-gift-promotion-list > li {
                position: relative;
                min-width: 0;
                padding-left: 18px !important;
            }

            .dc-product-page .dc-gift-promotion-list > li + li {
                margin-top: 10px !important;
            }

            .dc-product-page .dc-gift-promotion-list > li.flex {
                display: block !important;
                gap: 0 !important;
            }

            .dc-product-page .dc-gift-promotion-list > li.flex-col {
                padding-left: 0 !important;
            }

            .dc-product-page .dc-gift-promotion-list > li.flex-col > .flex {
                position: relative;
                display: block !important;
                min-width: 0;
                padding-left: 18px !important;
                gap: 0 !important;
            }

            .dc-product-page .dc-gift-promotion-list > li > .fa-circle,
            .dc-product-page .dc-gift-promotion-list > li.flex-col > .flex > .fa-circle {
                position: absolute;
                top: 8px;
                left: 0;
                margin: 0 !important;
                font-size: 7px !important;
                line-height: 1;
            }

            .dc-product-page .dc-gift-promotion-list strong.text-danger,
            .dc-product-page .dc-gift-promotion-content strong.text-danger {
                display: inline-block;
                white-space: nowrap;
            }

            .dc-product-page .dc-gift-promotion-list > li:first-child a {
                display: inline;
                margin-left: 4px;
                font-weight: 800;
                line-height: inherit;
            }

            .dc-product-page .dc-gift-promotion-list ul {
                padding-left: 22px !important;
                font-size: 13px;
                line-height: 1.5;
            }

            .dc-product-page .dc-gift-promotion-list ul > li + li {
                margin-top: 5px !important;
            }

            .dc-product-page .dc-price {
                font-size: 30px;
            }

            .dc-product-page .dc-native-cart {
                padding: 0;
            }

            .dc-product-page .dc-review-panel-head,
            .dc-product-page .dc-review-summary,
            .dc-product-page .dc-review-rating-field,
            .dc-product-page .dc-review-item-head {
                flex-direction: column;
                align-items: flex-start;
            }

            .dc-product-page .dc-review-summary {
                display: flex;
            }

            .dc-product-page .dc-review-score,
            .dc-product-page .dc-review-bars {
                width: 100%;
            }

            .dc-product-page .dc-review-form-grid {
                grid-template-columns: 1fr;
            }

            .dc-product-page .dc-variation-group {
                display: block;
            }

            .dc-product-page .dc-variation-label {
                display: block;
                padding-top: 0;
                margin-bottom: 8px;
            }

            .dc-product-page .dc-variation-button {
                text-align: center;
            }

            .dc-product-page .dc-variation-buttons {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 639px) {
            .dc-product-page .dc-simple-cart-form,
            .dc-product-page .dc-native-cart .woocommerce-variation-add-to-cart {
                flex-direction: column !important;
            }

            .dc-product-page .dc-simple-cart-form > .grid,
            .dc-product-page .dc-native-cart .quantity {
                flex: 0 0 auto;
                width: 100% !important;
                max-width: none;
            }

            .dc-product-page .dc-simple-cart-form button[name="add-to-cart"],
            .dc-product-page .dc-simple-cart-form > a,
            .dc-product-page .dc-native-cart .single_add_to_cart_button,
            .dc-product-page .dc-native-cart .wd-buy-now-btn {
                flex: 0 0 auto;
                width: 100% !important;
            }

            .dc-product-page .dc-simple-cart-form button[name="add-to-cart"],
            .dc-product-page .dc-native-cart .single_add_to_cart_button {
                font-size: 14px;
            }
        }

        @keyframes icon-soft-float {
            0%, 100% { transform: translateY(0) scale(1); }
            50% { transform: translateY(-1.5px) scale(1.04); }
        }

        .dc-product-page header i[class*="fa-"]:not(.fa-angle-down),
        .dc-product-page main i[class*="fa-"]:not(.fa-star):not(.fa-circle):not(.fa-chevron-left):not(.fa-chevron-right):not(.fa-angle-down),
        .dc-product-page footer i[class*="fa-"] {
            animation: icon-soft-float 3.6s ease-in-out infinite;
            display: inline-block;
            transform-origin: center;
            will-change: transform;
        }

        .dc-product-page .fa-cart-shopping,
        .dc-product-page .fa-cart-plus,
        .dc-product-page .fa-truck-fast,
        .dc-product-page .fa-location-dot,
        .dc-product-page .fa-microphone-lines {
            animation-delay: .25s;
        }

        .dc-product-page .fa-headset,
        .dc-product-page .fa-shield-halved,
        .dc-product-page .fa-sd-card,
        .dc-product-page .fa-paper-plane {
            animation-delay: .5s;
        }

        main .dc-product-page .flash-sale-bg .deal-bolt {
            animation: deal-bolt-charge .82s ease-in-out infinite !important;
            filter: drop-shadow(0 0 5px rgba(253, 224, 71, .95));
        }

        @keyframes deal-bolt-charge {
            0%, 100% { transform: translateY(0) rotate(-6deg) scale(1); filter: drop-shadow(0 0 4px rgba(253, 224, 71, .8)); }
            30% { transform: translateY(-2px) rotate(7deg) scale(1.2); filter: drop-shadow(0 0 12px rgba(253, 224, 71, 1)); }
            55% { transform: translateY(1px) rotate(-3deg) scale(.96); }
        }

        .dc-product-page .deal-progress {
            box-shadow: inset 0 2px 5px rgba(154, 52, 18, .14), 0 0 0 1px rgba(255, 255, 255, .35);
        }

        .dc-product-page .deal-progress-fill {
            background: linear-gradient(90deg, #f59e0b, #fde68a, #facc15, #f59e0b);
            background-size: 200% 100%;
            animation: deal-progress-wave 4.5s ease-in-out infinite;
        }

        .dc-product-page .deal-progress-fill::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent);
            animation: deal-progress-shine 3.6s linear infinite;
        }

        @keyframes deal-progress-wave {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }

        @keyframes deal-progress-shine {
            from { transform: translateX(-120%); }
            to { transform: translateX(140%); }
        }

        .dc-product-page .video-card img {
            transition: transform .45s ease, opacity .45s ease;
        }

        .dc-product-page .video-card:hover img {
            transform: scale(1.04);
            opacity: .82;
        }

        .dc-product-page .video-play-button {
            animation: video-play-pulse 1.7s ease-in-out infinite;
            box-shadow: 0 0 0 0 rgba(255, 255, 255, .55);
        }

        @keyframes video-play-pulse {
            0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); }
            50% { transform: scale(1.08); box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
        }

        @media (prefers-reduced-motion: reduce) {
            .dc-product-page header i[class*="fa-"],
            .dc-product-page main i[class*="fa-"],
            .dc-product-page footer i[class*="fa-"],
            .dc-product-page .flash-sale-stripes,
            .dc-product-page .deal-progress-fill,
            .dc-product-page .deal-progress-fill::after,
            .dc-product-page .video-play-button {
                animation: none;
            }
        }
