/**
 * DamnModz Theme - Single Product Page Styles
 * Premium e-commerce design matching gaming service sites
 */

/* ==========================================================================
   CSS Variables
   ========================================================================== */

:root {
    --dm-product-max: 1200px;
}

/* ==========================================================================
   CRITICAL: Force correct layout for Related Products
   These rules must have maximum specificity to override theme styles
   ========================================================================== */

/* Prevent the wrapper from shrink-wrapping inside the flex parent */
.dm-related-products-wrap {
    width: 100% !important;
}

/* Reset ALL grid behavior on section.related wrapper + add padding */
body .dm-related-products-wrap section.related.products,
body .dm-related-products-wrap .related.products,
body section.related.products,
.dm-single-product .dm-related-products-wrap section,
#product-page .dm-related-products-wrap section,
.woocommerce .dm-related-products-wrap section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    padding: 30px 0 !important;
}

/* Force ONLY the direct ul.products child to be a 4-column grid */
body .dm-related-products-wrap>section.related>ul.products,
body .dm-related-products-wrap section.related>ul.products,
body section.related.products>ul.products,
.dm-single-product .dm-related-products-wrap>ul.products,
.dm-related-products-wrap>section>ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, 320px) !important;
    justify-content: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Kill ::before/::after pseudo-elements that act as ghost grid items,
   pushing the real product card to column 2 */
body .dm-related-products-wrap section.related ul.products::before,
body .dm-related-products-wrap section.related ul.products::after,
body .dm-related-products-wrap .related.products ul.products::before,
body .dm-related-products-wrap .related.products ul.products::after,
body section.related.products ul.products::before,
body section.related.products ul.products::after,
.dm-related-products-wrap>section>ul.products::before,
.dm-related-products-wrap>section>ul.products::after {
    display: none !important;
    content: none !important;
}

/* Related products heading spacing */
body .dm-related-products-wrap .related.products>h2,
body .dm-related-products-wrap .related.products>h3.qode-related-upsells-title {
    margin: 0 0 20px !important;
}

body .dm-related-products-wrap .related.products>br {
    display: none !important;
}

/* RESET nested lists inside product cards - they should NOT be grids */
body .dm-related-products-wrap ul.products li ul,
body .dm-related-products-wrap ul.products li ol,
body .dm-related-products-wrap li.product ul,
body .dm-related-products-wrap li.product ol,
.dm-related-products-wrap .dm-product-card ul,
.dm-related-products-wrap .dm-product-card ol {
    display: block !important;
    grid-template-columns: none !important;
    width: auto !important;
    max-width: none !important;
}

/* Match category-card image overlay (keep it always-on, not just hover) */
body .dm-related-products-wrap .dm-product-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(var(--bg-hero-top-rgb), 0.24) 0%, rgba(var(--bg-hero-top-rgb), 0.9) 100%);
    pointer-events: none;
    z-index: 1;
}

body .dm-related-products-wrap .dm-product-card__image img {
    position: relative;
    z-index: 0;
}

/* Related product cards: keep feature lists readable */
body .dm-related-products-wrap .dm-product-card__features {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 auto !important;
}

body .dm-related-products-wrap .dm-product-card__features>li.dm-product-card__feature {
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
    body .dm-related-products-wrap .dm-product-card__features>li.dm-product-card__feature:nth-child(n+3) {
        display: none !important;
    }
}

/* Force product cards to take full grid cell width */
body .dm-related-products-wrap ul.products>li.product,
body section.related.products ul.products>li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* ==========================================================================
   END Related Products Overrides
   ========================================================================== */

/* Force single-product body class styles */
body.single-product .dm-product-layout,
body.woocommerce .dm-product-layout,
.dm-single-product .dm-product-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(340px, 3fr) !important;
    gap: 24px !important;
}

/* Force gallery visibility - WooCommerce starts at 0 and may not initialize */
.dm-product-gallery-wrap .woocommerce-product-gallery {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ==========================================================================
   Product Page Layout - Two Column
   ========================================================================== */

.dm-product-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(340px, 3fr);
    gap: 24px;
    padding: 28px 20px;
    max-width: var(--dm-product-max);
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .dm-product-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
        padding: 24px 16px;
    }

    body.single-product .dm-product-layout,
    body.woocommerce .dm-product-layout,
    .dm-single-product .dm-product-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.single-product .dm-product-main {
        display: contents;
    }

    body.single-product .dm-product-gallery-wrap {
        order: 1;
    }

    body.single-product .dm-product-sidebar {
        order: 2;
    }

    body.single-product .dm-product-description {
        order: 3;
        margin-bottom: 0;
    }
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.dm-breadcrumbs-wrap.container {
    max-width: var(--dm-product-max);
    padding-top: 18px;
    padding-bottom: 10px;
}

.dm-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--text-muted);
    margin: 0;
}

.dm-breadcrumbs a {
    color: var(--text-secondary);
    transition: color var(--transition-fast);
}

.dm-breadcrumbs a:hover {
    color: var(--accent-primary);
}

.dm-breadcrumbs .separator {
    color: var(--text-muted);
    opacity: 0.4;
    margin: 0 4px;
}

.dm-breadcrumbs .current {
    color: var(--text-primary);
}

/* ==========================================================================
   Main Content Area
   ========================================================================== */

.dm-product-main {
    min-width: 0;
    /* Prevent overflow */
}

/* Product Gallery - Constrained Size */
.dm-product-main .woocommerce-product-gallery,
.woocommerce div.product div.images {
    margin-bottom: 32px;
}

/* WooCommerce core styles float the gallery at ~48% width; our template uses a custom grid. */
.dm-product-gallery-wrap .woocommerce-product-gallery,
.dm-product-main .woocommerce-product-gallery,
.dm-product-gallery-wrap .woocommerce-product-gallery.images {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.dm-product-main .woocommerce-product-gallery img,
.woocommerce div.product div.images img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Product Description */
.dm-product-description {
    margin-bottom: 40px;
    color: var(--text-secondary);
    line-height: 1.8;
    font-size: 16px;
}

.dm-product-description h2,
.dm-product-description h3,
.dm-product-description h4 {
    color: var(--text-primary);
    margin-top: 32px;
    margin-bottom: 16px;
    font-weight: 700;
}

.dm-product-description p {
    margin-bottom: 16px;
}

.dm-product-description ul,
.dm-product-description ol {
    padding-left: 24px;
    margin-bottom: 20px;
}

.dm-product-description li {
    margin-bottom: 8px;
}

/* WPBakery content blocks used in many product descriptions */
.dm-product-description .buy-black-ops h2,
.dm-product-description .buy-black-ops h3 {
    margin-top: 18px;
    margin-bottom: 12px;
}

.dm-product-description .buy-black-ops p {
    margin-bottom: 20px;
}

.dm-product-description .buy-black-ops ul,
.dm-product-description .buy-black-ops ol {
    padding-left: 22px;
    margin-bottom: 20px;
}

/* ==========================================================================
   Product FAQ (SP Easy Accordion) - match Homepage FAQ styling
   ========================================================================== */

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion {
    display: grid;
    gap: var(--space-md);
    margin: 32px 0;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single {
    position: relative;
    background: linear-gradient(180deg, rgba(var(--bg-card-rgb), 0.92) 0%, rgba(var(--bg-secondary-rgb), 0.86) 100%) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden;
    backdrop-filter: blur(10px);
    transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
    margin: 0 !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg,
            rgba(var(--accent-primary-rgb), 0.12) 0%,
            rgba(var(--accent-primary-rgb), 0.75) 50%,
            rgba(var(--accent-primary-rgb), 0.12) 100%);
    opacity: 0;
    transition: opacity var(--transition-fast);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--accent-primary-rgb), 0.25) !important;
    box-shadow: var(--shadow-md);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single:hover::before,
body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single.ea-expand::before {
    opacity: 1;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single.ea-expand {
    border-color: rgba(var(--accent-primary-rgb), 0.4) !important;
    box-shadow: var(--shadow-md);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header {
    margin: 0 !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-lg) !important;
    padding-right: calc(var(--space-lg) + 34px) !important;
    cursor: pointer;
    user-select: none;
    text-decoration: none;
    background: transparent !important;
    border: none !important;
    font-family: var(--font-heading);
    font-size: var(--text-base) !important;
    font-weight: 800;
    color: var(--text-primary) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    position: relative;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single.eap_inactive>.ea-header a {
    background: transparent !important;
    color: var(--text-primary) !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single.ea-expand>.ea-header a {
    background: rgba(var(--accent-primary-rgb), 0.06) !important;
    color: var(--accent-primary-light) !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a:focus-visible {
    outline: 2px solid rgba(var(--accent-primary-rgb), 0.45);
    outline-offset: -2px;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a .ea-expand-icon,
body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a i.ea-expand-icon {
    display: none !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a::before,
body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: var(--space-lg);
    width: 14px;
    height: 2px;
    background: var(--text-muted);
    border-radius: var(--radius-full);
    transform: translateY(-50%);
    transition: opacity var(--transition-fast), transform var(--transition-fast), background-color var(--transition-fast);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.ea-header a::after {
    transform: translateY(-50%) rotate(90deg);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single.ea-expand>.ea-header a::before {
    background: var(--accent-primary);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single.ea-expand>.ea-header a::after {
    opacity: 0;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {
    padding: 0 var(--space-lg) var(--space-lg) !important;
    border-top: 1px solid var(--border-subtle) !important;
    background: rgba(var(--bg-primary-rgb), 0.18) !important;
    color: var(--text-secondary) !important;
    font-size: var(--text-sm) !important;
    line-height: 1.8 !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body .ea-content-wrapper {
    padding-top: var(--space-md);
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body p {
    padding: 0 !important;
    margin: 0 0 var(--space-md) !important;
}

body.single-product .dm-product-description #sp-ea-46268.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body p:last-child {
    margin-bottom: 0 !important;
}

/* ==========================================================================
   Sticky Sidebar - Purchase Card
   ========================================================================== */

.dm-product-sidebar {
    position: relative;
}

.dm-sticky-form {
    position: sticky;
    top: calc(var(--header-height, 80px) + 24px);
    background: linear-gradient(180deg, rgba(var(--bg-elevated-rgb), 0.95) 0%, rgba(var(--bg-hero-top-rgb), 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 34px;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.single-product .dm-single-product {
    overflow: visible !important;
}

@media (min-width: 1025px) {
    .dm-sticky-form {
        max-height: calc(100vh - (var(--header-height, 80px) + 48px));
        overflow-y: auto;
        overscroll-behavior-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(var(--accent-info-rgb), 0.44) rgba(255, 255, 255, 0.06);
    }

    .dm-sticky-form::-webkit-scrollbar {
        width: 8px;
    }

    .dm-sticky-form::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.06);
        border-radius: 999px;
    }

    .dm-sticky-form::-webkit-scrollbar-thumb {
        background: rgba(var(--accent-info-rgb), 0.44);
        border-radius: 999px;
    }

    .dm-sticky-form::-webkit-scrollbar-thumb:hover {
        background: rgba(var(--accent-info-rgb), 0.64);
    }
}

@media (max-width: 1024px) {
    .dm-sticky-form {
        position: static;
        max-height: none;
        overflow: visible;
    }
}

/* Product Title in Sidebar */
.dm-sticky-form .product_title,
.dm-sticky-form .entry-title {
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 1.8vw, 1.9rem);
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 10px;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

/* Rating */
.dm-sticky-form .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.dm-sticky-form .star-rating {
    color: var(--accent-gold-bright);
    font-size: 14px;
}

/* Price Display */
.dm-sticky-form .price {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 0;
    display: block;
    line-height: 1.2;
}

.dm-sticky-form .price del {
    color: var(--text-muted);
    font-size: 1.25rem;
    font-weight: 500;
    text-decoration: line-through;
    margin-right: 8px;
}

.dm-sticky-form .price ins {
    text-decoration: none;
    color: var(--accent-info);
}

/* ==========================================================================
   Trust Signals – Compact Horizontal Ribbon
   ========================================================================== */

.dm-product-trust-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.dm-product-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 10px 10px;
    border-radius: 12px;
    background: rgba(var(--bg-primary-rgb), 0.38);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.dm-product-trust-item:hover {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(var(--bg-primary-rgb), 0.55);
}

.dm-product-trust-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: var(--radius-full);
    background: var(--accent-success-soft);
    color: var(--accent-success);
}

.dm-product-trust-item__icon svg {
    width: 15px;
    height: 15px;
    display: block;
}

.dm-product-trust-item__copy {
    display: block;
    min-width: 0;
}

.dm-product-trust-item__copy strong,
.dm-product-trust-item__copy span {
    display: block;
}

.dm-product-trust-item__copy strong {
    color: var(--text-primary);
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.dm-product-trust-item__copy span {
    color: var(--text-muted);
    font-size: 10px;
    line-height: 1.3;
    margin-top: 1px;
}

.dm-product-trust-strip .dm-product-trust-item:nth-child(3):last-child {
    grid-column: 1 / -1;
}

/* ==========================================================================
   Money-Back Guarantee Dropdown
   ========================================================================== */

.dm-money-back-dropdown {
    --dm-money-back-bg: #050505;
    --dm-money-back-bg-hover: #0b0b0c;
    --dm-money-back-border: rgba(255, 255, 255, 0.12);
    --dm-money-back-border-hover: rgba(255, 255, 255, 0.24);

    position: relative;
    overflow: hidden;
    margin-top: 10px;
    border-radius: 14px;
    border: 1px solid var(--dm-money-back-border);
    background: var(--dm-money-back-bg);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.dm-money-back-dropdown:hover,
.dm-money-back-dropdown:focus-within {
    border-color: var(--dm-money-back-border-hover);
    background: var(--dm-money-back-bg-hover);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dm-money-back-dropdown:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.28);
    outline-offset: 3px;
}

.dm-money-back-dropdown__summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 12px 12px;
}

.dm-money-back-dropdown__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.dm-money-back-dropdown__title {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

.dm-money-back-dropdown__title strong,
.dm-money-back-dropdown__title span {
    display: block;
}

.dm-money-back-dropdown__title strong {
    color: var(--text-primary);
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.dm-money-back-dropdown__title span {
    margin-top: 2px;
    color: var(--text-muted);
    font-size: 10px;
    line-height: 1.35;
}

.dm-money-back-dropdown__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    transition: transform var(--transition-fast), color var(--transition-fast);
}

.dm-money-back-dropdown:hover .dm-money-back-dropdown__chevron,
.dm-money-back-dropdown:focus-within .dm-money-back-dropdown__chevron {
    color: #ffffff;
    transform: rotate(180deg);
}

.dm-money-back-dropdown__panel {
    max-height: 0;
    overflow: hidden;
    padding: 0 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: max-height 0.22s ease, opacity var(--transition-fast), visibility var(--transition-fast), transform var(--transition-fast), padding-bottom var(--transition-fast);
}

.dm-money-back-dropdown:hover .dm-money-back-dropdown__panel,
.dm-money-back-dropdown:focus-within .dm-money-back-dropdown__panel {
    max-height: 150px;
    padding-bottom: 12px;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dm-money-back-dropdown__panel p {
    margin: 0 0 9px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.55;
}

.dm-money-back-dropdown__panel a {
    display: inline-flex;
    align-items: center;
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

.dm-money-back-dropdown__panel a:hover,
.dm-money-back-dropdown__panel a:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (hover: none) {
    .dm-money-back-dropdown__chevron {
        display: none;
    }

    .dm-money-back-dropdown__panel {
        max-height: none;
        padding-bottom: 12px;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
}

/* Shared black dropdowns for product sidebar trust items */
.dm-product-sidebar-dropdowns {
    --dm-sidebar-trust-bg: rgba(5, 5, 6, 0.98);
    --dm-sidebar-trust-bg-hover: rgba(14, 14, 16, 0.98);
    --dm-sidebar-trust-border: rgba(255, 255, 255, 0.16);
    --dm-sidebar-trust-border-hover: rgba(255, 255, 255, 0.3);

    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.dm-product-sidebar-dropdown {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid var(--dm-sidebar-trust-border);
    background: var(--dm-sidebar-trust-bg);
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.dm-product-sidebar-dropdown:hover,
.dm-product-sidebar-dropdown:focus,
.dm-product-sidebar-dropdown:focus-within {
    border-color: var(--dm-sidebar-trust-border-hover);
    background: var(--dm-sidebar-trust-bg-hover);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dm-product-sidebar-dropdown:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.28);
    outline-offset: 3px;
}

.dm-product-sidebar-dropdown__summary {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 14px;
}

.dm-product-sidebar-dropdown__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.dm-product-sidebar-dropdown__title {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

.dm-product-sidebar-dropdown__title strong,
.dm-product-sidebar-dropdown__title span {
    display: block;
}

.dm-product-sidebar-dropdown__title strong {
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.dm-product-sidebar-dropdown__title span {
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
    line-height: 1.4;
}

.dm-product-sidebar-dropdown__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    transition: transform var(--transition-fast), color var(--transition-fast);
}

.dm-product-sidebar-dropdown:hover .dm-product-sidebar-dropdown__chevron,
.dm-product-sidebar-dropdown:focus .dm-product-sidebar-dropdown__chevron,
.dm-product-sidebar-dropdown:focus-within .dm-product-sidebar-dropdown__chevron {
    color: #ffffff;
    transform: rotate(180deg);
}

.dm-product-sidebar-dropdown__panel {
    max-height: 0;
    overflow: hidden;
    padding: 0 14px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: max-height 0.22s ease, opacity var(--transition-fast), visibility var(--transition-fast), transform var(--transition-fast), padding-bottom var(--transition-fast);
}

.dm-product-sidebar-dropdown:hover .dm-product-sidebar-dropdown__panel,
.dm-product-sidebar-dropdown:focus .dm-product-sidebar-dropdown__panel,
.dm-product-sidebar-dropdown:focus-within .dm-product-sidebar-dropdown__panel {
    max-height: 150px;
    padding-bottom: 12px;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dm-product-sidebar-dropdown__panel p {
    margin: 0 0 10px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12.5px;
    line-height: 1.6;
}

.dm-product-sidebar-dropdown__panel a,
.dm-product-sidebar-dropdown__panel button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.dm-product-sidebar-dropdown__panel a:hover,
.dm-product-sidebar-dropdown__panel a:focus-visible,
.dm-product-sidebar-dropdown__panel button:hover,
.dm-product-sidebar-dropdown__panel button:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Legacy Short Description / Excerpt (fallback) */
.dm-sticky-form .woocommerce-product-details__short-description {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.dm-sticky-form .woocommerce-product-details__short-description ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dm-sticky-form .woocommerce-product-details__short-description li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}

.dm-sticky-form .woocommerce-product-details__short-description li::before {
    content: "✓";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: var(--accent-success-soft);
    border-radius: 50%;
    color: var(--accent-success);
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}

/* YayCurrency switcher (sidebar) */
.dm-sticky-form .yay-currency-single-product-switcher {
    margin: 0 0 16px;
}

/* Hide the native <select> (its <option> labels are empty) but keep it accessible for form submit. */
.dm-sticky-form .yay-currency-form-switcher .yay-currency-switcher {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dm-sticky-form .yay-currency-custom-select-wrapper {
    width: 100%;
    margin: 0;
}

.dm-sticky-form .yay-currency-custom-select {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    min-width: 0;
}

.dm-sticky-form .yay-currency-custom-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 46px;
    padding: 12px 14px;
    background: rgba(var(--bg-primary-rgb), 0.78);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    color: var(--text-primary);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    width: 100% !important;
    box-sizing: border-box;
    cursor: pointer;
    transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.dm-sticky-form .yay-currency-custom-select__trigger.small {
    min-height: 46px;
    height: auto !important;
    padding: 12px 14px !important;
    width: 100% !important;
}

.dm-sticky-form .yay-currency-custom-select:hover .yay-currency-custom-select__trigger,
.dm-sticky-form .yay-currency-custom-select.open .yay-currency-custom-select__trigger {
    border-color: rgba(var(--accent-info-rgb), 0.45);
    background: rgba(var(--bg-elevated-rgb), 0.94);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(var(--accent-info-rgb), 0.12);
}

.dm-sticky-form .yay-currency-custom-selected-option {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.2px;
    min-width: 0;
}

.dm-sticky-form .yay-currency-selected-option {
    display: block;
    width: 100%;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dm-sticky-form .yay-currency-custom-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    flex-shrink: 0;
    transition: transform var(--transition-fast), color var(--transition-fast);
}

.dm-sticky-form .yay-currency-custom-select.open .yay-currency-custom-arrow {
    color: var(--accent-info);
    transform: rotate(180deg);
}

.dm-sticky-form .yay-currency-custom-arrow svg {
    width: 18px;
    height: 18px;
    stroke: currentColor !important;
    opacity: 0.85;
}

.dm-sticky-form .yay-currency-custom-options {
    position: absolute;
    top: calc(100% + 10px);
    left: 0 !important;
    right: 0;
    margin: 10px 0 0;
    padding: 6px;
    list-style: none;
    background: rgba(var(--bg-elevated-rgb), 0.98);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
    max-height: min(260px, 44vh);
    overflow: auto;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box;
    backdrop-filter: blur(14px);
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--accent-info-rgb), 0.45) rgba(255, 255, 255, 0.06);
}

.dm-sticky-form .yay-currency-custom-options::-webkit-scrollbar {
    width: 8px;
}

.dm-sticky-form .yay-currency-custom-options::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 999px;
}

.dm-sticky-form .yay-currency-custom-options::-webkit-scrollbar-thumb {
    background: rgba(var(--accent-info-rgb), 0.42);
    border-radius: 999px;
}

.dm-sticky-form .yay-currency-custom-options::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--accent-info-rgb), 0.62);
}

.dm-sticky-form .yay-currency-custom-select.open .yay-currency-custom-options {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

.dm-sticky-form .yay-currency-custom-option-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--text-secondary);
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.dm-sticky-form .yay-currency-custom-option-row:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    color: var(--text-primary);
    transform: translateY(-1px);
}

.dm-sticky-form .yay-currency-custom-option-row.selected {
    background: rgba(var(--accent-info-rgb), 0.14);
    border-color: rgba(var(--accent-info-rgb), 0.28);
    color: var(--text-primary);
}

.dm-sticky-form .yay-currency-custom-option {
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: inherit;
}

.dm-sticky-form .yay-currency-custom-option.small {
    font-size: 13px !important;
}

.dm-sticky-form .yay-currency-selected-checked-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(var(--accent-info-rgb), 0.16);
    color: var(--accent-info);
    flex-shrink: 0;
}

.dm-sticky-form .yay-currency-selected-checked-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor !important;
    opacity: 1;
}

/* Variations / Options */
.dm-sticky-form .variations {
    margin-bottom: 20px;
}

.dm-sticky-form .variations tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.dm-sticky-form .variations label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dm-sticky-form .variations select {
    width: 100%;
    padding: 14px 16px;
    background: rgba(var(--bg-primary-rgb), 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 15px;
    cursor: pointer;
    transition: all 0.2s;
}

.dm-sticky-form .variations select:hover,
.dm-sticky-form .variations select:focus {
    border-color: rgba(var(--accent-info-rgb), 0.5);
    outline: none;
}

/* WCPA product options (Select Your Package/Platform) in sidebar */
.wcpa__menu-list {
  background-color: #0a0a0f !important;
}

.wcpa__option--is-focused {
  background-color: #b91c1c !important;
  color: #fff !important;
}
.dm-sticky-form .wcpa_wrap {
    margin: 0;
}

.dm-sticky-form .wcpa_section {
    margin: 0;
}

.dm-sticky-form .wcpa_row {
    margin: 0;
}

.dm-sticky-form .wcpa_field_wrap {
    margin: 0 0 14px;
}

.dm-sticky-form .wcpa_left_wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dm-sticky-form .wcpa_field_label {
    width: auto !important;
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.dm-sticky-form select.wcpa_field,
.dm-sticky-form .wcpa_field select,
.dm-sticky-form select[id^="field_select_"] {
    width: 100%;
    padding: 14px 16px;
    background: rgba(var(--bg-primary-rgb), 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    color: var(--text-primary);
    font-size: 15px;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dm-sticky-form select.wcpa_field:hover,
.dm-sticky-form select.wcpa_field:focus,
.dm-sticky-form select[id^="field_select_"]:hover,
.dm-sticky-form select[id^="field_select_"]:focus {
    border-color: rgba(var(--accent-info-rgb), 0.45);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.18);
}

.dm-sticky-form .wcpa_price_summary {
    margin: 10px 0 0;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.dm-sticky-form .wcpa_price_summary .wcpa_total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-weight: 800;
    color: var(--text-primary);
}

.dm-sticky-form .wcpa_price_summary .wcpa_total > span:first-child {
    color: var(--text-secondary);
    font-weight: 700;
}

.dm-sticky-form .wcpa_field_bottom {
    margin-top: 8px;
}

.dm-sticky-form .wcpa_field_error {
    color: var(--accent-info);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.dm-sticky-form .wcpa_field_price {
    display: none;
}

/* Quantity Input */
.dm-sticky-form .quantity {
    margin-bottom: 16px;
}

.dm-sticky-form .quantity .qty {
    width: 80px;
    padding: 12px;
    text-align: center;
    background: rgba(var(--bg-primary-rgb), 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 600;
}

/* Add to Cart Button - PROMINENT */
.dm-sticky-form .dm-product-cart__actions .single_add_to_cart_button,
.dm-sticky-form .dm-product-cart__actions button[type="submit"] {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 18px 32px !important;
    background: linear-gradient(135deg, var(--accent-info) 0%, rgb(14, 165, 233) 100%) !important;
    color: var(--text-primary) !important;
    font-family: var(--font-heading) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    border: none !important;
    border-radius: 14px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 24px rgba(var(--accent-info-rgb), 0.35) !important;
}

.dm-sticky-form .dm-product-cart__actions .single_add_to_cart_button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 36px rgba(var(--accent-info-rgb), 0.5) !important;
}

/* Quantity (Bridge "buttons_added") - Compact, not full width */
.dm-sticky-form .dm-product-cart .quantity {
    float: none !important;
    height: auto !important;
    line-height: normal !important;
    padding-top: 0 !important;
    margin-right: 0 !important;
}

.dm-sticky-form .quantity.buttons_added {
    display: inline-flex;
    align-items: stretch;
    overflow: visible;
    width: auto;
    max-width: 140px;
    border-radius: 12px;
    background: rgba(var(--bg-primary-rgb), 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 18px !important;
    margin-bottom: 12px;
}

.dm-sticky-form .quantity.buttons_added .minus,
.dm-sticky-form .quantity.buttons_added .plus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 44px !important;
    padding: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    border: none !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center calc(50% - 1px) !important;
    background-size: 14px 14px !important;
    color: transparent !important;
    text-shadow: none !important;
    cursor: pointer !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 44px !important;
    box-sizing: border-box !important;
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.dm-sticky-form .quantity.buttons_added .minus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12h12' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.dm-sticky-form .quantity.buttons_added .plus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.dm-sticky-form .quantity.buttons_added .minus:hover,
.dm-sticky-form .quantity.buttons_added .plus:hover {
    background-color: rgba(255, 255, 255, 0.06);
}

.dm-sticky-form .quantity.buttons_added .qty {
    flex: 1;
    width: 40px;
    min-width: 40px;
    height: 44px;
    padding: 0 8px;
    border: none;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0;
    background: transparent;
    color: var(--text-primary);
}

.dm-sticky-form .quantity.buttons_added input[type="text"] {
    color: var(--text-primary) !important;
}

.dm-sticky-form .quantity.buttons_added .qty:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(var(--accent-info-rgb), 0.25);
}

/* Stripe express buttons (Apple Pay/Google Pay/Link) inside the sidebar card */
.dm-sticky-form .wc-stripe-product-checkout-container {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    width: 100%;
}

.dm-sticky-form .wc-stripe-product-checkout-container ul.wc_stripe_product_payment_methods {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px;
}

.dm-sticky-form .wc-stripe-product-checkout-container ul.wc_stripe_product_payment_methods > li {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
}

.dm-sticky-form .wc-stripe-product-checkout-container .payment-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    padding: 4px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(var(--bg-primary-rgb), 0.55);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

.dm-sticky-form .payment_method_stripe_link_checkout .payment-box {
    position: relative;
    background: #00d66f;
    border-color: #00d66f;
}

.dm-sticky-form .payment_method_stripe_link_checkout .payment-box::after {
    content: "Pay with Link";
    position: absolute;
    inset: 4px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #00d66f;
    color: #06140d;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0;
    pointer-events: none;
    text-transform: none;
}

.dm-sticky-form .wc-stripe-product-checkout-container .payment-box > * ,
.dm-sticky-form .wc-stripe-product-checkout-container .StripeElement,
.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-payment-request-container,
.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-googlepay-container,
.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-applepay-container,
.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-link-element {
    width: 100%;
    min-width: 0;
}

.dm-sticky-form .wc-stripe-product-checkout-container .gpay-button-container,
.dm-sticky-form .wc-stripe-product-checkout-container .gpay-button,
.dm-sticky-form .wc-stripe-product-checkout-container .gpay-button-container button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 10px !important;
}

.dm-sticky-form .payment_method_stripe_googlepay .gpay-button.disabled,
.dm-sticky-form .payment_method_stripe_googlepay .gpay-button[disabled],
.dm-sticky-form .payment_method_stripe_googlepay button[disabled] {
    opacity: 1 !important;
    filter: none !important;
}

.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-link-element,
.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-link-element .__PrivateStripeElement,
.dm-sticky-form .wc-stripe-product-checkout-container #wc-stripe-link-element iframe {
    min-height: 48px !important;
    height: 48px !important;
}

@media (max-width: 640px) {
    .dm-sticky-form .wc-stripe-product-checkout-container ul.wc_stripe_product_payment_methods {
        grid-template-columns: 1fr;
    }
}

/* Cart actions (Add to cart + Buy Now) */
.dm-sticky-form .dm-product-cart__actions {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

/* CTA buttons: consistent sizing + inverted hover behavior
   - Add to cart: default = filled, hover = outline
   - Buy now: default = outline, hover = filled
*/
.dm-product-cart__actions .dm-product-cta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.dm-product-cart__actions .dm-product-cta-row > .single_add_to_cart_button,
.dm-product-cart__actions .dm-product-cta-row > .wcbntf-buy-now {
    grid-column: 1 / -1;
}

.dm-product-cart__actions .dm-product-cta-extras {
    width: 100%;
}

.dm-product-cart__actions .dm-product-cta-wallet-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 40px 0 10px;
    color: rgba(255, 255, 255, 0.72);
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dm-product-cart__actions .dm-product-cta-wallet-label::before,
.dm-product-cart__actions .dm-product-cta-wallet-label::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
}

.dm-product-cart__actions .dm-product-cta-wallet-label > span {
    white-space: nowrap;
}

.dm-product-cart__actions .dm-product-cta-extras > .wc-stripe-product-checkout-container {
    width: 100%;
}

.dm-product-cart__actions .dm-product-cta-extras.dm-wallets-ready:not(.has-active-wallets) .dm-product-cta-wallet-label,
.dm-sticky-form .wc-stripe-product-checkout-container.dm-wallets-ready:not(.has-visible-wallets) {
    display: none !important;
}

.dm-sticky-form .wc-stripe-product-checkout-container.dm-wallets-ready ul.wc_stripe_product_payment_methods > li:not(.dm-wallet-mounted) {
    display: none !important;
}

.dm-sticky-form .payment_method_stripe_link_checkout.dm-wallet-pending .payment-box::before {
    content: "Loading express checkout...";
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

@media (max-width: 480px) {
    .dm-product-cart__actions .dm-product-cta-row {
        grid-template-columns: 1fr;
    }
}

.dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button,
.dm-product-cart__actions .dm-product-cta-row .wcbntf-buy-now,
.dm-product-cart__actions .dm-product-cta-extras .wcbntf-buy-now {
    width: 100%;
    height: 56px;
    min-height: 56px;
    padding: 16px 20px;
    border-radius: 14px;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button {
    background: var(--accent-info);
    border: 1px solid var(--accent-info);
    color: #fff;
}

.dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button:hover {
    transform: translateY(-3px);
    background: transparent;
    color: var(--accent-info);
    box-shadow: 0 12px 36px rgba(var(--accent-info-rgb), 0.18);
}

.dm-product-cart__actions .dm-product-cta-row .wcbntf-buy-now,
.dm-product-cart__actions .dm-product-cta-extras .wcbntf-buy-now {
    background: transparent;
    border: 1px solid rgba(var(--accent-info-rgb), 0.6);
    color: var(--accent-info);
}

.dm-product-cart__actions .dm-product-cta-row .wcbntf-buy-now:hover,
.dm-product-cart__actions .dm-product-cta-extras .wcbntf-buy-now:hover {
    transform: translateY(-3px);
    background: var(--accent-info);
    border-color: var(--accent-info);
    color: #fff;
    box-shadow: 0 12px 36px rgba(var(--accent-info-rgb), 0.18);
}

.dm-sticky-form .wcbntf-buy-now:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.2), 0 10px 28px rgba(0, 0, 0, 0.25);
}

.dm-product-cart__actions .wcbntf-buy-now:focus-visible,
.dm-product-cart__actions .single_add_to_cart_button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.2), 0 10px 28px rgba(0, 0, 0, 0.25);
}

/* Reviews ticker (product CTA). */
.dm-sticky-form .dm-product-cart__reviews,
.dm-product-sidebar>.dm-product-cart__reviews {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* Legacy trust widgets injected by the Bridge add-to-cart template */
.dm-sticky-form .svg-icons {
    max-width: 100% !important;
    width: 100% !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: wrap;
    padding-bottom: 16px !important;
    margin: 16px auto 0 !important;
}

.dm-sticky-form .svg-icons img {
    height: 22px;
    width: auto;
    display: block;
    opacity: 0.92;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.25));
}

.dm-sticky-form .custom-benefits-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0 0;
}

@media (max-width: 520px) {
    .dm-sticky-form .custom-benefits-container {
        grid-template-columns: 1fr;
    }
}

.dm-sticky-form .benefit {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 12px;
    border-radius: 14px;
    background: rgba(var(--bg-primary-rgb), 0.55);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-primary);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
}

.dm-sticky-form .benefit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--radius-full);
    background: var(--accent-success-soft);
    color: var(--accent-success);
    flex: 0 0 auto;
    font-size: 16px;
}

.dm-sticky-form .benefit-text {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-secondary);
}

.dm-sticky-form .reviews-card .tp-widget-reviews-filter-label {
    color: rgba(var(--bg-primary-rgb), 0.7);
}

/* Trust Badges */
.dm-sidebar-trust {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.dm-sidebar-trust__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.dm-sidebar-trust__item::before {
    content: none;
}

.dm-sidebar-trust__item svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
    color: var(--accent-success);
    background: var(--accent-success-soft);
    border-radius: var(--radius-full);
    padding: 3px;
    box-sizing: border-box;
}

/* Payment Icons */
.dm-sidebar-payments {
    display: flex;
    gap: 8px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    justify-content: center;
    flex-wrap: wrap;
}

.dm-sidebar-payments .dm-payment-svg {
    display: block;
    height: 28px;
    width: auto;
    max-width: 82px;
    padding: 8px 11px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    opacity: 0.92;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.25));
    transition: background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);
}

.dm-sidebar-payments .dm-payment-svg:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    opacity: 1;
}

/* ==========================================================================
   Product Tabs
   ========================================================================== */

.woocommerce div.product .woocommerce-tabs {
    margin-top: 48px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    padding: 6px;
    margin: 0 0 24px;
    display: flex;
    gap: 4px;
    background: rgba(var(--bg-hero-top-rgb), 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    background: none;
    border: none;
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 14px 24px;
    color: var(--text-secondary);
    font-weight: 600;
    font-size: 14px;
    border-radius: 10px;
    transition: all 0.2s;
    text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-primary-hover) 100%);
    color: var(--text-primary);
    box-shadow: 0 4px 16px rgba(var(--accent-primary-rgb), 0.35);
}

.woocommerce div.product .woocommerce-tabs .panel {
    background: rgba(var(--bg-hero-top-rgb), 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    padding: 32px;
    color: var(--text-secondary);
    line-height: 1.8;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    color: var(--text-primary);
    font-size: 1.25rem;
    margin-bottom: 20px;
}

/* ==========================================================================
   Related Products
   ========================================================================== */

/* Reset section.related to BLOCK - not grid! */
.woocommerce div.product section.related,
.dm-related-products-wrap section.related {
    display: block !important;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    width: 100% !important;
}

.woocommerce div.product section.related>h2,
.dm-related-products-wrap section.related>h2 {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 32px;
    display: block !important;
    width: 100% !important;
}

/* Force horizontal grid for related products - full width */
.woocommerce div.product section.related ul.products,
.dm-related-products-wrap section.related ul.products,
.dm-related-products-wrap ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Product card in related products */
.dm-related-products-wrap ul.products li.product,
.woocommerce div.product section.related ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Product card images
   Scope this to the main artwork so badge icons do not inherit full-width styling. */
.dm-related-products-wrap ul.products li.product .dm-product-card__image > img,
.woocommerce div.product section.related ul.products li.product .dm-product-card__image > img,
.dm-related-products-wrap ul.products li.product > a > img,
.woocommerce div.product section.related ul.products li.product > a > img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    margin-bottom: 12px;
}

/* Platform badges on related-product cards
   These styles also exist on category pages, but single-product pages do not load that stylesheet. */
.dm-related-products-wrap .dm-product-card__platforms,
.woocommerce div.product section.related .dm-product-card__platforms {
    position: absolute;
    right: 12px;
    top: 12px;
    display: flex;
    gap: 6px;
    z-index: 11;
    pointer-events: auto;
}

.dm-related-products-wrap .dm-platform-badge,
.woocommerce div.product section.related .dm-platform-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 12px;
    color: var(--text-primary);
    background: rgba(var(--bg-secondary-rgb), 0.75);
    border: 1px solid rgba(var(--text-primary-rgb), 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.dm-related-products-wrap .dm-platform-badge:hover,
.woocommerce div.product section.related .dm-platform-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px -18px rgba(0, 0, 0, 0.9);
}

.dm-related-products-wrap .dm-platform-badge__logo,
.woocommerce div.product section.related .dm-platform-badge__logo {
    display: block;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    flex-shrink: 0;
}

.dm-related-products-wrap .dm-platform-badge--playstation,
.woocommerce div.product section.related .dm-platform-badge--playstation {
    background: rgba(var(--accent-info-rgb), 0.18);
    border-color: rgba(var(--accent-info-rgb), 0.35);
}

.dm-related-products-wrap .dm-platform-badge--xbox,
.woocommerce div.product section.related .dm-platform-badge--xbox {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.35);
}

.dm-related-products-wrap .dm-platform-badge--pc,
.woocommerce div.product section.related .dm-platform-badge--pc {
    background: rgba(14, 165, 233, 0.16);
    border-color: rgba(14, 165, 233, 0.32);
}

/* Product card title */
.dm-related-products-wrap ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product section.related ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

/* Product card price */
.dm-related-products-wrap ul.products li.product .price,
.woocommerce div.product section.related ul.products li.product .price {
    font-size: 16px;
    font-weight: 700;
    color: var(--accent-primary);
}

@media (max-width: 1024px) {

    .woocommerce div.product section.related ul.products,
    .dm-related-products-wrap ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {

    .woocommerce div.product section.related ul.products,
    .dm-related-products-wrap ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {

    .woocommerce div.product section.related ul.products,
    .dm-related-products-wrap ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   Buying Process Section (match homepage)
   ========================================================================== */

.dm-product-description section[aria-labelledby*="how-it-works" i],
.dm-product-description [id*="how-it-works" i] {
    display: none !important;
}

.dm-how-it-works-wrap .dm-process-section {
    padding: var(--space-3xl) 0;
    background-color: var(--bg-secondary, #101521);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

@keyframes dmProductPulseRing {
    0%,
    100% {
        transform: scale(1);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.15);
        opacity: 0.8;
    }
}

@keyframes dmProductSlideIn {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes dmProductFloat {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
}

@keyframes dmProductConnectorFlow {
    0% {
        left: 0;
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}

.dm-how-it-works-wrap .futuristic-process {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
    margin-top: 40px;
}

.dm-how-it-works-wrap .process-step-card {
    position: relative;
    background: rgba(var(--bg-tertiary-rgb, 25, 31, 48), 0.8);
    border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.1));
    border-radius: 20px;
    padding: 40px 30px 30px;
    text-align: center;
    width: 220px;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    opacity: 0;
    animation: dmProductSlideIn 0.6s ease-out forwards;
}

.dm-how-it-works-wrap .process-step-card[data-step='1'] {
    animation-delay: 0.1s;
}

.dm-how-it-works-wrap .process-step-card[data-step='2'] {
    animation-delay: 0.3s;
}

.dm-how-it-works-wrap .process-step-card[data-step='3'] {
    animation-delay: 0.5s;
}

.dm-how-it-works-wrap .process-step-card[data-step='4'] {
    animation-delay: 0.7s;
}

.dm-how-it-works-wrap .process-step-card .step-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(var(--accent-primary-rgb), 0.12) 0%, transparent 55%);
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
}

.dm-how-it-works-wrap .process-step-card:hover .step-glow {
    opacity: 1;
}

.dm-how-it-works-wrap .process-step-card:hover {
    transform: translateY(-10px);
    border-color: rgba(var(--accent-primary-rgb, 0, 255, 179), 0.5);
    box-shadow: 0 20px 50px rgba(var(--accent-primary-rgb, 0, 255, 179), 0.12), 0 0 30px rgba(var(--accent-primary-rgb, 0, 255, 179), 0.08);
}

.dm-how-it-works-wrap .step-icon-wrapper {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
}

.dm-how-it-works-wrap .step-icon-ring {
    position: absolute;
    inset: 0;
    border: 2px solid rgba(var(--accent-primary-rgb, 0, 255, 179), 0.3);
    border-radius: 50%;
    animation: dmProductPulseRing 3s ease-in-out infinite;
}

.dm-how-it-works-wrap .process-step-card[data-step='2'] .step-icon-ring {
    animation-delay: 0.5s;
}

.dm-how-it-works-wrap .process-step-card[data-step='3'] .step-icon-ring {
    animation-delay: 1s;
}

.dm-how-it-works-wrap .process-step-card[data-step='4'] .step-icon-ring {
    animation-delay: 1.5s;
}

.dm-how-it-works-wrap .step-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    background: rgba(var(--accent-primary-rgb, 0, 255, 179), 0.1);
    border-radius: 50%;
    animation: dmProductFloat 4s ease-in-out infinite;
}

.dm-how-it-works-wrap .process-step-card[data-step='2'] .step-icon {
    animation-delay: 1s;
}

.dm-how-it-works-wrap .process-step-card[data-step='3'] .step-icon {
    animation-delay: 2s;
}

.dm-how-it-works-wrap .process-step-card[data-step='4'] .step-icon {
    animation-delay: 3s;
}

.dm-how-it-works-wrap .step-number {
    font-size: 0.75rem;
    font-weight: 800;
    color: rgba(var(--accent-primary-rgb, 0, 255, 179), 0.7);
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.dm-how-it-works-wrap .step-title {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--text-primary, #ffffff);
    margin: 0 0 10px;
}

.dm-how-it-works-wrap .step-desc {
    font-size: 0.85rem;
    color: var(--text-secondary, rgba(255, 255, 255, 0.78));
    margin: 0;
    line-height: 1.5;
}

.dm-how-it-works-wrap .process-connector {
    position: relative;
    width: 60px;
    height: 2px;
    margin: 0 -5px;
}

.dm-how-it-works-wrap .connector-line {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(var(--accent-primary-rgb, 0, 255, 179), 0.25), rgba(var(--accent-primary-rgb, 0, 255, 179), 0.55), rgba(var(--accent-primary-rgb, 0, 255, 179), 0.25));
    transform: translateY(-50%);
}

.dm-how-it-works-wrap .connector-dot {
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    background: var(--accent-primary, #00ffb3);
    border-radius: 50%;
    transform: translateY(-50%);
    animation: dmProductConnectorFlow 2s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(var(--accent-primary-rgb, 0, 255, 179), 0.7);
}

@media (max-width: 992px) {
    .dm-how-it-works-wrap .futuristic-process {
        flex-direction: column;
        gap: 20px;
    }

    .dm-how-it-works-wrap .process-connector {
        width: 2px;
        height: 40px;
        margin: 0;
    }

    .dm-how-it-works-wrap .connector-line {
        width: 2px;
        height: 100%;
        left: 50%;
        top: 0;
        bottom: 0;
        right: auto;
        transform: translateX(-50%);
        background: linear-gradient(180deg, rgba(var(--accent-primary-rgb, 0, 255, 179), 0.25), rgba(var(--accent-primary-rgb, 0, 255, 179), 0.55), rgba(var(--accent-primary-rgb, 0, 255, 179), 0.25));
    }

    .dm-how-it-works-wrap .connector-dot {
        left: 50%;
        transform: translateX(-50%);
        animation: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dm-how-it-works-wrap .process-step-card {
        animation: none;
        opacity: 1;
    }

    .dm-how-it-works-wrap .step-icon-ring,
    .dm-how-it-works-wrap .step-icon,
    .dm-how-it-works-wrap .connector-dot {
        animation: none;
    }
}

/* ==========================================================================
   Mobile Responsiveness
   ========================================================================== */

@media (max-width: 768px) {
    /* Tighten single-product page gutters so more content fits on narrow screens. */
    body.single-product .dm-breadcrumbs-wrap.container,
    body.single-product .dm-product-layout.container,
    body.single-product .dm-related-products-wrap.container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        padding-left: 4px;
        padding-right: 4px;
    }

    body.single-product .dm-product-sidebar,
    body.single-product .dm-sticky-form {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    body.single-product .dm-breadcrumbs-wrap.container {
        padding-top: 10px;
        padding-bottom: 4px;
    }

    /* Keep long product breadcrumbs on one line instead of stacking into a tall block. */
    body.single-product .dm-breadcrumbs {
        flex-wrap: nowrap;
        gap: 4px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        font-size: 11px;
        line-height: 1.2;
        padding-bottom: 2px;
        box-sizing: border-box;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    body.single-product .dm-breadcrumbs-wrap.container {
        overflow: hidden;
    }

    body.single-product .dm-breadcrumbs::-webkit-scrollbar {
        display: none;
    }

    body.single-product .dm-breadcrumbs a,
    body.single-product .dm-breadcrumbs .separator,
    body.single-product .dm-breadcrumbs .current {
        flex: 0 0 auto;
    }

    body.single-product .dm-breadcrumbs a {
        max-width: min(38vw, 150px);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.single-product .dm-breadcrumbs .separator {
        margin: 0 2px;
    }

    /* The page title is already shown below, so hide the current crumb on mobile. */
    body.single-product .dm-breadcrumbs > .separator:nth-last-child(2),
    body.single-product .dm-breadcrumbs > .current {
        display: none;
    }

    body.single-product .dm-breadcrumbs .current {
        max-width: min(46vw, 220px);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.single-product .dm-product-layout {
        gap: 16px;
        padding-top: 12px;
        padding-bottom: 16px;
    }

    body.single-product .dm-product-gallery-wrap {
        margin-bottom: 0;
    }

    body.single-product .dm-product-main .woocommerce-product-gallery,
    body.single-product .woocommerce div.product div.images {
        margin-bottom: 14px;
    }

    body.single-product .dm-sticky-form {
        padding: 14px 12px;
        border-radius: 16px;
    }

    /* Product description ("article") readability + WPBakery container reset */
    body.single-product .dm-product-description {
        padding: 10px 8px;
        background: rgba(var(--bg-card-rgb), 0.6);
        border: 1px solid var(--border-subtle);
        border-radius: 12px;
        box-sizing: border-box;
        font-size: 15px;
        line-height: 1.65;
    }

    body.single-product .dm-product-description .wpb-content-wrapper,
    body.single-product .dm-product-description .vc_row,
    body.single-product .dm-product-description .vc_row-fluid,
    body.single-product .dm-product-description .wpb_row,
    body.single-product .dm-product-description .full_section_inner,
    body.single-product .dm-product-description .vc_column_container,
    body.single-product .dm-product-description .wpb_column,
    body.single-product .dm-product-description .vc_column-inner,
    body.single-product .dm-product-description .wpb_wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
    }

    body.single-product .dm-product-description ul,
    body.single-product .dm-product-description ol {
        padding-left: 20px;
    }

    body.single-product .dm-product-description p>strong {
        color: var(--text-primary);
    }
}

@media (max-width: 480px) {
    body.single-product .dm-breadcrumbs-wrap.container,
    body.single-product .dm-product-layout.container,
    body.single-product .dm-related-products-wrap.container {
        padding-left: 2px;
        padding-right: 2px;
    }

    body.single-product .dm-breadcrumbs {
        gap: 3px;
        font-size: 10px;
    }

    body.single-product .dm-breadcrumbs a {
        max-width: min(42vw, 132px);
    }

    body.single-product .dm-breadcrumbs .current {
        max-width: min(52vw, 180px);
    }

    .dm-sticky-form {
        padding: 12px 10px;
        border-radius: 14px;
    }

    .dm-sticky-form .product_title {
        font-size: 1.25rem;
    }

    .dm-sticky-form .price {
        font-size: 1.75rem;
    }

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

    .dm-sidebar-trust {
        grid-template-columns: 1fr;
    }

    body.single-product .dm-product-description {
        font-size: 14px;
        line-height: 1.6;
        padding: 8px 6px;
    }

    body.single-product .dm-product-description ul,
    body.single-product .dm-product-description ol {
        padding-left: 18px;
    }

    body.single-product .dm-product-description li {
        margin-bottom: 6px;
    }
}

/* Product article structure blocks */
body.single-product .dm-product-description .dm-product-table-wrap {
    width: 100%;
    margin: 18px 0 26px;
    overflow-x: auto;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
}

body.single-product .dm-product-description .dm-product-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.55;
}

body.single-product .dm-product-description .dm-product-table th,
body.single-product .dm-product-description .dm-product-table td {
    padding: 13px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

body.single-product .dm-product-description .dm-product-table tr:last-child th,
body.single-product .dm-product-description .dm-product-table tr:last-child td {
    border-bottom: 0;
}

body.single-product .dm-product-description .dm-product-table th {
    width: 30%;
    color: var(--text-primary);
    font-weight: 800;
    background: rgba(255, 255, 255, 0.035);
}

body.single-product .dm-product-description .dm-product-checklist {
    margin: 12px 0 24px;
    padding-left: 20px;
}

body.single-product .dm-product-description .dm-product-checklist li {
    margin-bottom: 8px;
}

body.single-product .dm-product-description .dm-product-callout {
    margin: 18px 0 26px;
    padding: 16px 18px;
    border-left: 3px solid var(--accent-primary);
    border-radius: 8px;
    background: rgba(var(--accent-primary-rgb), 0.08);
    color: var(--text-secondary);
    line-height: 1.6;
}

body.single-product .dm-product-description .dm-product-callout strong {
    color: var(--text-primary);
}

body.single-product .dm-product-description .dm-product-steps {
    margin: 12px 0 24px;
    padding-left: 22px;
}

body.single-product .dm-product-description .dm-product-steps li {
    margin-bottom: 9px;
}

body.single-product .dm-product-description .dm-product-definition-list {
    margin: 14px 0 26px;
}

body.single-product .dm-product-description .dm-product-definition-list dt {
    margin-top: 14px;
    color: var(--text-primary);
    font-weight: 800;
}

body.single-product .dm-product-description .dm-product-definition-list dd {
    margin: 4px 0 0 0;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ==========================================================================
   Sale Badge
   ========================================================================== */

.dm-sale-badge {
    display: inline-block;
    padding: 8px 16px;
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-primary-hover) 100%);
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 8px;
    margin-bottom: 16px;
    box-shadow: 0 4px 12px rgba(var(--accent-primary-rgb), 0.4);
}

/* ==========================================================================
   Trust Badge Icons
   ========================================================================== */

.dm-sidebar-trust__item svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
    color: var(--accent-success);
    background: var(--accent-success-soft);
    border-radius: var(--radius-full);
    padding: 3px;
    box-sizing: border-box;
}

.dm-sidebar-trust__item::before {
    content: none;
}

/* ==========================================================================
   Related Products Wrapper
   ========================================================================== */

.dm-related-products-wrap {
    margin-top: 60px;
    margin-bottom: 20px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.dm-related-products-wrap .dm-badges,
.dm-related-products-wrap .dm-product-card__badges {
    display: none !important;
}

.dm-related-products-wrap>section.related {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* ==========================================================================
   How It Works Wrapper
   ========================================================================== */

.dm-how-it-works-wrap {
    margin-top: 40px;
    margin-bottom: 0;
}

.dm-how-it-works-wrap .dm-process-section {
    margin: 0;
}

/* ==========================================================================
   Product Price Wrapper
   ========================================================================== */

.dm-product-price {
    margin-bottom: 20px;
}

.dm-product-price .price {
    margin-bottom: 0;
}

/* ==========================================================================
   Add to Cart Wrapper
   ========================================================================== */

.dm-add-to-cart-wrap {
    margin-top: 20px;
}

.dm-add-to-cart-wrap .out-of-stock {
    color: var(--text-muted);
    font-size: 14px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    text-align: center;
}

/* ==========================================================================
   Sold Out Badge (matches listing cards)
   ========================================================================== */

body.single-product .dm-product-card__soldout {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(var(--accent-primary-rgb), 0.92);
    border: 1px solid rgba(var(--accent-primary-light-rgb), 0.22);
    color: var(--text-primary);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

/* ==========================================================================
   Gallery Wrapper
   ========================================================================== */

.dm-product-gallery-wrap {
    position: relative;
    display: block !important;
    margin-bottom: 32px;
    border-radius: 16px;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(var(--bg-card-rgb), 0.92) 0%, rgba(var(--bg-secondary-rgb), 0.86) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

/* Theme template outputs a single <img class="dm-product-image"> instead of WC's gallery markup. */
.dm-product-gallery-wrap img.dm-product-image,
.dm-product-gallery-wrap img.woocommerce-placeholder,
.dm-product-gallery-wrap img.wp-post-image {
    display: block;
    width: 100%;
    height: auto !important;
    max-width: 100%;
    max-height: none !important;
    object-fit: contain;
    object-position: center center;
    aspect-ratio: auto;
    margin: 0 auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Theme-native gallery (does not depend on Woo/FlexSlider runtime init). */
.dm-product-gallery-wrap .dm-native-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 12px;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-content: start !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
}

.dm-product-gallery-wrap .dm-native-gallery__stage {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.dm-product-gallery-wrap .dm-native-gallery__slide {
    display: block;
    width: 100% !important;
    margin: 0;
    height: auto !important;
    min-height: 0 !important;
}

.dm-product-gallery-wrap .dm-native-gallery__slide[hidden] {
    display: none !important;
}

.dm-product-gallery-wrap .dm-native-gallery__slide>a,
.dm-product-gallery-wrap .dm-native-gallery__slide>span {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(var(--bg-card-rgb), 0.92) 0%, rgba(var(--bg-secondary-rgb), 0.86) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.dm-product-gallery-wrap .dm-native-gallery__stage-link {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    line-height: 0 !important;
}

.dm-product-gallery-wrap .dm-native-gallery__image {
    display: block;
    width: 100%;
    height: auto !important;
    max-width: 100%;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
    margin: 0 auto;
}

.dm-product-gallery-wrap .dm-native-gallery__thumbs {
    display: flex;
    gap: 10px;
    align-self: start !important;
    margin-top: 0 !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.dm-product-gallery-wrap .dm-native-gallery__thumbs::-webkit-scrollbar {
    display: none;
}

.dm-product-gallery-wrap .dm-native-gallery__thumb-wrap {
    flex: 0 0 auto;
}

.dm-product-gallery-wrap .dm-native-gallery__thumb-link {
    display: block;
    width: 72px;
    height: 72px;
    padding: 0;
    appearance: none;
    cursor: pointer;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.04);
}

.dm-product-gallery-wrap .dm-native-gallery__thumb-link:hover {
    border-color: rgba(255, 255, 255, 0.35);
}

.dm-product-gallery-wrap .dm-native-gallery__thumb-link:focus-visible {
    outline: none;
    border-color: rgba(var(--accent-primary-rgb), 0.8);
    box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb), 0.2);
}

.dm-product-gallery-wrap .dm-native-gallery__thumb-link.is-active {
    border-color: rgba(var(--accent-primary-rgb), 0.85);
    box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb), 0.22);
}

.dm-product-gallery-wrap .dm-native-gallery__thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* WooCommerce sets inline opacity: 0 until its gallery JS initializes.
   WP Rocket can delay that initialization, so force visibility immediately. */
.dm-product-gallery-wrap .woocommerce-product-gallery {
    opacity: 1 !important;
}

/*
  Deterministic CSS carousel rail.
  We keep this active regardless of FlexSlider state to avoid blank galleries when
  JS initialization is delayed/partial by optimization plugins.
*/
.dm-product-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 0;
    -webkit-overflow-scrolling: touch;
    width: auto !important;
    transform: none !important;
    transition: none !important;
    padding: 0;
    margin: 0;
    list-style: none;
    scrollbar-width: none;
}

.dm-product-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
    display: none;
}

.dm-product-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__image {
    display: block !important;
    flex: 0 0 100%;
    width: 100% !important;
    float: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    margin: 0;
}

@media (max-width: 768px) {
    .dm-product-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        gap: 12px;
        padding-right: 8%;
    }

    .dm-product-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__image {
        flex-basis: 92%;
    }
}

/* Stage styling */
.dm-product-gallery-wrap .woocommerce-product-gallery__image>a,
.dm-product-gallery-wrap .woocommerce-product-gallery__image--placeholder {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(var(--bg-card-rgb), 0.92) 0%, rgba(var(--bg-secondary-rgb), 0.86) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
    aspect-ratio: auto;
}

.dm-product-gallery-wrap .woocommerce-product-gallery__image img,
.dm-product-gallery-wrap .woocommerce-product-gallery__image--placeholder img {
    display: block;
    width: 100%;
    height: auto !important;
    max-width: 100%;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
    margin: 0 auto;
    border-radius: 0;
    border: 0;
    box-shadow: none;
}

/* Thumbnails (when flexslider has initialized) */
.dm-product-gallery-wrap .flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.dm-product-gallery-wrap .flex-control-thumbs::-webkit-scrollbar {
    display: none;
}

.dm-product-gallery-wrap .flex-control-thumbs li {
    flex: 0 0 auto;
}

.dm-product-gallery-wrap .flex-control-thumbs img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    opacity: 0.75;
    cursor: pointer;
    transition: opacity var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}

.dm-product-gallery-wrap .flex-control-thumbs img:hover {
    opacity: 1;
    transform: translateY(-1px);
}

.dm-product-gallery-wrap .flex-control-thumbs img.flex-active {
    opacity: 1;
    border-color: rgba(var(--accent-primary-rgb), 0.8);
    box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb), 0.18);
}

/* ==========================================================================
   WCPA Form Addon Styling (Premium)
   ========================================================================== */

.dm-sticky-form .wcpa_form_outer {
    margin-bottom: 0;
    overflow: visible;
}

.dm-sticky-form .wcpa_wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: visible;
}

.dm-sticky-form .wcpa_section {
    margin: 0;
    padding: 0;
    overflow: visible;
}

.dm-sticky-form .wcpa_section_body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow: visible;
}

.dm-sticky-form .wcpa_row {
    margin: 0 !important;
}

/* WCPA Field Wrapper */
.dm-sticky-form .wcpa_field_wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* WCPA Labels - Force new lines */
.dm-sticky-form .wcpa_field_label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    display: block !important;
    width: 100% !important;
    margin-bottom: 8px !important;
}

body.single-product .wcpa_option_desc,
body.single-product .wcpa_option_desc p,
.dm-sticky-form .wcpa_option_desc,
.dm-sticky-form .wcpa_option_desc p {
    color: #fff !important;
}

body.single-product .dmz-express-guard {
    display: none !important;
    pointer-events: none !important;
}

.dm-sticky-form .wcpa_left_wrap {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.dm-sticky-form .wcpa_required_ast {
    color: var(--accent-info);
    margin-left: 2px;
}

/* WCPA Input Fields */
.dm-sticky-form .wcpa_field_wrap input[type="text"],
.dm-sticky-form .wcpa_field_wrap input[type="email"],
.dm-sticky-form .wcpa_field_wrap input[type="number"],
.dm-sticky-form .wcpa_field_wrap textarea {
    width: 100%;
    padding: 14px 16px;
    background: rgba(var(--bg-primary-rgb), 0.7);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 14px;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.dm-sticky-form .wcpa_field_wrap input:focus,
.dm-sticky-form .wcpa_field_wrap textarea:focus {
    outline: none;
    border-color: rgba(var(--accent-info-rgb), 0.5);
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.1);
}

.dm-sticky-form .wcpa_field_wrap input::placeholder {
    color: var(--text-muted);
    font-size: 13px;
}

/* WCPA Select Dropdowns - prevent clipping */
.dm-sticky-form .wcpa_field_wrap select {
    width: 100%;
    min-height: 48px;
    padding: 0 40px 0 16px;
    background-color: rgba(var(--bg-primary-rgb), 0.7);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 14px;
    line-height: 48px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    box-sizing: border-box;
}

.dm-sticky-form .wcpa_field_wrap select:hover,
.dm-sticky-form .wcpa_field_wrap select:focus {
    outline: none;
    border-color: rgba(var(--accent-info-rgb), 0.5);
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.1);
}



/* WCPA React Select (new dropdown UI used by some WCPA fields) */
.dm-sticky-form .wcpa__control,
.wcpa_form_outer .wcpa__control {
    background: rgba(var(--bg-primary-rgb), 0.7) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    min-height: 48px !important;
    box-shadow: none !important;
    cursor: pointer;
}

.dm-sticky-form .wcpa__control:hover,
.wcpa_form_outer .wcpa__control:hover {
    border-color: rgba(var(--accent-info-rgb), 0.35) !important;
}

.dm-sticky-form .wcpa__control--is-focused,
.wcpa_form_outer .wcpa__control--is-focused,
.dm-sticky-form .wcpa__control:focus-within,
.wcpa_form_outer .wcpa__control:focus-within {
    border-color: rgba(var(--accent-info-rgb), 0.5) !important;
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.12) !important;
}

.dm-sticky-form .wcpa__value-container,
.wcpa_form_outer .wcpa__value-container {
    padding: 2px 14px !important;
}

.dm-sticky-form .wcpa__placeholder,
.wcpa_form_outer .wcpa__placeholder {
    color: var(--text-muted) !important;
    font-size: 14px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dm-sticky-form .wcpa__single-value,
.wcpa_form_outer .wcpa__single-value {
    color: var(--text-primary) !important;
    font-size: 14px !important;
}

.dm-sticky-form .wcpa__input-container,
.wcpa_form_outer .wcpa__input-container {
    color: var(--text-primary) !important;
    font-size: 14px !important;
}

.dm-sticky-form .wcpa__indicators,
.wcpa_form_outer .wcpa__indicators {
    padding-right: 8px !important;
}

.dm-sticky-form .wcpa__indicator-separator,
.wcpa_form_outer .wcpa__indicator-separator {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

.dm-sticky-form .wcpa__dropdown-indicator,
.wcpa_form_outer .wcpa__dropdown-indicator {
    color: var(--text-secondary) !important;
}

.dm-sticky-form .wcpa__dropdown-indicator:hover,
.wcpa_form_outer .wcpa__dropdown-indicator:hover {
    color: var(--text-primary) !important;
}

/* Dropdown menu */
.dm-sticky-form .wcpa__menu,
.wcpa_form_outer .wcpa__menu {
    background: rgb(var(--bg-secondary-rgb)) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55) !important;
    z-index: 9999 !important;
}

.dm-sticky-form .wcpa__menu-list,
.wcpa_form_outer .wcpa__menu-list {
    padding: 6px !important;
}

.dm-sticky-form .wcpa__option,
.wcpa_form_outer .wcpa__option {
    color: var(--text-primary) !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    cursor: pointer;
}

.dm-sticky-form .wcpa__option--is-focused,
.wcpa_form_outer .wcpa__option--is-focused {
    background: rgba(var(--accent-info-rgb), 0.14) !important;
}

.dm-sticky-form .wcpa__option--is-selected,
.wcpa_form_outer .wcpa__option--is-selected {
    background: rgba(var(--accent-info-rgb), 0.22) !important;
    color: var(--text-primary) !important;
}

/* Multi-select chips */
.dm-sticky-form .wcpa__multi-value,
.wcpa_form_outer .wcpa__multi-value {
    background: rgba(var(--accent-info-rgb), 0.18) !important;
    border: 1px solid rgba(var(--accent-info-rgb), 0.25) !important;
    border-radius: 999px !important;
}

.dm-sticky-form .wcpa__multi-value__label,
.wcpa_form_outer .wcpa__multi-value__label {
    color: var(--text-primary) !important;
    font-weight: 600;
}

.dm-sticky-form .wcpa__multi-value__remove,
.wcpa_form_outer .wcpa__multi-value__remove {
    color: var(--text-primary) !important;
    opacity: 0.8;
}

.dm-sticky-form .wcpa__multi-value__remove:hover,
.wcpa_form_outer .wcpa__multi-value__remove:hover {
    background: rgba(var(--accent-info-rgb), 0.22) !important;
    color: var(--text-primary) !important;
    opacity: 1;
}

/* WCPA Checkbox Groups */
.dm-sticky-form .wcpa_type_checkbox-group .wcpa_field_label {
    margin-bottom: 10px;
    font-size: 11px;
    color: var(--text-muted);
}

.dm-sticky-form .wcpa_checkbox_wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dm-sticky-form .wcpa_checkbox_wrap label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: rgba(var(--bg-primary-rgb), 0.5);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    cursor: pointer;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.dm-sticky-form .wcpa_checkbox_wrap label:hover {
    background: rgba(var(--bg-primary-rgb), 0.7);
    border-color: rgba(var(--accent-info-rgb), 0.25);
}

.dm-sticky-form .wcpa_checkbox_wrap input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--accent-info);
    cursor: pointer;
}

/* WCPA Price Display */
.dm-sticky-form .wcpa_field_price {
    font-size: 13px;
    font-weight: 700;
    color: var(--accent-info);
}

.dm-sticky-form .wcpa_field_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 6px;
}

.dm-sticky-form .wcpa_field_error {
    font-size: 12px;
    color: var(--accent-info);
}

.dm-sticky-form .wcpa_has_error .wcpa_field_bottom,
.dm-sticky-form .wcpa_field_error,
.dm-sticky-form .wcpa_field_error p {
    text-align: left !important;
}

.dm-sticky-form .wcpa_has_error .wcpa_field_bottom {
    padding-left: 0 !important;
    justify-content: flex-start !important;
}

.dm-sticky-form .wcpa_field_error {
    margin-left: 0 !important;
    margin-right: auto;
}

/* WCPA Price Summary */
.dm-sticky-form .wcpa_price_summary {
    margin-top: 16px;
    padding: 14px 16px;
    background: rgba(var(--accent-info-rgb), 0.1);
    border: 1px solid rgba(var(--accent-info-rgb), 0.24);
    border-radius: 12px;
    overflow: visible;
}

.dm-sticky-form .wcpa_total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--text-primary);
}

.dm-sticky-form .wcpa_total>span:first-child {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dm-sticky-form .wcpa_price_outer {
    font-size: 1.5rem;
    color: var(--accent-info);
}

/* ==========================================================================
   Short Description Embedded Video
   ========================================================================== */

.dm-sticky-form .woocommerce-product-details__short-description iframe {
    border-radius: 12px;
    margin-top: 12px;
}

.dm-sticky-form .woocommerce-product-details__short-description>p:first-child {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 10px;
}

/* Do not clamp the short description (allow full height, no scroller). */
.dm-sticky-form .woocommerce-product-details__short-description {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    overflow-y: visible !important;
    padding-right: 0 !important;
}

/* ==========================================================================
   Senja Reviews Widget
   ========================================================================== */

.dm-sticky-form .dm-sidebar-reviews {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.dm-sticky-form #dm-reviews-widget-product {
    border-radius: 14px;
    overflow: hidden;
}

/* ==========================================================================
   CTA Row (Add to Cart + Buy Now buttons)
   ========================================================================== */

/* CTA row styling is now global via .dm-product-cart__actions .dm-product-cta-row */

/* ==========================================================================
   Improved Price Display
   ========================================================================== */

.dm-sticky-form .dm-product-price .price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.dm-sticky-form .dm-product-price .price .woocommerce-Price-amount {
    font-family: var(--font-heading);
    font-size: 2.25rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Enable sticky within Bridge wrapper (Bridge sets .wrapper_inner { overflow:hidden; } which breaks position:sticky) */
body.single-product .wrapper_inner {
    overflow: visible;
}

/* ==========================================================================
   Compact Purchase Rail
   ========================================================================== */

@media (min-width: 1025px) {
    body.single-product .dm-product-layout.container {
        width: min(var(--dm-product-max), calc(100vw - 48px)) !important;
        max-width: var(--dm-product-max) !important;
    }

    body.single-product .dm-sticky-form {
        top: calc(var(--header-height, 80px) + 16px);
        max-height: calc(100vh - (var(--header-height, 80px) + 32px));
        padding: 20px !important;
        border-radius: 18px;
    }

    body.single-product .dm-sticky-form .product_title,
    body.single-product .dm-sticky-form .entry-title {
        font-size: clamp(1.15rem, 1.2vw, 1.45rem);
        line-height: 1.2;
        margin-bottom: 8px;
    }

    body.single-product .dm-product-price {
        margin-bottom: 12px;
    }

    body.single-product .dm-sticky-form .dm-product-price .price {
        gap: 8px;
        line-height: 1.05;
    }

    body.single-product .dm-sticky-form .dm-product-price .price .woocommerce-Price-amount {
        font-size: 1.7rem;
    }

    body.single-product .dm-sticky-form .price del {
        font-size: 1rem;
    }

    body.single-product .dm-product-trust-strip {
        gap: 8px;
        margin-bottom: 12px;
    }

    body.single-product .dm-product-trust-item {
        align-items: center;
        gap: 8px;
        padding: 8px 9px;
        border-radius: 12px;
    }

    body.single-product .dm-product-trust-item__icon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }

    body.single-product .dm-product-trust-item__icon svg {
        width: 14px;
        height: 14px;
    }

    body.single-product .dm-product-trust-item__copy strong {
        font-size: 10.5px;
        line-height: 1.2;
    }

    body.single-product .dm-product-trust-item__copy span {
        display: block;
        font-size: 9.5px;
        line-height: 1.25;
    }

    body.single-product .dm-add-to-cart-wrap {
        margin-top: 12px;
    }

    body.single-product .dm-sticky-form .wcpa_form_outer,
    body.single-product .dm-sticky-form .wcpa_wrap,
    body.single-product .dm-sticky-form .wcpa_section_body {
        gap: 8px;
    }

    body.single-product .dm-sticky-form .wcpa_form_outer {
        margin-top: 0 !important;
    }

    body.single-product .dm-sticky-form .wcpa_field_wrap {
        gap: 6px;
        margin-bottom: 8px !important;
    }

    body.single-product .dm-sticky-form .wcpa_left_wrap {
        gap: 6px;
    }

    body.single-product .dm-sticky-form .wcpa_field_label {
        font-size: 10.5px;
        line-height: 1.2;
        margin-bottom: 4px !important;
    }

    body.single-product .dm-sticky-form select.wcpa_field,
    body.single-product .dm-sticky-form .wcpa_field select,
    body.single-product .dm-sticky-form select[id^="field_select_"],
    body.single-product .dm-sticky-form .wcpa_field_wrap select {
        min-height: 40px;
        height: 40px;
        line-height: 40px;
        padding: 0 36px 0 12px;
        border-radius: 10px;
        font-size: 13px;
    }

    body.single-product .dm-sticky-form .wcpa_price_summary {
        margin-top: 8px !important;
        padding: 8px 10px !important;
        border-radius: 10px;
    }

    body.single-product .dm-sticky-form .wcpa_total {
        min-height: 0;
        padding: 0 !important;
        margin-bottom: 0 !important;
        line-height: 1.2;
    }

    body.single-product .dm-sticky-form .wcpa_total > span:first-child {
        font-size: 10.5px;
    }

    body.single-product .dm-sticky-form .wcpa_price_outer {
        font-size: 1.1rem;
    }

    body.single-product .dm-sticky-form .quantity.buttons_added {
        margin-top: 10px !important;
        margin-bottom: 8px;
        max-width: 112px;
        border-radius: 10px;
    }

    body.single-product .dm-sticky-form .quantity.buttons_added .minus,
    body.single-product .dm-sticky-form .quantity.buttons_added .plus {
        width: 34px !important;
        min-width: 34px !important;
        height: 38px !important;
        line-height: 38px !important;
    }

    body.single-product .dm-sticky-form .quantity.buttons_added .qty {
        width: 34px;
        min-width: 34px;
        height: 38px;
    }

    body.single-product .dm-sticky-form .dm-product-cart__actions {
        gap: 8px;
        margin-top: 8px;
    }

    body.single-product .dm-sticky-form .dm-product-cart__actions .single_add_to_cart_button,
    body.single-product .dm-sticky-form .dm-product-cart__actions button[type="submit"],
    body.single-product .dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button,
    body.single-product .dm-product-cart__actions .dm-product-cta-row .wcbntf-buy-now,
    body.single-product .dm-product-cart__actions .dm-product-cta-extras .wcbntf-buy-now {
        height: 48px !important;
        min-height: 48px !important;
        padding: 13px 18px !important;
        border-radius: 12px !important;
        font-size: 0.82rem !important;
        letter-spacing: 0.06em !important;
    }

    body.single-product .dm-product-cart__actions .dm-product-cta-wallet-label {
        margin: 12px 0 8px;
        font-size: 0.62rem;
        letter-spacing: 0.1em;
    }

    body.single-product .dm-sticky-form .wc-stripe-product-checkout-container {
        margin-top: 8px;
        padding-top: 8px;
    }

    body.single-product .dm-sticky-form .wc-stripe-product-checkout-container ul.wc_stripe_product_payment_methods {
        gap: 8px;
    }

    body.single-product .dm-sticky-form .wc-stripe-product-checkout-container .payment-box {
        min-height: 46px;
        border-radius: 10px;
    }

    body.single-product .dm-sticky-form .woocommerce-product-details__short-description {
        max-height: none !important;
        overflow: visible !important;
        padding: 8px 0 !important;
        margin: 8px 0 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        font-size: 12px;
        line-height: 1.45;
    }

    body.single-product .dm-sticky-form .woocommerce-product-details__short-description p {
        margin-bottom: 8px;
    }

    body.single-product .dm-sticky-form .woocommerce-product-details__short-description li {
        padding: 3px 0;
        gap: 8px;
    }

    body.single-product .dm-sticky-form .woocommerce-product-details__short-description li::before {
        width: 16px;
        height: 16px;
        font-size: 9px;
    }

    body.single-product .dm-sticky-form .dm-product-cart__reviews {
        display: block;
        margin-top: 10px;
        padding-top: 10px;
    }

    body.single-product .dm-sidebar-payments {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin-top: 8px;
        padding-top: 8px;
    }

    body.single-product .dm-sidebar-payments .dm-payment-svg {
        width: 100%;
        height: 24px;
        max-width: none;
        padding: 6px 9px;
        border-radius: 8px;
        object-fit: contain;
        object-position: center;
    }

    body.single-product .dm-sidebar-trust {
        display: grid;
        gap: 8px;
        margin-top: 10px;
        padding-top: 10px;
    }
}

/* ==========================================================================
   Live Triple Column Product Test
   ========================================================================== */

@media (min-width: 1025px) {
    body.single-product .dm-product-layout,
    body.single-product .dm-product-layout.container,
    body.woocommerce .dm-product-layout,
    .dm-single-product .dm-product-layout {
        width: min(1360px, calc(100vw - 40px)) !important;
        max-width: 1360px !important;
        grid-template-columns: minmax(0, 1.28fr) minmax(380px, 0.96fr) minmax(340px, 0.78fr) !important;
        gap: 18px !important;
        align-items: start !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.single-product .dm-product-main {
        min-width: 0;
    }

    body.single-product .dm-product-sidebar {
        display: contents !important;
        position: static !important;
    }

    body.single-product .dm-product-info-card,
    body.single-product .dm-product-buy-card {
        min-width: 0;
        background: linear-gradient(180deg, rgba(var(--bg-elevated-rgb), 0.95) 0%, rgba(var(--bg-hero-top-rgb), 0.98) 100%);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 18px;
        padding: 18px !important;
        box-shadow:
            0 20px 48px rgba(0, 0, 0, 0.34),
            inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }

    body.single-product .dm-product-info-card {
        grid-column: 2;
        position: sticky;
        top: calc(var(--header-height, 80px) + 16px);
        max-height: calc(100vh - (var(--header-height, 80px) + 32px));
        overflow-y: auto;
        overscroll-behavior-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.22) rgba(255, 255, 255, 0.06);
    }

    body.single-product .dm-product-info-card::-webkit-scrollbar {
        width: 7px;
    }

    body.single-product .dm-product-info-card::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.05);
        border-radius: 999px;
    }

    body.single-product .dm-product-info-card::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.22);
        border-radius: 999px;
    }

    body.single-product .dm-product-buy-card {
        grid-column: 3;
        top: calc(var(--header-height, 80px) + 16px);
        max-height: none !important;
        overflow: visible !important;
        z-index: 2;
        background: linear-gradient(180deg, rgba(var(--bg-tertiary-rgb), 0.96) 0%, rgba(var(--bg-secondary-rgb), 0.98) 100%);
        border-color: rgba(var(--accent-info-rgb), 0.28);
        box-shadow:
            0 26px 70px rgba(7, 14, 32, 0.56),
            0 0 0 1px rgba(var(--accent-info-rgb), 0.1),
            0 22px 54px rgba(0, 0, 0, 0.48),
            inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }

    body.single-product .dm-product-info-card .dm-sale-badge {
        margin-bottom: 10px;
    }

    body.single-product .dm-product-info-card .product_title,
    body.single-product .dm-product-info-card .entry-title {
        font-family: var(--font-heading);
        font-size: clamp(1.1rem, 1.1vw, 1.35rem);
        font-weight: 800;
        color: var(--text-primary);
        line-height: 1.2;
        letter-spacing: 0;
        margin: 0 0 8px;
    }

    body.single-product .dm-product-info-card .woocommerce-product-rating {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 10px;
    }

    body.single-product .dm-product-info-card .dm-product-price {
        margin-bottom: 12px;
    }

    body.single-product .dm-product-info-card .price {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 8px;
        font-family: var(--font-heading);
        font-weight: 800;
        color: var(--text-primary);
        line-height: 1.05;
        margin: 0;
    }

    body.single-product .dm-product-info-card .price del {
        color: var(--text-muted);
        font-size: 0.95rem;
        font-weight: 500;
        margin-right: 0;
    }

    body.single-product .dm-product-info-card .price ins {
        color: var(--accent-primary);
        text-decoration: none;
    }

    body.single-product .dm-product-info-card .price .woocommerce-Price-amount {
        font-size: 1.55rem;
    }

    body.single-product .dm-product-info-card .dm-product-trust-strip {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin: 0 0 12px;
    }

    body.single-product .dm-product-info-card .dm-product-trust-item {
        align-items: center;
        gap: 8px;
        padding: 8px 9px;
        border-radius: 12px;
    }

    body.single-product .dm-product-info-card .dm-product-trust-item__icon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }

    body.single-product .dm-product-info-card .dm-product-trust-item__icon svg {
        width: 14px;
        height: 14px;
    }

    body.single-product .dm-product-info-card .dm-product-trust-item__copy strong {
        font-size: 10.5px;
        line-height: 1.2;
    }

    body.single-product .dm-product-info-card .dm-product-trust-item__copy span {
        display: block;
        font-size: 9.5px;
        line-height: 1.25;
    }

    body.single-product .dm-product-info-card .woocommerce-product-details__short-description {
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
        color: var(--text-secondary);
        font-size: 12px;
        line-height: 1.45;
        margin: 8px 0 0 !important;
        padding: 10px 0 !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    body.single-product .dm-product-info-card .woocommerce-product-details__short-description p {
        margin-bottom: 8px;
    }

    body.single-product .dm-product-info-card .woocommerce-product-details__short-description p:last-child {
        margin-bottom: 0;
    }

    body.single-product .dm-product-info-card .woocommerce-product-details__short-description ul {
        list-style: none;
        margin: 0 0 8px;
        padding: 0;
    }

    body.single-product .dm-product-info-card .woocommerce-product-details__short-description li {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 3px 0;
    }

    body.single-product .dm-product-info-card .woocommerce-product-details__short-description li::before {
        content: "✓";
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        border-radius: 50%;
        background: var(--accent-success-soft);
        color: var(--accent-success);
        font-size: 9px;
        font-weight: 700;
    }

    body.single-product .dm-product-info-card .dm-product-cart__reviews {
        display: block !important;
        margin-top: 10px;
        padding-top: 8px;
        border-top: 0;
    }

    body.single-product .dm-product-info-card #dm-reviews-widget-product {
        display: block !important;
        width: 100% !important;
        min-height: 160px;
    }

    body.single-product .dm-product-info-card .dm-sidebar-payments {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 10px;
        padding-top: 0;
        border-top: 0;
    }

    body.single-product .dm-product-info-card .dm-sidebar-payments .dm-payment-svg {
        display: block !important;
        width: 100%;
        height: 28px;
        max-width: none;
        padding: 7px 10px;
        border-radius: 10px;
        object-fit: contain;
        object-position: center;
    }

    body.single-product .dm-product-info-card .dm-sidebar-trust {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
    }

    body.single-product .dm-product-info-card .dm-sidebar-trust__item {
        min-width: 0;
        padding: 8px 10px;
        font-size: 11px;
        line-height: 1.25;
        border-radius: 10px;
    }

    body.single-product .dm-product-info-card .dm-sidebar-trust__item svg {
        width: 15px;
        height: 15px;
    }

    body.single-product .dm-product-buy-card .dm-add-to-cart-wrap {
        margin-top: 0;
    }

    body.single-product .dm-product-buy-card form.cart {
        margin: 0;
    }

    body.single-product .dm-product-buy-card select.wcpa_field,
    body.single-product .dm-product-buy-card .wcpa_field_wrap select,
    body.single-product .dm-product-buy-card .quantity.buttons_added,
    body.single-product .dm-product-buy-card .wcpa_price_summary,
    body.single-product .dm-product-buy-card .wc-stripe-product-checkout-container .payment-box {
        background: rgba(var(--bg-primary-rgb), 0.78) !important;
        border-color: rgba(var(--accent-info-rgb), 0.22) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_required_ast {
        color: rgb(147, 197, 253) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_field_label,
    body.single-product .dm-product-buy-card .wcpa_field_label *,
    body.single-product .dm-product-buy-card .wcpa_type_content,
    body.single-product .dm-product-buy-card .wcpa_type_content *,
    body.single-product .dm-product-buy-card .wcpa_option_desc,
    body.single-product .dm-product-buy-card .wcpa_option_desc p,
    body.single-product .dm-product-buy-card .wcpa_checkbox_wrap label {
        color: rgba(226, 232, 240, 0.94) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_checkbox_wrap label {
        background: rgba(var(--bg-primary-rgb), 0.62) !important;
        border-color: rgba(var(--accent-info-rgb), 0.2) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_checkbox_wrap label:hover {
        background: rgba(var(--bg-primary-rgb), 0.78) !important;
        border-color: rgba(var(--accent-info-rgb), 0.34) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_field_price,
    body.single-product .dm-product-buy-card .wcpa_price_outer {
        color: rgb(191, 219, 254) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_total > span:first-child,
    body.single-product .dm-product-buy-card .dm-product-cart__actions .dm-product-cta-wallet-label {
        color: rgba(203, 213, 225, 0.92) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_field_error,
    body.single-product .dm-product-buy-card .wcpa_field_error *,
    body.single-product .dm-product-buy-card .wcpa_form_error,
    body.single-product .dm-product-buy-card .wcpa_form_error *,
    body.single-product .dm-product-buy-card .woocommerce-error,
    body.single-product .dm-product-buy-card .woocommerce-error * {
        color: #fff !important;
    }

    body.single-product .dm-product-buy-card .wcpa_form_error,
    body.single-product .dm-product-buy-card .woocommerce-error {
        margin-top: 10px;
        padding: 9px 10px;
        border: 1px solid rgba(var(--accent-info-rgb), 0.42);
        border-radius: 10px;
        background: rgba(var(--accent-info-rgb), 0.16);
        font-weight: 800;
        line-height: 1.25;
        box-shadow: 0 0 0 1px rgba(var(--accent-info-rgb), 0.06);
    }

    body.single-product .dm-product-buy-card .wcpa_field_bottom,
    body.single-product .dm-product-buy-card .wcpa_field_error,
    body.single-product .dm-product-buy-card .wcpa_field_error p {
        text-align: left !important;
    }

    body.single-product .dm-product-buy-card .wcpa_field_bottom {
        justify-content: flex-start !important;
    }

    body.single-product .dm-product-buy-card .wcpa_field_error p {
        margin: 0;
        color: #fff !important;
        font-weight: 800;
    }

    body.single-product .dm-product-buy-card .wcpa_has_error .wcpa_field,
    body.single-product .dm-product-buy-card .wcpa_has_error select,
    body.single-product .dm-product-buy-card .wcpa_has_error input,
    body.single-product .dm-product-buy-card .wcpa_has_error textarea {
        border-color: rgba(var(--accent-info-rgb), 0.7) !important;
        box-shadow: 0 0 0 2px rgba(var(--accent-info-rgb), 0.16) !important;
    }

    body.single-product .dm-product-buy-card .dm-product-cart__actions .single_add_to_cart_button,
    body.single-product .dm-product-buy-card .dm-product-cart__actions button[type="submit"] {
        background: var(--accent-primary) !important;
        border: 1px solid var(--accent-primary) !important;
        color: #fff !important;
        box-shadow:
            0 14px 34px rgba(var(--accent-primary-rgb), 0.34),
            inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
    }

    body.single-product .dm-product-buy-card .dm-product-cart__actions .single_add_to_cart_button:hover,
    body.single-product .dm-product-buy-card .dm-product-cart__actions button[type="submit"]:hover {
        background: var(--accent-primary-hover) !important;
        border-color: var(--accent-primary-hover) !important;
        color: #fff !important;
        box-shadow:
            0 18px 42px rgba(var(--accent-primary-rgb), 0.46),
            inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
    }

    body.single-product .dm-product-buy-card .dm-product-cart__actions .dm-product-cta-wallet-label {
        justify-content: center;
        gap: 0;
        margin: 10px 0 8px;
        color: rgba(255, 255, 255, 0.82);
    }

    body.single-product .dm-product-buy-card .dm-product-cart__actions .dm-product-cta-wallet-label::before,
    body.single-product .dm-product-buy-card .dm-product-cart__actions .dm-product-cta-wallet-label::after {
        display: none;
    }

    body.single-product .dm-product-buy-card .wc-stripe-product-checkout-container {
        margin-top: 8px !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }

    body.single-product .dm-product-buy-card .dm-product-trust-strip {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 12px 0 0;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }

    body.single-product .dm-product-buy-card .dm-product-trust-item {
        align-items: flex-start;
        gap: 6px;
        min-width: 0;
        padding: 7px 8px;
        border-radius: 11px;
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.18);
    }

    body.single-product .dm-product-buy-card .dm-product-trust-item__icon {
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
        background: rgba(255, 255, 255, 0.12);
        color: #fff;
    }

    body.single-product .dm-product-buy-card .dm-product-trust-item__icon svg {
        width: 13px;
        height: 13px;
    }

    body.single-product .dm-product-buy-card .dm-product-trust-item__copy strong {
        color: #fff;
        font-size: 10.5px;
        line-height: 1.12;
    }

    body.single-product .dm-product-buy-card .dm-product-trust-item__copy span {
        display: block;
        color: rgba(255, 255, 255, 0.78);
        font-size: 8.5px;
        line-height: 1.12;
        margin-top: 1px;
    }

    body.single-product .xoo-wsc-basket {
        top: auto !important;
        right: 8px !important;
        bottom: 84px !important;
        left: auto !important;
        z-index: 2147482990 !important;
    }
}

@media (min-width: 1025px) and (max-width: 1320px) {
    body.single-product .dm-product-layout,
    body.single-product .dm-product-layout.container,
    body.woocommerce .dm-product-layout,
    .dm-single-product .dm-product-layout {
        width: min(1280px, calc(100vw - 32px)) !important;
        grid-template-columns: minmax(0, 1.16fr) minmax(360px, 0.9fr) minmax(330px, 0.78fr) !important;
        gap: 14px !important;
    }

    body.single-product .dm-product-info-card,
    body.single-product .dm-product-buy-card {
        padding: 16px !important;
    }
}

@media (max-width: 1024px) {
    body.single-product .dm-product-sidebar {
        display: grid;
        gap: 16px;
        position: relative;
    }

    body.single-product .dm-product-info-card,
    body.single-product .dm-product-buy-card {
        min-width: 0;
        background: linear-gradient(180deg, rgba(var(--bg-elevated-rgb), 0.95) 0%, rgba(var(--bg-hero-top-rgb), 0.98) 100%);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 18px;
        padding: 18px;
        box-shadow:
            0 20px 48px rgba(0, 0, 0, 0.34),
            inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }

    body.single-product .dm-product-buy-card {
        order: 1;
        position: static;
        max-height: none;
        overflow: visible;
    }

    body.single-product .dm-product-info-card {
        order: 2;
    }

    body.single-product .dm-product-info-card .dm-product-cart__reviews {
        display: block !important;
        min-height: 160px;
    }

    body.single-product .dm-product-info-card #dm-reviews-widget-product {
        display: block !important;
        width: 100% !important;
        min-height: 160px;
    }

    body.single-product .dm-product-buy-card .dm-product-trust-strip {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin: 16px 0 0;
        padding-top: 14px;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
    }
}

/* Mobile no-bleed safeguards for product pages. */
@media (max-width: 1024px) {
    body.single-product {
        max-width: 100vw;
        overflow-x: hidden;
        overflow-x: clip;
    }

    body.single-product .wrapper,
    body.single-product .wrapper_inner,
    body.single-product .content,
    body.single-product .content_inner,
    body.single-product #product-page,
    body.single-product .dm-single-product {
        max-width: 100vw;
        overflow-x: hidden;
        overflow-x: clip;
    }

    body.single-product .dm-breadcrumbs-wrap.container,
    body.single-product .dm-product-layout,
    body.single-product .dm-product-layout.container,
    body.single-product .dm-how-it-works-wrap,
    body.single-product .dm-related-products-wrap,
    body.single-product .dm-related-products-wrap.container {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-breadcrumbs-wrap.container,
    body.single-product .dm-product-layout.container,
    body.single-product .dm-related-products-wrap.container {
        padding-left: clamp(10px, 3.5vw, 18px) !important;
        padding-right: clamp(10px, 3.5vw, 18px) !important;
    }

    body.single-product .dm-product-layout,
    body.single-product .dm-product-layout.container {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        overflow-x: hidden;
        overflow-x: clip;
    }

    body.single-product .dm-product-layout > *,
    body.single-product .dm-product-main,
    body.single-product .dm-product-main > *,
    body.single-product .dm-product-sidebar,
    body.single-product .dm-product-sidebar > *,
    body.single-product .dm-product-info-card,
    body.single-product .dm-product-buy-card,
    body.single-product .dm-product-gallery-wrap,
    body.single-product .dm-product-description,
    body.single-product .dm-add-to-cart-wrap {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-product-info-card,
    body.single-product .dm-product-buy-card {
        overflow-x: hidden;
        overflow-x: clip;
        overflow-y: visible;
    }

    body.single-product .dm-product-buy-card form.cart,
    body.single-product .dm-product-buy-card .wcpa_form_outer,
    body.single-product .dm-product-buy-card .wcpa_wrap,
    body.single-product .dm-product-buy-card .wcpa_section,
    body.single-product .dm-product-buy-card .wcpa_section_body,
    body.single-product .dm-product-buy-card .wcpa_row,
    body.single-product .dm-product-buy-card .wcpa_field_wrap,
    body.single-product .dm-product-buy-card .wcpa_left_wrap,
    body.single-product .dm-product-buy-card .wcpa_field,
    body.single-product .dm-product-buy-card .wcpa_field select,
    body.single-product .dm-product-buy-card select.wcpa_field,
    body.single-product .dm-product-buy-card input.wcpa_field,
    body.single-product .dm-product-buy-card textarea.wcpa_field,
    body.single-product .dm-product-buy-card .wcpa__control,
    body.single-product .dm-product-buy-card .wcpa__value-container,
    body.single-product .dm-product-buy-card .wcpa_price_summary,
    body.single-product .dm-product-buy-card .wcpa_total,
    body.single-product .dm-product-buy-card .dm-product-cart,
    body.single-product .dm-product-buy-card .dm-product-cart__actions,
    body.single-product .dm-product-buy-card .dm-product-cta-row,
    body.single-product .dm-product-buy-card .dm-product-cta-extras,
    body.single-product .dm-product-buy-card .wc-stripe-product-checkout-container,
    body.single-product .dm-product-buy-card .wc_stripe_product_payment_methods {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-product-buy-card .wcpa_row,
    body.single-product .dm-product-buy-card .wcpa_section_body {
        display: flex !important;
        flex-direction: column !important;
    }

    body.single-product .dm-product-buy-card [class*="wcpa_col_"],
    body.single-product .dm-product-buy-card [class*="wcpa-col-"],
    body.single-product .dm-product-buy-card [class*="wcpa_col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    body.single-product .dm-product-buy-card .wcpa_total {
        gap: 8px;
        flex-wrap: wrap;
    }

    body.single-product .dm-product-buy-card .wcpa_price_outer {
        max-width: 100%;
        text-align: right;
        overflow-wrap: anywhere;
    }

    body.single-product .dm-product-buy-card select,
    body.single-product .dm-product-buy-card input,
    body.single-product .dm-product-buy-card textarea,
    body.single-product .dm-product-buy-card button {
        max-width: 100% !important;
    }

    body.single-product .dm-product-buy-card .wcpa_field_label,
    body.single-product .dm-product-buy-card .wcpa_field_label *,
    body.single-product .dm-product-buy-card .wcpa_type_content,
    body.single-product .dm-product-buy-card .wcpa_type_content *,
    body.single-product .dm-product-buy-card .dm-product-trust-item__copy,
    body.single-product .dm-product-buy-card .dm-product-trust-item__copy * {
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.single-product .dm-product-gallery-wrap .dm-native-gallery,
    body.single-product .dm-product-gallery-wrap .dm-native-gallery__stage,
    body.single-product .dm-product-gallery-wrap .dm-native-gallery__slide,
    body.single-product .dm-product-gallery-wrap .woocommerce-product-gallery,
    body.single-product .dm-product-gallery-wrap .woocommerce-product-gallery__wrapper,
    body.single-product .dm-product-gallery-wrap .woocommerce-product-gallery__image {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-product-description .dm-product-table-wrap {
        max-width: 100% !important;
        overflow-x: hidden;
    }

    body.single-product .dm-product-description .dm-product-table {
        min-width: 0 !important;
        table-layout: fixed;
    }

    body.single-product .dm-product-description .dm-product-table th,
    body.single-product .dm-product-description .dm-product-table td {
        overflow-wrap: anywhere;
    }

    body.single-product .dm-how-it-works-wrap .dm-process-section,
    body.single-product .dm-how-it-works-wrap .container,
    body.single-product .dm-related-products-wrap section.related.products,
    body.single-product .dm-related-products-wrap ul.products,
    body.single-product .dm-related-products-wrap ul.products > li.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-related-products-wrap ul.products {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
    }
}

@media (max-width: 520px) {
    body.single-product .dm-breadcrumbs-wrap.container,
    body.single-product .dm-product-layout.container,
    body.single-product .dm-related-products-wrap.container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.single-product .dm-product-info-card,
    body.single-product .dm-product-buy-card {
        padding: 14px !important;
        border-radius: 16px;
    }

    body.single-product .dm-product-buy-card .dm-product-trust-strip {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.single-product .dm-product-buy-card .dm-product-cart__actions .single_add_to_cart_button,
    body.single-product .dm-product-buy-card .dm-product-cart__actions button[type="submit"],
    body.single-product .dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button,
    body.single-product .dm-product-cart__actions .dm-product-cta-row .wcbntf-buy-now {
        padding-left: 12px !important;
        padding-right: 12px !important;
        white-space: normal;
    }
}

@media (max-width: 1024px) {
    body.single-product .dm-product-sidebar,
    body.single-product .dm-product-buy-card,
    body.single-product .dm-product-info-card {
        inline-size: 100% !important;
        max-inline-size: 100% !important;
        min-inline-size: 0 !important;
        justify-self: stretch !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        left: auto !important;
        right: auto !important;
    }

    body.single-product .dm-product-buy-card {
        order: 1 !important;
        position: static !important;
        top: auto !important;
    }

    body.single-product .dm-product-info-card {
        order: 2 !important;
    }

    body.single-product .dm-product-info-card .dm-product-cart__reviews,
    body.single-product .dm-product-info-card #dm-reviews-widget-product,
    body.single-product .dm-product-info-card .dm-sidebar-payments,
    body.single-product .dm-product-info-card .dm-sidebar-payments > * {
        inline-size: 100% !important;
        max-inline-size: 100% !important;
        min-inline-size: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-product-info-card .dm-product-cart__reviews,
    body.single-product .dm-product-info-card #dm-reviews-widget-product {
        overflow-x: hidden !important;
    }

    body.single-product .dm-product-info-card .dm-sidebar-payments {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.single-product .dm-product-buy-card .wcpa_price_summary,
    body.single-product .dm-product-buy-card .wcpa_total,
    body.single-product .dm-product-buy-card .quantity.buttons_added,
    body.single-product .dm-product-buy-card .dm-product-cart__actions,
    body.single-product .dm-product-buy-card .dm-product-cta-row,
    body.single-product .dm-product-buy-card .single_add_to_cart_button,
    body.single-product .dm-product-buy-card .wcbntf-buy-now {
        inline-size: 100% !important;
        max-inline-size: 100% !important;
        min-inline-size: 0 !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.single-product .dm-product-buy-card .wcpa_price_summary {
        overflow-x: hidden !important;
    }

    body.single-product .dm-product-buy-card .wcpa_total {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.single-product .dm-product-buy-card .wcpa_total > span:first-child,
    body.single-product .dm-product-buy-card .wcpa_price_outer {
        min-inline-size: 0 !important;
    }

    body.single-product .dm-product-buy-card .wcpa_price_outer {
        inline-size: auto !important;
        max-inline-size: 100% !important;
        font-size: clamp(1rem, 5vw, 1.35rem) !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    body.single-product .dm-product-buy-card .dm-product-cart__actions,
    body.single-product .dm-product-buy-card .dm-product-cta-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Mobile-only product heading, used so checkout can stay high without burying the name. */
.dm-product-mobile-heading {
    display: none;
}

@media (max-width: 1024px) {
    body.single-product .dm-product-mobile-heading {
        display: block !important;
        order: 0;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.single-product .dm-product-mobile-title {
        margin: 0;
        color: var(--text-primary);
        font-family: var(--font-heading);
        font-size: clamp(1.65rem, 7vw, 2.25rem);
        font-weight: 800;
        line-height: 1.05;
        overflow-wrap: anywhere;
    }

    body.single-product .dm-product-info-card > .product_title,
    body.single-product .dm-product-info-card > .entry-title {
        display: none !important;
    }
}

/* Keep inline icons from being caught by full-width media rules. */
body.single-product .dm-product-trust-item__icon,
body.single-product .dm-sidebar-trust__item svg,
body.single-product .dm-product-card__cta svg,
body.single-product .dm-header svg,
body.single-product .dm-footer svg,
body.single-product .dm-chat-launcher svg {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    object-fit: contain !important;
}

body.single-product .dm-product-trust-item__icon {
    width: 24px !important;
    height: 24px !important;
    inline-size: 24px !important;
    block-size: 24px !important;
    min-inline-size: 24px !important;
    max-inline-size: 24px !important;
    flex-basis: 24px !important;
}

body.single-product .dm-product-trust-item__icon svg {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    inline-size: 14px !important;
    block-size: 14px !important;
    min-inline-size: 14px !important;
    max-inline-size: 14px !important;
    flex: 0 0 14px !important;
}

body.single-product .dm-product-trust-item {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.single-product .dm-sidebar-trust__item svg,
body.single-product .dm-product-card__cta svg,
body.single-product .dm-header svg,
body.single-product .dm-footer svg,
body.single-product .dm-chat-launcher svg {
    width: auto;
}

@media (max-width: 520px) {
    body.single-product .dm-product-trust-item__icon {
        width: 22px !important;
        height: 22px !important;
        inline-size: 22px !important;
        block-size: 22px !important;
        min-inline-size: 22px !important;
        max-inline-size: 22px !important;
        flex-basis: 22px !important;
    }

    body.single-product .dm-product-trust-item__icon svg {
        width: 13px !important;
        height: 13px !important;
        inline-size: 13px !important;
        block-size: 13px !important;
        min-inline-size: 13px !important;
        max-inline-size: 13px !important;
        flex-basis: 13px !important;
    }
}

.dm-product-card__trust span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.dm-product-card__trust span::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #ff2a44;
    box-shadow: 0 0 10px rgba(255, 42, 68, 0.7);
}

.dm-product-card__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 0;
}

.dm-product-card__trust span {
    padding: 5px 8px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

/* Product page column trust controls */
body.single-product {
    --dm-product-body-copy-size: 16px;
    --dm-product-body-copy-line: 1.75;
}

@media (min-width: 1025px) {
    body.single-product .dm-product-purchase-column {
        grid-column: 3;
        display: grid;
        gap: 16px;
        min-width: 0;
        align-self: start;
        position: sticky;
        top: calc(var(--header-height, 80px) + 16px);
        max-height: calc(100vh - (var(--header-height, 80px) + 32px));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: auto;
        z-index: 2;
    }

    html.dm-wcpa-menu-open body.single-product .dm-sticky-form,
    html.dm-wcpa-menu-open body.single-product .dm-product-purchase-column {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    body.single-product .dm-product-purchase-column .dm-product-buy-card {
        grid-column: auto;
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdowns {
        margin-top: 0;
    }
}

body.single-product .dm-product-info-card .woocommerce-product-details__short-description,
body.single-product .dm-product-info-card .woocommerce-product-details__short-description p,
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li {
    font-size: var(--dm-product-body-copy-size) !important;
    line-height: var(--dm-product-body-copy-line) !important;
}

body.single-product .dm-product-buy-card .wcpa_field_label,
body.single-product .dm-product-buy-card .wcpa_option_desc,
body.single-product .dm-product-buy-card .wcpa_option_desc p {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body.single-product .dm-product-buy-card .wcpa_field_wrap input[type="text"],
body.single-product .dm-product-buy-card .wcpa_field_wrap input[type="email"],
body.single-product .dm-product-buy-card .wcpa_field_wrap input[type="number"],
body.single-product .dm-product-buy-card .wcpa_field_wrap textarea,
body.single-product .dm-product-buy-card .wcpa_field_wrap select,
body.single-product .dm-product-buy-card select.wcpa_field,
body.single-product .dm-product-buy-card .wcpa_field select {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.single-product .dm-product-info-card .woocommerce-product-details__short-description li::before {
    width: 20px;
    height: 20px;
    font-size: 11px;
}

body.single-product .dm-sticky-form .woocommerce-product-details__short-description li,
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li {
    display: block !important;
    position: relative !important;
    gap: 0 !important;
    padding: 3px 0 3px 28px !important;
}

body.single-product .dm-sticky-form .woocommerce-product-details__short-description li::before,
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li::before {
    position: absolute !important;
    top: calc(3px + 0.725em) !important;
    left: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

body.single-product .dm-sticky-form .woocommerce-product-details__short-description li strong,
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li strong,
body.single-product .dm-sticky-form .woocommerce-product-details__short-description li b,
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li b {
    display: inline !important;
    white-space: normal !important;
}

body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdowns {
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(12, 12, 14, 0.98) 0%, rgba(5, 5, 6, 0.98) 100%);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown:hover,
body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown:focus,
body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown:focus-within {
    background: rgba(255, 255, 255, 0.045);
    box-shadow: none;
}

body.single-product .dm-product-sidebar-dropdown__summary {
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
}

body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown__icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    background: rgba(255, 42, 68, 0.12);
    border: 1px solid rgba(255, 42, 68, 0.24);
}

body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown__icon svg {
    width: 16px;
    height: 16px;
}

body.single-product .dm-product-sidebar-dropdown__title strong {
    font-size: 14px !important;
    line-height: 1.25 !important;
}

body.single-product .dm-product-sidebar-dropdown__title span {
    color: rgba(255, 255, 255, 0.78);
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body.single-product .dm-product-sidebar-dropdown__panel {
    padding-left: 52px;
    padding-right: 12px;
}

body.single-product .dm-product-sidebar-dropdown__panel p {
    margin-bottom: 8px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.single-product .dm-product-sidebar-dropdown__panel a,
body.single-product .dm-product-sidebar-dropdown__panel button {
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em;
}

body.single-product .dm-product-sidebar-dropdown:hover .dm-product-sidebar-dropdown__panel,
body.single-product .dm-product-sidebar-dropdown:focus .dm-product-sidebar-dropdown__panel,
body.single-product .dm-product-sidebar-dropdown:focus-within .dm-product-sidebar-dropdown__panel {
    max-height: 170px;
    padding-bottom: 12px;
}

@media (max-width: 1024px) {
    body.single-product .dm-product-purchase-column {
        order: 1;
        display: grid;
        gap: 14px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.single-product .dm-product-purchase-column .dm-product-buy-card {
        order: 0 !important;
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdowns {
        order: 1;
    }

    body.single-product .dm-product-info-card {
        order: 2 !important;
    }
}

/* Refined WCPA option rows for product add-on forms. */
body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_group_field,
body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_group_field {
    display: grid !important;
    gap: 8px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_field_label,
body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_field_label {
    margin-bottom: 10px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
}

body.single-product .dm-product-buy-card .wcpa_quantity_wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    padding: 9px 10px !important;
    background: rgba(var(--bg-primary-rgb), 0.56) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.single-product .dm-product-buy-card .wcpa_quantity_wrap:hover,
body.single-product .dm-product-buy-card .wcpa_quantity_wrap:focus-within {
    background: rgba(var(--bg-primary-rgb), 0.72) !important;
    border-color: rgba(var(--accent-info-rgb), 0.34) !important;
}

body.single-product .dm-product-buy-card .wcpa_quantity_wrap:has(input[type="checkbox"]:checked) {
    background: rgba(var(--accent-info-rgb), 0.12) !important;
    border-color: rgba(var(--accent-info-rgb), 0.46) !important;
    box-shadow: 0 0 0 1px rgba(var(--accent-info-rgb), 0.14) !important;
}

body.single-product .dm-product-buy-card .wcpa_checkbox {
    min-width: 0 !important;
}

body.single-product .dm-product-buy-card .wcpa_checkbox label,
body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
}

body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label {
    min-height: 54px !important;
    padding: 10px !important;
    background: rgba(var(--bg-primary-rgb), 0.56) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label:hover,
body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label:focus-within {
    background: rgba(var(--bg-primary-rgb), 0.72) !important;
    border-color: rgba(var(--accent-info-rgb), 0.34) !important;
}

body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label:has(input[type="radio"]:checked) {
    background: rgba(var(--accent-info-rgb), 0.12) !important;
    border-color: rgba(var(--accent-info-rgb), 0.46) !important;
    box-shadow: 0 0 0 1px rgba(var(--accent-info-rgb), 0.14) !important;
}

body.single-product .dm-product-buy-card .wcpa_checkbox input[type="checkbox"],
body.single-product .dm-product-buy-card .wcpa_type_radio-group input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.single-product .dm-product-buy-card .wcpa_checkbox_custom,
body.single-product .dm-product-buy-card .wcpa_radio_custom {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18) !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.single-product .dm-product-buy-card .wcpa_checkbox_custom {
    border-radius: 6px !important;
}

body.single-product .dm-product-buy-card .wcpa_radio_custom {
    border-radius: 50% !important;
}

body.single-product .dm-product-buy-card input[type="checkbox"]:checked + .wcpa_checkbox_custom,
body.single-product .dm-product-buy-card input[type="radio"]:checked + .wcpa_radio_custom {
    background: rgb(var(--accent-info-rgb)) !important;
    border-color: rgb(var(--accent-info-rgb)) !important;
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.18) !important;
}

body.single-product .dm-product-buy-card input[type="checkbox"]:checked + .wcpa_checkbox_custom::after {
    content: "" !important;
    width: 9px !important;
    height: 5px !important;
    border: solid #05151f !important;
    border-width: 0 0 2px 2px !important;
    transform: translateY(-1px) rotate(-45deg) !important;
}

body.single-product .dm-product-buy-card input[type="radio"]:checked + .wcpa_radio_custom::after {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #05151f !important;
}

body.single-product .dm-product-buy-card .wcpa_checkbox label > span:not(.wcpa_checkbox_custom):not(.wcpa_option_price),
body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label > span:not(.wcpa_radio_custom):not(.wcpa_option_price) {
    min-width: 0 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

body.single-product .dm-product-buy-card .wcpa_option_price {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 3px 8px !important;
    color: #bfe7ff !important;
    background: rgba(var(--accent-info-rgb), 0.13) !important;
    border: 1px solid rgba(var(--accent-info-rgb), 0.22) !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.single-product .dm-product-buy-card .wcpa_label_wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.single-product .dm-product-buy-card .wcpa_label_wrap > label {
    display: none !important;
}

body.single-product .dm-product-buy-card .wcpa_qty_style_custom_1 {
    display: grid !important;
    grid-template-columns: 28px 38px 28px !important;
    align-items: center !important;
    width: 94px !important;
    height: 34px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
}

body.single-product .dm-product-buy-card .wcpa_wrap .wcpa_field_wrap .wcpa_qty_custom_1 .wcpa_qty_style_custom_1 {
    width: 94px !important;
    max-width: 94px !important;
}

body.single-product .dm-product-buy-card .wcpa_minus_btn,
body.single-product .dm-product-buy-card .wcpa_plus_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 34px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.single-product .dm-product-buy-card .wcpa_quantity_field {
    width: 38px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.94) !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center !important;
    -moz-appearance: textfield !important;
}

body.single-product .dm-product-buy-card .wcpa_quantity_field::-webkit-outer-spin-button,
body.single-product .dm-product-buy-card .wcpa_quantity_field::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

body.single-product .dm-product-buy-card .wcpa_quantity_field:disabled,
body.single-product .dm-product-buy-card .wcpa_quantity_field:disabled ~ .wcpa_plus_btn,
body.single-product .dm-product-buy-card .wcpa_qty_style_custom_1:has(.wcpa_quantity_field:disabled) .wcpa_minus_btn {
    opacity: 0.48 !important;
    cursor: not-allowed !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_field_bottom {
    margin-top: 6px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_field_bottom .wcpa_field_price {
    display: none !important;
}

body.single-product .dm-product-buy-card .wcpa_price_summary {
    margin-top: 14px !important;
    padding: 12px 14px !important;
    overflow: visible !important;
    background: rgba(var(--bg-primary-rgb), 0.48) !important;
    border: 0 !important;
    border-top: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

body.single-product .dm-product-buy-card .wcpa_price_summary::before,
body.single-product .dm-product-buy-card .wcpa_price_summary::after,
body.single-product .dm-product-buy-card .wcpa_total::before,
body.single-product .dm-product-buy-card .wcpa_total::after {
    display: none !important;
    content: none !important;
}

body.single-product .dm-product-buy-card .wcpa_total {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
}

@media (max-width: 480px) {
    body.single-product .dm-product-buy-card .wcpa_quantity_wrap {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
    }

    body.single-product .dm-product-buy-card .wcpa_label_wrap {
        justify-content: flex-start !important;
    }

    body.single-product .dm-product-buy-card .wcpa_checkbox label,
    body.single-product .dm-product-buy-card .wcpa_type_radio-group .wcpa_radio label {
        grid-template-columns: 22px minmax(0, 1fr) !important;
    }

    body.single-product .dm-product-buy-card .wcpa_option_price {
        justify-self: start !important;
        grid-column: 2 !important;
    }
}

/* Keep dense material lists readable by showing quantity only after selection. */
body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_quantity_wrap {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 12px 14px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_checkbox label {
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    gap: 10px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_checkbox label > span:not(.wcpa_checkbox_custom):not(.wcpa_option_price) {
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_option_price {
    align-self: center !important;
    justify-self: end !important;
    min-height: 26px !important;
    padding: 4px 9px !important;
    font-size: 12px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_label_wrap {
    display: none !important;
    justify-content: flex-start !important;
    padding-left: 32px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_quantity_wrap:has(input[type="checkbox"]:checked) .wcpa_label_wrap {
    display: flex !important;
}

body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_quantity_wrap:has(input[type="checkbox"]:checked) {
    padding-bottom: 12px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select {
    margin-bottom: 14px !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select .wcpa_left_wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select .wcpa_field_label {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select select.wcpa_field {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 46px 0 14px !important;
    color: rgba(255, 255, 255, 0.94) !important;
    background-color: rgba(var(--bg-primary-rgb), 0.62) !important;
    background-image:
        linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.72) 50%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.72) 50%, transparent 50%),
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06)) !important;
    background-position:
        calc(100% - 20px) 50%,
        calc(100% - 14px) 50%,
        100% 0 !important;
    background-repeat: no-repeat !important;
    background-size: 6px 6px, 6px 6px, 42px 100% !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 48px !important;
    outline: 0 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.single-product .dm-product-buy-card .wcpa_type_select select.wcpa_field:hover,
body.single-product .dm-product-buy-card .wcpa_type_select select.wcpa_field:focus {
    background-color: rgba(var(--bg-primary-rgb), 0.78) !important;
    border-color: rgba(var(--accent-info-rgb), 0.42) !important;
    box-shadow: 0 0 0 3px rgba(var(--accent-info-rgb), 0.12) !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select select.wcpa_field:invalid {
    color: rgba(255, 255, 255, 0.62) !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select select.wcpa_field option {
    color: #f7f8fb !important;
    background: #0b0c12 !important;
    font-weight: 700 !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select .wcpa_advanced_select.wcpa_field {
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: normal !important;
    cursor: default !important;
}

body.single-product .dm-product-buy-card .wcpa_type_select .wcpa_advanced_select .wcpa__control {
    width: 100% !important;
    min-height: 48px !important;
}

/* Custom package picker for long WCPA select menus. */
body.single-product .dm-product-buy-card .wcpa_type_select .wcpa_left_wrap {
    position: relative !important;
}

body.single-product .dm-product-buy-card select.wcpa_field.dm-wcpa-package-select__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select {
    position: relative;
    z-index: 12;
    width: 100%;
    min-width: 0;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select.is-open {
    z-index: 2147481000;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    grid-template-areas:
        "value price arrow"
        "meta meta arrow";
    align-items: center;
    gap: 5px 10px;
    width: 100%;
    min-height: 66px;
    padding: 12px 12px 12px 14px;
    color: rgba(255, 255, 255, 0.94);
    background:
        radial-gradient(circle at 12% 0, rgba(var(--accent-info-rgb), 0.16), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0)),
        #0d111b;
    border: 1px solid rgba(var(--accent-info-rgb), 0.26);
    border-radius: 14px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        0 10px 28px rgba(0, 0, 0, 0.22);
    cursor: pointer;
    text-align: left;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__button:hover,
body.single-product .dm-product-buy-card .dm-wcpa-package-select__button:focus-visible,
body.single-product .dm-product-buy-card .dm-wcpa-package-select.is-open .dm-wcpa-package-select__button {
    background:
        radial-gradient(circle at 12% 0, rgba(var(--accent-info-rgb), 0.22), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0)),
        #121827;
    border-color: rgba(var(--accent-info-rgb), 0.42);
    box-shadow:
        0 0 0 3px rgba(var(--accent-info-rgb), 0.12),
        0 16px 34px rgba(0, 0, 0, 0.28);
    outline: 0;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select.is-invalid .dm-wcpa-package-select__button {
    border-color: rgba(var(--accent-primary-rgb), 0.72);
    box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb), 0.18);
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__value {
    grid-area: value;
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.94);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__meta {
    grid-area: meta;
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.56);
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__price {
    grid-area: price;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 8px;
    color: #fff;
    background: linear-gradient(180deg, rgba(var(--accent-primary-rgb), 0.95), rgba(var(--accent-primary-rgb), 0.78));
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__price[hidden] {
    display: none;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__arrow {
    grid-area: arrow;
    position: relative;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__arrow::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 6px;
    width: 5px;
    height: 5px;
    border-right: 2px solid rgba(255, 255, 255, 0.72);
    border-bottom: 2px solid rgba(255, 255, 255, 0.72);
    transform: rotate(45deg);
    transition: transform 0.18s ease;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select.is-open .dm-wcpa-package-select__arrow::before {
    transform: translateY(2px) rotate(-135deg);
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    z-index: 2147481001;
    display: none;
    width: min(560px, calc(100vw - 32px));
    max-height: min(68vh, 545px);
    padding: 9px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background:
        radial-gradient(circle at 18% 0, rgba(var(--accent-info-rgb), 0.1), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0)),
        #0b0f18;
    border: 1px solid rgba(var(--accent-info-rgb), 0.24);
    border-radius: 16px;
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.58),
        0 0 0 1px rgba(255, 255, 255, 0.04);
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select.is-open .dm-wcpa-package-select__menu {
    display: grid;
    gap: 7px;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__menu::-webkit-scrollbar {
    width: 8px;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__menu::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 999px;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__menu::-webkit-scrollbar-thumb {
    background: rgba(var(--accent-info-rgb), 0.42);
    border-radius: 999px;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option {
    display: grid;
    gap: 7px;
    width: 100%;
    min-width: 0;
    min-height: 76px;
    padding: 9px 10px;
    color: rgba(255, 255, 255, 0.88);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.012)),
        rgba(17, 22, 34, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.095);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option:hover,
body.single-product .dm-product-buy-card .dm-wcpa-package-select__option:focus-visible {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.018)),
        rgba(22, 29, 44, 0.98);
    border-color: rgba(var(--accent-info-rgb), 0.36);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
    outline: 0;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option.is-selected {
    background:
        linear-gradient(180deg, rgba(var(--accent-info-rgb), 0.16), rgba(var(--accent-info-rgb), 0.055)),
        rgba(15, 23, 35, 0.98);
    border-color: rgba(var(--accent-info-rgb), 0.5);
    box-shadow:
        inset 3px 0 0 rgb(var(--accent-info-rgb)),
        0 14px 34px rgba(0, 0, 0, 0.26);
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-top {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 25px;
    padding: 4px 8px;
    overflow: hidden;
    color: #fff;
    background: rgba(var(--accent-primary-rgb), 0.9);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-title {
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.96);
    font-size: 14.5px;
    font-weight: 900;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 4px 8px;
    color: #fff;
    background: rgba(var(--bg-primary-rgb), 0.76);
    border: 1px solid rgba(var(--accent-info-rgb), 0.24);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    min-width: 0;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__stat {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 5px 7px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 9px;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__stat strong {
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.94);
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.single-product .dm-product-buy-card .dm-wcpa-package-select__stat span {
    min-width: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.52);
    font-size: 8px;
    font-weight: 850;
    letter-spacing: 0.05em;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

@media (max-width: 480px) {
    body.single-product .dm-product-buy-card .dm-wcpa-package-select__button {
        grid-template-columns: minmax(0, 1fr) 18px;
        grid-template-areas:
            "value arrow"
            "meta arrow"
            "price arrow";
        min-height: 66px;
        padding: 11px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__value,
    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-title {
        white-space: normal;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__meta {
        white-space: normal;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__price {
        justify-self: start;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__menu {
        position: absolute;
        top: auto;
        right: 0;
        bottom: calc(100% + 8px);
        left: 0;
        width: auto;
        max-height: min(62vh, 580px);
        padding: 8px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option {
        min-height: 0;
        gap: 6px;
        padding: 8px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-top {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "kicker price"
            "title title";
        align-items: start;
        gap: 5px 7px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-kicker {
        grid-area: kicker;
        justify-self: start;
        max-width: 100%;
        min-height: 23px;
        padding: 3px 7px;
        font-size: 10px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-title {
        grid-area: title;
        font-size: 13.5px;
        line-height: 1.1;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-price {
        grid-area: price;
        justify-self: end;
        min-height: 24px;
        padding: 3px 8px;
        font-size: 11.5px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__option-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__stat {
        padding: 4px 5px;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__stat strong {
        font-size: 11px;
        line-height: 1;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-package-select__stat span {
        font-size: 7.5px;
    }
}

/* Collapse dense WCPA checkbox groups into category pickers. */
body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .wcpa_type_checkbox-group {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 0 8px !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-legend {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 18px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 11px 12px !important;
    color: rgba(255, 255, 255, 0.94) !important;
    background: rgba(var(--bg-primary-rgb), 0.58) !important;
    border: 1px solid rgba(255, 255, 255, 0.11) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    text-align: left !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle:hover,
body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle:focus-visible,
body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .wcpa_type_checkbox-group.is-open .dm-wcpa-accordion-toggle {
    background: rgba(var(--bg-primary-rgb), 0.76) !important;
    border-color: rgba(var(--accent-info-rgb), 0.38) !important;
    box-shadow: 0 0 0 1px rgba(var(--accent-info-rgb), 0.12) !important;
    outline: 0 !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle__title {
    min-width: 0 !important;
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle__meta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 24px !important;
    padding: 3px 8px !important;
    color: #bfe7ff !important;
    background: rgba(var(--accent-info-rgb), 0.12) !important;
    border: 1px solid rgba(var(--accent-info-rgb), 0.2) !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle__icon {
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle__icon::before {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 5px !important;
    width: 5px !important;
    height: 5px !important;
    border-right: 2px solid rgba(255, 255, 255, 0.72) !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.72) !important;
    transform: rotate(45deg) !important;
    transition: transform 0.18s ease !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .wcpa_type_checkbox-group.is-open .dm-wcpa-accordion-toggle__icon::before {
    transform: translateY(2px) rotate(-135deg) !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .wcpa_type_checkbox-group.is-open .wcpa_group_field {
    margin-top: 8px !important;
}

body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .wcpa_group_field[hidden],
body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .wcpa_field_bottom[hidden] {
    display: none !important;
}

@media (max-width: 480px) {
    body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_quantity_wrap {
        padding: 12px !important;
    }

    body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_checkbox label {
        grid-template-columns: 20px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 9px !important;
    }

    body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_checkbox_custom {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        margin-top: 1px !important;
    }

    body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_checkbox label > span:not(.wcpa_checkbox_custom):not(.wcpa_option_price) {
        font-size: 13px !important;
        line-height: 1.18 !important;
    }

    body.single-product .dm-product-buy-card .wcpa_type_checkbox-group .wcpa_option_price {
        grid-column: 2 !important;
        justify-self: start !important;
        margin-top: 5px !important;
        min-height: 24px !important;
        padding: 3px 8px !important;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle {
        grid-template-columns: minmax(0, 1fr) 18px !important;
        gap: 8px !important;
        padding: 11px 10px !important;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle__meta {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        margin-top: 2px !important;
    }

    body.single-product .dm-product-buy-card .dm-wcpa-options-collapsible .dm-wcpa-accordion-toggle__icon {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
    }
}

/* Let the document own scrolling on product pages. */
html,
body.single-product {
    scroll-behavior: auto !important;
}

body.single-product [data-wpr-lazyrender] {
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
}

@media (min-width: 1025px) {
    body.single-product .dm-sticky-form,
    body.single-product .dm-product-info-card,
    body.single-product .dm-product-purchase-column {
        position: sticky !important;
        top: calc(var(--header-height, 80px) + 16px) !important;
        max-height: calc(100vh - (var(--header-height, 80px) + 32px)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: auto !important;
        overscroll-behavior-y: auto !important;
        scrollbar-width: thin !important;
    }

    html.dm-wcpa-menu-open body.single-product .dm-sticky-form,
    html.dm-wcpa-menu-open body.single-product .dm-product-purchase-column {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

}

html.dm-wcpa-menu-open body.single-product .wcpa__menu-portal {
    z-index: 2147482000 !important;
}

html.dm-wcpa-menu-open body.single-product .wcpa__menu,
html.dm-wcpa-menu-open body.single-product .wcpa__menu-list {
    max-height: min(48vh, 320px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
}

html.dm-wcpa-menu-open body.single-product .xoo-wsc-basket,
html.dm-wcpa-menu-open body.single-product .dm-chat-launcher-wrap,
html.dm-wcpa-menu-open body.single-product .dm-mobile-trust-bar {
    opacity: 0 !important;
    pointer-events: none !important;
}

html.dm-wcpa-package-menu-open body.single-product .dm-sticky-form,
html.dm-wcpa-package-menu-open body.single-product .dm-product-buy-card,
html.dm-wcpa-package-menu-open body.single-product .dm-product-purchase-column {
    overflow-x: visible !important;
    overflow-y: visible !important;
}

html.dm-wcpa-package-menu-open body.single-product .xoo-wsc-basket,
html.dm-wcpa-package-menu-open body.single-product .dm-chat-launcher-wrap,
html.dm-wcpa-package-menu-open body.single-product .dm-mobile-trust-bar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* ===== DM-RELATED-REDESIGN v2 (2026-06-30): product-page related, flip cards (like search results), 5-up ===== */
/* heading — no eyebrow */
body.single-product .related.products > h2,
body.single-product .related.products > h3.qode-related-upsells-title{position:relative !important;margin:0 0 22px !important;padding:0 !important;font-family:var(--font-heading,"Outfit","Inter",sans-serif) !important;font-size:clamp(22px,2.4vw,28px) !important;font-weight:800 !important;letter-spacing:-.4px !important;color:#fff !important;text-transform:none !important;display:block !important;height:auto !important;line-height:1.15 !important}
body.single-product .related.products > h3.qode-related-upsells-title::before{content:none !important;display:none !important}
body.single-product .related.products > br{display:none !important}

/* 5-up grid (high specificity to beat product.css forced grid) */
body.single-product .dm-related-products-wrap .related.products ul.products,
body.single-product .related.products ul.products{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:16px !important;margin:0 !important;padding:0 !important;list-style:none !important}
@media(max-width:1100px){body.single-product .dm-related-products-wrap .related.products ul.products,body.single-product .related.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:720px){body.single-product .dm-related-products-wrap .related.products ul.products,body.single-product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

/* card shell + flip stage */
body.single-product .related.products li.product.dm-product-card{margin:0 !important;border-radius:16px !important;background:linear-gradient(180deg,#15171f,#101218) !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:0 10px 30px rgba(0,0,0,.4) !important;overflow:hidden !important;perspective:1600px !important;transition:border-color .22s,box-shadow .22s !important}
body.single-product .related.products li.product.dm-product-card:hover{border-color:rgba(var(--accent-primary-rgb,255,59,59),.5) !important;box-shadow:0 22px 46px rgba(0,0,0,.5),0 0 0 1px rgba(var(--accent-primary-rgb,255,59,59),.25) !important}
body.single-product .related.products .dm-flip{position:relative !important;width:100% !important;height:100% !important;transform-style:preserve-3d !important;transition:transform .6s cubic-bezier(.2,.8,.2,1) !important}
body.single-product .related.products li.product:hover .dm-flip,
body.single-product .related.products li.product:focus-within .dm-flip{transform:rotateY(180deg) !important}

/* FRONT */
body.single-product .related.products .dm-flip__front{display:flex !important;flex-direction:column !important;height:100% !important;text-decoration:none !important;color:inherit !important;backface-visibility:hidden !important;-webkit-backface-visibility:hidden !important}
body.single-product .related.products .dm-product-card__image{position:relative !important;aspect-ratio:345/198 !important;height:auto !important;min-height:0 !important;overflow:hidden !important;background:#0c0d12 !important}
body.single-product .related.products .dm-product-card__image::after{content:none !important;display:none !important}
body.single-product .related.products .dm-product-card__img,
body.single-product .related.products .dm-product-card__image img{width:100% !important;height:100% !important;object-fit:cover !important}
body.single-product .related.products .dm-product-card__badges{position:absolute !important;top:10px !important;left:10px !important;right:auto !important;bottom:auto !important;z-index:4 !important}
body.single-product .related.products .dm-product-card__sale-badge{display:inline-flex !important;align-items:center;padding:5px 9px !important;border-radius:7px !important;background:linear-gradient(180deg,#ff5252,#e2231f) !important;color:#fff !important;font-size:11px !important;font-weight:900 !important;letter-spacing:.4px !important;line-height:1 !important;box-shadow:0 6px 14px rgba(var(--accent-primary-rgb,255,59,59),.45) !important}
body.single-product .related.products .dm-product-card__platforms{display:none !important}
body.single-product .related.products .dm-product-card__features{display:none !important}
body.single-product .related.products .dm-product-card__content{display:flex !important;flex-direction:column !important;flex:1 !important;gap:0 !important;padding:12px 13px 13px !important}
body.single-product .related.products .dm-product-card__title{margin:0 !important;font-family:var(--font-heading,"Outfit") !important;font-size:13.5px !important;font-weight:800 !important;line-height:1.3 !important;letter-spacing:-.2px !important;color:#fff !important;display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;min-height:2.6em !important;max-height:2.7em !important}
body.single-product .related.products .dm-product-card__footer{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;margin-top:auto !important;padding-top:11px !important;border-top:1px solid rgba(255,255,255,.08) !important}
body.single-product .related.products .dm-product-card__price-wrap{display:flex !important;flex-direction:column !important;gap:2px !important;min-width:0 !important}
body.single-product .related.products .dm-product-card__price-label{margin:0 !important;font-size:9.5px !important;font-weight:800 !important;letter-spacing:.8px !important;text-transform:uppercase !important;color:#6b7280 !important}
body.single-product .related.products .dm-product-card__price{font-family:var(--font-heading,"Outfit") !important;font-size:18px !important;font-weight:900 !important;color:#fff !important;line-height:1.05 !important}
body.single-product .related.products .dm-product-card__regular-price{font-size:11.5px !important;color:#6b7280 !important;text-decoration:line-through !important}
body.single-product .related.products .dm-product-card__sale-price{color:#fff !important;text-decoration:none !important}
body.single-product .related.products .dm-product-card__cta{flex:0 0 auto !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:40px !important;min-width:40px !important;height:40px !important;padding:0 !important;border:0 !important;border-radius:11px !important;background:linear-gradient(180deg,#ff4747,#e2231f) !important;color:#fff !important;box-shadow:0 8px 18px rgba(var(--accent-primary-rgb,255,59,59),.34) !important}
body.single-product .related.products .dm-product-card__cta::before{content:none !important}
body.single-product .related.products .dm-product-card__cta svg{width:18px !important;height:18px !important}

/* BACK (What's included + View Product) */
body.single-product .related.products .dm-flip__back{position:absolute !important;inset:0 !important;display:flex !important;flex-direction:column !important;gap:9px !important;padding:15px 13px 13px !important;text-decoration:none !important;color:#fff !important;overflow:hidden !important;border-radius:16px !important;backface-visibility:hidden !important;-webkit-backface-visibility:hidden !important;transform:rotateY(180deg) !important;background:radial-gradient(420px 220px at 50% 0,rgba(var(--accent-primary-rgb,255,59,59),.16),transparent 60%),linear-gradient(180deg,#15171f,#101218) !important}
body.single-product .related.products .dm-flip__back-head{flex:0 0 auto !important;font-family:"Outfit" !important;font-size:11px !important;font-weight:800 !important;letter-spacing:1.4px !important;text-transform:uppercase !important;color:var(--accent-primary,#ff3b3b) !important}
body.single-product .related.products .dm-flip__back-list{list-style:none !important;margin:0 !important;padding:0 !important;display:flex !important;flex-direction:column !important;gap:7px !important;flex:1 1 auto !important;min-height:0 !important;overflow:auto !important}
body.single-product .related.products .dm-flip__back-list li{position:relative !important;padding-left:22px !important;font-size:12px !important;line-height:1.35 !important;color:#e7e9ee !important}
body.single-product .related.products .dm-flip__back-list li::before{content:"" !important;position:absolute !important;left:0 !important;top:1px !important;width:15px !important;height:15px !important;border-radius:50% !important;background:rgba(52,211,153,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat !important;box-shadow:inset 0 0 0 1px rgba(52,211,153,.3) !important}
body.single-product .related.products .dm-flip__back-cta{flex:0 0 auto !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:7px !important;height:42px !important;border-radius:11px !important;background:linear-gradient(180deg,#ff4747,#e2231f) !important;color:#fff !important;font-family:"Outfit" !important;font-size:13.5px !important;font-weight:800 !important;letter-spacing:.3px !important;box-shadow:0 10px 24px rgba(var(--accent-primary-rgb,255,59,59),.34) !important}
body.single-product .related.products .dm-flip__back-cta svg{width:16px !important;height:16px !important}

/* force 5-up related grid (beat the repeat(4) rule at higher specificity) */
html body.single-product div.dm-related-products-wrap div.related.products ul.products{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:16px !important}
@media (max-width:1180px){html body.single-product div.dm-related-products-wrap div.related.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:760px){html body.single-product div.dm-related-products-wrap div.related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}

/* related: force brand red where theme --accent-primary resolves cyan */
html body.single-product .related.products .dm-flip__back-head{color:#ff3b3b !important}
html body.single-product .related.products li.product.dm-product-card:hover{border-color:rgba(255,59,59,.5) !important;box-shadow:0 22px 46px rgba(0,0,0,.5),0 0 0 1px rgba(255,59,59,.25) !important}
html body.single-product .related.products .dm-product-card__sale-badge{box-shadow:0 6px 14px rgba(255,59,59,.45) !important}

/* ============================================================================
   DM-BUYCARD-REDESIGN v1 (2026-07-01): refined, on-brand (red) buy card + dropdowns.
   Scoped body.single-product, hardcoded brand red (#ff3b3b / #ff4747->#e2231f)
   because --accent-primary / --accent-info resolve to cyan/teal in product scope.
   Maps to real wcpa + Woo markup. Appended last so it wins on source order.
   ============================================================================ */

/* ---- Card shell ---- */
body.single-product .dm-sticky-form.dm-product-buy-card{
  padding:18px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#16181f 0%,#0f1116 100%) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* ---- Field rhythm + labels ---- */
body.single-product .dm-sticky-form .wcpa_form_outer{display:block !important;}
body.single-product .dm-sticky-form .wcpa_row{margin:0 0 14px !important;}
body.single-product .dm-sticky-form .wcpa_field_wrap{display:flex !important;flex-direction:column !important;gap:9px !important;width:100% !important;margin:0 !important;padding:0 !important;}
body.single-product .dm-sticky-form .wcpa_left_wrap{display:flex !important;flex-direction:column !important;width:100% !important;}
body.single-product .dm-sticky-form .wcpa_field_label{
  display:flex !important;align-items:center !important;gap:6px !important;width:100% !important;
  font-family:"Inter",sans-serif !important;
  font-size:11px !important;font-weight:700 !important;letter-spacing:1px !important;
  text-transform:uppercase !important;color:#9aa1ad !important;margin:0 0 9px !important;float:none !important;
}
body.single-product .dm-sticky-form .wcpa_required_ast{color:#ff3b3b !important;margin-left:1px !important;}

/* ---- Native select (closed state) ---- */
body.single-product .dm-sticky-form select.wcpa_field,
body.single-product .dm-sticky-form .wcpa_field_wrap select{
  width:100% !important;height:54px !important;min-height:54px !important;
  padding:0 52px 0 16px !important;
  background:rgba(255,255,255,.035) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c7ccd6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 18px center / 14px 14px !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:13px !important;
  color:#f3f4f7 !important;font-family:"Inter",sans-serif !important;font-size:14.5px !important;font-weight:600 !important;line-height:54px !important;
  cursor:pointer !important;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
  transition:border-color .18s,box-shadow .18s,background-color .18s !important;
  box-sizing:border-box !important;
}
body.single-product .dm-sticky-form select.wcpa_field:required:invalid,
body.single-product .dm-sticky-form .wcpa_field_wrap select:required:invalid{
  color:#6b7280 !important;font-weight:500 !important;
}
body.single-product .dm-sticky-form select.wcpa_field:hover,
body.single-product .dm-sticky-form .wcpa_field_wrap select:hover{
  border-color:rgba(255,255,255,.2) !important;background-color:rgba(255,255,255,.06) !important;
}
body.single-product .dm-sticky-form select.wcpa_field:focus,
body.single-product .dm-sticky-form .wcpa_field_wrap select:focus{
  outline:none !important;border-color:rgba(255,59,59,.6) !important;
  box-shadow:0 0 0 4px rgba(255,59,59,.13) !important;background-color:rgba(255,255,255,.06) !important;
}
body.single-product .dm-sticky-form select.wcpa_field option{background:#15171f !important;color:#fff !important;}

/* ---- Inline content/help note ---- */
body.single-product .dm-sticky-form .wcpa_type_content .wcpa_left_wrap{
  padding:11px 13px !important;border-radius:11px !important;
  background:rgba(255,255,255,.025) !important;border:1px solid rgba(255,255,255,.06) !important;
}
body.single-product .dm-sticky-form .wcpa_type_content .wcpa_option_desc,
body.single-product .dm-sticky-form .wcpa_type_content .wcpa_left_wrap{
  color:#9aa1ad !important;font-size:12.5px !important;line-height:1.5 !important;
}

/* ---- Checkbox groups -> selectable tiles ---- */
body.single-product .dm-sticky-form .wcpa_type_checkbox-group .wcpa_field_label{
  font-size:11px !important;color:#9aa1ad !important;margin-bottom:9px !important;
}
body.single-product .dm-sticky-form .wcpa_group_field{display:flex !important;flex-direction:column !important;gap:8px !important;}
body.single-product .dm-sticky-form .wcpa_checkbox{margin:0 !important;padding:0 !important;}
body.single-product .dm-sticky-form .wcpa_checkbox > label{
  display:flex !important;align-items:center !important;gap:11px !important;
  padding:12px 13px !important;margin:0 !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.09) !important;border-radius:12px !important;
  cursor:pointer !important;transition:border-color .16s,background-color .16s !important;
}
body.single-product .dm-sticky-form .wcpa_checkbox > label:hover{
  background:rgba(255,255,255,.06) !important;border-color:rgba(255,255,255,.18) !important;
}
/* hide native checkbox, keep accessible */
body.single-product .dm-sticky-form .wcpa_checkbox input[type="checkbox"]{
  position:absolute !important;opacity:0 !important;width:1px !important;height:1px !important;margin:0 !important;
}
/* custom box */
body.single-product .dm-sticky-form .wcpa_checkbox_custom{
  flex:0 0 auto !important;width:20px !important;height:20px !important;border-radius:6px !important;
  border:1.5px solid rgba(255,255,255,.25) !important;background:rgba(255,255,255,.03) !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  transition:.16s !important;position:relative !important;
}
/* label text expands, price pushed right */
body.single-product .dm-sticky-form .wcpa_checkbox > label > span:not(.wcpa_checkbox_custom):not(.wcpa_option_price){
  flex:1 !important;min-width:0 !important;font-size:13.5px !important;font-weight:600 !important;color:#f3f4f7 !important;line-height:1.3 !important;
}
body.single-product .dm-sticky-form .wcpa_option_price{
  flex:0 0 auto !important;margin-left:auto !important;
  font-family:"Outfit",sans-serif !important;font-size:13px !important;font-weight:800 !important;
  color:#9aa1ad !important;white-space:nowrap !important;
}
/* selected state (wcpa adds .wcpa_selected; :has fallback) */
body.single-product .dm-sticky-form .wcpa_checkbox.wcpa_selected > label,
body.single-product .dm-sticky-form .wcpa_checkbox:has(input:checked) > label{
  border-color:rgba(255,59,59,.55) !important;background:rgba(255,59,59,.07) !important;
}
body.single-product .dm-sticky-form .wcpa_checkbox.wcpa_selected .wcpa_checkbox_custom,
body.single-product .dm-sticky-form .wcpa_checkbox:has(input:checked) .wcpa_checkbox_custom{
  background:linear-gradient(180deg,#ff4747,#e2231f) !important;border-color:transparent !important;
}
body.single-product .dm-sticky-form .wcpa_checkbox.wcpa_selected .wcpa_checkbox_custom::after,
body.single-product .dm-sticky-form .wcpa_checkbox:has(input:checked) .wcpa_checkbox_custom::after{
  content:"" !important;width:11px !important;height:11px !important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
body.single-product .dm-sticky-form .wcpa_checkbox.wcpa_selected .wcpa_option_price,
body.single-product .dm-sticky-form .wcpa_checkbox:has(input:checked) .wcpa_option_price{color:#fff !important;}

/* group running subtotal */
body.single-product .dm-sticky-form .wcpa_field_bottom{
  display:flex !important;justify-content:flex-end !important;align-items:center !important;margin-top:8px !important;
}
body.single-product .dm-sticky-form .wcpa_field_price{
  font-family:"Outfit",sans-serif !important;font-size:12px !important;font-weight:700 !important;color:#9aa1ad !important;
}

/* ---- Price summary -> clean receipt line ---- */
body.single-product .dm-sticky-form .wcpa_price_summary{
  margin:18px 0 0 !important;padding:15px 2px 2px !important;
  background:none !important;border:0 !important;border-top:1px solid rgba(255,255,255,.09) !important;border-radius:0 !important;
}
body.single-product .dm-sticky-form .wcpa_total{
  display:flex !important;justify-content:space-between !important;align-items:baseline !important;
  font-family:"Outfit",sans-serif !important;font-weight:800 !important;color:#fff !important;
}
body.single-product .dm-sticky-form .wcpa_total > span:first-child{
  font-size:12px !important;font-weight:700 !important;letter-spacing:1px !important;text-transform:uppercase !important;color:#9aa1ad !important;
}
body.single-product .dm-sticky-form .wcpa_price_outer{
  font-family:"Outfit",sans-serif !important;font-size:28px !important;font-weight:900 !important;color:#fff !important;letter-spacing:-.5px !important;
}
body.single-product .dm-sticky-form .wcpa_price_outer del{
  font-family:"Inter",sans-serif !important;font-size:15px !important;font-weight:600 !important;color:#6b7280 !important;
  margin-right:7px !important;vertical-align:middle !important;text-decoration:line-through !important;
}

/* ---- Quantity + Add to Cart on one row (JS relocates .quantity into .dm-product-cta-row) ---- */
body.single-product .dm-product-cart__actions .dm-product-cta-row{
  display:flex !important;gap:11px !important;align-items:stretch !important;
}
body.single-product .dm-product-cart__actions .dm-product-cta-row .quantity.buttons_added{
  display:inline-flex !important;align-items:center !important;flex:0 0 auto !important;
  height:56px !important;margin:0 !important;
  background:rgba(255,255,255,.035) !important;border:1px solid rgba(255,255,255,.09) !important;
  border-radius:13px !important;overflow:hidden !important;
}
body.single-product .quantity.buttons_added .minus,
body.single-product .quantity.buttons_added .plus{
  width:42px !important;height:54px !important;border:0 !important;background:transparent !important;color:#9aa1ad !important;
  font-size:18px !important;font-weight:600 !important;cursor:pointer !important;transition:.15s !important;border-radius:0 !important;
}
body.single-product .quantity.buttons_added .minus:hover,
body.single-product .quantity.buttons_added .plus:hover{background:rgba(255,255,255,.06) !important;color:#fff !important;}
body.single-product .quantity.buttons_added .qty{
  width:38px !important;height:54px !important;border:0 !important;background:transparent !important;color:#fff !important;text-align:center !important;
  font-family:"Outfit",sans-serif !important;font-size:16px !important;font-weight:800 !important;-moz-appearance:textfield !important;
}
body.single-product .quantity.buttons_added .qty::-webkit-outer-spin-button,
body.single-product .quantity.buttons_added .qty::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}

/* ---- Add to Cart: brand red gradient ---- */
body.single-product .dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button.dm-btn{
  flex:1 1 auto !important;min-width:0 !important;height:56px !important;border:0 !important;border-radius:13px !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:9px !important;
  background:linear-gradient(180deg,#ff4747,#e2231f) !important;color:#fff !important;
  font-family:"Outfit",sans-serif !important;font-size:15.5px !important;font-weight:800 !important;letter-spacing:.3px !important;text-transform:none !important;
  box-shadow:0 12px 26px rgba(255,59,59,.32),inset 0 1px 0 rgba(255,255,255,.22) !important;
  transition:filter .15s,transform .12s !important;
}
body.single-product .dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button.dm-btn:hover{filter:brightness(1.07) !important;transform:none !important;}
body.single-product .dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button.dm-btn:active{transform:translateY(1px) !important;}

/* ---- Wallet divider label ---- */
body.single-product .dm-product-cart__actions .dm-product-cta-wallet-label{
  display:flex !important;align-items:center !important;gap:12px !important;margin:13px 0 11px !important;
}
body.single-product .dm-product-cart__actions .dm-product-cta-wallet-label::before,
body.single-product .dm-product-cart__actions .dm-product-cta-wallet-label::after{
  content:"" !important;height:1px !important;flex:1 !important;background:rgba(255,255,255,.09) !important;
}
body.single-product .dm-product-cart__actions .dm-product-cta-wallet-label > span{
  font-size:10.5px !important;font-weight:800 !important;letter-spacing:1.4px !important;text-transform:uppercase !important;color:#6b7280 !important;
}

/* ============================================================================
   DM-BUYCARD-DROPDOWN v1 (2026-07-01): custom dropdown UI (paired with
   dm-buycard-enhance.js). Native <select> is hidden but stays in the DOM.
   ============================================================================ */
body.single-product .dm-sticky-form .dm-select{position:relative !important;width:100% !important;}
/* native select hidden but present (kept for submit + wcpa change listeners) */
body.single-product .dm-sticky-form select.dm-select__native{
  position:absolute !important;opacity:0 !important;pointer-events:none !important;
  width:100% !important;height:54px !important;min-height:54px !important;
  top:0 !important;left:0 !important;margin:0 !important;
}
/* trigger mirrors the field styling */
body.single-product .dm-sticky-form .dm-select__trigger{
  position:relative !important;z-index:1 !important;
  width:100% !important;height:54px !important;
  display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;
  padding:0 16px !important;
  background-color:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.09) !important;border-radius:13px !important;
  color:#f3f4f7 !important;font-family:"Inter",sans-serif !important;font-size:14.5px !important;font-weight:600 !important;text-align:left !important;
  cursor:pointer !important;transition:border-color .18s,box-shadow .18s,background-color .18s !important;
}
body.single-product .dm-sticky-form .dm-select__trigger:hover{border-color:rgba(255,255,255,.2) !important;background-color:rgba(255,255,255,.06) !important;}
body.single-product .dm-sticky-form .dm-select.is-open .dm-select__trigger{
  border-color:rgba(255,59,59,.6) !important;box-shadow:0 0 0 4px rgba(255,59,59,.13) !important;background-color:rgba(255,255,255,.06) !important;
}
body.single-product .dm-sticky-form .dm-select__value{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
body.single-product .dm-sticky-form .dm-select__value.is-placeholder{color:#6b7280 !important;font-weight:500 !important;}
body.single-product .dm-sticky-form .dm-select__chev{flex:0 0 auto !important;display:inline-flex !important;color:#c7ccd6 !important;transition:transform .2s !important;}
body.single-product .dm-sticky-form .dm-select__chev svg{width:14px !important;height:14px !important;}
body.single-product .dm-sticky-form .dm-select.is-open .dm-select__chev{transform:rotate(180deg) !important;}

/* menu */
body.single-product .dm-sticky-form .dm-select__menu{
  display:none !important;position:absolute !important;z-index:60 !important;left:0 !important;right:0 !important;top:calc(100% + 8px) !important;
  background:#15171f !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:13px !important;overflow:hidden !important;
  box-shadow:0 22px 50px rgba(0,0,0,.6) !important;padding:6px !important;
  max-height:280px !important;overflow-y:auto !important;
}
body.single-product .dm-sticky-form .dm-select.is-open .dm-select__menu{display:block !important;}
body.single-product .dm-sticky-form .dm-select__option{
  display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;
  padding:12px 13px !important;border-radius:9px !important;cursor:pointer !important;
  color:#f3f4f7 !important;font-family:"Inter",sans-serif !important;font-size:14px !important;font-weight:600 !important;position:relative !important;
}
body.single-product .dm-sticky-form .dm-select__option:hover{background:rgba(255,255,255,.05) !important;}
body.single-product .dm-sticky-form .dm-select__option.is-selected{background:rgba(255,59,59,.12) !important;}
body.single-product .dm-sticky-form .dm-select__option.is-selected::before{
  content:"" !important;position:absolute !important;left:0 !important;top:8px !important;bottom:8px !important;width:3px !important;border-radius:3px !important;
  background:linear-gradient(180deg,#ff4747,#e2231f) !important;
}
body.single-product .dm-sticky-form .dm-select__ck{flex:0 0 auto !important;display:inline-flex !important;width:16px !important;height:16px !important;color:#ff5a5a !important;opacity:0 !important;}
body.single-product .dm-sticky-form .dm-select__ck svg{width:16px !important;height:16px !important;}
body.single-product .dm-sticky-form .dm-select__option.is-selected .dm-select__ck{opacity:1 !important;}

/* Make the pre-enhancement WCPA select visually match the final custom trigger. */
body.single-product .dm-product-buy-card .wcpa_field_wrap select.wcpa_field:not(.dm-select__native):not(.wcpa_advanced_select){
  background:rgba(255,255,255,.035) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c7ccd6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 18px center / 14px 14px !important;
  border-color:rgba(255,255,255,.09) !important;
  color:#f3f4f7 !important;
}
body.single-product .dm-product-buy-card .wcpa_field_wrap select.wcpa_field:not(.dm-select__native):not(.wcpa_advanced_select):required:invalid{
  color:#6b7280 !important;font-weight:500 !important;
}

/* neutralize any leftover tint/background on per-option price text */
body.single-product .dm-sticky-form .wcpa_option_price{
  background:none !important;border:0 !important;padding:0 !important;box-shadow:none !important;border-radius:0 !important;
}

/* ============================================================================
   DM-BUYCARD-REFINE v1 (2026-07-01): refinement pass over the buy-card redesign.
   Top-aligned option tiles, clean price tags, group separation, wallet cleanup.
   ============================================================================ */

/* ---- Option tiles: top-align so multi-line labels read cleanly ---- */
body.single-product .dm-sticky-form .wcpa_group_field{gap:7px !important;}
body.single-product .dm-sticky-form .wcpa_checkbox > label{
  align-items:flex-start !important;gap:10px !important;padding:11px 12px !important;
}
body.single-product .dm-sticky-form .wcpa_checkbox_custom{margin-top:1px !important;}
body.single-product .dm-sticky-form .wcpa_checkbox > label > span:not(.wcpa_checkbox_custom):not(.wcpa_option_price){
  font-size:13px !important;line-height:1.35 !important;padding-top:1px !important;
}

/* ---- Per-option price -> clean tag rendered from data-clean (set by JS).
        Original wcpa text is hidden (font-size:0) but left untouched in the DOM. ---- */
body.single-product .dm-sticky-form .wcpa_option_price{
  align-self:flex-start !important;margin-top:0 !important;margin-left:auto !important;white-space:nowrap !important;
}
body.single-product .dm-sticky-form .wcpa_option_price[data-clean]{font-size:0 !important;line-height:1 !important;}
body.single-product .dm-sticky-form .wcpa_option_price[data-clean]::after{
  content:attr(data-clean) !important;display:inline-block !important;
  padding:3px 8px !important;border-radius:7px !important;
  background:rgba(255,255,255,.05) !important;color:#c2c7d0 !important;
  font-family:"Outfit",sans-serif !important;font-size:12px !important;font-weight:800 !important;line-height:1.4 !important;white-space:nowrap !important;
}
body.single-product .dm-sticky-form .wcpa_checkbox.wcpa_selected .wcpa_option_price[data-clean]::after,
body.single-product .dm-sticky-form .wcpa_checkbox:has(input:checked) .wcpa_option_price[data-clean]::after{
  background:rgba(255,59,59,.18) !important;color:#fff !important;
}

/* ---- Group separation + crisper group headers ---- */
body.single-product .dm-sticky-form .wcpa_type_checkbox-group{
  margin-top:4px !important;padding-top:16px !important;
  border:0 !important;border-top:1px solid rgba(255,255,255,.07) !important;
}
body.single-product .dm-sticky-form .wcpa_type_checkbox-group .wcpa_field_label{
  font-size:11px !important;font-weight:800 !important;letter-spacing:1px !important;color:#aeb4bf !important;margin-bottom:11px !important;
}

/* ---- Trustpilot: cap reserved space so a slow widget doesn't leave a void ---- */
body.single-product .dm-product-trustpilot-trustscore{min-height:0 !important;}

/* ---- Wallet buttons: kill stray borders / boxes ---- */
body.single-product .wc_stripe_product_payment_methods li,
body.single-product .wc_stripe_product_payment_methods li .payment-box{
  border:0 !important;box-shadow:none !important;background:transparent !important;padding:0 !important;min-height:0 !important;
}

/* ============================================================================
   DM-INFOCARD-REDESIGN v1 (2026-07-01): unify the center column (.dm-product-info-card)
   to brand red + match the buy-card surface + polish bullets / payments / reviews.
   Hardcoded red (#ff4747->#e2231f / #ff5050) because --accent-primary is cyan here.
   Appended last; !important to beat the desktop media-query rules.
   ============================================================================ */

/* ---- Container: match the buy card ---- */
body.single-product .dm-product-info-card{
  background:linear-gradient(180deg,#16181f 0%,#0f1116 100%) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:18px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04) !important;
}

@media (min-width:1025px){
  body.single-product .dm-product-info-card{
    margin:14px 14px 0 !important;
    width:calc(100% - 28px) !important;
    max-width:calc(100% - 28px) !important;
    box-sizing:border-box !important;
    padding:12px 14px 0 !important;
  }
}

@media (max-width:1024px){
  body.single-product .dm-product-info-card{
    margin:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* ---- Sale badge -> brand red ---- */
body.single-product .dm-product-info-card .dm-sale-badge{
  background:linear-gradient(180deg,#ff4747,#e2231f) !important;color:#fff !important;
  border-radius:8px !important;padding:7px 13px !important;
  font-size:11px !important;font-weight:800 !important;letter-spacing:.6px !important;
  box-shadow:0 8px 18px rgba(255,59,59,.4) !important;
}

/* ---- Title ---- */
body.single-product .dm-product-info-card .product_title,
body.single-product .dm-product-info-card .entry-title{
  font-size:clamp(1.2rem,1.3vw,1.5rem) !important;font-weight:800 !important;letter-spacing:-.3px !important;color:#fff !important;margin:0 0 10px !important;
}

/* ---- Price: red sale, muted strike ---- */
body.single-product .dm-product-info-card .dm-product-price-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  column-gap:clamp(10px,2vw,18px) !important;
  row-gap:8px !important;
  min-width:0 !important;
  width:100% !important;
}
body.single-product .dm-product-info-card .dm-product-price{
  min-width:0 !important;
  flex:0 1 auto !important;
  margin:0 !important;
}
body.single-product .dm-product-info-card .dm-product-price-trustpilot{
  display:block !important;
  flex:1 1 230px !important;
  width:clamp(230px,54%,276px) !important;
  max-width:276px !important;
  min-width:230px !important;
  margin-left:auto !important;
  padding:3px !important;
  border:1px solid rgba(0, 182, 122, .32) !important;
  border-radius:9px !important;
  background:
    linear-gradient(180deg, rgba(0, 182, 122, .14), rgba(0, 0, 0, .08)),
    rgba(255, 255, 255, .04) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.single-product .dm-product-info-card .dm-product-price-trustpilot .trustpilot-widget{
  display:block !important;
  width:100% !important;
  min-height:32px !important;
  height:32px !important;
  border-radius:6px !important;
  overflow:hidden !important;
}
body.single-product .dm-product-info-card .dm-product-price-trustpilot iframe{
  display:block !important;
  width:100% !important;
  min-height:32px !important;
  height:32px !important;
  border:0 !important;
  border-radius:6px !important;
}
body.single-product .dm-product-info-card .price{align-items:baseline !important;gap:9px !important;margin:0 !important;}
body.single-product .dm-product-info-card .price ins{color:#ff5050 !important;text-decoration:none !important;}
body.single-product .dm-product-info-card .price ins .woocommerce-Price-amount{font-weight:900 !important;}
body.single-product .dm-product-info-card .price del{color:#6b7280 !important;font-weight:600 !important;}
body.single-product .dm-product-info-card .price del .woocommerce-Price-amount{font-size:1rem !important;}

@media (max-width:520px){
  body.single-product .dm-product-info-card .dm-product-price-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    justify-items:start !important;
  }
  body.single-product .dm-product-info-card .dm-product-price-trustpilot{
    width:min(100%,270px) !important;
    max-width:270px !important;
    min-width:0 !important;
    margin-left:0 !important;
  }
}

/* ---- Short description: links red, bullets crisp green check ---- */
body.single-product .dm-product-info-card .woocommerce-product-details__short-description{
  font-size:12.5px !important;line-height:1.5 !important;color:#aeb4bf !important;
}
body.single-product .dm-product-info-card .woocommerce-product-details__short-description > p:first-child strong{
  color:#fff !important;font-size:13px !important;
}
body.single-product .dm-product-info-card .woocommerce-product-details__short-description a{
  color:#ff6a6a !important;text-decoration:none !important;font-weight:600 !important;
  border-bottom:1px solid rgba(255,80,80,.4) !important;transition:color .15s,border-color .15s !important;
}
body.single-product .dm-product-info-card .woocommerce-product-details__short-description a:hover{
  color:#ff8a8a !important;border-bottom-color:rgba(255,120,120,.7) !important;
}
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li{
  display:flex !important;align-items:flex-start !important;gap:9px !important;padding:4px 0 !important;
  font-size:12.5px !important;color:#c8cdd6 !important;line-height:1.4 !important;
}
body.single-product .dm-product-info-card .woocommerce-product-details__short-description li::before{
  content:"" !important;flex:0 0 auto !important;width:18px !important;height:18px !important;border-radius:50% !important;margin-top:1px !important;
  background:rgba(52,211,153,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat !important;
  box-shadow:inset 0 0 0 1px rgba(52,211,153,.38) !important;color:transparent !important;font-size:0 !important;
}

/* ---- Payment icons: even 3-col grid ---- */
body.single-product .dm-product-info-card .dm-sidebar-payments{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;
  justify-content:stretch !important;margin-top:16px !important;padding-top:16px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
body.single-product .dm-product-info-card .dm-sidebar-payments .dm-payment-svg{
  width:100% !important;max-width:100% !important;height:32px !important;box-sizing:border-box !important;margin:0 !important;padding:7px 11px !important;
  object-fit:contain !important;object-position:center !important;
  background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.07) !important;border-radius:10px !important;
}

/* ---- Reviews: divider above ---- */
body.single-product .dm-product-info-card .dm-product-cart__reviews{
  margin-top:16px !important;padding-top:16px !important;border-top:1px solid rgba(255,255,255,.07) !important;
}

/* ============================================================================
   DM-2COL-LAYOUT v1 (2026-07-01): product hero -> 2 columns (mockup layout).
   LEFT (.dm-product-main)   = gallery + "What you'll receive" (.dm-product-receive)
   RIGHT (aside.dm-product-sidebar) = info-card(title/price) + buy form + payments + trust
   Full description / How-It-Works / Reviews / Related = full-width bands below.
   Overrides the 3-col grid rules (lines ~3752 & ~4208); appended last + !important.
   ============================================================================ */

@media (min-width:1025px){
  /* 2-col grid */
  body.single-product .dm-product-layout,
  body.single-product .dm-product-layout.container,
  body.woocommerce .dm-product-layout,
  .dm-single-product .dm-product-layout{
    grid-template-columns:minmax(0,1.32fr) minmax(390px,0.86fr) !important;
    gap:34px !important;
    align-items:start !important;
  }
  /* sidebar becomes ONE real column that stacks its children (was display:contents) */
  body.single-product .dm-product-sidebar{
    display:flex !important;flex-direction:column !important;gap:16px !important;
    grid-column:2 !important;align-self:start !important;
    position:sticky !important;top:calc(var(--header-height,80px) + 16px) !important;
    max-height:none !important;overflow:visible !important;
  }
  /* info-card is now just the title/price header — strip the card chrome + sticky/scroll */
  body.single-product .dm-product-info-card{
    grid-column:auto !important;position:static !important;
    max-height:none !important;overflow:visible !important;
    background:none !important;border:0 !important;box-shadow:none !important;padding:12px 14px 0 !important;
    margin:14px 14px 0 !important;
    width:calc(100% - 28px) !important;
    max-width:calc(100% - 28px) !important;
    box-sizing:border-box !important;
  }
  /* buy card stays static inside the now-sticky column */
  body.single-product .dm-product-buy-card{grid-column:auto !important;position:static !important;top:auto !important;}
}

/* ---- LEFT: "What you'll receive" card ---- */
body.single-product .dm-product-receive{
  margin-top:18px;padding:20px 22px;border-radius:16px;
  background:linear-gradient(180deg,#15171f,#101218);border:1px solid rgba(255,255,255,.08);
}
body.single-product .dm-product-receive .woocommerce-product-details__short-description{
  margin:0 !important;padding:0 !important;border:0 !important;max-height:none !important;overflow:visible !important;color:#c8cdd6 !important;font-size:13.5px !important;line-height:1.6 !important;
}
body.single-product .dm-product-receive .woocommerce-product-details__short-description > p:first-child{margin:0 0 12px !important;}
body.single-product .dm-product-receive .woocommerce-product-details__short-description > p:first-child strong{color:#fff !important;font-size:14px !important;letter-spacing:.2px;}
body.single-product .dm-product-receive .woocommerce-product-details__short-description ul{
  list-style:none !important;margin:0 !important;padding:0 !important;
  display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px 22px !important;
}
body.single-product .dm-product-receive .woocommerce-product-details__short-description li{
  display:flex !important;align-items:flex-start !important;gap:9px !important;padding:0 !important;
  font-size:13.5px !important;color:#e7e9ee !important;line-height:1.4 !important;
}
body.single-product .dm-product-receive .woocommerce-product-details__short-description li::before{
  content:"" !important;flex:0 0 auto !important;width:18px !important;height:18px !important;border-radius:50% !important;margin-top:1px !important;
  background:rgba(52,211,153,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334d399' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat !important;
  box-shadow:inset 0 0 0 1px rgba(52,211,153,.34) !important;color:transparent !important;font-size:0 !important;
}
body.single-product .dm-product-receive .woocommerce-product-details__short-description a{color:#ff6a6a !important;font-weight:600 !important;text-decoration:none !important;border-bottom:1px solid rgba(255,80,80,.4) !important;}
@media(max-width:560px){
  body.single-product .dm-product-receive .woocommerce-product-details__short-description ul{grid-template-columns:1fr !important;}
}

/* ---- RIGHT: payments now sit under the buy form ---- */
body.single-product .dm-product-purchase-column .dm-sidebar-payments{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;
  margin:14px 0 0 !important;padding:14px 0 0 !important;border-top:1px solid rgba(255,255,255,.08) !important;justify-content:stretch !important;flex-wrap:nowrap !important;
}
body.single-product .dm-product-purchase-column .dm-sidebar-payments .dm-payment-svg{
  width:100% !important;max-width:100% !important;height:32px !important;margin:0 !important;box-sizing:border-box !important;padding:7px 11px !important;
  object-fit:contain !important;object-position:center !important;
  background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.07) !important;border-radius:10px !important;
}

/* ---- Full-width DESCRIPTION band ---- */
body.single-product .dm-product-description-band{margin:8px auto 0 !important;}
body.single-product .dm-product-description-band .dm-product-description{
  max-width:920px;margin:0;padding:36px 0 6px;border-top:1px solid rgba(255,255,255,.08);
  color:#c7ccd5;font-size:15.5px;line-height:1.75;
}
body.single-product .dm-product-description-band .dm-product-description :is(h2,h3){color:#fff;font-family:"Outfit","Inter",sans-serif;}
/* hide the band entirely when the product has no long description */
body.single-product .dm-product-description-band:not(:has(.dm-product-description p, .dm-product-description ul, .dm-product-description li, .dm-product-description h2, .dm-product-description h3, .dm-product-description img)){display:none !important;}

/* ---- Full-width REVIEWS band ---- */
body.single-product .dm-product-reviews-band{padding:36px 0 0 !important;margin:0 auto !important;border-top:1px solid rgba(255,255,255,.08);}
body.single-product .dm-product-reviews-band__title{font-family:"Outfit","Inter",sans-serif;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.3px;color:#fff;margin:0 0 20px;}
body.single-product .dm-product-reviews-band #dm-reviews-widget-product{min-height:160px;}

/* DM-2COL mobile stacking order: gallery -> what you'll receive -> buy panel */
@media (max-width:1024px){
  body.single-product .dm-product-gallery-wrap{order:1 !important;}
  body.single-product .dm-product-receive{order:2 !important;}
  body.single-product .dm-product-sidebar{order:3 !important;}
}

/* ============================================================================
   DM-BUYCARD-TIGHTEN v1 (2026-07-01): denser, more premium buy column.
   Tighter rhythm + shorter controls + trust accordions -> compact 2x2 chips.
   ============================================================================ */
@media (min-width:1025px){ body.single-product .dm-product-sidebar{gap:13px !important;} }
body.single-product .dm-product-buy-card{padding:16px !important;}

/* dropdowns 54 -> 48 */
body.single-product .dm-sticky-form select.wcpa_field,
body.single-product .dm-sticky-form .dm-select__trigger,
body.single-product .dm-sticky-form select.dm-select__native{height:48px !important;min-height:48px !important;}
body.single-product .dm-sticky-form select.wcpa_field{line-height:48px !important;}
body.single-product .dm-sticky-form .wcpa_field_label{margin-bottom:7px !important;}
body.single-product .dm-sticky-form .wcpa_row{margin-bottom:12px !important;}

/* price summary tighter */
body.single-product .dm-sticky-form .wcpa_price_summary{margin-top:14px !important;padding-top:13px !important;}
body.single-product .dm-sticky-form .wcpa_price_outer{font-size:25px !important;}

/* qty + add to cart 56 -> 50 */
body.single-product .dm-product-cart__actions .dm-product-cta-row .single_add_to_cart_button.dm-btn{height:50px !important;font-size:15px !important;border-radius:12px !important;}
body.single-product .quantity.buttons_added{height:50px !important;border-radius:12px !important;}
body.single-product .quantity.buttons_added .minus,
body.single-product .quantity.buttons_added .plus{height:48px !important;width:38px !important;}
body.single-product .quantity.buttons_added .qty{height:48px !important;}

/* wallet divider + payments tighter */
body.single-product .dm-product-cart__actions .dm-product-cta-wallet-label{margin:11px 0 9px !important;}
body.single-product .dm-product-purchase-column .dm-sidebar-payments{margin-top:12px !important;padding-top:12px !important;gap:7px !important;}
body.single-product .dm-product-purchase-column .dm-sidebar-payments .dm-payment-svg{height:32px !important;}

/* TRUST: four full-width accordions -> compact 2x2 static chips */
body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdowns{
  display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;margin-top:13px !important;
  border:0 !important;border-radius:0 !important;background:none !important;box-shadow:none !important;overflow:visible !important;
}
body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown{
  border:1px solid rgba(255,255,255,.08) !important;border-radius:12px !important;
  background:rgba(255,255,255,.03) !important;box-shadow:none !important;overflow:hidden !important;cursor:default !important;
  transition:border-color .16s,background-color .16s !important;
}
body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08) !important;}
body.single-product .dm-product-purchase-column .dm-product-sidebar-dropdown:hover{background:rgba(255,59,59,.06) !important;border-color:rgba(255,59,59,.3) !important;}
body.single-product .dm-product-sidebar-dropdown__summary{padding:11px !important;gap:9px !important;align-items:center !important;}
body.single-product .dm-product-sidebar-dropdown__icon{width:28px !important;height:28px !important;flex:0 0 28px !important;border-radius:9px !important;background:rgba(255,59,59,.12) !important;color:#ff5050 !important;}
body.single-product .dm-product-sidebar-dropdown__icon svg{width:15px !important;height:15px !important;}
body.single-product .dm-product-sidebar-dropdown__title strong{font-size:11.5px !important;line-height:1.2 !important;}
body.single-product .dm-product-sidebar-dropdown__title span{font-size:10px !important;line-height:1.25 !important;color:#8b909b !important;}
body.single-product .dm-product-sidebar-dropdown__chevron{display:none !important;}
body.single-product .dm-product-sidebar-dropdown__panel{display:none !important;}
