/*
 * SD Product Content — structured description layout on single product pages.
 *
 * Markup (generated by tools/sd-product-content/lib/render.php, stored in post_content):
 *   .sd-pc > .sd-pc__main (overview / benefits / who / sizing / care / faqs)
 *          > .sd-pc__side (specs table / what's included)
 * Tokens follow the 2026 house palette shared by sd-help.css / sd-product-summary.css.
 */

.sd-pc {
	--pc-green: #018436;
	--pc-green-dark: #01682b;
	--pc-green-tint: #eaf4ee;
	--pc-gold: #f5a623;
	--pc-gold-ink: #8a5600;
	--pc-chalk: #f7f5ef;
	--pc-ink: #1b1b1a;
	--pc-ink-soft: #4a4746;
	--pc-border: #e4e0d8;
	--pc-font-head: 'Archivo', Arial, sans-serif;
	--pc-font-body: 'Montserrat', Arial, sans-serif;

	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	color: var(--pc-ink);
	font-family: var(--pc-font-body);
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}

@media (min-width: 1024px) {
	.sd-pc {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 48px;
		align-items: start;
	}
	.sd-pc--no-side {
		grid-template-columns: minmax(0, 760px);
	}
	.sd-pc__side {
		position: sticky;
		top: 24px;
	}
}

/* Give the Description tab the full content width where the structured layout is present.
   The parent theme wraps every tab panel in a centred large-8 / xlarge-6 column. */
body.sd-pc-active .product_layout_classic .woocommerce-tabs #tab-description > .row > .columns {
	width: 100%;
	max-width: 1180px;
	float: none;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Sections ---------- */

.sd-pc__section + .sd-pc__section {
	margin-top: 28px;
}

.sd-pc h2.sd-pc__heading {
	font-family: var(--pc-font-head);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pc-ink);
	margin: 0 0 12px;
	padding: 0 0 8px;
	border-bottom: 2px solid var(--pc-gold);
	display: inline-block;
}

.sd-pc p {
	margin: 0 0 12px;
	color: var(--pc-ink);
}
.sd-pc p:last-child {
	margin-bottom: 0;
}

.sd-pc a {
	color: var(--pc-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.sd-pc a:hover {
	color: var(--pc-green-dark);
}

/* Overview: slightly larger lede */
.sd-pc__overview p:first-child {
	font-size: 16.5px;
	line-height: 1.55;
}

/* Benefits: check-marked list */
.sd-pc__benefits ul,
.sd-pc__included ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sd-pc__benefits li {
	position: relative;
	padding: 0 0 0 30px;
	margin: 0 0 10px;
}
.sd-pc__benefits li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--pc-green-tint);
}
.sd-pc__benefits li::after {
	content: '';
	position: absolute;
	left: 6px;
	top: 9px;
	width: 5px;
	height: 9px;
	border: solid var(--pc-green);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* ---------- Side column: specs + included ---------- */

.sd-pc__side .sd-pc__section {
	background: var(--pc-chalk);
	border: 1px solid var(--pc-border);
	border-radius: 6px;
	padding: 20px 22px;
}
.sd-pc__side .sd-pc__section + .sd-pc__section {
	margin-top: 20px;
}
.sd-pc__side h2.sd-pc__heading {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pc-gold-ink);
	border-bottom: 0;
	padding: 0;
	margin: 0 0 12px;
	display: block;
}

.sd-pc table.sd-pc__specs-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 14px;
}
.sd-pc table.sd-pc__specs-table th,
.sd-pc table.sd-pc__specs-table td {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--pc-border);
	vertical-align: top;
	text-align: left;
	font-size: 14px;
	line-height: 1.45;
}
.sd-pc table.sd-pc__specs-table tr:last-child th,
.sd-pc table.sd-pc__specs-table tr:last-child td {
	border-bottom: 0;
}
.sd-pc table.sd-pc__specs-table th {
	width: 42%;
	padding-right: 12px;
	font-weight: 600;
	color: var(--pc-ink-soft);
}
.sd-pc table.sd-pc__specs-table td {
	color: var(--pc-ink);
	font-weight: 500;
}

.sd-pc__included li {
	position: relative;
	padding: 0 0 0 18px;
	margin: 0 0 6px;
	font-size: 14px;
}
.sd-pc__included li::before {
	content: '';
	position: absolute;
	left: 2px;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pc-gold);
}

/* ---------- FAQ ---------- */

.sd-pc__faq {
	padding: 14px 0;
	border-top: 1px solid var(--pc-border);
}
.sd-pc__faq:last-child {
	border-bottom: 1px solid var(--pc-border);
}
.sd-pc h3.sd-pc__faq-q {
	font-family: var(--pc-font-head);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pc-ink);
	margin: 0 0 6px;
}
.sd-pc p.sd-pc__faq-a {
	margin: 0;
	color: var(--pc-ink-soft);
}

/* ---------- Short description in the summary column ---------- */

.single-product .product_infos .woocommerce-product-details__short-description {
	margin: 0 0 18px;
}
.single-product .product_infos .woocommerce-product-details__short-description p {
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 14.5px;
	line-height: 1.6;
	color: #4a4746;
	margin: 0 0 10px;
}
.single-product .product_infos .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* ---------- Small screens ---------- */

@media (max-width: 767px) {
	.sd-pc {
		font-size: 15px;
		gap: 28px;
	}
	.sd-pc h2.sd-pc__heading {
		font-size: 18px;
	}
	.sd-pc__side .sd-pc__section {
		padding: 16px 18px;
	}
}
