/* Rupkosh Lip Studio
   Brand stylesheet generated from the active Novamira design system. */

:root{
  --rk-bg:#FAF2EF;
  --rk-surface:#FFFFFF;
  --rk-ink:#1C1417;
  --rk-accent:#D6274B;
  --rk-berry:#4A1F2E;
  --rk-blush:#F7D9DE;
  --rk-sky:#CFE1EE;
  --rk-muted:#7A6A6E;
  --rk-line:#E7DAD6;
  --rk-r:18px;
  --rk-r-sm:6px;
  --rk-display:"Bricolage Grotesque","Hind Siliguri",sans-serif;
  --rk-body:"Figtree","Hind Siliguri",sans-serif;
}

/* ---------- base ---------- */
body{
  background:var(--rk-bg);
  color:var(--rk-ink);
  font-family:var(--rk-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body h1,body h2,body h3,body h4,
.elementor-heading-title{
  font-family:var(--rk-display);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.06;
  color:var(--rk-ink);
}
body a{color:var(--rk-ink);text-decoration:none;}
body a:hover{color:var(--rk-accent);}
#main-container > main{padding:0;margin:0;max-width:none;}
.rk-sec > .e-con-inner,.rk-wrap > .e-con-inner{width:100%;}

/* ---------- buttons ---------- */
.rk-btn .elementor-button,
.rk-chip .elementor-button{
  font-family:var(--rk-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-radius:999px;
  padding:14px 28px;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.rk-btn-primary .elementor-button{background:var(--rk-accent);color:#fff;border:1px solid var(--rk-accent);}
.rk-btn-primary .elementor-button:hover{background:var(--rk-berry);border-color:var(--rk-berry);color:#fff;}
.rk-btn-ghost .elementor-button{background:transparent;color:var(--rk-ink);border:1px solid var(--rk-ink);}
.rk-btn-ghost .elementor-button:hover{background:var(--rk-ink);color:var(--rk-bg);}
.rk-btn-onberry .elementor-button{background:var(--rk-bg);color:var(--rk-berry);border:1px solid var(--rk-bg);}
.rk-btn-onberry .elementor-button:hover{background:var(--rk-accent);border-color:var(--rk-accent);color:#fff;}
.rk-chip .elementor-button{background:transparent;color:var(--rk-ink);border:1px solid var(--rk-line);padding:11px 20px;letter-spacing:0.06em;}
.rk-chip .elementor-button:hover{border-color:var(--rk-accent);color:var(--rk-accent);}
.rk-ctarow.e-con,.rk-chiprow.e-con{--padding-block-start:0;}

/* ---------- header ---------- */
.xpro-theme-builder-header{position:relative;z-index:80;}
.xpro-theme-builder-header.xtb-header-sticky{position:sticky;top:0;}
.e-con.rk-header{border-bottom:1px solid var(--rk-line);}
.rk-logo img{max-height:38px;width:auto;}
.rk-nav .xpro-horizontal-menu ul.xpro-nav-menu > li > a,
.rk-nav ul li a{
  font-family:var(--rk-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rk-ink);
}
.rk-nav ul li a:hover{color:var(--rk-accent);}
.rk-navlink .elementor-heading-title{
  font-family:var(--rk-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.rk-search input[type="search"],.rk-search input[type="text"]{
  border:1px solid var(--rk-line);
  border-radius:999px;
  background:var(--rk-bg);
  font-family:var(--rk-body);
  font-size:13px;
  padding:9px 16px;
  min-width:170px;
  color:var(--rk-ink);
}
.rk-search input::placeholder{color:var(--rk-muted);}
.rk-search button{background:transparent;color:var(--rk-ink);border:0;}
a.rk-cart{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rk-ink);
}
.rk-cart-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:var(--rk-accent);
  color:#fff;
  font-size:11px;
  letter-spacing:0;
}

/* ---------- ticker ---------- */
.rk-tickerwrap{background:var(--rk-surface);border-block:1px solid var(--rk-line);}
.rk-ticker .xpro-news-ticker-wrapper{background:transparent;padding:0;border:0;}
.rk-ticker .xpro-news-ticker-description,
.rk-ticker .xpro-news-ticker-item{
  font-family:var(--rk-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--rk-ink);
  padding:11px 0;
}
.rk-ticker .xpro-news-ticker-separator{background:var(--rk-accent);}
.rk-ticker .xpro-news-ticker-navigation{display:none;}

/* ---------- hero ---------- */
.e-con.rk-hero{align-items:stretch;}
.e-con.rk-hero-left{position:relative;padding-right:clamp(56px,32%,300px);}
.rk-h1 .elementor-heading-title{
  font-size:clamp(38px,4.6vw,64px);
  line-height:1.02;
  max-width:19ch;
}
.rk-lead .elementor-widget-container p{
  font-size:17px;
  line-height:1.6;
  color:var(--rk-muted);
  max-width:44ch;
  margin:0;
}
.elementor-element.rk-hero-float{
  position:absolute;
  right:-26px;
  bottom:-34px;
  width:min(46%,300px);
  margin:0;
  pointer-events:none;
}
.rk-hero-float img{
  width:100%;
  height:auto;
  border-radius:var(--rk-r);
  transform:rotate(-6deg);
}
.e-con.rk-hero-arch{border-radius:320px 320px var(--rk-r) var(--rk-r);position:relative;}
.rk-arch-img img{
  width:min(80%,240px);
  height:auto;
  border-radius:var(--rk-r);
  display:block;
  margin-inline:auto;
}
.rk-arch-cap .elementor-heading-title{
  font-family:var(--rk-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--rk-ink);
  text-align:center;
  margin-top:18px;
}

/* ---------- section heads ---------- */
.rk-h2 .elementor-heading-title{font-size:clamp(26px,2.6vw,38px);line-height:1.08;}
.e-con.rk-sechead{border-bottom:1px solid var(--rk-line);}
.rk-textlink .elementor-heading-title,
.rk-textlink .elementor-heading-title a{
  font-family:var(--rk-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rk-accent);
}

/* ---------- category bento ---------- */
.e-con.rk-bento > .e-con-inner,.e-con.rk-bento{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.e-con.rk-tile-berry{grid-column:span 2;}
.e-con.rk-tile-wide{grid-column:span 3;}
.e-con.rk-tile{position:relative;transition:transform .25s ease;}
.e-con.rk-tile:hover{transform:translateY(-3px);}
.rk-tile-title .elementor-heading-title{font-size:clamp(26px,2.4vw,40px);}
.rk-tile-berry .rk-tile-title .elementor-heading-title,
.rk-tile-berry .rk-tile-text p{color:var(--rk-bg);}
.rk-tile-text p{font-size:15px;color:var(--rk-muted);margin:0;max-width:34ch;}
.rk-tile-berry .rk-tile-text p{color:rgba(250,242,239,.72);}
.elementor-element.rk-tile-img{align-self:flex-end;margin:0;}
.rk-tile-img img{
  width:min(58%,220px);
  height:auto;
  border-radius:var(--rk-r);
  display:block;
  margin-left:auto;
}
.rk-tile-img-lg img{width:min(40%,240px);}
.rk-tile-title-wide .elementor-heading-title{font-size:clamp(22px,2vw,32px);max-width:22ch;}
.rk-tile-link .elementor-heading-title{
  font-family:var(--rk-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rk-accent);
  white-space:nowrap;
}

/* ---------- product grid ---------- */
.xpro-woo-product-grid-item{background:transparent;}
.xpro-woo-product-grid-item .xpro-woo-product-img-section{
  background:var(--rk-surface);
  border-radius:var(--rk-r);
  overflow:hidden;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.xpro-woo-product-grid-item img.xpro-woo-product-grid-img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s ease;
}
.xpro-woo-product-grid-item:hover img.xpro-woo-product-grid-img{transform:scale(1.04);}
.xpro-woo-product-grid-content-sec{padding:14px 2px 0;text-align:left;}
.xpro-woo-product-grid-title,
.xpro-woo-product-grid-title a{
  font-family:var(--rk-display);
  font-size:15px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-0.01em;
  color:var(--rk-ink);
}
.xpro-woo-product-grid-price-wrapper{margin-top:6px;font-family:var(--rk-body);font-size:14px;}
.xpro-woo-product-grid-price-wrapper del,
.xpro-woo-product-grid-price-wrapper del .woocommerce-Price-amount{color:var(--rk-muted);opacity:1;font-size:13px;}
.xpro-woo-product-grid-price-wrapper ins,
.xpro-woo-product-grid-price-wrapper ins .woocommerce-Price-amount{
  color:var(--rk-accent);font-weight:600;text-decoration:none;
}
.xpro-sale-flash-wrap .xpro-onsale{
  background:var(--rk-accent);
  color:#fff;
  border-radius:999px;
  font-family:var(--rk-body);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:6px 12px;
}
.xpro-woo-product-grid-add-to-cart-btn a.button,
.xpro-woo-product-grid-btn-section a.button{
  display:inline-block;
  background:var(--rk-ink);
  color:var(--rk-bg);
  border-radius:999px;
  font-family:var(--rk-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.07em;
  text-transform:uppercase;
  padding:11px 20px;
  white-space:nowrap;
}
.xpro-woo-product-grid-add-to-cart-btn a.button:hover{background:var(--rk-accent);color:#fff;}

/* ---------- berry band ---------- */
.rk-band-h .elementor-heading-title{
  color:var(--rk-bg);
  font-size:clamp(32px,3.8vw,54px);
  line-height:1.04;
  max-width:15ch;
}
.rk-band-p p{color:rgba(250,242,239,.76);font-size:17px;max-width:46ch;margin:0;}
.elementor-element.rk-band-img{margin:0;}
.rk-band-img img{
  width:min(88%,380px);
  height:auto;
  border-radius:var(--rk-r);
  transform:rotate(4deg) translateY(14px);
  box-shadow:0 24px 60px rgba(28,20,23,.35);
}

/* ---------- closing ---------- */
.rk-closing-h .elementor-heading-title{font-size:clamp(26px,2.8vw,40px);max-width:18ch;}
.rk-closing .rk-lead p{color:var(--rk-ink);opacity:.72;}

/* ---------- footer ---------- */
#xpro-theme-builder-footer{background:var(--rk-berry);}
.rk-wordmark .elementor-heading-title{
  font-family:var(--rk-display);
  font-size:30px;
  font-weight:800;
  letter-spacing:-0.02em;
  color:var(--rk-bg);
}
.rk-foot-p p{color:rgba(250,242,239,.72);font-size:15px;max-width:42ch;margin:0;}
.rk-foot-h .elementor-heading-title{
  font-family:var(--rk-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(250,242,239,.55);
}
.rk-foot-list .elementor-icon-list-icon{display:none;}
.rk-foot-list .elementor-icon-list-item a,
.rk-foot-list .elementor-icon-list-text{
  font-family:var(--rk-body);
  font-size:15px;
  color:rgba(250,242,239,.86);
}
.rk-foot-list .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#fff;}
.e-con.rk-footbar{border-top:1px solid rgba(250,242,239,.16);}
.rk-footbar-t p{
  font-family:var(--rk-body);
  font-size:12px;
  letter-spacing:0.06em;
  color:rgba(250,242,239,.6);
  margin:0;
}

/* ---------- shop and product pages ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--rk-display);font-size:15px;font-weight:600;line-height:1.25;
}
.woocommerce ul.products li.product img{border-radius:var(--rk-r);}
.woocommerce ul.products li.product .price{font-family:var(--rk-body);font-size:14px;color:var(--rk-accent);}
.woocommerce ul.products li.product .price del{color:var(--rk-muted);}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--rk-accent);font-weight:600;}
.woocommerce span.onsale{
  background:var(--rk-accent);color:#fff;border-radius:999px;
  font-family:var(--rk-body);font-size:10px;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;padding:6px 12px;min-height:0;line-height:1.4;
}
.woocommerce a.button,.woocommerce button.button,
.woocommerce .button.alt,.woocommerce #respond input#submit{
  background:var(--rk-ink);color:var(--rk-bg);border-radius:999px;
  font-family:var(--rk-body);font-size:12px;font-weight:600;
  letter-spacing:0.07em;text-transform:uppercase;padding:13px 26px;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .button.alt:hover{background:var(--rk-accent);color:#fff;}
.woocommerce div.product .product_title{font-family:var(--rk-display);letter-spacing:-0.02em;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--rk-accent);font-family:var(--rk-body);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--rk-body);}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .e-con.rk-hero{flex-direction:column;}
  .e-con.rk-hero-left,.e-con.rk-hero-arch{width:100%;}
  .e-con.rk-hero-left{padding-right:clamp(48px,26%,220px);}
  .e-con.rk-hero-arch{border-radius:240px 240px var(--rk-r) var(--rk-r);min-height:420px;}
  .e-con.rk-bento,.e-con.rk-bento > .e-con-inner{grid-template-columns:repeat(2,1fr);}
  .e-con.rk-tile-berry{grid-column:span 2;}
  .e-con.rk-tile-wide{grid-column:span 2;}
  .e-con.rk-bandwrap{flex-direction:column;}
  .e-con.rk-band-text,.e-con.rk-band-media{width:100%;}
  .rk-search input[type="search"],.rk-search input[type="text"]{min-width:0;width:132px;}
}
@media (max-width:767px){
  .e-con.rk-bento,.e-con.rk-bento > .e-con-inner{grid-template-columns:1fr;}
  .e-con.rk-tile-berry,.e-con.rk-tile-wide{grid-column:span 1;}
  .e-con.rk-tile-wide{flex-direction:column;align-items:flex-start;}
  .e-con.rk-hero-left{padding:44px 28px 220px;}
  .elementor-element.rk-hero-float{right:-10px;bottom:-10px;width:64%;}
  .rk-h1 .elementor-heading-title{font-size:34px;max-width:100%;}
  .e-con.rk-footwrap,.e-con.rk-closing{flex-direction:column;}
  .e-con.rk-foot-brand,.e-con.rk-foot-col,
  .e-con.rk-closing-text,.e-con.rk-closing-cta{width:100%;}
  .e-con.rk-closing-cta{justify-content:flex-start;}
  .e-con.rk-footbar{flex-direction:column;align-items:flex-start;gap:6px;}
  .e-con.rk-head-left,.e-con.rk-head-right{width:auto;}
  .rk-search{display:none;}
  .rk-ctarow.e-con{flex-wrap:wrap;}
}

@media (prefers-reduced-motion:reduce){
  .rk-ticker .owl-stage,.rk-ticker .xpro-news-ticker-wrapper *{transition-duration:0s !important;animation-duration:0s !important;}
  .e-con.rk-tile:hover{transform:none;}
  .xpro-woo-product-grid-item:hover img.xpro-woo-product-grid-img{transform:none;}
}

/* ============================================================
   Overrides written against the real rendered markup.
   ============================================================ */

/* Nested containers render boxed, so release their inner width cap. */
.rk-hero-left > .e-con-inner,
.rk-hero-arch > .e-con-inner,
.rk-head-left > .e-con-inner,
.rk-head-right > .e-con-inner,
.rk-ctarow > .e-con-inner,
.rk-chiprow > .e-con-inner,
.rk-tile > .e-con-inner,
.rk-tile-head > .e-con-inner,
.rk-band-text > .e-con-inner,
.rk-band-media > .e-con-inner,
.rk-foot-brand > .e-con-inner,
.rk-foot-col > .e-con-inner,
.rk-closing-text > .e-con-inner,
.rk-closing-cta > .e-con-inner,
.rk-sechead > .e-con-inner,
.rk-footbar > .e-con-inner{
  max-width:100%;
  width:100%;
  padding-inline:0;
}

/* Bento grid lives on the inner element of a boxed container. */
.e-con.rk-bento{display:flex;}
.e-con-boxed.rk-bento > .e-con-inner{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  align-items:stretch;
}
@media (max-width:1024px){
  .e-con-boxed.rk-bento > .e-con-inner{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .e-con-boxed.rk-bento > .e-con-inner{grid-template-columns:1fr;}
}

/* Header: logo, menu, search. */
.rk-logo .xpro-site-logo img{
  height:42px;
  width:42px;
  object-fit:contain;
  border-radius:var(--rk-r-sm);
}
.rk-nav .xpro-elementor-horizontal-navbar-nav{gap:28px;margin:0;}
.rk-nav .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link{
  font-family:var(--rk-body);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rk-ink);
  padding:6px 0;
}
.rk-nav .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link:hover{color:var(--rk-accent);}
.rk-nav .xpro-elementor-horizontal-menu-toggler,
.rk-nav .xpro-elementor-horizontal-menu-close{background:transparent;color:var(--rk-ink);border:0;}
.rk-search .xpro-elementor-search-input-group{display:flex;align-items:center;position:relative;}
.rk-search .xpro-elementor-search-input-group input.field{
  border:1px solid var(--rk-line);
  border-radius:999px;
  background:var(--rk-bg);
  font-family:var(--rk-body);
  font-size:13px;
  padding:10px 40px 10px 16px;
  width:190px;
  color:var(--rk-ink);
  box-shadow:none;
}
.rk-search .xpro-elementor-search-input-group input.field:focus{
  outline:none;
  border-color:var(--rk-accent);
}
.rk-search .xpro-elementor-search-button{
  position:absolute;
  right:6px;
  background:transparent;
  border:0;
  padding:6px;
  color:var(--rk-ink);
  display:flex;
  align-items:center;
}
.rk-search .xpro-elementor-search-button svg{width:14px;height:14px;fill:currentColor;}

/* Ticker sits centred in its strip. */
.rk-ticker .xpro-news-ticker-item{display:flex;align-items:center;justify-content:center;}
.rk-ticker .owl-nav,.rk-ticker .owl-dots{display:none;}

/* Hero: the packshot breaks the panel edge. */
.e-con.rk-hero-left{position:relative;overflow:hidden;}
.e-con.rk-hero-left > .e-con-inner{position:static;}
.rk-hero-left .elementor-element.rk-hero-float{
  position:absolute;
  right:-24px;
  bottom:-30px;
  width:min(44%,290px);
  margin:0;
  z-index:1;
  pointer-events:none;
}
.rk-hero-left .rk-h1,
.rk-hero-left .rk-lead,
.rk-hero-left .rk-ctarow{position:relative;z-index:2;}
.e-con.rk-hero-arch{overflow:hidden;}

/* Product tiles: no card, no shadow. */
.xpro-woo-product-grid-item .xpro-woo-product-grid-btn-section{margin-top:12px;}
.xpro-woo-product-grid-badges-wrapper{position:absolute;top:12px;left:12px;z-index:3;}
.xpro-woo-product-grid-item .xpro-woo-product-grid-img{border-radius:0;}
.xpro-woo-product-grid-item > a.xpro-woo-product-grid-title-wrapper{display:block;position:relative;}

/* Footer buttons keep the pill scale. */
.rk-foot-brand .rk-btn .elementor-button{padding:13px 26px;}
/* ============================================================
   Store pages. Blocksy renders the WooCommerce templates and it
   drives everything from its own custom properties, so the
   design lands by remapping those rather than by fighting
   selector by selector. This carries shop, category, product,
   cart, checkout and account in one pass.
   ============================================================ */
:root{
  --theme-palette-color-1:#D6274B;
  --theme-palette-color-2:#4A1F2E;
  --theme-palette-color-3:#1C1417;
  --theme-palette-color-4:#1C1417;
  --theme-palette-color-5:#E7DAD6;
  --theme-palette-color-6:#FAF2EF;
  --theme-palette-color-7:#FAF2EF;
  --theme-palette-color-8:#FFFFFF;
  --theme-font-family:"Figtree","Hind Siliguri",sans-serif;
  --theme-button-border-radius:999px;
  --theme-form-field-border-radius:6px;
}
body,.ct-container,.ct-container-full{background:var(--rk-bg);}

/* Archive header band */
.woocommerce-products-header{
  background:var(--rk-blush);
  border-radius:var(--rk-r);
  padding:52px 40px;
  margin-bottom:34px;
}
.woocommerce-products-header:empty{display:none;}
.woocommerce-products-header .woocommerce-products-header__title,
.woocommerce-products-header h1{
  font-family:var(--rk-display);
  font-size:clamp(30px,3vw,46px);
  line-height:1.06;
  letter-spacing:-0.02em;
  color:var(--rk-ink);
  margin:0;
}

/* Listing toolbar */
.woo-listing-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:16px;
  margin-bottom:26px;
  border-bottom:1px solid var(--rk-line);
}
.woocommerce-result-count{
  font-family:var(--rk-body);
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--rk-muted);
  margin:0;
}
.woocommerce-ordering select.orderby{
  font-family:var(--rk-body);
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--rk-ink);
  background:transparent;
  border:1px solid var(--rk-line);
  border-radius:999px;
  padding:9px 34px 9px 16px;
}

/* Product cards on shop and category listings */
.woocommerce ul.products li.product figure{
  position:relative;
  margin:0 0 14px;
  border-radius:var(--rk-r);
  overflow:hidden;
  background:var(--rk-surface);
}
.woocommerce ul.products li.product figure img,
.woocommerce ul.products li.product .ct-media-container img{
  aspect-ratio:1/1 !important;
  object-fit:cover;
  width:100%;
  height:auto;
  display:block;
  transition:transform .4s ease;
}
.woocommerce ul.products li.product:hover figure img{transform:scale(1.04);}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  position:absolute;
  top:12px;
  left:12px;
  right:auto;
  margin:0;
  z-index:3;
}
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{
  font-family:var(--rk-display);
  font-size:15px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-0.01em;
  margin:0 0 6px;
}
.woocommerce ul.products li.product .price{
  display:flex;
  align-items:baseline;
  gap:8px;
  font-family:var(--rk-body);
  font-size:14px;
}
.woocommerce ul.products li.product .price del{color:var(--rk-muted);opacity:1;font-size:13px;}
.woocommerce ul.products li.product .price ins{background:transparent;color:var(--rk-accent);font-weight:600;text-decoration:none;}
.ct-woo-card-actions{margin-top:12px;}

/* Pagination */
.ct-pagination .page-numbers{
  font-family:var(--rk-body);
  font-size:13px;
  border-radius:999px;
  color:var(--rk-ink);
}
.ct-pagination .page-numbers.current{background:var(--rk-accent);color:#fff;}

/* Single product */
.woocommerce div.product .entry-title,
.woocommerce div.product .product_title{
  font-family:var(--rk-display);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.08;
}
.woocommerce-product-gallery img,
.ct-product-gallery-container img{border-radius:var(--rk-r);}
.woocommerce div.product .entry-summary .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--rk-body);
  color:var(--rk-accent);
  display:flex;
  align-items:baseline;
  gap:10px;
}
.woocommerce div.product .price del,
.woocommerce div.product .price del span{color:var(--rk-muted);opacity:1;font-weight:400;}
.woocommerce div.product .price ins{background:transparent;text-decoration:none;color:var(--rk-accent);}
.woocommerce .quantity input.qty,
.ct-cart-actions .quantity{border-radius:999px;border-color:var(--rk-line);font-family:var(--rk-body);}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  background:var(--rk-accent);
  color:#fff;
  border-radius:999px;
  font-family:var(--rk-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.07em;
  text-transform:uppercase;
}
.woocommerce div.product form.cart .button:hover{background:var(--rk-berry);color:#fff;}
.woocommerce div.product .product_meta{
  font-family:var(--rk-body);
  font-size:13px;
  color:var(--rk-muted);
}
.woocommerce-tabs ul.tabs li a,
.ct-module-title{
  font-family:var(--rk-display);
  letter-spacing:-0.01em;
}
.ct-product-divider{border-color:var(--rk-line) !important;}
.ct-breadcrumbs{font-family:var(--rk-body);font-size:12px;letter-spacing:0.04em;color:var(--rk-muted);}
.ct-breadcrumbs a{color:var(--rk-muted);}
.ct-breadcrumbs a:hover{color:var(--rk-accent);}

/* Cart, checkout, account */
.woocommerce table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table{
  border-radius:var(--rk-r);
  border-color:var(--rk-line);
  font-family:var(--rk-body);
}
.woocommerce table.shop_table th{
  font-family:var(--rk-body);
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--rk-muted);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-input-wrapper input{
  border-radius:var(--rk-r-sm);
  border:1px solid var(--rk-line);
  font-family:var(--rk-body);
  background:var(--rk-surface);
}
.woocommerce form .form-row input.input-text:focus{border-color:var(--rk-accent);outline:none;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top-color:var(--rk-accent);
  font-family:var(--rk-body);
  border-radius:var(--rk-r-sm);
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--rk-accent);}

@media (max-width:767px){
  .woocommerce-products-header{padding:36px 24px;}
  .woo-listing-top{flex-direction:column;align-items:flex-start;}
}
/* ============================================================
   Bestseller tiles. Xpro nests the add to cart control inside
   the image link, so it is treated as a reveal on the image
   rather than a row beneath the price.
   ============================================================ */
.xpro-woo-product-grid-main:not(.cbp-ready){
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
@media (max-width:1024px){.xpro-woo-product-grid-main:not(.cbp-ready){grid-template-columns:repeat(3,1fr);}}
@media (max-width:767px){.xpro-woo-product-grid-main:not(.cbp-ready){grid-template-columns:repeat(2,1fr);gap:12px;}}

.xpro-woo-product-grid-item > a.xpro-woo-product-grid-title-wrapper > div.xpro-woo-product-grid-img{
  position:relative;
  border-radius:var(--rk-r);
  overflow:hidden;
  background:var(--rk-surface);
}
.xpro-woo-product-grid-item .xpro-woo-product-img-section{
  position:relative;
  aspect-ratio:1/1;
  display:block;
  background:var(--rk-surface);
}
.xpro-woo-product-grid-item img.xpro-product-img-url{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0;
  transition:transform .45s ease;
}
.xpro-woo-product-grid-item:hover img.xpro-product-img-url{transform:scale(1.05);}

.xpro-woo-product-grid-badges-wrapper{position:absolute;top:12px;left:12px;z-index:3;}

.xpro-woo-product-grid-item .xpro-woo-product-grid-btn-section{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:4;
  display:flex;
  justify-content:center;
  margin:0;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease;
}
.xpro-woo-product-grid-item:hover .xpro-woo-product-grid-btn-section,
.xpro-woo-product-grid-item:focus-within .xpro-woo-product-grid-btn-section{
  opacity:1;
  transform:translateY(0);
}
.xpro-woo-product-grid-add-to-cart-btn{width:100%;display:flex;justify-content:center;}
.xpro-woo-product-grid-add-to-cart-btn a.button{
  width:100%;
  text-align:center;
  background:var(--rk-ink);
  color:var(--rk-bg);
  border-radius:999px;
  font-family:var(--rk-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:12px 16px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.xpro-woo-product-grid-add-to-cart-btn a.button:hover{background:var(--rk-accent);color:#fff;}
.xpro-woo-product-grid-add-to-cart-btn a.button.added{background:var(--rk-berry);color:#fff;}

.xpro-woo-product-grid-content-sec{padding:14px 2px 0;text-align:left;}
.xpro-woo-product-grid-price-wrapper .price{display:flex;align-items:baseline;gap:8px;}
.xpro-woo-product-grid-price-wrapper .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Touch devices have no hover, so the control stays visible. */
@media (hover:none){
  .xpro-woo-product-grid-item .xpro-woo-product-grid-btn-section{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .xpro-woo-product-grid-item:hover img.xpro-product-img-url{transform:none;}
  .xpro-woo-product-grid-item .xpro-woo-product-grid-btn-section{transition:none;}
}