/**
 * PLP — product category archive styles.
 *
 * Mobile-first breakpoints: base < 768px · tablet 768–1023px · desktop ≥ 1024px
 * (layout sidebar ≥ 1201px). Matches theme tokens in variables.css.
 */

.led-plp__main {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* PLP hero is full-bleed — no classic shell top pad above the banner. */
html body.led-plp-page .led-page__main--classic {
	padding-top: 0;
	padding-bottom: var(--space-8, 2rem);
}

@media (min-width: 768px) {
	html body.led-plp-page .led-page__main--classic {
		padding-bottom: var(--space-10, 2.5rem);
	}
}

@media (min-width: 981px) {
	html body.led-plp-page .led-page__main--classic {
		padding-bottom: var(--space-12, 3rem);
	}
}

/*
 * Divi TB body still owns many category archives: `.et_pb_row` gets max-width
 * 1368 but margin 0, so filters/products sit flush left while header/footer
 * `.led-wrap` is centered. Mirror wrap gutters until TB body is disabled.
 */
html body.led-plp-page .et-l--body .et_pb_row,
html body.led-plp-page #et-boc .et-l--body .et_pb_row {
	width: calc(100% - (2 * var(--layout-gutter, 24px))) !important;
	max-width: var(--layout-max-width, 1368px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 767px) {
	html body.led-plp-page .et-l--body .et_pb_row,
	html body.led-plp-page #et-boc .et-l--body .et_pb_row {
		width: calc(100% - (2 * var(--layout-gutter-mobile, 16px))) !important;
	}
}

/* -------------------------------------------------------------------------
   Hero / banner — replaces [category_header]
   ------------------------------------------------------------------------- */

.led-plp__hero {
	margin-bottom: var(--space-6, 24px);
}

.led-plp__hero-banner {
	width: 100%;
	min-height: 280px;
	background-color: var(--color-primary-950, #033f05);
	background-image: linear-gradient(
		272.97deg,
		rgb(3 63 5 / 0) 3.01%,
		rgb(3 63 5 / 0.9) 88.47%
	),
		var(--led-plp-hero-bg, none);
	background-size: cover;
	background-position: top center;
}

.led-plp__hero-banner-inner {
	padding-block: 0 var(--space-8, 32px);
}

.led-plp__hero-crumbs {
	padding-block: var(--space-4, 16px) var(--space-2, 8px);
}

.led-plp__hero-crumbs .led-crumbs {
	margin: 0;
	padding: 0;
	color: var(--color-neutral-0, #fff);
	line-height: var(--line-height-heading);
}

/* Hero crumbs: small-desktop (14px) above 1024; Extra Small ≤1024.
   Beat `html body.led-page .led-crumbs` (small) + Divi/list link sizes. */
html body.led-plp-page .led-plp__hero-crumbs,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__plugin a,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__plugin span.breadcrumb_last {
	font-size: var(--font-size-small-desktop, 14px);
	line-height: 1.2;
}

html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__list,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__item,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__link,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs a,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__item--current,
html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__item--current span {
	font-size: inherit !important;
	line-height: inherit;
}

@media (max-width: 1024px) {
	html body.led-plp-page .led-plp__hero-crumbs,
	html body.led-plp-page .led-plp__hero-crumbs .led-crumbs,
	html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__plugin a,
	html body.led-plp-page .led-plp__hero-crumbs .led-crumbs__plugin span.breadcrumb_last {
		font-size: var(--font-size-xxs);
	}
}

.led-plp__hero-crumbs .led-crumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.led-plp__hero-crumbs .led-crumbs__item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.led-plp__hero-crumbs .led-crumbs__item:not(:last-child)::after {
	content: "/";
	margin-inline: 0.5rem;
	color: rgb(255 255 255 / 70%);
	speak: never;
}

.led-plp__hero-crumbs .led-crumbs__link,
.led-plp__hero-crumbs .led-crumbs a {
	color: var(--color-neutral-0, #fff) !important;
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
}

.led-plp__hero-crumbs .led-crumbs__link:hover,
.led-plp__hero-crumbs .led-crumbs__link:focus,
.led-plp__hero-crumbs .led-crumbs a:hover,
.led-plp__hero-crumbs .led-crumbs a:focus {
	text-decoration: underline;
}

.led-plp__hero-crumbs .led-crumbs__item--current,
.led-plp__hero-crumbs .led-crumbs__item--current span,
.led-plp__hero-crumbs .led-crumbs__plugin span.breadcrumb_last,
.led-plp__hero-crumbs .led-crumbs span.breadcrumb_last {
	color: var(--color-neutral-0, #fff);
	font-weight: var(--font-weight-light);
}

/* Yoast / Rank Math breadcrumb output inside the hero. */
.led-plp__hero-crumbs .led-crumbs__plugin {
	display: block;
	margin: 0;
	padding: 0;
}

.led-plp__hero-crumbs .led-crumbs__plugin p,
.led-plp__hero-crumbs .led-crumbs__plugin span {
	margin: 0;
}

.led-plp__hero-crumbs .led-crumbs__plugin > span,
.led-plp__hero-crumbs .led-crumbs__plugin p > span {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.75rem;
}

.led-plp__hero-grid {
	display: flex;
	flex-direction: column;
	gap: var(--space-6, 24px);
	align-items: stretch;
}

.led-plp__hero-copy,
.led-plp__hero-aside {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.led-plp__hero-aside {
	margin-top: var(--space-6, 24px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: var(--space-6, 24px);
}

.led-plp__hero-title {
	margin: 0;
	color: var(--color-neutral-0, #fff);
}

.led-plp__hero-byline {
	margin: var(--space-2, 8px) 0 0;
	color: var(--color-neutral-0, #fff);
	font-weight: var(--font-weight-bold);
}

.led-plp__hero-subtitle {
	margin-top: var(--space-6, 24px);
	color: var(--color-neutral-0, #fff);
}

/* Beat Divi ul { list-style: none } — match .led-home__banner-list */
html body.led-plp-page .led-plp__hero-subtitle ul,
html body.led-plp-page .led-plp__hero-list {
	margin: 0 0 var(--space-2, 8px);
	padding-left: 1.25em;
	list-style: disc;
	list-style-type: disc;
	list-style-position: outside;
	color: inherit;
}

html body.led-plp-page .led-plp__hero-subtitle li,
html body.led-plp-page .led-plp__hero-list li {
	display: list-item;
	margin: 0 0 var(--space-2, 8px);
	padding: 0;
	font-size: var(--font-size-small);
	line-height: var(--line-height-body);
	list-style: disc;
	list-style-type: disc;
	color: inherit;
}

html body.led-plp-page .led-plp__hero-subtitle li:last-child,
html body.led-plp-page .led-plp__hero-list li:last-child {
	margin-bottom: 0;
}

html body.led-plp-page .led-plp__hero-subtitle li::marker,
html body.led-plp-page .led-plp__hero-list li::marker {
	color: inherit;
	font-size: var(--font-size-xxs);
}

.led-plp__hero-actions {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: var(--space-6, 24px);
	width: 100%;
	margin-top: var(--space-3, 12px);
	margin-bottom: var(--space-6, 24px);
}

.led-plp__hero-subtitle + .led-plp__hero-actions,
.led-plp__hero-list + .led-plp__hero-actions {
	margin-top: var(--space-6, 24px);
}

.led-plp__hero-browse,
.led-plp__hero-plan {
	min-height: 40px;
	padding: 15px 20px;
	font-size: var(--font-size-btn);
	line-height: var(--line-height-button);
	font-weight: var(--font-weight-button);
}

.led-plp__hero-product {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
}

.led-plp__hero-product-img {
	max-height: 240px;
	width: auto;
	height: auto;
	object-fit: scale-down;
}

.led-plp__hero-mobile-media,
.led-plp__hero-mobile-icons {
	display: block;
}

.led-plp__hero-mobile-icons {
	margin-bottom: var(--space-6, 24px);
}

.led-plp__hero-quality {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-6, 24px);
	padding-block: var(--space-7, 28px) var(--space-6, 24px);
	text-align: center;
}

.led-plp__hero-quality-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-3, 12px);
}

.led-plp__hero-quality-icons img {
	max-width: 40px;
	width: 40px;
	height: 40px;
}

.led-plp__hero-quality-title {
	max-width: 310px;
	margin: 0;
	color: var(--color-primary-700, #088c43);
	font-family: var(--font-family-heading, Oswald, sans-serif);
	font-size: var(--font-size-h2);
	font-weight: var(--font-weight-heading);
	line-height: var(--line-height-heading);
	text-transform: var(--text-transform-heading, uppercase);
	letter-spacing: var(--letter-spacing-heading);
}

.led-plp__hero-quality-subtitle {
	max-width: 300px;
	margin: 0;
	color: var(--color-primary-700, #088c43);
	font-family: var(--font-family-heading, Oswald, sans-serif);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-heading);
	line-height: var(--line-height-heading);
	text-transform: var(--text-transform-heading, uppercase);
	letter-spacing: var(--letter-spacing-heading);
}

.led-plp__hero-stamp {
	width: 73px;
	height: 73px;
}

.led-plp__section-title {
	font-size: var(--font-size-h3);
	margin: 0 0 var(--space-4, 16px);
}

/* View More excerpt — one HTML copy; collapse via line-clamp (prod category_header) */
.led-plp__readmore {
	padding-block: var(--space-4, 16px) var(--space-6, 24px);
}

.led-plp__readmore-inner {
	display: flex;
	flex-direction: column;
}

.led-plp__readmore-content {
	color: var(--color-text-muted);
	font-family: var(--font-family-body, Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	letter-spacing: var(--letter-spacing-body);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	max-height: calc(var(--line-height-body) * 2);
}

.led-plp__readmore-content p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.led-plp__readmore.is-expanded .led-plp__readmore-content {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
	max-height: none;
}

.led-plp__readmore-toggle.led-btn {
	display: block;
	width: 100%;
	min-height: auto;
	margin-top: var(--space-2, 8px);
	padding: 0;
	justify-content: center;
	text-align: center;
	font-family: var(--font-family-body, Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: var(--line-height-body);
	letter-spacing: var(--letter-spacing-body);
	text-transform: var(--text-transform-body, none);
}

.led-plp__readmore-toggle[hidden] {
	display: none !important;
}

@media (min-width: 768px) and (max-width: 980px) {
	.led-plp__readmore-content,
	.led-plp__readmore-toggle.led-btn,
	.led-plp__hero-quality-subtitle {
		font-size: var(--font-size-body-tablet, var(--font-size-body));
	}

	.led-plp__hero-quality-title,
	.led-plp__plan-title {
		font-size: var(--font-size-h2-tablet, var(--font-size-h2));
	}

	.led-plp__hero-browse,
	.led-plp__hero-plan {
		font-size: var(--font-size-btn-tablet, var(--font-size-btn));
	}
}

@media (min-width: 981px) {
	.led-plp__readmore-content,
	.led-plp__readmore-toggle.led-btn,
	.led-plp__hero-quality-subtitle {
		font-size: var(--font-size-body-desktop, var(--font-size-body));
	}

	.led-plp__hero-quality-title,
	.led-plp__plan-title {
		font-size: var(--font-size-h2-desktop, var(--font-size-h2));
	}

	.led-plp__hero-browse,
	.led-plp__hero-plan {
		font-size: var(--font-size-btn-desktop, var(--font-size-btn));
	}
}

/* Subcategories — full-bleed primary-50 band (prod `.top-cat-banner`) */
.led-plp__subcategories {
	width: 100%;
	margin-block: 0;
	padding-block: var(--space-2, 8px) var(--space-6, 24px);
	background: var(--color-primary-50, #eaf5ef);
}

/* Space between subcat band and filters + product loop (prod ~24px). */
.led-plp__shop {
	margin-top: var(--space-6, 24px);
}

.led-plp__subcategories-inner {
	display: block;
	padding-block: var(--space-4, 16px);
}

.led-plp__subcat-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.led-plp__subcat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-3, 12px);
	/* Prod `.subcategory-card` padding */
	padding: 30px 20px;
	border: 1px solid var(--color-neutral-200, #e2e2e2);
	border-radius: 10px;
	background: var(--color-neutral-0, #fff);
	color: var(--color-text, #000);
	font-weight: var(--font-weight-semibold);
	text-align: center;
	text-decoration: none;
	box-shadow: 0 15px 40px rgb(160 160 160 / 21%);
	transition: border-color 0.2s ease;
}

.led-plp__subcat-card:hover,
.led-plp__subcat-card:focus-visible {
	border-color: var(--color-primary-500, #078a3e);
	text-decoration: underline;
}

.led-plp__subcat-media {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

/*
 * Cap thumbs at 100px (prod `picture.subcategory-image>img`).
 * Beat `.woocommerce img { max-width: 100% }` which was letting them fill the card.
 */
html body.led-plp-page .led-plp__subcat-card img.led-plp__subcat-img,
html body.woocommerce.led-plp-page .led-plp__subcat-card img.led-plp__subcat-img,
html body.led-plp-page .led-plp__subcat-card .led-plp__subcat-img {
	display: block;
	width: auto !important;
	max-width: 100px !important;
	height: auto !important;
	margin: 0 auto;
}

/* Prod `.subcategory-title` = 16px uppercase (not xxs / small). */
.led-plp__subcat-name {
	font-size: 16px;
	font-weight: var(--font-weight-semibold, 600);
	line-height: var(--line-height-heading);
	text-transform: var(--text-transform-heading, uppercase);
}

/* Filters + loop layout */
.led-plp__layout {
	display: flex;
	flex-direction: column;
	gap: var(--space-6, 24px);
	margin-bottom: var(--space-6, 24px);
}

.led-plp__filters {
	flex: 1 1 100%;
	border: 1px solid var(--color-neutral-200, #eee);
	border-radius: 12px;
	overflow: hidden;
}

.led-plp__filters-title {
	display: block;
	width: 100%;
	padding: 8px 12px;
	background: var(--color-neutral-100, #eee);
	font-weight: var(--font-weight-bold);
}

.led-plp__filters-body {
	padding: 12px;
}

.led-plp__products {
	flex: 1 1 auto;
	min-width: 0;
}

.led-plp__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3, 12px);
	margin-bottom: var(--space-4, 16px);
}

.led-plp__toolbar-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3, 12px);
	margin-right: auto;
	min-width: 0;
}

.led-plp__ordering {
	margin-left: auto;
}

/* Undo WC float/margin on toolbar widgets inside our flex bar. */
.led-plp-page .led-plp__toolbar .woocommerce-result-count,
.led-plp-page .led-plp__toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
}

.led-plp__view-all {
	margin: 0;
}

.led-plp__view-all-toggle {
	color: var(--color-link, #1c86ff);
	font-weight: var(--font-weight-semibold);
	text-decoration: underline;
	white-space: nowrap;
}

/* Product list — single column rows */
html body.led-plp-page ul.products,
html body.woocommerce.led-plp-page ul.products,
html body.woocommerce-page.led-plp-page ul.products {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

html body.led-plp-page ul.products::before,
html body.led-plp-page ul.products::after {
	display: none;
}

/*
 * Beat WooCommerce grid cards:
 * `.woocommerce ul.products li.product { float; margin: 0 3.8% 2.992em 0; width: 22.05% }`
 *
 * Equal breathing room: padding-bottom (specs → separator)
 * matches margin-bottom (separator → next row).
 */
html body.woocommerce.led-plp-page ul.products li.product.led-plp-row,
html body.woocommerce-page.led-plp-page ul.products li.product.led-plp-row,
html body.led-plp-page.woocommerce ul.products li.product.led-plp-row {
	--led-plp-row-gap: var(--space-6, 24px);

	float: none !important;
	clear: none !important;
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 var(--led-plp-row-gap) !important;
	padding: 0 0 var(--led-plp-row-gap) !important;
	border-bottom: 1px solid var(--color-neutral-300, #ccc);
	box-sizing: border-box;
}

/* Product row — mobile-first: stacked image → copy; purchase/CTAs full width. */
.led-plp-row__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-6, 24px);
}

.led-plp-row__media {
	flex: 0 0 auto;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.led-plp-row__media-link {
	display: block;
	max-width: 200px;
}

.led-plp-row__image {
	width: auto;
	height: auto;
	max-width: 100%;
}

.led-plp-row__body {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3, 12px);
}

.led-plp-row__head {
	display: flex;
	flex-direction: column;
	gap: var(--space-1, 4px);
}

html body.led-plp-page .led-plp-row__title,
.led-plp-row__title {
	margin: 0;
	font-family: var(--font-family-heading, Oswald, sans-serif);
	font-size: var(--font-size-h2);
	line-height: var(--line-height-heading);
	font-weight: var(--font-weight-heading);
	text-transform: var(--text-transform-heading, uppercase);
	letter-spacing: var(--letter-spacing-heading);
}

.led-plp-row__title-link {
	color: var(--color-text, #000);
	text-decoration: none;
	text-transform: inherit;
}

.led-plp-row__title-link:hover {
	text-decoration: underline;
}

.led-plp-row__spec {
	font-size: var(--font-size-small);
	color: var(--color-text-muted, #646464);
}

.led-plp-row__description {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-3, 12px);
	width: 100%;
}

.led-plp-row__meta {
	display: flex;
	flex-direction: column;
	gap: var(--space-2, 8px);
	width: 100%;
	min-width: 0;
	font-size: var(--font-size-small);
	line-height: var(--line-height-relaxed);
}

/*
 * WooCommerce: `.woocommerce ul.products li.product strong { display:block }`
 * stacks SKU / Web ID / Availability labels. Keep PLP labels inline.
 */
html body.woocommerce.led-plp-page ul.products li.product.led-plp-row strong,
html body.led-plp-page.woocommerce ul.products li.product.led-plp-row strong,
html body.woocommerce.led-plp-page ul.products li.product.led-plp-row b {
	display: inline;
}

.led-plp-row__ids {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 4px;
	color: var(--color-text, #000);
	text-decoration: none;
	margin-bottom: 6px;
	white-space: nowrap;
	max-width: 100%;
	overflow-x: auto;
}

.led-plp-row__id {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	white-space: nowrap;
}

.led-plp-row__id-label,
.led-plp-row__id-value {
	display: inline;
	white-space: nowrap;
}

.led-plp-row__id-sep {
	display: inline;
	opacity: 0.6;
	flex: 0 0 auto;
}

/* Availability — same pattern as PDP: one theme SVG, hide legacy .info-icon */
.led-plp-row__inventory.inventory-container,
.led-plp-row__inventory.custom-shop-loop-inventory-container {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3, 0.75rem);
	color: var(--color-text, #000);
	background: var(--color-primary-50, #eaf5ef);
	border-radius: 16px;
	padding: 12px 20px;
	box-sizing: border-box;
}

.led-plp-row__inventory-icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	line-height: 0;
}

.led-plp-row__inventory-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.led-plp-row__inventory-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-2, 8px);
	flex: 1 1 auto;
	min-width: 0;
}

.led-plp-row__inventory-body > .inventory-container {
	display: flex;
	flex-direction: column;
	gap: var(--space-2, 8px);
	padding: 0;
	background: transparent;
	border-radius: 0;
}

.led-plp-row__inventory .info-icon,
.led-plp-row__inventory .item > .info-icon {
	display: none !important;
}

.led-plp-row__inventory .item > p:empty,
.led-plp-row__inventory-body .item > p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.led-plp-row__inventory .item,
.led-plp-row__inventory-body > .item {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	font-size: var(--font-size-small, 14px);
	line-height: 1.4;
	color: var(--color-text, #000);
}

.led-plp-row__inventory .item-text {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-2, 8px);
}

.led-plp-row__inventory .item-text strong,
.led-plp-row__inventory .make-bold {
	display: inline;
	font-weight: 700;
	color: var(--color-text, #000);
	margin-right: 5px;
}

.led-plp-row__specs.short-description {
	display: flex;
	gap: var(--space-6, 24px);
	margin: var(--space-2, 8px) 0 0 12px;
	color: var(--color-text, #000);
}

.led-plp-row__specs.short-description ul {
	margin: 0;
	padding-left: 1.1em;
}

.led-plp-row__specs.short-description ul li {
	list-style: disc;
	font-size: 12px;
	line-height: 16px;
}

.led-plp-row__specs.short-description ul li b,
.led-plp-row__specs.short-description ul li strong {
	font-weight: var(--font-weight-semibold);
	color: var(--color-text, #000);
}

.led-plp-row__purchase {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	gap: var(--space-3, 12px);
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.led-plp-row__purchase-inner {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: var(--space-3, 12px);
	width: 100%;
}

/*
 * Label + amount as a flex row — vertically center “Starting At” with the price
 * (overrides.css uses vertical-align: baseline on `.price span`).
 */
html body.led-plp-page .led-plp-row__price,
.led-plp-row__price {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
}

/*
 * overrides.css styles all `.price span` as Components/Price.
 * Reset the “Starting At” label to body type (prod ~15px black).
 */
html body.led-plp-page .led-plp-row__price > .led-product__price-title,
html body.led-plp-page .led-plp-row__price > .price-title {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-family-body);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-body);
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	color: var(--color-text, #000);
	margin: 0 6px 0 0;
	vertical-align: middle;
}

html body.led-plp-page .led-plp-row__price .woocommerce-Price-amount,
html body.led-plp-page .led-plp-row__price .woocommerce-Price-amount bdi,
html body.led-plp-page .led-plp-row__price .amount {
	display: inline-flex;
	align-items: center;
	color: var(--color-primary-500, #45b449);
	font-family: var(--font-family-price);
	font-size: var(--font-size-price);
	font-weight: var(--font-weight-price, 700);
	line-height: 1;
	vertical-align: middle;
}

.led-plp-row__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-3, 12px);
	width: 100%;
}

html body.led-plp-page .led-plp-row__view-btn,
html body.led-plp-page .led-plp-row__contractor-btn,
.led-plp-row__view-btn,
.led-plp-row__contractor-btn {
	display: flex;
	width: 100%;
	max-width: none;
	flex: 0 0 auto;
	align-self: stretch;
	min-height: 49px;
	border-radius: 8px;
	font-weight: var(--font-weight-semibold, 600);
	text-align: center;
	box-sizing: border-box;
}

/* Prod: View Options filled; Get Bulk Pricing outline (not primary fill). */
.led-plp-page .led-plp-row__contractor-btn.get-contractor-btn {
	background-color: transparent;
	border: 1px solid var(--color-primary-500, #45b449);
	color: var(--color-primary-500, #45b449);
}

.led-plp-page .led-plp-row__contractor-btn.get-contractor-btn:hover:not(:disabled):not([disabled]):not(.is-disabled):not([aria-disabled="true"]) {
	background-color: var(--color-primary-500, #45b449);
	border-color: var(--color-primary-500, #45b449);
	color: var(--color-neutral-0, #fff);
}

.led-plp-row__icons,
.led-plp-row__icons .icons {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	margin-top: var(--space-3, 12px);
}

.led-plp-row__icons .icons {
	margin-top: 0;
}

.led-plp-row__icons img,
.led-plp-row__icons .icons img {
	display: inline-block;
	width: 37px;
	max-width: 37px;
	height: auto;
	margin: 0;
	flex: 0 0 auto;
}

/* Keep product thumb from stretching full-bleed / wrapping the row. */
.led-plp-page.woocommerce ul.products li.product.led-plp-row img.led-plp-row__image,
.woocommerce.led-plp-page ul.products li.product.led-plp-row img.led-plp-row__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Divi/WC default loop cards should not appear on theme PLP rows. */
.led-plp-page ul.products > li.product:not(.led-plp-row) .et_shop_image,
.led-plp-page ul.products > li.product:not(.led-plp-row) .et_overlay {
	display: none !important;
}

/* Plan banner — prod `.plan-banner` control (white, compact; CTA shrink-wrapped). */
.led-plp__plan-banner {
	padding-block: 28px;
}

.led-plp__plan-inner {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px 36px 24px 24px;
	border: 1px solid var(--color-neutral-200, #e2e2e2);
	border-radius: 10px;
	background: var(--color-neutral-0, #fff);
}

.led-plp__plan-title {
	margin: 0;
	color: var(--color-text, #000);
	font-family: var(--font-family-heading, Oswald, sans-serif);
	font-size: var(--font-size-h2);
	font-weight: var(--font-weight-heading);
	line-height: var(--line-height-heading);
	text-transform: var(--text-transform-heading, uppercase);
	letter-spacing: var(--letter-spacing-heading);
}

.led-plp__plan-body {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 19px;
}

.led-plp__plan-cta.led-btn {
	align-self: flex-start;
	width: auto;
	min-width: 0;
	min-height: 0;
	padding: 8px 15px;
	border-radius: 8px;
	font-weight: var(--font-weight-bold, 700);
	text-align: center;
	margin-top: 0;
}

.led-plp__plan-list {
	flex: 0 0 50%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.led-plp__plan-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding-bottom: 8px;
	color: #33475b;
}

.led-plp__plan-item:last-child {
	padding-bottom: 0;
}

.led-plp__plan-check {
	flex: 0 0 31px;
	width: 31px;
	height: 31px;
}

.led-plp__plan-images {
	flex: 0 0 50%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 19px;
}

.led-plp__plan-images img {
	flex: 1 1 50%;
	max-width: 234px;
	max-height: 165px;
	width: 49%;
	height: auto;
	object-fit: cover;
	border-radius: 12px;
}

@media (max-width: 1024px) {
	.led-plp__plan-inner {
		padding: 24px;
	}

	.led-plp__plan-body {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.led-plp__plan-list,
	.led-plp__plan-images {
		flex: 1 1 auto;
		width: 100%;
	}

	.led-plp__plan-images {
		justify-content: center;
	}

	.led-plp__plan-images img {
		flex: 0 1 50%;
		width: 45%;
	}

	.led-plp__plan-cta.led-btn {
		align-self: stretch;
		width: 100%;
		margin-top: 24px;
	}
}

/* Below-fold content */
.led-plp__content {
	margin-top: var(--space-8, 32px);
	padding-top: var(--space-8, 32px);
	border-top: 1px solid var(--color-neutral-200, #ddd);
}

.led-plp__content-inner table {
	width: 100%;
	max-width: 100%;
}

/* Category content lists — Divi resets ul/ol; restore editor bullets */
html body.led-plp-page .led-plp__content-inner ul {
	margin: 0 0 1em;
	padding-left: 1.25em;
	list-style: disc;
	list-style-type: disc;
	list-style-position: outside;
}

html body.led-plp-page .led-plp__content-inner ol {
	margin: 0 0 1em;
	padding-left: 1.25em;
	list-style: decimal;
	list-style-type: decimal;
	list-style-position: outside;
}

html body.led-plp-page .led-plp__content-inner li {
	display: list-item;
	margin: 0 0 var(--space-2, 8px);
}

html body.led-plp-page .led-plp__content-inner li:last-child {
	margin-bottom: 0;
}

/* Pagination — single outer shell; no nested gray boxes */
.led-plp-page .woocommerce-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: var(--space-6, 24px);
}

.led-plp-page .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--color-neutral-300, #bfbfbf);
	border-radius: 8px;
	overflow: hidden;
	background: var(--color-neutral-0, #fff);
}

.led-plp-page .woocommerce-pagination ul.page-numbers > li {
	display: flex;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--color-neutral-300, #bfbfbf);
}

.led-plp-page .woocommerce-pagination ul.page-numbers > li:first-child {
	border-left: 0;
}

.led-plp-page .woocommerce-pagination ul.page-numbers .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	margin: 0;
	padding: 0.35rem 0.85rem;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
	color: var(--color-link, #1c86ff);
	text-decoration: none;
	box-sizing: border-box;
	line-height: 1;
}

.led-plp-page .woocommerce-pagination ul.page-numbers .page-numbers.current {
	background: var(--color-link, #1c86ff);
	color: var(--color-neutral-0, #fff);
}

.led-plp-page .woocommerce-pagination ul.page-numbers a.page-numbers:hover {
	background: var(--color-neutral-50, #f5f5f5);
}

@media (min-width: 357px) {
	.led-plp__subcat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.led-plp__subcat-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 981px) {
	.led-plp__subcat-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

@media (min-width: 481px) {
	.led-plp-row__icons img {
		width: 48px;
		max-width: 48px;
	}
}

@media (min-width: 768px) {
	.led-plp-page .led-plp__plan-banner {
		display: block;
	}

	.led-plp-row__title {
		font-size: var(--font-size-h2-tablet, var(--font-size-h2));
	}

	.led-plp-row__specs.short-description ul li {
		font-size: 14px;
		line-height: 21px;
	}

	html body.led-plp-page .led-plp-row__price .woocommerce-Price-amount,
	html body.led-plp-page .led-plp-row__price .woocommerce-Price-amount bdi,
	html body.led-plp-page .led-plp-row__price .amount {
		font-size: var(--font-size-price-tablet, var(--font-size-price));
	}
}

@media (min-width: 981px) {
	.led-plp-row__title {
		font-size: var(--font-size-h2-desktop, 25px);
	}

	.led-plp-row__ids {
		font-size: var(--font-size-small-desktop, 14px);
	}

	html body.led-plp-page .led-plp-row__price .woocommerce-Price-amount,
	html body.led-plp-page .led-plp-row__price .woocommerce-Price-amount bdi,
	html body.led-plp-page .led-plp-row__price .amount {
		font-size: var(--font-size-price-desktop, 25px);
	}
}

/*
 * ≥1201: image left of details. Meta + purchase still stacked so CTAs /
 * icons stay full width of the copy column (mobile-first purchase rules).
 */
@media (min-width: 1201px) {
	.led-plp-row__inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 0;
	}

	.led-plp-row__media {
		flex: 0 0 200px;
		width: 200px;
		padding: 0 36px 0 0;
		align-self: center;
	}

	.led-plp-row__body {
		/* Remaining row width — not 100% of the whole row (avoids overflow). */
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}

	.led-plp-row__specs.short-description {
		margin-left: 15px;
	}

	.led-plp-row__description {
		gap: 2px;
	}
}

/*
 * ≥1401: meta | purchase side-by-side. CTAs stay stacked + 100% of the
 * purchase column (248–320px), not the full row.
 */
@media (min-width: 1401px) {
	.led-plp-row__description {
		flex-direction: row;
		align-items: flex-start;
		gap: var(--space-3, 12px);
	}

	.led-plp-row__meta {
		flex: 1 1 60%;
		width: auto;
		min-width: 0;
	}

	.led-plp-row__purchase {
		flex: 1 0 auto;
		width: auto;
		min-width: 248px;
		max-width: 320px;
	}
}

@media (min-width: 1024px) {
	.led-plp__hero-banner {
		min-height: 400px;
	}

	.led-plp__hero-grid {
		flex-direction: row;
		justify-content: space-between;
		gap: var(--space-8, 32px);
		align-items: flex-start;
	}

	.led-plp__hero-copy {
		flex: 0 1 60%;
		max-width: 60%;
	}

	.led-plp__hero-aside {
		flex: 0 1 40%;
		max-width: 40%;
		margin-top: 0;
		justify-content: flex-end;
	}

	.led-plp__hero-crumbs {
		padding-block: var(--space-5, 20px) var(--space-3, 12px);
	}

	html body.led-plp-page .led-plp__hero-subtitle li,
	html body.led-plp-page .led-plp__hero-list li {
		font-size: var(--font-size-body-desktop, var(--font-size-body));
	}

	.led-plp__hero-actions {
		flex-direction: row;
		width: auto;
	}

	.led-plp__hero-product-img {
		max-height: 320px;
	}

	.led-plp__hero-mobile-media,
	.led-plp__hero-mobile-icons {
		display: none;
	}

	.led-plp__hero-quality {
		flex-direction: row;
		text-align: left;
	}

	.led-plp__hero-quality-icons img {
		max-width: 68px;
		width: 68px;
		height: 68px;
	}

	.led-plp__hero-quality-subtitle {
		text-align: left;
	}

}

@media (min-width: 1201px) {
	.led-plp__layout {
		flex-direction: row;
	}

	.led-plp__filters {
		flex: 0 0 250px;
	}
}
