/* RabexHoldings theme CSS. Tokens first; everything derives from them. */
:root{--bg:#f3f2ee;--bg2:#fff;--bg3:#e7e5df;--ink:#17191d;--ink2:#4a4e57;--ink3:#7a7f8a;--line:#d6d4cd;--accent:#d98b06;--steel:#1e2733;--steel-ink:#eef0f3;--ok:#2a7d4f;--bad:#b23a2f;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Barlow','Helvetica Neue',Arial,sans-serif;--r:4px;--max:1720px;--gutter:clamp(20px,3vw,48px)}

/* Base overrides on Astra */
body,body.ast-separate-container,.ast-separate-container .ast-article-single{background:var(--bg)!important;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}
:where(h1,h2,h3,h4){font-family:var(--display);line-height:1.05;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0 0 .6rem}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;text-transform:uppercase}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:700;text-transform:uppercase}
h3{font-size:1.25rem;font-weight:600}
a{color:var(--ink)}
.rx-wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.rx-eyebrow{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--ink3)}

/* Buttons (Astra + Woo + ours) */
.rx-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.ast-button,.wp-block-button__link,.wpforms-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.6rem 1.2rem!important;border:1.5px solid var(--ink)!important;border-radius:var(--r)!important;background:transparent!important;color:var(--ink)!important;font-family:var(--display)!important;font-weight:600!important;font-size:1.05rem!important;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;line-height:1.1;transition:background .15s,color .15s;cursor:pointer}
.rx-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.wp-block-button__link:hover{background:var(--ink)!important;color:var(--bg)!important}
.rx-btn.primary,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .single_add_to_cart_button,.woocommerce a.checkout-button,.wpforms-form button[type=submit]{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--ink)!important}
.rx-btn.primary:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce .single_add_to_cart_button:hover,.wpforms-form button[type=submit]:hover{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* Header */
.rx-header{position:sticky;top:0;z-index:40;background:var(--steel);color:var(--steel-ink);border-bottom:3px solid var(--accent)}
.rx-header .rx-wrap{display:flex;align-items:center;gap:1.5rem;min-height:64px}
.rx-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--steel-ink);font-family:var(--display);font-weight:700;font-size:1.5rem;text-transform:uppercase;letter-spacing:.03em}
.rx-logo span{color:var(--accent)}
.rx-logo svg{width:34px;height:34px}
.rx-nav{display:flex;gap:1.2rem;margin-left:auto;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem}
.rx-nav a{color:var(--steel-ink);text-decoration:none;opacity:.85;padding:.5rem 0}
.rx-nav a:hover{opacity:1;color:var(--accent)}
.rx-tel{font-family:var(--display);font-weight:600;font-size:1rem;white-space:nowrap;color:var(--steel-ink);text-decoration:none}
.rx-cart{color:var(--steel-ink);text-decoration:none;font-family:var(--display);font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
.rx-burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--steel-ink);color:var(--steel-ink);border-radius:var(--r);min-height:40px;padding:.3rem .7rem;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:860px){.rx-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--steel);flex-direction:column;gap:0;padding:.5rem 20px 1rem;border-bottom:3px solid var(--accent)}.rx-nav.open{display:flex}.rx-nav a{padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.rx-burger{display:inline-flex}.rx-tel{display:none}}

/* Hero */
.rx-hero{background:var(--steel);color:var(--steel-ink);padding-block:3rem 2.6rem;position:relative;overflow:hidden}
.rx-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.035) 28px 30px);pointer-events:none}
.rx-hero .rx-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:end;position:relative}
.rx-hero h1{color:var(--steel-ink)}
.rx-hero .lead{font-size:1.2rem;max-width:38rem;color:#c9ced6;margin:1rem 0 1.5rem}
.rx-hero .acts{display:flex;gap:.8rem;flex-wrap:wrap}
.rx-hero .rx-btn{border-color:var(--steel-ink)!important;color:var(--steel-ink)!important}
.rx-hero .rx-btn:hover{background:var(--steel-ink)!important;color:var(--steel)!important}
.rx-hero .rx-btn.primary{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--ink)!important}
.rx-hero .rx-btn.primary:hover{background:#fff!important;border-color:#fff!important}
.rx-hero .note{font-size:.9rem;color:#aeb4bd;margin:1.2rem 0 0}
.rx-collage{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:6px;max-width:100%}
.rx-collage a{display:block;background:#2a3442;overflow:hidden;border:1px solid rgba(255,255,255,.1);aspect-ratio:4/3;max-width:100%}
.rx-collage a:first-child{grid-row:1/3;aspect-ratio:auto}
.rx-collage img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9)}
@media(max-width:800px){.rx-hero .rx-wrap{grid-template-columns:1fr}.rx-collage{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto}.rx-collage a:first-child{grid-row:auto;aspect-ratio:4/3}}

/* Sections */
.rx-sec{padding-block:3.2rem}
.rx-sec.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rx-sec-h{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.rx-sec-h p{margin:.4rem 0 0;color:var(--ink2);max-width:40rem}

/* Category tiles */
.rx-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.rx-cat{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem 1rem;text-decoration:none;display:flex;flex-direction:column;gap:.5rem;min-height:170px;transition:border-color .15s,transform .15s;color:var(--ink)}
.rx-cat:hover{border-color:var(--accent);transform:translateY(-2px)}
.rx-cat h3{font-size:1.4rem;text-transform:uppercase;margin:0}
.rx-cat p{margin:0;color:var(--ink2);font-size:.92rem;flex:1}
.rx-cat .n{font-family:var(--display);font-weight:600;color:var(--ink3);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.rx-cat .n b{color:var(--accent);font-size:1.1rem;font-variant-numeric:tabular-nums}

/* Product cards (home + Woo loops) */
.rx-feat{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem}
.rx-feat .rx-card:first-child{grid-row:1/3}
.rx-feat .rx-card:first-child .ph{aspect-ratio:auto;flex:1;min-height:260px}
.rx-feat .rx-card:first-child h3{font-size:1.5rem}
@media(max-width:900px){.rx-feat{grid-template-columns:1fr 1fr}.rx-feat .rx-card:first-child{grid-row:auto;grid-column:1/-1}.rx-feat .rx-card:first-child .ph{aspect-ratio:16/9;min-height:0}}
@media(max-width:480px){.rx-feat{grid-template-columns:1fr}}
.rx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.rx-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.rx-card:hover{border-color:var(--ink3);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.rx-card .ph{aspect-ratio:4/3;background:var(--bg3);position:relative;max-width:100%;display:block}
.rx-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.rx-badge{position:absolute;top:.6rem;left:.6rem;font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .5rem;border-radius:2px;background:var(--steel);color:var(--steel-ink);z-index:2}
.rx-badge.new{background:var(--ok);color:#fff}
.rx-badge.oos{left:auto;right:.6rem;background:var(--bad);color:#fff}
.rx-card .bd{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.rx-card .c{font-size:.78rem;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;font-family:var(--display);font-weight:600}
.rx-card h3{font-size:1.15rem;line-height:1.15;margin:0}
.rx-card h3 a{text-decoration:none;color:var(--ink)}
.rx-card .d{font-size:.88rem;color:var(--ink2);margin:0;flex:1}
.rx-price{font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.rx-price del,.rx-price s{font-size:.95rem;color:var(--ink3);font-weight:500;margin-left:.4rem}
.rx-price ins{text-decoration:none}
.rx-card .act{display:flex;gap:.5rem;margin-top:.5rem}
.rx-card .act .rx-btn{flex:1;font-size:.95rem!important;min-height:40px;padding:.4rem .6rem!important}

/* WooCommerce loop restyle */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:0}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:0!important;display:flex;flex-direction:column;position:relative;transition:border-color .15s,box-shadow .15s}
.woocommerce ul.products li.product:hover{border-color:var(--ink3);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.woocommerce ul.products li.product a img{aspect-ratio:4/3;object-fit:cover;margin:0!important;width:100%}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--display);font-size:1.15rem!important;line-height:1.15;padding:.9rem 1rem .2rem!important;margin:0}
.woocommerce ul.products li.product .price{font-family:var(--display);font-weight:700;font-size:1.4rem!important;color:var(--ink)!important;padding:.2rem 1rem;margin:0!important;font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .price del{font-size:.9rem;color:var(--ink3);font-weight:500}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:700}
.woocommerce ul.products li.product .button{margin:.4rem 1rem 1rem!important}
.woocommerce ul.products li.product .rx-badge{top:.6rem}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{display:none!important}
.woocommerce-result-count,.woocommerce-ordering{font-size:.9rem;color:var(--ink3)}
.woocommerce .woocommerce-breadcrumb{font-size:.85rem;color:var(--ink3);margin-bottom:1rem}

/* Single product */
.woocommerce div.product .product_title{font-family:var(--display);font-size:clamp(1.8rem,3.5vw,2.6rem);text-transform:none}
.woocommerce div.product p.price{font-family:var(--display);font-weight:700;font-size:2rem!important;color:var(--ink)!important;font-variant-numeric:tabular-nums}
.woocommerce div.product p.price del{font-size:1.1rem;color:var(--ink3);font-weight:500}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:1.05rem;color:var(--ink2)}
.rx-ref{display:inline-block;font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--ink3);margin-bottom:.5rem}
.rx-delivery-note{background:var(--bg3);border-left:3px solid var(--accent);padding:.8rem 1rem;font-size:.92rem;color:var(--ink2);margin:1rem 0}
.woocommerce div.product form.cart .quantity{display:none}
.woocommerce div.product .product_meta{font-size:.85rem;color:var(--ink3)}
.woocommerce-tabs ul.tabs li a{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em}
.woocommerce table.shop_attributes th{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--ink3)}
.rx-quote-cta{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}

/* FAQ */
.rx-faq{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem}
.rx-faq details{border-bottom:1px solid var(--line);padding:.6rem 0}
.rx-faq summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:1.15rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:40px;align-items:center}
.rx-faq summary::-webkit-details-marker{display:none}
.rx-faq summary::after{content:"+";color:var(--accent);font-size:1.4rem}
.rx-faq details[open] summary::after{content:"\2013"}
.rx-faq p{margin:.3rem 0 .4rem;color:var(--ink2);font-size:.95rem;max-width:36rem}
@media(max-width:800px){.rx-faq{grid-template-columns:1fr}}

/* Policy cards */
.rx-pol{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.rx-pol article{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem}
.rx-pol h3{text-transform:uppercase;margin-bottom:.5rem}
.rx-pol p,.rx-pol li{color:var(--ink2);font-size:.93rem;margin:0 0 .4rem}
.rx-pol ul{padding-left:1.1rem;margin:0}

/* Quote section */
.rx-q{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.rx-q .wpforms-container{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form input[type=tel],.wpforms-form textarea,.wpforms-form select{font:inherit!important;padding:.6rem .7rem!important;border:1.5px solid var(--line)!important;border-radius:var(--r)!important;background:var(--bg)!important;color:var(--ink)!important;min-height:44px}
.wpforms-form .wpforms-field-label{font-size:.85rem!important;font-weight:600!important;color:var(--ink2)!important}
@media(max-width:800px){.rx-q{grid-template-columns:1fr}}

/* Page content (FAQ/About/policies) */
.rx-page{max-width:var(--max);margin:0 auto;padding:2.5rem var(--gutter) 3rem}
.rx-page .entry-content,.rx-prose{max-width:46rem}
.rx-prose p,.rx-prose li{color:var(--ink2)}
.rx-prose h2{margin-top:2rem;font-size:1.6rem}

/* Footer */
.rx-footer{background:var(--steel);color:#c9ced6;padding-block:2.5rem 2rem;font-size:.9rem}
.rx-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.rx-footer h3{color:var(--steel-ink);text-transform:uppercase;font-size:1rem;letter-spacing:.1em;margin-bottom:.6rem}
.rx-footer a{display:block;color:#c9ced6;text-decoration:none;padding:.15rem 0}
.rx-footer a:hover{color:var(--accent)}
.rx-footer p{margin:0 0 .5rem}
.rx-footer .fine{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1rem;font-size:.8rem;color:#8a9099;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:800px){.rx-footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.rx-footer .cols{grid-template-columns:1fr}}

/* Hide Astra default header/footer: we render our own */
.site-header,.ast-above-header-wrap,.site-footer,#masthead,#colophon{display:none!important}
#content,.ast-container{max-width:none;padding:0}
.site-content .ast-container{max-width:var(--max);padding-inline:var(--gutter)}\n.ast-separate-container #primary,.ast-separate-container .ast-article-single,.ast-separate-container .ast-article-post{padding:0;margin:0;background:transparent;border:0}\n#primary{margin:0;padding:1.5rem 0 3rem}\n.woocommerce ul.products{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}\n.woocommerce div.product div.images{max-width:100%}\n.woocommerce div.product div.images img{aspect-ratio:4/3;object-fit:cover;width:100%}\n.woocommerce-products-header{margin-bottom:1rem}\n.woocommerce-products-header__title{font-size:clamp(1.8rem,3.4vw,2.6rem);text-transform:uppercase}\n.entry-header .entry-title{font-size:clamp(1.8rem,3.4vw,2.6rem);text-transform:uppercase}\n.ast-breadcrumbs,.ast-scroll-top-icon,#ast-scroll-top{display:none!important}\n.rx-page .entry-content,.rx-prose{max-width:52rem}
body.page-template-template-home .site-content .ast-container{max-width:none;padding:0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== v1.0.5 additions ===== */
/* Header search */
.rx-search{display:flex;margin-left:auto;max-width:360px;flex:1;min-width:0}
.rx-search form{display:flex;width:100%;border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.06)}
.rx-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--steel-ink);padding:.5rem .8rem;font:inherit;font-size:.95rem}
.rx-search input::placeholder{color:#aeb4bd}
.rx-search button{border:0;background:var(--accent);color:var(--ink);padding:0 .9rem;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;min-width:44px}
.rx-search button:hover{background:#fff}
.rx-nav{margin-left:0}
@media(max-width:1100px){.rx-search{max-width:240px}}
@media(max-width:860px){.rx-search{display:none}.rx-nav .rx-search{display:flex;max-width:none;margin:.6rem 0 .4rem}.rx-nav .rx-search form{border-color:rgba(255,255,255,.3)}}
/* Photo category tiles */
.rx-cats{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.rx-cat{position:relative;min-height:240px;padding:0;overflow:hidden;background:var(--steel);border:0;color:var(--steel-ink);justify-content:flex-end}
.rx-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s;filter:saturate(.9)}
.rx-cat:hover img{transform:scale(1.04)}
.rx-cat:hover{transform:none;border-color:transparent}
.rx-cat .ov{position:relative;z-index:1;padding:1.1rem 1.2rem 1rem;background:linear-gradient(180deg,rgba(30,39,51,0) 0%,rgba(30,39,51,.75) 45%,rgba(30,39,51,.95) 100%);display:flex;flex-direction:column;gap:.35rem;padding-top:4rem}
.rx-cat h3{color:#fff;font-size:1.5rem}
.rx-cat p{color:#c9ced6;font-size:.9rem;flex:0}
.rx-cat .n{color:#aeb4bd}
.rx-cat .n b{color:var(--accent)}
.rx-cat:focus-visible{outline:3px solid var(--accent)}
.rx-cats .rx-cat:first-child{grid-column:span 2}
@media(max-width:640px){.rx-cats .rx-cat:first-child{grid-column:auto}.rx-cats{grid-template-columns:1fr 1fr;gap:.6rem}.rx-cat{min-height:180px}.rx-cat h3{font-size:1.2rem}.rx-cat p{display:none}}
/* Shop loop cards: richer */
.woocommerce ul.products li.product .rx-loop-meta{padding:.8rem 1rem 0;font-size:.78rem;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;font-family:var(--display);font-weight:600}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding-top:.25rem!important}
.woocommerce ul.products li.product .rx-loop-spec{padding:0 1rem;margin:.2rem 0 .4rem;font-size:.88rem;color:var(--ink2);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.woocommerce ul.products li.product .rx-loop-act{display:flex;gap:.5rem;padding:0 1rem 1rem}
.woocommerce ul.products li.product .rx-loop-act .rx-btn{flex:1;min-height:40px;font-size:.95rem!important;padding:.4rem .6rem!important}
.woocommerce ul.products li.product .button{display:none!important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block}
/* Subcategory chips + toolbar on archives */
.rx-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.2rem}
.rx-chip{min-height:38px;padding:.35rem .85rem;border:1.5px solid var(--line);border-radius:999px;background:var(--bg2);color:var(--ink2);font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.rx-chip:hover{border-color:var(--ink)}
.rx-chip.on{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.rx-chip small{color:var(--ink3);font-size:.8em}
.rx-chip.on small{color:var(--ink)}
.woocommerce .woocommerce-result-count{margin:0;float:none}
.woocommerce .woocommerce-ordering{margin:0;float:none}
.rx-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding:.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.woocommerce .woocommerce-ordering select{font:inherit;min-height:40px;padding:.3rem 2rem .3rem .7rem;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg2);color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:.4rem;justify-content:center;margin-top:1.5rem}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:var(--r);font-family:var(--display);font-weight:600;color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
/* Product page */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.woocommerce div.product>*{grid-column:1/-1}
.woocommerce div.product div.images,.woocommerce div.product div.summary{grid-column:auto;float:none!important;width:100%!important;margin:0!important}
.woocommerce div.product div.images{position:sticky;top:80px}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{border-radius:var(--r);border:1px solid var(--line)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.woocommerce div.product div.images .flex-control-thumbs li{width:80px;margin:0}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:var(--r);border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover}
.rx-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:1rem 0}
.rx-facts div{background:var(--bg2);padding:.6rem .8rem}
.rx-facts span{display:block;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--ink3)}
.rx-facts b{font-size:1rem;font-weight:600}
.rx-facts b.ok{color:var(--ok)}.rx-facts b.bad{color:var(--bad)}
.woocommerce div.product form.cart{margin:1rem 0!important;display:flex;gap:.6rem;flex-wrap:wrap}
.woocommerce div.product form.cart .button{flex:1}
.woocommerce div.product .product_meta{border-top:1px solid var(--line);padding-top:.8rem;margin-top:1rem}
.woocommerce div.product .woocommerce-tabs{margin-top:2rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0;border-bottom:2px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.7rem 1.1rem;color:var(--ink3);font-weight:600}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}
.woocommerce div.product .woocommerce-tabs .panel{padding:1.2rem 0;max-width:52rem}
.woocommerce div.product section.related,.woocommerce div.product section.upsells{margin-top:3rem}
.woocommerce div.product section.related>h2{text-transform:uppercase;margin-bottom:1rem}
@media(max-width:800px){.woocommerce div.product{grid-template-columns:1fr;gap:1.5rem}.woocommerce div.product div.images{position:static}}
/* Mobile sticky action bar */
.rx-mbar{display:none}
@media(max-width:800px){.rx-mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--steel);border-top:2px solid var(--accent);padding-bottom:env(safe-area-inset-bottom,0)}.rx-mbar a{color:var(--steel-ink);text-decoration:none;text-align:center;padding:.7rem .3rem;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;min-height:48px;display:flex;align-items:center;justify-content:center;gap:.35rem;border-right:1px solid rgba(255,255,255,.1)}.rx-mbar a:last-child{border-right:0}.rx-mbar a.wa{background:var(--accent);color:var(--ink)}body{padding-bottom:56px}}
/* Cart / checkout / account polish */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--r);border-collapse:separate}
.woocommerce table.shop_table th{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--ink3);background:var(--bg3)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{font:inherit;padding:.6rem .7rem;border:1.5px solid var(--line);border-radius:var(--r);background:var(--bg2);min-height:44px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--accent);background:var(--bg2);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r)}
.woocommerce-info::before,.woocommerce-message::before{color:var(--accent)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--accent);border-color:var(--accent)}
/* Empty states */
.cart-empty.woocommerce-info,.woocommerce .return-to-shop{text-align:left}
/* Home: just-in grid alignment */
.rx-feat .rx-card .ph{aspect-ratio:4/3}
.rx-feat .rx-card:first-child .ph{aspect-ratio:auto}
/* Section rhythm */
.rx-sec{padding-block:3.6rem}
.rx-sec-h{margin-bottom:1.8rem}
/* ===== v1.0.6 home redesign ===== */
.rx-hero2{padding-block:3.4rem 3rem}
.rx-hero2 .rx-wrap{grid-template-columns:1.15fr .85fr;align-items:center}
.rx-hero2 h1{font-size:clamp(2.2rem,4.6vw,4rem);margin-top:.5rem}
.rx-hero-search{display:flex;gap:.5rem;margin:1.4rem 0 1rem;max-width:40rem}
.rx-hero-search input{flex:1;min-width:0;min-height:48px;padding:.6rem .9rem;font:inherit;font-size:1rem;border:1.5px solid rgba(255,255,255,.3);border-radius:var(--r);background:rgba(255,255,255,.08);color:var(--steel-ink)}
.rx-hero-search input::placeholder{color:#aeb4bd}
.rx-hero-search .rx-btn{white-space:nowrap}
.rx-quick{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}
.rx-quick a{color:#c9ced6;text-decoration:none;border-bottom:2px solid transparent;padding:.2rem 0}
.rx-quick a:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:800px){.rx-hero2 .rx-wrap{grid-template-columns:1fr}.rx-hero-search{flex-direction:column}}
.rx-trust{background:var(--bg2);border-bottom:1px solid var(--line)}
.rx-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.rx-trust-grid div{padding:1.1rem 1.2rem 1.1rem 0;border-right:1px solid var(--line);margin-right:1.2rem;display:flex;flex-direction:column;gap:.2rem}
.rx-trust-grid div:last-child{border-right:0;margin-right:0}
.rx-trust-grid b{font-family:var(--display);font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.rx-trust-grid span{font-size:.9rem;color:var(--ink2)}
@media(max-width:900px){.rx-trust-grid{grid-template-columns:1fr 1fr}.rx-trust-grid div:nth-child(2n){border-right:0;margin-right:0}.rx-trust-grid div{padding-block:.9rem}}
@media(max-width:480px){.rx-trust-grid{grid-template-columns:1fr}.rx-trust-grid div{border-right:0;margin-right:0;border-bottom:1px solid var(--line)}.rx-trust-grid div:last-child{border-bottom:0}}
.rx-rows{display:flex;flex-direction:column;gap:3rem}
.rx-grid-4{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rx-guide{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:start}
.rx-guide p{color:var(--ink2);max-width:46rem;font-size:1.02rem}
.rx-guide h3{text-transform:uppercase;margin-bottom:.8rem}
.rx-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;counter-reset:s}
.rx-steps li{position:relative;padding:.8rem 1rem .8rem 3.2rem;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);color:var(--ink2);font-size:.95rem}
.rx-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:.9rem;top:.75rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--accent);color:var(--ink);font-family:var(--display);font-weight:700;display:flex;align-items:center;justify-content:center}
.rx-steps b{color:var(--ink);display:block;font-family:var(--display);font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}
@media(max-width:800px){.rx-guide{grid-template-columns:1fr;gap:2rem}}
/* Category description rich html */
.rx-catdesc{max-width:52rem;margin:0 0 1.5rem}
.rx-catdesc p{color:var(--ink2);margin:0 0 .6rem}
.rx-catdesc a{color:var(--ink);font-weight:600}
/* Product long description */
.woocommerce-Tabs-panel h3{text-transform:uppercase;font-size:1.1rem;margin:1.2rem 0 .3rem;color:var(--ink)}
.woocommerce-Tabs-panel p{color:var(--ink2)}
/* ===== v1.0.7 forms, motion, smart touches ===== */
.rx-open{font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);color:#c9ced6;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}
.rx-open::before{content:"";width:8px;height:8px;border-radius:50%;background:#8a9099}
.rx-open.on{color:#bfe8cf;border-color:rgba(42,125,79,.6)}.rx-open.on::before{background:#3fbf73;box-shadow:0 0 0 3px rgba(63,191,115,.25)}
.rx-open.off{color:#d9c08a}.rx-open.off::before{background:var(--accent)}
@media(max-width:1100px){.rx-open{display:none}}
/* Contact page */
.rx-contact-top{margin-bottom:2rem}
.rx-forms2{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.rx-forms2 section{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.rx-forms2 h2{font-size:1.5rem;margin-bottom:.8rem}
@media(max-width:860px){.rx-forms2{grid-template-columns:1fr}}
.wpforms-container .wpforms-field{padding:6px 0!important}
.wpforms-form select{font:inherit!important;min-height:44px;padding:.5rem .7rem!important;border:1.5px solid var(--line)!important;border-radius:var(--r)!important;background:var(--bg)!important;color:var(--ink)!important}
.wpforms-confirmation-container-full{background:var(--bg3)!important;border:1px solid var(--line)!important;border-left:4px solid var(--ok)!important;border-radius:var(--r)}
/* Product: ask section + recent */
.rx-ask{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;margin-top:2.5rem}
.rx-ask h2{text-transform:uppercase;font-size:1.6rem}
.rx-ask p{color:var(--ink2)}
.rx-ask-wa a{font-weight:700;color:var(--ink)}
@media(max-width:800px){.rx-ask{grid-template-columns:1fr;gap:1rem;padding:1.1rem}}
.rx-recent{grid-column:1/-1;margin-top:2.5rem}
.rx-recent h2{text-transform:uppercase;margin-bottom:1rem}
/* Posts / guides */
.rx-postfoot{margin-top:2rem;padding:1rem 1.2rem;background:var(--bg3);border-left:3px solid var(--accent);border-radius:var(--r)}
.single-post .entry-content,.blog .entry-content,.archive .entry-content{max-width:46rem}
.single-post .entry-content h2{font-size:1.5rem;text-transform:uppercase;margin-top:1.8rem}
.single-post .entry-content p,.single-post .entry-content li{color:var(--ink2);font-size:1.05rem}
.blog .ast-article-post,.archive.category .ast-article-post{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem!important;margin-bottom:1rem!important}
.blog .entry-title,.archive .entry-title{font-size:1.5rem!important;text-transform:none!important}
.ast-blog-meta-container,.entry-meta{font-size:.8rem;color:var(--ink3)}
/* Motion: hatch drift on hero, slow pan on collage, reveal on scroll. All off under reduced-motion. */
@keyframes rx-drift{from{background-position:0 0}to{background-position:120px 120px}}
@keyframes rx-pan{from{transform:scale(1.06) translate3d(-1.5%,0,0)}to{transform:scale(1.06) translate3d(1.5%,0,0)}}
.rx-hero:before{background-size:120px 120px;animation:rx-drift 24s linear infinite}
.rx-collage img{will-change:transform;animation:rx-pan 18s ease-in-out infinite alternate}
.rx-collage a:nth-child(2) img{animation-duration:22s;animation-delay:-6s}.rx-collage a:nth-child(3) img{animation-duration:26s;animation-delay:-12s}
.rx-js .rx-sec .rx-card,.rx-js .rx-sec .rx-cat,.rx-js .rx-steps li{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.rx-js .rx-sec .rx-card.in,.rx-js .rx-sec .rx-cat.in,.rx-js .rx-trust-grid > div.in,.rx-js .rx-steps li.in{opacity:1;transform:none}
.rx-btn.primary{position:relative;overflow:hidden}
.rx-btn.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.rx-btn.primary:hover::after{transform:translateX(120%)}
@media (prefers-reduced-motion:reduce){.rx-hero:before,.rx-collage img{animation:none!important}.rx-js .rx-sec .rx-card,.rx-js .rx-sec .rx-cat,.rx-js .rx-trust-grid > div,.rx-js .rx-steps li{opacity:1;transform:none}.rx-btn.primary::after{display:none}}
/* ===== v1.0.9 header ===== */
.rx-header{border-bottom:0;transition:box-shadow .25s}
.rx-header::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;animation:rx-line .9s cubic-bezier(.2,.7,.2,1) .15s forwards}
@keyframes rx-line{to{transform:scaleX(1)}}
.rx-header{position:sticky;top:0}
.rx-header .rx-wrap{min-height:72px;gap:1.2rem;transition:min-height .25s}
.rx-header.scrolled .rx-wrap{min-height:58px}
.rx-header.scrolled{box-shadow:0 6px 24px rgba(0,0,0,.25)}
.rx-header.scrolled .rx-logo{font-size:1.3rem}
.rx-logo{transition:font-size .25s}
.rx-nav{display:flex;gap:1.3rem;margin-left:.6rem;align-items:center}
.rx-nav > a,.rx-dd > a{position:relative;padding:.6rem 0;opacity:.9}
.rx-nav > a::after,.rx-dd > a::after{content:"";position:absolute;left:0;right:0;bottom:.2rem;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.rx-nav > a:hover::after,.rx-dd:hover > a::after,.rx-dd > a:focus-visible::after{transform:scaleX(1)}
.rx-nav > a:hover,.rx-dd:hover > a{color:#fff;opacity:1}
.rx-dd{position:relative}
.rx-dd > a{color:var(--steel-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}
.rx-dd > a::before{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);order:2;transition:transform .2s}
.rx-dd:hover > a::before{transform:rotate(225deg) translateY(-2px)}
.rx-dd-menu{position:absolute;top:100%;left:-.6rem;min-width:260px;background:var(--steel);border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--accent);border-radius:0 0 var(--r) var(--r);padding:.4rem 0;box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:50}
.rx-dd:hover .rx-dd-menu,.rx-dd:focus-within .rx-dd-menu,.rx-dd.open .rx-dd-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.rx-dd-menu a{display:block;padding:.6rem 1rem;color:var(--steel-ink);text-decoration:none;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;border-left:3px solid transparent}
.rx-dd-menu a:hover{border-left-color:var(--accent);background:rgba(255,255,255,.05);color:#fff}
.rx-dd-menu a.all{margin-top:.3rem;border-top:1px solid rgba(255,255,255,.1);color:var(--accent)}
.rx-search-d{display:flex;margin-left:auto;max-width:300px;flex:1;min-width:0}
.rx-search-m{display:none}
.rx-tel.rx-btn{min-height:40px;padding:.4rem 1rem!important;font-size:.95rem!important;white-space:nowrap}
.rx-burger{display:none;width:44px;height:44px;padding:0;border:1.5px solid rgba(255,255,255,.3);border-radius:var(--r);background:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;margin-left:0}
.rx-burger span{display:block;width:20px;height:2px;background:var(--steel-ink);transition:transform .25s,opacity .25s}
.rx-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rx-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.rx-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1180px){.rx-search-d{max-width:220px}.rx-nav{gap:1rem}}
@media(max-width:1000px){.rx-search-d{display:none}}
@media(max-width:900px){
  .rx-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--steel);flex-direction:column;align-items:stretch;gap:0;padding:.4rem 20px 1rem;border-bottom:3px solid var(--accent);box-shadow:0 18px 40px rgba(0,0,0,.35);margin:0}
  .rx-nav.open{display:flex;animation:rx-menu .2s ease-out}
  @keyframes rx-menu{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  .rx-nav > a,.rx-dd > a{padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08);display:block}
  .rx-nav > a::after,.rx-dd > a::after{display:none}
  .rx-dd > a::before{margin-left:auto}
  .rx-dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid rgba(255,255,255,.1);border-radius:0;padding:.2rem 0 .2rem .4rem;display:none;min-width:0}
  .rx-dd.open .rx-dd-menu{display:block}
  .rx-search-m{display:flex;max-width:none;margin:.8rem 0 .2rem}
  .rx-tel.rx-btn{margin-left:auto}
  .rx-burger{display:inline-flex}
  .rx-header.scrolled .rx-wrap{min-height:58px}
}
@media(max-width:480px){.rx-tel.rx-btn{padding:.4rem .7rem!important;font-size:.85rem!important}.rx-logo{font-size:1.25rem}}
@media (prefers-reduced-motion:reduce){.rx-header::after{animation:none;transform:none}}