/* Shared semantic component contract, independent of occasion/preset. */
/* Surfaces and foregrounds always use the same resolved page palette. */
body .main-header{background:var(--header-bg,var(--color-surface))!important;background-image:none!important;backdrop-filter:none}
body .header-primary{background:transparent;background-image:none}
body :is(.product-view,.product-summary,.product-content,.product-tab-pane,.product-tab-content,.product-tabs-content,.product-policy-panel,.desktop-buy-box,.mobile-variant-sheet>section,.product-policy-dialog,.product-policy-dialog header){background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
body :is(.product-feature-highlights,.product-preparation-time,.product-note,.product-summary .product-subtitle,.product-tabs,.variant-group,.product-policy-methods li,.product-policy-note,.free-shipping-progress,.mobile-variant-trigger,.variant-sheet-option){background:var(--color-surface-soft);background-image:none;color:var(--color-text);border-color:var(--color-border)}
body :is(.product-summary h1,.product-summary h2,.product-feature-highlights h3,.product-feature-highlights h4,.product-policy-copy strong,.product-policy-copy b,.product-policy-dialog h2,.mobile-variant-trigger b,.product-tab-pane h2,.product-tab-pane h3,.product-price strong){color:var(--color-heading)}
body :is(.product-feature-highlights li,.product-policy-content,.product-policy-methods small,.product-tab-pane p,.product-tab-pane li,.product-policy-copy small,.product-preparation-time,.product-note,.product-subtitle,.desktop-buy-shipping,.shipping-progress-copy span){color:var(--color-text)}
body .product-tabs button{color:var(--color-text);background:transparent;border-color:var(--color-border)}
body .product-tabs button.active{color:var(--color-action-text);background:var(--color-action);border-color:var(--color-action)}
body .product-card{background:var(--color-surface)!important;border-color:var(--color-border)!important}
body .product-card .product-info{background:var(--color-surface);color:var(--color-text)}
body .product-card .product-info h3{color:var(--color-heading)!important}
body .product-card .price-line strong{color:var(--color-heading)!important}
body .product-gallery{background:var(--color-surface);border-color:var(--color-border)}
body :is(.main-product-image,.gallery-thumb,.product-card .image){background:var(--color-image-canvas)!important}
body :is(.feature-highlights-more,.product-policy-icon,.product-policy-chevron,.product-brand,.product-policy-dialog header small){color:var(--color-link)}
body .joylux-footer h2{color:var(--color-heading)}
body .joylux-footer p{color:var(--color-text)}
body .joylux-footer__hours{color:var(--color-muted)!important}
body :is(.joylux-footer__copyright,.joylux-footer__links nav a){color:var(--color-text)}
body .joylux-footer__follow{background:var(--color-surface-soft);border-color:var(--color-border)}
body .global-search>i{background:transparent;color:var(--color-link)}

body .feature-highlights-more{background:transparent!important;color:var(--color-link)!important;border-color:var(--color-border)}

body .mobile-purchase-bar{background:var(--color-surface);background-image:none;color:var(--color-text);border-color:var(--color-border)}

body .mobile-purchase-bar strong{color:var(--color-heading)}

body .mobile-purchase-bar small{color:var(--color-muted)}

body .mobile-purchase-bar button{background:var(--color-action);color:var(--color-action-text);border-color:var(--color-border)}

body[data-theme-tone=dark] .main-logo img{filter:brightness(0) invert(1)}

body .product-policy-panel button{background:var(--color-surface);color:var(--color-text)}

body .product-summary .product-feature-highlights .feature-highlights-more{background:transparent!important;background-image:none!important;color:var(--color-link)!important}

/* Shared palette contract for product, category, tag, search and brand pages. */
body{background-color:var(--color-page);color:var(--color-text)}
body :is(.product-page,.listing-page,.brands-page){background-color:transparent;color:var(--color-text)}
body :is(.product-information-tabs,.filters-panel,.brand-hero,.brand-rating,.brand-category-chips a,.brand-filter,.brand-item,.subcategory-showcase a,.subcategory-showcase b,.category-seo-description,.taxonomy-seo-description,.listing-toolbar,.feature-card,.search-results){background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}
body :is(.brand-hero-content>p,.brand-facts,.filter-section,.filter-head,.sort-tabs,.sort-tabs button,.brand-item>b,.subcategory-showcase b){color:var(--color-text)}
body :is(.listing-page input,.listing-page select,.brand-filter input,.price-filter-grid label>div,.availability-filter select){background:var(--color-surface-soft);color:var(--color-text);border-color:var(--color-border)}
body :is(.sort-tabs button.active,.sort-tabs button[aria-selected=true]){background:var(--color-action);color:var(--color-action-text);border-color:var(--color-action)}
body :is(.brand-hero-logo,.brand-item .image,.subcategory-showcase a>span){background:var(--color-image-canvas);border-color:var(--color-border)}
body .product-gallery{background:var(--color-surface);border-color:var(--color-border)}
body .product-information-tabs .product-tabs{background:var(--color-surface-soft);border-color:var(--color-border)}
body .product-card .sale-badge{background:var(--color-action)!important;color:var(--color-action-text)}
body .product-card .old-price{color:var(--color-muted)!important}
body .product-card.is-out-of-stock .out-stock{color:var(--color-muted)}
/* Search is an input surface, visually distinct even when header/card colours match. */
body .main-header .global-search{background:var(--search-bg,var(--color-surface-soft));border:1px solid var(--search-border,var(--color-border));color:var(--search-text,var(--color-text))}
body .main-header .global-search:focus-within{background:var(--search-bg,var(--color-surface-soft));border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent)}
body .main-header .global-search input{background:transparent;color:var(--search-text,var(--color-text))}
body .main-header .global-search input::placeholder{color:var(--search-text,var(--color-text));opacity:.8}

/* Header and basket count are independent editable foreground/background pairs. */
body .main-header :is(.header-actions>a,.header-actions>a>i,.mobile-menu-toggle,.mobile-menu-toggle i){color:var(--header-text,var(--color-heading))}
body .main-header .cart-count{background:var(--cart-badge-bg,var(--color-danger));color:var(--cart-badge-text,#fff);border-color:var(--header-bg,var(--color-surface));font-weight:800;font-size:10px;line-height:1;min-width:19px;width:auto;height:19px;padding:0 4px;display:inline-grid;place-items:center;flex-shrink:0}
body .main-header .cart-count[hidden]{display:none!important}

body .main-header .global-search>i{color:var(--search-text,var(--color-text))}
