/* ============ EPKART Retail Violet ============ */
:root{
  --epk-accent:#7C3AED; --epk-deep:#5B21B6; --epk-ink:#1A1A1A;
  --epk-muted:#64748B; --epk-faint:#9CA3AF; --epk-surface:#F5F5F5;
}

.xpro-woo-product-img-section{ background:var(--epk-surface) !important; border-radius:0 !important; position:relative; overflow:hidden; }

.xpro-elementor-horizontal-navbar-nav .menu-item > a{ position:relative; }
.xpro-elementor-horizontal-navbar-nav .menu-item > a::after{
  content:''; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--epk-accent);
  transform:scaleX(0); transform-origin:right center; transition:transform .32s cubic-bezier(.4,0,.2,1);
}
.xpro-elementor-horizontal-navbar-nav .menu-item > a:hover::after,
.xpro-elementor-horizontal-navbar-nav .current-menu-item > a::after{ transform:scaleX(1); transform-origin:left center; }

.elementor-widget-xpro-button .xpro-elementor-button{ display:inline-flex !important; align-items:center; justify-content:center; }
.elementor-widget-xpro-button .xpro-elementor-button i, .elementor-widget-xpro-button .xpro-elementor-button svg{ color:var(--epk-ink); font-size:22px; width:22px !important; height:22px !important; }
.elementor-widget-xpro-button .xpro-elementor-button:hover i, .elementor-widget-xpro-button .xpro-elementor-button:hover svg{ color:var(--epk-accent); }

.woocommerce .button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt{
  background:var(--epk-accent) !important; color:#fff !important; border-radius:3px !important; font-family:'Inter',sans-serif !important;
  font-weight:600 !important; text-transform:none !important; padding:16px 32px !important;
}
.woocommerce .button:hover, .woocommerce a.button.alt:hover{ background:var(--epk-deep) !important; }
.woocommerce table.shop_table{ border-radius:0 !important; }
.woocommerce .cart_totals h2, .woocommerce-billing-fields h3{ font-family:'IBM Plex Mono',monospace !important; font-weight:700 !important; }

.wpforms-container .wpforms-field-label{
  font-family:'IBM Plex Mono',monospace !important; font-weight:700 !important; font-size:13px !important; letter-spacing:1px !important; text-transform:uppercase !important; color:var(--epk-ink) !important;
}
.wpforms-container input[type=text], .wpforms-container input[type=email], .wpforms-container textarea{
  border:1px solid #E5E7EB !important; border-radius:3px !important; font-family:'Inter',sans-serif !important; padding:12px 14px !important;
}
.wpforms-container button[type=submit]{
  background:var(--epk-accent) !important; color:#fff !important; border:0 !important; border-radius:3px !important; padding:16px 32px !important;
  font-family:'Inter',sans-serif !important; font-weight:600 !important;
}
.wpforms-container button[type=submit]:hover{ background:var(--epk-deep) !important; }

/* ---- strip Xpro's default icon-chip backgrounds in the header ---- */
.xpro-theme-builder-header .xpro-elementor-button,
.xpro-theme-builder-header .xpro-elementor-button-inner,
.xpro-theme-builder-header .xpro-elementor-button-media,
.xpro-theme-builder-header .xpro-elementor-search-button,
.xpro-theme-builder-header .xpro-elementor-search-input-group,
.xpro-theme-builder-header .xpro-elementor-search-wrapper{
  background:transparent !important; background-color:transparent !important;
  box-shadow:none !important; border:0 !important; border-radius:0 !important;
}
.xpro-theme-builder-header .xpro-elementor-button{
  padding:0 !important; width:auto !important; height:auto !important; min-width:0 !important; min-height:0 !important;
}
.xpro-theme-builder-header .xpro-elementor-button-media{
  padding:0 !important; margin:0 !important; width:20px !important; height:20px !important;
}
.xpro-theme-builder-header .xpro-elementor-button svg,
.xpro-theme-builder-header .xpro-elementor-search-button svg{
  width:20px !important; height:20px !important; fill:var(--epk-ink) !important;
}
.xpro-theme-builder-header .xpro-elementor-button:hover svg,
.xpro-theme-builder-header .xpro-elementor-search-button:hover svg{
  fill:var(--epk-accent) !important;
}

/* ---- keep the icon group compact so the nav never wraps ---- */
.xpro-theme-builder-header .elementor-element[data-element_type="container"] > .elementor-element-e-con-inner,
.xpro-theme-builder-header .xpro-elementor-horizontal-navbar-wrapper{ flex-wrap:nowrap !important; }
.xpro-theme-builder-header .xpro-elementor-horizontal-navbar-nav{ flex-wrap:nowrap !important; white-space:nowrap; }

/* ---- header icons (native Blocksy: search / account / cart) stay small and bare ---- */
.ct-header .ct-header-search svg,
.ct-header .ct-header-cart svg,
.ct-header .ct-header-text svg{ width:15px !important; height:15px !important; }
.ct-header .ct-header-text a svg{ width:20px !important; height:20px !important; }

/* ---- flat product cards on native WooCommerce [products] shortcode markup ---- */
ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:44px 32px !important;
  list-style:none !important; margin:0 !important; padding:0 !important; }
ul.products li.product{
  width:100% !important; margin:0 !important; padding:0 !important; float:none !important;
  background:transparent !important; box-shadow:none !important; border:0 !important; border-radius:0 !important;
  text-align:left !important; position:relative !important;
}
ul.products li.product a.woocommerce-LoopProduct-link{
  display:block !important; text-decoration:none !important;
}
ul.products li.product img{
  background:var(--epk-surface) !important; aspect-ratio:1/1; object-fit:contain !important;
  padding:15%; box-sizing:border-box; border-radius:0 !important; width:100% !important; height:auto !important;
  transition:transform .4s ease;
}
ul.products li.product:hover img{ transform:scale(1.04); }
ul.products li.product .woocommerce-loop-product__title{
  font-family:'IBM Plex Mono',monospace !important; font-weight:700 !important; font-size:19px !important;
  color:var(--epk-ink) !important; margin:18px 0 8px !important; line-height:1.25 !important;
}
ul.products li.product .star-rating{
  margin:0 0 8px !important; color:#F59E0B !important; font-size:15px !important; width:80px !important;
}
ul.products li.product .price{
  font-family:'Inter',sans-serif !important; font-weight:700 !important; font-size:17px !important;
  color:var(--epk-ink) !important; margin:0 0 12px !important; display:block !important;
}
ul.products li.product .price del{ color:var(--epk-faint) !important; font-weight:400 !important; font-size:15px !important; opacity:1 !important; }
ul.products li.product .price ins{ text-decoration:none !important; }
ul.products li.product .button.add_to_cart_button{
  display:inline-flex !important; width:auto !important; background:var(--epk-accent) !important; color:#fff !important;
  border:0 !important; border-radius:3px !important; padding:14px 26px !important; margin:0 !important;
  font-family:'Inter',sans-serif !important; font-weight:600 !important; font-size:14px !important;
  text-transform:none !important; letter-spacing:0 !important; position:static !important;
}
ul.products li.product .button.add_to_cart_button:hover{ background:var(--epk-deep) !important; }
ul.products li.product .onsale{
  position:absolute !important; top:0 !important; left:0 !important; right:auto !important;
  background:var(--epk-accent) !important; color:#fff !important; border-radius:2px !important;
  padding:8px 16px !important; margin:0 !important; min-width:0 !important; min-height:0 !important; width:auto !important; height:auto !important;
  font-family:'IBM Plex Mono',monospace !important; font-weight:700 !important; font-size:13px !important;
  letter-spacing:1px !important; text-transform:uppercase !important; line-height:1.2 !important;
}

@media (max-width:1100px){ ul.products{ grid-template-columns:repeat(3,1fr) !important; } }
@media (max-width:640px){
  ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:34px 20px !important; }
  ul.products li.product .woocommerce-loop-product__title{ font-size:16px !important; }
  ul.products li.product .button.add_to_cart_button{ padding:12px 20px !important; font-size:13px !important; }
}
/* ============ RESTORED: header glass + sticky + scroll-hide ============ */
header.ct-header{
  position:sticky !important; top:0; z-index:9999;
  background:rgba(255,255,255,0.55) !important;
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
  border-bottom:1px solid rgba(255,255,255,0.35);
  box-shadow:0 8px 32px rgba(31,38,135,0.12);
  transition:transform .35s ease;
}

html, body, #main-container{ overflow-x:clip !important; }
header.ct-header.epk-hidden{ transform:translateY(-100%); }

/* ============ RESTORED: flat product cards (with shadow + border) ============ */
ul.products li.product{
  background:#fff !important;
  border:1px solid #ECECEC !important;
  border-radius:10px !important;
  box-shadow:0 1px 2px rgba(16,24,40,0.04), 0 1px 3px rgba(16,24,40,0.06) !important;
  display:flex !important; flex-direction:column !important;
  padding:18px 18px 22px !important;
  transition:transform .25s ease, box-shadow .25s ease;
}
ul.products li.product:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(16,24,40,0.10), 0 2px 6px rgba(16,24,40,0.06) !important;
}
ul.products li.product .button.add_to_cart_button{ margin-top:auto !important; }

/* ============ RESTORED: mini-cart dropdown styling ============ */
.ct-cart-content{ background:#1E1147 !important; color:#fff !important; }
.ct-cart-content .woocommerce-mini-cart__buttons a.button{
  background:var(--epk-accent) !important; color:#fff !important; border-radius:3px !important;
}
.ct-cart-content a, .ct-cart-content .woocommerce-Price-amount{ color:#fff !important; }

/* ============ RESTORED: featured products slider (epk_featured shortcode) ============ */
.epk-fs-track{ display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 14px; }
.epk-fs-card{ scroll-snap-align:start; flex:0 0 270px; width:270px; background:#fff; border:1px solid #ECECEC;
  border-radius:10px; overflow:hidden; box-shadow:0 1px 2px rgba(16,24,40,0.04); }
.epk-fs-card img{ width:100%; aspect-ratio:1/1; object-fit:contain; background:var(--epk-surface); padding:12%; box-sizing:border-box; }
.epk-fs-card .epk-fs-body{ padding:14px 16px 18px; }
.epk-fs-arrow{ background:rgba(255,255,255,0.7); backdrop-filter:blur(6px); border:1px solid #ECECEC; border-radius:50%;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center; cursor:pointer; }

/* ============ RESTORED: price filter widget width fix ============ */
.woocommerce .price_slider_wrapper .price_label{ width:auto !important; }
/* ---- FIX: Blocksy paints inner [data-row] opaque; force transparent ---- */
[data-header*="type-1"] .ct-header [data-row],[data-header*="type-1"] .ct-header [data-row*="middle"],[data-header*="type-1"] .ct-header [data-row*="top"],[data-header*="type-1"] .ct-header [data-row*="bottom"],header.ct-header .ct-container,header.ct-header [data-device],header.ct-header .ct-top-bar{background:transparent !important;background-color:transparent !important;background-image:none !important;box-shadow:none !important;}
[data-header*="type-1"] header.ct-header{position:sticky !important;top:0 !important;z-index:9999 !important;background:rgba(255,255,255,0.55) !important;-webkit-backdrop-filter:blur(18px) saturate(170%) !important;backdrop-filter:blur(18px) saturate(170%) !important;border-bottom:1px solid rgba(255,255,255,0.35) !important;box-shadow:0 8px 32px rgba(31,38,135,0.12) !important;}