/* ==========================================================================
   Royalpep design system: single source of truth for all front-end styling.
   Tokens are overridden at runtime by Customizer values (see inc/enqueue.php).
   Spacing scale: multiples of 8px.
   ========================================================================== */
:root{
  --rp-navy:#102C56;--rp-ocean:#1769AA;--rp-teal:#00AFA3;--rp-mint:#DDF8F0;--rp-frost:#F7FBFF;--rp-ice:#EAF4FC;--rp-lime:#C5F277;
  --rp-navy-rgb:16,44,86;--rp-ocean-rgb:23,105,170;--rp-teal-rgb:0,175,163;
  --rp-text:#2b4261;--rp-muted:#586d89;--rp-line:rgba(var(--rp-navy-rgb),.1);
  --rp-font-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --rp-font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;
  --r-sm:12px;--r-md:16px;--r-lg:24px;--r-xl:32px;--r-pill:999px;
  --sh-1:0 1px 2px rgba(var(--rp-navy-rgb),.05),0 8px 24px -12px rgba(var(--rp-navy-rgb),.14);
  --sh-2:0 2px 4px rgba(var(--rp-navy-rgb),.04),0 18px 40px -16px rgba(var(--rp-navy-rgb),.22);
  --sh-3:0 4px 8px rgba(var(--rp-navy-rgb),.05),0 32px 64px -24px rgba(var(--rp-navy-rgb),.30);
  --ease:cubic-bezier(.2,.7,.2,1);
  --header-top:12px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.rp-locked{overflow:hidden}
body.rp{margin:0;background:var(--rp-frost);color:var(--rp-text);font:400 16px/1.65 var(--rp-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.admin-bar{--header-top:44px}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--rp-ocean);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--rp-navy)}
:focus-visible{outline:3px solid var(--rp-teal);outline-offset:2px;border-radius:6px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;width:auto;height:auto;background:var(--rp-navy);color:#fff;padding:var(--s1) var(--s2);position:fixed;top:8px;left:8px;z-index:1000;border-radius:var(--r-pill)}
.rp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rp-icon{flex:none}

/* ---------- Type ---------- */
.rp h1,.rp h2,.rp h3,.rp h4{font-family:var(--rp-font-heading);color:var(--rp-navy);line-height:1.12;letter-spacing:-.02em;margin:0 0 var(--s2);font-weight:700}
.rp-display{font-size:clamp(40px,5.2vw,68px);line-height:1.02;letter-spacing:-.035em;margin-bottom:var(--s3)}
.rp-h1{font-size:clamp(32px,4.2vw,52px)}
.rp-h2{font-size:clamp(28px,3.2vw,40px)}
.rp-h3{font-size:clamp(20px,2vw,26px)}
.rp-h4{font-size:18px;letter-spacing:-.01em}
.rp-lead{font-size:18px;color:var(--rp-muted);max-width:60ch;margin:0 0 var(--s3)}
.rp-lead--lg{font-size:clamp(17px,1.5vw,20px)}
.rp-eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#007f77;margin:0 0 var(--s1)}
.rp-prose{max-width:72ch}
.rp-prose h2{font-size:28px;margin-top:var(--s5)}
.rp-prose h3{font-size:22px;margin-top:var(--s4)}
.rp-prose ul,.rp-prose ol{padding-left:var(--s3)}
.rp-prose img{border-radius:var(--r-md)}
.rp-prose blockquote{border-left:3px solid var(--rp-teal);margin:var(--s3) 0;padding:var(--s1) var(--s3);background:var(--rp-ice);border-radius:0 var(--r-sm) var(--r-sm) 0}
.rp-link-arrow{display:inline-flex;align-items:center;gap:var(--s1);font-weight:600;text-decoration:none;color:var(--rp-ocean)}
.rp-link-arrow:hover{gap:12px}
.rp-note{font-size:14px;color:var(--rp-muted)}

/* ---------- Layout ---------- */
.rp-container{width:100%;max-width:1272px;margin:0 auto;padding:0 var(--s3)}
.rp-container--narrow{max-width:848px}
.rp-main{display:block;min-height:50vh;padding-bottom:var(--s8)}
.rp-main--home,.rp-main--builder{padding-bottom:0}
.rp-section{padding:var(--s10) 0}
.rp-section--tint{background:linear-gradient(180deg,var(--rp-ice),var(--rp-frost))}
.rp-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}
.rp-section-head .rp-lead{margin-bottom:0}
.rp-grid{display:grid;gap:var(--s3)}
.rp-grid--products{grid-template-columns:repeat(4,minmax(0,1fr))}
.rp-grid--cats{grid-template-columns:repeat(3,minmax(0,1fr))}
.rp-grid--posts{grid-template-columns:repeat(3,minmax(0,1fr))}
.rp-page__head{padding:var(--s4) 0 var(--s2)}
.rp-collection-head{padding:var(--s4) 0 var(--s3)}
.rp-empty,.rp-empty-state{padding:var(--s6);text-align:center;color:var(--rp-muted);background:#fff;border-radius:var(--r-lg);border:1px dashed var(--rp-line)}
.rp-empty-state .rp-btn{margin-top:var(--s2)}

/* ---------- Buttons ---------- */
.rp-btn,body.rp .button,body.rp a.button,body.rp button.button,body.rp input.button,body.rp input[type=submit],body.rp .wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:48px;padding:12px var(--s3);border-radius:var(--r-pill);border:1px solid transparent;font:600 15px/1.2 var(--rp-font-body);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s,border-color .25s;background:var(--rp-navy);color:#fff;box-shadow:0 1px 2px rgba(var(--rp-navy-rgb),.2)}
.rp-btn:hover,body.rp .button:hover,body.rp a.button:hover,body.rp button.button:hover,body.rp input[type=submit]:hover,body.rp .wc-block-components-button:hover{background:var(--rp-ocean);color:#fff;transform:translateY(-1px);box-shadow:var(--sh-1)}
.rp-btn--primary{background:var(--rp-navy)}
.rp-btn--ghost,body.rp .rp-btn--ghost{background:rgba(255,255,255,.7);color:var(--rp-navy);border-color:rgba(var(--rp-navy-rgb),.16);box-shadow:none;backdrop-filter:blur(8px)}
.rp-btn--ghost:hover,body.rp .rp-btn--ghost:hover{background:#fff;color:var(--rp-navy);border-color:var(--rp-teal)}
.rp-btn--lime,body.rp .rp-btn--lime{background:var(--rp-lime);color:var(--rp-navy)}
.rp-btn--lime:hover,body.rp .rp-btn--lime:hover{background:#d4f996;color:var(--rp-navy)}
.rp-btn--lg{min-height:56px;padding:14px 32px;font-size:16px}
.rp-btn--small{min-height:40px;padding:8px var(--s2);font-size:14px}
body.rp .button.disabled,body.rp .button:disabled,.rp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.rp-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--rp-navy);cursor:pointer;transition:background .2s,color .2s}
.rp-iconbtn:hover{background:rgba(var(--rp-teal-rgb),.12);color:var(--rp-navy)}
.rp-count,.rp-cart-count{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:#007f77;color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;transition:transform .2s}
.rp-count.is-empty,.rp-cart-count.is-empty{transform:scale(0);opacity:0}

/* ---------- Announcement ---------- */
.rp-announce{background:var(--rp-navy);color:#fff;font-size:13px;text-align:center;padding:8px var(--s2)}
.rp-announce p{margin:0}
.rp-announce a{color:var(--rp-lime);font-weight:600;margin-left:var(--s1)}

/* ---------- Header (floating glass) ---------- */
.rp-header{position:relative;z-index:90;width:calc(100% - 32px);max-width:1272px;margin:var(--s2) auto 0}
.rp-sticky-header .rp-header{position:sticky;top:var(--header-top)}
.rp-header__bar{position:relative;display:flex;align-items:center;gap:var(--s3);padding:8px 8px 8px var(--s3);border-radius:var(--r-pill);background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(var(--rp-navy-rgb),.06),var(--sh-2);transition:box-shadow .3s,background .3s}
.rp-header.is-scrolled .rp-header__bar{background:rgba(255,255,255,.88);box-shadow:0 0 0 1px rgba(var(--rp-navy-rgb),.08),var(--sh-3)}
.rp-logo,.custom-logo-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--rp-navy);font-weight:800;font-size:20px;letter-spacing:-.03em;flex:none}
.custom-logo{max-height:40px;width:auto}
.rp-logo__mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,var(--rp-teal),var(--rp-ocean));position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.rp-logo__mark::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--rp-lime)}
.rp-nav{flex:1;min-width:0;display:flex;justify-content:center}
.rp-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.rp-menu>li{position:relative;display:flex;align-items:center}
.rp-menu a{display:block;padding:10px 14px;border-radius:var(--r-pill);color:var(--rp-navy);font-size:14.5px;font-weight:550;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.rp-menu>li>a:hover,.rp-menu>li.current-menu-item>a,.rp-menu>li.current-menu-ancestor>a,.rp-menu>li.is-open>a{background:var(--rp-ice);color:var(--rp-ocean)}
.rp-sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:32px;margin-left:-10px;margin-right:2px;border:0;background:none;color:var(--rp-muted);cursor:pointer;border-radius:var(--r-pill);transition:transform .2s}
.rp-menu li.is-open>.rp-sub-toggle{transform:rotate(180deg)}
.rp-menu .sub-menu{list-style:none;margin:0;padding:var(--s1);position:absolute;top:calc(100% + 12px);left:0;min-width:260px;display:grid;gap:2px;background:rgba(255,255,255,.97);border:1px solid var(--rp-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.rp-menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.rp-menu li:hover>.sub-menu,.rp-menu li:focus-within>.sub-menu,.rp-menu li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.rp-menu .sub-menu a{padding:12px var(--s2);border-radius:var(--r-md);white-space:normal}
.rp-menu .sub-menu a:hover{background:var(--rp-ice);color:var(--rp-ocean)}
.rp-menu-desc{display:block;font-size:12.5px;font-weight:400;color:var(--rp-muted);margin-top:2px}
.rp-menu>li.rp-mega{position:static}
.rp-menu>li.rp-mega>.sub-menu{left:var(--s1);right:var(--s1);top:calc(100% + 12px);grid-template-columns:repeat(3,1fr);padding:var(--s3);gap:var(--s1);min-width:0}
.rp-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex:none}
.rp-burger{display:none}

/* ---------- Panels / drawers / modal ---------- */
.rp-scrim{position:fixed;inset:0;z-index:200;background:rgba(var(--rp-navy-rgb),.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s}
.rp-scrim.is-open{opacity:1}
.rp-panel{position:fixed;z-index:210;background:rgba(255,255,255,.98);display:flex;flex-direction:column;box-shadow:var(--sh-3);transition:transform .26s var(--ease),opacity .22s}
.rp-panel[hidden],.rp-scrim[hidden],.rp-modal[hidden]{display:none}
.rp-panel--right{top:var(--s1);right:var(--s1);bottom:var(--s1);width:min(440px,calc(100vw - 16px));border-radius:var(--r-xl);transform:translateX(110%)}
.rp-panel--left{top:var(--s1);left:var(--s1);bottom:var(--s1);width:min(400px,calc(100vw - 16px));border-radius:var(--r-xl);transform:translateX(-110%)}
.rp-panel--top{top:0;left:0;right:0;border-radius:0 0 var(--r-xl) var(--r-xl);transform:translateY(-110%);max-height:90vh;overflow:auto}
.rp-panel.is-open{transform:none}
.rp-panel__head{display:flex;align-items:center;justify-content:space-between;padding:var(--s2) var(--s3);border-bottom:1px solid var(--rp-line)}
.rp-panel__head h2{margin:0}
.rp-panel__body{padding:var(--s3);overflow:auto;flex:1}
.rp-panel__inner{max-width:848px;margin:0 auto;padding:var(--s3)}
.rp-searchform{display:flex;align-items:center;gap:var(--s2);padding:4px 8px 4px var(--s3);background:var(--rp-frost);border:1px solid var(--rp-line);border-radius:var(--r-pill)}
.rp-searchform:focus-within{border-color:var(--rp-teal);box-shadow:0 0 0 4px rgba(var(--rp-teal-rgb),.15)}
.rp-searchform input[type=search]{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:18px;padding:12px 0;color:var(--rp-navy);outline:0}
.rp-searchform--inline{max-width:560px;margin:var(--s2) 0}
.rp-searchform--inline input[type=search]{font-size:16px}
.rp-results{margin-top:var(--s3)}
.rp-results__empty{color:var(--rp-muted);margin:0;padding:var(--s2) 0}
.rp-result-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}
.rp-result-list a{display:grid;grid-template-columns:56px 1fr auto;gap:var(--s2);align-items:center;padding:var(--s1);border-radius:var(--r-md);text-decoration:none;color:var(--rp-navy)}
.rp-result-list a:hover{background:var(--rp-ice)}
.rp-result-list img{width:56px;height:56px;object-fit:cover;border-radius:var(--r-sm);background:var(--rp-ice)}
.rp-result-list__t{font-weight:600;line-height:1.3}
.rp-result-list__p{font-size:14px;color:var(--rp-muted);text-align:right}
.rp-results__all{margin-top:var(--s2)}
.rp-mobile-nav .rp-menu{flex-direction:column;align-items:stretch;gap:4px}
.rp-mobile-nav .rp-menu>li{flex-wrap:wrap}
.rp-mobile-nav .rp-menu>li>a{flex:1;font-size:18px;padding:14px var(--s2)}
.rp-mobile-nav .rp-sub-toggle{width:44px;height:44px;margin:0}
.rp-mobile-nav .rp-menu .sub-menu{position:static;flex-basis:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--rp-frost);display:none;margin:0 0 var(--s1);min-width:0;grid-template-columns:1fr!important}
.rp-mobile-nav .rp-menu li.is-open>.sub-menu{display:grid}
.rp-mobile-nav .rp-menu .sub-menu::before{display:none}
.rp-mobile-nav__extra{margin-top:var(--s3);display:flex;gap:var(--s1);flex-wrap:wrap}
.rp-modal{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:var(--s2);background:rgba(var(--rp-navy-rgb),.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .2s}
.rp-modal.is-open{opacity:1}
.rp-modal__box{position:relative;width:min(880px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:var(--s4)}
.rp-modal__close{position:absolute;top:var(--s2);right:var(--s2);z-index:2;background:var(--rp-ice)}
.rp-qv{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);align-items:start}
.rp-qv__media img{border-radius:var(--r-lg);width:100%}
.rp-qv__actions{display:flex;gap:var(--s1);flex-wrap:wrap;margin-top:var(--s3)}

/* ---------- Hero ---------- */
.rp-hero{position:relative;overflow:hidden;padding:var(--s8) 0 var(--s10)}
.rp-hero__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 85% 10%,rgba(var(--rp-teal-rgb),.16),transparent 70%),radial-gradient(50% 50% at 5% 90%,rgba(var(--rp-ocean-rgb),.12),transparent 70%),radial-gradient(30% 30% at 55% 0%,rgba(197,242,119,.35),transparent 70%)}
.rp-hero__bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(var(--rp-navy-rgb),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--rp-navy-rgb),.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(70% 70% at 50% 30%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 30%,#000,transparent)}
.rp-hero__grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6);align-items:center}
.rp-pill-label{display:inline-flex;align-items:center;gap:var(--s1);padding:6px 16px;border-radius:var(--r-pill);background:rgba(255,255,255,.8);border:1px solid var(--rp-line);font-size:13px;font-weight:600;color:var(--rp-navy);margin:0 0 var(--s3);box-shadow:var(--sh-1)}
.rp-dot{width:8px;height:8px;border-radius:50%;background:var(--rp-teal);box-shadow:0 0 0 4px rgba(var(--rp-teal-rgb),.2)}
.rp-hero__cta{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}
.rp-hero__visual{position:relative}
.rp-hero__frame{border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgba(var(--rp-teal-rgb),.6),rgba(var(--rp-ocean-rgb),.25),rgba(197,242,119,.7)) border-box;border:1px solid transparent;box-shadow:var(--sh-3);aspect-ratio:14/11}
.rp-hero__img{width:100%;height:100%;object-fit:cover}
.rp-float{position:absolute;display:flex;gap:12px;align-items:center;padding:12px 20px 12px 12px;border-radius:var(--r-lg);background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.95);box-shadow:var(--sh-2);animation:rp-float 7s ease-in-out infinite}
.rp-float strong{display:block;color:var(--rp-navy);font-size:14px;line-height:1.3}
.rp-float span:not(.rp-float__icon){display:block;font-size:12.5px;color:var(--rp-muted);line-height:1.35}
.rp-float__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--rp-mint);color:var(--rp-teal);flex:none}
.rp-float--a{left:-24px;bottom:56px}
.rp-float--b{right:-16px;top:40px;animation-delay:-3s}
@keyframes rp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ---------- Trust ---------- */
.rp-trust{padding:0 0 var(--s6)}
.rp-trust__list{list-style:none;margin:0;padding:var(--s2) var(--s3);display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s2);background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-1);border:1px solid var(--rp-line)}
.rp-trust__list li{display:flex;gap:12px;align-items:center;padding:var(--s1)}
.rp-trust__list strong{display:block;font-size:14px;color:var(--rp-navy);line-height:1.3}
.rp-trust__list li span:not(.rp-trust__icon){display:block;font-size:12.5px;color:var(--rp-muted);line-height:1.35}
.rp-trust__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--rp-mint);color:var(--rp-teal);flex:none}

/* ---------- Product cards ---------- */
.rp-card{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--r-lg);border:1px solid var(--rp-line);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.rp-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:rgba(var(--rp-teal-rgb),.4)}
.rp-card__media{position:relative;background:linear-gradient(160deg,var(--rp-ice),var(--rp-mint));aspect-ratio:1}
.rp-card__imglink{display:block;height:100%}
.rp-card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.rp-card:hover .rp-card__img{transform:scale(1.04)}
.rp-badge{position:absolute;top:var(--s2);left:var(--s2);padding:4px 12px;border-radius:var(--r-pill);background:var(--rp-lime);color:var(--rp-navy);font-size:12px;font-weight:700}
.rp-wish{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--rp-navy);cursor:pointer;box-shadow:var(--sh-1);transition:transform .2s,color .2s,background .2s}
.rp-wish:hover{transform:scale(1.08)}
.rp-wish.is-on{color:#d6336c}
.rp-wish.is-on svg{fill:currentColor}
.rp-quick{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:var(--s1);padding:10px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--rp-navy);font:600 13.5px var(--rp-font-body);cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s var(--ease)}
.rp-card:hover .rp-quick,.rp-quick:focus-visible{opacity:1;transform:none}

/* Hero extras */
.rp-hero__search{display:flex;align-items:center;gap:12px;max-width:520px;margin-top:var(--s4);padding:6px 6px 6px var(--s3);background:rgba(255,255,255,.92);border:1px solid var(--rp-line);border-radius:var(--r-pill);box-shadow:var(--sh-1);color:var(--rp-muted)}
.rp-hero__search:focus-within{border-color:var(--rp-teal);box-shadow:0 0 0 4px rgba(var(--rp-teal-rgb),.15)}
body.rp .rp-hero__search input[type=search]{flex:1;min-width:0;width:auto;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.rp-hero__proof{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);list-style:none;margin:var(--s3) 0 0;padding:0;color:var(--rp-navy);font-size:14px;font-weight:500}
.rp-hero__proof li{display:flex;align-items:center;gap:8px}
.rp-hero__proof svg{color:var(--rp-teal)}
/* Batch record */
.rp-record{margin:0;padding:var(--s3);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-3);transform:rotate(-1.2deg)}
.rp-record__top{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding-bottom:var(--s2);margin-bottom:var(--s1);border-bottom:2px dashed var(--rp-line)}
.rp-record__title{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--rp-navy);font-size:18px}
.rp-record__title svg{color:var(--rp-teal)}
.rp-record__tag{padding:4px 12px;border-radius:var(--r-pill);background:var(--rp-ice);color:var(--rp-ocean);font-size:13px;font-weight:600}
.rp-record__rows{margin:0}
.rp-record__rows>div{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:var(--s2);padding:14px 0;border-bottom:1px solid var(--rp-line)}
.rp-record__rows dt{font-size:14px;color:var(--rp-muted)}
.rp-record__rows dd{margin:0}
.rp-record__rows dd span:first-child{display:block;height:10px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--rp-ice),var(--rp-frost))}
.rp-record__rows>div:nth-child(2n) dd span:first-child{width:70%}
.rp-record figcaption{margin-top:var(--s2);font-size:13.5px;color:var(--rp-muted)}
/* Steps */
.rp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s3);counter-reset:none;position:relative}
.rp-steps li{position:relative;padding:var(--s3);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.rp-steps li:not(:last-child)::after{content:"";position:absolute;top:calc(var(--s3) + 20px);left:100%;width:var(--s3);border-top:2px dashed rgba(var(--rp-teal-rgb),.5)}
.rp-steps__n{display:grid;place-items:center;width:40px;height:40px;margin-bottom:var(--s2);border-radius:50%;background:var(--rp-navy);color:#fff;font-weight:700}
.rp-steps h3{margin:0 0 6px;font-size:18px;color:var(--rp-navy)}
.rp-steps p{margin:0;font-size:14.5px;color:var(--rp-muted)}

@media (hover:none){.rp-quick{opacity:1;transform:none}}
.rp-card__body{display:flex;flex-direction:column;gap:6px;padding:var(--s2);flex:1}
.rp-card__cat{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#007f77}
.rp-card__title{margin:0;font-size:16px;line-height:1.3;letter-spacing:-.01em}
.rp-card__title a{color:var(--rp-navy);text-decoration:none}
.rp-card__title a:hover{color:var(--rp-ocean)}
.rp-chips{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.rp-chips a{display:block;padding:3px 12px;border-radius:var(--r-pill);background:var(--rp-ice);color:var(--rp-navy);font-size:12.5px;font-weight:600;text-decoration:none;border:1px solid transparent}
.rp-chips a:hover{border-color:var(--rp-teal);background:#fff}
.rp-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s1);margin-top:auto;padding-top:var(--s1);flex-wrap:wrap}
.rp-card__price,.price{font-weight:700;color:var(--rp-navy);font-size:17px}
.price del{color:var(--rp-muted);font-weight:400;font-size:14px;margin-right:4px}
.price ins{text-decoration:none}
.rp-card .button{min-height:40px;padding:8px 16px;font-size:13.5px}
.rp-card .added_to_cart{display:none}
.rp-card .button.loading{opacity:.6}
.rp-card .button.added::after{content:"✓";margin-left:4px}
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
ul.products::before,ul.products::after{display:none}
ul.products li.product{margin:0;width:auto;float:none}

/* ---------- Category cards ---------- */
.rp-cat{display:block;position:relative;border-radius:var(--r-xl);overflow:hidden;background:#fff;border:1px solid var(--rp-line);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rp-cat:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.rp-cat__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--rp-ice)}
.rp-cat__img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.rp-cat:hover .rp-cat__img{transform:scale(1.05)}
.rp-cat__label{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s2) var(--s3)}
.rp-cat__label strong{color:var(--rp-navy);font-size:18px;letter-spacing:-.01em}
.rp-cat__meta{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--rp-muted);white-space:nowrap}

/* ---------- 10-vial kits ---------- */
.rp-kits__panel{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-areas:"visual copy" "visual cards";gap:var(--s4) var(--s6);padding:var(--s6);border-radius:calc(var(--r-xl) + 8px);background:radial-gradient(70% 70% at 0% 0%,var(--rp-mint),transparent 70%),linear-gradient(160deg,#fff,var(--rp-ice));border:1px solid var(--rp-line);box-shadow:var(--sh-2)}
.rp-kits__visual{grid-area:visual;border-radius:var(--r-xl);overflow:hidden;align-self:center}
.rp-kits__img{width:100%;height:auto;border-radius:var(--r-xl)}
.rp-kits__copy{grid-area:copy}
.rp-kits__cards{grid-area:cards;display:grid;gap:var(--s2)}
.rp-ticks{list-style:none;padding:0;margin:0 0 var(--s3);display:grid;gap:var(--s1)}
.rp-ticks li{display:flex;gap:12px;align-items:center;font-weight:550;color:var(--rp-navy)}
.rp-ticks svg{color:var(--rp-teal)}
.rp-pricecard{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-lg);background:rgba(255,255,255,.85);border:1px solid var(--rp-line);box-shadow:var(--sh-1);flex-wrap:wrap}
.rp-pricecard h3{margin:0}
.rp-pricecard a:not(.button){text-decoration:none;color:var(--rp-navy)}
.rp-pricecard__price{margin:4px 0 0}
.rp-pricecard .added_to_cart{display:none}

/* ---------- Split / quality / why ---------- */
.rp-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}
.rp-feature-list{list-style:none;margin:var(--s3) 0;padding:0;display:grid;gap:var(--s2)}
.rp-feature-list li{display:flex;gap:var(--s2);align-items:flex-start}
.rp-feature-list strong{display:block;color:var(--rp-navy)}
.rp-feature-list li span:not(.rp-trust__icon){color:var(--rp-muted);font-size:15px}
.rp-grid--why{grid-template-columns:repeat(3,minmax(0,1fr))}
.rp-why{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1)}
.rp-why__copy{padding:var(--s3) var(--s3) var(--s4)}
.rp-why__copy .rp-trust__icon{margin-bottom:var(--s2)}
.rp-why__copy p{color:var(--rp-muted);font-size:16px;margin:0}
.rp-why__media img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}

/* ---------- Wholesale ---------- */
.rp-wholesale{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s6);padding:var(--s8);border-radius:calc(var(--r-xl) + 8px);background:radial-gradient(60% 80% at 100% 0%,rgba(var(--rp-teal-rgb),.18),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(197,242,119,.4),transparent 70%),var(--rp-mint);border:1px solid rgba(var(--rp-teal-rgb),.2)}
.rp-wholesale__steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2);align-content:center}
.rp-wholesale__steps li{display:flex;gap:var(--s2);align-items:center;padding:var(--s2) var(--s3);border-radius:var(--r-lg);background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9)}
.rp-wholesale__steps li>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rp-navy);color:#fff;font-weight:700;flex:none}
.rp-wholesale__steps strong{color:var(--rp-navy);display:block}
.rp-wholesale__steps p{margin:0;font-size:14px;color:var(--rp-muted)}

/* ---------- Posts ---------- */
.rp-post-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);border:1px solid var(--rp-line);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rp-post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.rp-post-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--rp-ice)}
.rp-post-card__media img{width:100%;height:100%;object-fit:cover}
.rp-post-card__body{padding:var(--s3);display:flex;flex-direction:column;gap:var(--s1);flex:1}
.rp-post-card__excerpt{margin:0;color:var(--rp-muted);font-size:15px}
.rp-post-card .rp-link-arrow{margin-top:auto}
.rp-post__hero{margin:0 0 var(--s4)}
.rp-post__hero img{border-radius:var(--r-xl);width:100%}

/* ---------- FAQ ---------- */
.rp-faqwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s8);align-items:start}
.rp-faq{display:grid;gap:var(--s1)}
.rp-faq__item{background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-lg);transition:box-shadow .25s,border-color .25s}
.rp-faq__item[open]{box-shadow:var(--sh-1);border-color:rgba(var(--rp-teal-rgb),.4)}
.rp-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s2) var(--s3);cursor:pointer;list-style:none;font-weight:650;color:var(--rp-navy)}
.rp-faq__item summary::-webkit-details-marker{display:none}
.rp-faq__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--rp-ice);transition:transform .25s var(--ease),background .25s;flex:none}
.rp-faq__item[open] .rp-faq__icon{transform:rotate(45deg);background:var(--rp-mint)}
.rp-faq__a{padding:0 var(--s3) var(--s3);color:var(--rp-muted)}
.rp-faq__a p{margin:0}
.rp-single-faq{margin-top:var(--s8);grid-column:1/-1}

/* ---------- Newsletter ---------- */
.rp-nl-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);align-items:center;padding:var(--s8);border-radius:calc(var(--r-xl) + 8px);background:radial-gradient(60% 90% at 0% 0%,rgba(var(--rp-teal-rgb),.16),transparent 70%),linear-gradient(135deg,var(--rp-ice),#fff);border:1px solid var(--rp-line);box-shadow:var(--sh-1)}
.rp-newsletter__row{display:flex;gap:var(--s1);padding:6px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--rp-line);box-shadow:var(--sh-1)}
.rp-newsletter__row:focus-within{border-color:var(--rp-teal);box-shadow:0 0 0 4px rgba(var(--rp-teal-rgb),.15)}
.rp-newsletter__msg{min-height:24px;margin:var(--s1) var(--s2) 0;font-size:14px}
.rp-newsletter__msg.is-ok,.rp-form__msg.is-ok{color:#0b7a55}
.rp-newsletter__msg.is-bad,.rp-form__msg.is-bad{color:#b42318}
.rp-newsletter__privacy{margin:0 var(--s2);font-size:12.5px;color:var(--rp-muted)}
.rp-nl-panel .rp-btn--lime{background:var(--rp-navy);color:#fff}
.rp-nl-panel .rp-btn--lime:hover{background:var(--rp-ocean);color:#fff}

/* ---------- Footer ---------- */
.rp-footer{position:relative;overflow:hidden;margin-top:var(--s8);padding:var(--s8) 0 var(--s3);color:#d5e4f5;background:radial-gradient(60% 80% at 100% 0%,rgba(var(--rp-teal-rgb),.28),transparent 65%),radial-gradient(50% 60% at 0% 100%,rgba(var(--rp-ocean-rgb),.5),transparent 70%),var(--rp-navy);border-radius:var(--r-xl) var(--r-xl) 0 0}
.rp-footer .rp-container{position:relative}
.rp-footer a{color:#d5e4f5;text-decoration:none}
.rp-footer a:hover{color:var(--rp-lime)}
.rp-footer .rp-logo,.rp-footer .custom-logo-link{color:#fff}
.rp-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,.8fr) 1.3fr;gap:var(--s5)}
.rp-footer__brand p{margin:var(--s2) 0;font-size:14.5px;color:#b9cde5;max-width:36ch}
.rp-footer .rp-footer__h{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 var(--s2)}
.rp-footer-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14.5px}
.rp-contact{list-style:none;margin:0 0 var(--s2);padding:0;display:grid;gap:8px;font-size:14px}
.rp-contact li{display:flex;gap:10px;align-items:flex-start}
.rp-contact svg{margin-top:3px;color:var(--rp-lime)}
.rp-social{list-style:none;display:flex;gap:var(--s1);margin:0;padding:0}
.rp-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);transition:background .2s}
.rp-social a:hover{background:rgba(255,255,255,.2)}
.rp-footer__news p{font-size:14px;color:#b9cde5;margin:0 0 var(--s2)}
.rp-footer .rp-newsletter__row{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);box-shadow:none}
.rp-footer .rp-newsletter input[type=email]{color:#fff}
.rp-footer .rp-newsletter input::placeholder{color:#9fb7d3}
.rp-footer .rp-newsletter__privacy{color:#9fb7d3;margin-left:var(--s1)}
.rp-footer .rp-newsletter__msg{margin-left:var(--s1)}
.rp-footer .rp-newsletter__msg.is-ok{color:var(--rp-lime)}
.rp-footer .rp-newsletter__msg.is-bad{color:#ffb4a8}
.rp-footer__secure{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s5);padding:var(--s2) 0;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px;color:#b9cde5}
.rp-footer__secure span{display:inline-flex;align-items:center;gap:var(--s1)}
.rp-footer__secure svg{color:var(--rp-lime)}
.rp-footer__disclaimer{margin:0 0 var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-md);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:12.5px;line-height:1.6;color:#b9cde5}
.rp-footer__disclaimer strong{color:#fff}
.rp-footer__bottom{display:flex;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;align-items:center;font-size:13px;color:#9fb7d3}
.rp-footer__bottom p{margin:0}
.rp-footer__bottom .rp-footer-list{display:flex;gap:var(--s3);flex-wrap:wrap;font-size:13px}

/* ---------- Forms ---------- */
body.rp input[type=text],body.rp input[type=email],body.rp input[type=tel],body.rp input[type=password],body.rp input[type=number],body.rp input[type=url],body.rp input[type=search],body.rp select,body.rp textarea,.select2-container--default .select2-selection--single{width:100%;min-height:48px;padding:12px var(--s2);border:1px solid rgba(var(--rp-navy-rgb),.18);border-radius:var(--r-md);background:#fff;color:var(--rp-navy);font:inherit;transition:border-color .2s,box-shadow .2s}
body.rp textarea{min-height:128px;resize:vertical}
body.rp input:focus,body.rp select:focus,body.rp textarea:focus{outline:0;border-color:var(--rp-teal);box-shadow:0 0 0 4px rgba(var(--rp-teal-rgb),.16)}
body.rp label{font-weight:600;color:var(--rp-navy);font-size:14.5px}
body.rp input[type=checkbox],body.rp input[type=radio]{accent-color:var(--rp-teal);width:18px;height:18px;min-height:0;vertical-align:-3px}
.rp-form p{margin:0 0 var(--s2)}
.rp-form label{display:block;margin-bottom:6px}
.rp-form .rp-check label{display:flex;gap:12px;font-weight:500;align-items:flex-start}
.rp-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s2)}
.rp-form{padding:var(--s4);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-1);max-width:720px;margin:var(--s4) 0}
.rp-form__msg{min-height:24px;font-size:14.5px}
body.rp .rp-newsletter input[type=email]{flex:1;min-width:0;border:0;box-shadow:none;background:transparent;min-height:44px;padding:0 var(--s2);border-radius:0}
body.rp .rp-newsletter input[type=email]:focus{box-shadow:none}
body.rp .rp-searchform input[type=search]{border:0;box-shadow:none;background:transparent;padding:12px 0;min-height:0}
body.rp .rp-searchform input[type=search]:focus{box-shadow:none}

/* ---------- Tables ---------- */
.rp-table-wrap{overflow-x:auto;border:1px solid var(--rp-line);border-radius:var(--r-lg);background:#fff;margin:var(--s3) 0}
.rp-table,body.rp table.shop_table,body.rp table.shop_attributes{width:100%;border-collapse:collapse;font-size:15px}
.rp-table th,.rp-table td,body.rp table.shop_table th,body.rp table.shop_table td,body.rp table.shop_attributes th,body.rp table.shop_attributes td{padding:14px var(--s2);text-align:left;border:0;border-bottom:1px solid var(--rp-line);background:transparent;vertical-align:middle}
.rp-table thead th,body.rp table.shop_table thead th{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rp-muted);background:var(--rp-ice)}
.rp-table tr:last-child td{border-bottom:0}
.rp-dl{display:grid;gap:var(--s1);margin:0 0 var(--s2)}
.rp-dl div{display:flex;gap:var(--s2);padding:12px var(--s2);background:var(--rp-ice);border-radius:var(--r-md)}
.rp-dl dt{font-weight:700;color:var(--rp-navy);min-width:140px}
.rp-dl dd{margin:0}

/* ---------- Breadcrumb / pagination / pills ---------- */
.woocommerce-breadcrumb,.rp-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:var(--s3) 0 0;margin:0;font-size:13.5px;color:var(--rp-muted)}
.woocommerce-breadcrumb a{color:var(--rp-muted);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--rp-ocean)}
.rp-sep{opacity:.5}
.rp-pills{display:flex;gap:var(--s1);flex-wrap:wrap;margin-top:var(--s3)}
.rp-pill{display:inline-flex;align-items:center;padding:8px 20px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--rp-line);color:var(--rp-navy);font-size:14.5px;font-weight:600;text-decoration:none;transition:all .2s}
.rp-pill:hover{border-color:var(--rp-teal);color:var(--rp-navy)}
.rp-pill.is-active{background:var(--rp-navy);border-color:var(--rp-navy);color:#fff}
.nav-links,nav.woocommerce-pagination ul{display:flex;gap:var(--s1);justify-content:center;flex-wrap:wrap;margin:var(--s6) 0 0;padding:0;list-style:none}
nav.woocommerce-pagination ul{border:0}
nav.woocommerce-pagination ul li{border:0;float:none;overflow:visible}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--s2);border-radius:var(--r-pill);background:#fff;border:1px solid var(--rp-line);color:var(--rp-navy);font-weight:600;text-decoration:none}
a.page-numbers:hover{border-color:var(--rp-teal);background:var(--rp-mint)}
.page-numbers.current{background:var(--rp-navy);color:#fff;border-color:var(--rp-navy)}
.post-navigation .nav-links{justify-content:space-between}

/* ---------- Shop ---------- */
.rp-shop-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;padding:var(--s2) var(--s3);margin-bottom:var(--s3);background:rgba(255,255,255,.8);border:1px solid var(--rp-line);border-radius:var(--r-lg)}
.rp-shop-bar--meta{background:transparent;border:0;padding:0}
.rp-price-filter{display:flex;align-items:center;gap:var(--s1);flex-wrap:wrap}
body.rp .rp-price-filter input[type=number]{width:104px;min-height:40px;padding:8px var(--s2);border-radius:var(--r-pill)}
.rp-price-filter label:not(.screen-reader-text){font-weight:600;color:var(--rp-navy)}
.woocommerce-result-count{margin:0;color:var(--rp-muted);font-size:14px}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{min-height:44px;border-radius:var(--r-pill);width:auto;padding-right:var(--s4)}
.rp-wc>.rp-container.is-loading .rp-shop-results{opacity:.45;pointer-events:none;transition:opacity .2s}

/* ---------- Single product ---------- */
body.rp.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--s6);align-items:start;padding-top:var(--s3)}
body.rp.single-product div.product div.images,body.rp.single-product div.product div.summary{float:none;width:100%;margin:0}
body.rp.single-product div.product div.summary{position:sticky;top:112px;padding:var(--s4);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
body.rp.single-product div.product .woocommerce-tabs,body.rp.single-product div.product .related,body.rp.single-product div.product .upsells{grid-column:1/-1;float:none;width:100%}
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery__wrapper{border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(160deg,var(--rp-ice),var(--rp-mint));margin:0}
.woocommerce-product-gallery__image img{width:100%;height:auto}
.woocommerce-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s1);list-style:none;margin:var(--s2) 0 0;padding:0}
.woocommerce-product-gallery .flex-control-thumbs li{float:none;width:auto}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:var(--r-sm);border:1px solid var(--rp-line);opacity:.7;cursor:pointer}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--rp-teal)}
.woocommerce-product-gallery__trigger{position:absolute;top:var(--s2);right:var(--s2);z-index:5;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);text-decoration:none}
.product_title{font-size:clamp(28px,3vw,40px)!important;margin-bottom:var(--s1)!important}
.summary .price{display:block;font-size:28px;margin:var(--s1) 0 var(--s2)}
.woocommerce-product-details__short-description{color:var(--rp-muted);margin-bottom:var(--s3)}
.summary .product_meta{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--rp-line);font-size:14px;color:var(--rp-muted);display:grid;gap:4px}
.summary .product_meta a{color:var(--rp-ocean)}
form.cart{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;margin:0 0 var(--s3)}
form.cart.variations_form{display:block}
form.cart .woocommerce-variation-add-to-cart{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}
table.variations{width:100%;border:0;margin-bottom:var(--s2)}
table.variations th,table.variations td{display:block;padding:0 0 var(--s1);border:0;text-align:left}
table.variations select{width:100%;border-radius:var(--r-pill)}
.reset_variations{font-size:13px;margin-left:var(--s1)}
.woocommerce-variation-price{margin-bottom:var(--s2)}
.quantity{display:inline-flex;align-items:center;border:1px solid rgba(var(--rp-navy-rgb),.18);border-radius:var(--r-pill);background:#fff;overflow:hidden}
body.rp .quantity input.qty{width:56px;min-height:46px;border:0;border-radius:0;text-align:center;padding:0;box-shadow:none;-moz-appearance:textfield}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.rp .quantity input.qty:focus{box-shadow:none}
.rp-qty-btn{width:44px;height:46px;border:0;background:transparent;color:var(--rp-navy);font-size:20px;cursor:pointer}
.rp-qty-btn:hover{background:var(--rp-ice)}
.single_add_to_cart_button{flex:1;min-width:180px}
.rp-notice-box{display:flex;gap:12px;align-items:flex-start;padding:var(--s2);margin:var(--s2) 0;background:var(--rp-mint);border:1px solid rgba(var(--rp-teal-rgb),.25);border-radius:var(--r-md);color:var(--rp-navy);font-size:14px}
.rp-notice-box svg{color:var(--rp-teal);margin-top:2px}
.rp-notice-box p{margin:0}
body.rp .woocommerce-tabs ul.tabs{display:flex;gap:var(--s1);flex-wrap:wrap;margin:var(--s6) 0 var(--s3);padding:0}
body.rp .woocommerce-tabs ul.tabs::before,body.rp .woocommerce-tabs ul.tabs::after{display:none}
body.rp .woocommerce-tabs ul.tabs li{margin:0;padding:0;border-radius:var(--r-pill);background:#fff;border:1px solid var(--rp-line)}
body.rp .woocommerce-tabs ul.tabs li::before,body.rp .woocommerce-tabs ul.tabs li::after{display:none}
body.rp .woocommerce-tabs ul.tabs li a{padding:10px var(--s3);font-weight:600;color:var(--rp-navy);border-radius:var(--r-pill)}
body.rp .woocommerce-tabs ul.tabs li.active{background:var(--rp-navy);border-color:var(--rp-navy)}
body.rp .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce-Tabs-panel{padding:var(--s4);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl)}
.woocommerce-Tabs-panel h2{font-size:22px}
.related.products>h2,.upsells.products>h2{font-size:28px;margin:var(--s8) 0 var(--s3)}
.rp-sticky-atc{position:fixed;left:var(--s1);right:var(--s1);bottom:var(--s1);z-index:80;display:none;align-items:center;justify-content:space-between;gap:var(--s2);padding:12px 12px 12px var(--s3);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.95);border-radius:var(--r-pill);box-shadow:var(--sh-3);transform:translateY(140%);transition:transform .3s var(--ease)}
.rp-sticky-atc.is-visible{transform:none}
.rp-sticky-atc__info{display:grid;min-width:0;line-height:1.3}
.rp-sticky-atc__info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--rp-navy);font-size:14px}
.rp-sticky-atc .price{font-size:14px}

/* ---------- Notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{list-style:none;margin:var(--s3) 0;padding:var(--s2) var(--s3);background:#fff;border:1px solid rgba(var(--rp-teal-rgb),.35);border-radius:var(--r-lg);color:var(--rp-navy);display:flex;gap:var(--s2);align-items:center;justify-content:space-between;flex-wrap:wrap}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:static;color:var(--rp-teal);flex:none}
.woocommerce-message .button,.woocommerce-info .button{order:3;margin-left:auto}
.woocommerce-error{border-color:#f1b0a8;background:#fff6f4}
.woocommerce-error::before{color:#b42318}
.woocommerce-error li{margin:0;flex:1 0 100%}

/* ---------- Cart ---------- */
body.rp.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:var(--s4);align-items:start}
body.rp.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
body.rp.woocommerce-cart .woocommerce-cart-form{grid-column:1}
body.rp.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:2;position:sticky;top:112px}
body.rp.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;padding:var(--s3);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
body.rp.woocommerce-cart table.cart{background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);overflow:hidden;border-collapse:separate;border-spacing:0}
body.rp table.cart img{width:72px;border-radius:var(--r-sm)}
body.rp table.cart td.actions{padding:var(--s2)}
body.rp table.cart td.actions .coupon{display:flex;gap:var(--s1);float:none;flex-wrap:wrap;margin-bottom:var(--s1)}
body.rp table.cart td.actions .coupon input{width:200px;min-height:44px}
body.rp a.remove{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--rp-ice);color:var(--rp-navy)!important;font-size:18px;text-decoration:none}
body.rp a.remove:hover{background:#b42318;color:#fff!important}
body.rp .wc-proceed-to-checkout .checkout-button{display:flex;min-height:56px;font-size:16px;width:100%;background:var(--rp-navy);padding:14px var(--s3)}
.cart_totals h2{font-size:22px}

/* ---------- Checkout ---------- */
body.rp form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0 var(--s5);align-items:start}
body.rp form.checkout #customer_details{grid-column:1;grid-row:1/span 3}
body.rp form.checkout #customer_details .col-1,body.rp form.checkout #customer_details .col-2{float:none;width:100%}
body.rp form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 var(--s2)}
body.rp form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:112px;padding:var(--s3);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
body.rp form.checkout .woocommerce-billing-fields,body.rp form.checkout .woocommerce-shipping-fields,body.rp form.checkout .woocommerce-additional-fields{padding:var(--s3);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);margin-bottom:var(--s3)}
body.rp form.checkout h3{font-size:22px}
body.rp .form-row{margin:0 0 var(--s2);padding:0}
body.rp .form-row-first,body.rp .form-row-last{width:calc(50% - 8px)}
body.rp .woocommerce-checkout-payment{background:transparent!important;border-radius:0}
body.rp #payment ul.payment_methods{padding:0;border:0;display:grid;gap:var(--s1);list-style:none;margin:0 0 var(--s2)}
body.rp #payment ul.payment_methods li{padding:var(--s2);border:1px solid var(--rp-line);border-radius:var(--r-md);background:var(--rp-frost);margin:0}
body.rp #payment ul.payment_methods li:has(input:checked){border-color:var(--rp-teal);background:#fff;box-shadow:0 0 0 3px rgba(var(--rp-teal-rgb),.12)}
body.rp #payment div.payment_box{background:var(--rp-ice);color:var(--rp-text);border-radius:var(--r-sm);margin:var(--s1) 0 0;font-size:14px}
body.rp #payment div.payment_box::before{display:none}
body.rp #place_order{width:100%;min-height:56px;font-size:16px;float:none}
body.rp .woocommerce-checkout-review-order-table{border:0}

/* ---------- My account ---------- */
body.rp.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s4);align-items:start}
body.rp.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:var(--s1);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);display:grid;gap:2px;position:sticky;top:112px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px var(--s2);border-radius:var(--r-pill);color:var(--rp-navy);font-weight:600;text-decoration:none}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--rp-ice);color:var(--rp-ocean)}
.woocommerce-MyAccount-content{padding:var(--s4);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
body.rp .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
body.rp .u-columns .u-column1,body.rp .u-columns .u-column2{float:none;width:100%;padding:var(--s4);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
body.rp form.woocommerce-form-login,body.rp form.woocommerce-form-register{border:0;padding:0;margin:0}
body.rp .woocommerce-address-fields .form-row{width:100%}
body.rp .addresses .col-1,body.rp .addresses .col-2{float:none;width:100%}
body.rp .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}

/* ---------- Mini cart ---------- */
.woocommerce-mini-cart{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.woocommerce-mini-cart-item{position:relative;display:block;min-height:72px;padding-left:88px;padding-right:32px;font-weight:600;line-height:1.35}
.woocommerce-mini-cart-item a:not(.remove){color:var(--rp-navy);text-decoration:none;display:block}
.woocommerce-mini-cart-item img{position:absolute;left:0;top:0;width:72px;height:72px;object-fit:cover;border-radius:var(--r-sm);float:none;margin:0}
.woocommerce-mini-cart-item a.remove{position:absolute;right:0;top:0;width:28px;height:28px;font-size:16px}
.woocommerce-mini-cart-item .quantity{display:block;border:0;font-weight:400;color:var(--rp-muted);font-size:14px;margin-top:4px;background:transparent}
.woocommerce-mini-cart__total{display:flex;justify-content:space-between;margin:var(--s3) 0 var(--s2);padding-top:var(--s2);border-top:1px solid var(--rp-line);font-size:17px;color:var(--rp-navy)}
.woocommerce-mini-cart__buttons{display:grid;gap:var(--s1);margin:0}
.woocommerce-mini-cart__buttons .button:not(.checkout){background:rgba(255,255,255,.7);color:var(--rp-navy);border-color:rgba(var(--rp-navy-rgb),.16);box-shadow:none}
.woocommerce-mini-cart__empty-message{color:var(--rp-muted);text-align:center;padding:var(--s6) 0}

/* ---------- Block cart/checkout (WooCommerce Blocks) ---------- */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{margin-top:var(--s3)}
.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:var(--s4)}
.wc-block-components-totals-wrapper,.wc-block-cart__totals-title{border-color:var(--rp-line)}
.wc-block-components-sidebar{position:sticky;top:112px;align-self:flex-start}

/* ---------- Posts / comments / 404 ---------- */
.rp-comments{margin-top:var(--s8)}
.rp-comment-list{list-style:none;padding:0;display:grid;gap:var(--s2)}
.rp-comment-list .comment-body{padding:var(--s3);background:#fff;border:1px solid var(--rp-line);border-radius:var(--r-lg)}
.rp-comment-list .children{list-style:none;padding-left:var(--s4)}
.rp-404{text-align:center;padding:var(--s10) 0;display:grid;justify-items:center}
.rp-404__code{font-size:clamp(96px,18vw,200px);font-weight:800;line-height:1;margin:0;letter-spacing:-.06em;background:linear-gradient(135deg,var(--rp-teal),var(--rp-ocean));-webkit-background-clip:text;background-clip:text;color:transparent}
.rp-404__links{display:flex;gap:var(--s1);flex-wrap:wrap;justify-content:center}
.rp-404 .rp-searchform{width:100%}
.alignwide{max-width:1272px}.alignfull{width:100%;max-width:none}

/* ---------- Elementor Free compatibility ---------- */
.rp-main--builder .elementor-section.elementor-section-boxed>.elementor-container{max-width:1272px}
.elementor-widget-heading .elementor-heading-title{font-family:var(--rp-font-heading);color:var(--rp-navy)}
body.rp .elementor-button{border-radius:var(--r-pill)}
.elementor-page .rp-main{padding-bottom:0}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .rp-nav{display:none}
  .rp-burger{display:inline-flex}
  .rp-header__bar{padding-left:var(--s2)}
  .rp-footer__grid{grid-template-columns:1.4fr repeat(3,1fr)}
  .rp-footer__news{grid-column:1/-1}
}
@media (max-width:1024px){
  .rp-grid--products,ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rp-trust__list{grid-template-columns:repeat(3,1fr)}
  .rp-kits__panel{grid-template-columns:1fr;grid-template-areas:"visual" "copy" "cards";padding:var(--s4)}
  .rp-kits__visual{max-width:520px}
  .rp-hero__grid{gap:var(--s4)}
  .rp-float--a{left:-8px}.rp-float--b{right:-8px}
  .rp-wholesale,.rp-nl-panel{padding:var(--s5)}
  body.rp.woocommerce-cart .woocommerce{grid-template-columns:1fr}
  body.rp.woocommerce-cart .cart-collaterals{grid-column:1;grid-row:auto;position:static}
}
@media (max-width:900px){
  .rp-hero__grid,.rp-split,.rp-faqwrap,.rp-wholesale,.rp-nl-panel{grid-template-columns:1fr}
  .rp-hero{padding:var(--s5) 0 var(--s6)}
  .rp-section{padding:var(--s8) 0}
  .rp-grid--cats,.rp-grid--posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-grid--why{grid-template-columns:1fr}
  .rp-steps{grid-template-columns:1fr 1fr}
  .rp-steps li::after{display:none}
  .rp-record{transform:none}
  body.rp.single-product div.product{grid-template-columns:1fr;gap:var(--s4)}
  body.rp.single-product div.product div.summary{position:static;padding:var(--s3)}
  body.rp form.checkout{grid-template-columns:1fr}
  body.rp form.checkout #customer_details,body.rp form.checkout #order_review_heading,body.rp form.checkout #order_review{grid-column:1;grid-row:auto;position:static}
  body.rp.woocommerce-account .woocommerce{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation ul{position:static;display:flex;flex-wrap:wrap}
  .rp-qv{grid-template-columns:1fr}
  .rp-sticky-atc{display:flex}
  .rp-footer__grid{grid-template-columns:1fr 1fr}
  .rp-footer__brand{grid-column:1/-1}
}
@media (max-width:768px){
  .rp-hide-sm{display:none!important}
  .rp-grid--products,ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
  .rp-trust__list{grid-template-columns:1fr 1fr}
  .rp-form__grid,body.rp .u-columns,body.rp .woocommerce-Addresses{grid-template-columns:1fr}
  .rp-float{display:none}
  .rp-card__foot{flex-direction:column;align-items:stretch}
  .rp-card__foot .button{width:100%}
  .rp-card .rp-quick{display:none}
  body.rp .form-row-first,body.rp .form-row-last{width:100%}
  .rp-wholesale,.rp-nl-panel{padding:var(--s3);border-radius:var(--r-xl)}
  .rp-kits__panel{padding:var(--s3);border-radius:var(--r-xl)}
  .rp-modal__box{padding:var(--s3)}
}
@media (max-width:520px){
  .rp-container{padding:0 var(--s2)}
  .rp-grid--cats,.rp-grid--posts{grid-template-columns:1fr}
  .rp-steps{grid-template-columns:1fr}
  .rp-record__rows>div{grid-template-columns:96px 1fr}
  .rp-hero__search .rp-btn{padding:10px 18px}
  .rp-trust__list{grid-template-columns:1fr}
  .rp-hero__cta .rp-btn{width:100%}
  .rp-footer__grid{grid-template-columns:1fr}
  .rp-footer{border-radius:var(--r-lg) var(--r-lg) 0 0}
  .rp-footer__bottom{flex-direction:column;align-items:flex-start}
  .rp-header{width:calc(100% - 16px)}
  .rp-header__bar{gap:var(--s1);padding:6px 6px 6px var(--s2)}
  .rp-logo,.custom-logo-link{font-size:18px}
  .rp-newsletter__row{flex-direction:column;border-radius:var(--r-lg);padding:var(--s1)}
  .rp-newsletter__row .rp-btn{width:100%}
  .rp-form{padding:var(--s3)}
  .rp-card__body{padding:12px}
  .rp-card__title{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
