/* ============ RetaExpress Design System v2 ============ */
:root{
--rx-bg:#F3F3F3; --rx-surface:#FFFFFF; --rx-ink:#0A0606; --rx-ink2:#333333;
/* muted darkened from the reference #797979 (4.35:1) to clear WCAG AA on white */
--rx-muted:#6E6E6E; --rx-line:#E4E2E2; --rx-line2:#F0EFEF;
--rx-gold:#F6B304; --rx-gold2:#FFD700;
/* gold-dk = large text / icons on white (4.1:1); gold-txt = small text (5.5:1).
   The reference's #C98F03 measured 2.83:1 and failed even the large-text bar. */
--rx-gold-dk:#A87400; --rx-gold-txt:#8A6100;
--rx-black:#0A0606; --rx-black2:#151010;
--rx-r:14px; --rx-r-lg:24px; --rx-pill:999px;
--rx-sh:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.07);
--rx-sh-sm:0 1px 2px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.05);
--rx-max:1360px; --rx-gut:24px;
--rx-f:'Rubik',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
--rx-fd:'Oswald','Rubik',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.rx{background:var(--rx-bg)!important;color:var(--rx-ink)!important;
font-family:var(--rx-f)!important;font-size:16px;line-height:1.6;margin:0;overflow-x:hidden}
body.rx img{max-width:100%;height:auto}
.rx-i{flex:none;display:inline-block;vertical-align:middle}

/* Typography */
body.rx h1,body.rx h2,body.rx h3,body.rx h4,body.rx h5{
font-family:var(--rx-f);color:var(--rx-ink);font-weight:600;line-height:1.2;margin:0 0 .5em}
body.rx h1{font-size:clamp(30px,4.6vw,52px);font-weight:700;letter-spacing:-.02em}
body.rx h2{font-size:clamp(24px,3vw,36px);letter-spacing:-.015em}
body.rx h3{font-size:clamp(19px,2vw,23px)}
body.rx p{color:var(--rx-ink2);margin:0 0 1em}
body.rx a{color:var(--rx-ink);text-decoration:none}
body.rx a:hover{color:var(--rx-gold-txt)}

.rx-wrap{max-width:var(--rx-max);margin:0 auto;padding:0 var(--rx-gut);width:100%}

/* ---------- Buttons ---------- */
.rx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
padding:14px 28px;border-radius:var(--rx-pill);font-weight:600;font-size:14.5px;
letter-spacing:.01em;border:1.5px solid transparent;cursor:pointer;transition:.18s ease;
text-align:center;line-height:1.2}
.rx-btn-gold{background:var(--rx-gold);color:#0A0606!important;border-color:var(--rx-gold)}
.rx-btn-gold:hover{background:var(--rx-gold2);border-color:var(--rx-gold2);color:#0A0606!important;
transform:translateY(-1px);box-shadow:0 8px 22px rgba(246,179,4,.35)}
.rx-btn-dark{background:var(--rx-black);color:#fff!important;border-color:var(--rx-black)}
.rx-btn-dark:hover{background:#241c1c;color:#fff!important;transform:translateY(-1px)}
.rx-btn-ghost{background:transparent;color:var(--rx-ink)!important;border-color:var(--rx-line)}
.rx-btn-ghost:hover{border-color:var(--rx-ink);background:#fff}

/* Prices: Flatsome's icon font leaks into .amount and renders glyphs as symbols.
   Pin them to the body stack (this replaces the old reta-checkout-price-fix). */
body.rx .woocommerce-Price-amount,body.rx .woocommerce-Price-amount *,
body.rx .woocommerce-Price-currencySymbol,body.rx .price,body.rx .price *,
body.rx .amount,body.rx bdi,body.rx ins,body.rx del,
body.rx .cart-subtotal .amount,body.rx .order-total .amount,
body.rx .product-subtotal .amount,body.rx .product-price .amount,
body.rx .cart_totals .amount,body.rx .woocommerce-checkout-review-order-table .amount{
font-family:var(--rx-f)!important;font-variant-numeric:tabular-nums}

/* ---------- Announcement ---------- */
.rx-announce{background:var(--rx-black);color:#EDE7E7;font-size:12.5px;letter-spacing:.02em}
.rx-announce-in{max-width:var(--rx-max);margin:0 auto;padding:9px var(--rx-gut);
display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.rx-ann-item{display:inline-flex;align-items:center;gap:8px}
.rx-announce .rx-i{color:var(--rx-gold)}
.rx-announce strong{color:var(--rx-gold);font-weight:600}
.rx-announce-sep{width:1px;height:13px;background:rgba(255,255,255,.22)}

/* ---------- Header ---------- */
/* Solid background, deliberately NOT backdrop-filter: blurring a full-width
   sticky bar forces a repaint of the backdrop on every scroll frame, which
   stalled the compositor here. Solid is faster and higher contrast. */
.rx-head{position:sticky;top:0;z-index:900;background:#fff;
border-bottom:1px solid var(--rx-line);transition:box-shadow .2s;
will-change:box-shadow;contain:layout paint}
.rx-head.is-stuck{box-shadow:0 4px 20px rgba(0,0,0,.07)}
.rx-head-in{max-width:var(--rx-max);margin:0 auto;padding:0 var(--rx-gut);height:72px;
display:flex;align-items:center;gap:18px}

.rx-logo{display:inline-flex;align-items:center;gap:10px;flex:none}
.rx-logo-txt{display:flex;flex-direction:column;line-height:1}
.rx-logo-a,.rx-logo-b{font-family:var(--rx-fd);font-weight:700;font-size:20px;letter-spacing:.06em}
.rx-logo-a{color:var(--rx-ink)}
.rx-logo-b{color:var(--rx-gold-dk)}
.rx-logo-txt{flex-direction:row;align-items:baseline;gap:1px;position:relative}
.rx-logo-sub{position:absolute;top:100%;left:0;margin-top:2px;font-size:7.5px;letter-spacing:.24em;
color:var(--rx-muted);font-weight:500;white-space:nowrap}
.rx-logo--light .rx-logo-a{color:#fff}
.rx-logo--light .rx-logo-b{color:var(--rx-gold)}
.rx-logo--light .rx-logo-sub{color:rgba(255,255,255,.55)}

.rx-nav{display:flex;align-items:center;gap:4px;margin-left:14px}
.rx-nav-item{position:relative}
.rx-nav-item>a{display:inline-flex;align-items:center;gap:5px;padding:10px 14px;border-radius:10px;
font-size:14.5px;font-weight:500;color:var(--rx-ink2);transition:.16s}
.rx-nav-item>a:hover{background:#F0EFEF;color:var(--rx-ink)}
.rx-nav-item .rx-i-chev{transition:transform .18s}
.rx-nav-item:hover .rx-i-chev{transform:rotate(180deg)}
.rx-drop{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:#fff;
border:1px solid var(--rx-line);border-radius:var(--rx-r);box-shadow:var(--rx-sh);padding:7px;
opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s ease;z-index:50}
.rx-nav-item:hover .rx-drop{opacity:1;visibility:visible;transform:translateY(0)}
.rx-drop a{display:flex;align-items:center;justify-content:space-between;gap:10px;
padding:10px 12px;border-radius:9px;font-size:14px;color:var(--rx-ink2);font-weight:500}
.rx-drop a .rx-i{opacity:0;transform:translateX(-4px);transition:.16s;color:var(--rx-gold-txt)}
.rx-drop a:hover{background:#FBF6EA;color:var(--rx-ink)}
.rx-drop a:hover .rx-i{opacity:1;transform:translateX(0)}

.rx-actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.rx-act{position:relative;display:inline-flex;align-items:center;justify-content:center;
width:42px;height:42px;border-radius:11px;color:var(--rx-ink2);background:transparent;
border:0;cursor:pointer;transition:.16s}
.rx-act:hover{background:#F0EFEF;color:var(--rx-ink)}
.rx-bubble{position:absolute;top:5px;right:4px;min-width:17px;height:17px;padding:0 4px;
border-radius:999px;background:var(--rx-gold);color:#0A0606;font-size:10.5px;font-weight:700;
display:none;align-items:center;justify-content:center;line-height:1}
.rx-bubble.is-on{display:flex}
.rx-burger{display:none;width:42px;height:42px;border:0;background:transparent;border-radius:11px;
color:var(--rx-ink);cursor:pointer;align-items:center;justify-content:center}

.rx-searchbar{border-top:1px solid var(--rx-line);background:#fff}
.rx-searchbar form{max-width:var(--rx-max);margin:0 auto;padding:12px var(--rx-gut);
display:flex;align-items:center;gap:10px}
.rx-searchbar .rx-i-search{color:var(--rx-muted)}
.rx-searchbar input[type=search]{flex:1;border:1px solid var(--rx-line);border-radius:var(--rx-pill);
padding:11px 18px;font-size:15px;font-family:var(--rx-f);background:#FAFAFA;color:var(--rx-ink);outline:0}
.rx-searchbar input[type=search]:focus{border-color:var(--rx-gold);background:#fff;
box-shadow:0 0 0 3px rgba(246,179,4,.16)}
.rx-searchbar button[type=submit]{background:var(--rx-black);color:#fff;border:0;border-radius:var(--rx-pill);
padding:11px 24px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--rx-f)}
.rx-searchbar button[type=submit]:hover{background:var(--rx-gold);color:#0A0606}
.rx-search-x{background:transparent;border:0;color:var(--rx-muted);cursor:pointer;padding:6px;display:flex}

/* ---------- Mobile drawer ---------- */
.rx-scrim{position:fixed;inset:0;background:rgba(10,6,6,.5);z-index:998;opacity:0;transition:opacity .25s}
.rx-scrim.is-open{opacity:1}
.rx-drawer{position:fixed;top:0;left:0;bottom:0;width:min(340px,86vw);background:#fff;z-index:999;
transform:translateX(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);
display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
.rx-drawer.is-open{transform:translateX(0)}
.rx-drawer-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 22px;
border-bottom:1px solid var(--rx-line)}
.rx-drawer-x{background:transparent;border:0;color:var(--rx-ink);cursor:pointer;padding:6px;display:flex}
.rx-drawer-nav{padding:10px 12px;flex:1}
body.rx .rx-drawer-link,body.rx .rx-acc-btn{display:flex;align-items:center;justify-content:space-between;
width:100%;padding:14px 14px;border-radius:11px;font-size:15.5px;font-weight:500;color:var(--rx-ink)!important;
background:transparent!important;border:0;cursor:pointer;font-family:var(--rx-f);text-align:left;
text-transform:none!important;letter-spacing:normal!important;line-height:1.4;box-shadow:none!important}
.rx-drawer-link:hover,.rx-acc-btn:hover{background:#F5F4F4}
.rx-acc-btn .rx-i{transition:transform .2s;color:var(--rx-muted)}
.rx-acc-btn[aria-expanded=true] .rx-i{transform:rotate(180deg)}
.rx-acc-panel{max-height:0;overflow:hidden;transition:max-height .26s ease}
.rx-acc-panel a{display:block;padding:11px 14px 11px 28px;font-size:14.5px;color:var(--rx-muted);border-radius:9px}
.rx-acc-panel a:hover{color:var(--rx-gold-txt);background:#FBF6EA}
.rx-drawer-foot{padding:18px 20px 26px;border-top:1px solid var(--rx-line)}
.rx-drawer-foot .rx-btn{width:100%}

/* ---------- Hero ---------- */
.rx-hero{position:relative;margin:14px auto 0;max-width:calc(var(--rx-max) + 40px);
padding:0 14px}
.rx-hero-card{position:relative;border-radius:var(--rx-r-lg);overflow:hidden;background:var(--rx-black);
min-height:470px;display:flex;align-items:center;justify-content:center;text-align:center}
.rx-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* lattice grid: cheap repeating gradient instead of an SVG pattern fill */
.rx-hero-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 56px),
repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 56px)}
.rx-hero-in{position:relative;z-index:2;padding:74px 26px;max-width:840px}
.rx-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:var(--rx-pill);
background:rgba(246,179,4,.12);border:1px solid rgba(246,179,4,.34);color:var(--rx-gold);
font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px}
.rx-hero h1{color:#fff!important;font-size:clamp(32px,5.4vw,58px);font-weight:700;
letter-spacing:-.025em;margin:0 0 16px;line-height:1.08}
.rx-hero h1 em{font-style:normal;color:var(--rx-gold);
background:linear-gradient(180deg,#FFD700,#F6B304);-webkit-background-clip:text;
background-clip:text;-webkit-text-fill-color:transparent}
.rx-hero-sub{color:rgba(255,255,255,.76)!important;font-size:clamp(15px,1.6vw,18.5px);
max-width:600px;margin:0 auto 30px;line-height:1.6}
.rx-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.rx-hero-cta .rx-btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.3)}
.rx-hero-cta .rx-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff!important}

/* Category pills under hero */
.rx-catpills{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
max-width:940px;margin:26px auto 0;position:relative;z-index:3}
.rx-catpill{display:flex;align-items:center;justify-content:space-between;gap:12px;
background:#fff;border-radius:var(--rx-pill);padding:13px 13px 13px 24px;
box-shadow:var(--rx-sh-sm);font-weight:600;font-size:15px;color:var(--rx-ink);transition:.18s}
.rx-catpill:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.13);color:var(--rx-ink)}
.rx-catpill span.rx-cp-ic{width:34px;height:34px;border-radius:50%;background:var(--rx-black);
color:var(--rx-gold);display:flex;align-items:center;justify-content:center;flex:none;transition:.18s}
.rx-catpill:hover span.rx-cp-ic{background:var(--rx-gold);color:#0A0606}

/* ---------- Sections ---------- */
.rx-sec{padding:56px 0}
.rx-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
margin-bottom:26px;flex-wrap:wrap}
.rx-sec-head h2{margin:0}
.rx-sec-head p{margin:6px 0 0;color:var(--rx-muted);font-size:15px}
.rx-sec-link{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14.5px;
color:var(--rx-ink);white-space:nowrap}
.rx-sec-link:hover{color:var(--rx-gold-txt);gap:11px}
.rx-sec-link .rx-i{transition:.18s}

/* ---------- Product grid + cards ---------- */
/* two-product catalogue: centre the grid rather than stretch 2 cards over 4 columns */
body.rx ul.products.rx-grid-2{grid-template-columns:repeat(2,minmax(0,340px))!important;
justify-content:center}
.rx-grid,body.rx ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
gap:18px!important;list-style:none;margin:0!important;padding:0!important;float:none!important}
body.rx ul.products::before,body.rx ul.products::after{display:none!important}
body.rx ul.products li.product,body.rx ul.products li{width:auto!important;margin:0!important;
padding:0!important;float:none!important;clear:none!important;list-style:none}

body.rx li.product,.rx-card{background:var(--rx-surface);border:1px solid var(--rx-line2);
border-radius:var(--rx-r);overflow:hidden;display:flex!important;flex-direction:column;
transition:.2s ease;position:relative;text-align:left!important}
body.rx li.product:hover,.rx-card:hover{transform:translateY(-3px);box-shadow:var(--rx-sh);
border-color:var(--rx-line)}
body.rx li.product .box,body.rx li.product .box-text,body.rx li.product .box-image{
background:transparent!important;padding:0!important;margin:0!important;border:0!important;
box-shadow:none!important;text-align:left!important}

.rx-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.rx-card-link:hover{color:inherit}
.rx-sale{position:absolute;top:10px;left:10px;z-index:3;background:var(--rx-gold);color:#0A0606;
font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
padding:5px 10px;border-radius:var(--rx-pill)}
.rx-card-media{position:relative;background:#fff;aspect-ratio:1/1;display:flex;
align-items:center;justify-content:center;padding:14px;overflow:hidden}
/* No mix-blend-mode here: the renders already sit on white, and blending large
   images forced Chrome onto a slow compositing path that blanked the artwork. */
.rx-card-media img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}
body.rx li.product:hover .rx-card-media img{transform:scale(1.045)}
.rx-oos{position:absolute;top:10px;right:10px;z-index:3;background:rgba(10,6,6,.86);color:#fff;
font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
padding:5px 10px;border-radius:var(--rx-pill)}

.rx-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;
padding:0 12px;margin-top:2px}
.rx-tag{background:var(--rx-black);color:#fff;font-size:10.5px;font-weight:500;
padding:4px 9px;border-radius:6px;letter-spacing:.01em;white-space:nowrap;
overflow:hidden;text-overflow:ellipsis;max-width:65%}
.rx-rate--lab{background:#EEF7F0!important;color:#1E6B3A!important}
.rx-rate--lab .rx-i{color:#1E6B3A}
.rx-ps-reviews{font-size:12.5px;color:var(--rx-muted)}
.rx-rate{display:inline-flex;align-items:center;gap:3px;background:#F5F4F4;color:var(--rx-ink);
font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;flex:none}
.rx-rate .rx-i-star{color:var(--rx-gold2)}

.rx-card-title,body.rx li.product .rx-card-title{font-size:15px!important;font-weight:600;
color:var(--rx-ink)!important;margin:9px 0 2px!important;padding:0 12px;width:auto!important;
max-width:100%;box-sizing:border-box;line-height:1.32;
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.64em}
.rx-card-sub{font-size:12.5px!important;color:var(--rx-muted)!important;margin:0 0 12px!important;
padding:0 12px;width:auto!important;max-width:100%;box-sizing:border-box;
line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

.rx-card-btn{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:9px;
background:var(--rx-gold);color:#0A0606!important;font-weight:600;font-size:13.5px;
padding:14px 12px;text-align:center;transition:.18s;letter-spacing:.01em;line-height:1.2}
.rx-card-btn:hover{background:var(--rx-gold2);color:#0A0606!important}
.rx-card-btn.is-oos{background:#EDEBEB;color:var(--rx-ink2)!important}
.rx-card-btn.is-oos:hover{background:#E2E0E0;color:var(--rx-ink)!important}
.rx-card-btn-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;flex:none}
.rx-card-btn-p,.rx-card-btn-p .amount,.rx-card-btn-p bdi{color:#0A0606!important;font-weight:700}
.rx-card-btn-p del{display:none}
.rx-card-btn-p ins{text-decoration:none}
body.rx li.product .price{color:inherit!important;font-size:inherit!important;margin:0!important}

/* Hide Flatsome leftovers inside cards */
body.rx li.product .add-to-cart-button,body.rx li.product .button.product_type_simple,
body.rx li.product .button.product_type_variable,body.rx li.product .star-rating,
body.rx li.product .badge-container,body.rx li.product .image-tools,
body.rx li.product .product-title,body.rx li.product .category{display:none!important}

/* ---------- Feature cards ---------- */
.rx-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rx-feat{background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r);
padding:30px 26px;transition:.2s}
.rx-feat:hover{box-shadow:var(--rx-sh);transform:translateY(-3px)}
.rx-feat-ic{width:50px;height:50px;border-radius:14px;background:#FBF3E0;color:var(--rx-gold-dk);
display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.rx-feat h3{font-size:17.5px;margin:0 0 8px}
.rx-feat p{font-size:14px;color:var(--rx-muted);margin:0;line-height:1.6}

/* ---------- Trust strip ---------- */
.rx-trust{background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r);
display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.rx-trust-i{display:flex;align-items:center;gap:12px;padding:22px 20px;border-right:1px solid var(--rx-line2)}
.rx-trust-i:last-child{border-right:0}
.rx-trust-i .rx-i{color:var(--rx-gold-dk);flex:none}
.rx-trust-i b{display:block;font-size:14px;font-weight:600;color:var(--rx-ink);line-height:1.3}
.rx-trust-i span{display:block;font-size:12.5px;color:var(--rx-muted);line-height:1.35}

/* ---------- Newsletter ---------- */
.rx-news{background:var(--rx-black);border-radius:var(--rx-r-lg);padding:52px 26px;text-align:center;
position:relative;overflow:hidden}
.rx-news h2{color:#fff!important;margin:0 0 10px}
.rx-news p{color:rgba(255,255,255,.66)!important;margin:0 auto 26px;max-width:480px;font-size:15px}
.rx-news form{display:flex;gap:10px;max-width:470px;margin:0 auto;flex-wrap:wrap}
.rx-news input[type=email]{flex:1;min-width:210px;border:1px solid rgba(255,255,255,.2);
border-radius:var(--rx-pill);padding:14px 22px;background:rgba(255,255,255,.07);color:#fff;
font-size:15px;font-family:var(--rx-f);outline:0}
.rx-news input[type=email]::placeholder{color:rgba(255,255,255,.45)}
.rx-news input[type=email]:focus{border-color:var(--rx-gold);background:rgba(255,255,255,.11)}

/* ---------- Footer ---------- */
.rx-foot{background:var(--rx-black);color:rgba(255,255,255,.72);margin-top:64px}
.rx-foot-in{max-width:var(--rx-max);margin:0 auto;padding:56px var(--rx-gut) 40px;
display:grid;grid-template-columns:2.1fr 1fr 1fr 1fr;gap:40px}
.rx-foot-brand p{color:rgba(255,255,255,.6)!important;font-size:14px;margin:18px 0 18px;
max-width:330px;line-height:1.65}
.rx-foot-badges{display:flex;flex-wrap:wrap;gap:8px}
body.rx .rx-fb{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;
color:rgba(255,255,255,.88)!important;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);
padding:6px 11px;border-radius:var(--rx-pill)}
.rx-fb .rx-i{color:var(--rx-gold)}
body.rx .rx-foot-col h4{color:#fff!important;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
margin:0 0 16px}
body.rx .rx-foot-col a{display:block;color:rgba(255,255,255,.68)!important;font-size:14px;padding:6px 0;transition:.15s}
body.rx .rx-foot-col a:hover{color:var(--rx-gold)!important}
.rx-foot-ruo{max-width:var(--rx-max);margin:0 auto;padding:20px var(--rx-gut);
border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.6}
.rx-foot-ruo strong{color:var(--rx-gold)}
.rx-foot-base{max-width:var(--rx-max);margin:0 auto;padding:16px var(--rx-gut) 34px;
border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;
gap:14px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.45)}
body.rx .rx-foot-base-links a{color:rgba(255,255,255,.7)!important;margin-left:18px;font-size:12.5px}
body.rx .rx-foot-base-links a:hover{color:var(--rx-gold)!important}

/* ---------- Back to top ---------- */
.rx-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;
background:var(--rx-black);color:var(--rx-gold);display:flex;align-items:center;justify-content:center;
box-shadow:0 8px 22px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translateY(10px);
transition:.22s;z-index:800}
.rx-top .rx-i{transform:rotate(180deg)}
.rx-top.is-on{opacity:1;visibility:visible;transform:translateY(0)}
.rx-top:hover{background:var(--rx-gold);color:#0A0606}

/* The theme wraps the_content in .row/.col with their own 15px gutters, which
   stacked on top of .rx-wrap and squeezed the homepage grid to 135px columns on
   a 390px phone. Let our own container own the gutter. */
body.rx-home #content .row,body.rx-home #content .col,
body.rx-home .page-wrapper>.row,body.rx-home .entry-content>.row{
padding-left:0!important;padding-right:0!important;margin-left:0!important;
margin-right:0!important;max-width:100%!important;width:100%!important}
body.rx-home #content,body.rx-home .page-wrapper{padding-left:0!important;padding-right:0!important}

/* ---------- Interior page shell ---------- */
body.rx #main,body.rx .page-wrapper,body.rx #content{background:transparent!important;padding-top:0!important}
.rx-page{max-width:var(--rx-max);margin:0 auto;padding:34px var(--rx-gut) 10px}
.rx-page-head{background:var(--rx-black);border-radius:var(--rx-r-lg);padding:46px 34px;
margin-bottom:28px;position:relative;overflow:hidden}
.rx-page-head h1{color:#fff!important;margin:0}
.rx-page-head .rx-crumb{color:rgba(255,255,255,.55);font-size:13px;margin-bottom:10px}
.rx-page-head .rx-crumb a{color:var(--rx-gold)}
.rx-page--archive{padding-bottom:0}
.rx-page-intro{color:rgba(255,255,255,.68)!important;font-size:15.5px;max-width:640px;
margin:12px 0 0!important;line-height:1.6}
.rx-page-count{display:inline-block;margin-top:16px;background:rgba(246,179,4,.13);
border:1px solid rgba(246,179,4,.34);color:var(--rx-gold);font-size:12px;font-weight:600;
padding:6px 13px;border-radius:var(--rx-pill);letter-spacing:.04em}
/* Flatsome's own title/toolbar block is replaced by ours */
body.rx .shop-page-title,body.rx .woocommerce-products-header,
body.rx .woocommerce-products-header__title{display:none!important}
.rx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
flex-wrap:wrap;margin:22px 0 4px}
.rx-toolbar-count{font-size:14px;color:var(--rx-muted)}
.rx-toolbar-sort form{margin:0}
body.rx .rx-toolbar-sort select{padding:10px 15px!important;font-size:14px!important;
border-radius:var(--rx-pill)!important;background:#fff!important;min-width:190px}
/* the archive loop already lives in the page gutter */
body.rx.woocommerce ul.products{max-width:var(--rx-max);margin:18px auto 0!important;
padding:0 var(--rx-gut)!important}
body.rx.woocommerce nav.woocommerce-pagination{max-width:var(--rx-max);margin:30px auto 0;
padding:0 var(--rx-gut)}
body.rx.archive .rx-page--archive+*,
body.rx.post-type-archive .rx-page--archive+*{margin-top:0}
body.rx .rx-panel,body.rx article.page,body.rx .entry-content{background:#fff;border:1px solid var(--rx-line2);
border-radius:var(--rx-r);padding:34px}
body.rx .entry-content h2{margin-top:1.4em}
body.rx .entry-content ul,body.rx .entry-content ol{color:var(--rx-ink2)}

/* ---------- WooCommerce shared ---------- */
body.rx .woocommerce-message,body.rx .woocommerce-info,body.rx .woocommerce-error{
background:#fff!important;border:1px solid var(--rx-line)!important;border-left:3px solid var(--rx-gold)!important;
border-radius:var(--rx-r)!important;color:var(--rx-ink)!important;padding:16px 20px!important;
box-shadow:var(--rx-sh-sm)}
body.rx .woocommerce-message a,body.rx .woocommerce-info a{color:var(--rx-gold-txt)!important;font-weight:600}
body.rx .woocommerce-error{border-left-color:#D33!important}

body.rx .button,body.rx button.button,body.rx input[type=submit],body.rx a.button,
body.rx .woocommerce button.button,body.rx .woocommerce a.button{
background:var(--rx-black)!important;color:#fff!important;border:0!important;border-radius:var(--rx-pill)!important;
padding:13px 28px!important;font-weight:600!important;font-size:14px!important;font-family:var(--rx-f)!important;
letter-spacing:.01em!important;transition:.18s!important;text-transform:none!important;line-height:1.2!important}
body.rx .button:hover,body.rx button.button:hover,body.rx input[type=submit]:hover,
body.rx a.button:hover{background:var(--rx-gold)!important;color:#0A0606!important;transform:translateY(-1px)}
body.rx .button.alt,body.rx button.button.alt,body.rx .single_add_to_cart_button,
body.rx .checkout-button{background:var(--rx-gold)!important;color:#0A0606!important}
body.rx .button.alt:hover,body.rx .single_add_to_cart_button:hover,
body.rx .checkout-button:hover{background:var(--rx-gold2)!important;color:#0A0606!important}

body.rx input[type=text],body.rx input[type=email],body.rx input[type=tel],body.rx input[type=password],
body.rx input[type=number],body.rx input[type=search],body.rx textarea,body.rx select,
body.rx .select2-container--default .select2-selection--single{
background:#fff!important;border:1px solid var(--rx-line)!important;border-radius:10px!important;
color:var(--rx-ink)!important;font-family:var(--rx-f)!important;font-size:15px!important;
padding:12px 15px!important;height:auto!important;box-shadow:none!important}
body.rx textarea{min-height:120px}
body.rx input:focus,body.rx textarea:focus,body.rx select:focus{
border-color:var(--rx-gold)!important;outline:0!important;box-shadow:0 0 0 3px rgba(246,179,4,.15)!important}
body.rx .select2-container--default .select2-selection--single .select2-selection__rendered{
color:var(--rx-ink)!important;line-height:1.5!important;padding:0!important}
body.rx .select2-container--default .select2-selection--single .select2-selection__arrow{top:10px!important}
body.rx .select2-dropdown{border-color:var(--rx-line)!important;border-radius:10px!important}
body.rx .select2-results__option{color:var(--rx-ink)!important}
body.rx .select2-container--default .select2-results__option--highlighted[aria-selected]{
background:var(--rx-gold)!important;color:#0A0606!important}
body.rx label{color:var(--rx-ink)!important;font-weight:500;font-size:14px}

/* ---------- Single product (our own template) ---------- */
body.rx.single-product .rx-single{max-width:var(--rx-max);margin:0 auto;padding:0 var(--rx-gut) 10px}
.rx-crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;
color:var(--rx-muted);padding:22px 0 16px}
.rx-crumbs a{color:var(--rx-muted)}
.rx-crumbs a:hover{color:var(--rx-gold-txt)}
.rx-crumb-now{color:var(--rx-ink);font-weight:500}

.rx-single-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;
align-items:start;background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r-lg);padding:32px}

/* gallery */
.rx-pg-main{position:relative;background:#fff;border:1px solid var(--rx-line2);
border-radius:var(--rx-r);overflow:hidden;aspect-ratio:1/1;display:flex;
align-items:center;justify-content:center;padding:16px}
.rx-pg-img{width:100%;height:100%;object-fit:contain;display:block}
.rx-oos-lg,.rx-sale-lg{font-size:11.5px;padding:7px 14px;top:14px}
.rx-pg-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.rx-pg-thumb{width:72px;height:72px;border:1px solid var(--rx-line);border-radius:10px;
background:#fff;padding:5px;cursor:pointer;overflow:hidden;transition:.16s}
.rx-pg-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.rx-pg-thumb:hover{border-color:var(--rx-ink)}
.rx-pg-thumb.is-on{border-color:var(--rx-gold);box-shadow:0 0 0 2px rgba(246,179,4,.28)}
.rx-pg-assure{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:16px;
border-top:1px solid var(--rx-line2)}
.rx-pg-assure span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--rx-muted)}
.rx-pg-assure .rx-i{color:var(--rx-gold-dk)}

/* summary */
.rx-ps-cat a{display:inline-block;background:var(--rx-black);color:#fff!important;font-size:11px;
font-weight:500;padding:5px 11px;border-radius:6px;margin-bottom:12px;letter-spacing:.02em}
.rx-ps-cat a:hover{background:var(--rx-gold);color:#0A0606!important}
body.rx.single-product .rx-ps .product_title{font-size:clamp(25px,3vw,36px)!important;
color:var(--rx-ink)!important;margin:0 0 12px!important;font-weight:700;letter-spacing:-.022em;line-height:1.15}
.rx-ps-rate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.rx-stars{display:inline-flex;gap:1px;color:var(--rx-gold2)}
.rx-ps-rate b{font-size:14px;color:var(--rx-ink)}
.rx-ps-purity{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--rx-muted);
padding-left:10px;border-left:1px solid var(--rx-line)}
.rx-ps-purity .rx-i{color:#2E9E63}
.rx-ps-price{font-size:30px;font-weight:700;color:var(--rx-ink);margin-bottom:16px;line-height:1.1}
.rx-ps-soon{background:#FBF6EA;border:1px solid rgba(246,179,4,.42);border-left:3px solid var(--rx-gold);
border-radius:var(--rx-r);padding:14px 16px;font-size:14.5px;color:var(--rx-ink2);margin-bottom:18px}
.rx-ps-soon a{color:var(--rx-gold-txt);font-weight:600;text-decoration:underline}
.rx-ps-price .amount,.rx-ps-price bdi{color:var(--rx-ink)!important}
.rx-ps-price del{opacity:.42;font-size:20px;font-weight:500;margin-right:8px}
.rx-ps-price ins{text-decoration:none}
.rx-ps-excerpt{color:var(--rx-ink2);font-size:15.5px;line-height:1.65;margin-bottom:20px}
.rx-ps-excerpt p{margin:0 0 8px;color:var(--rx-ink2)}
.rx-ps-cart{margin-bottom:18px}
.rx-ps-meta{border-top:1px solid var(--rx-line2);padding-top:14px;font-size:13px;color:var(--rx-muted)}
.rx-ps-meta .sku_wrapper,.rx-ps-meta .posted_in,.rx-ps-meta .tagged_as{display:block;margin-bottom:5px}
.rx-ps-meta a{color:var(--rx-gold-txt)}
.rx-ps-ship{margin-top:18px;display:grid;gap:10px}
.rx-ps-ship>div{display:flex;gap:11px;align-items:flex-start;background:#FAFAFA;
border:1px solid var(--rx-line2);border-radius:11px;padding:13px 15px}
.rx-ps-ship .rx-i{color:var(--rx-gold-dk);margin-top:2px;flex:none}
.rx-ps-ship b{display:block;font-size:13.5px;color:var(--rx-ink);font-weight:600;line-height:1.35}
.rx-ps-ship span{font-size:12.5px;color:var(--rx-muted);line-height:1.45}

/* below-the-fold */
.rx-single-below{margin-top:22px}

/* Flatsome leftovers on the single product page */
body.rx.single-product .product-container>.product-gallery,
body.rx.single-product .product-footer .related-products-wrapper>h3{display:none}

/* legacy container fallback if Flatsome ever renders its own markup */
body.rx.single-product .product-container{max-width:var(--rx-max);margin:26px auto 0;
padding:30px;background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r-lg);
display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
body.rx.single-product .product-container>.product-gallery{grid-column:1;grid-row:1;
width:100%!important;max-width:100%!important;float:none!important;margin:0!important;
padding:0!important;position:static!important}
body.rx.single-product .product-container>.row{grid-column:2;grid-row:1;width:100%!important;
max-width:100%!important;margin:0!important;padding:0!important}
/* tabs / related / upsells always span the full card */
body.rx.single-product .product-container>.woocommerce-tabs,
body.rx.single-product .product-container>.related,
body.rx.single-product .product-container>.up-sells,
body.rx.single-product .product-container>.product-footer{grid-column:1/-1;grid-row:auto}

body.rx.single-product .product-info,body.rx.single-product .entry-summary,
body.rx.single-product .product-summary{width:100%!important;max-width:100%!important;
float:none!important;margin:0!important;padding:0!important}
body.rx.single-product .product-info>.row{margin:0!important;width:100%!important}

/* Gallery: white ground, contained, no Flatsome dark slider bed */
body.rx.single-product .product-gallery,
body.rx.single-product .product-images,
body.rx.single-product .woocommerce-product-gallery,
body.rx.single-product .woocommerce-product-gallery__wrapper,
body.rx.single-product .product-gallery-slider,
body.rx.single-product .woocommerce-product-gallery__image{background:#fff!important}
body.rx.single-product .woocommerce-product-gallery__image img,
body.rx.single-product .product-images img{border-radius:var(--rx-r);background:#fff!important;
width:100%!important;height:auto!important;max-height:520px;object-fit:contain;display:block}
body.rx.single-product .product-images{border:1px solid var(--rx-line2);border-radius:var(--rx-r);
overflow:hidden;margin-bottom:12px!important}
body.rx.single-product .image-tools,body.rx.single-product .product-gallery .badge-container{display:none!important}
body.rx.single-product .product_title{font-size:clamp(24px,3vw,34px)!important;color:var(--rx-ink)!important;
margin:0 0 12px!important;font-weight:700;letter-spacing:-.02em}
body.rx.single-product .summary .price,body.rx.single-product .price{color:var(--rx-ink)!important;
font-size:26px!important;font-weight:700!important;margin:0 0 18px!important}
body.rx.single-product .price .amount,body.rx.single-product .price bdi{color:var(--rx-ink)!important}
body.rx.single-product .woocommerce-product-details__short-description{color:var(--rx-ink2)!important;
font-size:15px;line-height:1.7;margin-bottom:20px}
body.rx.single-product .woocommerce-product-details__short-description p{color:var(--rx-ink2)!important}
body.rx.single-product .variations{width:100%;margin-bottom:18px}
body.rx.single-product .variations td,body.rx.single-product .variations th{
background:transparent!important;border:0!important;padding:7px 0!important;display:block;width:100%}
body.rx.single-product .variations td.label,body.rx.single-product .variations th.label,
body.rx.single-product .variations td.label label,body.rx.single-product .variations label{
color:var(--rx-ink)!important;font-weight:600!important;font-size:14px!important}
body.rx.single-product .variations td.value{background:transparent!important}
body.rx.single-product .quantity input.qty{background:#fff!important;color:var(--rx-ink)!important;
border:1px solid var(--rx-line)!important;border-radius:10px!important;width:72px!important;
text-align:center;padding:12px 6px!important}
body.rx.single-product form.cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
body.rx.single-product .single_add_to_cart_button{flex:1;min-width:200px;padding:15px 30px!important}
body.rx.single-product .product_meta{border-top:1px solid var(--rx-line2);padding-top:16px;
font-size:13px;color:var(--rx-muted)}
body.rx.single-product .product_meta a{color:var(--rx-gold-txt)}
body.rx.single-product .woocommerce-tabs{grid-column:1/-1;background:#FAFAFA;border:1px solid var(--rx-line2);
border-radius:var(--rx-r);padding:8px 24px 24px;margin-top:8px}
body.rx.single-product .woocommerce-tabs .tabs{border:0!important;margin:0 0 16px!important;
padding:0!important;display:flex;gap:6px;flex-wrap:wrap;background:transparent!important}
body.rx.single-product .woocommerce-tabs .tabs li{background:transparent!important;border:0!important;
margin:0!important;padding:0!important}
body.rx.single-product .woocommerce-tabs .tabs li::before,
body.rx.single-product .woocommerce-tabs .tabs li::after{display:none!important}
body.rx.single-product .woocommerce-tabs .tabs li a{color:var(--rx-muted)!important;font-weight:600!important;
padding:12px 18px!important;border-radius:10px!important;font-size:14px!important;display:block;
border:0!important;box-shadow:none!important;text-transform:none!important;background:transparent!important}
body.rx.single-product .woocommerce-tabs .tabs li a::before,
body.rx.single-product .woocommerce-tabs .tabs li a::after{display:none!important;content:none!important}
body.rx.single-product .woocommerce-tabs .tabs li.active a,
body.rx.single-product .woocommerce-tabs .tabs li a:hover{background:#fff!important;color:var(--rx-ink)!important;
box-shadow:var(--rx-sh-sm)}
body.rx.single-product .woocommerce-tabs .panel{background:transparent!important;color:var(--rx-ink2)!important;
padding:0!important;margin:0!important}
body.rx.single-product .woocommerce-tabs .panel h2{font-size:20px}
body.rx.single-product .woocommerce-tabs .panel p,
body.rx.single-product .woocommerce-tabs .panel li{color:var(--rx-ink2)!important}
body.rx.single-product .related,body.rx.single-product .up-sells{grid-column:1/-1;margin-top:14px}
body.rx.single-product .related>h2,body.rx.single-product .up-sells>h2{font-size:24px;margin-bottom:20px}

/* ---------- Cart / Checkout ---------- */
body.rx.woocommerce-cart .woocommerce,body.rx.woocommerce-checkout .woocommerce,
body.rx.woocommerce-account .woocommerce{max-width:var(--rx-max);margin:0 auto;padding:0 var(--rx-gut) 40px}
body.rx .shop_table,body.rx table.cart{background:#fff!important;border:1px solid var(--rx-line2)!important;
border-radius:var(--rx-r)!important;border-collapse:separate!important;border-spacing:0!important;
overflow:hidden;width:100%}
body.rx .shop_table th{background:#FAFAFA!important;color:var(--rx-ink)!important;font-weight:600!important;
font-size:13px!important;padding:15px 16px!important;border:0!important;border-bottom:1px solid var(--rx-line2)!important;
text-align:left}
body.rx .shop_table td{background:#fff!important;color:var(--rx-ink2)!important;padding:16px!important;
border:0!important;border-bottom:1px solid var(--rx-line2)!important;vertical-align:middle}
body.rx .shop_table tr:last-child td{border-bottom:0!important}
body.rx .shop_table td a,body.rx .shop_table .product-name a{color:var(--rx-ink)!important;font-weight:500}
body.rx .shop_table .amount,body.rx .shop_table bdi{color:var(--rx-ink)!important}
/* Cart table column proportions + readable thumbnails.
   Fixed widths summed past the container (752px of columns in a 677px column)
   and overflowed the form, so these are minima that still add up to fit. */
body.rx table.cart{table-layout:auto;width:100%;max-width:100%}
body.rx table.cart .product-remove{width:38px;padding-left:8px!important;padding-right:0!important}
body.rx table.cart .product-thumbnail{width:80px}
body.rx table.cart .product-thumbnail img{width:64px!important;height:auto;border-radius:10px;
border:1px solid var(--rx-line2);background:#fff;display:block}
body.rx table.cart .product-name{width:auto}
body.rx table.cart .product-name a{font-size:14px;line-height:1.4;display:inline-block;
overflow-wrap:anywhere}
body.rx table.cart .product-price,body.rx table.cart .product-subtotal{width:88px;white-space:nowrap;
padding-left:8px!important;padding-right:8px!important}
body.rx table.cart .product-quantity{width:118px;padding-left:8px!important;padding-right:8px!important}
body.rx table.cart .quantity input.qty{width:44px!important;text-align:center;padding:10px 4px!important}
body.rx table.cart .quantity{display:inline-flex;align-items:center}
/* remove control was a 24px touch target */
body.rx table.cart a.remove{width:32px!important;height:32px!important;line-height:32px!important;
font-size:20px!important;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}
body.rx table.cart a.remove:hover{background:#F5F4F4}
/* Notices sit inside the page container, not edge to edge */
body.rx .woocommerce-message,body.rx .woocommerce-info,body.rx .woocommerce-error{
max-width:var(--rx-max);margin:0 auto 22px!important}
body.rx.woocommerce-cart .woocommerce,body.rx.woocommerce-checkout .woocommerce{padding-top:26px}

body.rx .cart_totals h2,body.rx #order_review_heading,body.rx .woocommerce-billing-fields h3,
body.rx .woocommerce-additional-fields h3,body.rx #ship-to-different-address{
color:var(--rx-ink)!important;font-size:20px!important;margin-bottom:16px!important}
body.rx .cart-collaterals,body.rx .cart_totals{background:#fff;border:1px solid var(--rx-line2);
border-radius:var(--rx-r);padding:24px}
body.rx .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.rx .coupon label{white-space:nowrap}
body.rx #customer_details,body.rx #order_review{background:#fff;border:1px solid var(--rx-line2);
border-radius:var(--rx-r);padding:26px}
/* Flatsome's grid rows carry margin:0 -15px; inside form.checkout nothing pads
   that back, so the form overflowed its container by 15px at every width. */
body.rx form.checkout>.row,body.rx form.checkout .row{margin-left:0!important;
margin-right:0!important;max-width:100%!important}
body.rx form.checkout{max-width:100%;overflow:visible}
/* same negative-gutter row pattern on the 404 template */
body.rx .error-404,body.rx .error-404 .row{max-width:100%!important}
body.rx .error-404 .row{margin-left:0!important;margin-right:0!important}
body.rx .error-404{max-width:var(--rx-max);margin:0 auto;padding:0 var(--rx-gut) 20px}
body.rx .error-404 .page-content{background:#fff;border:1px solid var(--rx-line2);
border-radius:var(--rx-r-lg);padding:34px;margin-top:22px}
/* Flatsome's +/- quantity widget is ~198px and burst the cart cell on phones */
body.rx .ux-quantity{max-width:100%}
body.rx table.cart .ux-quantity{max-width:150px}
body.rx #order_review{margin-top:20px}
body.rx .woocommerce-checkout-review-order-table tfoot th,
body.rx .woocommerce-checkout-review-order-table tfoot td{background:#FAFAFA!important;font-weight:600}
body.rx .wc_payment_methods{list-style:none;padding:0;margin:0 0 18px}
body.rx .wc_payment_method{background:#FAFAFA;border:1px solid var(--rx-line2);border-radius:var(--rx-r);
padding:16px 18px;margin-bottom:10px}
body.rx .wc_payment_method label{color:var(--rx-ink)!important;font-weight:600!important}
body.rx .payment_box{background:#fff!important;border:1px solid var(--rx-line2)!important;
border-radius:10px!important;color:var(--rx-ink2)!important;padding:14px 16px!important;margin-top:10px!important}
body.rx .payment_box p,body.rx .payment_box *{color:var(--rx-ink2)!important}
body.rx .payment_box::before{display:none!important}
body.rx #place_order{width:100%;padding:16px!important;font-size:16px!important}
body.rx .woocommerce-privacy-policy-text p{color:var(--rx-muted)!important;font-size:13px}

/* Account */
body.rx .woocommerce-MyAccount-navigation{width:24%!important;float:left}
body.rx .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;background:#fff;
border:1px solid var(--rx-line2);border-radius:var(--rx-r);overflow:hidden}
body.rx .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--rx-line2)}
body.rx .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
body.rx .woocommerce-MyAccount-navigation li a{display:block;padding:14px 18px;color:var(--rx-ink2)!important;
font-weight:500;font-size:14.5px}
body.rx .woocommerce-MyAccount-navigation li.is-active a,
body.rx .woocommerce-MyAccount-navigation li a:hover{background:#FBF6EA;color:var(--rx-ink)!important}
body.rx .woocommerce-MyAccount-content{width:72%!important;float:right;background:#fff;
border:1px solid var(--rx-line2);border-radius:var(--rx-r);padding:28px}
body.rx .woocommerce-MyAccount-content p,body.rx .woocommerce-MyAccount-content td{color:var(--rx-ink2)!important}
body.rx .u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:22px}
body.rx .u-columns.col2-set .col-1,body.rx .u-columns.col2-set .col-2{width:100%!important;
float:none!important;background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r);padding:26px}

/* Shop toolbar */
body.rx .woocommerce-result-count,body.rx .woocommerce-ordering{color:var(--rx-muted)!important;
font-size:14px;margin-bottom:18px}
body.rx .woocommerce-ordering select{padding:10px 14px!important;font-size:14px!important}
body.rx nav.woocommerce-pagination ul{border:0!important;display:flex;gap:7px;justify-content:center}
body.rx nav.woocommerce-pagination ul li{border:0!important;margin:0}
body.rx nav.woocommerce-pagination a,body.rx nav.woocommerce-pagination span{
background:#fff!important;border:1px solid var(--rx-line)!important;border-radius:10px!important;
color:var(--rx-ink)!important;padding:10px 15px!important;font-weight:500}
body.rx nav.woocommerce-pagination span.current{background:var(--rx-gold)!important;
border-color:var(--rx-gold)!important;color:#0A0606!important}

/* Layout classes produced when legacy Flatsome shortcodes were unwrapped */
body.rx .rx-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:22px 0}
body.rx .rx-col{background:#FAFAFA;border:1px solid var(--rx-line2);border-radius:var(--rx-r);
padding:22px 20px}
body.rx .rx-col p:last-child{margin-bottom:0}
body.rx .rx-col h3,body.rx .rx-col h4{margin-top:0;font-size:16.5px}
body.rx .rx-inline-band{background:#FAFAFA;border:1px solid var(--rx-line2);
border-radius:var(--rx-r);padding:28px 26px;margin:22px 0}
body.rx .rx-inline-band h1,body.rx .rx-inline-band h2{margin-top:0}
/* Page shell for content docs: header sits above the white panel */
.rx-page--doc{padding-bottom:0}
body.rx .rx-doc{max-width:var(--rx-max);margin:22px auto 0;background:#fff;
border:1px solid var(--rx-line2);border-radius:var(--rx-r-lg);padding:40px 44px;
font-size:15.5px;line-height:1.75}
/* unwrapped shortcodes leave empty/narrow wrappers behind */
body.rx .rx-doc div:empty{display:none}
/* long unbroken strings (emails, URLs, SKUs) must not burst their column */
body.rx .rx-doc,body.rx .rx-col,body.rx .rx-doc p,body.rx .rx-doc li,
body.rx .rx-doc td,body.rx .rx-doc a{overflow-wrap:break-word;word-break:normal;min-width:0}
body.rx .rx-doc>div{width:100%;max-width:100%}
body.rx .rx-doc>*:first-child{margin-top:0}
body.rx .rx-doc>*:last-child{margin-bottom:0}
body.rx .rx-doc h2{font-size:24px;margin:1.7em 0 .55em;padding-bottom:.4em;
border-bottom:1px solid var(--rx-line2)}
body.rx .rx-doc h3{font-size:18.5px;margin:1.5em 0 .45em}
body.rx .rx-doc h4{font-size:16px;margin:1.4em 0 .4em;color:var(--rx-ink)}
body.rx .rx-doc p,body.rx .rx-doc li{color:var(--rx-ink2);font-size:15.5px;line-height:1.75}
body.rx .rx-doc ul,body.rx .rx-doc ol{padding-left:22px;margin:0 0 1.1em}
body.rx .rx-doc li{margin-bottom:.45em}
body.rx .rx-doc a{color:var(--rx-gold-txt);text-decoration:underline;text-underline-offset:2px}
body.rx .rx-doc a:hover{color:var(--rx-ink)}
body.rx .rx-doc strong{color:var(--rx-ink)}
/* Native <details> accordions used by the FAQ / policy pages */
body.rx .rx-doc details{border:1px solid var(--rx-line2);border-radius:var(--rx-r);
margin:0 0 10px;background:#fff;overflow:hidden}
body.rx .rx-doc summary{cursor:pointer;padding:16px 46px 16px 18px;font-weight:600;
font-size:15.5px;color:var(--rx-ink);position:relative;list-style:none;line-height:1.45}
body.rx .rx-doc summary::-webkit-details-marker,
body.rx .rx-doc summary::marker{display:none;content:''}
body.rx .rx-doc summary::after{content:"";position:absolute;right:20px;top:50%;
width:9px;height:9px;border-right:2px solid var(--rx-muted);border-bottom:2px solid var(--rx-muted);
transform:translateY(-70%) rotate(45deg);transition:transform .2s,border-color .2s}
body.rx .rx-doc summary:hover{background:#FAFAFA}
body.rx .rx-doc details[open]>summary{color:var(--rx-gold-txt);background:#FBF6EA}
body.rx .rx-doc details[open]>summary::after{transform:translateY(-30%) rotate(-135deg);
border-color:var(--rx-gold-txt)}
body.rx .rx-doc details>*:not(summary){padding:2px 18px 16px;margin:0;color:var(--rx-ink2)}

body.rx .rx-tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
margin:18px 0;border-radius:var(--rx-r)}
body.rx .rx-tablewrap table{margin:0!important;min-width:420px}
body.rx .rx-doc table{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0;
border:1px solid var(--rx-line2);border-radius:var(--rx-r);overflow:hidden}
body.rx .rx-doc th{background:#FAFAFA;text-align:left;padding:12px 15px;font-size:13.5px;
border-bottom:1px solid var(--rx-line2)}
body.rx .rx-doc td{padding:12px 15px;font-size:14px;border-bottom:1px solid var(--rx-line2)}
@media (max-width:680px){
body.rx .rx-doc{padding:24px 20px;border-radius:18px;margin-top:16px}
body.rx .rx-doc h2{font-size:20px}
}
@media (max-width:900px){body.rx .rx-cols{grid-template-columns:1fr}}

/* Spec table + RUO block inside product copy */
body.rx table.rx-spec{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0 22px;
background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r);overflow:hidden}
body.rx table.rx-spec th{text-align:left;padding:13px 16px;background:#FAFAFA;color:var(--rx-ink);
font-weight:600;font-size:13.5px;width:34%;border-bottom:1px solid var(--rx-line2);vertical-align:top}
body.rx table.rx-spec td{padding:13px 16px;color:var(--rx-ink2);font-size:14px;
border-bottom:1px solid var(--rx-line2);vertical-align:top}
body.rx table.rx-spec tr:last-child th,body.rx table.rx-spec tr:last-child td{border-bottom:0}
.rx-ruo-block{background:#FBF6EA;border:1px solid rgba(246,179,4,.42);border-left:3px solid var(--rx-gold);
border-radius:var(--rx-r);padding:18px 20px;font-size:13.5px;color:var(--rx-ink2);line-height:1.65;margin:24px 0 0}
.rx-ruo-block strong{color:var(--rx-ink)}
@media (max-width:600px){
body.rx table.rx-spec th,body.rx table.rx-spec td{display:block;width:100%}
body.rx table.rx-spec th{border-bottom:0;padding-bottom:4px}
body.rx table.rx-spec td{padding-top:0}
}

/* Blog */
body.rx .rx-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.rx article.post{background:#fff;border:1px solid var(--rx-line2);border-radius:var(--rx-r);
padding:26px;transition:.2s}
body.rx article.post:hover{box-shadow:var(--rx-sh);transform:translateY(-3px)}

/* =========== RESPONSIVE =========== */
@media (max-width:1100px){
.rx-foot-in{grid-template-columns:1fr 1fr 1fr;gap:32px}
.rx-foot-brand{grid-column:1/-1}
.rx-grid,body.rx ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.rx-feats{grid-template-columns:repeat(3,1fr);gap:14px}
}
@media (max-width:900px){
.rx-nav{display:none}
.rx-burger{display:flex}
.rx-head-in{height:64px;gap:10px}
.rx-logo{margin-right:auto}
body.rx.single-product .product-container{grid-template-columns:1fr;gap:24px;padding:20px;
border-radius:18px;margin-top:16px}
body.rx.single-product .product-container>.product-gallery,
body.rx.single-product .product-container>.row{grid-column:1;grid-row:auto}
body.rx.single-product .woocommerce-product-gallery__image img,
body.rx.single-product .product-images img{max-height:400px}
.rx-single-grid{grid-template-columns:1fr;gap:26px;padding:22px}
.rx-trust{grid-template-columns:repeat(2,1fr)}
.rx-trust-i:nth-child(2){border-right:0}
.rx-trust-i:nth-child(1),.rx-trust-i:nth-child(2){border-bottom:1px solid var(--rx-line2)}
.rx-catpills{grid-template-columns:1fr;max-width:440px}
.rx-feats{grid-template-columns:1fr}
body.rx .woocommerce-MyAccount-navigation,body.rx .woocommerce-MyAccount-content{
width:100%!important;float:none!important}
body.rx .woocommerce-MyAccount-content{margin-top:18px}
body.rx .u-columns.col2-set{grid-template-columns:1fr}
body.rx .rx-posts{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
:root{--rx-gut:16px}
/* ---- Mobile header ----
   At 390px the full-size logo (189px) + three 42px actions + burger overran the
   bar by 52px and pushed the CART ICON off-screen entirely. body{overflow-x:hidden}
   masked it. Everything below buys that width back. */
.rx-head-in{height:60px;gap:6px;padding:0 12px}
.rx-logo{gap:7px;min-width:0}
.rx-logo .rx-mark{width:27px;height:27px}
.rx-logo-a,.rx-logo-b{font-size:16px;letter-spacing:.03em}
/* 16px is below the large-text bar, so the lighter gold would fail AA here */
.rx-logo-b{color:var(--rx-gold-txt)}
.rx-logo{padding:6px 0}
.rx-logo-sub{display:none}
.rx-logo-sub{font-size:6.5px;letter-spacing:.18em}
.rx-burger{width:40px;height:40px;flex:none}
.rx-actions{gap:2px;flex:none}
.rx-act{width:40px;height:40px;flex:none}
.rx-bubble{top:3px;right:2px}
/* one message only - two wrapped onto a 60px-tall double line */
.rx-announce-in{padding:8px 12px;gap:7px;flex-wrap:nowrap;font-size:12px}
.rx-announce .rx-ann-2,.rx-announce .rx-announce-sep{display:none}
.rx-ann-item{display:inline-flex;align-items:center;gap:7px;min-width:0}
.rx-ann-item>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rx-grid,body.rx ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.rx-hero{padding:0 10px;margin-top:10px}
.rx-hero-card{min-height:400px;border-radius:18px}
.rx-hero-in{padding:52px 18px}
.rx-sec{padding:38px 0}
.rx-announce-in{font-size:11.5px;gap:7px;padding:8px 14px}
.rx-announce-sep{display:none}
.rx-card-title{font-size:13.5px!important;margin:8px 0 2px!important;padding:0 10px}
.rx-card-sub{font-size:11.5px!important;margin:0 0 10px!important;padding:0 10px}
.rx-card-meta{padding:0 10px}
.rx-card-btn{font-size:12.5px;padding:12px 8px;gap:6px}
/* a two-product catalogue reads better as one full-width card per row on phones
   than two cramped ones - bigger imagery and the chip stops being squeezed */
body.rx ul.products.rx-grid-2{grid-template-columns:minmax(0,1fr)!important;
max-width:420px;margin-left:auto!important;margin-right:auto!important}
body.rx ul.products.rx-grid-2 .rx-card-title{font-size:15px!important}
body.rx ul.products.rx-grid-2 .rx-tag{font-size:10.5px}
/* roomier tap areas for inline links on touch */
.rx-sec-link{padding:8px 2px}
.rx-crumbs a,.rx-crumbs span{padding:3px 0;display:inline-block}
.rx-tag{max-width:72%}
.rx-tag{font-size:9.5px;padding:3px 7px;max-width:60%}
.rx-rate{font-size:10px;padding:3px 6px}
.rx-foot-in{grid-template-columns:1fr 1fr;gap:28px;padding:40px var(--rx-gut) 30px}
.rx-foot-base{flex-direction:column;align-items:flex-start;gap:10px}
.rx-foot-base-links a{margin:0 16px 0 0}
.rx-news{padding:38px 18px;border-radius:18px}
.rx-news form{flex-direction:column}
.rx-news input[type=email]{min-width:0;width:100%}
.rx-news .rx-btn{width:100%}
.rx-page-head{padding:32px 22px;border-radius:18px}
body.rx .rx-panel,body.rx article.page,body.rx .entry-content{padding:22px}
body.rx .rx-posts{grid-template-columns:1fr}
body.rx.single-product form.cart{flex-direction:column;align-items:stretch}
body.rx.single-product .single_add_to_cart_button{width:100%;min-width:0}
body.rx.single-product .quantity input.qty{width:100%!important}
body.rx .coupon{flex-direction:column;align-items:stretch}
body.rx .coupon input,body.rx .coupon button{width:100%}
body.rx table.cart .ux-quantity,body.rx table.cart .quantity{max-width:132px}
body.rx table.cart .ux-quantity input.qty,body.rx table.cart .quantity input.qty{width:40px!important}
body.rx table.cart .ux-quantity .minus,body.rx table.cart .ux-quantity .plus{
min-width:34px!important;padding:0!important}
/* Cart table -> stacked cards on phones */
body.rx table.cart thead{display:none}
body.rx table.cart tr{display:block;border-bottom:1px solid var(--rx-line2);padding:10px 0}
body.rx table.cart td{display:flex;justify-content:space-between;align-items:center;gap:12px;
border:0!important;padding:9px 14px!important;text-align:right}
body.rx table.cart td::before{content:attr(data-title);font-weight:600;color:var(--rx-ink);
font-size:13px;text-align:left}
body.rx table.cart td.product-remove::before,body.rx table.cart td.product-thumbnail::before{content:''}
body.rx table.cart td.product-thumbnail{justify-content:flex-start}
body.rx table.cart td.product-thumbnail img{width:74px;border-radius:10px}
body.rx table.cart td.actions{flex-direction:column;align-items:stretch}
/* desktop column widths must not survive into the stacked card layout */
body.rx table.cart td.product-name,body.rx table.cart td.product-price,
body.rx table.cart td.product-quantity,body.rx table.cart td.product-subtotal,
body.rx table.cart td.product-thumbnail,body.rx table.cart td.product-remove{width:auto!important}
/* order review table on narrow screens */
body.rx .woocommerce-checkout-review-order,
body.rx .woocommerce-checkout-review-order-table{max-width:100%!important;
table-layout:auto!important;width:100%!important}
body.rx .woocommerce-checkout-review-order-table th,
body.rx .woocommerce-checkout-review-order-table td{padding:12px 10px!important;
overflow-wrap:anywhere}
/* give the category chip the leftover row space instead of a % cap */
.rx-card-meta{gap:6px}
.rx-tag{flex:1 1 auto;min-width:0;max-width:none}
.rx-rate{flex:0 0 auto}
}
@media (max-width:360px){
.rx-grid,body.rx ul.products{grid-template-columns:1fr!important}
}

/* Accessibility + motion */
@media (prefers-reduced-motion:reduce){
*{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body.rx :focus-visible{outline:2px solid var(--rx-gold-dk);outline-offset:2px;border-radius:6px}
.rx-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
clip:rect(0,0,0,0);white-space:nowrap;border:0}