/*
 * Theme shell color adapter.
 *
 * Keep every selector on an explicit theme-owned component. The token values
 * are inert until consumed here, so independent design systems remain outside
 * this cascade contract.
 */

/* Frontend toast dismiss controls follow the active mode without a filled surface. */
html body[class]:not(.wp-admin) :is(
    .rp-account-toast__close,
    .rp-wc-notice-toast__close,
    .rp-wc-notice-modal__close,
    .rp-product-option-required-toast__close
) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--rp-theme-general-text, var(--rp-text)) !important;
    -webkit-text-fill-color: var(--rp-theme-general-text, var(--rp-text)) !important;
}

/* Shared interaction colors for theme navigation and contact actions. */
body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) :is(.rp-header, .rp-header-menu-sticky, .rp-footer, .rp-account-dropdown) a:is(:hover, :focus-visible),
body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) .rp-main-menu li:not(.rp-menu-mega-ready):hover > a {
    color: var(--rp-theme-general-accent-hover, var(--rp-theme-general-accent, #e11d48)) !important;
}

/* Shared loading indicator contract: every rotating theme spinner follows the active accent token. */
body:not(.wp-admin) {
    --rp-spinner-accent: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
}

/* All empty-media surfaces use the already subdued square asset as-is. */
body:not(.wp-admin) :is(
    img.rp-theme-placeholder-image,
    img.woocommerce-placeholder,
    img.rp-product-placeholder-image
) {
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    filter: none !important;
    padding: 10% !important;
    box-sizing: border-box !important;
}

/* All product no-image surfaces use the same intentionally pale asset as-is. */
body:not(.wp-admin) :is(img.woocommerce-placeholder, img.rp-product-placeholder-image),
body:not(.wp-admin) .rp-single-product-page .rp-product-gallery-placeholder-stage img.rp-theme-placeholder-image {
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Keep the active dark media canvas behind placeholder assets. */
:is(body.rp-theme-color-preset-dark, body.rp-theme-dark, body.is-dark, html[data-rp-user-theme="dark"] body):not(.wp-admin) :is(
    img.rp-theme-placeholder-image,
    img.woocommerce-placeholder[data-rp-placeholder-dark]
) {
    background-color: var(--rp-theme-general-surface, #171b21) !important;
}

/* The gallery's configurable light canvas must not wash out its dark footer
   logo. Only the no-image product stage receives this mode-aware override. */
:is(body.rp-theme-color-preset-dark, body.rp-theme-dark, body.is-dark, html[data-rp-user-theme="dark"] body):not(.wp-admin) .rp-single-product-page .rp-product-gallery-placeholder-stage,
:is(body.rp-theme-color-preset-dark, body.rp-theme-dark, body.is-dark, html[data-rp-user-theme="dark"] body):not(.wp-admin) .rp-single-product-page .rp-product-gallery-placeholder-stage .rp-product-gallery-slide,
:is(body.rp-theme-color-preset-dark, body.rp-theme-dark, body.is-dark, html[data-rp-user-theme="dark"] body):not(.wp-admin) .rp-single-product-page .rp-product-gallery-placeholder-stage .rp-product-gallery-slide img {
    background: var(--rp-theme-general-surface, #171b21) !important;
}

body.woocommerce-account.rp-account-ajax-loading .woocommerce-MyAccount-content::after,
body.woocommerce-account .rp-account-address-modal.is-loading .rp-account-address-modal__body::before,
body.woocommerce-account .rp-account-address-modal__spinner span,
body.woocommerce-account.rp-account-edit-account-page:not(.rp-account-edit-account-ready) .woocommerce-MyAccount-content::before,
body.woocommerce-account.rp-account-edit-address-page:not(.rp-account-edit-address-ready) .woocommerce-MyAccount-content::before,
body.woocommerce-account .woocommerce-MyAccount-content .blockUI.blockOverlay::after,
body.woocommerce-account .woocommerce-MyAccount-content .processing::after,
body.woocommerce-cart .rp-cart-page-clear-all .rp-cart-sidebar-clear-spinner,
body.woocommerce-cart :is(.woocommerce-cart-form, .cart_totals) > .blockUI.blockOverlay::after,
body.woocommerce-cart .cart_totals.processing .order-total th::after,
body.woocommerce-checkout :is(.woocommerce-checkout-review-order-table, .woocommerce-checkout-payment) > .blockUI.blockOverlay::after,
.rp-shop-archive .rp-shop-products-area.is-loading::before,
.rp-shop-archive .is-rp-shop-filter-loading::after,
.rp-advanced-search-loader,
.rp-advanced-search__loading,
.rp-product-favorite-btn.is-loading::after,
.rp-single-product-page .rp-single-product-favorite.is-loading::after,
body.single-product form.cart .single_add_to_cart_button:is(.is-loading, [aria-busy="true"])::after,
body.single-product .rp-mobile-sticky-cart-spinner,
.rp-product-vote-submit__spinner {
    border-top-color: var(--rp-spinner-accent) !important;
}

.rp-product-quick-add,
.rp-card-add {
    --rp-quick-add-spinner-color: var(--rp-spinner-accent) !important;
}
body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) .rp-footer-contact-buttons a:is(:hover, :focus-visible),
body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) :is(.rp-cart-sidebar-checkout, .rp-cart-sidebar-account):is(:hover, :focus-visible) {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #071b16) !important;
}

/* Header account control: no accent fill; icon alone takes the theme accent. */
body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) .rp-account-pill:is(:hover, :focus-visible) {
    background: transparent !important;
    background-color: transparent !important;
    color: inherit !important;
}

body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) .rp-account-pill:is(:hover, :focus-visible) .rp-account-pill-icon {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

body.rp-theme-color-system .rp-account-pill:is(:hover, :focus-visible) .rp-account-pill-icon {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* Single-post actions share the active accent in every preset. */
html body.single-post.rp-theme a.rp-blog-single-category,
html body.single-post.rp-theme a.rp-blog-single-category:is(:hover, :focus-visible) {
    background: #fff !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}
html body.rp-theme-color-preset-dark.single-post.rp-theme a.rp-blog-single-category:is(:hover, :focus-visible) {
    background: var(--rp-theme-general-surface-alt, #292e36) !important;
    color: var(--rp-theme-general-text, #f5f7fa) !important;
}
html body.single-post.rp-theme a.rp-blog-sidebar-shop-button {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #fff) !important;
}
html body.single-post.rp-theme a.rp-blog-sidebar-shop-button:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 88%, #000) !important;
}
html body.single-post.rp-theme .logged-in-as a,
html body.single-post.rp-theme .logged-in-as a:is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* Blog heading markers and carousel navigation follow the active theme accent. */
html body.rp-theme:not(.wp-admin) :is(
    .rp-blog-meta-item,
    .rp-blog-strip-head h2,
    .rp-blog-carousel-title,
    .rp-blog-sidebar-title,
    .rp-blog-comments-title
)::before {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 14%, transparent) !important;
}

html body.rp-theme:not(.wp-admin) :is(
    .rp-blog-carousel-button,
    .rp-blog-related-arrow
):is(:hover, :focus-visible) {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #fff) !important;
}

html body.rp-theme:not(.wp-admin) :is(
    .rp-blog-carousel-button,
    .rp-blog-related-arrow
):is(:hover, :focus-visible)::before,
html body.rp-theme:not(.wp-admin) .rp-blog-related-arrow:is(:hover, :focus-visible) span::before {
    filter: brightness(0) invert(1) !important;
}

html body.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-archive-card li::before {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

html body.single-post.rp-theme:not(.wp-admin) .rp-blog-article-content--tech h2::before,
html body.single-post.rp-theme:not(.wp-admin) .rp-blog-related-dot.is-active {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

html body.single-post.rp-theme:not(.wp-admin) .rp-blog-related-head h2 {
    position: relative !important;
    padding-right: 14px !important;
}

html body.single-post.rp-theme:not(.wp-admin) .rp-blog-related-head h2::before {
    content: "" !important;
    position: absolute !important;
    top: .68em !important;
    right: 0 !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 14%, transparent) !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).single-post.rp-theme:not(.wp-admin) .rp-blog-related-head h2 {
    color: #f9fafb !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-other-categories-section {
    background: var(--rp-theme-general-surface, #171b21) !important;
    background-image: none !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-strip-head h2 {
    color: #f9fafb !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-archive-card {
    background: var(--rp-theme-general-background, #0f1115) !important;
    background-image: none !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .22) !important;
}

/* Empty category archives must inherit the dark page instead of rendering the
   light empty-state panel. */
:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-empty {
    background: transparent !important;
    border-color: #303640 !important;
    color: #fff !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-archive-card :is(
    .rp-blog-archive-card-head,
    strong,
    p,
    li a,
    .rp-blog-archive-card-link
) {
    color: #f3f4f6 !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-archive-card :is(
    .rp-blog-archive-card-kicker,
    em
) {
    color: #cbd5e1 !important;
}

/* Category archive intro must not inherit the legacy forced white Blog canvas. */
:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) {
    background: #0f1115 !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-home-intro--archive {
    padding: 24px !important;
    border: 1px solid #303640 !important;
    border-radius: 22px !important;
    background: #171b21 !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-home-intro--archive .rp-blog-home-title {
    color: #f9fafb !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-home-intro--archive .rp-blog-home-description,
:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-home-intro--archive .rp-blog-home-description :where(*) {
    color: #d1d5db !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
).category.rp-theme:not(.wp-admin) .rp-blog-home-intro--archive .rp-blog-page-kicker {
    background: color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #3b82f6)) 16%, #171b21) !important;
    color: var(--rp-theme-general-accent, var(--rp-accent, #3b82f6)) !important;
}

/* Breadcrumb links follow the active accent, including the Default preset. */
html body.rp-theme:not(.wp-admin) :is(.rp-shop-breadcrumb, .rp-product-breadcrumb, .breadcrumb, .breadcrumbs) a:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) :is(.rp-shop-breadcrumb, .rp-product-breadcrumb, .breadcrumb, .breadcrumbs) a:is(:hover, :focus-visible) span,
html body.rp-theme:not(.wp-admin) :is(.rp-breadcrumb, .rp-blog-breadcrumb, .woocommerce-breadcrumb, .rp-single-breadcrumb-custom, .rank-math-breadcrumb, .yoast-breadcrumb, .yoast-breadcrumbs) a:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) :is(.rp-breadcrumb, .rp-blog-breadcrumb, .woocommerce-breadcrumb, .rp-single-breadcrumb-custom, .rank-math-breadcrumb, .yoast-breadcrumb, .yoast-breadcrumbs) a:is(:hover, :focus-visible) span {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* Category archive cards: both heading and article links use the accent. */
html body.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-archive-card a:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-blog-other-categories-section .rp-blog-archive-card a:is(:hover, :focus-visible) :is(strong, em, span) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* Shop links and selected controls share the active theme accent. */
html body.rp-theme:not(.wp-admin) .rp-shop-archive a:not(.button):not(.rp-shop-sale-sort):not(.rp-wct-contact-price__link):is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-sortbar a.is-active,
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-attribute-filter-option.is-active .rp-filter-term-label,
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-filter-more:is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}
html body.rp-theme:not(.wp-admin) .rp-shop-archive input:is([type="checkbox"], [type="radio"]) {
    accent-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
}
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-attribute-filter-option.is-active .rp-filter-checkbox,
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-sale-sort.is-active,
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-pagination .page-numbers.current {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #fff) !important;
}
html body.rp-theme:not(.wp-admin) .rp-shop-archive :is(.rp-shop-swatch, .rp-card-swatch):is(.is-active, [aria-pressed="true"]),
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-active-filter-chip {
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    outline-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* Shop filters, sale toggle, applied chips, and reset actions use the active accent on interaction. */
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-filter-toggle:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-price-actions button:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-filter-reset-btn:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-sale-sort:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-active-filter-chip:is(:hover, :focus-visible) {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
    -webkit-text-fill-color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

html body.rp-theme:not(.wp-admin) .rp-shop-archive .rp-shop-active-filter-chip:is(:hover, :focus-visible) > b {
    background-color: var(--rp-theme-general-on-accent, #ffffff) !important;
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

html body.rp-theme .rp-compare-page .rp-compare-currency {
    color: #808080 !important;
    margin-inline-start: .25em;
}

html body.rp-theme .rp-compare-page a.rp-compare-remove,
html body.rp-theme .rp-compare-page a.rp-compare-remove:is(:hover, :focus-visible) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    padding: 2px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #dc2626 !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Product-page text links use the active accent without recoloring CTA text. */
html body.single-product.rp-theme:not(.wp-admin) :is(.rp-single-product-page, .woocommerce-tabs, .product_meta) a:not(.button):not([role="button"]):not(.added_to_cart):not(.rp-product-quick-add):not(.rp-card-add):not(.rp-shop-card-add):is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* General canvas and direct editorial content. */
body.rp-theme-color-system:not(.wp-admin) {
    --rp-accent: var(--rp-theme-general-accent, #fd314a);
    background-color: var(--rp-theme-general-background, #ffffff) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system :where(.rp-entry, .rp-page, .rp-not-found) > .rp-entry-title,
body.rp-theme-color-system .rp-entry-content > :where(h1, h2, h3, h4, h5, h6) {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system .rp-not-found > p,
body.rp-theme-color-system .rp-entry-content > :where(p, pre) {
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-entry-content > p a {
    color: var(--rp-theme-general-link, #007f62) !important;
}

body.rp-theme-color-system .rp-entry-content > p a:is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent-hover, #009874) !important;
}

body.rp-theme-color-system .rp-entry-content > p a:focus-visible {
    outline: 2px solid var(--rp-theme-general-focus, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    outline-offset: 2px;
}

body.rp-theme-color-system .rp-entry-content > pre {
    background-color: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-breadcrumb {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system .rp-breadcrumb a {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-breadcrumb a:is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

body.rp-theme-color-system .rp-breadcrumb span:last-child {
    color: var(--rp-theme-general-heading, #111111) !important;
}

/* Commerce page shells. Card renderers are deliberately absent from this allowlist. */
body.rp-theme-color-system .rp-shop-page,
body.rp-theme-color-system.single-product .rp-single-product-page,
body.rp-theme-color-system.woocommerce-cart .rp-main,
body.rp-theme-color-system.woocommerce-account .rp-main,
body.rp-theme-color-system.woocommerce-checkout {
    background-color: var(--rp-theme-general-background, #ffffff) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
}

/* Shop archive shell and theme-owned category/filter primitives. */
body.rp-theme-color-system .rp-shop-title {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system :is(.rp-shop-breadcrumb, .rp-shop-loop-head, .rp-shop-note) {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-shop-breadcrumb a {
    color: var(--rp-theme-general-link, #007f62) !important;
}

body.rp-theme-color-system .rp-shop-breadcrumb a:is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent-hover, #009874) !important;
}

body.rp-theme-color-system :is(.rp-shop-toolbar, .rp-shop-filter-toggle) {
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-toolbar-sep {
    background-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

/* The filter action uses an inverse surface in Light mode, with readable copy. */
html[data-rp-user-theme="light"] body.rp-theme-color-system .rp-shop-filter-toggle {
    background: var(--rp-theme-general-text) !important;
    border-color: var(--rp-theme-general-text) !important;
    color: var(--rp-theme-general-surface) !important;
    -webkit-text-fill-color: var(--rp-theme-general-surface) !important;
}

body.rp-theme-color-system .rp-shop-filter-collapse-body {
    border-top-color: var(--rp-theme-general-border) !important;
}

html body.rp-theme-color-system .rp-shop-archive .rp-shop-collapsible-filter > .rp-shop-filter-collapse-toggle {
    border-bottom-color: var(--rp-theme-general-border) !important;
}

/* Include featured, archive and category carousels, in both theme modes. */
html body.rp-theme-color-system .rp-blog-carousel-shell .rp-blog-carousel-button {
    background: var(--rp-theme-general-surface-alt, var(--rp-theme-general-surface)) !important;
    border-color: var(--rp-theme-general-border) !important;
    color: var(--rp-theme-general-text) !important;
}

html body.rp-theme-color-system .rp-blog-carousel-shell .rp-blog-carousel-button::before {
    color: inherit !important;
    background-image: none !important;
    background-color: currentColor !important;
    -webkit-mask: url('../../icons/arrow-right.svg') center / contain no-repeat;
    mask: url('../../icons/arrow-right.svg') center / contain no-repeat;
    filter: none !important;
}

html body.rp-theme-color-system .rp-blog-carousel-shell .rp-blog-carousel-button--next::before {
    -webkit-mask-image: url('../../icons/arrow-left.svg');
    mask-image: url('../../icons/arrow-left.svg');
}

body.rp-theme-color-system :is(
    .rp-shop-filter-panel,
    .rp-shop-filter-card,
    .rp-shop-category-carousel,
    .rp-shop-quick-note,
    .rp-shop-archive-short-description,
    .rp-shop-note,
    .rp-shop-cat
) {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system:not(.rp-theme-color-preset-dark) .rp-shop-archive :is(
    .rp-shop-category-carousel,
    .rp-shop-quick-note
) {
    background: transparent !important;
}

body.rp-theme-color-system .rp-shop-cat {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system :is(
    .rp-shop-sortbar > span,
    .rp-shop-sortbar > a,
    .rp-shop-filter-head strong,
    .rp-shop-filter-head button,
    .rp-shop-filter-collapse-toggle,
    .rp-shop-category-item,
    .rp-shop-category-name,
    .rp-shop-filter-empty-results > strong
) {
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-filter-empty-results > p {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-shop-filter-empty-results > a {
    color: var(--rp-theme-general-link, #007f62) !important;
}

body.rp-theme-color-system .rp-shop-cat-placeholder {
    background: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-shop-filter-links a {
    background-color: var(--rp-theme-general-background, #ffffff) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-filter-links a:is(:hover, :focus-visible) {
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

body.rp-theme-color-system .rp-shop-archive :is(.rp-term-archive-hero, .rp-shop-archive-term-image) {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-shop-archive-term-description {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-shop-attribute-filter-option {
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-shop-attribute-filter-option small {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-shop-attribute-filter-option.is-active .rp-filter-term-label {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-filter-checkbox {
    background-color: var(--rp-theme-general-background, #ffffff) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-shop-attribute-filter-option.is-active .rp-filter-checkbox {
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    box-shadow: inset 0 0 0 3px var(--rp-theme-general-on-accent, #ffffff) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-filter-term-image {
    background-color: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-shop-pagination .page-numbers:not(ul),
body.rp-theme-color-system .rp-shop-pagination ul.page-numbers li .page-numbers {
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-pagination a.page-numbers:not(.current):not(.dots):hover,
body.rp-theme-color-system .rp-shop-pagination ul.page-numbers li a.page-numbers:not(.current):not(.dots):hover {
    background-color: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system .rp-shop-pagination .page-numbers.current,
body.rp-theme-color-system .rp-shop-pagination ul.page-numbers li .page-numbers.current {
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

body.rp-theme-color-system .rp-shop-pagination :is(.page-numbers.dots, .page-numbers.prev, .page-numbers.next) {
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-pagination :is(.page-numbers.prev, .page-numbers.next):hover {
    color: var(--rp-theme-general-accent-hover, #009874) !important;
}

@media (max-width: 768px) {
    body.rp-theme-color-system .rp-shop-archive :is(.rp-shop-toolbar, .rp-shop-filters) {
        background-color: var(--rp-theme-general-background, #ffffff) !important;
        border-color: var(--rp-theme-general-border, #e6e6e3) !important;
    }

    body.rp-theme-color-system .rp-shop-archive .rp-shop-sort-label {
        border-color: var(--rp-theme-general-border, #e6e6e3) !important;
        color: var(--rp-theme-general-text, #343a40) !important;
    }
}

/* Cart table, totals and purchase-progress shell. Related Product Cards stay independent. */
body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.rp-theme-color-system.woocommerce-cart .cart_totals,
body.rp-theme-color-system.woocommerce-cart .rp-empty-cart {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.woocommerce-cart table.shop_table :is(th, td) {
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-cart :is(
    .cart_totals h2,
    table.shop_table .product-name a,
    table.shop_table .woocommerce-Price-amount,
    table.shop_table .woocommerce-Price-amount bdi,
    .cart_totals .woocommerce-Price-amount,
    .cart_totals .woocommerce-Price-amount bdi,
    .rp-cart-total-count-value
) {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system.woocommerce-cart :is(
    .woocommerce-cart-form > table.shop_table .woocommerce-Price-currencySymbol,
    .cart_totals .woocommerce-Price-currencySymbol,
    .rp-purchase-steps,
    .rp-checkout-step,
    .rp-checkout-step.is-muted
) {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system.woocommerce-cart :is(.rp-checkout-step.is-active, .rp-cart-checkout-step-title .rp-cart-checkout-step) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

body.rp-theme-color-system.woocommerce-cart .rp-checkout-step-arrow {
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

body.rp-theme-color-system.woocommerce-cart .rp-empty-cart__message {
    color: var(--rp-theme-general-text, #343a40) !important;
}

/* Native checkout panels and progress controls. */
body.rp-theme-color-system.woocommerce-checkout :is(
    .rp-checkout-address-column,
    .rp-checkout-address-tabs,
    .rp-checkout-section-heading,
    .rp-checkout-order-summary-card,
    .rp-checkout-review-box,
    .woocommerce-checkout-review-order-table,
    .rp-checkout-order-notes-section
) {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.woocommerce-checkout #payment,
body.rp-theme-color-system.woocommerce-checkout #shipping_method li {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(
    .woocommerce-billing-fields > h3,
    .woocommerce-shipping-fields > h3,
    .woocommerce-additional-fields > h3,
    .rp-checkout-section-heading,
    .rp-checkout-order-notes-title,
    .rp-checkout-address-tab,
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td,
    .wc_payment_methods li label,
    .rp-checkout-product-meta
) {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system.woocommerce-checkout #order_review_heading,
body.rp-theme-color-system.woocommerce-checkout #shipping_method li,
body.rp-theme-color-system.woocommerce-checkout #shipping_method li label,
body.rp-theme-color-system.woocommerce-checkout #shipping_method li label .amount {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(
    .rp-purchase-steps,
    .rp-checkout-step,
    .rp-checkout-step.is-muted,
    .rp-checkout-product-qty,
    .product-quantity,
    .woocommerce-privacy-policy-text
) {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(.rp-checkout-step.is-active, .rp-checkout-step.is-complete) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(.rp-checkout-address-tab.is-active, .rp-checkout-step-arrow) {
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td
) {
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}


body.rp-theme-color-system.woocommerce-checkout #payment .wc_payment_methods {
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(
    .rp-checkout-product-thumb,
    .woocommerce-shipping-totals.shipping th,
    .woocommerce-shipping-totals.shipping td
) {
    background-color: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
    color: var(--rp-theme-general-muted, #74777a) !important;
}


body.rp-theme-color-system.woocommerce-checkout #payment div.payment_box {
    background-color: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
    color: var(--rp-theme-general-muted, #74777a) !important;
}

/* My Account shell. Direct-child targeting avoids the independent Favorites cards. */
body.rp-theme-color-system.woocommerce-account :is(
    .woocommerce-MyAccount-wrapper,
    .woocommerce:has(.woocommerce-MyAccount-navigation)
) {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

body.rp-theme-color-system.woocommerce-account :is(
    .rp-account-user-card,
    .woocommerce-MyAccount-navigation ul,
    .rp-account-summary-card,
    .woocommerce-MyAccount-content > p,
    .woocommerce-MyAccount-content > table,
    .woocommerce-MyAccount-content > .woocommerce-orders-table,
    .woocommerce-MyAccount-content > .woocommerce-Addresses,
    .woocommerce-MyAccount-content > form,
    .woocommerce-MyAccount-content > .woocommerce-notices-wrapper,
    .woocommerce-MyAccount-content > .woocommerce-message,
    .woocommerce-MyAccount-content > .woocommerce-error,
    .woocommerce-MyAccount-content > .woocommerce-info,
    .rp-account-latest-order,
    .woocommerce-order-details,
    .woocommerce-customer-details,
    .woocommerce-order-downloads,
    .rp-account-address-modal__dialog,
    .rp-account-mobile-menu-drawer__panel
) {
    background-color: var(--rp-theme-general-background, #ffffff) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

/* Zero-result feedback belongs directly to the products canvas and must not
 * inherit the card/surface fill in either the light or dark palette. */
body.rp-theme-color-system .rp-shop-filter-empty-results {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* The mobile orders table is only a layout container. Each order row owns its
 * own surface, so the shared table/tbody must not paint the dark page color. */
@media (max-width: 820px) {
    body.rp-theme-color-system.woocommerce-account.rp-account-orders-page :is(
        .woocommerce-MyAccount-wrapper,
        .woocommerce:has(.woocommerce-MyAccount-navigation)
    ) {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }

    body.rp-theme-color-system.woocommerce-account.rp-account-orders-page .woocommerce-MyAccount-content > table.woocommerce-orders-table,
    body.rp-theme-color-system.woocommerce-account.rp-account-orders-page .woocommerce-orders-table tbody {
        background: transparent !important;
        background-color: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }
}

body.rp-theme-color-system.woocommerce-account :is(
    .rp-account-user-name,
    .rp-account-user-phone,
    .woocommerce-MyAccount-navigation a,
    .rp-account-summary-title
) {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system.woocommerce-account :is(
    .rp-account-summary-label,
    .rp-account-summary-value,
    .woocommerce-MyAccount-content > table th,
    .woocommerce-MyAccount-content > table td,
    .woocommerce-Address-title > h2,
    .woocommerce-order-details__title,
    .rp-account-latest-order-row > span,
    .rp-account-latest-order-row > strong
) {
    color: var(--rp-theme-general-text, #343a40) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.woocommerce-account :is(
    .woocommerce-MyAccount-navigation li.is-active a,
    .woocommerce-MyAccount-navigation a:hover,
    .woocommerce-MyAccount-navigation ul::before,
    .rp-account-summary-title
) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

body.rp-theme-color-system.woocommerce-account .rp-account-summary-head,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-navigation ul::before {
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.woocommerce-account .rp-account-user-avatar {
    background-color: var(--rp-theme-general-surface-alt, #f1f0ef) !important;
}

/* Single-product page chrome only; Product Card carousels are not selected. */
body.rp-theme-color-system.single-product .rp-single-product-page :is(
    .rp-product-buybox-card,
    .rp-product-info-tabs,
    .rp-product-reviews-panel,
    .rp-product-reviews-list,
    .rp-product-review-form,
    .rp-product-section-modal__sheet,
    .rp-term-visual-card,
    .rp-product-votes-panel,
    .rp-mobile-product-sticky-buy,
    .rp-product-quick-attrs div,
    .rp-product-gallery-col .woocommerce-product-gallery__image img,
    .rp-product-gallery-col .flex-control-thumbs li
) {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.single-product .rp-single-product-page :is(
    .rp-product-title,
    .rp-product-quick-attrs span,
    .rp-product-price-box .price,
    .rp-product-info-tabs > h2,
    .rp-product-review-form > h2,
    .rp-product-review-form label,
    .rp-product-section-modal__tab,
    .rp-product-section-modal__content,
    .rp-dynamic-field-row > dd,
    .rp-product-info-tabs table.shop_attributes td,
    .rp-product-description
) {
    color: var(--rp-theme-general-heading, #111111) !important;
}

body.rp-theme-color-system.single-product .rp-single-product-page :is(
    .rp-product-breadcrumb,
    .rp-product-subtitle,
    .rp-product-sku-line,
    .rp-product-meta-line,
    .rp-product-quick-attrs b,
    .rp-product-info-tabs table.shop_attributes th,
    .rp-product-review-items .meta,
    .rp-product-review-items .description,
    .rp-dynamic-field-row > dt
) {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

body.rp-theme-color-system.single-product .rp-single-product-page .rp-product-info-tabs table.shop_attributes :is(th, td) {
    background-color: var(--rp-theme-general-background, #ffffff) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
}

body.rp-theme-color-system.single-product .rp-single-product-page .rp-product-price-box :is(
    .price,
    .price ins,
    .price .amount,
    .price bdi,
    .price .woocommerce-Price-currencySymbol,
    .rp-buybox-price-final,
    .rp-buybox-price-final .amount,
    .rp-buybox-price-final bdi,
    .rp-buybox-price-currency
) {
    color: var(--rp-theme-general-heading, #111111) !important;
}

@media (max-width: 900px) {
    body.rp-theme-color-system.single-product .rp-single-product-page .rp-product-buybox {
        background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
        border-color: var(--rp-theme-general-border, #e6e6e3) !important;
    }

    body.rp-theme-color-system.single-product:not(.rp-theme-color-preset-dark) .rp-single-product-page .rp-product-summary-col {
        background: transparent !important;
    }
}

/* Header shell. Search-result presentation is intentionally not selected. */
body.rp-theme-color-system .rp-header {
    background-color: var(--rp-theme-header-background, #f7f7f6) !important;
    border-bottom-color: var(--rp-theme-header-border, #e6e6e3) !important;
}

html body.rp-theme-color-system.rp-is-scrolled #site-header.rp-header,
html body.rp-theme-color-system.rp-header-sticky-enabled.rp-is-scrolled #site-header.rp-header {
    background-color: var(--rp-theme-header-background, #f7f7f6) !important;
    background-color: color-mix(in srgb, var(--rp-theme-header-background, #f7f7f6) 90%, transparent) !important;
    border-bottom-color: var(--rp-theme-header-border, #e6e6e3) !important;
    box-shadow: 0 4px 12px -6px rgb(0 0 0 / 28%) !important;
}

body.rp-theme-color-system :where(.rp-header-top, .rp-header-bottom) {
    border-color: var(--rp-theme-header-border, #e6e6e3) !important;
}

body.rp-theme-color-system :where(.rp-main-menu > li > a, .rp-faq-link, .rp-action-link) {
    color: var(--rp-theme-header-text, #343a40) !important;
}

body.rp-theme-color-system :where(.rp-site-title, .rp-account-dropdown-head strong) {
    color: var(--rp-theme-header-heading, #111111) !important;
}

body.rp-theme-color-system :where(.rp-site-title, .rp-main-menu > li > a, .rp-faq-link, .rp-action-link):is(:hover, :focus-visible) {
    color: var(--rp-theme-header-accent-hover, #009874) !important;
}

body.rp-theme-color-system .rp-main-menu .menu-item-has-children:not(.rp-menu-mega-ready):hover > a,
body.rp-theme-color-system .rp-header-menu-sticky .rp-main-menu .menu-item-has-children:not(.rp-menu-mega-ready):hover > a,
body.rp-theme-color-system.rp-header-sticky-enabled.rp-is-scrolled .rp-header-menu-sticky .rp-main-menu .menu-item-has-children:not(.rp-menu-mega-ready):hover > a {
    color: var(--rp-theme-header-accent-hover, #009874) !important;
}

body.rp-theme-color-system .rp-main-menu > li.current-menu-item > a {
    color: var(--rp-theme-header-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
}

body.rp-theme-color-system .rp-main-menu > li:not(:first-child)::before {
    background-color: var(--rp-theme-header-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-main-menu .sub-menu,
body.rp-theme-color-system .rp-account-dropdown {
    background-color: var(--rp-theme-header-surface, #f1f0ef) !important;
    border-color: var(--rp-theme-header-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-main-menu .sub-menu a,
body.rp-theme-color-system .rp-account-dropdown a {
    color: var(--rp-theme-header-text, #343a40) !important;
}

body.rp-theme-color-system .rp-account-dropdown-head,
body.rp-theme-color-system .rp-account-dropdown a {
    border-color: var(--rp-theme-header-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-account-dropdown-head span {
    color: var(--rp-theme-header-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-main-menu .sub-menu a:is(:hover, :focus-visible),
body.rp-theme-color-system .rp-account-dropdown a:is(:hover, :focus-visible) {
    background-color: var(--rp-theme-header-background, #f7f7f6) !important;
    color: var(--rp-theme-header-accent-hover, #009874) !important;
}

body.rp-theme-color-system .rp-account-pill {
    background-color: var(--rp-theme-header-surface, #f1f0ef) !important;
    border-color: var(--rp-theme-header-border, #e6e6e3) !important;
    color: var(--rp-theme-header-text, #343a40) !important;
}

body.rp-theme-color-system .rp-account-pill-icon {
    color: var(--rp-theme-header-text, #343a40) !important;
}

body.rp-theme-color-system .rp-account-pill-text {
    color: var(--rp-theme-header-text, #343a40) !important;
}

body.rp-theme-color-system .rp-cart-dot {
    background-color: var(--rp-theme-header-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: var(--rp-theme-header-on-accent, #ffffff) !important;
}

/* Mobile navigation owns a separate palette from the desktop header. */
body.rp-theme-color-system .rp-mobile-drawer,
body.rp-theme-color-system .rp-mobile-submenu-view {
    background-color: var(--rp-theme-mobile-menu-background, #ffffff) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-backdrop {
    background-color: rgb(17 17 17 / 48%) !important;
    background-color: color-mix(in srgb, var(--rp-theme-mobile-menu-heading, #111111) 48%, transparent) !important;
}

/* In Dark mode the menu heading token is light, so mixing it into the
   backdrop would wash the page out. Keep the blurred canvas genuinely dark. */
:is(
    html[data-rp-user-theme="dark"],
    html[data-rp-theme-mode="dark"],
    html[data-theme="dark"]
) body.rp-theme-color-system .rp-mobile-drawer-backdrop,
:is(
    body.rp-theme-color-system.rp-theme-color-preset-dark,
    body.rp-theme-color-system.rp-theme-dark,
    body.rp-theme-color-system.is-dark
) .rp-mobile-drawer-backdrop {
    background: rgba(0, 0, 0, .68) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-head,
body.rp-theme-color-system .rp-mobile-submenu-back {
    background-color: var(--rp-theme-mobile-menu-background, #ffffff) !important;
}

body.rp-theme-color-system .rp-mobile-drawer .rp-mobile-drawer-head .rp-mobile-drawer-home,
html body.rp-theme-color-system.rp-mobile-menu-open .rp-mobile-drawer .rp-mobile-drawer-head .rp-mobile-drawer-home {
    background-color: var(--rp-theme-mobile-menu-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-mobile-menu-border, #e6e6e3) !important;
    color: var(--rp-theme-mobile-menu-text, #343a40) !important;
}

body.rp-theme-color-system .rp-mobile-drawer .rp-mobile-drawer-head .rp-mobile-drawer-home::before,
html body.rp-theme-color-system.rp-mobile-menu-open .rp-mobile-drawer .rp-mobile-drawer-head .rp-mobile-drawer-home::before {
    background: linear-gradient(
        180deg,
        transparent,
        var(--rp-theme-mobile-menu-background, #ffffff) 75%
    ) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-badges {
    background-color: var(--rp-theme-mobile-menu-background, #ffffff) !important;
    border-color: var(--rp-theme-mobile-menu-border, #e6e6e3) !important;
}

body.rp-theme-color-system .rp-mobile-drawer :is(
    .rp-mobile-drawer-badge,
    .rp-mobile-drawer-badge--html
) {
    background-color: var(--rp-theme-mobile-menu-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-mobile-menu-border, #e6e6e3) !important;
    color: var(--rp-theme-mobile-menu-text, #343a40) !important;
}

body.rp-theme-color-system .rp-mobile-drawer .rp-mobile-drawer-badge--html :is(a, span) {
    color: inherit !important;
}

body.rp-theme-color-system :where(
    .rp-mobile-drawer-head,
    .rp-mobile-drawer-tabs,
    .rp-mobile-drawer-menu li,
    .rp-mobile-submenu-back,
    .rp-mobile-submenu-menu li
) {
    border-color: var(--rp-theme-mobile-menu-border, #e6e6e3) !important;
}

body.rp-theme-color-system :where(
    .rp-mobile-drawer-close,
    .rp-mobile-drawer-home,
    .rp-mobile-drawer-menu a,
    .rp-mobile-submenu-back,
    .rp-mobile-submenu-menu a
) {
    color: var(--rp-theme-mobile-menu-text, #343a40) !important;
}

body.rp-theme-color-system :where(.rp-mobile-drawer-close strong, .rp-mobile-submenu-title) {
    color: var(--rp-theme-mobile-menu-heading, #111111) !important;
}

body.rp-theme-color-system :where(.rp-mobile-drawer-tabs, .rp-mobile-drawer-menu .sub-menu) {
    background-color: var(--rp-theme-mobile-menu-surface, #f7f7f6) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-tab {
    color: var(--rp-theme-mobile-menu-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-tab.is-active {
    background-color: var(--rp-theme-mobile-menu-background, #ffffff) !important;
    border-bottom-color: var(--rp-theme-mobile-menu-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: var(--rp-theme-mobile-menu-text, #343a40) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-menu .sub-menu a {
    color: var(--rp-theme-mobile-menu-muted, #74777a) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-menu a:is(:hover, :focus-visible),
body.rp-theme-color-system .rp-mobile-submenu-menu a:is(:hover, :focus-visible) {
    color: var(--rp-theme-mobile-menu-accent-hover, #009874) !important;
}

body.rp-theme-color-system .rp-mobile-drawer-menu .has-mobile-submenu::after,
body.rp-theme-color-system .rp-mobile-submenu-back-icon::before {
    border-color: var(--rp-theme-mobile-menu-text, #343a40) !important;
}

/* Footer shell, fixed mobile navigation, and the theme mini-cart. */
body.rp-theme-color-system .rp-footer {
    background-color: var(--rp-theme-footer-background, #ffffff) !important;
    border-color: var(--rp-theme-footer-border, #eeeeee) !important;
    color: var(--rp-theme-footer-text, #343a40) !important;
}

body.rp-theme-color-system :where(.rp-footer-site-title, .rp-footer-column h4) {
    color: var(--rp-theme-footer-heading, #111111) !important;
}

body.rp-theme-color-system :where(
    .rp-footer-description,
    .rp-footer-business-text,
    .rp-footer-links a,
    .rp-footer-address
) {
    color: var(--rp-theme-footer-text, #343a40) !important;
}

body.rp-theme-color-system :where(.rp-footer-copyright, .rp-footer-copyright-text) {
    color: var(--rp-theme-footer-muted, #74777a) !important;
}

body.rp-theme-color-system :where(.rp-footer-links a, .rp-footer-address a, .rp-footer-copyright-link):is(:hover, :focus-visible),
body.rp-theme-color-system .rp-footer-copyright-link {
    color: var(--rp-theme-footer-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
}

body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) .rp-footer a.rp-footer-copyright-link {
    color: var(--rp-theme-footer-accent, var(--rp-theme-general-accent, #fd314a)) !important;
}

body:is(.rp-theme-color-system, .rp-theme-color-preset-default):not(.wp-admin) .rp-footer a.rp-footer-copyright-link:is(:hover, :focus-visible) {
    color: var(--rp-theme-footer-accent-hover, var(--rp-theme-general-accent-hover, var(--rp-theme-general-accent, #e11d48))) !important;
}

body.rp-theme-color-system .rp-footer-pill {
    background-color: var(--rp-theme-footer-surface, #f7f7f7) !important;
    border-color: var(--rp-theme-footer-border, #eeeeee) !important;
    color: var(--rp-theme-footer-text, #343a40) !important;
}

body.rp-theme-color-system .rp-footer-pill-green {
    background-color: var(--rp-theme-footer-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: var(--rp-theme-footer-on-accent, #ffffff) !important;
}

body.rp-theme-color-system .rp-footer-pill:is(:hover, :focus-visible) {
    border-color: var(--rp-theme-footer-accent-hover, #009874) !important;
    color: var(--rp-theme-footer-accent-hover, #009874) !important;
}

body.rp-theme-color-system .rp-footer-pill-green:is(:hover, :focus-visible) {
    background-color: var(--rp-theme-footer-accent-hover, #009874) !important;
    color: var(--rp-theme-footer-on-accent, #ffffff) !important;
}

/* Bundled monochrome social SVGs must retain contrast on the built-in dark preset. */
body.rp-theme-color-preset-dark .rp-footer-social-icon--bundled {
    filter: brightness(0) invert(1);
}

body.rp-theme-color-system .rp-footer-mobile-links.rp-mobile-bottom-bar {
    background-color: var(--rp-theme-footer-surface, #f7f7f7) !important;
    border-color: var(--rp-theme-footer-border, #eeeeee) !important;
}

body.rp-theme-color-system .rp-mobile-bottom-link {
    color: var(--rp-theme-footer-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-account :where(
    .rp-account-mobile-bottom-bar .rp-mobile-bottom-link--dashboard,
    .rp-account-mobile-bottom-bar .rp-mobile-bottom-link--orders
) {
    color: var(--rp-theme-footer-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-account.rp-account-dashboard-page .rp-account-mobile-bottom-bar .rp-mobile-bottom-link--dashboard,
body.rp-theme-color-system.woocommerce-account.rp-account-orders-page .rp-account-mobile-bottom-bar .rp-mobile-bottom-link--orders,
body.rp-theme-color-system.woocommerce-account .rp-account-mobile-bottom-bar :where(
    .rp-mobile-bottom-link--dashboard,
    .rp-mobile-bottom-link--orders
):is(:hover, :focus-visible) {
    color: var(--rp-theme-footer-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
}

body.rp-theme-color-system .rp-mobile-bottom-count,
body.rp-theme-color-system .rp-mobile-bottom-link.is-cart.has-cart .rp-mobile-bottom-icon::before,
body.rp-theme-color-system .rp-mobile-bottom-link.is-cart:has(.rp-mobile-bottom-count:not([hidden])) .rp-mobile-bottom-icon::before {
    background-color: var(--rp-theme-footer-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: var(--rp-theme-footer-on-accent, #ffffff) !important;
    box-shadow: 0 8px 18px rgb(0 201 155 / 36%) !important;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--rp-theme-footer-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) 36%, transparent) !important;
}

body.rp-theme-color-system .rp-cart-sidebar,
body.rp-theme-color-system .rp-cart-sidebar-summary {
    background-color: var(--rp-theme-footer-surface, #f7f7f7) !important;
}

body.rp-theme-color-system :where(.rp-cart-sidebar-head, .rp-cart-sidebar-item, .rp-cart-sidebar-total) {
    border-color: var(--rp-theme-footer-border, #eeeeee) !important;
}

body.rp-theme-color-system :where(.rp-cart-sidebar-head strong, .rp-cart-item-title, .rp-cart-item-price, .rp-cart-sidebar-total strong) {
    color: var(--rp-theme-footer-heading, #111111) !important;
}

body.rp-theme-color-system :where(.rp-cart-item-meta, .rp-cart-qty) {
    color: var(--rp-theme-footer-muted, #74777a) !important;
}

html body.rp-theme:not(.rp-theme-color-preset-dark):not(.wp-admin) a.rp-cart-sidebar-checkout,
html body.rp-theme:not(.rp-theme-color-preset-dark):not(.wp-admin) .rp-mini-cart-checkout,
html body.rp-theme:not(.rp-theme-color-preset-dark):not(.wp-admin) a.rp-cart-sidebar-checkout:is(:hover, :focus-visible),
html body.rp-theme:not(.rp-theme-color-preset-dark):not(.wp-admin) .rp-mini-cart-checkout:is(:hover, :focus-visible) {
    color: #fff !important;
}

html body.rp-theme:not(.wp-admin) a.rp-cart-sidebar-account:is(:hover, :focus-visible) {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

html body.rp-theme:not(.wp-admin) a.rp-cart-sidebar-checkout,
html body.rp-theme:not(.wp-admin) .rp-mini-cart-checkout {
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #071b16) !important;
}

html body.rp-theme:not(.wp-admin) a.rp-cart-sidebar-checkout:is(:hover, :focus-visible),
html body.rp-theme:not(.wp-admin) .rp-mini-cart-checkout:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 88%, #000) !important;
    color: var(--rp-theme-general-on-accent, #071b16) !important;
}

body.rp-theme-color-system .rp-back-to-top {
    background-color: var(--rp-theme-footer-surface, #f7f7f7) !important;
    border-color: var(--rp-theme-footer-border, #eeeeee) !important;
    color: var(--rp-theme-footer-text, #343a40) !important;
}

/* Back-to-top interaction follows the shared accent in every color mode. */
body.rp-theme-color-system .rp-back-to-top:is(:hover, :focus, :focus-visible, :active) {
    background-color: var(--rp-theme-scrollbar-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    border-color: var(--rp-theme-scrollbar-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: #ffffff !important;
}

body.rp-theme-color-system .rp-back-to-top:is(:hover, :focus, :focus-visible, :active) span {
    border-color: #ffffff !important;
}

/* Explicitly owned form roots. */
body.rp-theme-color-system .rp-shop-ordering select,
body.rp-theme-color-system .rp-shop-archive .rp-shop-price-fields input,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) input.input-text,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) input:is([type="text"], [type="email"], [type="tel"], [type="password"], [type="number"], [type="date"]),
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) select,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) textarea,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) .select2-selection,
body.rp-theme-color-system.woocommerce-account form.woocommerce-form input.input-text,
body.rp-theme-color-system.woocommerce-account form.woocommerce-form select,
body.rp-theme-color-system.woocommerce-account form.woocommerce-form textarea,
body.rp-theme-color-system .rp-account-address-modal-form input.input-text,
body.rp-theme-color-system .rp-account-address-modal-form select,
body.rp-theme-color-system .rp-account-address-modal-form textarea,
body.rp-theme-color-system .rp-account-address-modal-form .select2-selection,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row input.input-text,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row textarea,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row select,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row .select2-selection--single,
body.rp-theme-color-system.single-product .rp-product-buybox form.cart input.qty,
body.rp-theme-color-system.single-product .rp-product-review-form input:is([type="text"], [type="email"], [type="tel"], [type="url"]),
body.rp-theme-color-system.single-product .rp-product-review-form textarea,
body.rp-theme-color-system.single-product .rp-product-review-form select,
html body.rp-theme-color-system:is(.single-post, .single-product) .rp-comment-identity-modal input {
    background-color: var(--rp-theme-forms-background, #ffffff) !important;
    border-color: var(--rp-theme-forms-border, #dfe3e7) !important;
    color: var(--rp-theme-forms-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row .select2-selection__rendered,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) .select2-selection__rendered,
body.rp-theme-color-system.woocommerce-account .rp-account-address-modal-form .select2-selection__rendered {
    color: var(--rp-theme-forms-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-account :is(
    .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) label,
    .woocommerce-MyAccount-content > form > fieldset > legend,
    .rp-account-password-form .form-row > label,
    form.woocommerce-form .form-row > label,
    .rp-account-address-modal-form label
),
html body.rp-theme-color-system:is(.single-post, .single-product) .rp-comment-identity-modal label {
    color: var(--rp-theme-forms-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form > fieldset {
    background-color: var(--rp-theme-forms-background, #ffffff) !important;
    border-color: var(--rp-theme-forms-border, #dfe3e7) !important;
}

body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form .rp-cart-table-qty-stepper,
body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form .rp-cart-table-qty-stepper input.qty,
body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form .rp-cart-table-qty-btn,
body.rp-theme-color-system.single-product .rp-product-buybox form.cart .quantity,
body.rp-theme-color-system.single-product .rp-product-buybox form.cart .rp-buybox-qty-btn {
    background-color: var(--rp-theme-forms-background, #ffffff) !important;
    border-color: var(--rp-theme-forms-border, #dfe3e7) !important;
    color: var(--rp-theme-forms-text, #343a40) !important;
}

body.rp-theme-color-system .rp-shop-archive .rp-shop-price-fields input::placeholder,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) input::placeholder,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) textarea::placeholder,
body.rp-theme-color-system.woocommerce-account form.woocommerce-form input::placeholder,
body.rp-theme-color-system .rp-account-address-modal-form input::placeholder,
body.rp-theme-color-system .rp-account-address-modal-form textarea::placeholder,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row input::placeholder,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row textarea::placeholder,
body.rp-theme-color-system.single-product .rp-product-review-form input::placeholder,
body.rp-theme-color-system.single-product .rp-product-review-form textarea::placeholder {
    color: var(--rp-theme-forms-placeholder, #74777a) !important;
    opacity: 1 !important;
}

body.rp-theme-color-system .rp-shop-ordering select:focus,
body.rp-theme-color-system .rp-shop-archive .rp-shop-price-fields input:focus,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) :is(input, select, textarea):focus,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) .select2-container--open .select2-selection,
body.rp-theme-color-system.woocommerce-account form.woocommerce-form :is(input, select, textarea):focus,
body.rp-theme-color-system .rp-account-address-modal-form :is(input, select, textarea):focus,
body.rp-theme-color-system .rp-account-address-modal-form .select2-container--open .select2-selection,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row :is(input:not([type="radio"]):not([type="checkbox"]), select, textarea):focus,
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row .select2-container--open .select2-selection,
body.rp-theme-color-system.single-product .rp-product-buybox form.cart input.qty:focus,
body.rp-theme-color-system.single-product .rp-product-review-form :is(input, select, textarea):focus {
    border-color: var(--rp-theme-forms-focus, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    box-shadow: 0 0 0 3px rgb(0 201 155 / 20%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rp-theme-forms-focus, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) 20%, transparent) !important;
    outline: none !important;
}

body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form :is(.form-row, .woocommerce-form-row) :is(input, select, textarea):is(:disabled, [readonly]),
body.rp-theme-color-system.woocommerce-account form.woocommerce-form :is(input, select, textarea):is(:disabled, [readonly]),
body.rp-theme-color-system .rp-account-address-modal-form :is(input, select, textarea):is(:disabled, [readonly]),
body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row :is(input, select, textarea):is(:disabled, [readonly]) {
    background-color: var(--rp-theme-forms-disabled, #a6adb4) !important;
    color: var(--rp-theme-forms-disabled-text, #525a63) !important;
}

body.rp-theme-color-system .rp-shop-price-actions button,
body.rp-theme-color-system .rp-shop-filter-reset-btn,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form .woocommerce-Button,
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form button[name="save_account_details"],
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form button[name="save_address"],
body.rp-theme-color-system.woocommerce-account form.woocommerce-form button[type="submit"],
body.rp-theme-color-system .rp-account-address-modal-form button[type="submit"],
body.rp-theme-color-system.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form .actions > .button,
body.rp-theme-color-system.woocommerce-checkout form.checkout #place_order,
body.rp-theme-color-system.single-product .rp-product-buybox form.cart .single_add_to_cart_button,
body.rp-theme-color-system.single-product .rp-grouped-product-form .rp-product-buybox .single_add_to_cart_button,
body.rp-theme-color-system.single-product .rp-product-review-form .form-submit .submit {
    background-color: var(--rp-theme-forms-button, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    border-color: var(--rp-theme-forms-button, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: var(--rp-theme-forms-button-text, #ffffff) !important;
}

body.rp-theme-color-system .rp-shop-price-actions button:is(:hover, :focus-visible),
body.rp-theme-color-system .rp-shop-filter-reset-btn:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form .woocommerce-Button:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form button[name="save_account_details"]:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-account .woocommerce-MyAccount-content > form button[name="save_address"]:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-account form.woocommerce-form button[type="submit"]:is(:hover, :focus-visible),
body.rp-theme-color-system .rp-account-address-modal-form button[type="submit"]:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-cart .wc-proceed-to-checkout .checkout-button:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form .actions > .button:is(:hover, :focus-visible),
body.rp-theme-color-system.woocommerce-checkout form.checkout #place_order:is(:hover, :focus-visible),
body.rp-theme-color-system.single-product .rp-product-buybox form.cart .single_add_to_cart_button:is(:hover, :focus-visible),
body.rp-theme-color-system.single-product .rp-grouped-product-form .rp-product-buybox .single_add_to_cart_button:is(:hover, :focus-visible),
body.rp-theme-color-system.single-product .rp-product-review-form .form-submit .submit:is(:hover, :focus-visible) {
    background-color: var(--rp-theme-forms-button-hover, #009874) !important;
    border-color: var(--rp-theme-forms-button-hover, #009874) !important;
}

body.rp-theme-color-system.woocommerce-checkout form.checkout .form-row label {
    color: var(--rp-theme-forms-text, #343a40) !important;
}

body.rp-theme-color-system.woocommerce-checkout form.checkout #payment,
body.rp-theme-color-system.woocommerce-checkout form.checkout #payment .payment_box {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    border-color: var(--rp-theme-general-border, #e6e6e3) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
}

/* Built-in Dark preset corrections. Never leak these overrides into Custom. */
body.rp-theme-color-preset-dark :is(
    .rp-header-actions .rp-action-link img,
    .rp-header-sticky-cart img,
    .rp-faq-link img,
    .rp-account-dropdown-icon img
) {
    filter: brightness(0) invert(1) !important;
}

body.rp-theme-color-preset-dark .rp-account-pill-icon,
:is(html[data-rp-user-theme="dark"], html[data-rp-theme-mode="dark"]) body .rp-account-pill-icon {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-account-pill:is(:hover, :focus-visible) .rp-account-pill-icon,
:is(html[data-rp-user-theme="dark"], html[data-rp-theme-mode="dark"]) body .rp-account-pill:is(:hover, :focus-visible) .rp-account-pill-icon {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

html body.rp-theme-color-preset-dark.woocommerce-cart .woocommerce-cart-form table tr.cart_item td.product-quantity .rp-cart-table-qty-stepper :is(.quantity, input.qty) {
    border-color: var(--rp-theme-general-border, #303640) !important;
}

html body.rp-theme-color-preset-dark.woocommerce-cart .woocommerce-cart-form table tr.cart_item :is(td.product-price, td.product-subtotal) :is(.woocommerce-Price-amount, bdi):not(del *) {
    color: var(--rp-theme-general-heading, #f8fafc) !important;
}

body.rp-theme-color-preset-dark .rp-back-to-top {
    background-color: var(--rp-theme-general-surface, #171b21) !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
    color: var(--rp-theme-general-heading, #f8fafc) !important;
}

body.rp-theme-color-preset-dark .rp-back-to-top span,
body.rp-theme-color-preset-dark .rp-back-to-top span::before,
body.rp-theme-color-preset-dark .rp-back-to-top span::after {
    border-color: var(--rp-theme-general-heading, #f8fafc) !important;
}

body.rp-theme-color-preset-dark .rp-cart-sidebar-close,
body.rp-theme-color-preset-dark .rp-cart-sidebar-close span {
    color: var(--rp-theme-general-heading) !important;
}

body.rp-theme-color-preset-dark .rp-cart-sidebar-total > span {
    color: var(--rp-theme-general-muted) !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-quick-note {
    background: transparent !important;
    color: var(--rp-theme-general-text) !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-category-carousel {
    background: transparent !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive :is(
    .rp-shop-category-item,
    .rp-shop-category-name
) {
    color: #aeb7c2 !important;
}

/* Shop category pills are independent cards, not part of the page canvas.
   Give them their own dark surface and neutral border/text contrast. */
body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-category-item {
    background: #1b232d !important;
    border-color: #57616d !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-category-item:is(:hover, :focus-visible, .is-active) {
    background: #242e39 !important;
    border-color: #74808d !important;
    color: #d1d7de !important;
}

body.rp-theme-color-preset-dark .rp-search-overlay-backdrop {
    background: rgb(12 15 19 / 92%) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__header h2,
    .rp-advanced-search__header p,
    .rp-advanced-search__progress,
    [data-rp-progress-text],
    .rp-advanced-search__question-toolbar h3,
    .rp-advanced-search__term-empty,
    .rp-advanced-search__results-head > div > span,
    .rp-advanced-search__results-head h3,
    .rp-advanced-search__result-basis > strong,
    .rp-advanced-search-result-row__content h4,
    .rp-advanced-search-result-row__content p,
    .rp-advanced-search-result-row__stock,
    .rp-advanced-search-product__price
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search__results :is(h1, h2, h3, h4, h5, h6, p, span, small, strong, b, em):not(.rp-advanced-search__selected-terms *) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search-result-row:is(:hover, :focus-visible) {
    background-color: color-mix(
        in srgb,
        var(--rp-theme-general-surface, #171c23) 90%,
        #000000 10%
    ) !important;
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search-result-row:is(:hover, :focus-visible) :is(
    h1, h2, h3, h4, h5, h6, p, span, small, strong, b, em, bdi,
    .amount, .woocommerce-Price-currencySymbol
) {
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__question,
    .rp-advanced-search__question-toolbar
) {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search {
    --rp-as-accent: var(--rp-theme-general-accent, #2dd4aa);
    --rp-as-ink: var(--rp-theme-general-heading, #ffffff);
    --rp-as-line: var(--rp-theme-general-border, #303741);
    color: var(--rp-theme-general-text, #d7dce2) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search__progress i {
    background: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__controls .rp-advanced-search__next,
    .rp-advanced-search__controls .rp-advanced-search__next.is-results,
    .rp-advanced-search-product__link,
    .rp-advanced-search-result-more button
) {
    border-color: var(--rp-theme-general-accent, #2dd4aa) !important;
    background: var(--rp-theme-general-accent, #2dd4aa) !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__controls .rp-advanced-search__next,
    .rp-advanced-search__controls .rp-advanced-search__next.is-results,
    .rp-advanced-search-product__link,
    .rp-advanced-search-result-more button
):not(:disabled):is(:hover, :focus-visible) {
    border-color: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 82%, #000000) !important;
    background: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 82%, #000000) !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__controls .rp-advanced-search__back,
    .rp-advanced-search__results-actions [data-rp-results-back]
) {
    border-color: var(--rp-theme-general-accent, #2dd4aa) !important;
    background: transparent !important;
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__controls .rp-advanced-search__back,
    .rp-advanced-search__results-actions [data-rp-results-back]
):is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 14%, transparent) !important;
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search-option,
    .rp-advanced-search__term-search input,
    .rp-advanced-search__term-empty,
    .rp-advanced-search-empty,
    .rp-advanced-search-loading-results button,
    .rp-advanced-search-product
) {
    border-color: var(--rp-theme-general-border, #303741) !important;
    background: var(--rp-theme-general-surface, #171c23) !important;
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search-option:hover,
    .rp-advanced-search-option:focus-within
) {
    border-color: var(--rp-theme-general-border-strong, #56606c) !important;
    background: color-mix(in srgb, var(--rp-theme-general-surface, #171c23) 84%, #ffffff 16%) !important;
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__header,
    .rp-advanced-search__question-toolbar,
    .rp-advanced-search__result-basis,
    .rp-advanced-search-result-list,
    .rp-advanced-search-result-row
) {
    border-color: var(--rp-theme-general-border, #303741) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search__progress > div {
    background: var(--rp-theme-general-border, #303741) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__answers span,
    .rp-advanced-search__selected-term
) {
    border-color: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 55%, transparent) !important;
    background: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 16%, var(--rp-theme-general-surface, #171c23)) !important;
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search-option small,
    .rp-advanced-search__checking,
    .rp-advanced-search__term-search span,
    .rp-advanced-search-loading-results span,
    .rp-advanced-search__results-head span
) {
    color: var(--rp-theme-general-muted, #aeb7c2) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search-option__placeholder,
    .rp-advanced-search-result-row__image,
    .rp-advanced-search__selected-term img
) {
    border-color: var(--rp-theme-general-border, #303741) !important;
    background: color-mix(in srgb, var(--rp-theme-general-surface, #171c23) 86%, #ffffff 14%) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search__term-search input::placeholder {
    color: var(--rp-theme-general-muted, #aeb7c2) !important;
    opacity: 1;
}

body.rp-theme-color-preset-dark.woocommerce-checkout .rp-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping::before {
    background: transparent !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout :is(
    .rp-checkout-products-card,
    .rp-checkout-products-subtotal-row
) {
    background: transparent !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout :is(
    .rp-checkout-products-card,
    .rp-checkout-products-card-item,
    .rp-checkout-products-subtotal-row
) {
    border-color: var(--rp-theme-general-border, #303741) !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout :is(
    .rp-checkout-product-title,
    .rp-checkout-product-meta,
    .rp-checkout-product-card-price,
    .rp-checkout-product-card-total,
    .rp-checkout-product-card-total .amount,
    .rp-checkout-product-card-total bdi,
    .rp-checkout-products-subtotal-label,
    .rp-checkout-products-subtotal-value,
    .rp-checkout-products-subtotal-value .amount,
    .rp-checkout-products-subtotal-value bdi
) {
    color: #ffffff !important;
}

/* Advanced-search actions stay outlined; selected badges stay accent-filled. */
body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__controls button,
    .rp-advanced-search__results-head button,
    .rp-advanced-search__results-actions button,
    .rp-advanced-search-result-more button
) {
    border-color: var(--rp-theme-general-accent, #2dd4aa) !important;
    background: transparent !important;
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__controls button,
    .rp-advanced-search__results-head button,
    .rp-advanced-search__results-actions button,
    .rp-advanced-search-result-more button
):not(:disabled):is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 14%, transparent) !important;
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search :is(
    .rp-advanced-search__answers span,
    .rp-advanced-search__selected-term
) {
    border-color: var(--rp-theme-general-accent, #2dd4aa) !important;
    background: var(--rp-theme-general-accent, #2dd4aa) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

/* Final advanced-search state overrides: these intentionally outrank the
   older generic dark button rules above. */
body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search__controls [data-rp-reset] {
    border-color: var(--rp-theme-general-accent, #2dd4aa) !important;
    background: transparent !important;
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search__controls [data-rp-reset]:is(:hover, :focus-visible) {
    border-color: var(--rp-theme-general-accent, #2dd4aa) !important;
    background: color-mix(in srgb, var(--rp-theme-general-accent, #2dd4aa) 14%, transparent) !important;
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-advanced-search .rp-advanced-search__controls .rp-advanced-search__next.is-results:disabled {
    border-color: #374151 !important;
    background: #4b5563 !important;
    color: #f9fafb !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* WooCommerce paints cart/checkout refresh overlays inline in white. */
body.rp-theme-color-preset-dark.woocommerce-cart :is(.blockUI.blockOverlay, .blockOverlay) {
    background: #0f1115 !important;
    background-color: #0f1115 !important;
    opacity: .72 !important;
}

body.rp-theme-color-preset-dark:is(.woocommerce-cart, .woocommerce-checkout) .rp-checkout-step-arrow-icon {
    filter: brightness(0) !important;
}

body.rp-theme-color-preset-dark:is(.woocommerce-cart, .woocommerce-checkout) .rp-purchase-steps a.rp-checkout-step:is(:hover, :focus-visible) {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

/* Dark commerce legibility fixes. Keep Product Card and Compare table visuals independent. */
@media (max-width: 900px) {
    body.rp-theme-color-preset-dark .rp-footer-mobile-links.rp-mobile-bottom-bar .rp-mobile-bottom-link,
    body.rp-theme-color-preset-dark .rp-footer-mobile-links.rp-mobile-bottom-bar .rp-mobile-bottom-text,
    body.rp-theme-color-preset-dark .rp-footer-mobile-links.rp-mobile-bottom-bar .rp-mobile-bottom-icon {
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark .rp-footer-mobile-links.rp-mobile-bottom-bar .rp-mobile-bottom-icon > img {
        filter: brightness(0) invert(1) !important;
        opacity: 1 !important;
    }
}

/* Storefront Dark-mode contracts not owned by the independent card layouts. */
body.rp-theme-color-preset-dark .rp-advanced-search-option:has(input:checked) {
    border: 2px solid var(--rp-theme-general-accent, #2dd4aa) !important;
}

/* The selected answer card itself is an accent-filled choice in every mode.
   Keep this after the generic Light/Dark surface rules so they cannot repaint
   a checked option gray. */
html body.rp-theme:not(.wp-admin) .rp-advanced-search .rp-advanced-search-option:has(input:checked) {
    border-color: var(--rp-as-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    background: var(--rp-as-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.rp-theme:not(.wp-admin) .rp-advanced-search .rp-advanced-search-option:has(input:checked) :is(span, small, strong, b) {
    color: #ffffff !important;
}

html body.rp-theme:not(.wp-admin) .rp-advanced-search .rp-advanced-search__controls .rp-advanced-search__next.is-results:not(:disabled) {
    border-color: var(--rp-as-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    background: var(--rp-as-accent, var(--rp-theme-general-accent, var(--rp-accent, #fd314a))) !important;
    color: var(--rp-as-on-accent, #ffffff) !important;
    opacity: 1 !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-attribute-filter-option.is-active .rp-filter-term-label {
    color: var(--rp-theme-general-accent, #2dd4aa) !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-archive-short-description,
body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-archive-short-description :where(*) {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* Shipping panel: change only its canvas/text; selection controls keep their
   existing styles and interaction states. */
body.rp-theme-color-preset-dark.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping,
body.rp-theme-color-preset-dark.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > th,
body.rp-theme-color-preset-dark.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > td,
body.rp-theme-color-preset-dark.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping #shipping_method {
    background-color: #000000 !important;
    background-image: none !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping :is(
    th,
    td,
    p,
    label,
    span,
    small,
    strong,
    bdi,
    .amount,
    .woocommerce-Price-currencySymbol
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout form.checkout input:is(
    [name*="national"],
    [id*="national"],
    [name*="melli"],
    [id*="melli"],
    [name*="codemelli"],
    [id*="codemelli"]
) {
    background: transparent !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout form.checkout input:is(
    [name*="national"],
    [id*="national"],
    [name*="melli"],
    [id*="melli"],
    [name*="codemelli"],
    [id*="codemelli"]
)::placeholder {
    color: rgba(255, 255, 255, .72) !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout form.checkout #place_order,
body.rp-theme-color-preset-dark.woocommerce-checkout form.checkout #place_order:is(:hover, :focus-visible) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-cart-sidebar-empty {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-account :is(
    .rp-account-latest-order-empty,
    .rp-account-orders-empty
) {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-account :is(
    .rp-account-latest-order-empty,
    .rp-account-orders-empty
) p {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-account.rp-account-ajax-loading .woocommerce-MyAccount-content::before {
    background: rgba(0, 0, 0, .72) !important;
}

body.rp-theme-color-preset-dark.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
body.rp-theme-color-preset-dark.woocommerce-account .woocommerce-MyAccount-content .addresses .woocommerce-Address {
    background: transparent !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
    background: transparent !important;
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
body.rp-theme-color-preset-dark.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-column__title {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark :is(
    .rp-breadcrumb,
    .rp-shop-breadcrumb,
    .rp-product-breadcrumb,
    .woocommerce-breadcrumb
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark :is(
    .rp-breadcrumb,
    .rp-shop-breadcrumb,
    .rp-product-breadcrumb,
    .woocommerce-breadcrumb
) :is(a, span, .breadcrumb_last, .rp-breadcrumb-separator) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark:is(.woocommerce-cart, .woocommerce-checkout) .rp-purchase-steps :is(
    .rp-checkout-step,
    .rp-checkout-step:visited
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page :is(
    .rp-product-subtitle,
    .rp-product-original-name,
    .rp-product-sku-value,
    .rp-product-description,
    .rp-product-description p,
    .rp-product-description li,
    .rp-product-description a,
    .rp-product-info-tabs > h2,
    .rp-product-section-title,
    .rp-product-section-title > span,
    .rp-dynamic-chart > h3,
    .rp-product-service-item > b
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-stock-line :is(
    .stock.out-of-stock,
    .out-of-stock
) {
    color: #ff5b66 !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-buybox :is(
    .stock.available-on-backorder,
    p.stock.available-on-backorder,
    .woocommerce-variation-availability .stock.available-on-backorder
),
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-stock-line :is(
    .stock.available-on-backorder,
    .available-on-backorder
),
html[data-rp-user-theme="dark"] body.single-product .rp-product-buybox :is(
    .stock.available-on-backorder,
    p.stock.available-on-backorder,
    .woocommerce-variation-availability .stock.available-on-backorder
),
html[data-rp-user-theme="dark"] body.single-product .rp-product-stock-line :is(
    .stock.available-on-backorder,
    .available-on-backorder
) {
    color: #4ade80 !important;
}

/* Contact-for-price must stay readable on Dark surfaces (overrides saved light hex). */
html[data-rp-user-theme="dark"] body.single-product .rp-product-price-content .rp-wct-contact-price,
body.rp-theme-color-preset-dark.single-product .rp-product-price-content .rp-wct-contact-price,
html[data-rp-user-theme="dark"] body.single-product .rp-product-buybox .rp-wct-contact-price,
body.rp-theme-color-preset-dark.single-product .rp-product-buybox .rp-wct-contact-price {
    color: #ff3b30 !important;
}

body.rp-theme-color-preset-dark .rp-compare-page,
body.rp-theme-color-preset-dark .rp-compare-page .rp-compare-inner,
body.rp-theme-color-preset-dark .rp-compare-page .rp-compare-sticky-area {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
}

body.rp-theme-color-preset-dark .rp-compare-page .rp-compare-sticky-area {
    border-color: var(--rp-theme-general-border, #303640) !important;
}

body.rp-theme-color-preset-dark .rp-compare-page .rp-compare-head h1 {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-compare-page :is(
    .rp-shop-category-item,
    .rp-shop-category-name
) {
    color: #111820 !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page :is(
    .rp-product-lower-grid,
    .rp-product-main-details
) {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-votes-panel {
    background: transparent !important;
    background-color: transparent !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-vote-block {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-vote-block :is(
    .rp-product-vote-identity h3,
    .rp-product-vote-selector-label,
    .rp-product-vote-selector-step-caption,
    .rp-product-vote-label,
    .rp-product-vote-stats,
    .rp-product-vote-stats b,
    .rp-product-vote-stats small,
    .rp-product-vote-total-row,
    .rp-product-vote-total-row strong,
    .rp-product-vote-backend-note,
    .rp-product-vote-message
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-vote-actions .rp-product-vote-message.is-success {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-vote-block :is(
    .rp-product-vote-total-row,
    .rp-product-vote-actions
) {
    border-color: var(--rp-theme-general-border, #303640) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-vote-icon {
    color: #d8dde4 !important;
    opacity: 1 !important;
}

body.rp-theme-color-preset-dark.single-product .rp-product-vote-icon:not(.has-committed-color) .rp-product-vote-icon__image {
    filter: grayscale(1) brightness(1.65) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-buybox-note {
    background: var(--rp-theme-general-surface-alt) !important;
    background-color: var(--rp-theme-general-surface-alt) !important;
    border-color: var(--rp-theme-general-surface-alt) !important;
    color: var(--rp-theme-general-text) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-buybox-note :is(
    .rp-product-buybox-note-text,
    .rp-product-buybox-note-icon,
    svg
) {
    color: var(--rp-theme-general-text) !important;
}

/* Product reviews: keep every review state readable on the Dark preset. */
body.rp-theme-color-preset-dark.single-product .rp-single-product-page :is(
    .rp-product-reviews-panel,
    .rp-product-reviews-list,
    .rp-product-review-form,
    .rp-product-reviews-empty,
    .rp-product-review-items > li,
    .rp-product-review-items .review,
    .rp-product-review-items .comment
) {
    background: var(--rp-theme-general-background, #0f1115) !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page :is(
    .rp-product-reviews-empty,
    .rp-product-reviews-empty strong,
    .rp-product-review-form > h2,
    .rp-product-review-form > p,
    .rp-product-review-form label,
    .rp-product-review-closed,
    .rp-product-review-message,
    .rp-product-review-items .comment-text,
    .rp-product-review-items .description,
    .rp-product-review-items .description p,
    .rp-product-review-items .meta,
    .rp-product-review-items .woocommerce-review__author,
    .rp-product-review-items .woocommerce-review__dash,
    .rp-product-review-items .woocommerce-review__published-date
) {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-reviews-empty-icon {
    background: transparent !important;
    border: 1px solid var(--rp-theme-general-border, #303640) !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-review-form :is(
    textarea,
    select,
    input[type="text"],
    input[type="email"],
    input[type="url"]
) {
    background: var(--rp-theme-forms-background, #171b21) !important;
    border-color: var(--rp-theme-forms-border, #39414c) !important;
    color: var(--rp-theme-forms-text) !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-review-form :is(
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="url"]
)::placeholder {
    color: var(--rp-theme-forms-placeholder) !important;
    opacity: 1 !important;
}

/* Product details should sit directly on the Dark page canvas. */
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-info-tabs,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-description,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-term-visual-card,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-term-visual-card-head,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-term-visual-card-body {
    background: transparent !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page #rp-product-specs > :is(.rp-product-detail-card-head, .rp-product-detail-card-body) {
    background: transparent !important;
}

/* Product descriptions can contain arbitrary Classic/Block Editor markup.
   Keep every nested content surface transparent and every text node readable
   without changing media elements or the Light preset. */
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-description,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-description :where(*) {
    background-color: transparent !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* Variation/attribute heading (for example "رنگ‌بندی") belongs to the dark
   product surface. Keep the choice chips themselves under their own styles. */
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-single-variation-choice-title,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .variations th.label,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .variations th.label label {
    color: #ffffff !important;
}

@media (max-width: 900px) {
    body.rp-theme-color-preset-dark.single-product .rp-single-product-page :is(
        .rp-product-service-strip,
        .rp-product-lower-grid,
        .rp-product-main-details,
        .rp-product-side-recommend
    ) {
        background-color: var(--rp-theme-general-background, #0f1115) !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__sheet,
    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__tabs,
    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__content,
    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__content :is(
        .rp-product-reviews-panel,
        .rp-product-reviews-list,
        .rp-product-review-form,
        .commentlist > li,
        .rp-product-review-items > li,
        .shop_attributes th,
        .shop_attributes td
    ) {
        background-color: var(--rp-theme-general-surface, #171a20) !important;
        border-color: var(--rp-theme-general-border, #303640) !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__sheet,
    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__content {
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal :is(
        .rp-product-section-modal__tab,
        .rp-product-section-modal__empty,
        .rp-product-description,
        .rp-product-description p,
        .rp-product-description li,
        .rp-product-description a,
        .rp-product-reviews-empty strong,
        .rp-product-review-form h2,
        .rp-product-review-form > p,
        .rp-product-review-form label,
        .comment-text,
        .description,
        .meta,
        .woocommerce-review__published-date,
        .shop_attributes th,
        .shop_attributes td
    ) {
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__content :is(
        textarea,
        select,
        input[type="text"],
        input[type="email"]
    ) {
        background-color: var(--rp-theme-forms-background, #171b21) !important;
        border-color: var(--rp-theme-forms-border, #39414c) !important;
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-product-section-modal__content .form-submit :is(
        input[type="submit"],
        button
    ) {
        background-color: var(--rp-theme-forms-button, #2dd4aa) !important;
        border-color: var(--rp-theme-forms-button, #2dd4aa) !important;
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-buy {
        background-color: var(--rp-theme-general-surface, #171a20) !important;
        border-color: var(--rp-theme-general-border, #303640) !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-price,
    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-price-content :is(
        .rp-buybox-price-final,
        .rp-buybox-price-final .amount,
        .rp-buybox-price-final bdi,
        .rp-product-price-range-min,
        .rp-product-price-range-min .amount,
        .rp-product-price-range-min bdi,
        .rp-product-price-range-max,
        .rp-product-price-range-max .amount,
        .rp-product-price-range-max bdi,
        ins,
        ins .amount,
        ins bdi,
        .woocommerce-Price-amount:not(del .woocommerce-Price-amount),
        .rp-buybox-price-currency,
        .woocommerce-Price-currencySymbol
    ) {
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-cart-btn,
    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-cart-btn:disabled {
        background-color: var(--rp-theme-forms-button, #2dd4aa) !important;
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-single-product-page .single_add_to_cart_button:not(:disabled):not([disabled]),
    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-cart-btn:not(:disabled):not([disabled]) {
        background: var(--rp-theme-forms-button, #2dd4aa) !important;
        background-color: var(--rp-theme-forms-button, #2dd4aa) !important;
        border-color: var(--rp-theme-forms-button, #2dd4aa) !important;
        color: #ffffff !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-single-product-page .single_add_to_cart_button:not(:disabled):not([disabled]):hover,
    body.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-cart-btn:not(:disabled):not([disabled]):hover {
        background: var(--rp-theme-forms-button-hover, #22bd98) !important;
        background-color: var(--rp-theme-forms-button-hover, #22bd98) !important;
        border-color: var(--rp-theme-forms-button-hover, #22bd98) !important;
    }

    body.rp-theme-color-preset-dark.single-product .rp-product-vote-disclosure {
        border-color: var(--rp-theme-general-border, #303640) !important;
        color: #ffffff !important;
    }
}
/* v2.0.22 dark-mode interaction and WooCommerce surface contracts. */
body.rp-theme-color-system.woocommerce-checkout :is(
    .woocommerce-shipping-methods,
    .woocommerce-shipping-methods li,
    #shipping_method,
    #shipping_method li,
    .woocommerce-checkout-review-order-table tr.shipping,
    .woocommerce-checkout-review-order-table tr.shipping th,
    .woocommerce-checkout-review-order-table tr.shipping td
) {
    background: transparent !important;
    background-color: transparent !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(
    #billing_national_code,
    #billing_national_id,
    input[name="billing_national_code"],
    input[name="billing_national_id"]
) {
    background: var(--rp-theme-forms-background) !important;
    color: var(--rp-theme-forms-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-text) !important;
    opacity: 1 !important;
}

body.rp-theme-color-system.woocommerce-checkout :is(
    #billing_national_code,
    #billing_national_id,
    input[name="billing_national_code"],
    input[name="billing_national_id"]
):disabled,
body.rp-theme-color-system.woocommerce-checkout :is(
    #billing_national_code,
    #billing_national_id,
    input[name="billing_national_code"],
    input[name="billing_national_id"]
)[readonly] {
    background: var(--rp-theme-forms-disabled) !important;
    color: var(--rp-theme-forms-disabled-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-disabled-text) !important;
    opacity: 1 !important;
}

body.rp-theme-color-system.woocommerce-checkout #place_order:not(:disabled) {
    color: #111820 !important;
    -webkit-text-fill-color: #111820 !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping,
body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > th,
body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > td,
body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping #shipping_method {
    background: transparent !important;
    background-color: transparent !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout form.checkout input:is(
    [name*="national"], [id*="national"], [name*="melli"], [id*="melli"], [name*="codemelli"], [id*="codemelli"]
) {
    background: var(--rp-theme-forms-background) !important;
    color: var(--rp-theme-forms-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-text) !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout form.checkout input:is(
    [name*="national"], [id*="national"], [name*="melli"], [id*="melli"], [name*="codemelli"], [id*="codemelli"]
):is(:disabled, [readonly]) {
    background: var(--rp-theme-forms-disabled) !important;
    color: var(--rp-theme-forms-disabled-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-disabled-text) !important;
    opacity: 1 !important;
}

html body.rp-theme-color-system.woocommerce-checkout form.checkout #customer_details .form-row :is(input, select, textarea):is(:disabled, [readonly]) {
    background: var(--rp-theme-forms-disabled) !important;
    color: var(--rp-theme-forms-disabled-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-disabled-text) !important;
    opacity: 1 !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout form.checkout #place_order:not(:disabled),
body.rp-theme-color-preset-dark.rp-theme-color-system.woocommerce-checkout form.checkout #place_order:not(:disabled):is(:hover, :focus-visible) {
    color: var(--rp-theme-forms-button-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-button-text) !important;
}

body.rp-theme-color-system.single-product :is(
    .rp-product-lower-grid,
    .rp-product-main-details,
    .rp-product-votes-panel,
    .rp-product-votes-section
) {
    background: transparent !important;
    background-color: transparent !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page :is(
    .rp-product-lower-grid,
    .rp-product-main-details,
    .rp-product-votes-panel
) {
    background: transparent !important;
    background-color: transparent !important;
}

body.rp-theme-color-system.single-product :is(
    .rp-product-term-visuals,
    .rp-product-term-visuals *,
    .rp-term-visual-card,
    .rp-term-visual-card *,
    .rp-product-term-visual-group-title,
    .rp-term-visual-group-title,
    .rp-product-term-visual-name,
    .rp-term-visual-name,
    .rp-product-term-visual-label
) {
    color: var(--rp-theme-general-text) !important;
}

body.rp-theme-color-system.single-product :is(
    .rp-product-summary-variation-choices,
    .rp-product-summary-meta,
    .rp-product-service-strip
) {
    border-color: var(--rp-theme-general-border) !important;
}

body.rp-theme-color-system.single-product .rp-term-visual-group-title > span {
    background: #303640 !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page :is(
    .rp-product-summary-variation-choices,
    .rp-product-meta-line,
    .rp-product-service-strip
) {
    border-color: var(--rp-theme-general-border) !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page .rp-product-meta-line > span:not(:last-child)::after {
    background: var(--rp-theme-general-border) !important;
}

body.rp-theme-color-system.single-product .rp-product-service-item b {
    color: var(--rp-theme-general-muted) !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page .rp-product-service-item > b {
    color: var(--rp-theme-general-muted) !important;
}

body.rp-theme-color-system.single-product .rp-product-service-item:hover b,
body.rp-theme-color-system.single-product .rp-product-service-item:focus-visible b {
    color: var(--rp-theme-general-heading) !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page .rp-product-service-item:is(:hover, :focus-visible) > b {
    color: var(--rp-theme-general-heading) !important;
}

@media (max-width: 900px) {
    body.rp-theme-color-system.single-product :is(
        .single_add_to_cart_button,
        .rp-product-add-to-cart,
        .rp-sticky-add-to-cart-button
    ):not(:disabled):not([disabled]):not(.disabled):not([aria-disabled="true"]) {
        color: var(--rp-theme-forms-button-text) !important;
        -webkit-text-fill-color: var(--rp-theme-forms-button-text) !important;
    }

    body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page .single_add_to_cart_button:not(:disabled):not([disabled]),
    body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-mobile-product-sticky-cart-btn:not(:disabled):not([disabled]) {
        color: var(--rp-theme-forms-button-text) !important;
        -webkit-text-fill-color: var(--rp-theme-forms-button-text) !important;
    }

    body.rp-theme-color-system.single-product .rp-product-vote-mobile-controls {
        border-color: #303640 !important;
    }

    body.rp-theme-color-system.single-product .rp-product-reviews-mobile-toggle {
        color: var(--rp-theme-general-heading) !important;
    }
}

/* v2.0.23: final Dark surface and divider authority. These selectors are
   intentionally preset-scoped so Custom/Light palettes keep their surfaces. */
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-summary-col,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-votes-panel,
body.rp-theme-color-preset-dark.single-product .rp-single-product-page .rp-product-votes-section {
    background: transparent !important;
    background-color: transparent !important;
}

body.rp-theme-color-preset-dark.single-product .rp-single-product-page :is(
    .rp-product-under-title,
    .rp-product-meta-line,
    .rp-product-summary-variation-choices
) {
    border-bottom-color: #303640 !important;
}

body.rp-theme-color-preset-dark.woocommerce-checkout :is(
    .woocommerce-checkout-review-order-table,
    .rp-checkout-review-order-table
) .order-total {
    border-top-color: #303640 !important;
}

.rp-theme-mode-transition {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(8, 12, 18, .52);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .12s ease, visibility .12s ease;
    backdrop-filter: blur(8px);
}

body.rp-theme-mode-is-switching .rp-theme-mode-transition,
.rp-theme-mode-confirm {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.rp-theme-mode-transition__modal {
    width: min(420px, calc(100vw - 40px));
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 30px 32px 26px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 24px;
    background: rgba(255, 255, 255, .96);
    color: #111820;
    text-align: center;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
    transform: translateY(8px) scale(.98);
    animation: rpThemeModeModalIn .24s ease forwards;
}

.rp-theme-mode-transition__icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    background: transparent;
}

.rp-theme-mode-confirm__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}

.rp-theme-mode-confirm__actions button {
    min-height: 42px;
    padding: 8px 15px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #111820;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.rp-theme-mode-confirm .rp-theme-mode-transition__title {
    font-size: 17px;
}

.rp-theme-mode-confirm__actions [data-rp-theme-system-accept] {
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
    color: var(--rp-theme-general-on-accent, #fff);
}

.rp-theme-mode-confirm__actions button:focus-visible {
    outline: 2px solid #3267dc;
    outline-offset: 3px;
}

html[data-rp-user-theme="dark"] .rp-theme-mode-confirm__actions button {
    border-color: #596272;
    background: #303741;
    color: #fff;
}

html[data-rp-user-theme="dark"] .rp-theme-mode-confirm__actions [data-rp-theme-system-accept] {
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
}

.rp-theme-mode-transition__icon img {
    display: block;
    width: 28px;
    height: 28px;
}

.rp-theme-mode-transition__title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.7;
}

.rp-theme-mode-transition__description {
    max-width: 330px;
    color: #68717c;
    font-size: 13px;
    line-height: 1.9;
}

.rp-theme-mode-transition__progress {
    position: relative;
    width: 100%;
    height: 10px;
    margin-top: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf2;
    direction: rtl;
}

.rp-theme-mode-transition__progress-bar {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
    box-shadow: 0 0 18px color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 36%, transparent);
    transition: width .08s linear;
}

.rp-theme-mode-transition__percent {
    color: #27313b;
    font-size: 13px;
    font-weight: 800;
    direction: rtl;
}

html[data-rp-user-theme="dark"] .rp-theme-mode-transition__modal {
    border-color: #353d48;
    background: rgba(20, 24, 30, .97);
    color: #f8fafc;
}

html[data-rp-user-theme="dark"] .rp-theme-mode-transition__description,
html[data-rp-user-theme="dark"] .rp-theme-mode-transition__percent {
    color: #c4ccd6;
}

html[data-rp-user-theme="dark"] .rp-theme-mode-transition__progress {
    background: #303741;
}

/* Contact cards keep a white surface in dark mode, so their copy must use
 * light-surface text colors. The structural selector supports pages created
 * before the default contact template received dedicated classes. */
:is(
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body,
    html[data-theme="dark"] body,
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark
) :is(
    .rp-contact-card,
    .rp-entry-content > h2:first-child + p + div[style*="grid-template-columns"] > div[style*="background: #fff"]
) {
    color: #374151 !important;
}

:is(
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body,
    html[data-theme="dark"] body,
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark
) :is(
    .rp-contact-card,
    .rp-entry-content > h2:first-child + p + div[style*="grid-template-columns"] > div[style*="background: #fff"]
) :is(h2, h3, p, .rp-footer-address, .rp-footer-address a) {
    color: #1f2937 !important;
}

@keyframes rpThemeModeModalIn {
    to { transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .rp-theme-mode-transition__modal { animation: none; transform: none; }
    .rp-theme-mode-transition__progress-bar { transition: none; }
}
/* Shop result count must remain readable on the dark archive surface. */
:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-shop-archive :is(
    .rp-shop-result-count,
    .rp-shop-toolbar-result-count,
    .woocommerce-result-count
) {
    color: var(--rp-theme-general-text, #f8fafc) !important;
}

/* Compare has card and table cells with component-level light declarations. */
:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-compare-page :is(
    .rp-compare-card,
    .rp-compare-spec-label,
    .rp-compare-spec-value
) {
    background: #171b21 !important;
    border-color: #303945 !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-compare-page .rp-compare-spec-row:nth-child(even) :is(
    .rp-compare-spec-label,
    .rp-compare-spec-value
) {
    background: #1d242d !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-compare-page :is(
    .rp-compare-head h1,
    .rp-compare-card h2,
    .rp-compare-card h2 a,
    .rp-compare-price,
    .rp-compare-currency,
    .rp-compare-spec-label,
    .rp-compare-spec-value,
    .rp-compare-spec-value::before,
    .rp-compare-price-text,
    .rp-compare-empty
) {
    color: var(--rp-theme-general-text, #f8fafc) !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-compare-page .rp-compare-image {
    background: #11161d !important;
    border-color: #303945 !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-compare-page .rp-compare-spec-row.is-price-row :is(
    .rp-compare-spec-label,
    .rp-compare-spec-value
) {
    background: #171b21 !important;
    border-color: #303945 !important;
    color: var(--rp-theme-general-text, #f8fafc) !important;
}

:is(
    body.rp-theme-color-preset-dark,
    body.rp-theme-dark,
    body.is-dark,
    html[data-rp-user-theme="dark"] body,
    html[data-rp-theme-mode="dark"] body
) .rp-compare-page .rp-compare-spec-row.is-price-row .rp-compare-spec-value > .rp-compare-price-text {
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--rp-theme-general-text, #f8fafc) !important;
}

@media (max-width: 820px) {
    /* The compare product image needs a clearly usable touch-size on mobile. */
    html body .rp-compare-page .rp-compare-image {
        min-height: 192px !important;
        height: 192px !important;
    }

    html body .rp-compare-page .rp-compare-image img {
        width: 100% !important;
        max-width: 100% !important;
        height: 172px !important;
        max-height: 172px !important;
        object-fit: contain !important;
    }
}

/* Audit-verified theme-owned controls. Keep the legacy Default preset intact;
   these adapters become active only for a custom/live-preview palette. */
html body.rp-theme-color-system .rp-shop-archive .rp-shop-filter-sidebar > .rp-shop-filter-panel,
html body.rp-theme-color-system .rp-shop-archive .rp-shop-filters .rp-shop-filter-card,
html body.rp-theme-color-system .rp-shop-archive .rp-shop-toolbar-compare .rp-shop-compare-toggle {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

html body.rp-theme-color-system .rp-shop-archive .rp-shop-breadcrumb .woocommerce-breadcrumb a:not(:hover):not(:focus-visible) {
    color: var(--rp-theme-general-link, #007f62) !important;
}

html body.rp-theme-color-system.woocommerce-cart .rp-cart-page-clear-all,
html body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form .rp-cart-table-qty-stepper {
    background-color: var(--rp-theme-forms-background, var(--rp-theme-general-surface, #f7f7f6)) !important;
}

html body.rp-theme-color-system.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
html body.rp-theme-color-system.single-product .single_add_to_cart_button,
html body.rp-theme-color-system.single-product .rp-product-tabs-nav a.is-active {
    background-color: var(--rp-theme-general-accent, #fd314a) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
}

html body.rp-theme-color-system.single-product .variations td.value select,
html body.rp-theme-color-system.single-product .rp-grouped-product-row select {
    background-color: var(--rp-theme-forms-background, var(--rp-theme-general-surface, #f7f7f6)) !important;
    color: var(--rp-theme-forms-text, var(--rp-theme-general-heading, #111111)) !important;
}

html body.rp-theme-color-system.single-product .rp-product-review-items > li,
html body.rp-theme-color-system.single-product .rp-product-review-items > li.review {
    background-color: var(--rp-theme-general-background, #ffffff) !important;
}

html body.rp-theme-color-system.single-post .rp-blog-single-sidebar .rp-blog-sidebar-section,
html body.rp-theme-color-system.single-post .rp-blog-comments .rp-product-reviews-list,
html body.rp-theme-color-system.single-post .rp-blog-comments .rp-product-review-form,
html body.rp-theme-color-system.single-post .rp-blog-comment-items > li,
html body.rp-theme-color-system.single-post .rp-blog-comment-form textarea,
html body.rp-theme-color-system.single-post .post-navigation .nav-links a {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

html body.rp-theme-color-system.single-post a.rp-blog-single-category {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

html body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-quantity .rp-cart-table-qty-stepper {
    background-color: var(--rp-theme-forms-background, var(--rp-theme-general-surface, #f7f7f6)) !important;
}

html body.rp-theme-color-system.woocommerce-checkout :is(
    .rp-checkout-products-carousel,
    .rp-checkout-products-slide,
    .rp-checkout-shipping-methods-card,
    .rp-checkout-payable-card,
    .rp-checkout-coupon-section
) {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

html body.rp-theme-color-system.woocommerce-checkout .rp-checkout-coupon-controls input {
    background-color: var(--rp-theme-forms-background, var(--rp-theme-general-surface, #f7f7f6)) !important;
}
/* Coupon outline belongs to the active dark foundation, including legacy mode markers. */
html body:is(.rp-theme-color-preset-dark, .rp-theme-dark, .is-dark).woocommerce-checkout .rp-checkout-coupon-controls input#rp-checkout-coupon-code,
html:is([data-rp-user-theme="dark"], [data-rp-theme-mode="dark"], [data-theme="dark"]) body.woocommerce-checkout .rp-checkout-coupon-controls input#rp-checkout-coupon-code {
    border: 1px solid var(--rp-theme-general-border, #303640) !important;
    box-shadow: none !important;
    outline-color: var(--rp-theme-general-border, #303640) !important;
}

html body.rp-theme-color-system.single-product .rp-grouped-product-choices .rp-grouped-product-row,
html body.rp-theme-color-system.single-product .rp-grouped-product-row .rp-grouped-product-quantity,
html body.rp-theme-color-system.single-product .rp-single-variation-choice-list .rp-single-variation-choice {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

html body.rp-theme-color-system.single-product .rp-single-variation-choice-list .rp-single-variation-choice.has-color.is-active {
    background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
}

/* Variation names follow the selected Light/Dark text foundation. */
html body.rp-theme-color-system.single-product .rp-single-variation-choice-list .rp-single-variation-choice .rp-single-variation-choice-label {
    color: var(--rp-theme-general-text, var(--rp-text)) !important;
    -webkit-text-fill-color: var(--rp-theme-general-text, var(--rp-text)) !important;
}

html body.rp-theme-color-system {
    --rp-qty-surface: var(--rp-theme-forms-background, var(--rp-theme-general-surface, #f7f7f6));
    --rp-qty-button-surface: var(--rp-theme-general-surface-alt, #f1f0ef);
    --rp-qty-border: var(--rp-theme-general-border, #e6e6e3);
    --rp-qty-text: var(--rp-theme-general-heading, #111111);
    --rp-qty-muted: var(--rp-theme-general-muted, #74777a);
}

html body.rp-theme-color-system.single-product .rp-product-buybox .rp-product-buybox-card .rp-grouped-stock-notice.stock.out-of-stock {
    color: var(--rp-theme-general-heading, #111111) !important;
}

@media (max-width: 900px) {
    html body.rp-theme-color-system .rp-shop-archive .rp-shop-filter-sidebar {
        background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    }

    html body.rp-theme-color-system.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity .quantity {
        background-color: var(--rp-theme-forms-background, var(--rp-theme-general-surface, #f7f7f6)) !important;
    }

    html body.rp-theme-color-system.single-product .rp-single-product-page :is(
        .rp-product-lower-grid,
        .rp-product-main-details,
        .rp-product-side-recommend
    ) {
        background-color: var(--rp-theme-general-background, #ffffff) !important;
    }

    html body.rp-theme-color-system.blog .rp-blog-home .rp-blog-archive-strip > .rp-blog-strip-all--bottom.rp-blog-strip-all--mobile {
        background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
    }

}

/* Product copy in the real Dark preset must follow the editable text/heading
   foundation. Legacy #fff overrides made these elements appear unconnected. */
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-product :is(
    .rp-product-breadcrumb,
    .rp-product-breadcrumb .woocommerce-breadcrumb,
    .rp-product-breadcrumb .woocommerce-breadcrumb :is(a, span, .breadcrumb_last),
    .rp-product-sku-value,
    .rp-product-section-title > span,
    .rp-single-variation-choice-title,
    .variations th.label label,
    .rp-product-description h2,
    .rp-product-description h3,
    .rp-term-visual-card-head strong,
    .rp-term-visual-group-title h3,
    .rp-buybox-price-final .amount,
    .rp-buybox-price-currency,
    .rp-mobile-product-sticky-price-content bdi
) {
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

html body.rp-theme-color-system.rp-theme-color-preset-dark.single-product :is(
    .rp-product-description,
    .rp-product-description p,
    .rp-product-description li,
    .rp-product-description a,
    .rp-term-visual-name,
    .rp-product-review-items .woocommerce-review__author,
    .rp-product-review-items .woocommerce-review__dash,
    .rp-product-review-items .woocommerce-review__published-date,
    .rp-product-review-items .rp-mobile-comment-copy__content p
) {
    color: var(--rp-theme-general-text, #d7dbe2) !important;
}

/* The blog landing Dark preset used fixed white and canvas colors for its
   shared headings and category pills; keep card-specific colors independent. */
html body.rp-theme-color-system.rp-theme-color-preset-dark.blog .rp-blog-home :is(
    .rp-blog-breadcrumb a,
    .rp-blog-carousel-title
) {
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

html body.rp-theme-color-system.rp-theme-color-preset-dark.blog .rp-blog-home > .rp-blog-archive-strip.is-carousel .rp-blog-archive-pills > a {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
}

html body.rp-theme-color-system.rp-theme-color-preset-dark.blog .rp-blog-home > .rp-blog-archive-strip.is-carousel > .rp-blog-strip-head h2,
html body.rp-theme-color-system.rp-theme-color-preset-dark.blog .rp-blog-home > .rp-blog-archive-strip.is-carousel .rp-blog-archive-pills > a > strong {
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

/* Shared single-article copy and comment panels follow the Dark palette;
   article media and bespoke recommendation cards keep their own design. */
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-post .rp-blog-single-page :is(
    .rp-blog-breadcrumb a,
    .rp-blog-comment-jump,
    .rp-blog-single-title,
    .rp-blog-single-author-name,
    .rp-blog-article-content h2,
    .rp-blog-article-content h3,
    .post-navigation :is(span, strong),
    .rp-blog-comments-title,
    .rp-blog-sidebar-title,
    .rp-blog-toc a,
    .rp-blog-sidebar-post strong
) {
    color: var(--rp-theme-general-heading, #ffffff) !important;
}

html body.rp-theme-color-system.rp-theme-color-preset-dark.single-post .rp-blog-single-page :is(
    .rp-blog-meta-item,
    .rp-blog-comment-meta .woocommerce-review__author,
    .rp-blog-comment-meta .woocommerce-review__dash,
    .rp-blog-comment-meta .woocommerce-review__published-date,
    .rp-blog-comment-description p,
    .rp-blog-comment-form p
) {
    color: var(--rp-theme-general-text, #d7dbe2) !important;
}

html body.rp-theme-color-system.rp-theme-color-preset-dark.single-post .rp-blog-comments,
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-post .rp-blog-comments .rp-product-reviews-list,
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-post .rp-blog-comments .rp-blog-comment-items > li,
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-post .rp-blog-comments .rp-product-review-form {
    background-color: var(--rp-theme-general-background, #0f1115) !important;
}

/* Order confirmation uses the same theme surfaces and text tokens as checkout. */
html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-card {
    background: var(--rp-theme-general-surface, #fff) !important;
    border-color: var(--rp-theme-general-border, #dce2e8) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
}

html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-card h1,
html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-summary-item strong,
html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-payment-method strong,
html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-card .rp-thankyou-order-total :is(.amount, bdi) {
    color: var(--rp-theme-general-heading, #111820) !important;
}

html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-card :is(.rp-thankyou-message, .rp-thankyou-wc-extra) {
    color: var(--rp-theme-general-text, #343a40) !important;
}

html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-card :is(.rp-thankyou-summary-item, .rp-thankyou-tracking-item) {
    border-color: var(--rp-theme-general-border, #dce2e8) !important;
    background-color: transparent !important;
}

html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-card :is(
    .rp-thankyou-summary-item span,
    .rp-thankyou-tracking-item span,
    .rp-thankyou-payment-method span,
    .rp-thankyou-order-total .woocommerce-Price-currencySymbol
) {
    color: var(--rp-theme-general-muted, #74777a) !important;
}

html body.rp-theme-color-system.woocommerce-order-received .rp-thankyou-order-total :is(.amount, bdi) {
    color: var(--rp-theme-general-heading, #111820) !important;
}

html body.rp-theme-color-system.rp-theme-color-preset-dark.woocommerce-order-received .rp-thankyou-visual img {
    filter: invert(1);
}

/* Footer contact pills use the active theme accent in every preset on hover. */
body:not(.wp-admin) .rp-footer-contact-buttons a:is(:hover, :focus-visible) {
    background-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    color: var(--rp-theme-general-on-accent, #ffffff) !important;
    box-shadow: 0 8px 20px color-mix(in srgb, var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) 24%, transparent) !important;
}

/* Keep the header dashboard glyph on the shared accent, above preset-specific icon colors. */
/* All storefront field focus indicators follow the active Light/Dark accent. */
/* Disabled fields stay dark rather than gaining a light disabled fill. */
/* Required markers have a fixed semantic red in both theme modes. */
html body[class]:not(.wp-admin) label :is(.required, .elementor-required, .gfield_required, .wpforms-required-label, .rp-required),
html body[class]:not(.wp-admin) .gfield_label .gfield_required,
html body[class]:not(.wp-admin) .wpforms-field-label .wpforms-required-label {
    color: #ff4949 !important;
    -webkit-text-fill-color: #ff4949 !important;
}

html body.rp-theme-color-preset-dark.woocommerce-checkout form.checkout #customer_details :is(input, select, textarea):is(:disabled, [readonly]),
html:is([data-rp-user-theme="dark"], [data-rp-theme-mode="dark"]) body.woocommerce-checkout form.checkout #customer_details :is(input, select, textarea):is(:disabled, [readonly]) {
    background-color: var(--rp-theme-general-background, var(--rp-bg)) !important;
    background-image: none !important;
    border-color: var(--rp-theme-general-border, #303640) !important;
    color: var(--rp-theme-general-text, #e5e7eb) !important;
    -webkit-text-fill-color: var(--rp-theme-general-text, #e5e7eb) !important;
    opacity: 1 !important;
}

html[data-rp-user-theme="dark"] body[class]:not(.wp-admin) :is(input, select, textarea):disabled,
html[data-rp-user-theme="dark"] body[class]:not(.wp-admin) :is(input, textarea)[readonly],
html[data-rp-user-theme="dark"] body[class]:not(.wp-admin) .select2-container--disabled .select2-selection {
    background-color: var(--rp-theme-general-background, var(--rp-bg)) !important;
    background-image: none !important;
    opacity: 1 !important;
}

html body[class]:not(.wp-admin) :is(input:not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]), select, textarea):focus:not([aria-invalid="true"]),
html body[class]:not(.wp-admin) :is(.select2-container--focus, .select2-container--open) .select2-selection:not([aria-invalid="true"]),
html body[class]:not(.wp-admin) [contenteditable="true"]:focus {
    border-color: var(--rp-theme-general-accent, var(--rp-accent)) !important;
    outline: 2px solid var(--rp-theme-general-accent, var(--rp-accent)) !important;
    outline-offset: 1px !important;
    box-shadow: none !important;
}

html body.rp-theme .rp-account-pill:is(:hover, :focus-visible) .rp-account-pill-icon {
    color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    background-color: currentColor !important;
}
/* Shared storefront toast surfaces follow the persisted dark palette. */
html[data-rp-user-theme="dark"] body[class]:not(.wp-admin) :is(
    .rp-account-toast,
    .rp-mobile-cart-toast,
    .rp-wc-notice-modal__box,
    .rp-wc-notice-toast__box,
    .rp-product-option-required-toast__box,
    .rp-product-option-required-toast .rp-product-option-required-modal__box
) {
    background: var(--rp-theme-general-background, var(--rp-bg)) !important;
    border-color: var(--rp-theme-general-border, var(--rp-border)) !important;
    color: var(--rp-theme-general-text, var(--rp-text)) !important;
}

html[data-rp-user-theme="dark"] body[class]:not(.wp-admin) :is(
    .rp-account-toast__message,
    .rp-account-toast__close,
    .rp-mobile-cart-toast,
    .rp-wc-notice-modal__content,
    .rp-wc-notice-toast__content,
    .rp-wc-notice-modal__close,
    .rp-wc-notice-toast__close,
    .rp-product-option-required-toast__message,
    .rp-product-option-required-toast__close,
    .rp-product-option-required-toast .rp-product-option-required-modal__message,
    .rp-product-option-required-toast .rp-product-option-required-modal__close
),
html[data-rp-user-theme="dark"] body[class]:not(.wp-admin) :is(
    .rp-wc-notice-modal__content,
    .rp-wc-notice-toast__content,
    .rp-account-toast__message
) * {
    color: var(--rp-theme-general-text, var(--rp-text)) !important;
    -webkit-text-fill-color: var(--rp-theme-general-text, var(--rp-text)) !important;
}
/* One inset contract for native and Select2 single-choice dropdown arrows. */
html body[class]:not(.wp-admin) select:not([multiple]):not([size]),
html body[class]:not(.wp-admin) select[size="1"]:not([multiple]) {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding-inline-end: 34px !important;
    background-image: linear-gradient(45deg, transparent 50%, var(--rp-theme-general-text, var(--rp-text)) 50%),
        linear-gradient(135deg, var(--rp-theme-general-text, var(--rp-text)) 50%, transparent 50%) !important;
    background-size: 5px 5px, 5px 5px !important;
    background-repeat: no-repeat !important;
    background-position: right 17px center, right 12px center !important;
}
html body[class]:not(.wp-admin) select:not([multiple]):not([size]):dir(rtl),
html body[class]:not(.wp-admin) select[size="1"]:not([multiple]):dir(rtl) {
    background-position: left 12px center, left 17px center !important;
}
html body[class]:not(.wp-admin) .select2-container .select2-selection--single .select2-selection__arrow {
    left: auto !important;
    right: auto !important;
    inset-inline-end: 12px !important;
    width: 10px !important;
}
html body[class]:not(.wp-admin) .select2-container .select2-selection--single .select2-selection__rendered {
    padding-inline-end: 34px !important;
}
@media (forced-colors: active) {
    html body[class]:not(.wp-admin) select:not([multiple]) {
        appearance: auto !important;
        -webkit-appearance: auto !important;
        background-image: none !important;
    }
}
/* Before-discount amounts are semantic red, independent of Light/Dark heading colors. */
html body.rp-theme.single-product .rp-buybox-selected-price-row > .rp-buybox-price-before,
html body.rp-theme.single-product .rp-buybox-selected-price-row > .rp-buybox-price-before :is(.amount, .woocommerce-Price-amount, bdi),
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-price-content .rp-buybox-selected-price-row > .rp-buybox-price-before,
html body.rp-theme-color-system.rp-theme-color-preset-dark.single-product .rp-mobile-product-sticky-price-content .rp-buybox-selected-price-row > .rp-buybox-price-before :is(.amount, .woocommerce-Price-amount, bdi) {
    color: #ff3535 !important;
    text-decoration-color: #ff3535 !important;
}

/* Outer gallery surface is deliberately transparent; image frame remains configurable. */
html body.single-product.rp-theme .rp-single-product-page .rp-product-gallery-col {
    background: transparent !important;
}

/* wc private Coming Soon notice follows the active theme foundations. */
body.rp-theme #coming-soon-footer-banner {
    background: var(--rp-theme-general-surface, #fff) !important;
    color: var(--rp-theme-general-text, #343a40) !important;
    border-color: var(--rp-theme-general-border, #dde3e9) !important;
}
body.rp-theme #coming-soon-footer-banner a {
    color: var(--rp-theme-general-accent, #2271b1) !important;
}
@media (max-width: 768px) {
    body.rp-theme:has(.rp-footer-mobile-links.rp-mobile-bottom-bar) #coming-soon-footer-banner {
        bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* Schema 4: comment container chrome shares the general palette in both modes. */
html body.rp-theme-color-system.single-post .rp-blog-comment-form,
html body.rp-theme-color-system.single-post .rp-blog-comment-items li {
    color: var(--rp-theme-general-text) !important;
    border-color: var(--rp-theme-general-border) !important;
}

/* Disabled purchase controls keep their dedicated foreground and surface. */
html body.rp-theme-color-system.single-product :is(
    .single_add_to_cart_button,
    .rp-product-add-to-cart,
    .rp-sticky-add-to-cart-button,
    .rp-mobile-product-sticky-cart-btn
):is(:disabled, [disabled], .disabled, [aria-disabled="true"]) {
    background-color: var(--rp-theme-forms-disabled) !important;
    color: var(--rp-theme-forms-disabled-text) !important;
    -webkit-text-fill-color: var(--rp-theme-forms-disabled-text) !important;
}
/* Stable text-field geometry: focus changes color, never border thickness. */
html body[class]:not(.wp-admin) .select2-container .select2-selection.select2-selection {
    box-sizing: border-box !important;
    border-width: 1px !important;
}
html body[class]:not(.wp-admin) :is(.select2-container--focus, .select2-container--open) .select2-selection.select2-selection:not([aria-invalid="true"]) {
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    outline: none !important;
    box-shadow: none !important;
}
html body[class]:not(.wp-admin) :is(input:not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]), select, textarea) {
    box-sizing: border-box !important;
    border-width: 1px !important;
}
html body[class]:not(.wp-admin) :is(input:not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]), select, textarea):is(:focus, :focus-visible):not([aria-invalid="true"]) {
    border-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a)) !important;
    outline: none !important;
    box-shadow: none !important;
}
