/**
 * Seeds Locker Product Display Titles
 *
 * Presentation-only styles. No card heights or layout dimensions are forced.
 */

:root {
	--sl-display-title-badge-bg: #181713;
	--sl-display-title-badge-border: #b99a55;
	--sl-display-title-badge-text: #fffaf0;
	--sl-display-title-badge-radius: 0.32rem;
	--sl-display-title-badge-gap: 0.38rem;
	--sl-display-title-badge-padding-block: 0.28rem;
	--sl-display-title-badge-padding-inline: 0.52rem;
	--sl-display-title-badge-font-size: 0.72rem;
	--sl-display-title-badge-letter-spacing: 0.045em;
	--sl-display-title-badges-margin-block-start: 0.25rem;
	--sl-display-title-badges-margin-block-end: 0.45rem;
}

.sl-display-title {
	text-wrap: pretty;
}

/*
 * Seeds Locker's catalog CSS reserves multiple title lines. Scope the reset to
 * plugin-generated WooCommerce loop titles so Shop, categories, related
 * products, upsells, cross-sells, Elementor product widgets, and mobile grids
 * all use the title's natural one- or two-line height.
 */
body ul.products li.product h2.woocommerce-loop-product__title.sl-display-title {
	display: block;
	height: auto !important;
	min-height: 0 !important;
	margin-block: 0 !important;
	padding-block: 0 !important;
	overflow: visible;
	white-space: normal;
}

/*
 * The site's decorative "PRODUCT FILE" pseudo-label has no interaction or
 * product data behind it. Suppress it on the main Shop without affecting
 * images, sale badges, stock overlays, links, or Quick View.
 */
body.woocommerce-shop li.product .astra-shop-thumbnail-wrap::after {
	display: none !important;
	content: none !important;
}

/*
 * Elementor's global page-title rule hides h1.entry-title. Restore only the
 * eligible WooCommerce product H1 generated by this plugin, plus its scoped
 * Astra Quick View equivalent.
 */
body.single-product div.product .summary h1.product_title.entry-title.sl-display-title,
#ast-quick-view-content h1.product_title.entry-title.sl-display-title {
	display: block !important;
}

.sl-product-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--sl-display-title-badge-gap);
	margin-block-start: var(--sl-display-title-badges-margin-block-start);
	margin-block-end: var(--sl-display-title-badges-margin-block-end);
}

.sl-product-badge {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: var(--sl-display-title-badge-padding-block) var(--sl-display-title-badge-padding-inline);
	border: 1px solid var(--sl-display-title-badge-border);
	border-radius: var(--sl-display-title-badge-radius);
	background: var(--sl-display-title-badge-bg);
	color: var(--sl-display-title-badge-text);
	font-size: var(--sl-display-title-badge-font-size);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: var(--sl-display-title-badge-letter-spacing);
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
}

.sl-product-badge--type,
.sl-product-badge--pack {
	color: var(--sl-display-title-badge-text);
}

@media (max-width: 480px) {
	:root {
		--sl-display-title-badge-gap: 0.3rem;
		--sl-display-title-badge-padding-block: 0.25rem;
		--sl-display-title-badge-padding-inline: 0.45rem;
		--sl-display-title-badge-font-size: 0.68rem;
	}
}
