/* Brand fonts, self-hosted (were Google Fonts; one less connection before the first paint). OFL. Latin + latin-ext only. */
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-400-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-400-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/orbitron-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Orbitron';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/orbitron-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/rajdhani-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/rajdhani-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/rajdhani-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/rajdhani-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/rajdhani-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/rajdhani-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   RF Supplements facelift: Direction A, "Shelf"
   Successor to rf-redesign.css. Loaded after Molla's theme.css, dynamic_style.css
   and the child custom.css (priority 1100). Presentation only.
   System spec: FACELIFT-SYSTEM.md. Every colour and face is from the live brand.

   Cascade note: Molla and custom.css are un-layered (custom.css alone carries
   ~1,650 !important), so this file cannot use @layer: layered rules lose to
   un-layered ones. Defaults use :where() to stay cheap to override;
   !important appears only where a theme rule would otherwise win.
   Root size: Molla sets html { font-size: 62.5% }, so 1.6rem = 10px here. Every rem value
   below is written against that 10px root (2.56rem = 16px) so text still follows the
   visitor's browser text-size setting. Media queries are NOT scaled: they resolve
   against the browser default (16px), not the root font-size.
   ========================================================================== */

/* ---- 1. Tokens ---------------------------------------------------------- */
:root {
  color-scheme: dark;
  /* surfaces */
  --rf-bg: #0a0a0b;
  --rf-surface: #141416;
  --rf-surface-2: #1a1a1e;
  --rf-shelf: #f4f4f4;
  --rf-img-well: var(--rf-shelf);
  --rf-ink: #0a0a0b;
  /* lines */
  --rf-border: #2a2a30;
  --rf-border-strong: #3a3a42;
  --rf-line: #7a7a84;              /* controls + shelf dividers: 4.66:1 page, 3.86:1 shelf */
  /* text */
  --rf-text: #f2f2f5;
  --rf-text-2: #a6a6ae;
  --rf-text-3: #7a7a84;            /* = --rf-line; text only on the page background (4.66:1) */
  /* action */
  --rf-accent: #a615ef;
  --rf-accent-text: #c56bff;
  --rf-accent-hover: #b83dff;
  --rf-accent-pressed: #870dc4;
  --rf-accent-soft: rgba(166, 21, 239, 0.15);
  --rf-volt: #c6ff3d;              /* sale + skip link only */
  --rf-error: #ff5c5c;
  --rf-success: #3ddc84;

  --rf-font-display: "Orbitron", "Arial Black", sans-serif;
  --rf-font-ui: "Rajdhani", "Arial Narrow", sans-serif;
  --rf-font-body: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;

  --rf-fs-xs: 1.2rem;
  --rf-fs-sm: 1.4rem;
  --rf-fs-md: 1.6rem;
  --rf-fs-lg: 1.8rem;
  --rf-fs-xl: clamp(2rem, 1.6rem + 0.8vw, 2.4rem);
  --rf-fs-2xl: clamp(2.56rem, 1.6rem + 2vw, 3.84rem);
  --rf-fs-3xl: clamp(3.04rem, 1.76rem + 2.4vw, 4.64rem);
  --rf-fs-4xl: clamp(3.04rem, 1.6rem + 4.6vw, 7.36rem);
  --rf-fs-display: var(--rf-fs-4xl);
  --rf-fs-index: clamp(3.2rem, 1.6rem + 2.8vw, 4.8rem);
  --rf-fs-price: 2rem;
  --rf-fs-price-lg: 3.04rem;

  --rf-space-1: 0.4rem; --rf-space-2: 0.8rem; --rf-space-3: 1.2rem; --rf-space-4: 1.6rem;
  --rf-space-5: 2.4rem;  --rf-space-6: 3.2rem;   --rf-space-7: 4.8rem;    --rf-space-8: 6.4rem;
  --rf-space-9: 9.6rem;    --rf-space-10: 12.8rem;
  --rf-section-pad: clamp(6.4rem, 8vw, 11.2rem);
  --rf-container: 120rem;
  --rf-gutter: clamp(1.6rem, 0.8rem + 2vw, 2.4rem);

  --rf-control-h: max(4.8rem, 48px);   /* Molla drops the root to 9px on phones; targets keep their px floor */
  --rf-control-h-sm: max(4.4rem, 44px);
  --rf-radius-input: 0;
  --rf-radius-card: 0;
  --rf-radius-pill: 999px;

  --rf-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --rf-t-color: 150ms;
  --rf-t-move: 250ms;
  --rf-focus: 3px solid var(--rf-accent-text);

  /* the child theme's own tokens follow the system */
  --background-color: var(--rf-bg);
  --surface-color: var(--rf-surface);
  --default-color: var(--rf-text);
  --heading-color: var(--rf-text);
  --contrast-color: #fff;
  --accent-color: var(--rf-accent);
  --nav-color: var(--rf-text);
  --nav-hover-color: #fff;
  --nav-mobile-background-color: var(--rf-bg);
  --nav-dropdown-background-color: var(--rf-surface);
  --nav-dropdown-color: var(--rf-text);
  --nav-dropdown-hover-color: #fff;
}
/* the theme lock: dark regardless of OS scheme */
[data-theme=light], .light-background, [data-theme=dark], .dark-background {
  --background-color: var(--rf-bg);
  --surface-color: var(--rf-surface);
  --default-color: var(--rf-text);
  --heading-color: var(--rf-text);
  --contrast-color: #fff;
}

/* ---- 2. Surfaces -------------------------------------------------------- */
html { background: var(--rf-bg); }
body, body.home, .page-wrapper, .page-content, .main, .main-content,
.woocommerce-page .page-content, .archive .page-content, .single .page-content,
.light-background, .page-template-custom-template .page-content {
  background-color: var(--rf-bg) !important;
  color: var(--rf-text);
}
/* the shelf: products live here, text on it is ink */
.rf-shelf {
  --rf-text: var(--rf-ink);
  --rf-text-2: var(--rf-ink);
  --rf-focus: 3px solid var(--rf-accent);
  background: var(--rf-shelf) !important;
  color: var(--rf-ink);
  color-scheme: light;
}

/* ---- 3. Type ------------------------------------------------------------ */
body, p, li, td, th, dd, dt, label, input, select, textarea, button,
.form-control, .woocommerce-loop-product__title {
  font-family: var(--rf-font-body);
}
body { font-size: var(--rf-fs-md); line-height: 1.6; font-weight: 400; font-size-adjust: from-font; -webkit-font-smoothing: antialiased; }
/* font-size-adjust rescales by x-height; icon fonts have none worth keeping, so their glyphs shrank (~40%) */
:is([class^="icon-"], [class*=" icon-"], .bi, [class^="bi-"], [class*=" bi-"], .fa, [class*=" fa-"], .wpcf7-spinner)::before, :is([class^="icon-"], [class*=" icon-"], .bi, .fa) { font-size-adjust: none !important; }
p { font-size: var(--rf-fs-md); line-height: 1.6; color: var(--rf-text); text-wrap: pretty; }
p.text-light, .text-muted { color: var(--rf-text-2) !important; }
strong, b { font-weight: 600; }
a { color: var(--rf-accent-text); text-underline-offset: 0.2em; transition: color var(--rf-t-color) var(--rf-ease); }
a:hover { color: var(--rf-text) !important; }

h1, h2, .h1, .h2, .section-title h2, .page-title, .entry-title.product_title {
  font-family: var(--rf-font-display) !important; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.01em; line-height: 1.02; color: var(--rf-text); text-wrap: balance;
}
h1, .h1 { font-size: var(--rf-fs-3xl); }
h2, .h2 { font-size: var(--rf-fs-2xl); }
h3, h4, .h3, .h4 {
  font-family: var(--rf-font-ui); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  line-height: 1.2; color: var(--rf-text); text-wrap: balance;
}
h3, .h3 { font-size: var(--rf-fs-xl); }
h4, .h4 { font-size: var(--rf-fs-lg); }
/* existing eyebrow h5/h6 in page content: kept (removing them would change copy), set quietly */
h5, h6, .h5, .h6, .rf-eyebrow, .section-title h5, h5.eyebrow {
  font-family: var(--rf-font-ui); font-size: var(--rf-fs-sm); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; line-height: 1.3; color: var(--rf-text-2) !important;
}
.rf-num, .price, .amount, .woocommerce-Price-amount, .product-price, .cart-count, .count, .stat-num {
  font-family: var(--rf-font-ui) !important; font-weight: 700; letter-spacing: 0.01em; font-variant-numeric: tabular-nums;
}

/* ---- 4. Buttons --------------------------------------------------------- */
/* primary: purple fill. Mapped onto every class Woo, Molla and CF7 emit. */
.rf-btn, .btn, .button, .btn-primary, .button-primary, .btn-cart, a.button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.single_add_to_cart_button, #place_order, .checkout-button, .wc-forward,
.wpcf7-submit, .woocommerce-form-login__submit, .woocommerce-form-register__submit,
.woocommerce-button, .hero-actions .btn, .faq-cta .btn,
.wpcf7 form .wpcf7-submit, .contact-form-container .wpcf7-submit, form.wpcf7-form .wpcf7-submit,
.woocommerce .woocommerce-form-login .button, .woocommerce .woocommerce-form-register .button,
body .woocommerce a.button.alt, body .woocommerce button.button.alt {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--rf-space-2);
  min-height: var(--rf-control-h); padding: 0 var(--rf-space-5) !important; border-radius: 0 !important;
  font-family: var(--rf-font-ui) !important; font-size: var(--rf-fs-md) !important; font-weight: 700 !important;
  letter-spacing: 0.08em; text-transform: uppercase; line-height: 1; text-decoration: none;
  background: var(--rf-accent) !important; color: #fff !important;
  border: 0 !important; box-shadow: none !important; cursor: pointer; position: relative;
  transition: background-color var(--rf-t-color) var(--rf-ease), color var(--rf-t-color) var(--rf-ease), box-shadow var(--rf-t-color) var(--rf-ease);
}
:is(.rf-btn, .btn, .button, .single_add_to_cart_button, #place_order, .checkout-button, .wpcf7-submit, .btn-primary, .button-primary):hover:not(:disabled, .disabled) {
  background: var(--rf-accent-hover) !important; color: #fff !important;
}
:is(.rf-btn, .btn, .button, .single_add_to_cart_button, #place_order, .checkout-button, .wpcf7-submit):active:not(:disabled, .disabled) {
  background: var(--rf-accent-pressed) !important;
}
/* Molla draws its cart icon as ::before in the "molla" icon font; keep it in that font */
:is(.single_add_to_cart_button, .btn-cart, .add_to_cart_button, .btn-product)::before { font-family: "molla" !important; }
/* secondary: outline on dark */
.rf-btn--secondary, .btn-outline-primary, .btn-outline-dark, .btn-outline-secondary, .btn-secondary,
.woocommerce button[name="update_cart"], .wc-forward:not(.checkout-button), .shipping-calculator-button, .btn-quickview.btn {
  background: transparent !important; color: var(--rf-text) !important;
  box-shadow: inset 0 0 0 2px var(--rf-line) !important;
}
:is(.rf-btn--secondary, .btn-outline-primary, .btn-outline-dark, .btn-outline-secondary, .btn-secondary, .wc-forward:not(.checkout-button)):hover:not(:disabled) {
  background: transparent !important; box-shadow: inset 0 0 0 2px var(--rf-text) !important; color: var(--rf-text) !important;
}
/* on the shelf: ink fill */
.rf-shelf :is(.rf-btn, .btn, .button, a.button, .btn-cart, .add_to_cart_button, .product_type_variable, .btn-product) {
  background: var(--rf-ink) !important; color: #fff !important;
}
.rf-shelf :is(.rf-btn, .btn, .button, a.button, .btn-cart, .add_to_cart_button, .product_type_variable, .btn-product):hover:not(:disabled) {
  background: var(--rf-accent-pressed) !important;
}
/* text link */
.rf-btn--link, .btn-link, .showcoupon, .lost_password a {
  background: none !important; border: 0 !important; padding: 0 !important; min-height: 0;
  color: var(--rf-accent-text) !important; font-family: var(--rf-font-body) !important; font-weight: 500 !important;
  text-transform: none; letter-spacing: 0; text-decoration: underline;
}
/* compact (cards) */
.rf-btn--sm, .products .button, .products .btn-product { min-height: var(--rf-control-h-sm); padding: 0 var(--rf-space-4) !important; font-size: var(--rf-fs-sm) !important; }
/* disabled: visible, inert. The reason is shown next to it, never colour alone. */
:is(.btn, .button, .single_add_to_cart_button, #place_order):is(:disabled, .disabled, [aria-disabled="true"]) {
  background: var(--rf-surface-2) !important; color: var(--rf-text-2) !important;
  box-shadow: inset 0 0 0 1px var(--rf-line) !important; cursor: not-allowed; opacity: 1 !important;
}
/* loading: Woo adds .loading while an AJAX add-to-cart is in flight. Store pages carry body.woocommerce,
   so ".woocommerce button.button" (0,2,1) and Molla's ".woocommerce a.button.loading::after" outrank a bare
   ".button.loading"; the element-qualified form (0,2,2) wins without another !important tier. */
body :is(a, button):is(.button, .btn, .single_add_to_cart_button).loading { pointer-events: none; padding: 0 var(--rf-space-5) 0 calc(var(--rf-space-5) + 2.56rem) !important;
  opacity: 1 !important; color: #fff !important; font-size: var(--rf-fs-md) !important; } /* Woo fades .loading to 25% */
body :is(a, button):is(.button, .btn, .single_add_to_cart_button).loading::after {
  /* Molla's ".woocommerce a.button.loading::after { left: 50% }" is (0,3,1); pin the spinner to the start */
  content: ""; left: var(--rf-space-5) !important; position: absolute; inset-block: 0; inset-inline-start: var(--rf-space-5); margin-block: auto; width: 1.76rem; height: 1.76rem;
  border: 2px solid #fff; border-inline-end-color: transparent; border-radius: 50%;
  animation: rf-spin 700ms linear infinite; --rf-anim-reduced: rf-spin 2.4s linear infinite;
}
@keyframes rf-spin { to { rotate: 360deg; } }

/* ---- 5. Fields ---------------------------------------------------------- */
.form-control, .input-text, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .wpcf7-form-control:not(.wpcf7-submit, .wpcf7-checkbox, .wpcf7-radio, .wpcf7-acceptance),
input:is([type="text"], [type="email"], [type="tel"], [type="password"], [type="search"], [type="number"], [type="url"]),
textarea, select, .select2-container .select2-selection--single {
  min-height: var(--rf-control-h); padding: 0 var(--rf-space-4); width: 100%;
  font-family: var(--rf-font-body) !important; font-size: var(--rf-fs-md) !important; font-weight: 400 !important;
  color: var(--rf-text) !important; background: var(--rf-surface-2) !important;
  border: 1px solid var(--rf-line) !important; border-radius: 0 !important; box-shadow: none !important;
  transition: border-color var(--rf-t-color) var(--rf-ease);
}
textarea, .wpcf7-form-control.wpcf7-textarea, .woocommerce form .form-row textarea { min-height: 14rem; padding: var(--rf-space-3) var(--rf-space-4); line-height: 1.5; resize: vertical; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: calc(var(--rf-control-h) - 2px) !important; color: var(--rf-text) !important; padding-left: 0 !important; }
.select2-container .select2-selection--single .select2-selection__arrow { height: calc(var(--rf-control-h) - 2px) !important; }
.select2-dropdown { background: var(--rf-surface-2) !important; border: 1px solid var(--rf-line) !important; border-radius: 0 !important; color: var(--rf-text); }
.select2-results__option--highlighted { background: var(--rf-accent) !important; color: #fff !important; }
::placeholder { color: var(--rf-text-2) !important; opacity: 1; }
:is(input, textarea, select):hover:not(:focus, :disabled) { border-color: var(--rf-text-2) !important; }
:is(input, textarea, select, .form-control, .input-text):focus { outline: none; }
:is(input, textarea, select, .form-control, .input-text):focus-visible,
.select2-container--focus .select2-selection--single {
  outline: var(--rf-focus) !important; outline-offset: 2px !important; border-color: var(--rf-accent-text) !important;
}
label, .woocommerce form .form-row label {
  display: inline-block; font-family: var(--rf-font-ui); font-size: var(--rf-fs-md); font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase; color: var(--rf-text); margin-bottom: var(--rf-space-2);
}
.woocommerce form .form-row .required { color: var(--rf-error) !important; text-decoration: none; }
.woocommerce form .form-row .optional { color: var(--rf-text-2); font-weight: 500; text-transform: none; letter-spacing: 0; }
input:is([type="checkbox"], [type="radio"]) { width: 2rem; height: 2rem; min-height: 0; accent-color: var(--rf-accent); padding: 0; margin: 0; }
/* invalid: only after the visitor has interacted, always with a message */
:is(input, textarea, select):user-invalid,
.woocommerce form .form-row.woocommerce-invalid :is(input.input-text, select),
.wpcf7-not-valid { border-color: var(--rf-error) !important; }
.wpcf7-not-valid-tip, .woocommerce-error li { color: var(--rf-error); font-size: var(--rf-fs-sm); margin-top: var(--rf-space-2); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--rf-line) !important; }

/* notices: a stripe for scanning, words for meaning */
.woocommerce-error, .woocommerce-info, .woocommerce-message, .wpcf7 form .wpcf7-response-output {
  background: var(--rf-surface) !important; color: var(--rf-text) !important; border: 0 !important;
  border-inline-start: 4px solid var(--rf-accent) !important; border-radius: 0 !important;
  padding: var(--rf-space-4) var(--rf-space-5) !important; font-size: var(--rf-fs-md); margin: 0 0 var(--rf-space-5);
}
.woocommerce-error, .wpcf7 form:is(.failed, .invalid, .aborted, .spam) .wpcf7-response-output { border-inline-start-color: var(--rf-error) !important; }
.woocommerce-message, .wpcf7 form.sent .wpcf7-response-output { border-inline-start-color: var(--rf-success) !important; }
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { display: none; }

/* ---- 6. Flavor picker + quantity (components) --------------------------- */
/* .rf-choices is rendered from Woo's <select> by the product-page enhancement;
   the select stays the source of truth and keeps working without JS. */
.rf-choices { display: flex; flex-wrap: wrap; gap: var(--rf-space-2); border: 0; margin: 0 0 var(--rf-space-5); padding: 0; }
.rf-choices legend { font: 700 var(--rf-fs-md)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--rf-space-3); padding: 0; }
.rf-choices legend output { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--rf-text-2); margin-inline-start: var(--rf-space-2); }
.rf-choice { position: relative; display: inline-flex; align-items: center; gap: var(--rf-space-2); min-height: var(--rf-control-h-sm); padding: 0 var(--rf-space-4); border: 1px solid var(--rf-line); color: var(--rf-text); font: 600 var(--rf-fs-md)/1 var(--rf-font-ui); text-transform: none; letter-spacing: 0; margin: 0; cursor: pointer; transition: border-color var(--rf-t-color) var(--rf-ease), background-color var(--rf-t-color) var(--rf-ease); }
.rf-choice input { position: absolute; inset: 0; opacity: 0; margin: 0; width: 100%; height: 100%; cursor: inherit; }
.rf-choice:hover { border-color: var(--rf-text-2); }
.rf-choice:has(:checked) { border-color: var(--rf-accent); background: var(--rf-accent-soft); }
.rf-choice:has(:focus-visible) { outline: var(--rf-focus); outline-offset: 3px; }
.rf-choice:has(:disabled) { color: var(--rf-text-2); border-style: dashed; cursor: not-allowed; }
.rf-choice small { font: 600 var(--rf-fs-xs)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; }
.rf-choice-hint { flex-basis: 100%; margin: var(--rf-space-1) 0 0; color: var(--rf-text-2); font-size: var(--rf-fs-sm); }

.quantity .input-spinner, .rf-qty { max-width: none !important; display: grid !important; grid-template-columns: var(--rf-control-h) 6.4rem var(--rf-control-h); align-items: stretch; border: 1px solid var(--rf-line); width: max-content !important; flex-wrap: nowrap; }
:is(.quantity .input-spinner, .rf-qty) :is(button, .btn-spinner) {
  min-height: var(--rf-control-h) !important; min-width: 0 !important; width: auto !important; padding: 0 !important;
  background: transparent !important; color: var(--rf-text) !important; box-shadow: none !important; font-size: var(--rf-fs-lg) !important;
}
:is(.quantity .input-spinner, .rf-qty) :is(button, .btn-spinner):hover { background: var(--rf-surface-2) !important; }
/* Woo's .quantity .qty width would spill the field across the + column */
:is(.quantity .input-spinner, .rf-qty) input { width: 100% !important; min-width: 0 !important; border: 0 !important; background: transparent !important; text-align: center; padding: 0 !important; font: 700 var(--rf-fs-lg)/1 var(--rf-font-ui) !important; font-variant-numeric: tabular-nums; min-height: var(--rf-control-h); }
:is(.quantity .input-spinner, .rf-qty) :is(.input-group-prepend, .input-group-append) { display: contents; }

/* ---- 7. Product card on the shelf --------------------------------------- */
/* Molla's popup card: border, radius, lift and the hover-only footer go; the
   product stands on an ink baseline with name, price and action under it. */
/* the grid: CSS, not Molla's JS-positioned isotope (which measures, then absolutely places, every card).
   Archives put .rf-shelf on the .products grid itself; the [products] shortcode puts it on div.woocommerce
   around a bare .row. */
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr));
  height: auto !important; margin: 0 !important; gap: 0 1px !important;
  /* dividers only between columns, at any column count: the 1px gap shows this tint through */
  background: color-mix(in oklab, var(--rf-line) 45%, var(--rf-shelf));
}
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) > .product-wrap {
  position: static !important; inset: auto !important; transform: none !important;
  width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; margin: 0 !important;
  background: var(--rf-shelf);
}
@media (max-width: 61.99rem) { :is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 47.99rem) { :is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* home shelf: one row that scrolls sideways on narrow screens */
.rf-shelf-band--row :is(.products, .woocommerce > .row) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 55rem) {
  .rf-shelf-band--row :is(.products, .woocommerce > .row) {
    grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: 62%;
    overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-color: var(--rf-ink) transparent;
  }
  .rf-shelf-band--row :is(.products, .woocommerce > .row) > .product-wrap { scroll-snap-align: start; }
}
/* Molla card types differ by loop (product-popup on the shop, an empty type on [products]); key on structure */
.rf-shelf .product-wrap > .product {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  display: flex !important; flex-direction: column; height: 100% !important; transform: none !important;
}
.rf-shelf .product-media {
  background: transparent !important; margin: 0; aspect-ratio: 3 / 4; display: flex !important; align-items: flex-end; justify-content: center;
  border-bottom: 3px solid var(--rf-ink); padding: var(--rf-space-4) var(--rf-space-4) 0;
}
.rf-shelf .product-media > a { display: flex; align-items: flex-end; justify-content: center; inline-size: 100%; block-size: 100%; }
.rf-shelf .product-media img {
  inline-size: 100% !important; block-size: 100% !important; max-height: none !important; min-height: 0 !important;
  object-fit: contain !important; object-position: center bottom !important; padding: 0 !important;
  background: transparent !important; mix-blend-mode: multiply; transform: none !important; transition: none !important;
}
.rf-shelf .product-media > a::before { display: none !important; }
.rf-shelf .product-body { background: transparent !important; padding: var(--rf-space-4) var(--rf-space-4) 0 !important; text-align: start !important; margin: 0 !important; flex: 1 0 auto; }
.rf-shelf :is(.product-title, .woocommerce-loop-product__title) {
  font-family: var(--rf-font-ui) !important; font-size: var(--rf-fs-lg) !important; font-weight: 700 !important;
  line-height: 1.2; text-transform: uppercase; letter-spacing: 0.03em; color: var(--rf-ink) !important; margin: 0 0 var(--rf-space-1) !important;
  min-height: 0; display: block; overflow: visible;
}
.rf-shelf .product-title a { color: inherit !important; text-decoration: none; padding-block: var(--rf-space-1); display: block; }
.rf-shelf .product-title a:hover { color: var(--rf-accent-pressed) !important; }
.rf-shelf :is(.price, .product-price) { font-size: var(--rf-fs-price) !important; color: var(--rf-ink) !important; display: block; margin: 0 !important; }
.rf-shelf .price del { color: var(--rf-ink) !important; opacity: 0.7; font-weight: 500; }
.rf-shelf .price ins { color: var(--rf-ink) !important; text-decoration: none; background: var(--rf-volt); padding: 0 0.2em; }
.rf-shelf .ratings-container:not(:has(.star-rating span)) { display: none !important; }
/* Molla's yellow stars are 1.57:1 and its review count #999 is 2.59:1 on the shelf */
.rf-shelf .star-rating, .rf-shelf .star-rating span, .rf-shelf .star-rating::before, .rf-shelf .star-rating span::before,
.rf-shelf .ratings-text, .rf-shelf .woocommerce-review-link { color: var(--rf-ink) !important; }
.rf-shelf .product-footer, .rf-shelf .product-action {
  position: static !important; transform: none !important; visibility: visible !important; opacity: 1 !important;
  background: transparent !important; box-shadow: none !important; border: 0 !important; margin: 0 !important; width: auto;
}
.rf-shelf .product-footer { padding: var(--rf-space-3) var(--rf-space-4) var(--rf-space-6) !important; }
.rf-shelf .product-action :is(a.btn-cart, a.add_to_cart_button, a.ajax_add_to_cart, .btn-product) { display: inline-flex !important; width: auto !important; }
.rf-shelf .product-action-vertical, .rf-shelf .btn-quickview { display: none !important; }
/* Molla's "center mode" centres name and button but not price: the shelf reads left */
.rf-shelf :is(.center-mode, .center-mode .product-body, .product-footer, .product-action, .product-title, .product-price) { text-align: start !important; justify-content: flex-start !important; align-items: flex-start !important; }
.rf-shelf .product-action :is(a, .btn-product), .rf-shelf .product-action :is(a, .btn-product) * { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui) !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
.rf-shelf .added_to_cart { color: var(--rf-ink) !important; font-weight: 600; text-decoration: underline; margin-inline-start: var(--rf-space-3); }
.rf-shelf .product-labels .product-label, .rf-shelf .onsale { border-radius: 0 !important; }
.rf-shelf :is(.outofstock .product-media img) { opacity: 0.55; }

/* ---- 8. Section patterns ------------------------------------------------ */
.rf-section { padding-block: var(--rf-section-pad); }
.rf-shelf-band { padding-block: clamp(4.8rem, 6vw, 8rem) 0; overflow-x: clip; }
.rf-shelf-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--rf-space-4); margin-bottom: var(--rf-space-6); }
.rf-shelf-head :is(h2, .h2) { margin: 0; color: var(--rf-ink); }
.rf-shelf-head a { white-space: nowrap; font: 700 var(--rf-fs-md)/1 var(--rf-font-ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-ink) !important; }

.rf-index { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rf-border); }
.rf-index a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--rf-space-5); padding-block: var(--rf-space-4); border-bottom: 1px solid var(--rf-border); text-decoration: none; color: var(--rf-text) !important; }
.rf-index span { min-width: 0; font: 700 var(--rf-fs-index)/1 var(--rf-font-display); text-transform: uppercase; letter-spacing: 0.02em; transition: color var(--rf-t-color) var(--rf-ease); }
.rf-index img { inline-size: 11.2rem; block-size: 8rem; object-fit: cover; filter: grayscale(1) contrast(1.1); transition: filter var(--rf-t-move) var(--rf-ease); }
.rf-index a:is(:hover, :focus-visible) span { color: var(--rf-accent-text); }
.rf-index a:is(:hover, :focus-visible) img { filter: none; }

.rf-statement { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--rf-space-6); }
.rf-statement > :is(h2, .rf-lede) { grid-column: 1 / span 5; margin: 0; }
.rf-statement .rf-lede { color: var(--rf-text-2); }
.rf-statement dl { grid-column: 7 / -1; grid-row: 1 / span 2; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--rf-space-6) var(--rf-space-6); }
.rf-statement dt { font: 700 var(--rf-fs-lg)/1.2 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.04em; color: var(--rf-accent-text); }
.rf-statement dd { margin: var(--rf-space-2) 0 0; color: var(--rf-text-2); }

.rf-assure { list-style: none; margin: var(--rf-space-5) 0 0; padding: var(--rf-space-5) 0 0; border-top: 1px solid var(--rf-border); display: grid; gap: var(--rf-space-3); color: var(--rf-text-2); font-size: var(--rf-fs-sm); }
.rf-assure strong { color: var(--rf-text); font: 700 var(--rf-fs-md)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.04em; margin-inline-end: var(--rf-space-2); }

@media (max-width: 55rem) {
  .rf-statement { grid-template-columns: minmax(0, 1fr); }
  .rf-statement > *, .rf-statement dl { grid-column: 1; grid-row: auto; }
  .rf-statement dl { grid-template-columns: 1fr; gap: var(--rf-space-5); }
  .rf-index a { grid-template-columns: 1fr 8rem; }
  .rf-index img { inline-size: 8rem; block-size: 6rem; filter: none; }
}

/* ---- 9. Focus, skip link, motion, layout -------------------------------- */
:is(a, button, input, select, textarea, summary, [tabindex]):focus { outline: none; }
:is(a, button, input, select, textarea, summary, [tabindex], .btn, .search-toggle, .mobile-menu li a):focus-visible {
  outline: var(--rf-focus) !important; outline-offset: 3px !important;
}
@media (forced-colors: active) {
  :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid CanvasText !important; }
  .rf-choice:has(:checked) { border: 3px solid Highlight; }
}
.rf-skip-link {
  min-height: 44px; display: inline-flex; align-items: center;
  position: absolute; left: var(--rf-space-4); top: -100px; z-index: 10000; padding: var(--rf-space-3) var(--rf-space-5);
  background: var(--rf-volt); color: var(--rf-ink); font: 700 var(--rf-fs-md)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.08em;
}
.rf-skip-link:focus { top: var(--rf-space-4); }
.screen-reader-text, .rf-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* one orchestrated moment (the hero load); everything else is still */
@keyframes rf-rise { from { opacity: 0; translate: 0 2.4rem; } to { opacity: 1; translate: 0 0; } }
[data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
@media (prefers-reduced-motion: no-preference) {
  .rf-load > * { animation: rf-rise 700ms var(--rf-ease) both; }
  .rf-load > :nth-child(2) { animation-delay: 100ms; }
  .rf-load > :nth-child(3) { animation-delay: 200ms; }
}
/* reduced motion: per animation, never a global 0.01ms override (that makes some motion more jarring) */
@property --rf-anim-reduced { syntax: "*"; inherits: false; initial-value: none; }
@media (prefers-reduced-motion: reduce) {
  .rf-load > * { animation: none; }
  body :is(a, button):is(.button, .btn, .single_add_to_cart_button).loading::after { animation: var(--rf-anim-reduced); }
  html { scroll-behavior: auto; }
}

/* layout: max-width only; Molla sets .container{width:1188px} unconditionally */
.container { box-sizing: border-box; max-width: min(100%, calc(var(--rf-container) + var(--rf-gutter) * 2)); padding-left: var(--rf-gutter); padding-right: var(--rf-gutter); }
html, body { max-width: 100%; overflow-x: clip; }
.section { padding: var(--rf-section-pad) 0; }
.grecaptcha-badge { bottom: 9.6rem !important; }

/* ---- 10. Cards, dividers, tables ---------------------------------------- */
.rf-card { background: var(--rf-surface); border: 1px solid var(--rf-border); border-radius: 0; padding: var(--rf-space-5); }
hr { border-color: var(--rf-border); opacity: 1; }
table, .shop_table { color: var(--rf-text); }
:is(table, .shop_table) th { font-family: var(--rf-font-ui); font-size: var(--rf-fs-sm); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2); border-color: var(--rf-border) !important; }
:is(table, .shop_table) td { border-color: var(--rf-border) !important; }
/* Molla sets cart-total labels to #333 (1.45:1 on the raised surface) */
:is(.cart_totals, .woocommerce-checkout-review-order, #order_review) :is(th, td, td::before) { color: var(--rf-text) !important; }
:is(.cart_totals, .woocommerce-checkout-review-order, #order_review) th { color: var(--rf-text-2) !important; }
td.num, .rf-tabular { font-variant-numeric: tabular-nums; }
/* textareas inherit no font in Chrome, and custom.css sets every input ::placeholder to Inter, which the facelift does not
   load: placeholders fell back to the browser's serif (address and coupon fields, 2026-10-15) */
textarea, textarea::placeholder, input::placeholder { font-family: var(--rf-font-body) !important; }

/* ==========================================================================
   Chrome: header, menus, cart drawer, mobile menu, trust strip, footer
   Direction A. Values in rem against Molla's 10px root (see the system header).
   ========================================================================== */

/* ---- Header: sticky and compact at every width --------------------------- */
/* One mechanism: CSS sticky. Molla's JS sticky is switched off (header_sticky_show = 0);
   its mobile fallback never stuck because the sticky element filled its own wrapper. */
header.header {
  position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 1000;
  background: var(--rf-bg) !important; border-bottom: 1px solid var(--rf-border);
}
.header .header-main, .header .header-middle { background: var(--rf-bg) !important; border: 0 !important; padding-block: 0 !important; }
.header .header-main > .container, .header .header-main .header-row { min-height: 7.2rem; align-items: center; }
.header .logo img, .header .logo .site-logo { max-width: 5.2rem !important; height: auto; }

/* primary nav */
.header .menu > li > a, .menu-skin1 > li > a, .main-nav .menu > li > a {
  font-family: var(--rf-font-ui) !important; font-size: var(--rf-fs-sm) !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: 0.08em; color: var(--rf-text) !important;
  padding: 2.6rem 1.4rem !important; position: relative; background: none !important; box-shadow: none !important;
  transition: color var(--rf-t-color) var(--rf-ease);
}
/* Molla boxes the hovered / open dropdown item */
.header .menu > li, .header .menu > li:hover, .header .menu > li.show, .header .menu > li > a:hover { background: none !important; box-shadow: none !important; border: 0 !important; }
.header .menu > li > a::before { display: none !important; }
.header .menu > li > a::after, .menu-skin1 > li > a::after {
  content: ""; position: absolute; left: 1.4rem; right: 1.4rem; bottom: 1.8rem; height: 2px;
  background: var(--rf-accent-text); transform: scaleX(0); transform-origin: left; transition: transform var(--rf-t-color) var(--rf-ease);
}
.header .menu > li:is(:hover, :focus-within) > a { color: var(--rf-text) !important; }
.header .menu > li:is(:hover, :focus-within) > a::after { transform: scaleX(1); }
.header .menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent) > a { color: var(--rf-accent-text) !important; }
.header .menu > li:is(.current-menu-item, .current_page_item, .current-menu-ancestor, .current-menu-parent) > a::after { transform: scaleX(1); }

/* keyboard: Molla hides closed flyouts with opacity only, so their links stay in the tab order;
   while focus is inside one, it is shown. Header links get the system focus ring Molla removes. */
.header .menu > li:focus-within > :is(.sub-menu, .megamenu) { opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto !important; }
.header :is(.menu a, .shop-icon > a, .search-toggle, .mobile-menu-toggler, .logo):focus-visible { outline: 3px solid var(--rf-accent-text) !important; outline-offset: -3px; }

/* flyout / mega menu: a panel, not a floating card */
.header .sub-menu, .menu-skin1 .sub-menu {
  background: var(--rf-surface) !important; border: 1px solid var(--rf-border-strong) !important;
  box-shadow: none !important; border-radius: 0 !important; padding: var(--rf-space-3) 0 !important;
}
.header .sub-menu li a, .menu-skin1 .sub-menu li a {
  font-family: var(--rf-font-body) !important; font-size: var(--rf-fs-md) !important; font-weight: 400 !important;
  text-transform: none !important; letter-spacing: 0 !important; color: var(--rf-text) !important;
  padding: 1.2rem var(--rf-space-5) !important; min-height: max(4.4rem, 44px); display: flex; align-items: center; background: none !important;
}
.header .sub-menu li a:is(:hover, :focus-visible) { color: var(--rf-accent-text) !important; }
/* the mega menu's placeholder column items ("col-1", "col-2") stay out of sight; their lists are not panels */
.header .sub-menu :is(.menu-grid-col, li.no-link) > a, .mobile-menu :is(li.no-link, .menu-grid-col) > a { display: none !important; }
.header :is(.menu-grid-col, li.no-link) > .sub-menu { background: transparent !important; border: 0 !important; padding: 0 !important; }

/* ---- Header icons ---------------------------------------------------------- */
/* the menu toggler is not in the display rule: Molla hides it above 991px and any display value here would undo that */
.header :is(.shop-icon > a, .search-toggle) { display: inline-flex; }
.header :is(.shop-icon > a, .search-toggle, .mobile-menu-toggler) {
  align-items: center; justify-content: center;
  min-width: max(4.4rem, 44px); min-height: max(4.4rem, 44px); color: var(--rf-text) !important; background: none !important; border: 0;
  transition: color var(--rf-t-color) var(--rf-ease);
}
.header :is(.shop-icon .icon i, .search-toggle i, .mobile-menu-toggler i) { font-size: 2.2rem !important; line-height: 1; color: inherit !important; }
.header :is(.shop-icon > a, .search-toggle):hover { color: var(--rf-accent-text) !important; }
.header .shop-icons { display: flex; align-items: center; gap: var(--rf-space-1); }
.header .shop-icon + .shop-icon { margin-left: 0 !important; }
/* Molla prints the labels ("Cart", the account label) then hides them with display:none,
   which also hides them from screen readers. Visually hidden keeps them as accessible names. */
.header .shop-icon .custom-label {
  display: block !important; position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; margin: 0; padding: 0;
}
.header .shop-icon .icon { position: relative; }
.header .cart-count {
  position: absolute !important; top: -0.6rem !important; right: -0.9rem !important; left: auto !important;
  min-width: 1.8rem; height: 1.8rem; padding: 0 0.4rem; border-radius: var(--rf-radius-pill);
  background: var(--rf-accent) !important; color: #fff !important;
  font: 700 1.1rem/1.8rem var(--rf-font-ui) !important; text-align: center;
}
.header .cart-price { display: none !important; }

/* header search (Molla's live search): a panel under the toggle */
.header .header-search .search-wrapper {
  background: var(--rf-surface) !important; border: 1px solid var(--rf-border-strong) !important; box-shadow: none !important; border-radius: 0 !important;
}
.header .header-search .search-wrapper .form-control { border: 0 !important; background: transparent !important; min-height: 4.8rem; }
.header .header-search .search-wrapper .btn { min-height: 4.8rem; padding: 0 var(--rf-space-4) !important; background: var(--rf-accent) !important; }
.live-search-list { background: var(--rf-surface) !important; border: 1px solid var(--rf-border-strong) !important; border-top: 0 !important; box-shadow: none !important; }
.live-search-list .autocomplete-suggestion, .live-search-list a { color: var(--rf-text) !important; font-family: var(--rf-font-body) !important; }
.live-search-list .autocomplete-suggestion:is(:hover, .autocomplete-selected) { background: var(--rf-surface-2) !important; }
/* Molla leaves the names at #666 (2.9:1 on this panel); the typed part is marked in the accent */
.live-search-list .search-name { color: var(--rf-text) !important; font: 400 var(--rf-fs-md)/1.3 var(--rf-font-body) !important; }
.live-search-list .search-name strong { color: var(--rf-accent-text) !important; font-weight: 600; }
.live-search-list .search-image { background: var(--rf-shelf); mix-blend-mode: normal; }
.live-search-list .search-price, .live-search-list .amount { color: var(--rf-text) !important; font-family: var(--rf-font-ui) !important; font-weight: 700; }

/* ---- Cart drawer (Molla's cart canvas, fed by Woo's cart fragments) -------- */
/* Molla styles the drawer at (0,3,1)-(0,4,1); rules here start from .cart-popup.cart-canvas to sit above them. */
.cart-popup.cart-canvas {
  background: var(--rf-surface) !important; color: var(--rf-text); border-left: 1px solid var(--rf-border-strong);
  width: min(42rem, 92vw) !important; max-width: none !important; box-shadow: none !important;
  padding: 0 !important; display: flex !important; flex-direction: column;
}
.cart-popup.cart-canvas .cart-canvas-header {
  display: flex; align-items: center; justify-content: space-between; gap: var(--rf-space-4);
  padding: var(--rf-space-4) var(--rf-space-5) !important; border-bottom: 1px solid var(--rf-border) !important; margin: 0 !important;
}
.cart-popup.cart-canvas .cart-canvas-header h4 { margin: 0 !important; font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.02em; color: var(--rf-text) !important; }
.cart-popup.cart-canvas .canvas-close {
  display: inline-flex; align-items: center; gap: var(--rf-space-2); min-height: max(4.4rem, 44px); padding: 0 var(--rf-space-2);
  font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui) !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rf-text) !important;
}
.cart-popup.cart-canvas .widget_shopping_cart_content { flex: 1 1 auto; display: flex; flex-direction: column; overflow-y: auto; padding: 0 var(--rf-space-5) var(--rf-space-5) !important; }
.cart-popup.cart-canvas .cart_list { list-style: none; margin: 0 !important; padding: 0 !important; max-height: none !important; }
.cart-popup.cart-canvas .cart_list li.mini_cart_item {
  display: grid !important; grid-template-columns: 7.2rem minmax(0, 1fr) max(4.4rem, 44px); gap: var(--rf-space-4); align-items: start;
  padding: var(--rf-space-4) 0 !important; margin: 0 !important; border-bottom: 1px solid var(--rf-border) !important;
}
.cart-popup.cart-canvas .cart_list li .product-image-container {
  grid-column: 1; grid-row: 1; position: static !important; width: auto !important; max-width: none !important; margin: 0 !important;
  background: var(--rf-shelf); aspect-ratio: 3 / 4; border: 0 !important;
}
.cart-popup.cart-canvas .cart_list li .product-image-container :is(a, img) { display: block; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; position: static !important; }
.cart-popup.cart-canvas .cart_list li .product-image-container img { object-fit: contain; mix-blend-mode: multiply; }
.cart-popup.cart-canvas .cart_list li .product-cart-details { grid-column: 2; grid-row: 1; display: grid; gap: var(--rf-space-2); margin: 0 !important; }
.cart-popup.cart-canvas .cart_list li a.remove {
  grid-column: 3; grid-row: 1; position: relative !important; justify-self: end; transform: none !important;
  width: max(4.4rem, 44px) !important; height: max(4.4rem, 44px) !important; display: inline-flex !important; align-items: center; justify-content: center;
  font-size: 2.4rem !important; line-height: 1 !important; color: var(--rf-text-2) !important; background: none !important; border: 0 !important;
}
/* Molla moves the × text off-screen and draws the icon in ::before, absolutely placed */
.cart-popup.cart-canvas .cart_list li a.remove::before { position: static !important; font-size: 2rem !important; line-height: 1 !important; }
.cart-popup.cart-canvas .cart_list li a.remove:hover { color: var(--rf-error) !important; }
.cart-popup.cart-canvas .cart_list li .product-title { margin: 0 !important; font: 700 var(--rf-fs-md)/1.25 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.03em; }
.cart-popup.cart-canvas .cart_list li .product-title a { color: var(--rf-text) !important; text-decoration: none; }
/* the stepper changes the quantity (Molla posts molla_update_minicart_qty); its visible "Qty:" label repeats the field's name */
.cart-popup.cart-canvas .cart_list li .product-cart-details > .quantity { display: block !important; margin: 0 !important; }
.cart-popup.cart-canvas .cart_list li .product-cart-details > .quantity > label:not(.screen-reader-text) { display: none !important; }
/* Woo's "2 × $29.99" line stays: with the stepper above it, it reads as quantity × unit price */
.cart-popup.cart-canvas .cart_list li .cart-product-info { display: block; color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm) !important; }
.cart-popup.cart-canvas .cart_list li .cart-product-info .amount { color: var(--rf-text) !important; font-family: var(--rf-font-ui) !important; font-weight: 700; }
.cart-popup.cart-canvas .widget_shopping_cart_content .woocommerce-mini-cart__total {
  display: flex !important; justify-content: space-between; align-items: baseline; margin: auto 0 var(--rf-space-4) !important;
  padding: var(--rf-space-5) 0 0 !important; border-top: 3px solid var(--rf-text) !important; border-bottom: 0 !important;
  font: 700 var(--rf-fs-md)/1 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.04em; color: var(--rf-text) !important;
}
.cart-popup.cart-canvas .widget_shopping_cart_content .woocommerce-mini-cart__total :is(strong, .amount) { color: var(--rf-text) !important; }
.cart-popup.cart-canvas .widget_shopping_cart_content .woocommerce-mini-cart__total .amount { font-size: var(--rf-fs-price) !important; }
/* Molla's justify-content on this box would shrink an auto track to the button text */
.cart-popup.cart-canvas .woocommerce-mini-cart__buttons { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: var(--rf-space-3); margin: 0 !important; padding: 0 !important; }
.cart-popup.cart-canvas .woocommerce-mini-cart__buttons .button {
  width: 100% !important; max-width: none !important; margin: 0 !important; display: flex !important; justify-content: center; align-items: center;
}
.cart-popup.cart-canvas .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: transparent !important; color: var(--rf-text) !important; border: 0 !important; box-shadow: inset 0 0 0 2px var(--rf-line) !important;
}
.cart-popup.cart-canvas .woocommerce-mini-cart__empty-message { color: var(--rf-text-2) !important; padding: var(--rf-space-6) 0 !important; margin: 0 !important; }
.cart-popup.cart-canvas .cart-loading { min-height: 12rem; }
.canvas-overlay { background: rgba(10, 10, 11, 0.7) !important; backdrop-filter: none !important; }
@media (prefers-reduced-motion: reduce) { .cart-popup.cart-canvas { transition: none !important; } }

/* ---- Phone header: one row -------------------------------------------------- */
@media (max-width: 991px) {
  .header .header-main > .container, .header .header-main .header-row { min-height: 6.4rem; flex-wrap: nowrap !important; }
  .header .header-left, .header .header-right { flex-wrap: nowrap !important; align-items: center; }
  .header .header-right { gap: 0; }
  .header .header-search { display: flex !important; align-items: center; margin: 0 !important; }
  .header .logo img, .header .logo .site-logo { max-width: 4.4rem !important; }
.header .logo, .header .logo > a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  .header .shop-icons { gap: 0; }
  .header .mobile-menu-toggler { display: inline-flex !important; }
}

/* ---- Mobile menu drawer ------------------------------------------------------ */
.mobile-menu-container, .mobile-menu-wrapper, .mobile-menu-light {
  background: var(--rf-bg) !important; max-width: min(36rem, 88vw) !important; padding-top: 7.2rem !important;
}
.mobile-menu-overlay { background: rgba(10, 10, 11, 0.7) !important; backdrop-filter: none !important; }
.mobile-menu-close, .mobile-menu-container .btn-close {
  width: max(4.4rem, 44px) !important; height: max(4.4rem, 44px) !important; display: flex !important; align-items: center; justify-content: center;
  font-size: 2.2rem !important; color: var(--rf-text) !important; top: 1.4rem !important; right: 1.4rem !important;
}
.mobile-menu li a, .mobile-menu-wrapper .mobile-menu li a {
  font-family: var(--rf-font-ui) !important; font-size: var(--rf-fs-md) !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 1.4rem max(4.4rem, 44px) 1.4rem var(--rf-space-5) !important; min-height: 5.2rem; display: flex; align-items: center;
  border-bottom: 1px solid var(--rf-border) !important; border-left: 0 !important;
}
.mobile-menu li li a, .mobile-menu .sub-menu li a {
  font-family: var(--rf-font-body) !important; font-weight: 400 !important; text-transform: none; letter-spacing: 0; padding-left: 4rem !important; min-height: 4.8rem;
}
/* custom.css ships `.mobile-menu-light .mobile-menu li a:not(:hover):not(:focus) { color:#212529 !important }`,
   specificity (0,4,1): on this dark drawer that was 1.16:1. These paths are (0,4,2) and win on element count. */
.mobile-menu-container.mobile-menu-light .mobile-menu-wrapper .mobile-menu li a,
.mobile-menu-container .mobile-menu-wrapper .mobile-menus .mobile-menu li a { color: var(--rf-text) !important; }
.mobile-menu-container.mobile-menu-light .mobile-menu-wrapper .mobile-menu li li a,
.mobile-menu-container .mobile-menu-wrapper .mobile-menus .mobile-menu li li a { color: var(--rf-text-2) !important; }
.mobile-menu-container.mobile-menu-light .mobile-menu-wrapper .mobile-menu li a:is(:hover, :focus),
.mobile-menu-container.mobile-menu-light .mobile-menu-wrapper .mobile-menu li:is(.current-menu-item, .current_page_item) > a { color: var(--rf-accent-text) !important; }
.mobile-menu-container .mobile-menu-wrapper :is(.search-toggle, .search-toggle i) { color: var(--rf-text) !important; }
.mobile-menu-container .mobile-menu-wrapper .mobile-menu :is(.mmenu-btn, .mmenu-btn::before, .mmenu-btn::after) { color: var(--rf-text-2) !important; border-color: var(--rf-text-2) !important; }
.mobile-menu-wrapper .form-control, .mobile-menu-wrapper input[type="search"] { background: var(--rf-surface-2) !important; }

/* social icons (drawer + footer): square, outlined; the drawer set is Molla's social-icons-sm, sized to a 44px target here */
:is(.mobile-menu-wrapper .social-icons a, .footer .social-icon, .footer .social-icons a) {
  width: max(4.4rem, 44px) !important; height: max(4.4rem, 44px) !important; font-size: 1.6rem !important; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--rf-line) !important; border-radius: 0 !important; color: var(--rf-text) !important; background: none !important;
  transition: border-color var(--rf-t-color) var(--rf-ease), color var(--rf-t-color) var(--rf-ease);
}
:is(.mobile-menu-wrapper .social-icons a, .footer .social-icon, .footer .social-icons a):hover { border-color: var(--rf-text) !important; color: var(--rf-accent-text) !important; }

/* ---- Trust strip: four plain statements -------------------------------------- */
.footer-top {
  background: var(--rf-surface) !important; background-image: none !important;
  border-top: 1px solid var(--rf-border); padding: var(--rf-space-7) 0 !important;
}
/* the icons production shows (Darrin, 2026-10-09): accent icon in a soft accent circle beside each heading */
.footer-top .icon-box.icon-box-side { display: flex; align-items: center; gap: var(--rf-space-4); }
.footer-top .icon-box-icon, [id^="gutenberg-block"] .icon-box-icon {
  display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 4.4rem;
  width: 4.4rem; height: 4.4rem; margin: 0 !important; border-radius: 999px; background: var(--rf-accent-soft);
}
.footer-top .icon-box-icon i, [id^="gutenberg-block"] .icon-box-icon i { color: var(--rf-accent-text) !important; font-size: 2rem !important; margin: 0 !important; line-height: 1; }
.footer-top :is(.icon-box-title, h3.icon-box-title), [id^="gutenberg-block"] .icon-box-title {
  color: var(--rf-text) !important; font: 700 var(--rf-fs-md)/1.2 var(--rf-font-ui) !important;
  letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 var(--rf-space-1) !important;
}
.footer-top .icon-box-desc, [id^="gutenberg-block"] .icon-box-desc { color: var(--rf-text-2) !important; font: 400 var(--rf-fs-sm)/1.5 var(--rf-font-body) !important; margin: 0; }
/* a 2 x 2 grid on phones, not a carousel showing half the items */
@media (max-width: 767px) {
  .footer-top .owl-carousel .owl-stage-outer { overflow: visible; }
  .footer-top .owl-carousel .owl-stage { transform: none !important; width: 100% !important; display: grid !important; grid-template-columns: 1fr 1fr; gap: var(--rf-space-5) var(--rf-space-4); }
  .footer-top .owl-carousel .owl-item { width: auto !important; margin: 0 !important; }
  .footer-top .owl-nav, .footer-top .owl-dots { display: none !important; }
  .footer-top .icon-box.icon-box-side { flex-direction: column; text-align: center; gap: var(--rf-space-3); }
}

/* ---- Footer ---------------------------------------------------------------------- */
.footer { background: var(--rf-bg) !important; }
.footer :is(.widget-title, h4, .widget h4) {
  font: 700 var(--rf-fs-md)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--rf-text) !important; margin: 0 0 var(--rf-space-4) !important; padding: 0 !important;
  border: 0 !important; text-decoration: none !important;
}
.footer :is(.widget-title, .widget h4)::after, .footer :is(.widget-title, h4) span::after { display: none !important; content: none !important; }
.footer :is(.widget-title, h4) :is(span, u) { text-decoration: none !important; border: 0 !important; box-shadow: none !important; background: none !important; }
.footer :is(p, .menu li a, .widget a, li a) { font: 400 var(--rf-fs-md)/1.5 var(--rf-font-body) !important; color: var(--rf-text-2) !important; }
.footer :is(.menu li a, .widget ul li a) { display: inline-block; padding: var(--rf-space-1) 0; border: 0 !important; transition: color var(--rf-t-color) var(--rf-ease); }
.footer :is(.menu li a, .widget ul li a):is(:hover, :focus-visible) { color: var(--rf-text) !important; }
.footer-bottom, .footer-copyright { background: var(--rf-bg) !important; border-top: 1px solid var(--rf-border); }
.footer-bottom, .footer-bottom p, .footer-copyright, .footer-copyright p { color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm) !important; }
.footer-bottom .inner-wrap, .footer-bottom .container { border-top: 0 !important; }
/* a link inside a sentence needs more than colour (WCAG 1.4.1) */
.footer-bottom a, .footer-copyright a { color: var(--rf-text) !important; text-decoration: underline !important; text-underline-offset: 0.2em; }
.footer-bottom img, .footer-copyright img { filter: grayscale(1) brightness(1.6) opacity(0.75); }
#scroll-top {
  width: 4.8rem !important; height: 4.8rem !important; background: var(--rf-surface) !important; color: var(--rf-text) !important;
  border: 1px solid var(--rf-line) !important; border-radius: 0; bottom: 9.6rem !important; right: var(--rf-space-5) !important;
  display: flex !important; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity var(--rf-t-color) var(--rf-ease), visibility var(--rf-t-color) var(--rf-ease);
}
#scroll-top:is(.fixed, .show, .active) { opacity: 1; visibility: visible; }
#scroll-top:hover { border-color: var(--rf-text) !important; color: var(--rf-accent-text) !important; }
.cart-popup.cart-canvas .rf-mini-cart-empty-link { margin: 0; }
.cart-popup.cart-canvas .rf-mini-cart-empty-link a { display: inline-flex; align-items: center; min-height: 44px; color: var(--rf-text) !important; text-decoration: underline; text-underline-offset: 0.2em; font-weight: 600; }

/* ==========================================================================
   Home (page 1561, static HTML in post content + one [products] shortcode)
   Direction A on the existing markup: no copy, link or section is changed.
   The only content edit is class="rf-shelf rf-shelf-band--row" on the
   [products] shortcode, which puts the New Products grid on the shelf.
   ========================================================================== */

/* ---- Section titles: left, no flanking rules --------------------------------- */
/* custom.css draws a 50px rule either side of every .section-title h2 */
.section-title :is(h2, .h2)::before, .section-title :is(h2, .h2)::after { content: none !important; display: none !important; }
.section-title :is(h2, .h2) { font-size: var(--rf-fs-2xl) !important; line-height: 1.05 !important; text-wrap: balance; }
.section-title .text-accent { color: var(--rf-accent-text) !important; }
.section-title .row { justify-content: flex-start !important; text-align: start !important; }
.section-title .col-lg-10 { flex: 0 0 100%; max-width: 100%; }
.section-content p { font-size: var(--rf-fs-lg) !important; color: var(--rf-text-2) !important; max-width: 52ch; margin: var(--rf-space-4) 0 0 !important; }
.section, .about-us, .about-us-alt, .spotlight, .faq, .featured-product-section, .fitness-categories {
  padding-top: var(--rf-section-pad) !important; padding-bottom: var(--rf-section-pad) !important;
}

/* ---- Hero: the one load moment ------------------------------------------------ */
#hero { position: relative; }
#hero .overlay { background: linear-gradient(90deg, rgba(10, 10, 11, 0.7) 0%, rgba(10, 10, 11, 0.25) 60%, rgba(10, 10, 11, 0) 100%) !important; }
#hero .hero-content { position: relative; z-index: 2; }
@media (min-width: 992px) {
  #hero .hero-content { text-align: start !important; max-width: 72rem; margin-inline: max(var(--rf-space-5), calc((100vw - 120rem) / 2)) auto; }
  #hero .hero-actions { justify-content: flex-start !important; }
  #hero .hero-content > * { margin-inline: 0 !important; padding-inline: 0 !important; }
}
#hero h1 { font-size: var(--rf-fs-4xl) !important; line-height: 1 !important; margin-bottom: var(--rf-space-5) !important; }
#hero p { font-size: var(--rf-fs-xl) !important; color: var(--rf-text) !important; font-weight: 400 !important; max-width: 36ch; }
@media (max-width: 991px) {
  #hero p { margin-inline: auto; }
  /* centred text sits over the middle of the art on phones: an even veil, not a side fade */
  #hero .overlay { background: rgba(10, 10, 11, 0.45) !important; }
}
@media (prefers-reduced-motion: no-preference) {
  #hero .hero-content > * { animation: rf-rise 700ms var(--rf-ease) both; }
  #hero .hero-content > :nth-child(2) { animation-delay: 100ms; }
  #hero .hero-content > :nth-child(3) { animation-delay: 200ms; }
}

/* ---- Goals: statement beside an index ----------------------------------------- */
/* The intro (#product-categories) and the tiles (.fitness-categories) are sibling sections;
   from 992px the content wrapper becomes a two-column grid so they sit side by side. */
@media (min-width: 992px) {
  .home .custom-content { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: var(--rf-bg); }
  .home .custom-content > * { grid-column: 1 / -1; min-width: 0; }
  .home .custom-content > #product-categories { grid-column: 1; align-self: start; padding-right: var(--rf-space-6) !important; }   /* not sticky: a sticky grid item is held by the whole grid, so it followed the reader down the page */
  .home .custom-content > #product-categories .container {
    width: auto !important; max-width: none !important; margin: 0 !important;
    padding-left: max(var(--rf-space-5), calc((100vw - 120rem) / 2)) !important; padding-right: 0 !important;
  }
  .home .custom-content > #product-categories .section-content p { max-width: none; }
  .home .custom-content > .fitness-categories { grid-column: 2; padding-right: max(var(--rf-space-5), calc((100vw - 120rem) / 2)) !important; }
  .home #product-categories :is(h2, .h2) { font-size: var(--rf-fs-3xl) !important; }
}
#product-categories :is(h2, .h2) span { display: block; }
.fitness-categories { background: var(--rf-bg) !important; }
.fitness-categories .container-fluid { max-width: none !important; padding-inline: var(--rf-space-5) !important; }
.fitness-categories .row { display: block !important; margin: 0 !important; border-top: 1px solid var(--rf-border); }
.fitness-categories .row > [class*="col-"] { width: 100% !important; max-width: none !important; flex: none !important; padding: 0 !important; }
.fitness-categories .category-card { height: auto !important; border-radius: 0 !important; overflow: visible !important; transform: none !important; background: none !important; }
.fitness-categories .category-card > a {
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--rf-space-5);
  padding-block: var(--rf-space-4); border-bottom: 1px solid var(--rf-border); text-decoration: none; color: var(--rf-text) !important;
}
.fitness-categories .category-card img {
  grid-column: 2; grid-row: 1; width: 18.25rem !important; height: 13rem !important;   /* +30% then +25% (Darrin, 2026-10-07 / 10-09) */ object-fit: cover;
  filter: grayscale(1) contrast(1.1); transition: filter var(--rf-t-move) var(--rf-ease);
}
.fitness-categories .overlay-gradient { display: none !important; }
.fitness-categories .category-content {
  grid-column: 1; grid-row: 1; position: static !important; inset: auto !important; padding: 0 !important;
  background: none !important; display: block !important; text-align: start !important; justify-self: start; align-self: center !important; height: auto !important;
}
.fitness-categories .category-content h3 {
  margin: 0 !important; padding: 0 !important; font: 700 var(--rf-fs-index)/1 var(--rf-font-display) !important;
  letter-spacing: 0.02em !important; color: var(--rf-text) !important; text-align: start !important; transition: color var(--rf-t-color) var(--rf-ease);
}
.fitness-categories .category-content h3::before { content: none !important; }
.fitness-categories .category-card > a:is(:hover, :focus-visible) h3 { color: var(--rf-accent-text) !important; }
.fitness-categories .category-card > a:is(:hover, :focus-visible) img { filter: none; }
@media (max-width: 991px) {
  #product-categories { padding-bottom: var(--rf-space-6) !important; }
  .fitness-categories { padding-top: 0 !important; }
  .fitness-categories .container-fluid { padding-inline: 1.5rem !important; }   /* the Bootstrap gutter the intro above uses */
  .fitness-categories .category-card img { width: 13rem !important; height: 9.1rem !important; }   /* +30% then +25% */
}

/* ---- New Products: the shelf band ------------------------------------------------ */
/* the title section and the grid section are siblings; both go on the shelf */
.section-title:has(+ .featured-product-section), .featured-product-section {
  background: var(--rf-shelf) !important; color: var(--rf-ink); color-scheme: light;
}
.section-title:has(+ .featured-product-section) { padding-bottom: var(--rf-space-6) !important; }
.section-title:has(+ .featured-product-section) :is(h2, .h2) { color: var(--rf-ink) !important; }
.featured-product-section { padding-top: 0 !important; }
.featured-product-section > .container > .row { display: block !important; margin: 0 !important; }
.featured-product-section .rf-shelf { border-top: 3px solid var(--rf-ink); }
.featured-product-section:has(.woocommerce:empty), .featured-product-section:has(.products:empty) { display: none !important; }

/* ---- Feature bands: statement + definitions ------------------------------------- */
:is(.about-us, .about-us-alt) .image-frame { width: 100%; }
:is(.about-us, .about-us-alt) .image-frame img { width: 100%; height: 100% !important; object-fit: cover; }
:is(.about-us, .about-us-alt) h5 { color: var(--rf-text-2) !important; margin: 0 !important; }
:is(.about-us, .about-us-alt) h2 { font-size: var(--rf-fs-2xl) !important; margin: var(--rf-space-2) 0 var(--rf-space-4) !important; }
:is(.about-us, .about-us-alt) .text-light > p { color: var(--rf-text-2) !important; font-size: var(--rf-fs-lg) !important; }
/* the benefit items read as a definition list: a term in the accent, the definition under it, no boxes or icons
   (also used by the About page) */
.quote-benefits, .benefits-grid {
  display: grid; gap: var(--rf-space-6) var(--rf-space-6); margin-top: var(--rf-space-5);
  padding-top: var(--rf-space-5); border-top: 1px solid var(--rf-border);
}
@media (min-width: 768px) { .quote-benefits, .benefits-grid { grid-template-columns: 1fr 1fr; } }
.about-us-alt .quote-benefits { grid-template-columns: 1fr !important; }
.quote-benefits .benefit-item, .benefit-item {
  display: block !important; background: none !important; background-image: none !important; border: 0 !important;
  border-radius: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important;
}
.benefit-icon, .benefit-item .benefit-icon { display: none !important; }
.benefit-content { padding: 0 !important; margin: 0 !important; }
.benefit-item h4, .benefit-content h4 {
  font: 700 var(--rf-fs-lg)/1.2 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--rf-accent-text) !important; margin: 0 0 var(--rf-space-2) !important;
}
.benefit-content p, .benefit-item p { font-size: var(--rf-fs-md) !important; color: var(--rf-text-2) !important; margin: 0 !important; }

/* ---- Spotlight: a flat surface band ------------------------------------------------ */
.spotlight {
  background: var(--rf-surface) !important; background-image: none !important;
  border-block: 1px solid var(--rf-border); position: relative;
}
.spotlight::before { content: none !important; }
.spotlight img, .spotlight img.rounded { border-radius: 0 !important; box-shadow: none !important; }
.spotlight h5 { color: var(--rf-text-2) !important; }
.spotlight h2 { font-size: var(--rf-fs-2xl) !important; text-wrap: balance; }
.spotlight p { color: var(--rf-text-2) !important; }
.spotlight p strong, .spotlight .lead { color: var(--rf-text) !important; }

/* ---- FAQ ---------------------------------------------------------------------------- */
.faq-section-title.section { padding-bottom: var(--rf-space-5) !important; }
.faq.section { padding-top: 0 !important; padding-bottom: var(--rf-section-pad) !important; }
/* heading and list share one left edge */
.faq .row { justify-content: flex-start !important; }
.faq .col-lg-10 { flex: 0 0 100%; max-width: 100%; }
.faq .faq-list { margin: 0; border-top: 1px solid var(--rf-border); }
.faq .faq-item {
  background: none !important; border: 0 !important; border-bottom: 1px solid var(--rf-border) !important;
  border-radius: 0 !important; margin: 0 !important; box-shadow: none !important;
}
/* custom.css sets `.faq .faq-list .faq-item h3 { font-family: inter !important }` (0,4,1); this path outranks it */
.faq .faq-list .faq-item h3, .faq .faq-item h3 { font: 600 var(--rf-fs-lg)/1.35 var(--rf-font-body) !important; color: var(--rf-text) !important; }
.faq .faq-item h3 span { border-radius: 0 !important; }
.faq .faq-content, .faq .faq-content p { color: var(--rf-text-2) !important; }
.faq .faq-cta {
  display: flex; align-items: center; justify-content: flex-start; gap: var(--rf-space-5); flex-wrap: wrap;
  padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; margin-top: var(--rf-space-6) !important;
}
.faq .faq-cta p { margin: 0; font-size: var(--rf-fs-md) !important; color: var(--rf-text-2) !important; }

/* ---- Newsletter ---------------------------------------------------------------------- */
.newsletter-section {
  min-height: auto !important; padding: var(--rf-section-pad) 0 !important; position: relative; isolation: isolate;
  border-top: 1px solid var(--rf-border);
}
.newsletter-section .parallax-bg, .newsletter-section .rellax {
  position: absolute !important; inset: 0 !important; transform: none !important; top: 0 !important; height: 100% !important;
  background-size: cover; background-position: center;
}
.newsletter-section::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(10, 10, 11, 0.88); }
.newsletter-section .container { position: relative; z-index: 2; }
.newsletter-section h5 { color: var(--rf-accent-text) !important; }
.newsletter-section h2 { font-size: var(--rf-fs-2xl) !important; }
.newsletter-section p { color: var(--rf-text-2) !important; }
.newsletter-form .wpcf7-form p { display: flex; gap: var(--rf-space-3); align-items: stretch; flex-wrap: wrap; margin: 0; }
.newsletter-form .wpcf7-form-control-wrap { flex: 1 1 26rem; position: relative; }
.newsletter-form .wpcf7-submit { margin: 0 !important; }
.newsletter-form .wpcf7-form-control:not(.wpcf7-submit) { height: var(--rf-control-h) !important; min-height: var(--rf-control-h); }
.newsletter-form .wpcf7-spinner { position: absolute; right: var(--rf-space-3); top: 50%; transform: translateY(-50%); margin: 0 !important; }
.newsletter-form .wpcf7-not-valid-tip { position: absolute; left: 0; top: calc(100% + var(--rf-space-1)); }
@media (max-width: 575px) {
  .newsletter-form .wpcf7-form p { flex-direction: column; }
  .newsletter-form :is(.wpcf7-form-control-wrap, .wpcf7-submit) { width: 100%; }
}
.faq .faq-item h3 .question { font: inherit !important; color: inherit !important; }   /* Molla set the home FAQ questions in Inter */

/* ==========================================================================
   Product archives: shop, category, tag
   The page body is the shelf; products sit on it (the grid gets .rf-shelf from
   rf-redesign.php, which also drops Molla's isotope so CSS lays it out).
   ========================================================================== */

/* ---- Breadcrumb (every page) --------------------------------------------- */
.woocommerce-breadcrumb, .breadcrumb, .woocommerce-breadcrumb a, .breadcrumb a {
  font: 400 var(--rf-fs-sm)/1.4 var(--rf-font-body) !important; color: var(--rf-text-2) !important;
}
.woocommerce-breadcrumb a:is(:hover, :focus-visible), .breadcrumb a:is(:hover, :focus-visible) { color: var(--rf-text) !important; }
.breadcrumb-nav, .woocommerce-breadcrumb.divider-active .breadcrumb-wrap { background: transparent !important; border-color: var(--rf-border) !important; }

/* ---- The shelf band ------------------------------------------------------------ */
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .page-content {
  /* the system paints .page-content dark with !important; the archive body is the shelf, and text on it is ink */
  --rf-text: var(--rf-ink); --rf-text-2: var(--rf-ink);
  background: var(--rf-shelf) !important; color: var(--rf-ink); color-scheme: light; padding-bottom: var(--rf-section-pad);
}
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .page-content > .content-area > .site-main > .container-fluid {
  max-width: calc(120rem + 2 * var(--rf-space-5)); margin-inline: auto; padding-inline: var(--rf-space-5);
}
.woocommerce-products-header { padding: var(--rf-space-8) 0 var(--rf-space-5) !important; margin: 0 !important; }
.woocommerce-products-header::after { content: none !important; }
/* custom.css hides this title with `.archive .woocommerce-products-header h1 { display:none !important }`;
   the same selector, loaded later, brings it back */
.archive .woocommerce-products-header h1, .woocommerce-products-header .page-title, .woocommerce-products-header__title {
  display: block !important; margin: 0 !important; font: 700 var(--rf-fs-3xl)/1 var(--rf-font-display) !important;
  text-transform: uppercase; letter-spacing: 0.02em; color: var(--rf-ink) !important;
}
.woocommerce-products-header__title::after, .woocommerce-products-header .page-title::after { content: none !important; display: none !important; }
.term-description, .woocommerce-products-header .term-description p { color: var(--rf-ink) !important; max-width: 62ch; margin-top: var(--rf-space-3); }

/* ---- Category links ---------------------------------------------------------------- */
.rf-cat-links { margin: 0 0 var(--rf-space-6); border-bottom: 3px solid var(--rf-ink); }
.rf-cat-links ul {
  display: flex; gap: var(--rf-space-5); margin: 0; padding: 0; list-style: none;
  overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--rf-ink) transparent; overscroll-behavior-x: contain;
}
.rf-cat-links li { flex: none; margin: 0; }
.rf-cat-links a {
  display: inline-flex; align-items: center; min-height: var(--rf-control-h);
  font: 700 var(--rf-fs-md)/1 var(--rf-font-ui); letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap;
  color: var(--rf-ink) !important; text-decoration: none !important; border-bottom: 3px solid transparent !important; margin-bottom: -3px;
}
/* custom.css colours every archive link's border (`.archive a { border-color … !important }`) */
.rf-cat-links a:hover { color: var(--rf-accent-pressed) !important; }
.rf-shelf .ratings-container { position: static !important; transform: none !important; margin: var(--rf-space-1) 0 var(--rf-space-2) !important; }
.rf-cat-links a[aria-current="page"] { border-bottom-color: var(--rf-accent) !important; }

/* ---- Toolbox (only where Molla prints it) ---------------------------------------- */
/* the list / 2 / 3 / 4-column switches drive Molla's isotope layouts, which the CSS grid replaces */
.toolbox .toolbox-layout { display: none !important; }
.toolbox, .woocommerce-result-count { color: var(--rf-ink) !important; font-size: var(--rf-fs-sm) !important; }
.toolbox :is(.orderby, select) {
  min-height: var(--rf-control-h-sm); background: #fff !important; color: var(--rf-ink) !important;
  border: 1px solid var(--rf-ink) !important; border-radius: 0 !important; font-size: var(--rf-fs-sm) !important;
}

/* ---- Grid edge: the shelf band, not the cards, carries the background ------------ */
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .rf-shelf.products { border-top: 0; }
.woocommerce-info.woocommerce-no-products-found, .woocommerce-no-products-found .woocommerce-info { background: #fff !important; color: var(--rf-ink) !important; border-color: var(--rf-ink) !important; }
.woocommerce-pagination .page-numbers :is(a, span) {
  min-width: max(4.4rem, 44px); min-height: max(4.4rem, 44px); display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--rf-ink) !important; color: var(--rf-ink) !important; background: transparent !important; border-radius: 0 !important;
}
.woocommerce-pagination .page-numbers .current { background: var(--rf-ink) !important; color: var(--rf-shelf) !important; }
@media (max-width: 767px) {
  .toolbox, .toolbox > *, .toolbox .toolbox-info, .toolbox .toolbox-sort { justify-content: flex-start !important; text-align: start !important; margin-inline: 0 !important; }
  .toolbox { display: flex; flex-wrap: wrap; gap: var(--rf-space-3); align-items: flex-start !important; }   /* Molla stacks it as a column on phones */
}

/* ==========================================================================
   Product page
   Order (rf-redesign.php): title, rating, price, options, quantity + button,
   trust chips, short description, meta. Options are buttons (rf-product.js,
   .rf-choices in the system); on phones the buy row pins to the bottom edge
   once it scrolls away (.rf-buy-pinned).
   ========================================================================== */

/* ---- Layout -------------------------------------------------------------------- */
.single-product .product-intro { padding-top: var(--rf-space-5); }
.single-product .product-intro > .row { row-gap: var(--rf-space-6); }
@media (min-width: 992px) {
  .single-product .entry-summary, .single-product .summary {
    position: sticky; top: calc(7.2rem + var(--rf-space-5) + var(--wp-admin--admin-bar--height, 0px)); align-self: flex-start;
  }
}

/* ---- Gallery: the product on the shelf ------------------------------------------- */
.single-product .woocommerce-product-gallery { background: none !important; padding: 0 !important; border-radius: 0 !important; }
.single-product .woocommerce-product-gallery__image { background: var(--rf-shelf); }
.single-product .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1; object-fit: contain; background: none !important; mix-blend-mode: multiply; }
.single-product .product-image-gallery .product-thumb a { display: block; background: var(--rf-shelf); border: 2px solid transparent !important; border-radius: 0 !important; }
.single-product .product-image-gallery .product-thumb a.active { border-color: var(--rf-text) !important; }
.single-product .product-image-gallery .product-thumb img { aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.single-product .sp-actions-wrapper { display: none !important; }
.single-product .product-gallery .owl-nav button { min-width: 44px !important; min-height: 44px !important; }   /* the expand icon repeats the image link */

/* ---- Title, rating, price ------------------------------------------------------------- */
.single-product .product_title {
  font: 700 var(--rf-fs-3xl)/1 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.02em;
  color: var(--rf-text) !important; margin: 0 0 var(--rf-space-3) !important;
}
.single-product .summary .woocommerce-product-rating { margin: 0 0 var(--rf-space-3) !important; }
.single-product .summary .woocommerce-product-rating :is(.star-rating, .star-rating span::before) { color: var(--rf-text) !important; }
.single-product .summary .woocommerce-review-link { color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm) !important; }
/* custom.css paints `.woocommerce div.product p.price` in the accent at (0,3,2) !important; prices are text */
.single-product div.product .summary > p.price, .single-product div.product .summary .woocommerce-variation-price .price {
  font: 700 var(--rf-fs-price-lg)/1 var(--rf-font-ui) !important; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-5) !important;
}
.single-product div.product .summary .price :is(.woocommerce-Price-amount, bdi, .woocommerce-Price-currencySymbol) { color: inherit !important; }
.single-product .summary .price del { color: var(--rf-text-2) !important; font-size: 0.6em; }
.single-product .summary .price ins { text-decoration: none; background: var(--rf-volt); color: var(--rf-ink) !important; padding: 0 0.15em; }

/* ---- Options + buy row ---------------------------------------------------------------- */
.single-product form.cart { display: block; margin: 0 0 var(--rf-space-5) !important; padding: 0 !important; position: static !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.single-product form.cart .rf-choices { margin-bottom: var(--rf-space-5); }
.single-product .woocommerce-variation.single_variation:not(:empty) { margin-bottom: var(--rf-space-4); color: var(--rf-text-2); }
.single-product .woocommerce-variation-description p { color: var(--rf-text-2) !important; font-size: var(--rf-fs-md); margin: 0 0 var(--rf-space-2); }
/* simple products print the stock line straight into the summary; it inherited Bootstrap's dark body text
   (1.28:1 on Creatine, 2026-10-15), so both kinds share one style */
.single-product :is(.woocommerce-variation-availability, .summary) .stock { font: 700 var(--rf-fs-sm)/1.2 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-text-2) !important; }
.single-product :is(.woocommerce-variation-availability, .summary) .out-of-stock { color: var(--rf-error) !important; }
.single-product :is(.woocommerce-variation-add-to-cart, form.cart:not(.variations_form)) {
  display: flex !important; flex-wrap: wrap; gap: var(--rf-space-3); align-items: stretch;
}
.single-product form.cart .quantity { display: flex; align-items: stretch; margin: 0 !important; }
.single-product form.cart .quantity > label:not(.screen-reader-text) { display: none !important; }   /* "Qty:" repeats the field's name */
.single-product .single_add_to_cart_button { flex: 1 1 20rem; margin: 0 !important; }
/* WooCommerce keeps the button clickable while no option is chosen and answers with an alert;
   it reads as unavailable rather than broken */
.single-product .single_add_to_cart_button.disabled { opacity: 0.45 !important; cursor: not-allowed; }
.single-product .yith-wcwl-add-to-wishlist { flex-basis: 100%; margin: 0 !important; }
.single-product .yith-wcwl-add-to-wishlist a {
  display: inline-flex !important; align-items: center; gap: var(--rf-space-2); width: auto !important; height: auto !important; min-height: max(4.4rem, 44px);
  border: 0 !important; padding: 0 !important; font: 600 var(--rf-fs-sm)/1 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--rf-text-2) !important; background: none !important;
}
.single-product .yith-wcwl-add-to-wishlist a:hover { color: var(--rf-text) !important; }
.single-product .yith-wcwl-add-to-wishlist a :is(i, svg) { font-size: 1.6rem; }

/* the phone buy row, pinned (rf-product.js) */
@media (max-width: 991px) {
  .single-product .rf-buy-pinned {
    position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 900; margin: 0 !important;
    padding: var(--rf-space-3) var(--rf-space-4) calc(var(--rf-space-3) + env(safe-area-inset-bottom)) !important;
    background: var(--rf-surface) !important; border-top: 1px solid var(--rf-border-strong); flex-wrap: nowrap !important;
  }
  .single-product .rf-buy-pinned .yith-wcwl-add-to-wishlist { display: none !important; }
  .single-product .rf-buy-pinned .single_add_to_cart_button { flex: 1 1 auto; }
  body.single-product:has(.rf-buy-pinned) #scroll-top { bottom: 10.4rem !important; }
}

/* ---- Trust chips under the button ------------------------------------------------------ */
.single-product .summary .rf-trust-chips {
  display: flex; flex-wrap: wrap; gap: var(--rf-space-2) var(--rf-space-5); margin: 0 0 var(--rf-space-6);
  padding-top: var(--rf-space-4); border-top: 1px solid var(--rf-border);
}
.single-product .summary .rf-trust-chips span {
  font: 700 var(--rf-fs-sm)/1.2 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-text) !important;
  background: none !important; border: 0 !important; padding: 0 !important;
}

/* ---- Short description ----------------------------------------------------------------- */
.single-product .woocommerce-product-details__short-description { margin-bottom: var(--rf-space-6); }
.single-product .woocommerce-product-details__short-description p { color: var(--rf-text-2) !important; font-size: var(--rf-fs-md); line-height: 1.65; }
.single-product .woocommerce-product-details__short-description strong { color: var(--rf-text) !important; }
.single-product .entry-summary ul { list-style: none; padding: 0; display: grid; gap: var(--rf-space-2); margin: var(--rf-space-4) 0; }
.single-product .entry-summary ul li { position: relative; padding-left: var(--rf-space-5); font-size: var(--rf-fs-md); color: var(--rf-text) !important; }
.single-product .entry-summary ul li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.8rem; height: 0.8rem; background: var(--rf-accent); transform: none; }

/* ---- Meta + share ------------------------------------------------------------------------ */
/* custom.css hides the meta block; production shows it (the old stylesheet forced it back) */
.single-product .product_meta { border-top: 1px solid var(--rf-border); padding-top: var(--rf-space-4); display: grid !important; gap: var(--rf-space-4); }
.single-product .product_meta .product-meta-wrap { display: grid; gap: var(--rf-space-1); }
.single-product .product_meta :is(.sku_wrapper, .posted_in, .tagged_as) { display: block !important; font-size: var(--rf-fs-sm) !important; color: var(--rf-text-2) !important; }
.single-product .product_meta :is(.sku_wrapper, .posted_in, .tagged_as) a { display: inline !important; color: var(--rf-text) !important; font-size: inherit !important; }
.single-product .product_meta .sku { color: var(--rf-text) !important; }
.single-product .product_meta .social-icons { display: flex !important; align-items: center; gap: var(--rf-space-3); flex-wrap: wrap; margin: 0; }
.single-product .product_meta .social-label { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-text-2); }
.single-product .product_meta .social-icons .social-icons { display: flex; gap: var(--rf-space-2); }
.single-product .product_meta .social-icon {
  width: max(4.4rem, 44px) !important; height: max(4.4rem, 44px) !important; display: inline-flex !important; align-items: center; justify-content: center;
  border: 1px solid var(--rf-line) !important; border-radius: 0 !important; color: var(--rf-text) !important; background: none !important; font-size: 1.6rem !important; margin: 0 !important;
}
.single-product .product_meta .social-icon:hover { border-color: var(--rf-text) !important; color: var(--rf-accent-text) !important; }

/* ---- Tabs ---------------------------------------------------------------------------------- */
.woocommerce-tabs { border: 0 !important; padding: 0 !important; margin-top: var(--rf-section-pad); }
.woocommerce-tabs .section, .woocommerce-tabs #faq.section { padding: 0 !important; }
/* the FAQ in the tab is a whole page section with its own container and gutters; line it up with the tabs */
.woocommerce-tabs .faq > .container { padding-inline: 0 !important; max-width: none !important; }
.woocommerce-tabs .faq .row { margin-inline: 0 !important; }
.woocommerce-tabs .faq .row > .col { padding-inline: 0 !important; }
.woocommerce-tabs ul.tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: var(--rf-space-5); border-bottom: 1px solid var(--rf-border) !important; justify-content: flex-start !important; padding: 0 !important; margin: 0 !important; background: none !important; }
.woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; flex: none; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a {
  display: inline-flex; align-items: center; justify-content: center; min-height: var(--rf-control-h); min-width: 44px; padding: 0 !important;
  font: 700 var(--rf-fs-md)/1 var(--rf-font-ui) !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; white-space: nowrap;
  color: var(--rf-text-2) !important; border: 0 !important; border-bottom: 3px solid transparent !important; margin-bottom: -1px; background: none !important; box-shadow: none !important;
}
.woocommerce-tabs ul.tabs li:is(.active) a, .woocommerce-tabs ul.tabs li a.active, .woocommerce-tabs ul.tabs li a:not(.collapsed) { color: var(--rf-text) !important; border-bottom-color: var(--rf-accent) !important; }
.woocommerce-tabs .tab-content, .woocommerce-tabs .panel { border: 0 !important; background: none !important; padding: var(--rf-space-6) 0 0 !important; }
.woocommerce-tabs .panel > h2 { font-size: var(--rf-fs-2xl) !important; margin-bottom: var(--rf-space-4); }
.woocommerce-tabs .panel :is(p, li) { color: var(--rf-text-2) !important; }
.woocommerce-tabs table.shop_attributes :is(th, td) { border-color: var(--rf-border) !important; color: var(--rf-text) !important; background: none !important; padding: var(--rf-space-3) var(--rf-space-4) !important; }
.woocommerce-tabs table.shop_attributes th { font: 700 var(--rf-fs-sm)/1.3 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; }
/* custom.css boxes the tab's FAQ questions in #efefef at (0,5,1) !important */
.single-product .woocommerce-tabs .section.faq .faq-list .faq-item h3,
.faq-item > h3, .faq-header {
  min-height: 5.6rem; display: flex !important; align-items: center; gap: var(--rf-space-4); padding: var(--rf-space-3) 0 !important;
  font: 600 var(--rf-fs-lg)/1.35 var(--rf-font-body) !important; color: var(--rf-text) !important; background: none !important;
  border: 0 !important; width: 100%; text-align: left; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important; cursor: pointer;
}
.faq-item .question { flex: 1 1 auto; min-width: 0; font: inherit !important; color: inherit !important; text-transform: none !important; }
.single-product .woocommerce-tabs .section.faq .faq-list .faq-item h3 .question { color: var(--rf-text) !important; }   /* custom.css: #212529, 1.28:1 here */
.faq-item .faq-toggle { flex: none; margin-left: auto !important; color: var(--rf-text-2) !important; font-size: 1.8rem !important; background: none !important; border: 0 !important; transition: transform var(--rf-t-move) var(--rf-ease); }
.faq-item:is(.faq-active, .active) .faq-toggle { transform: rotate(45deg); }
.faq-item:is(.faq-active, .active) { border-left: 0 !important; }
.faq-item .num, .faq-number { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui) !important; color: var(--rf-accent-text) !important; }
.faq-content, .accordion-body { padding: 0 0 var(--rf-space-4) !important; color: var(--rf-text-2); font-size: var(--rf-fs-md); }
.faq-item, .woocommerce-tabs .faq-item { background: none !important; border: 0 !important; border-bottom: 1px solid var(--rf-border) !important; border-radius: 0 !important; margin: 0 !important; }

/* ---- Reviews ------------------------------------------------------------------------------- */
#reviews .commentlist { padding: 0; }
#reviews .comment_container, #reviews .comment-text { background: none !important; border: 0 !important; border-radius: 0 !important; }
#reviews .commentlist > li { border-bottom: 1px solid var(--rf-border); padding: var(--rf-space-4) 0; margin: 0; }
#reviews .star-rating, #reviews .star-rating span::before, #reviews .stars a { color: var(--rf-text) !important; }

/* Gate 4: before Owl starts, Molla's spacing class gives the carousel -5px margins and the slide 5px padding, so the
   main photo is 10px narrower than after Owl moves it into its stage. Chrome counts the larger repaint as a new
   largest paint, so the phone LCP was stamped when Owl finished (~10 s) although the photo showed at ~2.5 s.
   Same box before and after: no layout shift and LCP lands when the photo first paints. */
.product-gallery-carousel:not(.owl-loaded) { margin-inline: 0 !important; }
.product-gallery-carousel:not(.owl-loaded) > .woocommerce-product-gallery__wrapper { padding-inline: 0 !important; }

/* Category/tag links in the product meta are white beside grey text with no underline: 2.2:1 between link and text
   fails WCAG 1.4.1 (axe link-in-text-block, merch products that carry tags). Underline them (2026-10-26). */
.single-product .product_meta :is(.posted_in, .tagged_as) a { text-decoration: underline !important; text-underline-offset: 0.2em; }

/* Wishlist heart in the buy row: [qty] [add to cart, grows] [heart] (production stage 57, Darrin 2026-10-17).
   Preview never showed the wishlist control at all: molla-child custom.css hides .yith-wcwl-add-button with
   !important (an old rule production overrides in rf-redesign.css), so the text link designed above stayed 0x0.
   Carried 2026-10-26 as production decided it: a square control the height of the field and the button, the
   heart only, its "Add to wishlist" text kept for screen readers. The pinned phone bar still leaves it out. */
.single-product form.cart .yith-wcwl-add-to-wishlist { flex: 0 0 var(--rf-control-h) !important; align-self: stretch; }
.single-product form.cart .yith-wcwl-add-to-wishlist :is(.yith-wcwl-add-button, .yith-wcwl-wishlistaddedbrowse, .yith-wcwl-wishlistexistsbrowse) { display: block !important; height: 100%; }
.single-product form.cart .yith-wcwl-add-to-wishlist a {
  display: flex !important; align-items: center; justify-content: center; position: relative;
  width: var(--rf-control-h) !important; height: 100% !important; min-height: var(--rf-control-h);
  border: 1px solid var(--rf-line) !important; color: var(--rf-text) !important;
  transition: border-color var(--rf-t-color) var(--rf-ease), color var(--rf-t-color) var(--rf-ease);
}
.single-product form.cart .yith-wcwl-add-to-wishlist a:is(:hover, :focus-visible) { border-color: var(--rf-accent-text) !important; color: var(--rf-accent-text) !important; }
.single-product form.cart .yith-wcwl-add-to-wishlist a::before { display: none !important; }   /* Molla's icon-font heart on top of YITH's SVG */
.single-product form.cart .yith-wcwl-add-to-wishlist a svg { display: block !important; width: 2.2rem !important; height: 2.2rem !important; margin: 0 !important; }
.single-product form.cart .yith-wcwl-add-to-wishlist a :is(span, .feedback) {
  position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important;
}
/* the simple-product form is the flex row itself, and its clearfix ::before/::after became flex items: each took a
   gap, so the subscribe options started 12px in and the heart ended 12px short of the column */
.single-product form.cart:not(.variations_form)::before, .single-product form.cart:not(.variations_form)::after { content: none !important; display: none !important; }

/* AUD-060 (production stage 58): Molla draws an empty striped "stock progress" bar under In stock. */
.single-product .stock-progress { display: none !important; }
/* phones: one buy row (stage 57). At 360px the 48-64-48 stepper + a 20rem button + the heart wrapped the heart onto its
   own line; a 44-44-44 stepper (still 44px targets) and a button that shrinks from 0 fit all three. */
@media (max-width: 575px) {
  .single-product form.cart .quantity :is(.input-spinner, .input-group) { grid-template-columns: 44px 44px 44px; }
  .single-product form.cart .single_add_to_cart_button { flex: 1 1 0 !important; min-width: 0; padding-inline: var(--rf-space-3) !important; }
}

/* ==========================================================================
   Cart and checkout (shared parts first, then cart, then checkout)
   Lighter: items as plain rows on the page, the summary as a column of text
   with one ink rule above the total. No boxes inside boxes.
   ========================================================================== */

/* ---- Shared ------------------------------------------------------------------ */
/* Woo's AJAX loading veil is white by default and flashes on a dark page */
.blockUI.blockOverlay { background: var(--rf-bg) !important; opacity: 0.6 !important; }
.rf-steps { display: flex; gap: var(--rf-space-2); align-items: center; justify-content: flex-start; flex-wrap: wrap; margin: var(--rf-space-6) 0 var(--rf-space-5); }
.rf-steps span { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rf-text-2); }
.rf-steps span.is-current { color: var(--rf-text); text-decoration: underline 3px var(--rf-accent); text-underline-offset: 0.5em; }
.rf-steps i { color: var(--rf-line); font-style: normal; }
.rf-trust-chips { display: flex; flex-wrap: wrap; gap: var(--rf-space-2) var(--rf-space-5); margin-top: var(--rf-space-4); }
.rf-trust-chips span {
  font: 700 var(--rf-fs-sm)/1.2 var(--rf-font-ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2) !important;
  background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important;
}
:is(.woocommerce-cart, .woocommerce-checkout) .summary,
:is(.woocommerce-cart, .woocommerce-checkout) .summary.sticky-sidebar { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
:is(.woocommerce-cart, .woocommerce-checkout) .page-content .amount { color: var(--rf-text) !important; font-family: var(--rf-font-ui) !important; font-weight: 700; }
:is(.woocommerce-cart, .woocommerce-checkout) .page-content :is(.amount bdi, .woocommerce-Price-currencySymbol) { color: inherit !important; }

/* ---- Cart: the item rows ----------------------------------------------------------- */
/* On the cart page the notice's "View cart" button links to the page you are on */
.woocommerce-cart .woocommerce-message .wc-forward { display: none !important; }
.woocommerce-cart .page-content table.shop_table.cart { border: 0 !important; border-top: 3px solid var(--rf-text) !important; border-radius: 0 !important; margin: 0 0 var(--rf-space-5) !important; background: none !important; }
.woocommerce-cart table.cart :is(th, td) { border: 0 !important; border-bottom: 1px solid var(--rf-border) !important; background: none !important; padding: var(--rf-space-4) var(--rf-space-3) !important; vertical-align: middle; color: var(--rf-text) !important; }
.woocommerce-cart table.cart thead th { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui) !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rf-text-2) !important; padding-block: var(--rf-space-3) !important; }
.woocommerce-cart table.cart td.product-thumbnail { width: 10.4rem; padding-inline-start: 0 !important; }
.woocommerce-cart table.cart td.product-quantity { width: 18rem; }
.woocommerce-cart table.cart :is(td, th):is(.product-price, .product-subtotal) { white-space: nowrap; }
.woocommerce-cart table.cart td.product-thumbnail .product-media { width: 8rem; aspect-ratio: 3 / 4; background: var(--rf-shelf); margin: 0; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; border-radius: 0 !important; background: none !important; }
.woocommerce-cart table.cart td.product-name a { font: 600 var(--rf-fs-md)/1.35 var(--rf-font-body) !important; color: var(--rf-text) !important; text-decoration: none; }
/* Molla clips long names to one line with an ellipsis; flavors live at the end of the name */
.woocommerce-cart table.cart td.product-name :is(span, a) { display: block; text-align: start !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.woocommerce-cart table.cart td.product-quantity .quantity { justify-content: flex-start !important; margin: 0 !important; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--rf-accent-text) !important; }
.woocommerce-cart table.cart td.product-quantity .quantity > label:not(.screen-reader-text) { display: none !important; }
.woocommerce-cart table.cart td.product-remove { width: 4.8rem; text-align: end; padding-inline-end: 0 !important; }
.woocommerce-cart table.cart a.remove {
  width: max(4.4rem, 44px) !important; height: max(4.4rem, 44px) !important; display: inline-flex !important; align-items: center; justify-content: center;
  font-size: 2.4rem !important; line-height: 1 !important; color: var(--rf-text-2) !important; background: none !important; border: 0 !important; border-radius: 0 !important;
}
.woocommerce-cart table.cart a.remove:hover { color: var(--rf-error) !important; }

/* coupon + update */
.woocommerce-cart .woocommerce-cart-form .actions { display: flex; flex-wrap: wrap; gap: var(--rf-space-3); justify-content: space-between; align-items: flex-start; padding: 0 !important; border: 0 !important; }
.woocommerce-cart .actions .coupon { display: flex; flex-wrap: wrap; gap: var(--rf-space-2); flex: 1 1 32rem; margin: 0 !important; }
/* WooCommerce writes an invalid-coupon message inside this row; it takes its own line instead of squeezing the field */
.woocommerce-cart .actions .coupon .coupon-error-notice { flex: 1 0 100%; order: 3; margin: 0 !important; color: var(--rf-error) !important; font-size: var(--rf-fs-sm) !important; }
.woocommerce-cart .actions .coupon .input-text[aria-invalid="true"] { box-shadow: inset 0 0 0 2px var(--rf-error) !important; }
.woocommerce-cart .actions .coupon .input-text { flex: 1 1 20rem; min-width: 0; max-width: 32rem !important; min-height: var(--rf-control-h); margin: 0 !important; width: auto !important; }
/* Molla hides this button's own label (text-indent -9999px, 40px wide) behind an arrow; it shows "Apply coupon" again */
.woocommerce-cart .actions :is(button[name="apply_coupon"], button[name="update_cart"]) {
  text-indent: 0 !important; width: auto !important; max-width: none !important; flex: 0 0 auto !important;
  font-size: var(--rf-fs-md) !important; min-height: var(--rf-control-h); margin: 0 !important; padding: 0 var(--rf-space-5) !important;
  background: transparent !important; color: var(--rf-text) !important; box-shadow: inset 0 0 0 2px var(--rf-line) !important; border: 0 !important;
}
.woocommerce-cart .actions button[name="apply_coupon"]::before, .woocommerce-cart .actions button[name="apply_coupon"]::after,
.woocommerce-cart .actions button[name="update_cart"]::after, .woocommerce-cart .actions button[name="update_cart"] i { content: none !important; display: none !important; }
.woocommerce-cart .actions button:is(:hover, :focus-visible):not(:disabled) { box-shadow: inset 0 0 0 2px var(--rf-text) !important; }
.woocommerce-cart .actions button:disabled { opacity: 0.45 !important; }

/* ---- Cart: the summary (not sticky: Molla's sticky-sidebar script is off on preview, theme mod sidebar_sticky = 0;
   it fought CSS sticky and the checkout summary is taller than the screen) ------------------------------------------------------------- */
.woocommerce-cart .cart_totals { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
.woocommerce-cart .cart_totals h2 {
  font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.02em; color: var(--rf-text) !important;
  margin: 0 0 var(--rf-space-3) !important; padding: 0 0 var(--rf-space-3) !important; border-bottom: 3px solid var(--rf-text) !important; background: none !important;
}
.woocommerce-cart .cart_totals table.shop_table { border-collapse: collapse !important; border-spacing: 0 !important; border: 0 !important; margin: 0 !important; background: none !important; border-radius: 0 !important; }
.woocommerce-cart .cart_totals table :is(tr, th, td) { border: 0 !important; background: none !important; }
/* custom.css makes each row a flex row, so the rule belongs to the row */
.woocommerce-cart .cart_totals table tr { display: flex !important; justify-content: space-between; gap: var(--rf-space-4); border-bottom: 1px solid var(--rf-border) !important; }
.woocommerce-cart .cart_totals table :is(th, td) { padding: var(--rf-space-3) 0 !important; vertical-align: top; }
.woocommerce-cart .cart_totals table td { flex: 1 1 auto; }
.woocommerce-cart .cart_totals table th { font: 700 var(--rf-fs-sm)/1.4 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2) !important; flex: none; }
.woocommerce-cart .cart_totals table td { text-align: end; color: var(--rf-text) !important; font-size: var(--rf-fs-md); }
.woocommerce-cart .cart_totals table td::before { display: none !important; }
.woocommerce-cart .cart_totals tr.shipping td { color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm) !important; }
.woocommerce-cart .cart_totals tr.shipping td > label { display: none !important; }   /* "Estimate for Your Country" repeats the row */
.woocommerce-cart .cart_totals .shipping-calculator-button { box-shadow: none !important; background: none !important; padding: 0 !important; outline-offset: 2px; color: var(--rf-text) !important; text-decoration: underline !important; text-underline-offset: 0.2em; border: 0 !important; display: inline-block; min-height: 44px; line-height: 44px; }
.woocommerce-cart .cart_totals .shipping-calculator-form { text-align: start; margin-top: var(--rf-space-3); }
.woocommerce-cart .cart_totals tr.order-total { border-bottom: 0 !important; align-items: baseline; }
.woocommerce-cart .cart_totals tr.order-total :is(th, td) { border-top: 0 !important; border-bottom: 0 !important; padding-top: var(--rf-space-4) !important; color: var(--rf-text) !important; }
.woocommerce-cart .cart_totals tr.order-total :is(th, td)::before, .woocommerce-cart .cart_totals tr.order-total :is(th, td)::after { content: none !important; display: none !important; }
.woocommerce-cart .cart_totals tr.order-total th { font-size: var(--rf-fs-md) !important; color: var(--rf-text) !important; }
.woocommerce-cart .cart_totals tr.order-total .amount { font-size: var(--rf-fs-price-lg) !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--rf-space-4) 0 0 !important; margin: 0 !important; position: static !important; background: none !important; border: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; margin: 0 !important; }
@media (min-width: 992px) {
  .woocommerce-cart .shop-table-wrapper > .col-lg-4 { padding-inline-start: var(--rf-space-7); }
}

/* ---- Cart on phones: each item is one compact row ---------------------------------- */
@media (max-width: 767px) {
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tr.cart_item {
    display: grid !important; grid-template-columns: 8rem minmax(0, 1fr) auto; grid-template-areas: "img name remove" "img price price" "img qty total";
    column-gap: var(--rf-space-4); row-gap: var(--rf-space-2); align-items: center; padding: var(--rf-space-4) 0 !important;
    border: 0 !important; border-bottom: 1px solid var(--rf-border) !important; position: relative;
  }
  .woocommerce-cart table.cart tr.cart_item td { display: block !important; border: 0 !important; padding: 0 !important; margin: 0 !important; justify-self: stretch; text-align: start !important; width: auto !important; }
  .woocommerce-cart table.cart tr.cart_item td::before { display: none !important; content: none !important; }   /* the data-title labels; the row's shape says what each value is */
  .woocommerce-cart table.cart td.product-thumbnail { grid-area: img; align-self: start; }
  .woocommerce-cart table.cart td.product-name { grid-area: name; }
  .woocommerce-cart table.cart td.product-price { grid-area: price; color: var(--rf-text-2) !important; }
  .woocommerce-cart table.cart td.product-price .amount { color: var(--rf-text-2) !important; font-weight: 600; }
  .woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
  .woocommerce-cart table.cart td.product-subtotal { grid-area: total; text-align: end !important; }
  .woocommerce-cart table.cart td.product-remove { grid-area: remove; align-self: start; margin-top: calc(var(--rf-space-2) * -1); }
  .woocommerce-cart table.cart tr.cart_item .quantity .input-spinner { grid-template-columns: var(--rf-control-h-sm) 4.8rem var(--rf-control-h-sm); }
  .woocommerce-cart table.cart tbody { display: block; }
  .woocommerce-cart .shop-table-wrapper > .col-lg-4 { margin-top: var(--rf-space-7); }
}

/* ---- Checkout: the form -------------------------------------------------------------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: var(--rf-space-5); }
.woocommerce-checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) > h3,
.woocommerce-checkout #order_review_heading {
  font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.02em; color: var(--rf-text) !important;
  margin: 0 0 var(--rf-space-4) !important; padding: 0 0 var(--rf-space-3) !important; border: 0 !important; border-bottom: 3px solid var(--rf-text) !important; background: none !important;
}
/* every field spans the column; first and last name share a row */
/* field rows are <p>s, which custom.css caps at 62ch inside page content */
.woocommerce-checkout .form-row { width: 100% !important; max-width: none !important; float: none !important; margin: 0 0 var(--rf-space-4) !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { margin: 0 !important; }
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) { margin: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--rf-space-4); }
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > .form-row { grid-column: 1 / -1; }
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > :is(.form-row-first, .form-row-last) { grid-column: auto; }
.woocommerce-checkout .form-row :is(input.input-text, select, textarea, .select2-selection) { width: 100% !important; max-width: none !important; }
.woocommerce-checkout .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) { color: var(--rf-text) !important; }
.woocommerce-checkout .form-row .optional { color: var(--rf-text-2) !important; font-weight: 400; text-transform: none; letter-spacing: 0; }
.woocommerce-checkout .form-row .required { color: var(--rf-error) !important; text-decoration: none; }
/* checkboxes: sentence-case labels at full contrast, 44px rows (Molla prints them grey, small, uppercase) */
.woocommerce-checkout label.woocommerce-form__label-for-checkbox {
  display: inline-flex !important; align-items: center; gap: var(--rf-space-3); min-height: 44px; margin: 0 !important; padding: 0 !important; cursor: pointer;
  font: 500 var(--rf-fs-md)/1.3 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--rf-text) !important;
}
.woocommerce-checkout label.woocommerce-form__label-for-checkbox span { color: var(--rf-text) !important; font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; }
.woocommerce-checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"] {
  appearance: auto; -webkit-appearance: checkbox; position: static !important; opacity: 1 !important; width: 2rem !important; height: 2rem !important;
  margin: 0 !important; flex: none; accent-color: var(--rf-accent);
}
/* Molla draws its own box in the label span's pseudo-elements; the real checkbox is shown instead */
.woocommerce-checkout label.woocommerce-form__label-for-checkbox::before, .woocommerce-checkout label.woocommerce-form__label-for-checkbox::after,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox span::before, .woocommerce-checkout label.woocommerce-form__label-for-checkbox span::after { content: none !important; display: none !important; }
.woocommerce-checkout #ship-to-different-address { font: inherit !important; margin: var(--rf-space-4) 0 !important; padding: 0 !important; border: 0 !important; }
.woocommerce-checkout :is(.mailchimp-newsletter, .create-account) { margin: 0 !important; }

/* ---- Checkout: the order review ----------------------------------------------------- */
.woocommerce-checkout #order_review { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 0 var(--rf-space-5) !important; background: none !important; border-collapse: collapse !important; }
/* custom.css lays these rows out as flex rows; the rule goes on the row */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr { display: flex !important; justify-content: space-between; gap: var(--rf-space-4); border-bottom: 1px solid var(--rf-border) !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table :is(th, td) { border: 0 !important; background: none !important; padding: var(--rf-space-3) 0 !important; color: var(--rf-text) !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th { font: 700 var(--rf-fs-sm)/1.4 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2) !important; flex: none; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { font: 600 var(--rf-fs-md)/1.35 var(--rf-font-body) !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-quantity { color: var(--rf-text-2) !important; font-weight: 600; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td { text-align: end; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { text-align: start; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td { color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm); max-width: 24rem; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total { border-bottom: 0 !important; align-items: baseline; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total :is(th, td) { border-top: 0 !important; color: var(--rf-text) !important; padding-top: var(--rf-space-4) !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total :is(th, td)::before { content: none !important; display: none !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th { font-size: var(--rf-fs-md) !important; color: var(--rf-text) !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total .amount { font-size: var(--rf-fs-price-lg) !important; }

/* payment: each method is a row with its radio; its note sits under it */
.woocommerce-checkout #payment { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 var(--rf-space-4) !important; padding: 0 !important; border: 0 !important; border-top: 1px solid var(--rf-border) !important; }
.woocommerce-checkout #payment ul.payment_methods li { padding: var(--rf-space-3) 0 !important; margin: 0 !important; border-bottom: 1px solid var(--rf-border); background: none !important; display: flex; flex-wrap: wrap; align-items: center; gap: var(--rf-space-3); }
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] { appearance: auto; -webkit-appearance: radio; position: static !important; opacity: 1 !important; width: 2rem; height: 2rem; margin: 0 !important; accent-color: var(--rf-accent); flex: none; }
.woocommerce-checkout #payment ul.payment_methods li > label {
  margin: 0 !important; padding: 0 !important; min-height: 44px; display: inline-flex !important; align-items: center;
  font: 700 var(--rf-fs-md)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rf-text) !important;
}
.woocommerce-checkout #payment ul.payment_methods li > label::before, .woocommerce-checkout #payment ul.payment_methods li > label::after { content: none !important; display: none !important; }
.woocommerce-checkout #payment div.payment_box { flex: 1 0 100%; margin: 0 !important; padding: 0 0 0 calc(2rem + var(--rf-space-3)) !important; background: none !important; color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm); }
.woocommerce-checkout #payment div.payment_box::before { content: none !important; display: none !important; }
.woocommerce-checkout #payment div.payment_box p { color: var(--rf-text-2) !important; margin: 0; }
.woocommerce-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; background: none !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm) !important; }
/* a link inside a sentence needs more than colour (WCAG 1.4.1) */
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--rf-text) !important; text-decoration: underline !important; text-underline-offset: 0.2em; }
.woocommerce-checkout #place_order { width: 100%; margin: var(--rf-space-4) 0 0 !important; float: none !important; }
@media (min-width: 992px) {
  .woocommerce-checkout .shop-table-wrapper > .col-lg-4 { padding-inline-start: var(--rf-space-7); }
}
@media (max-width: 767px) {
  .woocommerce-checkout .shop-table-wrapper > .col-lg-4 { margin-top: var(--rf-space-7); }
}
/* inline field errors (WooCommerce 8+) sit right under their field, in the error colour */
.woocommerce-checkout .form-row .checkout-inline-error-message { color: var(--rf-error) !important; font-size: var(--rf-fs-sm) !important; margin: var(--rf-space-1) 0 0 !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce-error a { color: var(--rf-text) !important; text-decoration: underline; text-underline-offset: 0.2em; }

/* ---- Order received (thank you) and view-order ---------------------------------------------- */
.woocommerce-order .woocommerce-thankyou-order-received {
  font: 700 var(--rf-fs-2xl)/1.1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important;
  border: 0 !important; background: none !important; padding: 0 !important; margin: var(--rf-space-6) 0 var(--rf-space-5) !important; text-align: start;
}
.woocommerce-order ul.woocommerce-order-overview {
  list-style: none; margin: 0 0 var(--rf-space-7) !important; padding: var(--rf-space-4) 0 0 !important; border-top: 3px solid var(--rf-text);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--rf-space-4) var(--rf-space-5);
}
.woocommerce-order ul.woocommerce-order-overview li {
  margin: 0 !important; padding: 0 !important; border: 0 !important; float: none !important;
  font: 700 var(--rf-fs-sm)/1.3 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2) !important;
}
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; margin-top: var(--rf-space-1); font: 600 var(--rf-fs-md)/1.3 var(--rf-font-body) !important; text-transform: none; letter-spacing: 0; color: var(--rf-text) !important; word-break: break-word; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) :is(.woocommerce-order-details__title, .woocommerce-column__title) {
  font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-3) !important;
}
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details { border: 0 !important; border-top: 3px solid var(--rf-text) !important; border-radius: 0 !important; background: none !important; margin-bottom: var(--rf-space-7) !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details :is(th, td) { border: 0 !important; border-bottom: 1px solid var(--rf-border) !important; background: none !important; color: var(--rf-text) !important; padding: var(--rf-space-3) var(--rf-space-2) !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details :is(thead th, tfoot th) { font: 700 var(--rf-fs-sm)/1.3 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2) !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details td.product-name :is(a, a *) { color: var(--rf-text) !important; font: 600 var(--rf-fs-md)/1.35 var(--rf-font-body) !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details .product-quantity { color: var(--rf-text-2) !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details .shipped_via { color: var(--rf-text-2) !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details td { text-align: end !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details td.product-name { text-align: start !important; }
.woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: var(--rf-space-6); }
.woocommerce-customer-details .woocommerce-columns::before, .woocommerce-customer-details .woocommerce-columns::after { content: none !important; display: none !important; }
.woocommerce-customer-details .woocommerce-column { width: auto !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-customer-details address {
  border: 0 !important; border-top: 3px solid var(--rf-text) !important; border-radius: 0 !important; padding: var(--rf-space-3) 0 0 !important;
  font-style: normal; color: var(--rf-text-2) !important; line-height: 1.6; background: none !important;
}
.woocommerce-customer-details address p { color: var(--rf-text-2) !important; margin: var(--rf-space-1) 0 0 !important; padding-left: 0 !important; font-size: var(--rf-fs-md) !important; overflow-wrap: anywhere; }
.woocommerce-customer-details address p::before { display: none !important; content: none !important; }
:is(.woocommerce-order, .woocommerce-MyAccount-content) table.order_details :is(.amount, .amount bdi, .woocommerce-Price-currencySymbol) { color: var(--rf-text) !important; font-family: var(--rf-font-ui) !important; font-weight: 700; }
.woocommerce-order ul.woocommerce-order-overview::before, .woocommerce-order ul.woocommerce-order-overview::after { content: none !important; display: none !important; }
.woocommerce-order .woocommerce-order-details { margin-top: var(--rf-space-7); }
.woocommerce-checkout label.woocommerce-form__label-for-checkbox span { padding-left: 0 !important; margin-left: 0 !important; }   /* Molla indents the label for its own fake box */

/* ---- 2026-10-15: Darrin's live cart/checkout decisions (production 2026-10-14, stages 42/44/45) carried into the facelift ----
   Production got these on the old design; the facelift keeps its own look (rows and ink rules, no boxes) but takes the
   decisions, so preview and production are compared like for like:
   1. Cart and checkout share one column split, 56 / 44 on desktop (the summary was 279-328px and squeezed shipping).
   2. Shipping options are a full-width list under "Shipment", radio on the left, the chosen row highlighted.
   3. Payment: the method's indicator and its fields line up with the left edge (one method has no radio of Woo's own).
   4. The coupon field and its button stay on one line. */
@media (min-width: 992px) {
  :is(.woocommerce-cart .shop-table-wrapper, .woocommerce-checkout .shop-table-wrapper, .woocommerce-checkout form.checkout > .row) > .col-lg-8 { flex: 0 0 56% !important; max-width: 56% !important; }
  :is(.woocommerce-cart .shop-table-wrapper, .woocommerce-checkout .shop-table-wrapper, .woocommerce-checkout form.checkout > .row) > .col-lg-4 { flex: 0 0 44% !important; max-width: 44% !important; }
}
/* 2. the shipping row stacks: its heading above, the options across the full width */
:is(.woocommerce-cart .cart_totals, .woocommerce-checkout table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals { flex-direction: column; gap: 0; }
:is(.woocommerce-cart .cart_totals, .woocommerce-checkout table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals > :is(th, td) { width: 100% !important; max-width: none !important; text-align: start !important; }
:is(.woocommerce-cart .cart_totals, .woocommerce-checkout table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals > th { padding-bottom: var(--rf-space-2) !important; }
:is(.woocommerce-cart .cart_totals, .woocommerce-checkout table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals > td { padding-top: 0 !important; }
ul#shipping_method { list-style: none !important; margin: 0 !important; padding: 0 !important; text-align: start !important; }
ul#shipping_method li {
  display: flex !important; align-items: center; gap: var(--rf-space-3); margin: 0 0 var(--rf-space-2) !important; padding: var(--rf-space-3) var(--rf-space-4) !important;
  min-height: 44px; border: 1px solid var(--rf-border-strong); border-radius: var(--rf-radius-input); background: none;
  text-align: start !important; text-indent: 0 !important; cursor: pointer; transition: border-color var(--rf-t-color), background-color var(--rf-t-color);
}
ul#shipping_method li:hover { border-color: var(--rf-text-3); }
ul#shipping_method li:has(input:checked), ul#shipping_method li:has(input[type="hidden"]) { border-color: var(--rf-accent); background: var(--rf-accent-soft); }
ul#shipping_method li label {
  flex: 1 1 auto; display: flex !important; justify-content: space-between; gap: var(--rf-space-3); margin: 0 !important; padding: 0 !important; cursor: pointer;
  font: 500 var(--rf-fs-md)/1.35 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--rf-text) !important; text-align: start !important;
}
ul#shipping_method li label .amount { font-size: var(--rf-fs-md) !important; white-space: nowrap; }
ul#shipping_method li input[type="radio"] { appearance: auto; -webkit-appearance: radio; position: static !important; opacity: 1 !important; width: 2rem !important; height: 2rem !important; margin: 0 !important; flex: none; accent-color: var(--rf-accent); }
/* Molla draws its own radio circle on the label, over the first letters */
ul#shipping_method li label::before, ul#shipping_method li label::after { content: none !important; display: none !important; }
/* 3. a lone payment method: Woo's checkout script hides its radio, so the label carries a selected indicator and nothing is indented */
.woocommerce-checkout #payment ul.payment_methods li:only-child > input[type="radio"] { display: none !important; }
.woocommerce-checkout #payment ul.payment_methods li:only-child > label::before {
  content: "" !important; display: block !important; position: static !important; flex: none; width: 2rem; height: 2rem; margin-inline-end: var(--rf-space-3);
  border: 2px solid var(--rf-accent); border-radius: 50%; background: radial-gradient(circle, var(--rf-accent) 0 0.45rem, transparent 0.55rem); box-shadow: none !important; transform: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li:only-child div.payment_box { padding-inline-start: 0 !important; }
.woocommerce-checkout #payment div.payment_box fieldset { margin: var(--rf-space-3) 0 0 !important; padding: 0 !important; border: 0 !important; }
/* 4. coupon field + button on one line; the error message still takes its own line */
@media (min-width: 768px) {
  /* Molla's (0,4,0) rule caps the coupon block at flex-basis 50%, which pushed the button under the field */
  .woocommerce-cart .actions .coupon { flex: 1 1 44rem !important; flex-wrap: wrap; }
  .woocommerce-cart .actions .coupon .input-text { flex: 1 1 0 !important; max-width: none !important; }   /* the field gives way, not the button */
}

/* Production stage 100's cart plan picker (mu-plugins/rfs-custom/subscription-cart-choice.php) prints its label in
   --rf-accent (#a615ef): 3.7:1 on the dark cart at 12px. The facelift's text accent clears AA (2026-10-26). */
.rfs-sub-choice label { color: var(--rf-accent-text) !important; }

/* NEW-03 (production stage 71): the empty wishlist cell kept a 100px bottom margin on phones. */
@media (max-width: 767px) { .wishlist_table .wishlist-empty { margin-bottom: 0 !important; } }

/* Stage 77 fallback (production): the Mailchimp pop-up and its "Claim 15% off" tab never sit over cart or checkout
   fields. rfs-audit-62.php already skips the loader there; this covers the script reaching those pages anyway. */
body.woocommerce-checkout .mcforms-wrapper, body.woocommerce-checkout [id^="mcforms-"],
body.woocommerce-cart .mcforms-wrapper, body.woocommerce-cart [id^="mcforms-"] { display: none !important; }

/* 2026-10-26 sweep: the wishlist table's column headings were #999 on the light panel (2.6:1), and the link in Woo's
   info notice ("Have a coupon? Click here") was told apart from its text by colour alone (2.7:1). */
.wishlist_table thead th, .wishlist_table thead th .nobr { color: var(--rf-ink) !important; }
.woocommerce-info a { text-decoration: underline !important; text-underline-offset: 0.2em; }

/* ==========================================================================
   My account: sign in / register, and the signed-in pages
   The sign-in card stays on the team photo Molla puts behind this page; the
   signed-in pages are plain: a navigation column and content, no boxes.
   ========================================================================== */

/* ---- Sign in / register card ------------------------------------------------- */
.woocommerce-account .page-content { position: relative; }
.woocommerce-account:not(.logged-in) .page-content::before {
  content: ""; position: absolute; inset: 0; background: rgba(10, 10, 11, 0.6); pointer-events: none; z-index: 0;
}
.woocommerce-account .page-content > * { position: relative; z-index: 1; }
.woocommerce-account .form-box {
  background: var(--rf-surface) !important; border: 1px solid var(--rf-border-strong) !important; border-radius: 0 !important; box-shadow: none !important;
  padding: var(--rf-space-6) !important; max-width: 48rem; margin-inline: auto;
}
@media (max-width: 575px) { .woocommerce-account .form-box { padding: var(--rf-space-5) var(--rf-space-4) !important; } }
.woocommerce-account .form-box .nav { display: flex; border-bottom: 1px solid var(--rf-border) !important; margin: 0 0 var(--rf-space-5) !important; padding: 0 !important; }
.woocommerce-account .form-box .nav .nav-item { flex: 1 1 0; margin: 0 !important; border: 0 !important; background: none !important; }
.woocommerce-account .form-box .nav .nav-link {
  display: flex; align-items: center; justify-content: center; min-height: var(--rf-control-h); padding: 0 !important; margin-bottom: -1px;
  font: 700 var(--rf-fs-md)/1 var(--rf-font-ui) !important; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--rf-text-2) !important; background: none !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; box-shadow: none !important;
}
/* Molla marks the open tab on the <li>; aria-selected is kept in step by rf-chrome.js */
.woocommerce-account .form-box .nav .nav-link[aria-selected="true"] { color: var(--rf-text) !important; border-bottom-color: var(--rf-accent) !important; }
.woocommerce-account .form-box .nav .nav-link:hover { color: var(--rf-text) !important; }
#customer_login .tab-content { border: 0 !important; padding: 0 !important; }
.woocommerce-account .form-box .form-row { margin: 0 0 var(--rf-space-4) !important; padding: 0 !important; max-width: none !important; }
.woocommerce-account .form-box .form-row :is(input.input-text, .password-input) { width: 100% !important; }
.woocommerce-account .form-box .g-recaptcha { margin-bottom: var(--rf-space-4); }
.woocommerce-account .form-box br { display: none; }
.woocommerce-account .form-box .form-footer { display: grid; gap: var(--rf-space-3); border: 0 !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-account .form-box .form-footer .form-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--rf-space-3); margin: 0 !important; }
.woocommerce-account .form-box :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit) { margin: 0 !important; }
.woocommerce-account .form-box .lost_password { margin: 0 !important; }
.woocommerce-account .form-box .lost_password a { color: var(--rf-text) !important; text-decoration: underline; text-underline-offset: 0.2em; font-size: var(--rf-fs-sm); display: inline-flex; min-height: 44px; align-items: center; }
.woocommerce-account .form-box p:not(.form-row) { color: var(--rf-text-2) !important; font-size: var(--rf-fs-sm); }
/* checkboxes: the real control, sentence case (Molla draws its own box in the span's pseudo-elements) */
.woocommerce-account label.woocommerce-form__label-for-checkbox {
  display: inline-flex !important; align-items: center; gap: var(--rf-space-3); min-height: 44px; margin: 0 !important; padding: 0 !important; cursor: pointer;
  font: 500 var(--rf-fs-md)/1.3 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--rf-text) !important;
}
.woocommerce-account label.woocommerce-form__label-for-checkbox span { font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; color: inherit !important; }
.woocommerce-account label.woocommerce-form__label-for-checkbox input[type="checkbox"] {
  appearance: auto; -webkit-appearance: checkbox; position: static !important; opacity: 1 !important; width: 2rem !important; height: 2rem !important; margin: 0 !important; flex: none; accent-color: var(--rf-accent);
}
.woocommerce-account label.woocommerce-form__label-for-checkbox::before, .woocommerce-account label.woocommerce-form__label-for-checkbox::after,
.woocommerce-account label.woocommerce-form__label-for-checkbox span::before, .woocommerce-account label.woocommerce-form__label-for-checkbox span::after { content: none !important; display: none !important; }

/* ---- Signed in: navigation + content ----------------------------------------------- */
.woocommerce-account.logged-in .page-content { padding-block: var(--rf-space-6) var(--rf-section-pad); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 3px solid var(--rf-text); }
.woocommerce-MyAccount-navigation li { margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--rf-border) !important; background: none !important; }
.woocommerce-MyAccount-navigation li a {
  display: flex !important; align-items: center; line-height: 1 !important; min-height: var(--rf-control-h); padding: 0 var(--rf-space-3) !important;
  font: 700 var(--rf-fs-md)/1 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text-2) !important;
  background: none !important; border: 0 !important; border-left: 3px solid transparent !important; text-decoration: none;
}
.woocommerce-MyAccount-navigation li a:hover { color: var(--rf-text) !important; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--rf-text) !important; border-left-color: var(--rf-accent) !important; }
.woocommerce-MyAccount-navigation li::before, .woocommerce-MyAccount-navigation li a::before, .woocommerce-MyAccount-navigation li a::after { display: none !important; content: none !important; }
.woocommerce-MyAccount-content { color: var(--rf-text); }
.woocommerce-MyAccount-content p { color: var(--rf-text-2) !important; max-width: 62ch; }
.woocommerce-MyAccount-content p :is(strong, a) { color: var(--rf-text) !important; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--rf-text) !important; text-decoration: underline; text-underline-offset: 0.2em; }
.woocommerce-MyAccount-content :is(h2, h3, legend) { font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-4) !important; }
/* tables (orders, downloads) */
.woocommerce-MyAccount-content table.shop_table { border: 0 !important; border-top: 3px solid var(--rf-text) !important; border-radius: 0 !important; background: none !important; }
.woocommerce-MyAccount-content table.shop_table :is(th, td) { border: 0 !important; border-bottom: 1px solid var(--rf-border) !important; background: none !important; color: var(--rf-text) !important; padding: var(--rf-space-3) !important; }
.woocommerce-MyAccount-content table.shop_table thead th { font: 700 var(--rf-fs-sm)/1.2 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-text-2) !important; }
/* addresses */
/* Molla nests the addresses wrapper twice; the grid goes on the one that holds the two columns */
.woocommerce-account .woocommerce-Addresses { display: block; width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-account .woocommerce-Addresses:has(> .u-column1) { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--rf-space-6); margin-top: var(--rf-space-5) !important; }
/* the wrapper's clearfix pseudo-elements would become grid cells and push the first address over */
.woocommerce-account .woocommerce-Addresses:has(> .u-column1)::before, .woocommerce-account .woocommerce-Addresses:has(> .u-column1)::after { content: none !important; display: none !important; }
@media (min-width: 768px) { .woocommerce-account .woocommerce-Addresses:has(> .u-column1) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.woocommerce-account .woocommerce-Address-title :is(h2, h3) { text-align: start !important; margin: 0 0 var(--rf-space-2) !important; }
.woocommerce-account .woocommerce-Addresses :is(.u-column1, .u-column2, .woocommerce-Address, .address-content) { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; width: auto !important; float: none !important; max-width: none !important; flex: none !important; margin: 0 !important; text-align: start !important; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--rf-space-3); border-bottom: 3px solid var(--rf-text); margin-bottom: var(--rf-space-3); }
.woocommerce-account .woocommerce-Address-title .edit { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce-account .woocommerce-Address address { color: var(--rf-text-2); font-style: normal; line-height: 1.6; }
/* the empty-orders notice carries a "Browse products" button */
.woocommerce-MyAccount-content .woocommerce-info .button { margin-inline-start: var(--rf-space-3); }
/* Molla lays the signed-in pages out itself: .dashboard-wrap row, a 3-column navigation, the content beside it */
@media (min-width: 992px) { .woocommerce-account .dashboard-wrap > :first-child { padding-inline-end: var(--rf-space-7); } }
@media (max-width: 991px) {
  .woocommerce-MyAccount-navigation { margin-bottom: var(--rf-space-6); }
}

/* ---- Wishlist (YITH) ------------------------------------------------------------------ */
.wishlist-empty, .wishlist_table .wishlist-empty { color: var(--rf-text-2) !important; font-size: var(--rf-fs-md); text-align: start; padding: var(--rf-space-6) 0 !important; }
.woocommerce-wishlist .wishlist-title h2 { font: 700 var(--rf-fs-2xl)/1.05 var(--rf-font-display) !important; text-transform: uppercase; }
.wishlist-fragment.on-first-load::before, .wishlist-fragment.on-first-load { background-image: none !important; opacity: 1 !important; }

/* ---- Account details form ------------------------------------------------------------- */
/* rows are <p>s, which custom.css caps at 62ch */
.woocommerce-account .woocommerce-EditAccountForm .form-row { max-width: none !important; }
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 0; padding: 0; margin: var(--rf-space-6) 0 0; }
/* the Mailchimp preference radios: Molla strips their native look and draws nothing in its place */
.woocommerce-account .woocommerce-EditAccountForm input[type="radio"] {
  appearance: auto; -webkit-appearance: radio; position: static !important; opacity: 1 !important; width: 2rem !important; height: 2rem !important;
  margin: 0 !important; flex: none; accent-color: var(--rf-accent);
}
.woocommerce-account .woocommerce-EditAccountForm label:has(> input[type="radio"]) {
  display: inline-flex !important; align-items: center; gap: var(--rf-space-3); min-height: 44px; cursor: pointer;
  font: 500 var(--rf-fs-md)/1.3 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--rf-text) !important;
}
.woocommerce-account .woocommerce-EditAccountForm label:has(> input[type="radio"])::before,
.woocommerce-account .woocommerce-EditAccountForm label:has(> input[type="radio"])::after { content: none !important; display: none !important; }
.woocommerce-account .woocommerce-EditAccountForm #account_display_name_description { display: block; margin-top: var(--rf-space-1); color: var(--rf-text-2); font-size: var(--rf-fs-sm); }
.woocommerce-account label.woocommerce-form__label-for-checkbox span { padding-left: 0 !important; margin-left: 0 !important; }

/* AUD-068 (production stage 58): the show-password eye was dark grey on the dark field and a 22px target. */
.woocommerce .show-password-input {
  display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
  color: var(--rf-text-2) !important;
}
.woocommerce .show-password-input::after { color: var(--rf-text-2) !important; }
.woocommerce .show-password-input:is(:hover, :focus-visible), .woocommerce .show-password-input:is(:hover, :focus-visible)::after { color: var(--rf-text) !important; }

/* ==========================================================================
   Content pages: Athlete Program, About, Contact, Blog
   Titles sit left on the page edge like every other template; cards become
   plain columns with an ink rule; forms show real labels.
   ========================================================================== */

/* ---- Page title band (pages built with a .page-title block in their content) ---- */
.page-title.dark-background { background: none !important; padding: var(--rf-space-8) 0 var(--rf-space-5) !important; text-align: start !important; min-height: 0 !important; }
.page-title.dark-background::before, .page-title.dark-background::after { content: none !important; display: none !important; }
.page-title.dark-background :is(h1, .h1) {
  font: 700 var(--rf-fs-3xl)/1 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.02em;
  color: var(--rf-text) !important; margin: 0 !important; text-align: start !important;
}
.page-title.dark-background :is(h1, .h1)::before, .page-title.dark-background :is(h1, .h1)::after { content: none !important; display: none !important; }

/* ---- Athlete Program ------------------------------------------------------------- */
.athlete.section img.rounded { border-radius: 0 !important; box-shadow: none !important; }
.athlete.section h2 { font-size: var(--rf-fs-2xl) !important; }
.athlete.section h5:not(.mb-2), .athlete.section .text-uppercase.small { color: var(--rf-text-2) !important; }
.athlete.section :is(p, li) { color: var(--rf-text-2) !important; }
.athlete.section :is(p, li) strong { color: var(--rf-text) !important; }
/* tiers: three columns to compare, each under an ink rule; no boxes or icons.
   A later-loading `.athlete .tier-card` !important rule boxes them; this selector outranks it */
.athlete.section .tier-card { background: none !important; border: 0 !important; border-top: 3px solid var(--rf-text) !important; border-radius: 0 !important; box-shadow: none !important; padding: var(--rf-space-4) 0 0 !important; }
.athlete .tier-card .icon-wrap { display: none !important; }
.athlete .tier-card h5 { font: 700 var(--rf-fs-lg)/1.2 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.04em; color: var(--rf-accent-text) !important; margin: 0 0 var(--rf-space-3) !important; }
.athlete .tier-card ul { padding-inline-start: 1.8rem; margin: 0; display: grid; gap: var(--rf-space-2); }
.athlete .tier-card li::marker { color: var(--rf-accent-text); }

/* ---- Contact Form 7 forms on content pages ----------------------------------------- */
.wpcf7 form p { margin: 0 !important; }
.wpcf7 form br { display: none; }
.wpcf7 form label { display: block; margin-bottom: var(--rf-space-2); font: 700 var(--rf-fs-sm)/1.3 var(--rf-font-ui); letter-spacing: 0.06em; text-transform: uppercase; color: var(--rf-text); }
.wpcf7 form .row > [class*="col-"] { margin-bottom: 0; }   /* the row's own gutter spaces the fields */
.wpcf7 form :is(input.form-control, select, textarea) { width: 100% !important; }
.wpcf7 form textarea { min-height: 16rem; }
.rf-athlete.cta-section .text-center:has(> .wpcf7-submit), .wpcf7 form .text-center:has(.wpcf7-submit) { text-align: start !important; }
.wpcf7 form .wpcf7-response-output { margin: var(--rf-space-4) 0 0 !important; padding: var(--rf-space-3) var(--rf-space-4) !important; border-width: 0 0 0 3px !important; border-radius: 0 !important; background: var(--rf-surface) !important; color: var(--rf-text) !important; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-color: var(--rf-error) !important; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--rf-success) !important; }
.wpcf7 form .wpcf7-not-valid { box-shadow: inset 0 0 0 2px var(--rf-error) !important; }

/* ---- About ------------------------------------------------------------------------------ */
/* the mission block: left like every other section, the statement in the 2xl display size */
.mission-content { text-align: start !important; max-width: 72rem; margin: 0 !important; }
.mission-content h2 { font-size: var(--rf-fs-2xl) !important; text-wrap: balance; }
.mission-content p { margin-inline: 0 !important; max-width: 62ch; color: var(--rf-text-2) !important; }
.mission-content p strong { color: var(--rf-text) !important; }
.container.text-center:has(> .mission-content) { text-align: start !important; }
.cta-section .cta-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--rf-text) !important; text-decoration: underline; text-underline-offset: 0.2em; font-weight: 600; }

/* ---- Contact ---------------------------------------------------------------------------- */
/* one column of labelled fields on the page; the card and the box inside it go */
.contact .contact-main-wrapper, .contact .contact-form-container, .contact .wpcf7, .contact .wpcf7 form {
  background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; max-width: none !important;
}
.contact.section, section.contact { padding-block: var(--rf-space-8) var(--rf-section-pad) !important; }
.contact .contact-form-container { max-width: 64rem !important; }
/* the page's heading is an h3 in the content; it is styled as the page title */
.contact .contact-form-container > :is(h1, h3) { font: 700 var(--rf-fs-3xl)/1 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.02em; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-3) !important; }
.contact .contact-form-container > p { color: var(--rf-text-2) !important; font-size: var(--rf-fs-lg); margin: 0 0 var(--rf-space-6) !important; }
.contact .wpcf7 form label { margin-bottom: var(--rf-space-5); }
.contact .wpcf7 form label :is(input, textarea) { display: block; margin-top: var(--rf-space-2); width: 100% !important; text-transform: none; letter-spacing: 0; font: 400 var(--rf-fs-md)/1.4 var(--rf-font-body); }
.contact .wpcf7 form :is(.wpcf7-submit, p:has(.wpcf7-submit)) { text-align: start !important; margin-inline: 0 !important; }
.contact .wpcf7 form p { text-align: start !important; padding: 0 !important; justify-content: flex-start !important; }   /* the submit row is a centred flex row */
.contact > .container { padding-inline: 0 !important; }   /* a container inside the page container doubled the gutter */

/* ---- Blog index -------------------------------------------------------------------------- */
.blog .page-content > h1.page-title, .archive.category .page-content > h1.page-title {
  width: min(114rem, 100% - 3rem); margin: 0 auto !important; padding: var(--rf-space-8) 0 var(--rf-space-5) !important; text-align: start !important;
  font: 700 var(--rf-fs-3xl)/1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important;
}
.blog .page-content > h1.page-title::after, .blog .page-content > h1.page-title::before { content: none !important; display: none !important; }
/* category filter: the shop's text-link row */
.blog-entry-wrapper .nav-filter { justify-content: flex-start !important; flex-wrap: nowrap; overflow-x: auto; gap: var(--rf-space-5); margin: 0 0 var(--rf-space-6) !important; padding: 0 !important; border-bottom: 3px solid var(--rf-text); }
.blog-entry-wrapper .nav-filter .nav-item { flex: none; margin: 0 !important; }
.blog-entry-wrapper .nav-filter a {
  display: inline-flex; align-items: center; gap: var(--rf-space-2); min-height: var(--rf-control-h); padding: 0 !important; white-space: nowrap;
  font: 700 var(--rf-fs-md)/1 var(--rf-font-ui) !important; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--rf-text-2) !important; background: none !important; border: 0 !important; border-bottom: 3px solid transparent !important; margin-bottom: -3px; text-decoration: none;
}
.blog-entry-wrapper .nav-filter a::after, .blog-entry-wrapper .nav-filter a::before { content: none !important; display: none !important; }
.blog-entry-wrapper .nav-filter .active a { color: var(--rf-text) !important; border-bottom-color: var(--rf-accent) !important; }
.blog-entry-wrapper .nav-filter .count { font-size: var(--rf-fs-sm); color: var(--rf-text-2); position: static !important; background: none !important; padding: 0 !important; }
/* the grid: CSS, not isotope's absolute positions */
.blog-entry-wrapper .posts {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rf-space-7) var(--rf-space-5);
  height: auto !important; margin: 0 !important;
}
@media (max-width: 991px) { .blog-entry-wrapper .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .blog-entry-wrapper .posts { grid-template-columns: minmax(0, 1fr); } }
.blog-entry-wrapper .posts > .post-wrapper {
  position: static !important; inset: auto !important; transform: none !important; width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; margin: 0 !important;
}
.blog-entry-wrapper article.post { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; height: 100%; }
.blog-entry-wrapper article.post .entry-media { margin: 0 0 var(--rf-space-4) !important; aspect-ratio: 3 / 2; overflow: hidden; background: var(--rf-surface); border-radius: 0 !important; }
.blog-entry-wrapper article.post .entry-media img { width: 100%; height: 100%; object-fit: cover; transition: filter var(--rf-t-move) var(--rf-ease); }
.blog-entry-wrapper article.post .entry-media::before, .blog-entry-wrapper article.post .entry-media::after { content: none !important; display: none !important; }   /* Molla's "mask" overlay */
.blog-entry-wrapper article.post .entry-body { padding: 0 !important; background: none !important; }
.blog-entry-wrapper article.post .entry-meta { font-size: var(--rf-fs-sm) !important; color: var(--rf-text-2) !important; margin: 0 0 var(--rf-space-2) !important; }
.blog-entry-wrapper article.post .entry-meta a { color: var(--rf-text-2) !important; }
.blog-entry-wrapper article.post .entry-title { font: 600 var(--rf-fs-lg)/1.3 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 var(--rf-space-2) !important; }
.blog-entry-wrapper article.post .entry-title a { color: var(--rf-text) !important; text-decoration: none; }
.blog-entry-wrapper article.post .entry-title a:hover { color: var(--rf-accent-text) !important; }
.blog-entry-wrapper article.post .entry-cats { font-size: var(--rf-fs-sm) !important; color: var(--rf-text-2) !important; }
.blog-entry-wrapper article.post .entry-cats a { color: var(--rf-text-2) !important; background: none !important; padding: 0 !important; border-radius: 0 !important; font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: underline; text-underline-offset: 0.2em; }
.blog-entry-wrapper .pagination { justify-content: flex-start !important; margin-top: var(--rf-space-7) !important; }
.blog-entry-wrapper .pagination .page-numbers :is(a, span) { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: var(--rf-space-2); padding: 0 var(--rf-space-3); border: 1px solid var(--rf-line) !important; color: var(--rf-text) !important; background: none !important; border-radius: 0 !important; }
.blog-entry-wrapper .pagination .page-numbers .current { background: var(--rf-text) !important; color: var(--rf-bg) !important; border-color: var(--rf-text) !important; }
.blog-entry-wrapper .pagination .disabled { display: none !important; }

/* ---- Blog post: a readable column ---------------------------------------------------------- */
.single-post .post-single article.post { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.single-post .post-single .entry-media { margin: 0 0 var(--rf-space-6) !important; border-radius: 0 !important; aspect-ratio: 3 / 2; overflow: hidden; background: var(--rf-surface); }
.single-post .post-single .entry-media img { width: 100%; height: 100%; object-fit: cover; }
.single-post .post-single .entry-media::before, .single-post .post-single .entry-media::after { content: none !important; display: none !important; }
.single-post .post-single .entry-body { padding: 0 !important; background: none !important; max-width: 68ch; }
.single-post .post-single .entry-title {
  font: 700 var(--rf-fs-3xl)/1.05 var(--rf-font-display) !important; text-transform: uppercase !important; letter-spacing: 0.01em; text-wrap: balance;
  color: var(--rf-text) !important; margin: 0 0 var(--rf-space-3) !important;
}
.single-post .post-single :is(.entry-meta, .entry-cats) { font-size: var(--rf-fs-sm) !important; color: var(--rf-text-2) !important; margin: 0 0 var(--rf-space-2) !important; }
.single-post .post-single :is(.entry-meta, .entry-cats) a { color: var(--rf-text-2) !important; background: none !important; padding: 0 !important; border-radius: 0 !important; font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: underline; text-underline-offset: 0.2em; }
.single-post .post-single .entry-content { margin-top: var(--rf-space-6); }
.single-post .post-single .entry-content :is(p, li) { font-size: var(--rf-fs-lg) !important; line-height: 1.7 !important; color: var(--rf-text) !important; }
.single-post .post-single .entry-content p { margin: 0 0 var(--rf-space-4) !important; }
.single-post .post-single .entry-content :is(h2, h3, h4) { text-transform: uppercase; color: var(--rf-text) !important; margin: var(--rf-space-7) 0 var(--rf-space-3) !important; text-wrap: balance; }
.single-post .post-single .entry-content h2 { font: 700 var(--rf-fs-xl)/1.15 var(--rf-font-display) !important; }
.single-post .post-single .entry-content h3 { font: 700 var(--rf-fs-lg)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.04em; }
.single-post .post-single .entry-content a { color: var(--rf-text) !important; text-decoration: underline; text-decoration-color: var(--rf-accent); text-underline-offset: 0.2em; }
.single-post .post-single .entry-content img { border-radius: 0 !important; }
/* tags + share row */
.single-post .entry-tags { font-size: var(--rf-fs-sm); color: var(--rf-text-2); }
.single-post .entry-tags a { display: inline-flex; align-items: center; min-height: 44px; color: var(--rf-text) !important; background: none !important; border: 0 !important; padding: 0 !important; text-decoration: underline; text-underline-offset: 0.2em; font-size: var(--rf-fs-sm) !important; }
.single-post .entry-footer, .single-post .entry-footer .row { border-color: var(--rf-border) !important; }
.single-post .social-icons .social-icon { width: 44px !important; height: 44px !important; border: 1px solid var(--rf-line) !important; border-radius: 0 !important; color: var(--rf-text) !important; background: none !important; display: inline-flex !important; align-items: center; justify-content: center; }
.single-post .social-label { font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui); text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-text-2); }
/* previous / next */
.single-post .pager-nav { border-color: var(--rf-border) !important; }
.single-post .pager-link a { color: var(--rf-text-2) !important; font: 700 var(--rf-fs-sm)/1.3 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.06em; }
.single-post .pager-link .pager-link-title { display: block; color: var(--rf-text) !important; font: 600 var(--rf-fs-md)/1.35 var(--rf-font-body) !important; text-transform: none; letter-spacing: 0; margin-top: var(--rf-space-1); }
/* related posts: three posts in a row, not a carousel */
.single-post .related-posts > .title, .single-post .comment-reply-title, .single-post .comments-title {
  font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important;
  padding-bottom: var(--rf-space-3); border-bottom: 3px solid var(--rf-text); margin: var(--rf-space-7) 0 var(--rf-space-5) !important; background: none !important;
}
.single-post .related-posts .owl-stage { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rf-space-5); transform: none !important; width: auto !important; }
@media (max-width: 767px) { .single-post .related-posts .owl-stage { grid-template-columns: minmax(0, 1fr); } }
.single-post .related-posts .owl-item { width: auto !important; margin: 0 !important; }
.single-post .related-posts .owl-item.cloned, .single-post .related-posts .owl-dots, .single-post .related-posts .owl-nav { display: none !important; }
.single-post .related-posts article.post { background: none !important; border: 0 !important; box-shadow: none !important; }
.single-post .related-posts .entry-media { aspect-ratio: 3 / 2; overflow: hidden; margin-bottom: var(--rf-space-3) !important; }
.single-post .related-posts .entry-media img { width: 100%; height: 100%; object-fit: cover; }
.single-post .related-posts .entry-body { padding: 0 !important; }
.single-post .related-posts .entry-title { font: 600 var(--rf-fs-md)/1.3 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; }
.single-post .related-posts .entry-title a { color: var(--rf-text) !important; }
.single-post .related-posts :is(.entry-meta, .entry-cats, .entry-cats a) { font-size: var(--rf-fs-sm) !important; color: var(--rf-text-2) !important; background: none !important; padding: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
/* comment form on the page, not a light box */
.single-post #respond, .single-post .comment-respond { background: none !important; border: 0 !important; padding: 0 !important; }
.single-post #respond :is(p, label, .comment-notes, .logged-in-as) { color: var(--rf-text-2) !important; }
.single-post #respond .form-submit .submit { margin: 0 !important; }

/* ---- Blog sidebar ------------------------------------------------------------------------------- */
.single-post .sidebar .widget, .blog .sidebar .widget { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 var(--rf-space-6) !important; }
.sidebar .widget-title { font: 700 var(--rf-fs-md)/1.2 var(--rf-font-ui) !important; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rf-text) !important; border-bottom: 3px solid var(--rf-text) !important; padding-bottom: var(--rf-space-2) !important; margin-bottom: var(--rf-space-3) !important; }
.sidebar .widget-title::after, .sidebar .widget-title .toggle-btn { display: none !important; }
.sidebar .widget_categories li { border-bottom: 1px solid var(--rf-border); margin: 0 !important; padding: 0 !important; }
.sidebar .widget_categories li a { display: flex; justify-content: space-between; align-items: center; min-height: 44px; color: var(--rf-text) !important; font-size: var(--rf-fs-md); }
.sidebar .widget_categories .count { background: none !important; color: var(--rf-text-2) !important; padding: 0 !important; border-radius: 0 !important; font: 600 var(--rf-fs-sm)/1 var(--rf-font-ui); position: static !important; }
/* popular posts: the first three, as a list (the carousel's other pages are not shown) */
.sidebar .widget-post .owl-stage { transform: none !important; width: auto !important; }
.sidebar .widget-post .owl-item { width: auto !important; }
.sidebar .widget-post .owl-item:not(:first-child), .sidebar .widget-post .owl-dots, .sidebar .widget-post .owl-nav { display: none !important; }
.sidebar .widget-post .posts-list li { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr); gap: var(--rf-space-3); align-items: start; margin: 0 0 var(--rf-space-4) !important; }
.sidebar .widget-post .entry-media { margin: 0 !important; aspect-ratio: 1; overflow: hidden; }
.sidebar .widget-post .entry-media img { width: 100%; height: 100%; object-fit: cover; }
.sidebar .widget-post :is(h4, h5, .entry-title) { font: 600 var(--rf-fs-sm)/1.35 var(--rf-font-body) !important; text-transform: none !important; letter-spacing: 0 !important; margin: var(--rf-space-1) 0 0 !important; }
.sidebar .widget-post :is(h4, h5, .entry-title) a { color: var(--rf-text) !important; }
.sidebar .widget-post :is(.entry-meta, time, span) { color: var(--rf-text-2) !important; font-size: var(--rf-fs-xs); }
/* phones: the sidebar follows the article; no off-canvas panel and no edge tab to open it */
@media (max-width: 991px) {
  .right-sidebar .sidebar-toggler, .right-sidebar .sidebar-overlay { display: none !important; }
  .right-sidebar aside .sidebar { position: static !important; transform: none !important; visibility: visible !important; opacity: 1 !important; width: auto !important; height: auto !important; max-width: none !important; background: none !important; padding: var(--rf-space-7) 0 0 !important; overflow: visible !important; box-shadow: none !important; }
  .right-sidebar aside .sidebar-content { padding: 0 !important; overflow: visible !important; height: auto !important; }
}
.sidebar .widget-post .entry-meta a { color: var(--rf-text-2) !important; font-size: var(--rf-fs-xs) !important; }   /* Molla: #666, 3.4:1 */

/* ---- Related products after a post (rf-redesign.php 1h) ------------------------------------ */
.rf-post-products { margin: var(--rf-space-8) 0 0; }
.rf-post-products > h2 { font: 700 var(--rf-fs-lg)/1.1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-4) !important; }
.single-post .post-single .rf-post-products .rf-shelf { border-top: 3px solid var(--rf-ink); }
/* the shelf's text is ink: the article's paragraph colour must not reach it */
.single-post .post-single .entry-content .rf-post-products .rf-shelf :is(p, li, span, a):not(.button):not(.button *) { color: var(--rf-ink) !important; font-size: inherit !important; line-height: inherit !important; }
.single-post .post-single .entry-content .rf-post-products .rf-shelf :is(a.button, a.button *) { color: #fff !important; text-decoration: none !important; }
@media (min-width: 768px) { .rf-post-products .rf-shelf :is(.products, .woocommerce > .row) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.single-post .post-single .entry-content .rf-post-products .rf-shelf a { text-decoration: none !important; }   /* the article underlines its links; product names on the shelf are not running text */

/* ---- 404 ------------------------------------------------------------------------------------ */
/* Molla's demo page: a stock keyboard photo behind light text (the heading was ~1.1:1). Plain dark page instead. */
.error404 .error-page-content {
  background: none !important; min-height: 0 !important; text-align: start !important;
  width: min(114rem, 100% - 3rem); margin: 0 auto; padding: var(--rf-space-9) 0 var(--rf-section-pad) !important;
}
.error404 .error-page-content::before, .error404 .error-page-content::after { content: none !important; display: none !important; }
.error404 .error-page-content :is(.heading, .heading-content) { text-align: start !important; justify-content: flex-start !important; margin: 0 !important; }
.error404 .error-page-content .heading-title { font: 700 var(--rf-fs-4xl)/1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-4) !important; }
.error404 .error-page-content .heading-title::before, .error404 .error-page-content .heading-title::after { content: none !important; display: none !important; }
.error404 .error-page-content .heading-subtitle { font-size: var(--rf-fs-lg) !important; color: var(--rf-text-2) !important; margin: 0 0 var(--rf-space-6) !important; max-width: 48ch; }

/* ---- 404 + product search with no results (production stages 61/62, carried 2026-10-26) ---------------------
   Production replaced Molla's demo 404 with molla-child/404.php (AUD-015: one H1, a product search, the main
   categories) and added the same search + links under an empty product search (AUD-063, rfs-audit-61.php).
   Same decision here in the facelift's language: the 404 is the plain dark page above (display heading, start
   aligned, standard container); the find-links block is one field + button on a row and the links as pills. */
.error404 .rfs61-404 { width: min(114rem, 100% - 3rem); margin: 0 auto; padding: var(--rf-space-9) 0 var(--rf-section-pad); }
.error404 .rfs61-404 h1 { font: 700 var(--rf-fs-4xl)/1 var(--rf-font-display) !important; text-transform: uppercase; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-4) !important; }
.error404 .rfs61-404 > p { font-size: var(--rf-fs-lg) !important; color: var(--rf-text-2) !important; margin: 0 0 var(--rf-space-6) !important; max-width: 48ch; }
:is(.rfs61-404, .rfs61-noresults) form { display: flex; gap: var(--rf-space-2); max-width: 56rem; margin: 0 0 var(--rf-space-5); }
:is(.rfs61-404, .rfs61-noresults) form input[type="search"] { flex: 1 1 auto; min-width: 0; }
:is(.rfs61-404, .rfs61-noresults) form button { flex: 0 0 auto; min-height: var(--rf-control-h); }
:is(.rfs61-404, .rfs61-noresults) ul { list-style: none !important; padding: 0 !important; margin: 0 0 var(--rf-space-6) !important; display: flex; flex-wrap: wrap; gap: var(--rf-space-2); }
:is(.rfs61-404, .rfs61-noresults) ul li { margin: 0 !important; padding: 0 !important; }
:is(.rfs61-404, .rfs61-noresults) ul li::before { content: none !important; }
:is(.rfs61-404, .rfs61-noresults) ul a {
  display: inline-flex; align-items: center; min-height: 4.4rem; padding: 0 var(--rf-space-4);
  border: 1px solid var(--rf-line); border-radius: var(--rf-radius-pill);
  font: 600 var(--rf-fs-sm)/1 var(--rf-font-ui) !important; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--rf-text) !important; text-decoration: none !important;
}
:is(.rfs61-404, .rfs61-noresults) ul a:is(:hover, :focus-visible) { border-color: var(--rf-accent-text); color: var(--rf-accent-text) !important; }
.rfs61-404 .btn-outline { margin-top: 0; }
/* the empty search sits on the light shelf band: ink on white, like the "no products" notice above it */
.rfs61-noresults { margin: var(--rf-space-5) 0 0; color: var(--rf-ink); }
.rfs61-noresults form input[type="search"] { background: #fff !important; color: var(--rf-ink) !important; border-color: var(--rf-ink) !important; }
.rfs61-noresults form input[type="search"]::placeholder { color: #55555c !important; }
.rfs61-noresults ul a { color: var(--rf-ink) !important; border-color: var(--rf-ink) !important; }
.rfs61-noresults ul a:is(:hover, :focus-visible) { color: var(--rf-accent-pressed) !important; border-color: var(--rf-accent-pressed) !important; }

/* ==========================================================================
   Carried over from rf-redesign.css (production, 2026-09-23) unchanged until
   Phase 3 reworks each template. Old product card and quantity rules removed:
   the system components above replace them.
   ========================================================================== */
/* ==========================================================================
   RF redesign — commerce: shop grid, product card, product page, cart,
   checkout, account, wishlist
   ========================================================================== */

/* ==========================================================================
   RF redesign — homepage sections and content pages
   ========================================================================== */

/* ---- Content pages: long-form ------------------------------------------- */
.page-template-custom-template .page-title, .about .page-title, .athlete .page-title { background: transparent !important; }
section.about .content p, .athlete.section p, .page-content p, .entry-content p, .post-content p {
  font-size: 17px !important; line-height: 1.65 !important; color: var(--rf-text) !important; max-width: 62ch;
}
section.about .content p.text-light, .athlete .text-light, .page-content .text-light { color: var(--rf-text-2) !important; }
.about h2, .athlete h2 { font-size: var(--rf-fs-2xl) !important; }
.page-content ul li, .entry-content ul li, .about ul li, .athlete ul li { font-size: 16px; color: var(--rf-text); margin-bottom: 8px; }

/* Athlete tiers */
.athlete .tier-card, .tier-card {
  background: #111 !important; border: 1px solid var(--rf-border) !important; border-radius: var(--rf-radius-card);
  padding: 24px !important; height: 100%;
}
.athlete .tier-card h5, .tier-card h5, .tier-card h4, .tier-card h3 {
  color: #fff !important; font-family: var(--rf-font-ui) !important; font-size: 18px !important; letter-spacing: 0.1em; margin-bottom: 12px;
}
.athlete .tier-card li, .tier-card li, .tier-card p { color: var(--rf-text) !important; font-size: 15px !important; }
.athlete .tier-card .tier-icon, .tier-card .tier-icon {
  width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center;
  border: 2px solid var(--rf-accent); border-radius: 999px; margin-bottom: 16px;
}
.athlete .tier-card .tier-icon i, .tier-card .tier-icon i { color: var(--rf-accent-text) !important; }
.rf-athlete .wpcf7-submit, .athlete .wpcf7-submit { background: var(--rf-accent) !important; color: #fff !important; }
.rf-athlete .btn-primary:hover, .athlete .btn-primary:hover { color: #fff !important; }
.athlete label, .rf-athlete label { display: block !important; }

/* Contact page */
.contact-form-container, .contact .wpcf7 {
  background: #0d0d0d; border: 1px solid var(--rf-border); border-radius: var(--rf-radius-card); padding: clamp(20px, 3vw, 32px);
}
.contact-form-container h3 { font-family: var(--rf-font-display) !important; color: #fff !important; font-size: var(--rf-fs-xl) !important; }
/* the child theme scopes this button with three classes, which outranks a
   two-class rule no matter how late it loads; match that weight exactly */
.contact .contact-form-container .button-primary,
.contact .contact-form-container .wpcf7-submit,
.contact-form-container .wpcf7-form .wpcf7-submit {
  background: var(--rf-accent) !important; color: #fff !important;
  border: 2px solid var(--rf-accent) !important; min-height: 48px !important;
  font-family: var(--rf-font-ui) !important; font-size: 16px !important; font-weight: 600 !important;
  text-transform: uppercase; letter-spacing: 0.06em; border-radius: 0 !important; padding: 0 28px !important;
}
.contact .contact-form-container .button-primary:hover,
.contact .contact-form-container .wpcf7-submit:hover {
  background: var(--rf-accent-hover) !important; border-color: var(--rf-accent-hover) !important; color: #fff !important;
}

/* Blog cards */
.blog .post, .post-classic, .post-list, article.post {
  background: #111 !important; border: 1px solid var(--rf-border); border-radius: var(--rf-radius-card); overflow: hidden;
}
.post .post-media, .post .entry-media { aspect-ratio: 16 / 9; overflow: hidden; }
.post .post-media img, .post .entry-media img { width: 100%; height: 100% !important; object-fit: cover; }
/* Molla stacks the card text on top of the photo; move it below so titles never
   fight the image. Layout only: same elements, same order, same links. */
.post.post-mask, .post-mask { display: flex !important; flex-direction: column; }
.post-mask .post-media, .post-mask .entry-media { position: relative !important; order: 0; }
.post-mask .post-body, .post-mask .entry-body, .post-mask .post-details {
  position: static !important; order: 1; background: transparent !important;
  padding: 18px 20px 20px !important; transform: none !important; opacity: 1 !important;
}
.post .post-mask::before, .post-mask::before, .post-mask .post-media::before { display: none !important; }
.post-mask .post-title a, .post-mask .post-title { color: #fff !important; text-shadow: none !important; }
.post-mask .post-meta, .post-mask .post-meta a { color: var(--rf-text-2) !important; text-shadow: none !important; }
.post .post-body, .post .entry-body { padding: 20px !important; }
.post .post-title, .post .entry-title { font-family: var(--rf-font-display) !important; font-size: 20px !important; line-height: 1.25 !important; color: #fff !important; }
.post .post-meta, .post .entry-meta, .post .post-date { color: var(--rf-text-2) !important; font-size: 13px !important; }
.post-cat, .entry-cats a, .post .post-category, .post-mask .post-cats a, .post-meta .post-cats a {
  display: inline-block; background: var(--rf-accent-soft) !important; color: var(--rf-accent-text) !important;
  font-family: var(--rf-font-ui); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px;
}
.nav-filter a, .blog .nav-filter a { color: var(--rf-text-2) !important; font-family: var(--rf-font-ui); letter-spacing: 0.08em; text-transform: uppercase; }
.nav-filter a span, .blog .nav-filter a span { color: var(--rf-text-2) !important; }
.nav-filter .active a, .nav-filter a.active { color: #fff !important; }
.page-numbers, .pagination .page-numbers, .woocommerce-pagination .page-numbers {
  min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center;
  color: var(--rf-text) !important; border: 1px solid var(--rf-border) !important; font-family: var(--rf-font-ui);
  font-size: 15px !important;
}
.page-numbers:hover { border-color: var(--rf-accent) !important; color: #fff !important; }
.page-numbers.current, .pagination .page-numbers.current { background: var(--rf-accent) !important; color: #fff !important; border-color: var(--rf-accent) !important; }
.blog h1.page-title, .blog .page-title {
  font-family: var(--rf-font-display) !important; font-size: var(--rf-fs-2xl) !important; text-align: center; margin: 0 auto var(--rf-space-6);
  max-width: var(--rf-container); padding: 0 var(--rf-gutter);
}

/* ---- Solid Affiliate portal (production only) ---------------------------
   The plugin renders its own light-surface screens, most of which are behind
   an affiliate login and cannot be inspected here. Rather than half-theming
   pages we cannot see, the portal keeps the appearance the plugin ships with:
   these rules undo the dark text and dark inputs inside its containers only. */
[class*="sld-ap"], [class*="sld_"], [class*="solid-affiliate"], [class*="solid_affiliate"],
[id*="solid-affiliate"], [id*="solid_affiliate"] {
  color: #252525;
}
[class*="sld-ap"] p, [class*="sld-ap"] span, [class*="sld-ap"] label, [class*="sld-ap"] li,
[class*="sld-ap"] td, [class*="sld-ap"] th, [class*="sld-ap"] div,
[class*="sld_"] p, [class*="sld_"] span, [class*="sld_"] label, [class*="sld_"] li,
[class*="solid-affiliate"] p, [class*="solid-affiliate"] span, [class*="solid-affiliate"] label,
[class*="solid-affiliate"] li, [class*="solid-affiliate"] td, [class*="solid-affiliate"] th {
  color: #252525 !important;
}
[class*="sld-ap"] h1, [class*="sld-ap"] h2, [class*="sld-ap"] h3, [class*="sld-ap"] h4,
[class*="sld-ap"] h5, [class*="sld-ap"] h6, [class*="solid-affiliate"] h1,
[class*="solid-affiliate"] h2, [class*="solid-affiliate"] h3 {
  color: #111 !important;
}
[class*="sld-ap"] a:not(.button):not(.btn), [class*="solid-affiliate"] a:not(.button):not(.btn) {
  color: #7a0fb3 !important;
}
[class*="sld-ap"] input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
[class*="sld-ap"] select, [class*="sld-ap"] textarea,
[class*="sld_"] input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
[class*="sld_"] select, [class*="sld_"] textarea,
[class*="solid-affiliate"] input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
[class*="solid-affiliate"] select, [class*="solid-affiliate"] textarea {
  background: #fff !important; color: #252525 !important; border: 1px solid #c9c9c9 !important;
}
[class*="sld-ap"] input:focus, [class*="sld_"] input:focus, [class*="solid-affiliate"] input:focus,
[class*="sld-ap"] select:focus, [class*="sld-ap"] textarea:focus {
  border-color: #7a0fb3 !important; box-shadow: 0 0 0 3px rgba(122, 15, 179, 0.2) !important;
}

/* ==========================================================================
   Facelift 2 (2026-11-04): reconciled with production, then refined.
   Every page is dark again, as the live store is. Products keep their light
   surface as a tile instead of a full-width band, buttons are purple again.
   Loads last, so it settles anything the earlier parts still say about the shelf.
   Copy is production's. New words are listed in the client notes.
   ========================================================================== */
:root {
  --rf-accent-hover: #8e12d0;                       /* production audit P1-3: white on it reads 6.67:1 */
  --rf-ice: #a9dcff;                                /* the Arctic Berry headline colour from the campaign art */
  --rf-well: #f4f4f4;
  --rf-header-h: 8.8rem;
}

/* ---- Motion: answers to what people do, plus one hero load ------------------ */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: rf-vt-out 160ms ease-in both; }
  ::view-transition-new(root) { animation: rf-vt-in 240ms var(--rf-ease) both; }
  ::view-transition-group(rf-product) { animation-duration: 320ms; animation-timing-function: var(--rf-ease); }
  @keyframes rf-vt-out { to { opacity: 0; } }
  @keyframes rf-vt-in { from { opacity: 0; } }
}

/* ---- Header: settles as the page moves --------------------------------------- */
/* the glass lives on a pseudo-element: backdrop-filter on the bar itself would make it the containing block for
   the fixed cart drawer and search panel inside it, and the drawer collapses to the bar's height */
.header .header-main, .header .header-middle { background: transparent !important; position: relative; z-index: 0; }
.header .header-main::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: color-mix(in oklab, var(--rf-bg) 86%, transparent);
  -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3);
}
.header .header-main > .container, .header .header-main .header-row { min-height: var(--rf-header-h); }
.header .logo img, .header .logo .site-logo { max-width: 6.8rem !important; }
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 992px) {
    .header .logo img, .header .logo .site-logo { animation: rf-logo-settle linear both; animation-timeline: scroll(); animation-range: 0 12rem; }
    .header .header-main { animation: rf-bar-settle linear both; animation-timeline: scroll(); animation-range: 0 12rem; }
    @keyframes rf-logo-settle { to { max-width: 5.2rem; } }
    @keyframes rf-bar-settle { to { box-shadow: inset 0 -1px 0 var(--rf-border); } }
  }
}
@media (max-width: 991px) { .header .logo img, .header .logo .site-logo { max-width: 5.2rem !important; } :root { --rf-header-h: 6.4rem; } }

/* ---- Product cards: dark grid, light tile ------------------------------------ */
.rf-shelf {
  --rf-text: #f2f2f5; --rf-text-2: #a6a6ae; --rf-focus: 3px solid var(--rf-accent-text);
  background: transparent !important; color: var(--rf-text); color-scheme: dark;
}
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) {
  gap: 1px !important; background: var(--rf-border) !important; border: 1px solid var(--rf-border) !important;
}
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) > .product-wrap { background: var(--rf-bg) !important; min-width: 0; }
/* last row: an unfilled cell shows the page, not the divider colour */
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) { background-clip: padding-box; }
.rf-shelf .product-media {
  background: var(--rf-well) !important; border-bottom: 0 !important; aspect-ratio: 1 / 1;
  padding: var(--rf-space-5) !important; align-items: center; overflow: hidden; position: relative;
}
.rf-shelf .product-media > a { align-items: center; }
.rf-shelf .product-media img { object-position: center center !important; mix-blend-mode: multiply; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .rf-shelf .product-media img { transition: scale var(--rf-t-move) var(--rf-ease) !important; }
  .rf-shelf .product:hover .product-media img { scale: 1.035; }
}
.rf-shelf .product-body { padding: var(--rf-space-4) var(--rf-space-4) 0 !important; }
.rf-shelf :is(.product-title, .woocommerce-loop-product__title) { color: var(--rf-text) !important; font-size: var(--rf-fs-md) !important; letter-spacing: 0.05em; text-wrap: balance; }
.rf-shelf .product-title a:hover { color: var(--rf-accent-text) !important; }
.rf-shelf :is(.price, .product-price) { color: var(--rf-text) !important; font-size: var(--rf-fs-lg) !important; font-family: var(--rf-font-ui); font-weight: 700; font-variant-numeric: tabular-nums; }
/* production audit P1-7: the subscribe note is its own quiet line, no dangling dot */
.rf-shelf .price .wcsatt-sub-options, .rf-shelf small.wcsatt-sub-options {
  display: block !important; margin-top: 2px; font: 400 var(--rf-fs-sm)/1.35 var(--rf-font-body) !important; color: var(--rf-text-2) !important;
}
.rf-shelf .wcsatt-sub-options .wcsatt-dash { display: none !important; }
.rf-shelf .price del { color: var(--rf-text-2) !important; }
.rf-shelf .price ins { color: var(--rf-ink) !important; }
.rf-shelf .star-rating, .rf-shelf .star-rating::before { color: var(--rf-border-strong) !important; }
.rf-shelf .star-rating span, .rf-shelf .star-rating span::before { color: #f5c518 !important; }
.rf-shelf .ratings-text, .rf-shelf .woocommerce-review-link { color: var(--rf-text-2) !important; }
.rf-shelf .product-footer { padding: var(--rf-space-3) var(--rf-space-4) var(--rf-space-4) !important; width: 100%; }
.rf-shelf .product-action { width: 100%; }
.rf-shelf .product-action :is(a.btn-cart, a.add_to_cart_button, a.ajax_add_to_cart, .btn-product) { display: flex !important; width: 100% !important; justify-content: center; align-items: center; }
.rf-shelf :is(.rf-btn, .btn, .button, a.button, .btn-cart, .add_to_cart_button, .product_type_variable, .btn-product) {
  background: var(--rf-accent) !important; color: #fff !important; min-height: var(--rf-control-h-sm);
}
.rf-shelf :is(.rf-btn, .btn, .button, a.button, .btn-cart, .add_to_cart_button, .product_type_variable, .btn-product):hover:not(:disabled) { background: var(--rf-accent-hover) !important; }
.rf-shelf .added_to_cart { color: var(--rf-accent-text) !important; display: block; margin: var(--rf-space-2) 0 0 !important; }
.rf-shelf .product-labels .product-label, .rf-shelf .onsale { background: var(--rf-accent) !important; color: #fff !important; font: 700 var(--rf-fs-xs)/1 var(--rf-font-ui) !important; letter-spacing: 0.08em; padding: 0.5em 0.8em !important; }
.rf-shelf-band--row :is(.products, .woocommerce > .row) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1199px) and (min-width: 881px) { .rf-shelf-band--row :is(.products, .woocommerce > .row) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 55rem) { .rf-shelf-band--row :is(.products, .woocommerce > .row) { scrollbar-color: var(--rf-line) transparent; grid-auto-columns: 58%; } }
@media (max-width: 47.99rem) {
  .rf-shelf .product-media { padding: var(--rf-space-3) !important; }
  .rf-shelf .product-body { padding: var(--rf-space-3) var(--rf-space-3) 0 !important; }
  .rf-shelf .product-footer { padding: var(--rf-space-3) !important; }
}

/* ---- Hero: live type on a clean plate ---------------------------------------- */
body.home #hero {
  min-height: min(calc(100svh - 12rem), 92rem); display: flex !important; align-items: center;
  background-size: cover !important; background-position: 62% 50% !important;
}
body.home #hero .overlay { background: linear-gradient(95deg, rgba(10,10,11,.86) 0%, rgba(10,10,11,.62) 30%, rgba(10,10,11,0) 58%), linear-gradient(0deg, var(--rf-bg) 0%, rgba(10,10,11,0) 22%) !important; }
body.home #hero h1 { margin: 0 0 var(--rf-space-4) !important; font-size: inherit !important; line-height: 1 !important; text-transform: uppercase; text-shadow: 0 1px 24px rgba(10,10,11,.45); }
.rf-hero-eyebrow, .rf-hero-name, .rf-hero-sub { display: block; }
.rf-hero-eyebrow { font: 600 var(--rf-fs-lg)/1.2 var(--rf-font-ui); letter-spacing: 0.1em; color: var(--rf-text); margin-bottom: var(--rf-space-3); }
.rf-hero-name { font: 800 clamp(4.2rem, 2rem + 5.4vw, 9.6rem)/0.98 var(--rf-font-display); letter-spacing: 0.005em; color: var(--rf-ice); }
.rf-hero-sub { font: 700 clamp(1.9rem, 1.3rem + 1.3vw, 3.2rem)/1.15 var(--rf-font-ui); letter-spacing: 0.04em; color: #fff; margin-top: var(--rf-space-3); }
body.home #hero p { font-size: var(--rf-fs-lg) !important; max-width: 40ch; line-height: 1.5; text-shadow: 0 1px 16px rgba(10,10,11,.5); }
body.home #hero .hero-actions { margin-top: var(--rf-space-5); }
@media (min-width: 992px) { body.home #hero .hero-content { max-width: 80rem; } }
@media (max-width: 880px), (max-aspect-ratio: 1/1) {
  body.home #hero { min-height: min(calc(100svh - 7rem), 90rem); align-items: flex-end; background-position: 50% 0 !important; background-size: 100% auto !important; background-repeat: no-repeat !important; background-color: var(--rf-bg) !important; }
  body.home #hero .overlay { background: linear-gradient(0deg, var(--rf-bg) 0%, rgba(10,10,11,.92) 30%, rgba(10,10,11,.2) 58%, rgba(10,10,11,0) 72%) !important; }
  body.home #hero .hero-content { text-align: start !important; padding: 0 var(--rf-gutter) var(--rf-space-6) !important; margin: 0 !important; width: 100%; max-width: none; }
  body.home #hero .hero-actions { justify-content: flex-start !important; }
  body.home #hero p { margin-inline: 0 !important; }
  .rf-hero-eyebrow { font-size: var(--rf-fs-md); }
}

/* ---- Goal finder: the home page's one bold idea ------------------------------- */
.rf-goals { padding-block: var(--rf-section-pad); }
@media (min-width: 992px) {
  .home .custom-content > .rf-goals { grid-column: 2; padding-right: max(var(--rf-space-5), calc((100vw - 120rem) / 2)); padding-left: var(--rf-space-5); }
}
@media (max-width: 991px) { .rf-goals { padding: 0 var(--rf-gutter) var(--rf-section-pad); } }
.rf-goal { border-bottom: 1px solid var(--rf-border); interpolate-size: allow-keywords; }
.rf-goal:first-child { border-top: 1px solid var(--rf-border); }
.rf-goal > summary {
  display: grid; grid-template-columns: minmax(0, 1fr) auto 2.4rem; align-items: center; gap: var(--rf-space-5);
  padding-block: var(--rf-space-3); cursor: pointer; list-style: none;
}
.rf-goal > summary::-webkit-details-marker { display: none; }
.rf-goal > summary:focus-visible { outline: var(--rf-focus); outline-offset: 2px; }
.rf-goal__word { font: 700 var(--rf-fs-index)/1 var(--rf-font-display); letter-spacing: 0.02em; text-transform: uppercase; color: var(--rf-text-2); transition: color var(--rf-t-color) var(--rf-ease); }
.rf-goal > summary:hover .rf-goal__word, .rf-goal[open] .rf-goal__word { color: var(--rf-text); }
.rf-goal__thumb { width: 14rem; height: 8rem; object-fit: cover; filter: grayscale(1) contrast(1.1); transition: filter var(--rf-t-move) var(--rf-ease), opacity var(--rf-t-move) var(--rf-ease); }
.rf-goal > summary:hover .rf-goal__thumb { filter: none; }
.rf-goal[open] .rf-goal__thumb { filter: none; }
.rf-goal__sign { position: relative; width: 2.4rem; height: 2.4rem; color: var(--rf-accent-text); }
.rf-goal__sign::before, .rf-goal__sign::after { content: ""; position: absolute; inset: 50% 0 auto; height: 2px; background: currentColor; translate: 0 -50%; transition: rotate var(--rf-t-move) var(--rf-ease); }
.rf-goal__sign::after { rotate: 90deg; }
.rf-goal[open] .rf-goal__sign::after { rotate: 0deg; }
@media (prefers-reduced-motion: no-preference) {
  .rf-goal::details-content { height: 0; overflow: clip; transition: height var(--rf-t-move) var(--rf-ease), content-visibility var(--rf-t-move) allow-discrete; }
  .rf-goal[open]::details-content { height: auto; }
}
.rf-goal__panel { padding: var(--rf-space-3) 0 var(--rf-space-6); }
.rf-goal__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--rf-space-3); margin: 0 0 var(--rf-space-4); padding: 0; list-style: none; }
.rf-goal__item a { display: block; text-decoration: none !important; color: var(--rf-text) !important; }
.rf-goal__well { display: block; aspect-ratio: 1; background: var(--rf-well); padding: var(--rf-space-3); margin-bottom: var(--rf-space-2); }
.rf-goal__well img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.rf-goal__name { display: block; font: 700 var(--rf-fs-sm)/1.2 var(--rf-font-ui); letter-spacing: 0.04em; text-transform: uppercase; transition: color var(--rf-t-color) var(--rf-ease); }
.rf-goal__item a:hover .rf-goal__name { color: var(--rf-accent-text); }
.rf-goal__price { display: block; margin-top: 2px; font: 600 var(--rf-fs-sm)/1.3 var(--rf-font-ui); color: var(--rf-text-2); font-variant-numeric: tabular-nums; }
.rf-goal__all { display: inline-flex; align-items: center; min-height: var(--rf-control-h-sm); font: 700 var(--rf-fs-sm)/1 var(--rf-font-ui); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rf-accent-text) !important; text-decoration: underline !important; text-underline-offset: 0.35em; }
@media (max-width: 767px) {
  .rf-goal__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rf-goal__thumb { width: 9.6rem; height: 6.4rem; }
  .rf-goal > summary { gap: var(--rf-space-3); }
  .rf-goal__word { font-size: clamp(2.2rem, 7.4vw, 3.4rem); }
}

/* ---- Home: New Products sits on the page now, not a light band ------------------ */
.section-title:has(+ .featured-product-section), .featured-product-section { background: transparent !important; color: var(--rf-text); color-scheme: dark; }
.section-title:has(+ .featured-product-section) :is(h2, .h2) { color: var(--rf-text) !important; }
.featured-product-section .rf-shelf { border-top: 0; }
.home .section-title:has(+ .featured-product-section) { padding-top: var(--rf-space-5) !important; }
.featured-product-section > .container, .section-title:has(+ .featured-product-section) > .container { max-width: var(--rf-container) !important; width: auto; }

/* ---- Feature bands: production's copy and icons -------------------------------- */
:is(.about-us, .about-us-alt) .h5, .spotlight .h5, .newsletter-section .h5, :is(.about-us, .about-us-alt) h5 {
  font: 600 var(--rf-fs-sm)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rf-accent-text) !important; margin: 0 !important;
}
:is(.about-us, .about-us-alt) :is(h2, .text-light > h3) { font: 700 var(--rf-fs-2xl)/1.08 var(--rf-font-display) !important; text-transform: uppercase; letter-spacing: 0.01em; margin: var(--rf-space-2) 0 var(--rf-space-4) !important; text-wrap: balance; color: var(--rf-text) !important; }
:is(.about-us, .about-us-alt) .max-w-1500, .about-us, .about-us-alt { max-width: none !important; }
.benefit-icon, .benefit-item .benefit-icon { display: flex !important; margin-bottom: var(--rf-space-3); }
.benefit-content h3.h4, .benefit-content :is(h3, h4) { font: 700 var(--rf-fs-lg)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rf-text) !important; margin: 0 0 var(--rf-space-2) !important; overflow-wrap: normal; }
.benefit-content { color: var(--rf-text-2); font-size: var(--rf-fs-md); line-height: 1.6; }
.about-us-alt .quote-benefits { grid-template-columns: 1fr !important; }
@media (min-width: 1200px) { .about-us-alt .quote-benefits { grid-template-columns: 1fr 1fr 1fr !important; gap: var(--rf-space-5) !important; } }

/* ---- Newsletter: real depth ------------------------------------------------------ */
.newsletter-section .parallax-bg, .newsletter-section .rellax { background-image: url(../images/f2/newsletter-1800.webp) !important; }
.newsletter-section::before { background: linear-gradient(90deg, rgba(10,10,11,.25) 0%, rgba(10,10,11,.7) 34%, rgba(10,10,11,.7) 66%, rgba(10,10,11,.25) 100%); }
.newsletter-section .bg-overlay { display: none !important; }
.newsletter-section { padding-block: clamp(8rem, 12vw, 16rem) !important; }
@media (max-width: 767px) { .newsletter-section .parallax-bg, .newsletter-section .rellax { background-image: url(../images/f2/newsletter-900.webp) !important; } .newsletter-section::before { background: rgba(10,10,11,.66); } }

/* ---- Archives: dark, with a mood band behind the title --------------------------- */
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .page-content {
  --rf-text: #f2f2f5; --rf-text-2: #a6a6ae; color: var(--rf-text); color-scheme: dark;
  background: var(--rf-bg) !important; position: relative; isolation: isolate; padding-bottom: var(--rf-section-pad);
}
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .page-content::before {
  content: ""; position: absolute; inset: 0 0 auto; height: clamp(26rem, 26vw, 40rem); z-index: -1; pointer-events: none;
  background: linear-gradient(0deg, var(--rf-bg) 2%, rgba(10,10,11,0) 55%), var(--rf-band, url(../images/f2/chalk-1800.webp)) right center / cover no-repeat;
}
.tax-product_tag.term-strength .page-content { --rf-band: url(../images/f2/goal-strength-1800.webp); }
.tax-product_tag.term-wellness .page-content { --rf-band: url(../images/f2/goal-wellness-1800.webp); }
.tax-product_tag.term-recovery .page-content { --rf-band: url(../images/f2/goal-recovery-1800.webp); }
.tax-product_tag.term-endurance .page-content { --rf-band: url(../images/f2/goal-endurance-1800.webp); }
@media (max-width: 767px) { body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .page-content::before { opacity: .55; background-position: 75% center, 75% center; } }
.archive .woocommerce-products-header h1, .woocommerce-products-header .page-title, .woocommerce-products-header__title { color: var(--rf-text) !important; }
.woocommerce-products-header { padding: clamp(4rem, 7vw, 9rem) 0 var(--rf-space-6) !important; }
.term-description, .woocommerce-products-header .term-description p { color: var(--rf-text-2) !important; }
.rf-cat-links { border-bottom: 1px solid var(--rf-border); margin-bottom: var(--rf-space-3); }
.rf-cat-links ul { scrollbar-color: var(--rf-line) transparent; }
.rf-cat-links a { color: var(--rf-text-2) !important; border-bottom-width: 2px !important; margin-bottom: -1px; font-size: var(--rf-fs-sm); letter-spacing: 0.08em; }
.rf-cat-links a:hover { color: var(--rf-text) !important; }
.rf-cat-links a[aria-current="page"] { color: var(--rf-text) !important; border-bottom-color: var(--rf-accent) !important; }
.rf-goal-links { display: flex; align-items: center; gap: var(--rf-space-2); flex-wrap: wrap; margin: 0 0 var(--rf-space-5); }
.rf-goal-links__label { font: 600 var(--rf-fs-sm)/1 var(--rf-font-ui); letter-spacing: 0.08em; text-transform: uppercase; color: var(--rf-text-2); margin-inline-end: var(--rf-space-2); }
.rf-goal-links a { display: inline-flex; align-items: center; min-height: max(3.6rem, 36px); padding-inline: var(--rf-space-4); border: 1px solid var(--rf-line) !important; color: var(--rf-text) !important; text-decoration: none !important; font: 600 var(--rf-fs-sm)/1 var(--rf-font-ui); letter-spacing: 0.06em; text-transform: uppercase; transition: border-color var(--rf-t-color) var(--rf-ease), background-color var(--rf-t-color) var(--rf-ease); }
.rf-goal-links a:hover { border-color: var(--rf-accent-text) !important; }
.rf-goal-links a[aria-current="page"] { background: var(--rf-accent) !important; border-color: var(--rf-accent) !important; color: #fff !important; }
.toolbox, .woocommerce-result-count, .toolbox label { color: var(--rf-text-2) !important; }
.toolbox :is(.orderby, select) { background: var(--rf-surface-2) !important; color: var(--rf-text) !important; border: 1px solid var(--rf-line) !important; }
.woocommerce-info.woocommerce-no-products-found, .woocommerce-no-products-found .woocommerce-info { background: var(--rf-surface) !important; color: var(--rf-text) !important; border-color: var(--rf-border-strong) !important; }
.woocommerce-pagination .page-numbers :is(a, span) { border-color: var(--rf-line) !important; color: var(--rf-text) !important; }
.woocommerce-pagination .page-numbers .current { background: var(--rf-accent) !important; border-color: var(--rf-accent) !important; color: #fff !important; }
.rfs61-noresults { color: var(--rf-text); }
.rfs61-noresults form input[type="search"] { background: var(--rf-surface-2) !important; color: var(--rf-text) !important; border-color: var(--rf-line) !important; }
.rfs61-noresults ul a { color: var(--rf-text) !important; border-color: var(--rf-line) !important; }

/* ---- Blog shelf and search dropdown follow the cards ------------------------------- */
.single-post .post-single .rf-post-products .rf-shelf { border-top: 0; }
.single-post .post-single .entry-content .rf-post-products .rf-shelf :is(p, li, span, a):not(.button):not(.button *) { color: var(--rf-text) !important; }
.wishlist_table thead th, .wishlist_table thead th .nobr { color: var(--rf-text) !important; }
/* wishlist: plugin paints the table light; keep it on the dark page (invisible headers found live 2026-11-06) */
.wishlist_table, .wishlist_table :is(thead, tbody, tfoot, tr, th, td) { background: transparent !important; }
.wishlist_table td, .wishlist_table td.wishlist-empty, .wishlist_table td :is(.amount, .wishlist-in-stock, .wishlist-out-of-stock) { color: var(--rf-text-2) !important; }
.wishlist_table td.product-name a { color: var(--rf-text) !important; }

/* ---- Round 2 after the first screenshots ------------------------------------------ */
/* the header's active underline sat through the text once the bar got taller */
.header .menu > li > a::after, .menu-skin1 > li > a::after { top: calc(50% + 1.05em); bottom: auto !important; }
/* every grid shares the page's left and right edge */
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) { width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; box-sizing: border-box; }
.featured-product-section > .container > .row > [class*="col"], .featured-product-section .rf-shelf { padding-inline: 0 !important; margin-inline: 0 !important; max-width: 100%; flex: 0 0 100%; }
/* hero */
body.home #hero .hero-actions .btn, body.home #hero .hero-actions a { margin-left: 0 !important; }
/* goal finder: full width under its heading, nothing empty beside it */
@media (min-width: 992px) {
  .home .custom-content { display: block !important; }
  .home .custom-content > #product-categories { padding-right: 0 !important; padding-bottom: var(--rf-space-6) !important; }
  .home .custom-content > #product-categories .container { max-width: var(--rf-container) !important; width: auto !important; margin-inline: auto !important; padding-inline: var(--rf-space-5) !important; }
  .home #product-categories .section-content { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--rf-space-7); align-items: end; }
  .home #product-categories .section-content p, .home #product-categories .section-content { font-size: var(--rf-fs-lg); color: var(--rf-text-2); line-height: 1.55; }
  .home #product-categories :is(h2, .h2) { margin: 0 !important; font-size: var(--rf-fs-3xl) !important; }
  .home .custom-content > .rf-goals { max-width: calc(var(--rf-container) + 2 * var(--rf-space-5)); margin-inline: auto; padding: 0 var(--rf-space-5) var(--rf-section-pad); }
  .rf-goal__thumb { width: 19rem; height: 9.6rem; }
}
.rf-goal__panel { padding-top: var(--rf-space-4); }
/* grids: stars and labels */
.woocommerce-result-count, .woocommerce-result-count * , .toolbox .toolbox-info, .toolbox .toolbox-info * , .toolbox label, .toolbox .toolbox-sort label { color: var(--rf-text-2) !important; }
/* mood band: quieter, ends before the tabs so the labels stay readable */
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .page-content::before {
  height: clamp(20rem, 21vw, 30rem);
  background: linear-gradient(0deg, var(--rf-bg) 0%, rgba(10,10,11,.1) 60%), linear-gradient(90deg, var(--rf-bg) 18%, rgba(10,10,11,.15) 70%), var(--rf-band, url(../images/f2/chalk-1800.webp)) right center / cover no-repeat;
}
.woocommerce-products-header { padding-top: clamp(3.2rem, 5vw, 6.4rem) !important; }
.rf-cat-links a { color: var(--rf-text) !important; }
.rf-cat-links a:not([aria-current="page"]) { color: #c9c9d1 !important; }
/* eyebrows are one thing everywhere */
body :is(.about-us, .about-us-alt, .spotlight) :is(.h5, h5, p.h5), body .newsletter-section :is(.h5, h5, p.h5), .home .section-content .h5 {
  font: 600 var(--rf-fs-sm)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: var(--rf-accent-text) !important; margin: 0 0 var(--rf-space-2) !important;
}
/* production's check icon in its soft circle */
.benefit-icon, .benefit-item .benefit-icon {
  width: 4.4rem !important; height: 4.4rem !important; min-width: 0; border-radius: 50% !important; align-items: center; justify-content: center;
  background: var(--rf-accent-soft) !important; border: 1px solid color-mix(in oklab, var(--rf-accent) 45%, transparent) !important; color: var(--rf-accent-text);
}
.benefit-icon:empty::before { content: "\f270"; font-family: "bootstrap-icons" !important; font-size: 2rem; line-height: 1; color: var(--rf-accent-text); font-style: normal; font-weight: 400 !important; }
/* newsletter on phones: a flex-basis meant for width became 260px of empty height */
@media (max-width: 575px) { .newsletter-form .wpcf7-form-control-wrap { flex: 0 0 auto !important; } }

/* ---- Product page ----------------------------------------------------------------- */
/* the photo stays beside the long description, not the other way round */
@media (min-width: 992px) {
  .single-product .entry-summary, .single-product .summary { position: static !important; }
  .single-product .product-intro > .row > :first-child { position: sticky; top: calc(var(--rf-header-h) + var(--rf-space-4) + var(--wp-admin--admin-bar--height, 0px)); align-self: flex-start; }
}
/* price, then the subscribe note as a quiet line */
.single-product div.product .summary > p.price { margin-bottom: var(--rf-space-3) !important; }
.single-product .summary .price .wcsatt-sub-options { display: block; margin-top: var(--rf-space-2); font: 400 var(--rf-fs-md)/1.4 var(--rf-font-body) !important; color: var(--rf-text-2) !important; }
.single-product .summary .price .wcsatt-sub-options .wcsatt-dash { display: none !important; }
/* Buy once / Subscribe: two clear choices on their own row, quantity and button under them */
.single-product :is(.woocommerce-variation-add-to-cart, form.cart:not(.variations_form)) { flex-wrap: wrap !important; }
.single-product form.cart .wcsatt-options-wrapper { flex: 1 1 100% !important; width: 100% !important; margin: 0 0 var(--rf-space-2) !important; }
.single-product form.cart .wcsatt-options-prompt-radios { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--rf-space-2) !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.single-product form.cart .wcsatt-options-prompt-radio { margin: 0 !important; width: auto !important; min-width: 0; }
.single-product form.cart .wcsatt-options-prompt-label { display: flex !important; align-items: center; gap: var(--rf-space-3) !important; min-height: var(--rf-control-h); height: 100%; margin: 0 !important; padding: var(--rf-space-2) var(--rf-space-3) !important; border: 1px solid var(--rf-line); cursor: pointer; transition: border-color var(--rf-t-color) var(--rf-ease), background-color var(--rf-t-color) var(--rf-ease); }
.single-product form.cart .wcsatt-options-prompt-label:hover { border-color: var(--rf-accent-text); }
.single-product form.cart .wcsatt-options-prompt-label:has(input:checked) { border-color: var(--rf-accent-text); background: var(--rf-accent-soft); }
.single-product form.cart .wcsatt-options-prompt-label .wcsatt-options-prompt-action { padding-left: 0 !important; font: 600 var(--rf-fs-sm)/1.25 var(--rf-font-ui) !important; letter-spacing: 0.04em; text-transform: none !important; color: var(--rf-text) !important; white-space: normal; }
.single-product form.cart .wcsatt-options-prompt-label input { margin: 0 !important; flex: none; accent-color: var(--rf-accent); }
.single-product form.cart .wcsatt-options-product-wrapper { margin-top: var(--rf-space-2); }
@media (max-width: 420px) { .single-product form.cart .wcsatt-options-prompt-radios { grid-template-columns: 1fr; } }
/* wishlist heart: visible on the dark bar */
.single-product form.cart .yith-wcwl-add-to-wishlist a { color: var(--rf-text) !important; }
.single-product form.cart .yith-wcwl-add-to-wishlist a svg { color: inherit; stroke: currentColor !important; fill: none; width: 2.2rem; height: 2.2rem; }
.single-product .product-image-gallery .product-thumb a.active { border-color: var(--rf-accent-text) !important; }
/* tabs: less air before the first answer; related products read like every other heading */
.single-product .woocommerce-tabs .tab-content, .single-product .woocommerce-tabs .panel { padding-top: var(--rf-space-3) !important; margin-top: 0 !important; }
.single-product .related > h2, .single-product .related .title, .single-product section.related :is(h2, .title) {
  font: 700 var(--rf-fs-2xl)/1.1 var(--rf-font-display) !important; letter-spacing: 0.01em !important; text-align: start !important; margin-bottom: var(--rf-space-5) !important; color: var(--rf-text) !important;
}

/* ---- Round 3 ---------------------------------------------------------------------- */
/* grid lines belong to the cards, so an unfilled row shows the page and not a grey block */
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) { background: transparent !important; border: 0 !important; gap: 1px !important; padding: 1px !important; }
:is(.rf-shelf.products, .rf-shelf .products, .rf-shelf .woocommerce > .row) > .product-wrap { box-shadow: 0 0 0 1px var(--rf-border); }
/* same left edge for every question (production audit P2-3) */
.woocommerce-tabs .faq-list .faq-item > h3, .woocommerce-tabs .faq-list .faq-item > .faq-question { padding-left: 0 !important; margin-left: 0 !important; }
/* copy blocks: one colour for definitions */
.benefit-content, .benefit-content p, .benefit-content span { color: var(--rf-text-2) !important; }
/* About + Athlete Program: a photographic title band */
:is(.page-id-1826, .page-id-1849) .page-title {
  display: flex; align-items: flex-end; min-height: clamp(24rem, 30vw, 44rem); padding: var(--rf-space-7) 0 var(--rf-space-6) !important; margin: 0 !important;
  background: linear-gradient(0deg, var(--rf-bg) 0%, rgba(10,10,11,0) 45%), linear-gradient(90deg, rgba(10,10,11,.75) 0%, rgba(10,10,11,0) 55%), var(--rf-band) center 35% / cover no-repeat !important;
}
:is(.page-id-1826, .page-id-1849) .page-title .container { width: 100%; }
.page-id-1826 .page-title { --rf-band: url(../images/f2/about-1800.webp); }
.page-id-1849 .page-title { --rf-band: url(../images/f2/team-1800.webp); }
@media (max-width: 767px) { .page-id-1826 .page-title { --rf-band: url(../images/f2/about-900.webp); } .page-id-1849 .page-title { --rf-band: url(../images/f2/team-900.webp); } }
.page-id-1826 .about p { max-width: 62ch; }
.page-id-1826 .about .content p { margin-bottom: var(--rf-space-4); font-size: var(--rf-fs-md); line-height: 1.65; color: var(--rf-text-2); }
.page-id-1826 .about .content p strong { color: var(--rf-text); }
/* Athlete Program: the two columns start level; eyebrow like everywhere else */
.page-id-1849 .row.align-items-center { align-items: flex-start !important; }
.page-id-1849 :is(.h5, h5, .section-subtitle) { font: 600 var(--rf-fs-sm)/1.2 var(--rf-font-ui) !important; letter-spacing: 0.1em !important; text-transform: uppercase; color: var(--rf-accent-text) !important; }
/* Contact: the form beside a photograph */
@media (min-width: 992px) {
  body.page-id-1824 .page-content { background: linear-gradient(90deg, var(--rf-bg) 52%, rgba(10,10,11,.2) 68%, rgba(10,10,11,0) 100%), url(../images/f2/tape-1000.webp) right 22% / auto 100% no-repeat, var(--rf-bg) !important; }
}
/* 404: quiet colour behind the headline */
body.error404 .page-content { background: linear-gradient(90deg, var(--rf-bg) 38%, rgba(10,10,11,.1) 80%), url(../images/f2/chalk-1800.webp) right top / auto 100% no-repeat, var(--rf-bg) !important; }

/* ---- Round 4 ---------------------------------------------------------------------- */
/* production audit: "last updated" and running-text links on policy pages */
.last-updated { color: var(--rf-accent-text) !important; }
.page-content .list-items li a:not(.btn):not(.button), .entry-content li a:not(.btn):not(.button):not(.nav-link) { color: var(--rf-accent-text) !important; text-decoration: underline !important; text-underline-offset: 3px; }
/* production audit P2-2: the "added to cart" notice is noise on the cart and checkout themselves */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .wc-forward, .woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button { display: none !important; }
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message:has(a.wc-forward) { display: none !important; }
/* Contact: keep the photograph clear of the form */
@media (min-width: 992px) {
  body.page-id-1824 .page-content { background: linear-gradient(90deg, var(--rf-bg) 58%, rgba(10,10,11,.25) 72%, rgba(10,10,11,0) 100%), url(../images/f2/tape-1000.webp) right 22% / auto 100% no-repeat, var(--rf-bg) !important; }
}
body:is(.page-id-1826, .page-id-1849) .page-title.dark-background { min-height: clamp(24rem, 30vw, 44rem) !important; height: auto !important; padding: var(--rf-space-7) 0 var(--rf-space-6) !important; background: linear-gradient(0deg, var(--rf-bg) 0%, rgba(10,10,11,0) 45%), linear-gradient(90deg, rgba(10,10,11,.75) 0%, rgba(10,10,11,0) 55%), var(--rf-band) center 35% / cover no-repeat !important; }

/* phone buy bar on simple products: the whole form pins, so it must outrank form.cart's position: static */
@media (max-width: 991px) {
  .single-product form.cart.rf-buy-pinned { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 999; margin: 0 !important; padding: var(--rf-space-2) var(--rf-gutter) !important; background: var(--rf-bg) !important; border-top: 1px solid var(--rf-border-strong) !important; flex-wrap: wrap; display: flex !important; gap: var(--rf-space-2) !important; }
  .single-product form.cart.rf-buy-pinned .wcsatt-options-prompt-radios { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr) !important; }
  .single-product form.cart.rf-buy-pinned .wcsatt-options-prompt-label { padding: 4px 8px !important; min-height: 44px; }
  .single-product form.cart.rf-buy-pinned .wcsatt-options-wrapper { margin: 0 !important; }
  .single-product form.cart.rf-buy-pinned .yith-wcwl-add-to-wishlist { display: none !important; }
  .single-product form.cart.rf-buy-pinned .single_add_to_cart_button { flex: 1 1 0 !important; min-width: 0; white-space: nowrap; }
  body.single-product:has(form.cart.rf-buy-pinned) #scroll-top { display: none !important; }
  body.single-product:has(form.cart.rf-buy-pinned) { padding-bottom: 16rem; }
}

/* ---- Round 5 ---------------------------------------------------------------------- */
body:is(.page-id-1826, .page-id-1849) .page-title.dark-background > .container { max-width: 114rem !important; width: 100%; margin-inline: auto; padding-inline: var(--rf-gutter) !important; }
@media (min-width: 1200px) { body:is(.page-id-1826, .page-id-1849) .page-title.dark-background > .container { padding-inline: 0 !important; } }
.single-product div.product .summary .price .wcsatt-sub-options, .single-product div.product .summary .price small.wcsatt-sub-options { display: block !important; margin-top: var(--rf-space-2) !important; }

/* one column edge down the whole home page (the 1140px the feature bands, spotlight and FAQ already use) */
@media (min-width: 1200px) {
  .home .custom-content > #product-categories .container, .section-title:has(+ .featured-product-section) > .container, .featured-product-section > .container { max-width: 114rem !important; width: 114rem !important; padding-inline: 0 !important; margin-inline: auto !important; }
  .home #product-categories .row, .section-title:has(+ .featured-product-section) .row, .featured-product-section > .container > .row { margin-inline: 0 !important; }
  .home #product-categories .col-lg-10, .section-title:has(+ .featured-product-section) .col-lg-10 { padding-inline: 0 !important; }
  .home .custom-content > .rf-goals { max-width: 114rem; padding-inline: 0; }
}
