/* fix-promise-guard.css — visual net for inc/areas/fix-promise-guard.php.
   Nothing here restyles the design: it only makes sure a promise element that survived the PHP
   filter (cached markup, a stale uploaded file, an inline WoodMart render) cannot be seen, and that
   an emptied element never leaves a blank strip or row behind.
   Every rule is scoped to the body classes the guard adds, so it is inert when the guard is off,
   and .yb-pguard-noship disappears by itself the moment a real WooCommerce free-shipping method
   exists — the same allow-condition the PHP uses. */

/* 1. WoodMart free-shipping progress bar (cart, checkout, mini-cart, product). */
body.yb-pguard-noship .wd-shipping-progress-bar,
body.yb-pguard-noship .wd-free-progress-bar,
body.yb-pguard-noship .wd-progress-bar.wd-free-progress-bar {
	display: none !important;
}

/* 2. Promo bar: never show an empty message or an empty strip. */
body.yb-pguard .yb-promo__msg:empty {
	display: none !important;
}
body.yb-pguard .yb-promo__track:empty {
	display: none !important;
}
body.yb-pguard .yb-promo:not(:has(.yb-promo__msg)) {
	display: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* 3. Trust / benefit lists: an item the guard emptied must not leave a stray tick. */
body.yb-pguard .yb-trust li:empty,
body.yb-pguard .yb-trust:empty,
body.yb-pguard .yb-bag-ship__text:empty {
	display: none !important;
}
body.yb-pguard .yb-bag-ship:not(:has(.yb-bag-ship__text span)) {
	display: none !important;
}
