/* FC PRIME 1.0.17 — scoped, conversion-first price information with clear range disclosure. */
body.single-product .fcprime-weightline[data-fcprime-weightline="1"] {
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,max-content)!important;align-items:center!important;
 column-gap:12px!important;row-gap:3px!important;width:100%!important;max-width:490px!important;
 min-height:49px!important;box-sizing:border-box!important;margin:2px 0 0!important;padding:6px 0 3px!important;
 border:0!important;border-top:1px solid #E4EAE8!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;
 font:400 13px/1.45 Montserrat,Arial,sans-serif!important;letter-spacing:normal!important;
 text-transform:none!important;text-align:left!important;color:#10213F!important;vertical-align:baseline!important;
}
body.single-product .fcprime-weightline[data-fcprime-weightline="1"] .fcprime-weightline__weight {
 display:block!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;
 font:650 14px/1.45 Montserrat,Arial,sans-serif!important;color:#10213F!important;
 letter-spacing:normal!important;text-transform:none!important;overflow-wrap:break-word!important;
}
body.single-product .fcprime-weightline[data-fcprime-weightline="1"] .fcprime-weightline__unit {
 display:block!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;
 font:500 12.5px/1.45 Montserrat,Arial,sans-serif!important;color:#687982!important;text-align:right!important;
 letter-spacing:normal!important;text-transform:none!important;overflow-wrap:break-word!important;
}
/* Reserved second line prevents movement when changing between an exact pack
   and a weight-range pack. Empty note is visually hidden, not removed. */
body.single-product .fcprime-weightline[data-fcprime-weightline="1"] .fcprime-weightline__note {
 grid-column:1 / -1!important;display:block!important;min-height:14px!important;min-width:0!important;
 margin:0!important;padding:0!important;border:0!important;
 color:#78868B!important;font:400 11px/1.25 Montserrat,Arial,sans-serif!important;
 text-align:left!important;letter-spacing:normal!important;text-transform:none!important;overflow-wrap:break-word!important;
}
body.single-product .fcprime-weightline[data-fcprime-weightline="1"] .fcprime-weightline__note[aria-hidden="true"]{
 visibility:hidden!important;
}
/* On narrow screens, stack the pack and unit prices calmly. */
@media(max-width:500px){
 body.single-product .fcprime-weightline[data-fcprime-weightline="1"] {
  grid-template-columns:minmax(0,1fr)!important;align-content:center!important;
  align-items:start!important;column-gap:0!important;row-gap:2px!important;
  min-height:75px!important;padding-top:6px!important;padding-bottom:5px!important;
 }
 body.single-product .fcprime-weightline[data-fcprime-weightline="1"] .fcprime-weightline__weight {
  font-size:13px!important;line-height:1.35!important;
 }
 body.single-product .fcprime-weightline[data-fcprime-weightline="1"] .fcprime-weightline__unit {
  font-size:12px!important;line-height:1.35!important;text-align:left!important;
 }
}
/* Unknown variant: keep geometry stable and hide misleading data, only in this component. */
body.single-product .fcprime-weightline[data-fcprime-active="0"] .fcprime-weightline__weight,
body.single-product .fcprime-weightline[data-fcprime-active="0"] .fcprime-weightline__unit,
body.single-product .fcprime-weightline[data-fcprime-active="0"] .fcprime-weightline__note {visibility:hidden!important;}
/* The selected variation price is rendered in the existing main price; do not
   overwrite checkout/cart/prices outside the single product summary. */
body.single-product .fcprime-main-price[data-fcprime-main-price="1"] {
 display:inline-block!important;min-height:1.25em!important;font:inherit!important;line-height:1.15!important;
 vertical-align:baseline!important;color:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;
}
body.single-product form.variations_form.fcprime-has-main-price .single_variation .woocommerce-variation-price{display:none!important;}

/* PRIME V3 layout bridge — matches the real staging Elementor widgets.
   One site-specific spacing correction; NO negative margins, NO DOM movement,
   NO generic changes to product cards or cart/checkout. */
@supports selector(:has(*)) {
  body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
    .elementor-element-5cb12e85.elementor-widget-woocommerce-product-price {
      margin-block-end:0!important;
      padding-block-end:0!important;
  }
  body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
    .elementor-element-5cb12e85.elementor-widget-woocommerce-product-price
    > .elementor-widget-container {
      margin-block-end:0!important;
      padding-block-end:0!important;
  }
  /* WooCommerce notices is an Elementor widget inserted between price and
     add-to-cart. Collapse only the empty widget, never its actual messages. */
  body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
    .elementor-element-a8f2fd9.elementor-widget-woocommerce-notices:has(> .elementor-widget-container:empty) {
      margin:0!important;
      padding:0!important;
      min-height:0!important;
  }
  body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
    .elementor-element-d27dd1e2.elementor-widget-woocommerce-product-add-to-cart {
      margin-block-start:0!important;
      padding-block-start:0!important;
  }
  body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
    .elementor-element-d27dd1e2 .prime-v3-usps {
      margin-block-start:0!important;
      padding-block-start:0!important;
  }
}

/* V1.0.16 — correct the *source* of the trailing space, not the cards.
   Elementor/Botiga V3 staging template has price, notices and add-to-cart
   widgets. Notice widgets often contain an empty WooCommerce wrapper,
   so the prior :empty test on the outer widget-container was too strict.
   No transform, negative margin, runtime JS measurement or DOM reordering. */
@supports selector(:has(*)) {
 body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
  .elementor-element-5cb12e85.elementor-widget-woocommerce-product-price
  :is(p.price, div.price):has(.fcprime-weightline[data-fcprime-weightline="1"]) {
   margin-block-end:0!important;
   padding-block-end:0!important;
 }
 /* Empty WC notices: safe to collapse the widget only when its actual WC
    notice wrapper has no element children. Non-empty checkout/product
    messages are untouched, including notices injected after page load. */
 body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
  .elementor-element-a8f2fd9.elementor-widget-woocommerce-notices:has(.woocommerce-notices-wrapper):not(:has(.woocommerce-notices-wrapper > *)) {
   display:none!important;
 }
 body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
  .elementor-element-a8f2fd9.elementor-widget-woocommerce-notices:has(> .elementor-widget-container):not(:has(> .elementor-widget-container > *)) {
   display:none!important;
 }
 /* Only the specific container containing BOTH the price and add-to-cart
    widgets. Other Elementor sections, cards and promotional blocks stay
    untouched. Preserve the premium whitespace with a 24px widget gap. */
 body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
  :is(.e-con, .e-con-inner, .elementor-widget-wrap):has(> .elementor-element-5cb12e85.elementor-widget-woocommerce-product-price):has(> .elementor-element-d27dd1e2.elementor-widget-woocommerce-product-add-to-cart) {
   row-gap:24px!important;
 }
}

/* V1.0.17: The actual Elementor add-to-cart markup contains a WooCommerce
   <p class="stock in-stock"> before the four Prime V3 USPs. On this shop that
   redundant stock paragraph can occupy blank space even when its text is
   visually suppressed by the theme. Hide only this precise duplicate in the
   simple-product template, and only when the 4 USPs are present. Keep all
   out-of-stock, backorder, low-stock notices elsewhere unaffected. */
@supports selector(:has(*)) {
 body.single-product:has(.fcprime-weightline[data-fcprime-weightline="1"])
  .elementor-element-d27dd1e2.elementor-widget-woocommerce-product-add-to-cart
  .elementor-add-to-cart.elementor-product-simple:has(> .prime-v3-usps)
  > p.stock.in-stock {
   display:none!important;
 }
}
