@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter+Tight:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ============================================================
   RELI PHARMA — DESIGN SYSTEM
   Display: Sora  |  Body: Inter Tight  |  Technical: IBM Plex Mono
   ============================================================ */
:root{
  --rp-ink:#07161C;
  --rp-ink-2:#0E2831;
  --rp-body:#5A6B72;
  --rp-micro:#93A3AA;
  --rp-line:#E4EDF0;
  --rp-line-2:#F1F6F8;
  --rp-teal:#0097B2;
  --rp-teal-dk:#046B80;
  --rp-teal-br:#12BEDC;
  --rp-teal-lt:#EAF7FA;
  --rp-dark:#04161C;
  --rp-dark-2:#07202A;
  --rp-display:'Sora',sans-serif;
  --rp-sans:'Inter Tight',sans-serif;
  --rp-mono:'IBM Plex Mono',monospace;
  --rp-ease:cubic-bezier(.22,1,.36,1);
}

body, .site-main, p, li, td{ font-family:var(--rp-sans); }

/* ---------- logo + nav ---------- */
.custom-logo{ max-height:44px !important; width:auto !important; }
.custom-logo-link{ display:flex; align-items:center; }
@media (max-width:767px){ .custom-logo{ max-height:32px !important; } }

.site-navigation a{
  color:var(--rp-ink) !important;
  font-family:var(--rp-sans) !important;
  font-weight:600 !important;
  font-size:15px !important;
  letter-spacing:-.005em;
  position:relative;
  transition:color .25s var(--rp-ease);
}
.site-navigation a:hover{ color:var(--rp-teal-dk) !important; }
.site-navigation .current-menu-item > a{ color:var(--rp-teal-dk) !important; }

/* ---------- MOBILE MENU (fixed open state) ---------- */
.site-navigation-dropdown{
  background:#fff !important;
  border-top:1px solid var(--rp-line);
  box-shadow:0 20px 44px -20px rgba(4,22,28,.24);
  max-height:0; overflow:hidden;
  transition:max-height .42s var(--rp-ease);
}
.site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown,
.site-navigation-dropdown.elementor-active,
.elementor-active + .site-navigation-dropdown{
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  padding-bottom:6px;
}
.site-navigation-dropdown ul{ margin:0 !important; padding:10px 0 !important; list-style:none; }
.site-navigation-dropdown li{ border-bottom:1px solid var(--rp-line-2); }
.site-navigation-dropdown li:last-child{ border-bottom:0; }
.site-navigation-dropdown a{
  display:block !important; padding:16px 22px !important;
  font-family:var(--rp-sans) !important; font-size:15px !important; font-weight:600 !important;
  color:var(--rp-ink) !important; text-decoration:none;
}
.site-navigation-dropdown a:active{ background:var(--rp-teal-lt) !important; }
.site-navigation-toggle{ cursor:pointer; }
.site-navigation-toggle .site-navigation-toggle-icon,
.site-navigation-toggle i{ color:var(--rp-ink) !important; }

/* ============================================================
   PRIMITIVES
   ============================================================ */
.rp-wrap{ max-width:1180px; margin:0 auto; padding:0 26px; }
.rp-center{ text-align:center; }

.rp-eyebrow{
  display:inline-block;
  font-family:var(--rp-mono); font-size:11px; font-weight:600;
  letter-spacing:.26em; text-transform:uppercase;
  color:var(--rp-teal-dk); margin:0 0 16px;
}
.rp-section--dark .rp-eyebrow{ color:var(--rp-teal-br); }

.rp-h2{
  font-family:var(--rp-display); font-size:46px; font-weight:700;
  letter-spacing:-.035em; line-height:1.08;
  color:var(--rp-ink); margin:0 0 18px;
}
.rp-h2 em{
  font-style:normal;
  background:linear-gradient(100deg,var(--rp-teal-br) 0%,var(--rp-teal-dk) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.rp-lede{
  font-family:var(--rp-sans); font-size:16.5px; font-weight:400;
  line-height:1.72; color:var(--rp-body);
  margin:0 auto; max-width:660px;
}
.rp-mono{
  font-family:var(--rp-mono); font-size:11px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--rp-micro);
}

.rp-pill{
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:16px; padding:8px 16px 8px 13px; border-radius:999px;
  background:var(--rp-teal-lt); border:1px solid #CFE9F0;
  font-family:var(--rp-mono); font-size:10.5px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--rp-teal-dk);
}
.rp-pill::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--rp-teal); box-shadow:0 0 0 3px rgba(0,151,178,.18);
  animation:rp-pulse 2.4s ease-in-out infinite;
}
@keyframes rp-pulse{ 0%,100%{ box-shadow:0 0 0 3px rgba(0,151,178,.18); } 50%{ box-shadow:0 0 0 6px rgba(0,151,178,0); } }

/* hairline divider */
.rp-rule{ height:1px; background:linear-gradient(90deg,transparent,var(--rp-line),transparent); border:0; margin:0; }

/* ---------- buttons ---------- */
.rp-btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--rp-mono); font-size:11.5px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  padding:17px 30px; border-radius:13px; text-decoration:none;
  transition:transform .35s var(--rp-ease), box-shadow .35s var(--rp-ease);
}
.rp-btn--primary{
  color:#fff !important;
  background:linear-gradient(135deg,var(--rp-teal-br) 0%,var(--rp-teal-dk) 100%);
  box-shadow:0 14px 30px -12px rgba(4,107,128,.75), inset 0 1px 0 rgba(255,255,255,.22);
}
.rp-btn--primary::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);
  transform:translateX(-120%); transition:transform .8s var(--rp-ease);
}
.rp-btn--primary:hover{ transform:translateY(-3px); box-shadow:0 22px 44px -14px rgba(4,107,128,.9), inset 0 1px 0 rgba(255,255,255,.28); }
.rp-btn--primary:hover::after{ transform:translateX(120%); }
.rp-btn--ghost{
  color:#DCEAEE !important; background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(6px);
}
.rp-btn--ghost:hover{ border-color:var(--rp-teal-br); color:#fff !important; transform:translateY(-3px); }

/* ---------- section shells ---------- */
.rp-sec-trustbar,.rp-sec-ruo,.rp-sec-guarhead,.rp-sec-verify,
.rp-sec-steps,.rp-sec-faq,.rp-sec-cta,.rp-sec-std{
  display:block !important; width:100% !important; padding:0 !important;
}
.rp-sec-trustbar > *,.rp-sec-ruo > *,.rp-sec-guarhead > *,.rp-sec-verify > *,
.rp-sec-steps > *,.rp-sec-faq > *,.rp-sec-cta > *,.rp-sec-std > *{ width:100% !important; }

/* dark section = aurora + grid mesh */
.rp-dark-shell{
  position:relative; overflow:hidden;
  background:var(--rp-dark);
}
.rp-dark-shell::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(680px 340px at 18% 0%, rgba(18,190,220,.16), transparent 62%),
    radial-gradient(560px 300px at 88% 100%, rgba(0,151,178,.13), transparent 60%);
}
.rp-dark-shell::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 50% 40%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%, #000 0%, transparent 78%);
}
.rp-dark-shell > *{ position:relative; z-index:1; }
.rp-dark-shell .rp-h2{ color:#fff; }
.rp-dark-shell .rp-lede{ color:#8FA6AE; }

/* ============================================================
   TRUST TICKER (marquee)
   ============================================================ */
.rp-trustbar{
  background:var(--rp-dark); border-bottom:1px solid rgba(255,255,255,.07);
  overflow:hidden; position:relative;
}
.rp-trustbar::before,.rp-trustbar::after{
  content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none;
}
.rp-trustbar::before{ left:0; background:linear-gradient(90deg,var(--rp-dark),transparent); }
.rp-trustbar::after{ right:0; background:linear-gradient(270deg,var(--rp-dark),transparent); }
.rp-ticker{ display:flex; width:max-content; animation:rp-marquee 36s linear infinite; }
.rp-trustbar:hover .rp-ticker{ animation-play-state:paused; }
.rp-ticker__group{
  display:flex; align-items:center; gap:0; flex:none; padding:13px 0;
}
.rp-ticker__group span{
  display:inline-flex; align-items:center; gap:9px; padding:0 26px;
  font-family:var(--rp-mono); font-size:10.5px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:#7E939B; white-space:nowrap;
}
.rp-ticker__group span b{ color:#fff; font-weight:600; }
.rp-ticker__group span::before{
  content:""; width:5px; height:5px; border-radius:50%; flex:none;
  background:var(--rp-teal-br); box-shadow:0 0 8px rgba(18,190,220,.9);
}
@keyframes rp-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .rp-ticker{ animation:none; } }

/* ============================================================
   RUO STRIP
   ============================================================ */
.rp-ruo{ background:var(--rp-line-2); border-bottom:1px solid var(--rp-line); }
.rp-ruo__inner{ display:flex; align-items:center; gap:18px; padding-top:20px; padding-bottom:20px; }
.rp-ruo__badge{
  flex:none; display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:13px;
  background:linear-gradient(135deg,var(--rp-teal-br),var(--rp-teal-dk)); color:#fff;
  font-family:var(--rp-mono); font-size:11px; font-weight:600; letter-spacing:.08em;
  box-shadow:0 10px 22px -10px rgba(4,107,128,.8), inset 0 1px 0 rgba(255,255,255,.25);
}
.rp-ruo__title{ font-family:var(--rp-display); font-size:14.5px; font-weight:700; color:var(--rp-ink); margin-bottom:3px; letter-spacing:-.01em; }
.rp-ruo__text{ font-family:var(--rp-sans); font-size:13.5px; line-height:1.6; color:var(--rp-body); margin:0; max-width:780px; }

/* ============================================================
   GUARANTEE HEAD + FEATURE CARDS
   ============================================================ */
.rp-sec-guarhead{ background:#fff; padding:96px 0 8px !important; }

.features-section{
  background:#fff !important;
  gap:22px !important; padding:44px 26px 96px !important;
  align-items:stretch !important; max-width:1232px; margin:0 auto;
}
.feature-box{
  position:relative; display:flex !important; flex-direction:column !important;
  align-items:center !important; text-align:center;
  background:#fff; border:1px solid var(--rp-line); border-radius:20px;
  padding:38px 28px 32px !important; overflow:hidden;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 18px 40px -22px rgba(4,107,128,.30);
  transition:transform .45s var(--rp-ease), box-shadow .45s var(--rp-ease), border-color .45s var(--rp-ease);
}
.feature-box::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--rp-teal-br),var(--rp-teal-dk),transparent);
  opacity:.85;
}
.feature-box:hover{
  transform:translateY(-8px);
  border-color:#C7E6EE;
  box-shadow:0 1px 2px rgba(7,22,28,.05), 0 34px 60px -26px rgba(4,107,128,.45);
}
.feature-box .e-svg-base{
  width:66px !important; height:66px !important;
  display:flex !important; align-items:center; justify-content:center;
  border-radius:19px !important; margin:0 auto 22px !important;
  background:linear-gradient(140deg,var(--rp-teal-br) 0%,var(--rp-teal-dk) 100%) !important;
  box-shadow:0 16px 30px -12px rgba(4,107,128,.75), inset 0 1px 0 rgba(255,255,255,.28);
  position:relative;
}
.feature-box .e-svg-base::after{
  content:""; position:absolute; inset:-7px; border-radius:24px;
  background:radial-gradient(circle,rgba(18,190,220,.32),transparent 68%);
  opacity:0; transition:opacity .45s var(--rp-ease); z-index:-1;
}
.feature-box:hover .e-svg-base::after{ opacity:1; }
.feature-box .e-svg-base svg{ width:32px !important; height:32px !important; display:block; filter:brightness(0) invert(1); }
.feature-heading{
  font-family:var(--rp-display) !important; font-size:19px !important; font-weight:700 !important;
  line-height:1.28 !important; letter-spacing:-.02em !important;
  color:var(--rp-ink) !important; margin:0 0 11px !important;
}
.feature-desc{
  font-family:var(--rp-sans) !important; font-size:14.5px !important; font-weight:400 !important;
  line-height:1.68 !important; color:var(--rp-body) !important; margin:0 !important;
}
.feature-desc strong{ font-weight:600 !important; color:var(--rp-teal-dk) !important; }

/* ============================================================
   CATALOG
   ============================================================ */
.catalog-intro{
  flex-direction:column !important; align-items:center !important;
  text-align:center; gap:12px !important;
  padding:96px 26px 6px !important;
  background:linear-gradient(180deg,#fff 0%,#F7FCFD 100%);
  position:relative;
}
.catalog-intro::before{
  content:"THE CATALOGUE"; display:block;
  font-family:var(--rp-mono); font-size:11px; font-weight:600;
  letter-spacing:.26em; color:var(--rp-teal-dk); margin-bottom:14px;
}
.catalog-title{
  font-family:var(--rp-display) !important; font-size:46px !important; font-weight:700 !important;
  letter-spacing:-.035em !important; line-height:1.08 !important; color:var(--rp-ink) !important;
}
.catalog-title em{
  font-style:normal;
  background:linear-gradient(100deg,var(--rp-teal-br),var(--rp-teal-dk));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.catalog-sub{
  font-family:var(--rp-sans) !important; font-size:16.5px !important;
  line-height:1.72 !important; color:var(--rp-body) !important; max-width:640px;
}
.catalog-sub strong{ font-weight:600 !important; color:var(--rp-teal-dk) !important; }

.catalog-grid{
  display:block !important;
  padding:40px 26px 100px !important;
  background:linear-gradient(180deg,#F7FCFD 0%,#EFF8FA 100%);
}
.catalog-grid > *{ width:100% !important; }
.catalog-grid ul.products{
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px !important; margin:0 auto !important; padding:0 !important;
  list-style:none !important; max-width:1180px;
}
.catalog-grid ul.products::before,.catalog-grid ul.products::after{ display:none !important; }

.catalog-grid ul.products li.product{
  position:relative; display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:flex-start !important; text-align:center;
  width:auto !important; float:none !important; margin:0 !important;
  padding:0 0 22px !important;
  background:#fff; border:1px solid var(--rp-line); border-radius:20px; overflow:hidden;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 18px 40px -22px rgba(4,107,128,.28);
  transition:transform .45s var(--rp-ease), box-shadow .45s var(--rp-ease), border-color .45s var(--rp-ease);
}
.catalog-grid ul.products li.product::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px; z-index:3;
  background:linear-gradient(90deg,transparent,var(--rp-teal-br),var(--rp-teal-dk),transparent);
  opacity:0; transition:opacity .45s var(--rp-ease);
}
.catalog-grid ul.products li.product:hover{
  transform:translateY(-8px); border-color:#C7E6EE;
  box-shadow:0 1px 2px rgba(7,22,28,.05), 0 34px 62px -26px rgba(4,107,128,.45);
}
.catalog-grid ul.products li.product:hover::before{ opacity:1; }

.catalog-grid ul.products li.product > a.woocommerce-LoopProduct-link{ display:block; width:100%; text-decoration:none; }
.catalog-grid ul.products li.product > a.woocommerce-LoopProduct-link::after{
  content:""; position:absolute; inset:0; z-index:1; border-radius:20px;
}
.catalog-grid ul.products li.product img{
  aspect-ratio:1/1; object-fit:contain;
  width:100% !important; max-width:none !important;
  margin:0 0 16px !important; padding:30px 24px 0;
  background:linear-gradient(180deg,#FAFDFE 0%,#EEF7FA 100%);
  transition:transform .55s var(--rp-ease);
}
.catalog-grid ul.products li.product:hover img{ transform:scale(1.05); }

.catalog-grid ul.products li.product::after{
  content:"IN STOCK"; position:absolute; top:16px; right:15px; z-index:3;
  display:inline-flex; align-items:center;
  font-family:var(--rp-mono); font-size:8.5px; font-weight:600; letter-spacing:.16em;
  color:var(--rp-teal-dk); background:rgba(255,255,255,.92);
  border:1px solid #CFE9F0; padding:5px 10px; border-radius:999px;
  backdrop-filter:blur(6px); box-shadow:0 3px 10px rgba(7,22,28,.07);
}
.catalog-grid ul.products li.product .woocommerce-loop-product__title{
  display:flex !important; flex-direction:column; align-items:center;
  font-family:var(--rp-display) !important; font-size:17px !important; font-weight:700 !important;
  letter-spacing:-.025em !important; color:var(--rp-ink) !important;
  margin:0 !important; padding:0 20px !important;
}
.catalog-grid ul.products li.product .woocommerce-loop-product__title::before{
  content:"99%+ HPLC"; display:inline-block; margin:0 0 10px;
  font-family:var(--rp-mono); font-size:8.5px; font-weight:600; letter-spacing:.16em;
  color:var(--rp-teal-dk); background:var(--rp-teal-lt);
  border:1px solid #CFE9F0; padding:5px 10px; border-radius:999px;
}
.catalog-grid ul.products li.product .woocommerce-loop-product__title::after{
  content:"LYOPHILISED / BATCH DOCUMENTED"; display:block; margin:10px 0 0;
  font-family:var(--rp-mono); font-size:8.5px; font-weight:500;
  letter-spacing:.15em; color:var(--rp-micro);
}
.catalog-grid ul.products li.product .price{
  font-family:var(--rp-display) !important; font-size:27px !important; font-weight:700 !important;
  letter-spacing:-.04em !important; color:var(--rp-ink) !important;
  margin:16px 0 16px !important; padding:0 20px !important; position:relative; z-index:2;
}
.catalog-grid ul.products li.product .price .woocommerce-Price-currencySymbol{
  font-size:13px; font-weight:600; color:var(--rp-micro) !important; vertical-align:super; margin-right:2px;
}
.catalog-grid ul.products li.product .price::after{
  content:"PER VIAL"; display:inline-block; margin-left:8px;
  font-family:var(--rp-mono); font-size:8.5px; font-weight:500;
  letter-spacing:.16em; color:var(--rp-micro); vertical-align:middle;
}
.catalog-grid ul.products li.product a.button{
  position:relative; z-index:2; overflow:hidden;
  width:calc(100% - 40px); margin:0 20px !important;
  font-family:var(--rp-mono) !important; font-size:10.5px !important; font-weight:600 !important;
  letter-spacing:.18em; text-transform:uppercase; color:#fff !important;
  background:linear-gradient(135deg,var(--rp-teal-br) 0%,var(--rp-teal-dk) 100%) !important;
  border:0 !important; border-radius:12px !important; padding:14px 12px !important;
  box-shadow:0 12px 26px -12px rgba(4,107,128,.7), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .35s var(--rp-ease), box-shadow .35s var(--rp-ease);
}
.catalog-grid ul.products li.product a.button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px -14px rgba(4,107,128,.85), inset 0 1px 0 rgba(255,255,255,.28);
}
.catalog-grid ul.products li.product a.added_to_cart{
  position:relative; z-index:2; display:block; margin-top:10px;
  font-family:var(--rp-mono); font-size:9.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--rp-teal-dk) !important; text-decoration:none;
}


/* ============================================================
   BATCH VERIFICATION (dark)
   ============================================================ */
.rp-sec-verify .rp-dark-shell{ padding:104px 0; }
.rp-vgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:54px; }
.rp-vcard{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.09); border-radius:20px; padding:34px 30px;
  backdrop-filter:blur(10px);
  transition:transform .45s var(--rp-ease), border-color .45s var(--rp-ease), box-shadow .45s var(--rp-ease);
}
.rp-vcard::before{
  content:""; position:absolute; top:0; left:24px; right:24px; height:1px;
  background:linear-gradient(90deg,transparent,rgba(18,190,220,.6),transparent);
}
.rp-vcard:hover{
  transform:translateY(-7px); border-color:rgba(18,190,220,.4);
  box-shadow:0 30px 60px -28px rgba(18,190,220,.5);
}
.rp-vcard .rp-mono{
  color:var(--rp-teal-br); font-size:11px; font-weight:600; letter-spacing:.24em;
}
.rp-vcard h3{
  font-family:var(--rp-display); font-size:19px; font-weight:700; color:#fff;
  margin:14px 0 11px; letter-spacing:-.025em;
}
.rp-vcard p{ font-family:var(--rp-sans); font-size:14.5px; line-height:1.68; color:#8FA6AE; margin:0; }

/* ============================================================
   THREE STEPS
   ============================================================ */
.rp-sec-steps{ background:#fff; padding:100px 0 !important; }
.rp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:54px; }
.rp-step{
  position:relative; padding:34px 30px;
  background:#fff; border:1px solid var(--rp-line); border-radius:20px;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 16px 36px -24px rgba(4,107,128,.28);
  transition:transform .45s var(--rp-ease), box-shadow .45s var(--rp-ease), border-color .45s var(--rp-ease);
}
.rp-step:hover{
  transform:translateY(-7px); border-color:#C7E6EE;
  box-shadow:0 1px 2px rgba(7,22,28,.05), 0 32px 58px -26px rgba(4,107,128,.42);
}
.rp-step__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:14px; margin-bottom:20px;
  background:linear-gradient(140deg,var(--rp-teal-br),var(--rp-teal-dk)); color:#fff;
  font-family:var(--rp-mono); font-size:13px; font-weight:600; letter-spacing:.06em;
  box-shadow:0 12px 24px -10px rgba(4,107,128,.7), inset 0 1px 0 rgba(255,255,255,.25);
}
.rp-step h3{
  font-family:var(--rp-display); font-size:19px; font-weight:700;
  color:var(--rp-ink); margin:0 0 10px; letter-spacing:-.025em;
}
.rp-step p{ font-family:var(--rp-sans); font-size:14.5px; line-height:1.68; color:var(--rp-body); margin:0; }

/* ============================================================
   FAQ
   ============================================================ */
.rp-sec-faq{ background:linear-gradient(180deg,#fff 0%,#F4FBFC 100%); padding:100px 0 !important; }
.rp-faq{ max-width:860px; margin:52px auto 0; }
.rp-faq details{
  background:#fff; border:1px solid var(--rp-line); border-radius:16px;
  margin-bottom:13px; overflow:hidden;
  transition:border-color .3s var(--rp-ease), box-shadow .3s var(--rp-ease);
}
.rp-faq details[open]{
  border-color:#C7E6EE;
  box-shadow:0 16px 38px -22px rgba(4,107,128,.4);
}
.rp-faq summary{
  cursor:pointer; list-style:none; padding:21px 24px;
  font-family:var(--rp-display); font-size:16px; font-weight:600; color:var(--rp-ink);
  letter-spacing:-.015em;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.rp-faq summary::-webkit-details-marker{ display:none; }
.rp-faq summary::after{
  content:""; flex:none; width:11px; height:11px; position:relative;
  background:
    linear-gradient(var(--rp-teal-dk),var(--rp-teal-dk)) center/100% 2px no-repeat,
    linear-gradient(var(--rp-teal-dk),var(--rp-teal-dk)) center/2px 100% no-repeat;
  transition:transform .32s var(--rp-ease);
}
.rp-faq details[open] summary::after{ transform:rotate(135deg); }
.rp-faq p{
  margin:0; padding:0 24px 22px;
  font-family:var(--rp-sans); font-size:14.5px; line-height:1.75; color:var(--rp-body);
}

/* ============================================================
   FINAL CTA (dark)
   ============================================================ */
.rp-sec-cta .rp-dark-shell{ padding:112px 0; }
.rp-cta__btns{ display:flex; flex-wrap:wrap; gap:15px; justify-content:center; margin-top:34px; }
.rp-cta__stats{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 0; margin-top:44px;
}
.rp-cta__stats span{
  display:inline-flex; align-items:center; gap:9px; padding:0 24px;
  font-family:var(--rp-mono); font-size:10px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:#7E939B; white-space:nowrap;
  border-right:1px solid rgba(255,255,255,.1);
}
.rp-cta__stats span:last-child{ border-right:0; }
.rp-cta__stats b{ color:#fff; font-weight:600; }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.rp-reveal{ opacity:1; transform:none; }
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .rp-reveal{
      animation:rp-rise linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 58%;
    }
  }
}
@keyframes rp-rise{
  from{ opacity:0; transform:translateY(28px); }
  to{ opacity:1; transform:none; }
}

/* hero: desktop banner intentionally blank until supplied */
@media (min-width:768px){ .hero-image-section{ display:none !important; } }

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
body.single-product .site-main{ max-width:1180px; margin:0 auto; padding:0 26px 90px; }
body.single-product .woocommerce-breadcrumb{
  font-family:var(--rp-mono) !important; font-size:10px !important;
  letter-spacing:.18em; text-transform:uppercase; color:var(--rp-micro) !important;
  margin:30px 0 26px !important;
}
body.single-product .woocommerce-breadcrumb a{ color:var(--rp-body) !important; text-decoration:none; }
body.single-product .woocommerce-breadcrumb a:hover{ color:var(--rp-teal-dk) !important; }

body.single-product div.product{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; }
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary{ width:100% !important; float:none !important; margin:0 !important; }
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related,
body.single-product div.product .up-sells{ grid-column:1 / -1; }

body.single-product .woocommerce-product-gallery__image{
  border:1px solid var(--rp-line); border-radius:22px; overflow:hidden;
  background:linear-gradient(180deg,#FAFDFE 0%,#EEF7FA 100%);
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 24px 54px -28px rgba(4,107,128,.35);
}
body.single-product .woocommerce-product-gallery::after{
  content:"LYOPHILISED / HPLC 99%+ / BATCH DOCUMENTED / RESEARCH USE ONLY";
  display:block; margin-top:16px; text-align:center;
  font-family:var(--rp-mono); font-size:9.5px; font-weight:500;
  letter-spacing:.17em; color:var(--rp-micro);
  border:1px solid var(--rp-line); border-radius:14px; padding:14px 10px; background:#fff;
}

body.single-product .summary .product_title::before{
  content:"IN STOCK  ·  99%+ HPLC VERIFIED";
  display:inline-block; margin-bottom:16px; padding:7px 14px; border-radius:999px;
  background:var(--rp-teal-lt); border:1px solid #CFE9F0;
  font-family:var(--rp-mono); font-size:9.5px; font-weight:600;
  letter-spacing:.17em; color:var(--rp-teal-dk);
}
body.single-product .summary .product_title{
  font-family:var(--rp-display) !important; font-size:44px !important; font-weight:700 !important;
  letter-spacing:-.04em !important; line-height:1.06 !important;
  color:var(--rp-ink) !important; margin:0 0 16px !important; padding:0 !important;
}
body.single-product .summary p.price,
body.single-product .summary span.price{
  font-family:var(--rp-display) !important; font-size:36px !important; font-weight:700 !important;
  letter-spacing:-.04em !important; color:var(--rp-ink) !important; margin:0 0 6px !important;
}
body.single-product .summary .price .woocommerce-Price-currencySymbol{
  font-size:18px; font-weight:600; color:var(--rp-micro) !important; vertical-align:super;
}
body.single-product .summary p.price::after{
  content:"PER VIAL"; display:inline-block; margin-left:10px;
  font-family:var(--rp-mono); font-size:9.5px; font-weight:500;
  letter-spacing:.17em; color:var(--rp-micro); vertical-align:middle;
}
body.single-product .woocommerce-product-details__short-description{
  font-family:var(--rp-sans); font-size:15.5px; line-height:1.72; color:var(--rp-body);
  padding:20px 0; margin:16px 0 0; border-top:1px solid var(--rp-line);
}
body.single-product .woocommerce-product-details__short-description strong{ color:var(--rp-teal-dk); font-weight:600; }

body.single-product div.product form.cart::before{
  content:"RESEARCH USE ONLY - NOT FOR HUMAN OR ANIMAL CONSUMPTION" !important;
  display:block !important; float:none !important; clear:none !important;
  width:auto !important; height:auto !important; margin:0 0 22px !important;
  background:#FFFAF0 !important; border:1px solid #F0DFBC !important; border-radius:14px !important;
  padding:14px 16px !important; text-align:center !important;
  font-family:var(--rp-mono) !important; font-size:9.5px !important; font-weight:600 !important;
  letter-spacing:.14em !important; color:#8A6317 !important;
}
body.single-product div.product form.cart::after{
  content:"BATCH DOCUMENTED / PLAIN UNMARKED PACKAGING / SAME DAY DISPATCH / TRACKED" !important;
  display:block !important; float:none !important; clear:both !important;
  width:auto !important; height:auto !important;
  margin:24px 0 0 !important; padding:20px 0 0 !important;
  border-top:1px solid var(--rp-line) !important;
  font-family:var(--rp-mono) !important; font-size:9px !important; font-weight:500 !important;
  letter-spacing:.16em !important; color:var(--rp-micro) !important;
}
body.single-product form.cart{ margin-top:24px !important; }
body.single-product form.cart .quantity input.qty{
  height:54px; width:78px; border:1px solid var(--rp-line); border-radius:14px;
  font-family:var(--rp-display); font-size:15px; font-weight:600; text-align:center; color:var(--rp-ink);
}
body.single-product form.cart button.single_add_to_cart_button{
  height:54px; padding:0 38px !important; margin-left:12px !important;
  border:0 !important; border-radius:14px !important;
  font-family:var(--rp-mono) !important; font-size:11.5px !important; font-weight:600 !important;
  letter-spacing:.18em; text-transform:uppercase; color:#fff !important;
  background:linear-gradient(135deg,var(--rp-teal-br) 0%,var(--rp-teal-dk) 100%) !important;
  box-shadow:0 14px 30px -12px rgba(4,107,128,.75), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .35s var(--rp-ease), box-shadow .35s var(--rp-ease);
}
body.single-product form.cart button.single_add_to_cart_button:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 44px -14px rgba(4,107,128,.9), inset 0 1px 0 rgba(255,255,255,.28);
}

body.single-product .woocommerce-tabs{ margin-top:72px !important; }
body.single-product .woocommerce-tabs ul.tabs{
  padding:0 !important; margin:0 0 26px !important;
  border-bottom:1px solid var(--rp-line); display:flex; gap:6px;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after{ display:none !important; }
body.single-product .woocommerce-tabs ul.tabs li{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  margin:0 !important; padding:0 !important; box-shadow:none !important;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
body.single-product .woocommerce-tabs ul.tabs li a{
  display:block; padding:15px 20px !important;
  font-family:var(--rp-mono) !important; font-size:11px !important; font-weight:600 !important;
  letter-spacing:.18em; text-transform:uppercase; color:var(--rp-micro) !important;
  border-bottom:2px solid transparent; transition:color .25s var(--rp-ease), border-color .25s var(--rp-ease);
}
body.single-product .woocommerce-tabs ul.tabs li.active a{ color:var(--rp-ink) !important; border-bottom-color:var(--rp-teal); }
body.single-product .woocommerce-tabs .panel h2{ display:none; }
body.single-product .woocommerce-tabs .panel{
  font-family:var(--rp-sans); font-size:15.5px; line-height:1.78; color:var(--rp-body); max-width:820px;
}
body.single-product .woocommerce-tabs .panel h3{
  font-family:var(--rp-display); font-size:19px; font-weight:700; letter-spacing:-.025em;
  color:var(--rp-ink); margin:34px 0 14px;
}
body.single-product .woocommerce-tabs .panel p{ margin:0 0 15px; }
body.single-product .woocommerce-tabs .panel strong{ color:var(--rp-ink); font-weight:600; }
body.single-product li.reviews_tab{ display:none !important; }
body.single-product .related > h2, body.single-product .up-sells > h2{
  font-family:var(--rp-display); font-size:28px; font-weight:700;
  letter-spacing:-.03em; color:var(--rp-ink); margin:0 0 26px;
}
body.single-product .related ul.products, body.single-product .up-sells ul.products{
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}


/* ============================================================
   TABLET
   ============================================================ */
@media (max-width:1024px) and (min-width:768px){
  .rp-h2,.catalog-title{ font-size:36px !important; }
  .rp-vgrid,.rp-steps{ grid-template-columns:repeat(3,1fr); gap:16px; }
  .rp-vcard,.rp-step{ padding:26px 22px; }
  .catalog-grid ul.products{ gap:18px !important; }
}

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width:767px){
  .rp-wrap{ padding:0 18px; }
  .rp-h2,.catalog-title{ font-size:30px !important; letter-spacing:-.03em !important; }
  .rp-lede,.catalog-sub{ font-size:14.5px !important; }
  .rp-eyebrow,.catalog-intro::before{ font-size:9.5px !important; letter-spacing:.22em !important; margin-bottom:12px !important; }
  .rp-pill{ font-size:9.5px; letter-spacing:.16em; padding:7px 13px 7px 11px; }

  /* ticker */
  .rp-ticker{ animation-duration:26s; }
  .rp-ticker__group span{ font-size:9px; letter-spacing:.15em; padding:0 16px; gap:7px; }
  .rp-trustbar::before,.rp-trustbar::after{ width:40px; }

  /* ruo */
  .rp-ruo__inner{ gap:14px; padding-top:17px; padding-bottom:17px; }
  .rp-ruo__badge{ width:36px; height:36px; border-radius:11px; font-size:9.5px; }
  .rp-ruo__title{ font-size:13px; }
  .rp-ruo__text{ font-size:12px; }

  /* guarantee + features */
  .rp-sec-guarhead{ padding:56px 0 4px !important; }
  .features-section{
    flex-direction:row !important; gap:9px !important;
    padding:26px 12px 56px !important;
  }
  .feature-box{ flex:1 1 0 !important; min-width:0 !important; padding:20px 9px 18px !important; border-radius:15px; }
  .feature-box .e-svg-base{ width:44px !important; height:44px !important; border-radius:13px !important; margin-bottom:12px !important; }
  .feature-box .e-svg-base svg{ width:22px !important; height:22px !important; }
  .feature-heading{ font-size:12.5px !important; line-height:1.25 !important; margin:0 0 6px !important; min-height:2.5em; display:flex !important; align-items:center; justify-content:center; }
  .feature-desc{ font-size:10.5px !important; line-height:1.5 !important; }
  .hide-sm, .feature-desc span{ display:none !important; }

  /* catalog */
  .catalog-intro{ padding:56px 18px 4px !important; }
  .catalog-grid{ padding:26px 14px 60px !important; }
  .catalog-grid ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; }
  .catalog-grid ul.products li.product{ padding:0 0 16px !important; border-radius:16px; }
  .catalog-grid ul.products li.product > a.woocommerce-LoopProduct-link::after{ border-radius:16px; }
  .catalog-grid ul.products li.product img{ padding:18px 12px 0; margin-bottom:11px !important; }
  .catalog-grid ul.products li.product::after{ font-size:7px; padding:4px 8px; top:10px; right:9px; letter-spacing:.13em; }
  .catalog-grid ul.products li.product .woocommerce-loop-product__title{ font-size:13px !important; padding:0 10px !important; }
  .catalog-grid ul.products li.product .woocommerce-loop-product__title::before{ font-size:7px; padding:4px 8px; margin-bottom:8px; letter-spacing:.13em; }
  .catalog-grid ul.products li.product .woocommerce-loop-product__title::after{ font-size:7px; letter-spacing:.12em; margin-top:8px; }
  .catalog-grid ul.products li.product .price{ font-size:19px !important; margin:11px 0 11px !important; padding:0 10px !important; }
  .catalog-grid ul.products li.product .price .woocommerce-Price-currencySymbol{ font-size:10px; }
  .catalog-grid ul.products li.product .price::after{ font-size:7px; margin-left:5px; letter-spacing:.13em; }
  .catalog-grid ul.products li.product a.button{
    width:calc(100% - 20px); margin:0 10px !important;
    font-size:9px !important; padding:12px 5px !important; border-radius:10px !important; letter-spacing:.14em;
  }

  /* dark sections */
  .rp-sec-verify .rp-dark-shell{ padding:60px 0; }
  .rp-sec-cta .rp-dark-shell{ padding:66px 0; }
  .rp-sec-steps,.rp-sec-faq{ padding:60px 0 !important; }
  .rp-vgrid,.rp-steps{ grid-template-columns:1fr; gap:12px; margin-top:32px; }
  .rp-vcard,.rp-step{ padding:24px 22px; border-radius:16px; }
  .rp-vcard h3,.rp-step h3{ font-size:16.5px; }
  .rp-vcard p,.rp-step p{ font-size:13.5px; }
  .rp-step__num{ width:40px; height:40px; font-size:12px; margin-bottom:14px; border-radius:12px; }

  /* faq */
  .rp-faq{ margin-top:30px; }
  .rp-faq summary{ font-size:14.5px; padding:17px 18px; gap:12px; }
  .rp-faq p{ font-size:13.5px; padding:0 18px 18px; }

  /* cta */
  .rp-cta__btns{ flex-direction:column; gap:11px; }
  .rp-cta__btns .rp-btn{ width:100%; }
  .rp-cta__stats{ gap:8px 0; margin-top:32px; }
  .rp-cta__stats span{ font-size:8.5px; padding:0 12px; letter-spacing:.14em; }

  /* single product */
  body.single-product .site-main{ padding:0 18px 60px; }
  body.single-product div.product{ grid-template-columns:1fr; gap:28px; }
  body.single-product .summary .product_title{ font-size:29px !important; }
  body.single-product .summary .product_title::before{ font-size:8.5px; letter-spacing:.14em; padding:6px 12px; }
  body.single-product .summary p.price,
  body.single-product .summary span.price{ font-size:27px !important; }
  body.single-product .woocommerce-product-gallery::after{ font-size:7.5px; letter-spacing:.12em; padding:11px 8px; }
  body.single-product div.product form.cart::before{ font-size:8px !important; letter-spacing:.1em !important; padding:12px 13px !important; }
  body.single-product div.product form.cart::after{ font-size:7.5px !important; letter-spacing:.12em !important; }
  body.single-product form.cart .quantity input.qty{ height:50px; width:66px; }
  body.single-product form.cart button.single_add_to_cart_button{ height:50px; padding:0 22px !important; font-size:10px !important; letter-spacing:.14em; }
  body.single-product .woocommerce-tabs{ margin-top:48px !important; }
  body.single-product .woocommerce-tabs ul.tabs{ overflow-x:auto; }
  body.single-product .woocommerce-tabs ul.tabs li a{ font-size:9.5px !important; padding:13px 14px !important; white-space:nowrap; }
  body.single-product .woocommerce-tabs .panel{ font-size:14.5px; }
  body.single-product .woocommerce-tabs .panel h3{ font-size:16.5px; margin:26px 0 11px; }
  body.single-product .related ul.products, body.single-product .up-sells ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; }
}

/* very small */
@media (max-width:380px){
  .catalog-grid ul.products li.product a.button{ font-size:8px !important; letter-spacing:.1em; }
  .feature-heading{ font-size:11.5px !important; }
}


/* hide theme page titles on Elementor-built pages */
.page .entry-header,
.page .page-header,
.page-header .entry-title,
body.page .entry-title{ display:none !important; }
body.single-product .entry-header{ display:none !important; }


/* hero images: desktop banner not supplied yet */
.hero-desktop-only{ display:none !important; }
.hero-mobile-only{ display:block !important; width:100%; height:auto; }
@media (min-width:768px){ .hero-image-section{ display:none !important; } }


/* dropdown menu list must flow in-document so the panel gets height */
.site-navigation-dropdown ul,
.site-navigation-dropdown ul.menu{
  position:static !important;
  width:100% !important;
  left:auto !important; top:auto !important;
}


/* theme page title block */
.page-header{ display:none !important; }


/* product page: status badge must sit above the title, not inline with it */
body.single-product .summary .product_title::before{
  display:table !important;
  margin:0 0 16px !important;
}
body.single-product .summary .product_title{
  display:block !important;
  font-size:40px !important;
}
@media (max-width:767px){
  body.single-product .summary .product_title{ font-size:28px !important; }
}


/* ============================================================
   GLOBAL LINK COLOUR — kills theme default #cc3366 everywhere
   ============================================================ */
a{ color:var(--rp-teal-dk); }
a:hover{ color:var(--rp-teal); }
.site-main a:not(.rp-btn):not(.button):not(.wp-block-button__link):not(.woocommerce-LoopProduct-link){
  text-decoration:none;
}
.site-main p a, .woocommerce-tabs .panel a{
  text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:rgba(4,107,128,.35);
}

/* ============================================================
   MOBILE MENU — anchor dropdown directly under the header
   ============================================================ */
.site-header{ position:relative !important; }
.site-navigation-dropdown{
  position:absolute !important;
  top:100% !important; bottom:auto !important;
  left:0 !important; right:0 !important; width:100% !important;
  z-index:999 !important;
}

/* ============================================================
   WOO GLOBAL: buttons, notices, forms
   ============================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-block-button__link,
.wc-block-components-button{
  font-family:var(--rp-mono) !important;
  font-size:11px !important; font-weight:600 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--rp-teal-br) 0%,var(--rp-teal-dk) 100%) !important;
  border:0 !important; border-radius:12px !important;
  padding:14px 26px !important; text-decoration:none !important;
  box-shadow:0 12px 26px -12px rgba(4,107,128,.7), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .3s var(--rp-ease), box-shadow .3s var(--rp-ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wp-block-button__link:hover,
.wc-block-components-button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px -14px rgba(4,107,128,.85), inset 0 1px 0 rgba(255,255,255,.28);
}
.woocommerce .button.alt, .wc-block-components-button--primary{ background:linear-gradient(135deg,var(--rp-teal-br),var(--rp-teal-dk)) !important; }

.woocommerce-message,.woocommerce-info,.woocommerce-error,
.wc-block-components-notice-banner{
  font-family:var(--rp-sans) !important; font-size:14.5px !important;
  border:1px solid var(--rp-line) !important; border-top:0 !important;
  border-left:3px solid var(--rp-teal) !important;
  background:var(--rp-teal-lt) !important; color:var(--rp-ink) !important;
  border-radius:14px !important; padding:16px 20px !important;
  box-shadow:0 10px 26px -18px rgba(4,107,128,.5);
}
.woocommerce-error{ border-left-color:#C2410C !important; background:#FFF6F1 !important; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input{
  font-family:var(--rp-sans) !important; font-size:15px !important;
  border:1px solid var(--rp-line) !important; border-radius:12px !important;
  padding:13px 15px !important; color:var(--rp-ink) !important;
  transition:border-color .25s var(--rp-ease), box-shadow .25s var(--rp-ease);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus{
  outline:none !important; border-color:var(--rp-teal) !important;
  box-shadow:0 0 0 4px rgba(0,151,178,.12) !important;
}
.woocommerce form .form-row label{
  font-family:var(--rp-mono) !important; font-size:10px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:var(--rp-micro) !important; margin-bottom:7px !important;
}

/* ============================================================
   SHOP / ARCHIVE — reuse catalog card design
   ============================================================ */
.woocommerce.archive .site-main,
.post-type-archive-product .site-main,
.tax-product_cat .site-main{ max-width:1180px; margin:0 auto; padding:44px 26px 90px; }
.woocommerce .woocommerce-products-header__title,
.woocommerce-products-header__title{
  font-family:var(--rp-display) !important; font-size:42px !important; font-weight:700 !important;
  letter-spacing:-.035em !important; color:var(--rp-ink) !important; margin:0 0 10px !important;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select{
  font-family:var(--rp-mono) !important; font-size:10.5px !important;
  letter-spacing:.14em; text-transform:uppercase; color:var(--rp-micro) !important;
}
.woocommerce ul.products{
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px !important; margin:26px 0 0 !important; padding:0 !important; list-style:none !important;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{ display:none !important; }
.woocommerce ul.products li.product{
  position:relative; display:flex !important; flex-direction:column !important;
  align-items:center !important; text-align:center;
  width:auto !important; float:none !important; margin:0 !important; padding:0 0 22px !important;
  background:#fff; border:1px solid var(--rp-line); border-radius:20px; overflow:hidden;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 18px 40px -22px rgba(4,107,128,.28);
  transition:transform .45s var(--rp-ease), box-shadow .45s var(--rp-ease), border-color .45s var(--rp-ease);
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-8px); border-color:#C7E6EE;
  box-shadow:0 1px 2px rgba(7,22,28,.05), 0 34px 62px -26px rgba(4,107,128,.45);
}
.woocommerce ul.products li.product img{
  aspect-ratio:1/1; object-fit:contain; width:100% !important;
  margin:0 0 16px !important; padding:30px 24px 0;
  background:linear-gradient(180deg,#FAFDFE 0%,#EEF7FA 100%);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--rp-display) !important; font-size:17px !important; font-weight:700 !important;
  letter-spacing:-.025em !important; color:var(--rp-ink) !important;
  margin:0 0 10px !important; padding:0 20px !important;
}
.woocommerce ul.products li.product .price{
  font-family:var(--rp-display) !important; font-size:24px !important; font-weight:700 !important;
  letter-spacing:-.035em !important; color:var(--rp-ink) !important;
  margin:0 0 16px !important; padding:0 20px !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol{
  font-size:13px; font-weight:600; color:var(--rp-micro) !important; vertical-align:super;
}
.woocommerce ul.products li.product a.button{ width:calc(100% - 40px); margin:0 20px !important; }
.woocommerce span.onsale{
  background:linear-gradient(135deg,var(--rp-teal-br),var(--rp-teal-dk)) !important;
  font-family:var(--rp-mono) !important; font-size:9.5px !important; letter-spacing:.14em;
  border-radius:999px !important; padding:7px 13px !important; min-height:0 !important; min-width:0 !important;
  line-height:1 !important; top:14px !important; left:14px !important;
}


/* ============================================================
   CART / CHECKOUT / ACCOUNT shells
   ============================================================ */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main,
body.page-id-8 .site-main, body.page-id-9 .site-main, body.page-id-10 .site-main{
  max-width:1180px; margin:0 auto; padding:54px 26px 90px;
}
.wp-block-woocommerce-cart, .wc-block-cart, .wc-block-checkout{
  font-family:var(--rp-sans) !important;
}
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2,
.wc-block-grid__product-title{
  font-family:var(--rp-display) !important; letter-spacing:-.03em !important; color:var(--rp-ink) !important;
}
.wc-block-cart__empty-cart__title{ font-size:30px !important; font-weight:700 !important; }
.wc-block-cart-items__header,
.wc-block-components-order-summary__title{
  font-family:var(--rp-mono) !important; font-size:10px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--rp-micro) !important;
}
.wc-block-components-product-name{
  font-family:var(--rp-display) !important; font-weight:700 !important;
  color:var(--rp-ink) !important; text-decoration:none !important; letter-spacing:-.02em;
}
.wc-block-components-totals-item__label{ font-family:var(--rp-sans) !important; color:var(--rp-body) !important; }
.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount{ font-family:var(--rp-display) !important; font-weight:700 !important; color:var(--rp-ink) !important; }
.wc-block-cart__submit-container, .wc-block-checkout__actions{ border:0 !important; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar{
  background:linear-gradient(180deg,#FAFDFE,#F1F9FB) !important;
  border:1px solid var(--rp-line) !important; border-radius:20px !important; padding:26px !important;
}

/* cross-sell / related grids inside cart */
.wc-block-grid__products, .cross-sells ul.products{
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px !important;
  list-style:none !important; padding:0 !important; margin:26px 0 0 !important;
}
.wc-block-grid__product{
  background:#fff; border:1px solid var(--rp-line); border-radius:18px;
  padding:0 0 20px !important; overflow:hidden; text-align:center;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 16px 34px -22px rgba(4,107,128,.26);
  transition:transform .4s var(--rp-ease), box-shadow .4s var(--rp-ease), border-color .4s var(--rp-ease);
}
.wc-block-grid__product:hover{ transform:translateY(-6px); border-color:#C7E6EE; }
.wc-block-grid__product-image img{
  aspect-ratio:1/1; object-fit:contain; width:100%;
  padding:24px 20px 0; background:linear-gradient(180deg,#FAFDFE,#EEF7FA);
}
.wc-block-grid__product-title{ font-size:15px !important; padding:14px 16px 0; display:block; }
.wc-block-grid__product-price{
  font-family:var(--rp-display) !important; font-weight:700 !important;
  font-size:20px !important; color:var(--rp-ink) !important; display:block; padding:8px 16px 14px;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link{ width:calc(100% - 32px); margin:0 16px !important; }

/* account page */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns:250px 1fr; gap:44px; align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff; border:1px solid var(--rp-line); border-radius:20px; padding:14px;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 16px 34px -24px rgba(4,107,128,.26);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--rp-line-2); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:13px 15px; border-radius:11px; text-decoration:none !important;
  font-family:var(--rp-sans) !important; font-size:14.5px !important; font-weight:600 !important;
  color:var(--rp-ink) !important; transition:background .25s var(--rp-ease), color .25s var(--rp-ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--rp-teal-lt); color:var(--rp-teal-dk) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--rp-teal-lt); color:var(--rp-teal-dk) !important; }
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff; border:1px solid var(--rp-line); border-radius:20px; padding:34px;
  font-family:var(--rp-sans); font-size:15.5px; line-height:1.75; color:var(--rp-body);
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 16px 34px -24px rgba(4,107,128,.26);
}
.woocommerce-account .woocommerce-MyAccount-content strong{ color:var(--rp-ink); font-weight:600; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account legend{
  font-family:var(--rp-display) !important; font-size:22px !important; font-weight:700 !important;
  letter-spacing:-.025em !important; color:var(--rp-ink) !important; margin:0 0 16px !important;
}
/* hide gravatar block on account */
.woocommerce-account .woocommerce-MyAccount-navigation::before{ content:none; }
.woocommerce-account img.avatar, .woocommerce-account .avatar{ display:none !important; }

/* ============================================================
   PRODUCT DESCRIPTION — structured spec layout
   ============================================================ */
.rp-prod-intro{
  font-family:var(--rp-sans); font-size:16px; line-height:1.78; color:var(--rp-body);
  margin:0 0 8px; max-width:820px;
}
.rp-prod-intro strong{ color:var(--rp-ink); font-weight:600; }
.rp-sub{
  font-family:var(--rp-mono); font-size:10.5px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--rp-teal-dk);
  margin:44px 0 18px; display:block;
}
.rp-feat{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0 0 8px; }
.rp-feat__card{
  background:linear-gradient(180deg,#FAFDFE,#F3FAFC);
  border:1px solid var(--rp-line); border-radius:18px; padding:24px 22px;
}
.rp-feat__card h4{
  font-family:var(--rp-mono); font-size:10px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--rp-teal-dk); margin:0 0 10px;
}
.rp-feat__card p{ font-family:var(--rp-sans); font-size:14.5px; line-height:1.65; color:var(--rp-body); margin:0; }

.rp-spec{ border:1px solid var(--rp-line); border-radius:18px; overflow:hidden; max-width:720px; }
.rp-spec__row{
  display:grid; grid-template-columns:200px 1fr; gap:0;
  border-bottom:1px solid var(--rp-line-2);
}
.rp-spec__row:last-child{ border-bottom:0; }
.rp-spec__row:nth-child(odd){ background:#FBFDFE; }
.rp-spec__k{
  font-family:var(--rp-mono); font-size:10px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--rp-micro);
  padding:15px 20px; border-right:1px solid var(--rp-line-2);
}
.rp-spec__v{
  font-family:var(--rp-sans); font-size:14.5px; font-weight:500; color:var(--rp-ink);
  padding:15px 20px;
}
.rp-note{
  display:flex; gap:14px; align-items:flex-start;
  background:#FBFDFE; border:1px solid var(--rp-line); border-left:3px solid var(--rp-teal);
  border-radius:14px; padding:20px 22px; max-width:820px; margin-top:4px;
}
.rp-note p{ font-family:var(--rp-sans); font-size:14.5px; line-height:1.7; color:var(--rp-body); margin:0; }

@media (max-width:900px){
  .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .wc-block-grid__products, .cross-sells ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; gap:20px; }
}
@media (max-width:767px){
  body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main,
  body.woocommerce-account .site-main{ padding:34px 18px 60px; }
  .woocommerce.archive .site-main, .post-type-archive-product .site-main{ padding:30px 18px 60px; }
  .woocommerce .woocommerce-products-header__title{ font-size:28px !important; }
  .woocommerce ul.products{ gap:12px !important; }
  .woocommerce ul.products li.product img{ padding:18px 12px 0; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:13px !important; padding:0 10px !important; }
  .woocommerce ul.products li.product .price{ font-size:18px !important; padding:0 10px !important; }
  .woocommerce ul.products li.product a.button{ width:calc(100% - 20px); margin:0 10px !important; font-size:9px !important; padding:12px 6px !important; }
  .rp-feat{ grid-template-columns:1fr; gap:12px; }
  .rp-spec__row{ grid-template-columns:1fr; }
  .rp-spec__k{ border-right:0; padding:13px 18px 4px; }
  .rp-spec__v{ padding:0 18px 14px; }
  .rp-sub{ margin:32px 0 14px; }
  .woocommerce-account .woocommerce-MyAccount-content{ padding:22px; }
}


/* account: neutralise WooCommerce floats so the grid places correctly */
.woocommerce-account .woocommerce-MyAccount-navigation{
  grid-column:1 !important; grid-row:1 !important;
  float:none !important; width:auto !important; max-width:none !important;
}
.woocommerce-account .woocommerce-MyAccount-content{
  grid-column:2 !important; grid-row:1 !important;
  float:none !important; width:auto !important; max-width:none !important;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{ display:none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li::marker{ content:none; }
@media (max-width:900px){
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    grid-column:1 !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation{ grid-row:1 !important; }
  .woocommerce-account .woocommerce-MyAccount-content{ grid-row:2 !important; }
}

/* cart/checkout: neutralise Woo floats too */
.woocommerce-cart .woocommerce::before,.woocommerce-cart .woocommerce::after,
.woocommerce-checkout .woocommerce::before,.woocommerce-checkout .woocommerce::after{ display:none !important; }
.woocommerce .cart-collaterals{ width:100% !important; float:none !important; }
.woocommerce .cart-collaterals .cart_totals{ width:100% !important; float:none !important; max-width:440px; margin-left:auto; }
.woocommerce table.shop_table{
  border:1px solid var(--rp-line) !important; border-radius:18px !important;
  border-collapse:separate !important; border-spacing:0 !important; overflow:hidden;
  font-family:var(--rp-sans) !important;
}
.woocommerce table.shop_table th{
  font-family:var(--rp-mono) !important; font-size:10px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:var(--rp-micro) !important; background:#FBFDFE !important;
  border-bottom:1px solid var(--rp-line) !important; padding:15px 18px !important;
}
.woocommerce table.shop_table td{
  border-top:1px solid var(--rp-line-2) !important; padding:16px 18px !important;
  color:var(--rp-ink) !important;
}
.woocommerce table.shop_table a{ color:var(--rp-ink) !important; font-weight:600; text-decoration:none !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-billing-fields h3{
  font-family:var(--rp-display) !important; font-size:22px !important; font-weight:700 !important;
  letter-spacing:-.025em !important; color:var(--rp-ink) !important;
}


/* ============================================================
   WOO BLOCK GRID — neutralise flex widths so grid works
   ============================================================ */
.wc-block-grid__products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  list-style:none !important; margin:30px 0 0 !important; padding:0 !important;
}
.wc-block-grid__product,
li.wc-block-grid__product{
  width:auto !important; max-width:none !important; min-width:0 !important;
  flex:none !important; margin:0 !important; padding:0 0 20px !important;
  box-sizing:border-box;
}
.wc-block-grid__product-onsale{ display:none !important; }
.wc-block-grid__product-link{ text-decoration:none !important; display:block; }
.wc-block-grid__product-title{
  font-family:var(--rp-display) !important; font-size:15px !important; font-weight:700 !important;
  letter-spacing:-.02em !important; color:var(--rp-ink) !important;
  padding:14px 14px 0 !important; margin:0 !important; display:block; text-decoration:none !important;
}
.wc-block-grid__product-price{ font-size:19px !important; padding:8px 14px 14px !important; }
.wc-block-grid__product-add-to-cart{ padding:0 14px !important; }
.wc-block-grid__product-add-to-cart .wp-block-button__link{
  width:100% !important; margin:0 !important;
  font-size:9.5px !important; padding:12px 6px !important;
  white-space:nowrap; display:block; text-align:center;
}

/* empty cart block */
.wp-block-woocommerce-empty-cart-block{ text-align:center; }
.wc-block-cart__empty-cart__title{ margin:22px 0 6px !important; }
.wp-block-woocommerce-empty-cart-block > .wp-block-image,
.wc-block-cart__empty-cart__image{ margin:0 auto 6px !important; }
.wp-block-woocommerce-empty-cart-block img{ max-width:110px; height:auto; opacity:.9; }
.wp-block-woocommerce-empty-cart-block h2{
  font-family:var(--rp-display) !important; font-size:26px !important; font-weight:700 !important;
  letter-spacing:-.03em !important; color:var(--rp-ink) !important; margin:34px 0 4px !important;
}
.wp-block-woocommerce-empty-cart-block hr, .wc-block-cart__empty-cart__separator{ display:none !important; }

@media (max-width:900px){
  .wc-block-grid__products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
}
@media (max-width:767px){
  .wc-block-cart__empty-cart__title{ font-size:23px !important; }
  .wp-block-woocommerce-empty-cart-block h2{ font-size:20px !important; }
  .wc-block-grid__product-title{ font-size:13px !important; padding:12px 10px 0 !important; }
  .wc-block-grid__product-price{ font-size:16px !important; padding:6px 10px 12px !important; }
  .wc-block-grid__product-add-to-cart{ padding:0 10px !important; }
  .wc-block-grid__product-add-to-cart .wp-block-button__link{ font-size:8.5px !important; padding:11px 4px !important; }
}


/* mobile menu: current item + tap states on brand */
.site-navigation-dropdown li a,
.site-navigation-dropdown li.current-menu-item a,
.site-navigation-dropdown li.current_page_item a{
  background:transparent !important;
  color:var(--rp-ink) !important;
}
.site-navigation-dropdown li.current-menu-item a,
.site-navigation-dropdown li.current_page_item a{
  color:var(--rp-teal-dk) !important;
  box-shadow:inset 3px 0 0 var(--rp-teal);
  background:var(--rp-teal-lt) !important;
}
.site-navigation-dropdown li a:hover,
.site-navigation-dropdown li a:focus,
.site-navigation-dropdown li a:active{
  background:var(--rp-teal-lt) !important;
  color:var(--rp-teal-dk) !important;
}

/* footer */
.site-footer{
  border-top:1px solid var(--rp-line);
  background:#fff; padding:34px 0;
}
.site-footer, .site-footer p, .site-footer a{
  font-family:var(--rp-sans) !important; font-size:13.5px !important; color:var(--rp-body) !important;
}
.site-footer a{ text-decoration:none !important; }
.site-footer a:hover{ color:var(--rp-teal-dk) !important; }

/* support / generic pages */
/* readable width ONLY on non-Elementor pages */
body:not(.elementor-page) .page-content,
body:not(.elementor-page) .site-main > .entry-content{
  max-width:820px; margin:0 auto; padding:54px 26px 90px;
  font-family:var(--rp-sans); font-size:16px; line-height:1.78; color:var(--rp-body);
}
/* Elementor-built pages must stay full bleed */
body.elementor-page .page-content,
body.elementor-page .site-main,
body.elementor-page .site-main > .entry-content{
  max-width:none !important; padding:0 !important; margin:0 !important;
}
.entry-content h1,.entry-content h2,.entry-content h3{
  font-family:var(--rp-display) !important; letter-spacing:-.03em !important; color:var(--rp-ink) !important;
}
.entry-content h2{ font-size:30px !important; font-weight:700 !important; margin:38px 0 14px !important; }
.entry-content h3{ font-size:21px !important; font-weight:700 !important; margin:30px 0 12px !important; }
.entry-content strong{ color:var(--rp-ink); font-weight:600; }

/* kill leftover default list bullets in woo nav */
.woocommerce-MyAccount-navigation ul{ list-style:none !important; }


/* ============================================================
   REVIEWS SLIDER
   ============================================================ */
.rp-sec-reviews{ display:block !important; width:100% !important; padding:0 !important; }
.rp-sec-reviews > *{ width:100% !important; }
.rp-reviews{
  background:linear-gradient(180deg,#FFFFFF 0%,#F5FBFC 100%);
  padding:100px 0 104px; overflow:hidden;
}
.rp-reviews__head{ text-align:center; padding:0 26px; }
.rp-reviews__score{
  display:inline-flex; align-items:center; gap:12px;
  margin:18px 0 0; padding:11px 20px; border-radius:999px;
  background:#fff; border:1px solid var(--rp-line);
  box-shadow:0 10px 26px -18px rgba(4,107,128,.45);
}
.rp-reviews__score .rp-stars{ font-size:15px; letter-spacing:2px; }
.rp-reviews__score b{
  font-family:var(--rp-display); font-size:16px; font-weight:700;
  color:var(--rp-ink); letter-spacing:-.02em;
}
.rp-reviews__score span{
  font-family:var(--rp-mono); font-size:9.5px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--rp-micro);
}

/* track */
.rp-reviews__wrap{ position:relative; margin-top:44px; }
.rp-reviews__wrap::before,.rp-reviews__wrap::after{
  content:""; position:absolute; top:0; bottom:18px; width:70px; z-index:3; pointer-events:none;
}
.rp-reviews__wrap::before{ left:0; background:linear-gradient(90deg,#F9FCFD,transparent); }
.rp-reviews__wrap::after{ right:0; background:linear-gradient(270deg,#F9FCFD,transparent); }
.rp-reviews__track{
  display:flex; gap:20px; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding:6px 26px 22px; scrollbar-width:none;
}
.rp-reviews__track::-webkit-scrollbar{ display:none; }
.rp-reviews__track > *{ scroll-snap-align:center; }

/* card */
.rp-rev{
  flex:0 0 360px; max-width:360px;
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--rp-line); border-radius:20px;
  padding:26px 26px 22px;
  box-shadow:0 1px 2px rgba(7,22,28,.04), 0 16px 36px -24px rgba(4,107,128,.30);
  transition:transform .4s var(--rp-ease), box-shadow .4s var(--rp-ease), border-color .4s var(--rp-ease);
}
.rp-rev:hover{
  transform:translateY(-6px); border-color:#C7E6EE;
  box-shadow:0 1px 2px rgba(7,22,28,.05), 0 30px 56px -28px rgba(4,107,128,.42);
}
.rp-rev__top{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
.rp-stars{ color:#E0A32E; font-size:14px; letter-spacing:2.5px; line-height:1; }
.rp-stars i{ color:#DDE5E8; font-style:normal; }
.rp-rev__date{
  font-family:var(--rp-mono); font-size:9px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--rp-micro); white-space:nowrap;
}
.rp-rev__title{
  font-family:var(--rp-display); font-size:17px; font-weight:700;
  letter-spacing:-.025em; line-height:1.3; color:var(--rp-ink); margin:0 0 10px;
}
.rp-rev__body{
  font-family:var(--rp-sans); font-size:14.5px; line-height:1.7;
  color:var(--rp-body); margin:0 0 20px; flex:1;
}
.rp-rev__foot{ border-top:1px solid var(--rp-line-2); padding-top:16px; }
.rp-rev__who{ display:flex; align-items:center; gap:11px; }
.rp-rev__av{
  flex:none; width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(140deg,var(--rp-teal-br),var(--rp-teal-dk)); color:#fff;
  font-family:var(--rp-display); font-size:13px; font-weight:700; letter-spacing:-.02em;
  box-shadow:0 8px 16px -8px rgba(4,107,128,.6);
}
.rp-rev__name{
  font-family:var(--rp-sans); font-size:14px; font-weight:600;
  color:var(--rp-ink); line-height:1.3;
}
.rp-rev__verif{
  display:flex; align-items:center; gap:5px; margin-top:3px;
  font-family:var(--rp-mono); font-size:8.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; color:#1F9D5B;
}
.rp-rev__verif::before{
  content:""; width:5px; height:5px; border-radius:50%; background:#1F9D5B;
}
.rp-rev__order{
  margin-top:13px; padding:9px 12px; border-radius:10px;
  background:var(--rp-teal-lt); border:1px solid #D8EEF3;
  font-family:var(--rp-mono); font-size:9px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; color:var(--rp-teal-dk);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.rp-rev__order em{ font-style:normal; color:var(--rp-micro); }

.rp-reviews__hint{
  text-align:center; margin-top:6px;
  font-family:var(--rp-mono); font-size:9px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--rp-micro);
}

@media (max-width:767px){
  .rp-reviews{ padding:58px 0 62px; }
  .rp-reviews__head{ padding:0 18px; }
  .rp-reviews__score{ padding:9px 15px; gap:9px; margin-top:14px; }
  .rp-reviews__score b{ font-size:14px; }
  .rp-reviews__score span{ font-size:8px; }
  .rp-reviews__score .rp-stars{ font-size:13px; }
  .rp-reviews__wrap{ margin-top:28px; }
  .rp-reviews__wrap::before,.rp-reviews__wrap::after{ width:22px; }
  .rp-reviews__track{ gap:13px; padding:5px 18px 18px; }
  .rp-rev{ flex:0 0 290px; max-width:290px; padding:21px 20px 18px; border-radius:17px; }
  .rp-rev__title{ font-size:15px; }
  .rp-rev__body{ font-size:13.5px; margin-bottom:16px; }
  .rp-rev__date{ font-size:8px; }
  .rp-stars{ font-size:13px; }
}
