/*
 * 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.
 */

/* 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:hover > a {
    color: var(--rp-theme-general-accent, #00c99b) !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, .rp-back-to-top):is(:hover, :focus-visible) {
    background: var(--rp-theme-general-accent, #00c99b) !important;
    border-color: var(--rp-theme-general-accent, #00c99b) !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, #00c99b) !important;
}

body.rp-theme-color-system .rp-account-pill:is(:hover, :focus-visible) .rp-account-pill-icon {
    color: var(--rp-theme-header-accent-hover, var(--rp-theme-general-accent, #00c99b)) !important;
}

/* Single-post actions share the active accent in every preset. */
html body.single-post.rp-theme a:is(.rp-blog-single-category, .rp-blog-sidebar-shop-button) {
    background: var(--rp-theme-general-accent, #00c99b) !important;
    border-color: var(--rp-theme-general-accent, #00c99b) !important;
    color: var(--rp-theme-general-on-accent, #fff) !important;
}
html body.single-post.rp-theme a:is(.rp-blog-single-category, .rp-blog-sidebar-shop-button):is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--rp-theme-general-accent, #00c99b) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--rp-theme-general-accent, #00c99b) 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, #00c99b) !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, #00c99b)) !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, #00c99b)) !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):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, #00c99b) !important;
}
html body.rp-theme:not(.wp-admin) .rp-shop-archive input:is([type="checkbox"], [type="radio"]) {
    accent-color: var(--rp-theme-general-accent, #00c99b);
}
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, #00c99b) !important;
    border-color: var(--rp-theme-general-accent, #00c99b) !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, #00c99b) !important;
    outline-color: var(--rp-theme-general-accent, #00c99b) !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, #00c99b)) !important;
}

/* General canvas and direct editorial content. */
body.rp-theme-color-system:not(.wp-admin) {
    --rp-accent: var(--rp-theme-general-accent, #00c99b);
    --rp-theme-general-accent-hover: var(--rp-theme-general-accent, #00c99b) !important;
    --rp-theme-header-accent-hover: var(--rp-theme-general-accent, #00c99b) !important;
    --rp-theme-footer-accent-hover: var(--rp-theme-general-accent, #00c99b) !important;
    --rp-theme-mobile-menu-accent-hover: var(--rp-theme-general-accent, #00c99b) !important;
    --rp-theme-forms-button-hover: var(--rp-theme-general-accent, #00c99b) !important;
    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, #00c99b) !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, #00c99b) !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;
}

body.rp-theme-color-system :is(
    .rp-shop-filter-panel,
    .rp-shop-filter-card,
    .rp-shop-category-carousel,
    .rp-shop-quick-note,
    .rp-shop-filter-empty-results,
    .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 .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, #00c99b) !important;
    border-color: var(--rp-theme-general-accent, #00c99b) !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, #00c99b) !important;
    border-color: var(--rp-theme-general-accent, #00c99b) !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, #00c99b) !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, #00c99b) !important;
}

body.rp-theme-color-system.woocommerce-cart .rp-checkout-step-arrow {
    background-color: var(--rp-theme-general-heading, #111111) !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, #00c99b) !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, #00c99b) !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;
}

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, #00c99b) !important;
}

body.rp-theme-color-system.woocommerce-account :is(.rp-account-summary-head, .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 :is(
        .rp-product-gallery-col,
        .rp-product-summary-col,
        .rp-product-buybox
    ) {
        background-color: var(--rp-theme-general-surface, #f7f7f6) !important;
        border-color: var(--rp-theme-general-border, #e6e6e3) !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;
}

body.rp-theme-color-system.rp-is-scrolled .rp-header,
body.rp-theme-color-system.rp-header-sticky-enabled.rp-is-scrolled .rp-header {
    background-color: var(--rp-theme-header-background, #f7f7f6) !important;
    border-bottom-color: var(--rp-theme-header-border, #e6e6e3) !important;
    box-shadow: 0 10px 26px rgb(17 17 17 / 7%) !important;
    box-shadow: 0 10px 26px color-mix(in srgb, var(--rp-theme-header-heading, #111111) 7%, transparent) !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:hover > a,
body.rp-theme-color-system .rp-header-menu-sticky .rp-main-menu .menu-item-has-children: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: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, #00c99b) !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, #00c99b) !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;
}

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, #00c99b) !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, #00c99b) !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, #00c99b) !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, #00c99b) !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, #00c99b) !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, #00c99b) 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, #00c99b) !important;
    border-color: var(--rp-theme-general-accent, #00c99b) !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, #00c99b) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--rp-theme-general-accent, #00c99b) 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;
}

body.rp-theme-color-system .rp-back-to-top:is(:hover, :focus-visible) {
    background-color: var(--rp-theme-footer-accent, #00c99b) !important;
    color: var(--rp-theme-footer-on-accent, #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="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 {
    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
) {
    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, 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, #00c99b) !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, #00c99b) 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-price-actions a,
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-product-review-form .form-submit .submit {
    background-color: var(--rp-theme-forms-button, #00c99b) !important;
    border-color: var(--rp-theme-forms-button, #00c99b) !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-price-actions a: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-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, #00c99b) !important;
}

body.rp-theme-color-preset-dark .rp-back-to-top {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #111820 !important;
}

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: #111820 !important;
}

body.rp-theme-color-preset-dark .rp-cart-sidebar-close,
body.rp-theme-color-preset-dark .rp-cart-sidebar-close span {
    color: #ffffff !important;
}

body.rp-theme-color-preset-dark .rp-cart-sidebar-total > span {
    color: #c6cbd1 !important;
}

body.rp-theme-color-preset-dark .rp-shop-archive .rp-shop-quick-note {
    background: transparent !important;
    color: #ffffff !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: #111820 !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: #e5e7eb !important;
    background-color: color-mix(
        in srgb,
        var(--rp-theme-general-heading, #ffffff) 88%,
        var(--rp-theme-general-background, #0f1115)
    ) !important;
    color: #111820 !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: #111820 !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.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;
}

/* WooCommerce paints cart/checkout refresh overlays inline in white. */
body.rp-theme-color-preset-dark:is(.woocommerce-cart, .woocommerce-checkout) :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, #00c99b) !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;
}

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-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: #303540 !important;
    background-color: #303540 !important;
    border-color: #303540 !important;
    color: #ffffff !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: #ffffff !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: #ffffff !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: #ffffff !important;
    opacity: .72 !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;
}

/* 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: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !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: rgba(0, 0, 0, .34) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !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: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !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: rgba(0, 0, 0, .34) !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: #111820 !important;
    -webkit-text-fill-color: #111820 !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: #fff !important;
}

body.rp-theme-color-system.single-product :is(
    .rp-product-summary-variation-choices,
    .rp-product-summary-meta,
    .rp-product-service-strip
) {
    border-color: #303640 !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: #303640 !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: #303640 !important;
}

body.rp-theme-color-system.single-product .rp-product-service-item b {
    color: #aeb6c0 !important;
}

body.rp-theme-color-preset-dark.rp-theme-color-system.single-product .rp-single-product-page .rp-product-service-item > b {
    color: #aeb6c0 !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: #fff !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: #fff !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
    ) {
        color: #111820 !important;
        -webkit-text-fill-color: #111820 !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: #111820 !important;
        -webkit-text-fill-color: #111820 !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: #fff !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 {
    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__eyebrow {
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(255, 122, 26, .12);
    color: #e86400;
    font-size: 11px;
    font-weight: 700;
}

.rp-theme-mode-transition__title {
    font-size: 21px;
    font-weight: 800;
    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: linear-gradient(90deg, #ff9a3d, #ff6a00);
    box-shadow: 0 0 18px rgba(255, 106, 0, .36);
    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;
}

@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; }
}
