/* Product blocks. Tokens with safe fallbacks so they work with any theme. */

/* Badges: one per product. */
.pc-badge {
	display: inline-block;
	font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	line-height: 1; padding: 0.45em 0.65em;
	border-radius: var(--wp--custom--radius--small, 4px);
	background: var(--wp--preset--color--sale, #9c3d1f); color: var(--wp--preset--color--on-primary, #fff);
}
.pc-badge--bestseller { background: var(--wp--preset--color--inverse, #1b1f1d); color: var(--wp--preset--color--highlight, #e8c66b); }
.pc-badge--new { background: var(--wp--preset--color--primary, #1f4d3f); color: var(--wp--preset--color--on-primary, #fff); }
.pc-badge--limited { background: var(--wp--preset--color--highlight, #b7791f); color: var(--wp--preset--color--inverse, #1b1f1d); }
.pc-badge--soldout { background: var(--wp--preset--color--surface-alt, #eee); color: var(--wp--preset--color--text-secondary, #444); }

/* Sections on the product page. */
.pc-product-section__title { margin: 0 0 0.75rem; }
.pc-ticks, .pc-box-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.pc-ticks li, .pc-box-list li { position: relative; padding-left: 1.75rem; }
.pc-ticks li::before {
	content: ""; position: absolute; left: 0; top: 0.25em; width: 1.1rem; height: 1.1rem;
	background: var(--wp--preset--color--accent, #2f7d62);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.pc-box-list li::before {
	content: ""; position: absolute; left: 0.35rem; top: 0.6em; width: 0.4rem; height: 0.4rem; border-radius: 50%;
	background: var(--wp--preset--color--highlight, #b7791f);
}

.pc-spec-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.pc-spec-table th, .pc-spec-table td { text-align: left; padding: 0.7rem 0.75rem; border-bottom: 1px solid var(--wp--preset--color--border, #ddd); vertical-align: top; }
.pc-spec-table th { width: 40%; font-weight: 600; color: var(--wp--preset--color--muted, #666); }
.pc-spec-table td { font-weight: 600; color: var(--wp--preset--color--heading, inherit); }
.pc-spec-table tr:nth-child(odd) { background: var(--wp--preset--color--surface-alt, #f5f5f5); }

.pc-faq-list { border-top: 1px solid var(--wp--preset--color--border, #ddd); }
.pc-faq { border-bottom: 1px solid var(--wp--preset--color--border, #ddd); }
.pc-faq summary {
	cursor: pointer; list-style: none; padding: 1rem 2rem 1rem 0; position: relative;
	font-weight: 700; color: var(--wp--preset--color--heading, inherit);
}
.pc-faq summary::-webkit-details-marker { display: none; }
.pc-faq summary::after { content: "+"; position: absolute; right: 0.25rem; top: 0.85rem; font-size: 1.25rem; font-weight: 400; color: var(--wp--preset--color--primary, currentColor); }
.pc-faq[open] summary::after { content: "–"; }
.pc-faq__answer { padding: 0 0 1rem; color: var(--wp--preset--color--text-secondary, inherit); }
.pc-faq__answer p { margin: 0 0 0.5rem; }

.pc-block-placeholder { border: 1px dashed currentColor; padding: 0.5rem 0.75rem; border-radius: 4px; }
