/* =========================================================
   RLM Overrides (last resort overrides for WP/builders)
   Load after components. Keep minimal, only where needed.
   ========================================================= */

/* Kill random Elementor card shadows/borders */
.elementor-widget, .elementor-widget-container, .elementor, .elementor-section, .elementor-column{
  box-shadow: none !important;
}

/* Remove default Woo list item margins/paddings around our product cards */
.woocommerce ul.products li.product a{ margin:0 !important; }
.woocommerce ul.products li.product{ padding: var(--space-3) !important; border:none !important; box-shadow:none !important; background: white !important; }

/* Breadcrumb bar consistency */
.woocommerce .woocommerce-breadcrumb{
  border-bottom: var(--border-width-1) solid var(--color-border) !important;
  padding: var(--space-3) 0 var(--space-1) !important;
  margin: 0 !important;
}

/* Ensure aspect-ratio on various builder images */
img, video{ height:auto; }

/* Button specificity bumpers */
a.button, button.button, .button{
  border-radius: var(--radius-button) !important;
  background: var(--btn-bg) !important;
  color: var(--btn-text) !important;
}
a.button:hover, button.button:hover, .button:hover{
  background: var(--btn-bg-hover) !important;
}

/* Form fields (Woo/GP weirdness) */
select, textarea, input[type="text"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="url"], input[type="password"]{
  border-radius: var(--radius-input) !important;
  border: var(--border-width-1) solid var(--input-border) !important;
  background: var(--input-bg) !important;
  color: var(--input-text) !important;
}

/* WooCommerce Product Card Overrides */
.wc-product-image{
  text-align:center; background:var(--color-surface-alt) !important;
  border-radius:var(--radius-card-media) !important; padding:var(--border-width-1) !important;
  position:relative; aspect-ratio: var(--ratio-wide-angle) !important; overflow:hidden;
}
.wc-product-image .inside-wc-product-image img{ margin-bottom:0 !important; width:100% !important; height:100% !important; object-fit:contain !important; }
.wc-product-title{ text-transform:none !important; line-height:var(--lh-medium) !important; margin-bottom: var(--space-2) !important; }
.wc-product-price{ margin-top:0 !important; }
.wc-product-link{ position:relative; }
.wc-product-rating{
  position:absolute; left: var(--space-3); bottom: var(--space-3);
}
.wc-product-rating[title="Not yet rated"],
.wc-product-rating[aria-label*="Not yet rated"],
.wc-product-rating[aria-label*="No ratings"],
.wc-product-rating:empty{ display:none !important; }

/* Site background color override */
.site.grid-container.container.hfeed {
  background-color: var(--color-surface-alt) !important;
}

/* Theme content container: no side padding on Elementor pages */
.elementor-page .container,
.elementor-page .grid-container,
.elementor-page .inside-article {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Archive scope overrides for PLPs */
.rlm-archive-scope .e-con.rlm-shop-intro{
  border-radius: var(--radius-card) !important;
  padding: var(--space-4) !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
}
.rlm-archive-scope .woocommerce ul.products li.product a{ margin: 0 !important; }
.rlm-archive-scope .rlm-breadcrumb > .e-con-inner{
  border-bottom: var(--border-width-1) solid var(--color-border) !important;
  padding: var(--space-3) 0 var(--space-1) !important;
}

/* Product card overrides */
.rlm-product-card {
  padding: var(--space-4) !important;
  background-color: var(--color-surface) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
}
.rlm-product-card .woocommerce-product-details__short-description {
  display: none !important;
}

/* Elementor product card media aspect-ratio */
.rlm-product-card .wc-product-image .inside-wc-product-image{
  text-align:center !important;
  background:var(--color-surface-alt) !important;
  border-radius:var(--radius-card-media) !important;
  padding:var(--border-width-1) !important;
  position:relative !important;
  aspect-ratio: var(--ratio-wide-angle) !important;
  overflow:hidden !important;
}
.rlm-product-card a .wc-product-image .inside-wc-product-image img{
  margin-bottom:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
.rlm-product-card a .woocommerce-loop-product__title {
  text-transform: none !important;
  line-height: var(--lh-medium) !important;
  margin-bottom: var(--space-2) !important;
}
.rlm-product-card a .price, body .elementor-wc-products ul.products li.product .price {
  margin-top: 0 !important;
}
.rlm-product-card a .price .woo-custom-stock-status {
  margin-bottom: 0 !important;
}
.rlm-product-card .woocommerce-loop-product__buttons a {
  margin-top: 0 !important;
  min-height: 0 !important;
}

/* Star rating positioning */
.rlm-product-card .woocommerce-LoopProduct-link{ position:relative !important; }
.rlm-product-card .woocommerce-LoopProduct-link .star-rating{
  position:absolute !important;
  left: var(--space-3) !important;
  top: 0 !important;
}
.rlm-product-card .woocommerce-LoopProduct-link .star-rating[title="Not yet rated"],
.rlm-product-card .woocommerce-LoopProduct-link .star-rating[aria-label*="Not yet rated"],
.rlm-product-card .woocommerce-LoopProduct-link .star-rating[aria-label*="No ratings"],
.rlm-product-card .woocommerce-LoopProduct-link .star-rating:empty{ display:none !important; }

/* OnSale badge positioning */
.wc-product-image .inside-wc-product-image .onsale {
  padding: 5px 8px 4px !important;
  border-radius: 6px !important;
  right: 10px !important;
  top: 10px !important;
  font-size: 14px !important;
  width: auto !important;
  max-width: 100px !important;
  transform: none !important;
  left: auto !important;
}

/* WooCommerce ordering and result count */
.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count {
  margin-bottom: 16px !important;
}
.woocommerce .woocommerce-ordering select {
  border-radius: var(--radius-input) !important;
}

/* Header overrides */
.rlm-header{
  background: var(--color-surface) !important;
  box-shadow: var(--shadow-sm) !important;
  z-index: var(--z-sticky) !important;
}
.rlm-header .sub-arrow {
  padding: var(--space-1) !important;
}
.rlm-header .sub-arrow .e-font-icon-svg{
  fill: var(--gray-400) !important;
}