/* Shared white surfaces and a single type family. Navy actions stay intentional. */
/* Base surfaces also apply with the optional design-refresh layer disabled.
   Never paint all descendants: photos, swatches and semantic states keep color. */
html:root,html:root body { background:#fff; }
html:root body #content.site-main { background:#fff; }
body :is(.rs-surface-paper,.rs-surface-light,.rs-surface-stone,.rs-surface-mist) { --rs-section-surface:#fff; background:#fff; }
body :is(.rsh-inner-hero,.rsh-contact-heading,.rsh-account-hero,.rsh-commerce-head,.rsh-local-titlebar,.rsh-related-products,.rsh-single-post > .rsh-inner-cta) { background:#fff; }
body :is(.rsh-breadcrumbs-band,.rsh-breadcrumbs-band--integrated,.rsh-breadcrumbs,.woocommerce-breadcrumb) { background:transparent; border:0; box-shadow:none; }
body .rsh-product-gallery__stage { background:#fff; }
body.rsh-design-refresh .site-main { font-family:var(--rs-font-ui); color:var(--rs-ink); }
body.rsh-design-refresh .site-main :is(input,select,textarea,button) { font-family:var(--rs-font-ui); }

/* One inner-page heading scale; the photographic homepage retains its hero size. */
body.rsh-design-refresh :is(.rsh-information-header,.rsh-inner-hero,.rsh-contact-heading,.rsh-account-hero,.rsh-commerce-head,.rsh-blog-hero,.rsh-post-header,.rsh-instructions-heading,.rsh-local-titlebar,.rs-about-header,.rsh-local-hero,.rsh-landing-hero-copy,.rsh-category-header,.rsh-error-page) h1 { font-family:var(--rs-font-ui); font-size:clamp(2rem,3.5vw,2.75rem); font-weight:500; line-height:1.15; letter-spacing:-.04em; }
body.rsh-design-refresh :is(.rs-about-lead,.rsh-blog-lead,.rsh-archive-description,.rsh-local-hero__lead,.rsh-category-header__lead),
body.rsh-design-refresh .rsh-instructions-heading p:not(.rsh-eyebrow) { color:var(--rs-prose); font-size:1rem; line-height:1.65; }
body.rsh-design-refresh :is(.rsh-prose,.rsh-article-content,.rsh-information-body,.rsh-instruction-detail__copy) { color:var(--rs-prose); font-size:1rem; line-height:1.65; }
body.rsh-design-refresh :is(.rsh-prose,.rsh-article-content,.rsh-information-body,.rsh-instruction-detail__copy) :is(p,li) { font-size:1rem; line-height:1.65; }
body.rsh-design-refresh :is(.rsh-article-content,.rsh-information-body) :is(h2,h3,h4) { color:var(--rs-navy); font-family:var(--rs-font-ui); font-weight:500; line-height:1.25; }
body.rsh-design-refresh :is(.rsh-article-content,.rsh-information-body) h2 { font-size:clamp(1.4rem,2.2vw,1.875rem); }
body.rsh-design-refresh :is(.rsh-article-content,.rsh-information-body) h3 { font-size:1.25rem; }
body.rsh-design-refresh .rsh-article-content > :first-child { margin-top:0; }
body.rsh-design-refresh .rsh-article-content .rsh-post-author h2 { font-size:1.25rem; }

/* White cards remain recognizable through their own edge and quiet elevation. */
body.rsh-design-refresh :is(.rsh-information-content,.rsh-article-toc,.rsh-article-aside .rsh-help-card,.rsh-home-journal__card,.rsh-testimonial,.rsh-guide-card) { border-color:var(--rs-line); border-radius:var(--rs-card-radius); background:var(--rs-light); box-shadow:var(--rs-card-shadow); }
body.rsh-design-refresh .rsh-article-content blockquote { border:1px solid var(--rs-line); border-left:3px solid var(--rs-blue); border-radius:8px; background:var(--rs-light); font:inherit; }
body.rsh-design-refresh .rsh-article-aside { top:calc(var(--rs-sticky-offset,176px) + 20px); }

/* Contact: dark contact details, a separate white form, explicit field edges. */
body.rsh-design-refresh .rsh-contact-editorial { gap:clamp(24px,3vw,40px); }
body .rsh-contact-card { border:1px solid var(--rs-navy); border-radius:12px; box-shadow:var(--rs-card-shadow); }
body .rsh-contact-card .rsh-button--secondary { border-color:rgba(255,255,255,.65); background:transparent; color:#fff; }
body .rsh-contact-card .rsh-button--secondary:is(:hover,:focus-visible) { border-color:#fff; background:#fff; color:var(--rs-navy); }
body.rsh-design-refresh .rsh-contact-card h2 { font-family:var(--rs-font-ui); font-size:clamp(1.5rem,2.2vw,2rem); font-weight:500; line-height:1.2; }
body .rsh-contact-form { padding:clamp(22px,3vw,32px); border:1px solid var(--rs-line); border-top:3px solid var(--rs-blue); border-radius:12px; background:var(--rs-light); box-shadow:var(--rs-card-shadow); }
body.rsh-design-refresh .rsh-contact-form > h2 { margin-bottom:20px; color:var(--rs-navy); font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.2; }
body .rsh-contact-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) { border-color:var(--rs-border-strong); background:var(--rs-light); }
body .rsh-form-fallback { border:1px dashed var(--rs-border-strong); background:var(--rs-paper); }
body.rsh-design-refresh .rsh-hero-slide--contain .rsh-hero-slide__media,
body.rsh-design-refresh .rs-seo-lead > :where(.wp-block-image,.wp-block-cover):has(img) { background:var(--rs-paper); }
body.rsh-design-refresh .rs-seo-lead__eyebrow { background:#f5f5f5; color:var(--rs-blue); }
body.rsh-design-refresh .rsh-instruction-dialog__download { border-color:var(--rs-line); background:var(--rs-light); }

/* Replace old blue utility panels, retaining selected/error/success states. */
body .rsh-account-shell.is-guest #customer_login .roletyshop-legal-consent,
body .rsh-checkout :is(.rsh-invoice-toggle,p.create-account),
body .rsh-checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required,
body.single-product #reviews .roletyshop-legal-consent,
body.single-product .rsh-product-reviews .roletyshop-review-verification-note,
body .rsh-cart-account-note { border-color:var(--rs-line); background:var(--rs-light); }
body.rsh-design-refresh .rsh-account-shell .woocommerce-orders-table tbody tr:hover td { background:#f5f5f5; }
body.rsh-design-refresh .woocommerce-MyAccount-content mark { background:transparent; color:var(--rs-navy); font-weight:600; }
body .rsh-blog-search input[type="search"],
body .rsh-instruction-detail .rsh-instruction-warning { background:var(--rs-light); }
body.rsh-design-refresh .rsh-local-benefit { border:1px solid var(--rs-line); background:var(--rs-light); box-shadow:var(--rs-card-shadow); }
body.rsh-design-refresh :is(.rsh-local-benefit p,.rsh-local-step p,.rsh-local-faq__item > div,.rsh-local-coverage__note),
body.rsh-design-refresh .rs-seo-longform :where(p,li) { color:var(--rs-prose); font-size:1rem; line-height:1.65; }

@media(max-width:760px) { body.rsh-design-refresh .rsh-article-aside { position:static; } }
@media(max-width:600px) {
    body .rsh-contact-form { padding:22px 18px; }
    body .rsh-contact-card { padding:26px 22px; }
}
