/* Shared presentation contract. Loaded after legacy templates and theme-kit styles.
 * Important declarations intentionally supersede saved inline heading/button styles. */
.vscds-unified-appearance {
	--vscds-navy: var(--vsc-color-heading);
	--vsc-home-ink: var(--vsc-color-heading);
	--vscds-product-navy: var(--vsc-color-heading);
	--vscds-product-purple: var(--vsc-color-purple-700);
}
.vscds-unified-appearance :is(h1, h2, h3, h4, h5, h6) {
	color: var(--vsc-color-heading) !important;
	font-family: var(--vsc-font-family-heading) !important;
	text-transform: none !important;
	line-height: 1.2;
	overflow-wrap: break-word;
}
.vscds-unified-appearance :is(.site-content, .entry-content, .woocommerce-products-header, .summary) h1 {
	font-size: var(--vsc-font-size-page-title) !important;
	line-height: 1.15 !important;
	letter-spacing: -.025em;
}
.vscds-unified-appearance.single-product h1.product_title {
	font-size: var(--vsc-font-size-product-title) !important;
}
.vscds-unified-appearance #homepage-hero-heading {
	font-family: Georgia, 'Times New Roman', serif !important;
	white-space: normal !important;
}
.vscds-unified-appearance :is(.site-content, .entry-content) h2 {
	font-size: 1.75rem !important;
	line-height: 1.25 !important;
}
.vscds-unified-appearance :is(.site-content, .entry-content) h3 {
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
}
/* Headings on surfaces that stay dark (footer, homepage journey selector, purple CTA panels)
   keep white text; the shared heading ink is for light surfaces (WCAG 1.4.3). */
.vscds-unified-appearance :is(.site-footer, .vscds-home-navigator, .vsc-primary-cta) :is(h1, h2, h3, h4, h5, h6) {
	color: #fff !important;
}
/* Dark feature panels use the same light surface so headings keep one colour. */
.vscds-unified-appearance .vscds-home-pathway {
	background: var(--vsc-color-surface-subtle);
	color: var(--vsc-color-text-primary);
}
.vscds-unified-appearance .vscds-home-pathway li {
	background: #fff;
	color: var(--vsc-color-text-primary);
	border-color: var(--vsc-color-border-subtle);
}
.vscds-unified-appearance.single-product.vscds-product-page form.cart .single_add_to_cart_button,
.vscds-unified-appearance :is(.vscds-launch-actions a, .vscds-home-hero-actions a, .vsc-primary-cta a,
.vscds-intent-actions a, .wp-block-button__link, .vsc-button,
.vscds-product-search button, .woocommerce a.button, .woocommerce button.button, .single_add_to_cart_button,
.vscds-not-found .search-form button, .vscds-not-found .search-submit,
.vscds-expert-actions a, .vscds-p1-action-primary, .vscds-p1-action-secondary, .ff-btn-submit, .ff-btn-secondary,
.vscds-substantive-hero a, .vscds-p1-review-link, .vscds-home-navigator-action, .vscds-home-conversion > a) {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .75rem 1.5rem !important;
	border: 2px solid var(--vsc-color-purple-700) !important;
	border-radius: var(--vsc-radius-pill) !important;
	background: var(--vsc-color-purple-700) !important;
	color: #fff !important;
	font: 600 1rem/1.35 Inter, sans-serif !important;
	text-align: center;
	text-decoration: none !important;
	white-space: normal !important;
	box-shadow: none !important;
}
.vscds-unified-appearance .site-content :is(.vscds-launch-secondary, .vscds-home-hero-actions a + a,
.vscds-intent-actions a + a, .vsc-button--secondary, .vscds-p1-action-secondary, .ff-btn-secondary, .is-style-outline .wp-block-button__link) {
	background: #fff !important;
	color: var(--vsc-color-purple-700) !important;
}
.vscds-unified-appearance :is(.vscds-launch-actions, .vscds-home-hero-actions, .vscds-expert-actions, .vscds-p1-actions) {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: .75rem;
}
.vscds-unified-appearance :is(.vscds-launch-actions, .vscds-home-hero-actions) a { flex: 0 1 auto; margin: 0; }
.vscds-unified-appearance :is(a, button, summary):focus-visible {
	outline: 3px solid #9a6700;
	outline-offset: 3px;
}
.vscds-unified-appearance .site-header,
.vscds-unified-appearance .site-header .inside-header { background: #fff; }
.vscds-unified-appearance .site-logo img { mix-blend-mode: multiply; }
.vscds-unified-appearance .site-content { padding-top: 1.5rem !important; }
.vscds-unified-appearance .site-main { margin-top: 0 !important; }
.vscds-unified-appearance .inside-article { padding-top: 0 !important; }
.vscds-unified-appearance .entry-content { margin-top: 0 !important; }
.vscds-unified-appearance .vsc-home-journey-selector { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* Journey cards retain their full artwork and one full-card link. */
.vscds-unified-appearance .vscds-home-care-route--women h2 { color: #fff !important; }
.vscds-unified-appearance .vscds-home-trust ul { margin: 0; padding: 0; list-style: none; }
.vscds-unified-appearance .vscds-home-trust li { padding: 1rem; min-height: 0; }
.vscds-unified-appearance .woocommerce-products-header { padding: 1.5rem !important; margin-top: 0 !important; }
.vscds-unified-appearance .vscds-shop-pathway { min-height: 0; padding: 1rem; border-radius: 1rem; }
.vscds-unified-appearance.woocommerce ul.products li.product { border-radius: 1rem; overflow: hidden; }
.vscds-unified-appearance .vscds-product-title-first { clear: both; margin: 0 0 1rem !important; }
.vscds-unified-appearance .vscds-catalogue-more { margin: 1rem 0; min-height: 44px; border-radius: 999px; }
.vscds-unified-appearance [data-vscds-page-hidden] { display: none !important; }
@media (min-width: 641px) and (max-width: 1024px) {
	.vscds-unified-appearance .vsc-home-journey-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.vscds-unified-appearance .site-header .inside-header { padding: 1rem; gap: 1rem; }
	.vscds-unified-appearance .site-header .site-logo { flex: 1 1 auto; max-width: calc(100% - 7rem); }
	.vscds-unified-appearance .site-logo .header-image { width: 100%; max-width: 16rem; height: auto; }
}
@media (max-width: 768px) {
	.vscds-unified-appearance .site-content { padding: 1rem !important; }
	.vscds-unified-appearance .inside-article { padding-inline: 0 !important; }
	.vscds-unified-appearance :is(.vscds-launch-actions, .vscds-home-hero-actions, .vscds-expert-actions, .vscds-p1-actions, .wp-block-buttons) {
		display: flex; flex-direction: column; align-items: stretch; gap: .75rem; width: 100%;
	}
	.vscds-unified-appearance :is(.vscds-launch-actions a, .vscds-home-hero-actions a, .vscds-expert-actions a,
	.vsc-primary-cta a, .vscds-intent-actions a, .vscds-p1-actions a, .ff-btn-submit, .wp-block-button, .wp-block-button__link, .single_add_to_cart_button) { width: 100% !important; max-width: none; }
	.vscds-unified-appearance .vsc-home-journey-selector { margin-inline: 0; }
	.vscds-unified-appearance :is(.vscds-launch-section, .vscds-authority-takeaways, .vscds-launch-faq,
	.vscds-launch-sources, .vscds-launch-review, .vscds-layout, .vsc-primary-cta) { padding: 1.25rem 1rem; }
	.vscds-unified-appearance .vscds-layout .vsc-section-header { padding: 0; }
	.vscds-unified-appearance .vscds-launch-hero-copy { padding: 1.25rem 1rem; }
	.vscds-unified-appearance .vsc-expert-quote-card { padding: 1.25rem; }
	.vscds-unified-appearance.home .entry-content > * + * { margin-top: 1.5rem; }
	.vscds-unified-appearance :is(.vsc-home-welcome-video, .vsc-home-how-it-works-video, .vsc-hst-video) video {
		width: 100%; height: auto !important; max-height: 19rem; object-fit: contain; background: #21152f;
	}
	.vscds-unified-appearance .vscds-home-hero { width: auto; margin-inline: 0; padding: 0 !important; }
	.vscds-unified-appearance .vscds-home-pathway { width: auto; margin-inline: 0; padding: 1.25rem 1rem; }
	.vscds-unified-appearance .vscds-home-pathway ol { grid-template-columns: 1fr; gap: .75rem; margin-top: 1rem; }
	.vscds-unified-appearance .vscds-home-pathway li { min-height: 0; padding: 1rem; }
	.vscds-unified-appearance .vscds-home-trust ul { gap: .75rem; }
	.vscds-unified-appearance .vscds-shop-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
	.vscds-unified-appearance .vscds-shop-pathway { padding: .75rem; }
	.vscds-unified-appearance :is(.vscds-shop-pathway__number, .vscds-shop-pathway > span, .vscds-shop-pathway__action) { display: none; }
	.vscds-unified-appearance .vscds-shop-pathway__title { margin: 0; font-size: 1rem; }
	.vscds-unified-appearance .vscds-product-search { margin-block: 1rem; }
	.vscds-unified-appearance .vscds-product-search__controls { gap: .5rem; }
	.vscds-unified-appearance .vscds-content-toc { padding: 1rem; }
	.vscds-unified-appearance .vscds-content-toc li { margin-block: .25rem; }
	/* Two-column fact tables read naturally as label/value rows on a narrow screen. */
	.vscds-unified-appearance .vscds-mobile-facts :is(tbody, tr, th, td) { display: block; width: auto !important; }
	.vscds-unified-appearance .vscds-mobile-facts th { padding-bottom: .25rem; border-bottom: 0; }
	.vscds-unified-appearance .vscds-mobile-facts td { padding-top: .25rem; }
	.vscds-unified-appearance .vscds-mobile-facts tr { margin-bottom: .5rem; }
}
@media (max-width: 640px) {
	.vscds-unified-appearance .vsc-home-journey-selector { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) {
	.vscds-unified-appearance .site-header .inside-header { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; gap: .5rem; }
	.vscds-unified-appearance .site-header .site-logo { max-width: none; grid-column: 1; grid-row: 1; }
	.vscds-unified-appearance .site-header .mobile-menu-control-wrapper { grid-column: 2; grid-row: 1; margin: 0; }
	.vscds-unified-appearance .site-header .menu-toggle { min-width: 44px; min-height: 44px; padding: 0; }
	.vscds-unified-appearance .site-header .vscds-header-cart { grid-column: 3; grid-row: 1; margin: 0; }
	.vscds-unified-appearance .site-header #site-navigation { grid-column: 1 / -1; grid-row: 2; margin: 0; }
}
@media (max-width: 768px) {
	.vscds-unified-appearance.home .entry-content > section:first-child { padding: 0; }
	.vscds-unified-appearance .vscds-home-hero { margin-bottom: 0; }
	.vscds-unified-appearance .vscds-shop-pathway > strong { font-size: 1rem; margin: 0; }
	.vscds-unified-appearance .vscse-card { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .5rem .75rem; padding: 1rem; }
	.vscds-unified-appearance .vscse-card > a { grid-row: 1 / 4; }
	.vscds-unified-appearance .vscse-card img { width: 5rem; height: 5rem; object-fit: contain; }
	.vscds-unified-appearance .vscse-card h3 { font-size: 1.125rem !important; margin: 0; }
	.vscds-unified-appearance .vscse-card p { margin: 0; }
	.vscds-unified-appearance .vscse-card .vscse-suits { grid-column: 1 / -1; }
}

.vscds-unified-appearance .woocommerce-tabs .vscds-product-overview-heading { display: none; }
.vscds-unified-appearance .vscds-guide-detail > summary { cursor: pointer; min-height: 44px; color: var(--vsc-color-heading); }
.vscds-unified-appearance .vscds-guide-detail > summary h2 { display: inline; font-size: 1.25rem !important; }
.vscds-unified-appearance .vscds-guide-detail[open] > summary { margin-bottom: 1rem; }
@media (min-width: 769px) {
	.vscds-unified-appearance .vscds-guide-detail > summary { list-style: none; }
	.vscds-unified-appearance .vscds-guide-detail > summary h2 { font-size: 1.75rem !important; }
}

.vscds-shop-category-menu > summary { padding: .75rem 1rem; min-height: 44px; border: 1px solid var(--vsc-color-border-subtle); border-radius: .75rem; font-weight: 600; cursor: pointer; }
@media (max-width: 768px) {
	.vscds-unified-appearance .vscds-shop-category-menu .vscds-shop-pathways__heading { display: none; }
	.vscds-unified-appearance .vscds-shop-category-menu .vscds-shop-pathways__grid { margin-top: .75rem; }
	.vscds-unified-appearance .vscds-shop-pathways { margin-bottom: 1rem; }
}
@media (min-width: 769px) { .vscds-shop-category-menu > summary { display: none; } }
/* Retire dark legacy callout surfaces together with their white type overrides. */
.vscds-unified-appearance :is(.vscds-launch-review, .vscds-substantive-review, .vscds-pmo005-next-step,
.vscds-p1-review-panel, .vscds-expert-journey, .vscds-expert-band, .vscds-expert-reviewer, .vscds-expert-quote) {
	background: var(--vsc-color-surface-subtle) !important;
	color: var(--vsc-color-text-primary);
}
.vscds-unified-appearance :is(.vscds-launch-review, .vscds-substantive-review, .vscds-pmo005-next-step,
.vscds-p1-review-panel, .vscds-expert-journey, .vscds-expert-band, .vscds-expert-reviewer, .vscds-expert-quote) :is(p, li, strong, blockquote) {
	color: var(--vsc-color-text-primary) !important;
}
.vscds-unified-appearance :is(.vscds-launch-review, .vscds-substantive-review, .vscds-pmo005-next-step,
.vscds-p1-review-panel, .vscds-expert-journey, .vscds-expert-band, .vscds-expert-reviewer, .vscds-expert-quote) a { color: var(--vsc-color-link); }

.vscds-unified-appearance :is(h1,h2,h3,h4,h5,h6) a { color: inherit; }

.vscds-unified-appearance.single-product.vscds-product-page .vscds-size-select { min-width: 0 !important; max-width: 1px !important; }
.vscds-unified-appearance.single-product.vscds-product-page .vscds-size-option { border-radius: var(--vsc-radius-pill); }
/* Product-card names are compact labels, below page and section headings. */
.vscds-unified-appearance .site-content h2.woocommerce-loop-product__title { font-size: 1.25rem !important; line-height: 1.3 !important; }

.vscds-quick-answer { margin: 1rem 0; padding: 1rem 1.25rem; border-left: 4px solid #694381; border-radius: .5rem; background: #f5f1f8; color: #0f1b3d; text-align: left; }
.vscds-quick-answer p { margin: 0; font-size: 1rem; line-height: 1.65; }
.vscds-quick-answer .vscds-answer-sources { margin-top: .5rem; font-size: .875rem; }
.vscds-quick-answer a { color: #513167; text-decoration: underline; }
.vscds-audit-sources { max-width: 72rem; margin: 2rem auto; padding: 1.5rem; }
.vscds-not-found { max-width: 64rem; margin: 0 auto 2rem; padding: clamp(1rem, 2vw, 2rem); line-height: 1.65; }
.vscds-not-found header p { margin: 0 0 .5rem; }
.vscds-not-found h1 { margin-top: 0; }
.vscds-not-found .search-form { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; }
.vscds-not-found .search-form label { flex: 1 1 15rem; }
.vscds-not-found .search-field { width: 100%; box-sizing: border-box; min-height: 44px; }
@media (max-width: 600px) {
	.vscds-not-found .search-form :is(button, .search-submit) { width: 100%; }
}
/* Homepage quick answer sits below "A welcome from our founders", aligned with that section's content width. */
.vsc-home-welcome-video + .vscds-quick-answer {
	box-sizing: border-box;
	width: min(1000px, calc(100% - 32px));
	margin: .5rem auto 2rem;
}
