/*
Theme Name: DON POSEI
Description: Child theme for the DON POSEI bespoke jewelry website.
Author: DON POSEI
Template: neve
Version: 1.0.95
Text Domain: don-posei
*/

/* DON POSEI design tokens. Keep all project-specific styling in this child theme. */
:root {
	--dp-color-ink: #080808;
	--dp-color-ink-soft: #191919;
	--dp-color-paper: #f5f3ef;
	--dp-color-white: #ffffff;
	--dp-color-red: #8e0a1c;
	--dp-color-red-hover: #b1112a;
	--dp-color-muted: #737373;
	--dp-color-line: rgba(8, 8, 8, 0.16);
	--dp-font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--dp-font-body: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
	/* Retarget Neve's own typography variables so header, footer, menus and
	 * WooCommerce templates follow the same two families. */
	--bodyfontfamily: var(--dp-font-body);
	--headingfontfamily: var(--dp-font-display);
	--dp-container: 1280px;
	--dp-wide-container: 1440px;
	--dp-section-space: clamp(3.5rem, 8vw, 7.5rem);
	--dp-content-space: clamp(1.25rem, 3vw, 3rem);
	--dp-radius: 0;
	--dp-focus-ring: 0 0 0 3px rgba(142, 10, 28, 0.35);
}

.dp-eyebrow {
	margin-block: 0 0.75rem;
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.dp-button-group {
	gap: 0.75rem;
}

.dp-button-group .wp-block-button__link,
.wp-block-button__link.dp-button {
	border: 1px solid var(--dp-color-red);
	border-radius: var(--dp-radius);
	background: var(--dp-color-red);
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	padding: 0.9rem 1.35rem;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.dp-button-group .wp-block-button__link:hover,
.dp-button-group .wp-block-button__link:focus-visible,
.wp-block-button__link.dp-button:hover,
.wp-block-button__link.dp-button:focus-visible {
	border-color: var(--dp-color-red-hover);
	background: var(--dp-color-red-hover);
	color: var(--dp-color-white);
}

.dp-button-group .wp-block-button__link:focus-visible,
.wp-block-button__link.dp-button:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

@media (prefers-reduced-motion: reduce) {

	.dp-button-group .wp-block-button__link,
	.wp-block-button__link.dp-button {
		transition: none;
	}
}

/* Task 06: Hero For Kings and Discover the Icons. */
body.page-id-469 .dp-hero-for-kings {
	position: relative;
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	min-height: clamp(25rem, 44vw, 40rem);
	margin-inline: auto;
	background-color: var(--dp-color-ink);
	color: var(--dp-color-white);
	overflow: hidden;
}

body.page-id-469 .dp-hero-for-kings .innerblocks-wrap {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	min-height: inherit;
	width: min(100%, var(--dp-container));
	margin-inline: auto;
}

body.page-id-469 .dp-hero-for-kings__column {
	width: 100%;
}

body.page-id-469 .dp-hero-for-kings__content {
	box-sizing: border-box;
	max-width: 34rem;
	margin: 0 auto 0 0;
	padding: clamp(4rem, 10vw, 8rem) clamp(1.25rem, 5vw, 5rem);
	color: var(--dp-color-white);
	margin-top: 120px;
}

body.page-id-469 .dp-hero-for-kings__content .dp-eyebrow {
	margin-bottom: 1.25rem;
	color: rgba(245, 243, 239, 0.86);
}

body.page-id-469 .dp-hero-for-kings__title {
	margin: 0 0 0.75rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-display);
	font-size: clamp(3rem, 5.3vw, 5.6rem);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 0.94;
}

body.page-id-469 .dp-hero-for-kings__tagline {
	max-width: 22rem;
	margin: 0 0 2rem;
	color: rgba(245, 243, 239, 0.94);
	font-family: var(--dp-font-display);
	font-size: clamp(1.25rem, 2.2vw, 2rem);
	font-style: italic;
	line-height: 1.2;
}

body.page-id-469 .dp-hero-for-kings .dp-button-group {
	margin: 0;
}

body.page-id-469 .dp-hero-for-kings .dp-button-group .wp-block-button__link {
	min-width: 8.5rem;
	text-align: center;
}

.dp-discover-icons {
	margin: 0;
	padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(4rem, 8vw, 7rem);
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
}

.dp-discover-icons .innerblocks-wrap {
	width: min(100%, var(--dp-container));
	margin-inline: auto;
}

.dp-discover-icons__column {
	width: 100%;
}

.dp-discover-icons__heading {
	margin: 0 0 clamp(2rem, 4vw, 3.5rem);
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: clamp(1.1rem, 1.8vw, 1.30rem);
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.2;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-hero-for-kings {
		width: calc(100% - 1.5rem);
		min-height: 30rem;
	}

	body.page-id-469 .dp-hero-for-kings__content {
		padding: 5rem 1.25rem 4.5rem;
	}

	body.page-id-469 .dp-hero-for-kings__title {
		font-size: clamp(3.3rem, 16vw, 5.5rem);
	}
}

/* Task 08: East Meets West and Symbols in Life. */
.dp-east-meets-west,
.dp-symbols-in-life {
	margin: 0;
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	background: var(--dp-color-white);
}

.dp-east-meets-west__heading,
.dp-symbols-in-life__heading {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), var(--dp-container));
	margin: 0 auto clamp(1.5rem, 3vw, 2.75rem);
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: clamp(1.1rem, 1.8vw, 1.30rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.dp-east-meets-west-banner {
	position: relative;
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	min-height: clamp(25rem, 39vw, 34rem);
	margin-inline: auto;
	background-color: var(--dp-color-ink);
	color: var(--dp-color-white);
	overflow: hidden;
}

.dp-east-meets-west-banner .innerblocks-wrap,
.dp-east-meets-west-banner__column {
	position: relative;
	z-index: 1;
	min-height: inherit;
	width: 100%;
}

.dp-east-meets-west__pillars {
	box-sizing: border-box;
	align-items: center;
	gap: clamp(1.5rem, 3vw, 3.5rem);
	min-height: inherit;
	margin: 0;
	padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 5rem);
	text-align: center;
}

.dp-east-meets-west__pillar {
	min-width: 0;
	margin: 0;
	color: var(--dp-color-white);
}

.dp-east-meets-west__pillar-title {
	margin: 0 0 0.65rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-display);
	font-size: clamp(1.35rem, 2.6vw, 2.15rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1;
}

.dp-east-meets-west__pillar-text {
	max-width: 19rem;
	margin: 0 auto;
	color: rgba(245, 243, 239, 0.94);
	font-family: var(--dp-font-display);
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	font-style: italic;
	line-height: 1.25;
}

.dp-symbols-in-life {
	padding-top: clamp(2.75rem, 6vw, 5rem);
}

.dp-symbols-in-life__heading {
	width: min(calc(100% - 2rem), var(--dp-container));
	margin-bottom: clamp(1.25rem, 2.5vw, 2.25rem);
	text-align: left;
}

.dp-symbols-in-life__frame {
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	margin-inline: auto;
}

.dp-symbols-in-life__column {
	min-width: 0;
	width: 100%;
}

.dp-symbols-in-life__frame .innerblocks-wrap {
	min-width: 0;
	width: 100%;
}

@media (max-width: 767px) {

	.dp-east-meets-west__heading,
	.dp-symbols-in-life__heading {
		width: calc(100% - 1.5rem);
	}

	.dp-east-meets-west-banner,
	.dp-symbols-in-life__frame {
		width: calc(100% - 1.5rem);
	}

	.dp-east-meets-west-banner {
		min-height: auto;
	}

	.dp-east-meets-west__pillars {
		align-items: stretch;
		gap: 2rem;
		padding: 3rem 1.25rem;
	}

	.dp-east-meets-west__pillar-text {
		max-width: none;
	}
}

/* Task 09: Founder Story, House Journal and final collection CTA. */
.dp-founders-story,
.dp-house-journal,
.dp-final-collection-cta {
	margin: 0;
	background: var(--dp-color-white);
}

.dp-founders-story {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.dp-founders-story__banner {
	position: relative;
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	min-height: clamp(20rem, 38vw, 31rem);
	margin-inline: auto;
	background-color: var(--dp-color-ink);
	color: var(--dp-color-white);
	overflow: hidden;
}

.dp-founders-story__banner>.wp-block-themeisle-blocks-advanced-columns-overlay {
	opacity: 0.66;
}

.dp-founders-story__banner .innerblocks-wrap,
.dp-founders-story__column {
	position: relative;
	z-index: 1;
	min-height: inherit;
	width: 100%;
}

.dp-founders-story__column {
	display: flex;
	align-items: center;
}

.dp-founders-story__content {
	box-sizing: border-box;
	width: min(100%, 34rem);
	margin: 0;
	padding: clamp(2rem, 6vw, 5.5rem);
	color: var(--dp-color-white);
}

.dp-founders-story__title {
	margin: 0 0 1.1rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-display);
	font-size: clamp(2.3rem, 5vw, 4.6rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 0.98;
}

.dp-founders-story__text {
	max-width: 27rem;
	margin: 0 0 1.75rem;
	color: rgba(255, 255, 255, 0.88);
	font-family: var(--dp-font-display);
	font-size: clamp(1rem, 1.65vw, 1.35rem);
	font-style: italic;
	line-height: 1.45;
}

.dp-founders-story__actions {
	margin: 0;
}

.dp-house-journal {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.dp-house-journal__heading {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), var(--dp-container));
	margin: 0 auto clamp(1.5rem, 3vw, 2.75rem);
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: clamp(1.1rem, 1.8vw, 1.30rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-align: left;
	text-transform: uppercase;
}

.dp-house-journal__frame {
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	margin-inline: auto;
}

.dp-house-journal__column,
.dp-house-journal__frame .innerblocks-wrap {
	min-width: 0;
	width: 100%;
}

.dp-house-journal__column>.wp-block-shortcode {
	margin: 0;
}

.dp-final-collection-cta {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.dp-final-collection-cta__banner {
	position: relative;
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	min-height: clamp(23rem, 43vw, 35rem);
	margin-inline: auto;
	background-color: var(--dp-color-ink);
	color: var(--dp-color-white);
	overflow: hidden;
}

.dp-final-collection-cta__banner>.wp-block-themeisle-blocks-advanced-columns-overlay {
	opacity: 0.38;
}

.dp-final-collection-cta__banner .innerblocks-wrap,
.dp-final-collection-cta__column {
	position: relative;
	z-index: 1;
	min-height: inherit;
	width: 100%;
}

.dp-final-collection-cta__column {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dp-final-collection-cta__content {
	box-sizing: border-box;
	width: min(100%, 48rem);
	padding: clamp(2.25rem, 7vw, 6.5rem) clamp(1.5rem, 6vw, 5rem);
	color: var(--dp-color-white);
	text-align: center;
}

.dp-final-collection-cta__eyebrow {
	margin: 0 0 1.1rem;
	color: rgba(255, 255, 255, 0.8);
	font-family: var(--dp-font-body);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.3;
	text-transform: uppercase;
}

.dp-final-collection-cta__title {
	max-width: 45rem;
	margin: 0 auto 1.7rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-display);
	font-size: clamp(2.6rem, 4vw, 5.8rem);
	font-style: italic;
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 0.98;
}

@media (max-width: 767px) {
	.dp-final-collection-cta__title {
		font-size: clamp(2rem, 4vw, 5.8rem);
	}
}

.dp-final-collection-cta__actions {
	justify-content: center;
	margin: 0;
}

@media (max-width: 767px) {

	.dp-founders-story__banner,
	.dp-house-journal__frame,
	.dp-final-collection-cta__banner {
		width: calc(100% - 1.5rem);
	}

	.dp-founders-story__content {
		padding: 3.5rem 1.25rem;
	}

	.dp-house-journal__heading {
		width: calc(100% - 1.5rem);
	}

	.dp-final-collection-cta__content {
		padding: 4.5rem 1.25rem;
	}
}

/* Mobile composition refinement inspired by the supplied David Yurman
 * reference: centered section labels, compact two-column category tiles and
 * horizontal product rails for collection-led sections. */
@media (max-width: 767px) {

	.dp-discover-icons__heading,
	.dp-shop-categories__heading {
		color: var(--dp-color-ink);
		font-size: clamp(1.05rem, 4.4vw, 1.35rem);
		letter-spacing: 0.1em;
		text-align: center;
	}

	body.page-id-469 .dp-category-rail {
		display: grid !important;
		grid-auto-flow: row;
		grid-auto-columns: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(0.5rem, 2.5vw, 0.75rem);
		overflow: visible;
	}

	body.page-id-469 .dp-category-rail>.dp-category-card {
		width: auto;
		flex-basis: auto;
	}

	.dp-category-card__media {
		border-color: transparent;
	}

	.dp-category-card__title {
		margin: 0.7rem 0 0.35rem;
		font-size: clamp(0.68rem, 2.7vw, 0.9rem);
		font-style: normal;
		letter-spacing: 0.06em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.dp-category-card__title a {
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 0.25em;
	}

	.dp-category-card__meta {
		font-size: 0.53rem;
		letter-spacing: 0.08em;
	}
}

/* Task 05: DON POSEI Header/Footer Builder styling. */
.header-main .row--wrapper,
.header-top .row--wrapper,
.header-bottom .row--wrapper {
	min-height: 4.5rem;
}

.builder-item--logo .site-logo a.brand,
.builder-item--logo_2 .site-logo a.brand {
	display: inline-flex;
	align-items: center;
	min-width: max-content;
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.builder-item--logo .site-logo img,
.builder-item--logo_2 .site-logo img {
	display: none;
}

/* Brand wordmark rendered from the DON POSEI logo image. It is masked and
 * painted with currentColor, so it automatically follows the header's existing
 * light/dark text-colour states (white over the hero, ink on white headers). */
.builder-item--logo .site-logo a.brand::before,
.builder-item--logo_2 .site-logo a.brand::before {
	content: "";
	display: inline-block;
	width: 220px;
	height: auto;
	aspect-ratio: 637 / 140;
	background-color: currentColor;
	-webkit-mask: url("assets/images/logo.webp") center / contain no-repeat;
	mask: url("assets/images/logo.webp") center / contain no-repeat;
}

@media (min-width: 768px) {

	.builder-item--logo .site-logo a.brand::before,
	.builder-item--logo_2 .site-logo a.brand::before {
		margin-left: -15px;
	}
}

/* Do not let Neve's logo max-width clamp the wordmark. */
.builder-item--logo .site-logo,
.builder-item--logo_2 .site-logo,
.builder-item--logo .site-logo a.brand,
.builder-item--logo_2 .site-logo a.brand {
	max-width: none !important;
}

.builder-item--logo .site-logo a.brand:hover,
.builder-item--logo .site-logo a.brand:focus-visible,
.builder-item--logo_2 .site-logo a.brand:hover,
.builder-item--logo_2 .site-logo a.brand:focus-visible {
	color: var(--dp-color-white);
	opacity: 1;
}

.header .nav-ul>li>.wrap>a,
.header .nv-icon,
.header .cart-icon-wrapper,
.header .wl-icon-wrapper,
.header .my-account-wrapper {
	transition: color 180ms ease, background-color 180ms ease, opacity 180ms ease;
}

.header .nav-ul>li>.wrap>a:hover,
.header .nav-ul>li>.wrap>a:focus-visible,
.header .nv-icon:hover,
.header .nv-icon:focus-visible,
.header .cart-icon-wrapper:hover,
.header .cart-icon-wrapper:focus-visible,
.header .wl-icon-wrapper:hover,
.header .wl-icon-wrapper:focus-visible,
.header .my-account-wrapper:hover,
.header .my-account-wrapper:focus-visible {
	color: var(--dp-color-red-hover);
	opacity: 1;
}

.header a:focus-visible,
.header button:focus-visible,
.site-footer a:focus-visible,
.site-footer button:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

#site-footer .footer-top-inner,
#site-footer .footer-bottom-inner {
	border-top: 0;
	background: var(--dp-color-ink);
	color: var(--dp-color-paper);
}

#site-footer .footer-top-inner {
	padding-block: clamp(1.5rem, 2.5vw, 2.5rem) clamp(2.5rem, 5vw, 4rem);
}

#site-footer .footer-bottom-inner {
	border-top: 1px solid rgba(245, 243, 239, 0.18);
	padding-block: 1.25rem;
}

#site-footer .footer-top .widget {
	margin: 0;
}

#site-footer .footer-top .widget-title {
	margin: 0 0 1.25rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

#site-footer .footer-top .hfg-slot:first-child .widget-title {
	font-family: var(--dp-font-display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 500;
	letter-spacing: 0.12em;
}

#site-footer .dp-footer-wordmark {
	margin: 0 0 1.35rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-display);
	font-size: clamp(1.8rem, 3.2vw, 2.65rem);
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1;
}

#site-footer .dp-footer-links {
	display: grid;
	gap: 0.65rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

#site-footer .dp-footer-links a,
#site-footer .dp-footer-links span {
	color: rgba(245, 243, 239, 0.72);
	font-family: var(--dp-font-body);
	font-size: 0.88rem;
	line-height: 1.45;
	text-decoration: none;
}

#site-footer .dp-footer-links a:hover,
#site-footer .dp-footer-links a:focus-visible {
	color: var(--dp-color-white);
}

#site-footer .nv-social-icons-list a {
	transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

#site-footer .nv-social-icons-list a:hover,
#site-footer .nv-social-icons-list a:focus-visible {
	background: var(--dp-color-red-hover) !important;
	opacity: 1;
}

#site-footer .footer-copyright,
#site-footer .footer-copyright a,
#site-footer .builder-item--footer_copyright {
	color: rgba(245, 243, 239, 0.72);
}

@media (max-width: 1024px) {

	.header-main .row--wrapper,
	.header-top .row--wrapper,
	.header-bottom .row--wrapper {
		min-height: 4rem;
	}

	.builder-item--logo .site-logo a.brand,
	.builder-item--logo_2 .site-logo a.brand {
		font-size: 0.88rem;
	}

	.builder-item--logo .site-logo a.brand::before,
	.builder-item--logo_2 .site-logo a.brand::before {
		width: 204px;
	}

	#site-footer .footer-top-inner {
		padding-block: 1.5rem 2.5rem;
	}

	#site-footer .footer-top .hfg-slot:not(:first-child) {
		margin-top: 2rem;
	}
}

/* Task 12/18: Use the same DON POSEI desktop header on every public page.
 * Reorder the Neve slots to match the PDF header: wordmark, category nav,
 * utilities. Mobile header rules remain controlled by Neve below 960px. */
@media (min-width: 1025px) {
	.header-main.hide-on-mobile .header-main-inner .row--wrapper {
		grid-template-columns: minmax(9.5rem, auto) minmax(0, 1fr) auto;
		column-gap: clamp(1rem, 2vw, 2rem);
	}

	.header-main.hide-on-mobile .hfg-slot.center {
		grid-column: 1;
		grid-row: 1;
		justify-content: flex-start;
	}

	.header-main.hide-on-mobile .hfg-slot.left {
		grid-column: 2;
		grid-row: 1;
		justify-content: center;
		min-width: 0;
	}

	.header-main.hide-on-mobile .hfg-slot.right {
		grid-column: 3;
		grid-row: 1;
	}

	.header-main.hide-on-mobile .hfg-slot.right .builder-item--secondary-menu {
		display: none;
	}

	.header-main.hide-on-mobile .hfg-slot.left .builder-item--primary-menu,
	.header-main.hide-on-mobile .hfg-slot.left .nv-nav-wrap {
		width: 100%;
	}

	.header-main.hide-on-mobile .hfg-slot.left .primary-menu-ul {
		display: flex;
		justify-content: center;
		flex-wrap: nowrap;
		gap: clamp(2.25rem, 1.15vw, 1.2rem);
		width: 100%;
	}

	.header-main.hide-on-mobile .hfg-slot.left .primary-menu-ul>li {
		margin-inline: 0 !important;
	}

	.header-main.hide-on-mobile .hfg-slot.left .primary-menu-ul>li>.wrap>a {
		font-size: clamp(0.8rem, 1vw, 1rem);
		letter-spacing: 0.03em;
		white-space: nowrap;
	}

	.header-main.hide-on-mobile .hfg-slot.left .primary-menu-ul>li>.wrap {
		padding-inline: 0 !important;
	}

	/* Mega menu: full-width David Yurman-inspired panel under the shared nav. */
	.header-main.hide-on-mobile {
		position: relative;
		z-index: 1000;
		overflow: visible;
	}

	.header-main.hide-on-mobile .header-main-inner,
	.header-main.hide-on-mobile .header-main-inner .row--wrapper,
	.header-main.hide-on-mobile .hfg-slot.left,
	.header-main.hide-on-mobile .hfg-slot.left .builder-item--primary-menu,
	.header-main.hide-on-mobile .hfg-slot.left .nv-nav-wrap {
		overflow: visible;
	}

	/* Neve gives each builder item a relative positioning context. Remove it
	 * here so the panel is anchored to the full-width header row, not the
	 * centered navigation slot. */
	.header-main.hide-on-mobile .hfg-slot .builder-item {
		position: static;
	}

	.header-main.hide-on-mobile .hfg-slot.left .primary-menu-ul>li.dp-mega-parent {
		position: static;
	}

	.header-main.hide-on-mobile .dp-mega-menu {
		box-sizing: border-box;
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 1001;
		width: 100vw;
		/* Keep the opened mega panel visually continuous with the header. */
		border-top: 0;
		background: var(--dp-color-white);
		box-shadow: none;
		color: var(--dp-color-ink);
	}

	body:not(.page-id-469) .header-main.hide-on-mobile .dp-mega-parent:not(.is-dp-mega-eligible):hover>.dp-mega-menu,
	.header-main.hide-on-mobile .dp-mega-parent:focus-within>.dp-mega-menu,
	.header-main.hide-on-mobile .dp-mega-parent.is-open>.dp-mega-menu {
		display: block;
	}

	.dp-mega-menu__inner {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(2rem, 4vw, 5rem);
		max-width: 1500px;
		margin: 0 auto;
		/* Top padding tightened so the first panel row (SHOP BY CATEGORY /
		 * MATERIAL / FEATURED) starts just under the logo row instead of
		 * sitting ~56px below it. Sides and bottom keep the original rhythm. */
		padding: 1.25rem clamp(1.5rem, 4vw, 4.5rem) clamp(2rem, 3.5vw, 3.5rem);
	}

	/* Reserve the right-hand illustration rail only when the menu has images. */
	.dp-mega-menu--has-featured .dp-mega-menu__inner {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.7fr);
	}

	.dp-mega-menu__columns {
		display: flex;
		gap: clamp(1.5rem, 3vw, 3rem);
		min-width: 0;
	}

	.dp-mega-menu__column {
		flex: 1 1 0;
		min-width: 0;
	}

	/* Space between stacked parent-category groups inside a column. */
	.dp-mega-menu__group+.dp-mega-menu__group {
		margin-top: 1.6rem;
	}

	.dp-mega-menu__column-title,
	.dp-mega-menu__group-title {
		margin: 0 0 1.45rem;
		color: var(--dp-color-ink);
		font-family: var(--dp-font-body);
		font-size: clamp(0.72rem, 0.85vw, 0.9rem);
		font-weight: 600;
		letter-spacing: 0.11em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	/* Parent category heading (e.g. Bracelets, Earrings): bold, title-case,
	 * clickable - the David Yurman sub-column style. */
	.dp-mega-menu__group-title {
		display: block;
		margin: 0 0 0.7rem;
		color: var(--dp-color-ink);
		font-family: var(--dp-font-body);
		font-size: clamp(0.9rem, 1vw, 1.02rem);
		font-weight: 600;
		letter-spacing: 0.01em;
		line-height: 1.3;
		text-transform: none;
		text-decoration: none;
	}

	.header-main.hide-on-mobile .dp-mega-menu__group-title {
		color: var(--dp-color-ink) !important;
	}

	.dp-mega-menu__group-title:hover,
	.dp-mega-menu__group-title:focus-visible {
		color: var(--dp-color-red-hover);
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}

	.dp-mega-menu__links {
		display: grid;
		gap: 0.55rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.dp-mega-menu__links a {
		color: rgba(8, 8, 8, 0.92);
		font-family: var(--dp-font-body);
		font-size: clamp(0.82rem, 1vw, 1rem);
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.35;
		text-decoration: none;
		transition: color 180ms ease, text-decoration-color 180ms ease;
	}

	.header-main.hide-on-mobile .dp-mega-menu__links a {
		color: var(--dp-color-ink) !important;
	}

	.dp-mega-menu__links a.is-emphasis {
		font-weight: 600;
	}

	.dp-mega-menu__links a:hover,
	.dp-mega-menu__links a:focus-visible {
		color: var(--dp-color-red-hover);
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}

	.dp-mega-menu__featured {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
		min-width: 0;
	}

	.dp-mega-menu__card {
		position: relative;
		min-height: 17rem;
		overflow: hidden;
		background: var(--dp-color-white);
		color: var(--dp-color-ink);
		text-decoration: none;
	}

	/* The illustration images have transparent/white backgrounds, so no dark
	 * overlay - keep them on their original light background. */
	.dp-mega-menu__card::after {
		content: none;
	}

	.dp-mega-menu__card img {
		display: block;
		width: 100%;
		height: 100%;
		min-height: 17rem;
		object-fit: cover;
		transition: transform 350ms ease;
	}

	.dp-mega-menu__card span {
		position: absolute;
		bottom: 1.2rem;
		left: 1.2rem;
		z-index: 1;
		color: var(--dp-color-ink);
		font-family: var(--dp-font-body);
		font-size: clamp(0.72rem, 0.9vw, 0.9rem);
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.header-main.hide-on-mobile .dp-mega-menu__card span {
		color: var(--dp-color-ink) !important;
	}

	.dp-mega-menu__card:hover img,
	.dp-mega-menu__card:focus-visible img {
		transform: scale(1.04);
	}
}

/* Task 19 follow-up: native Neve Pro Mega Menu styling.
 * The panel is rendered from Appearance > Menus, not injected by theme JS.
 * Keeping it as a submenu of its root item ensures the hover state persists
 * while the pointer travels from the top label into a menu column. */
@media (min-width: 1025px) {
	.header-main.hide-on-mobile {
		position: relative;
		z-index: 1000;
		overflow: visible;
	}

	.header-main.hide-on-mobile .hfg-slot.left {
		position: static;
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu.full-width>.sub-menu {
		box-sizing: border-box;
		width: 100vw;
		max-width: none;
		min-height: 18rem;
		padding: clamp(1.75rem, 3vw, 3rem) max(1.5rem, calc((100vw - 1400px) / 2));
		/* Neve's own mega-menu panel also needs no divider at its top edge. */
		border-top: 0;
		background: var(--dp-color-white);
		box-shadow: none;
		color: var(--dp-color-ink);
		/* Neve's dynamic menu styles expose the panel colours as variables.
		 * Override those values here so heading spans cannot inherit the
		 * header's light text colour on the white mega-menu panel. */
		--color: var(--dp-color-ink) !important;
		--headingcolor: var(--dp-color-ink) !important;
		--hovercolor: var(--dp-color-red-hover) !important;
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-col {
		padding-inline: clamp(1rem, 2vw, 2.5rem);
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-col>.sub-menu {
		gap: 0.1rem;
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-heading>.wrap>span,
	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-heading>span,
	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-col>.sub-menu a {
		color: var(--dp-color-ink) !important;
		opacity: 1 !important;
		filter: none;
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-heading>.wrap>span,
	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-heading>span {
		padding: 0.25rem 0 0.8rem;
		font-family: var(--dp-font-body);
		font-size: 0.74rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		line-height: 1.3;
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-col>.sub-menu a {
		padding: 0.4rem 0;
		font-family: var(--dp-font-body);
		font-size: clamp(0.82rem, 0.9vw, 0.98rem);
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.35;
	}

	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-col>.sub-menu a:hover,
	.header-main.hide-on-mobile .primary-menu-ul>.neve-mega-menu .neve-mm-col>.sub-menu a:focus-visible {
		color: var(--dp-color-red-hover) !important;
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}
}

@media (prefers-reduced-motion: reduce) {

	.header .nav-ul>li>.wrap>a,
	.header .nv-icon,
	.header .cart-icon-wrapper,
	.header .wl-icon-wrapper,
	.header .my-account-wrapper,
	#site-footer .nv-social-icons-list a {
		transition: none;
	}

	.dp-mega-menu__card img,
	.dp-mega-menu__links a {
		transition: none;
	}
}

@media (max-width: 1024px) {

	.header-main.hide-on-desktop .dp-mega-menu,
	.header-menu-sidebar .dp-mega-menu {
		box-sizing: border-box;
		display: none;
		position: static;
		width: 100%;
		margin: 0;
		border-top: 1px solid rgba(8, 8, 8, 0.12);
		background: var(--dp-color-white);
		box-shadow: none;
	}

	.header-main.hide-on-desktop .dp-mega-parent.is-open>.dp-mega-menu,
	.header-menu-sidebar .dp-mega-parent.is-open>.dp-mega-menu {
		display: block;
	}

	.dp-mega-menu__inner,
	.dp-mega-menu__columns {
		display: block;
	}

	.dp-mega-menu__inner {
		padding: 0.75rem 1rem 1.25rem;
	}

	.dp-mega-menu__column {
		padding-block: 0.85rem;
		border-bottom: 1px solid rgba(8, 8, 8, 0.1);
	}

	.dp-mega-menu__column-title {
		margin-bottom: 0.8rem;
		font-size: 0.72rem;
	}

	.dp-mega-menu__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem 1rem;
	}

	.dp-mega-menu__links a {
		font-size: 0.78rem;
	}

	.dp-mega-menu__featured {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-top: 1rem;
	}

	.dp-mega-menu__card,
	.dp-mega-menu__card img {
		min-height: 10rem;
	}

	.dp-mega-menu__card span {
		bottom: 0.75rem;
		left: 0.75rem;
		font-size: 0.62rem;
	}
}

/* Task 07: The Philosophy and Shop by Category. */
.dp-philosophy,
.dp-shop-categories {
	margin: 0;
	/*padding-block: clamp(3.5rem, 7vw, 6.5rem); */
	background: var(--dp-color-white);
}

.dp-philosophy__heading,
.dp-shop-categories__heading {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), var(--dp-container));
	margin: 0 auto clamp(1.5rem, 3vw, 2.75rem);
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: clamp(1.1rem, 1.8vw, 1.30rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* The campaign heading and its Otter background use the same compact rhythm
 * as the Discover the Icons heading and product rail. */
body.page-id-469 .dp-philosophy__heading {
	margin-bottom: 13px;
}

body.page-id-469 .dp-philosophy-banner {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	min-height: clamp(28rem, 45vw, 39rem);
	margin-inline: 0 !important;
	background-color: var(--dp-color-ink);
	color: var(--dp-color-white);
	overflow: hidden;
}

body.page-id-469 .dp-philosophy-banner .innerblocks-wrap,
body.page-id-469 .dp-philosophy-banner__column {
	min-height: inherit;
	width: 100%;
}

body.page-id-469 .dp-philosophy__pillars {
	box-sizing: border-box;
	align-items: flex-end;
	gap: clamp(1.5rem, 3vw, 3.5rem);
	min-height: inherit;
	margin: 0;
	padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 5rem) clamp(2rem, 4vw, 3.5rem);
}

body.page-id-469 .dp-philosophy__pillar {
	min-width: 0;
	margin: 0;
	color: var(--dp-color-white);
}

body.page-id-469 .dp-philosophy__pillar-title {
	margin: 0 0 0.75rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-display);
	font-size: clamp(1.55rem, 2.8vw, 2.6rem);
	font-weight: 600;
	line-height: 1;
}

body.page-id-469 .dp-philosophy__pillar-text {
	max-width: 18rem;
	margin: 0;
	color: rgba(245, 243, 239, 0.92);
	font-family: var(--dp-font-body);
	font-size: clamp(0.82rem, 1.15vw, 1rem);
	line-height: 1.55;
}

.dp-shop-categories {
	padding-top: clamp(2.75rem, 6vw, 5rem);
}

.dp-shop-categories__heading {
	margin-bottom: clamp(1.25rem, 2.5vw, 2.25rem);
}

.dp-shop-categories__frame {
	width: min(1180px, calc(100% - clamp(3rem, 12vw, 9rem)));
	margin-inline: auto;
}

.dp-shop-categories__column {
	width: 100%;
}

.dp-category-rail {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 2.75rem);
	margin: 0;
	padding-block: 0.25rem 1rem;
}

.dp-category-card {
	min-width: 0;
	text-align: center;
}

.dp-category-card__media {
	margin: 0;
	background: var(--dp-color-white);
	border: 1px solid rgba(8, 8, 8, 0.06);
	overflow: hidden;
}

.dp-category-card__media a {
	display: block;
}

.dp-category-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform 300ms ease;
}

.dp-category-card:hover .dp-category-card__media img,
.dp-category-card:focus-within .dp-category-card__media img {
	transform: scale(1.035);
}

.dp-category-card__title {
	margin: 1rem 0 0.35rem;
	font-family: var(--dp-font-body);
	font-size: clamp(1.15rem, 2vw, 1.65rem);
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
}

.dp-category-card__title a {
	color: var(--dp-color-ink);
	text-decoration: none;
}

.dp-category-card__title a:hover,
.dp-category-card__title a:focus-visible {
	color: var(--dp-color-red);
}

.dp-category-card__meta {
	margin: 0;
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
}

.dp-category-card a:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

@media (max-width: 767px) {

	.dp-philosophy__heading,
	.dp-shop-categories__heading {
		width: calc(100% - 1.5rem);
	}

	.dp-shop-categories__frame {
		width: calc(100% - 1.5rem);
	}

	body.page-id-469 .dp-philosophy-banner {
		width: 100% !important;
		max-width: none !important;
		margin-inline: 0 !important;
	}

	body.page-id-469 .dp-philosophy-banner {
		min-height: auto;
	}

	.dp-philosophy__pillars {
		align-items: stretch;
		gap: 2rem;
		padding: 3rem 1.25rem;
	}

	.dp-philosophy__pillar-text {
		max-width: none;
	}

	.dp-category-rail {
		grid-auto-columns: minmax(12.5rem, 74vw);
	}
}

/* Final mobile category overrides: this block intentionally lives after the
 * Neve/WooCommerce category rules so the two-column composition wins over
 * their default single-column flex layout. */
@media (max-width: 767px) {

	body.page-id-469 .dp-discover-icons__heading,
	body.page-id-469 .dp-shop-categories__heading {
		color: var(--dp-color-ink);
		font-size: clamp(1.05rem, 4.4vw, 1.35rem);
		letter-spacing: 0.1em;
		text-align: center;
	}

	body.page-id-469 .dp-category-rail.is-layout-flex {
		display: grid !important;
		grid-auto-flow: row;
		grid-auto-columns: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(0.5rem, 2.5vw, 0.75rem);
		overflow: visible;
	}

	body.page-id-469 .dp-category-rail.is-layout-flex>.dp-category-card {
		width: auto;
		flex-basis: auto;
	}

	body.page-id-469 .dp-category-card__title {
		margin: 0.7rem 0 0.35rem;
		font-size: clamp(0.68rem, 2.7vw, 0.9rem);
		font-style: normal;
		letter-spacing: 0.06em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	body.page-id-469 .dp-category-card__title a {
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 0.25em;
	}

	body.page-id-469 .dp-category-card__meta {
		font-size: 0.53rem;
		letter-spacing: 0.08em;
	}


}

/* Task 10: WooCommerce-backed editorial product rails. The shortcode keeps
 * product data editable in Dashboard while preserving the Home V2 rail UI. */
.dp-product-collection {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.dp-product-collection__heading {
	margin: 0 0 0.65rem;
	font-family: var(--dp-font-display);
	font-size: clamp(1.75rem, 4vw, 3.2rem);
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
}

.dp-product-collection__intro {
	max-width: 46rem;
	margin: 0 auto clamp(1.5rem, 3vw, 2.5rem);
	color: var(--dp-color-muted);
	font-size: 0.92rem;
	text-align: center;
}

/* Task 10b: desktop full-bleed composition. David Yurman keeps campaign
 * media edge-to-edge while the editorial copy and product cards retain a
 * measured gutter. Mobile rules above remain unchanged. */
@media (min-width: 768px) {

	body.page-id-469 .dp-hero-for-kings,
	body.page-id-469 .dp-east-meets-west-banner,
	body.page-id-469 .dp-founders-story__banner,
	body.page-id-469 .dp-final-collection-cta__banner {
		width: 100%;
		max-width: none;
		margin-inline: 0;
	}

	body.page-id-469 .dp-discover-icons {
		padding-inline: 0 !important;
	}

	body.page-id-469 .dp-discover-icons__column,
	body.page-id-469 .dp-shop-categories__column,
	body.page-id-469 .dp-symbols-in-life__column,
	body.page-id-469 .dp-house-journal__column {
		width: 100% !important;
		max-width: none !important;
	}

	body.page-id-469 .dp-shop-categories__frame,
	body.page-id-469 .dp-symbols-in-life__frame,
	body.page-id-469 .dp-house-journal__frame {
		padding-inline: 0 !important;
	}

	body.page-id-469 .dp-discover-icons .innerblocks-wrap {
		width: 100% !important;
		max-width: none !important;
	}

	body.page-id-469 .dp-shop-categories__frame .innerblocks-wrap,
	body.page-id-469 .dp-symbols-in-life__frame .innerblocks-wrap,
	body.page-id-469 .dp-house-journal__frame .innerblocks-wrap {
		width: 100% !important;
		max-width: none !important;
	}

	body.page-id-469 .dp-discover-icons__heading {
		box-sizing: border-box;
		width: min(calc(100% - clamp(3rem, 10vw, 7.5rem)), var(--dp-container));
		margin-inline: auto;
		margin-left: -35px;
	}

	body.page-id-469 .dp-symbols-in-life__frame,
	body.page-id-469 .dp-shop-categories__frame,
	body.page-id-469 .dp-house-journal__frame {
		width: calc(100% - 1.5rem);
		max-width: none;
		margin-inline: auto;
	}

}

@media (max-width: 767px) {

	/* Campaign media stays edge-to-edge on small screens too; product rails
	 * and category tiles keep their intentional 12px content gutter. */
	body.page-id-469 .dp-hero-for-kings,
	body.page-id-469 .dp-east-meets-west-banner,
	body.page-id-469 .dp-founders-story__banner,
	body.page-id-469 .dp-final-collection-cta__banner {
		width: 100%;
		max-width: none;
		margin-inline: 0;
	}

	body.page-id-469 .dp-shop-categories__frame,
	body.page-id-469 .dp-symbols-in-life__frame,
	body.page-id-469 .dp-house-journal__frame {
		padding-inline: 0 !important;
	}
}

/* Campaign artwork and overlays are configured in the corresponding Otter
 * Advanced Columns blocks on page 469. CSS only owns responsive framing. */
@media (min-width: 768px) {
	body.page-id-469 .dp-founders-story {
		padding-block: 0;
	}

	body.page-id-469 .dp-founders-story__banner {
		aspect-ratio: 16 / 9;
		min-height: 56.25vw !important;
	}
}

body.page-id-469 .dp-final-collection-cta {
	padding-bottom: 0;
}

body.page-id-469 .dp-final-collection-cta__banner {
	margin-bottom: 0;
}

/* Otter left two empty paragraph blocks after the CTA. Remove those spacer
 * nodes so the supplied final image meets the footer cleanly. */
body.page-id-469 .dp-final-collection-cta+p,
body.page-id-469 .dp-final-collection-cta+p+p {
	display: none !important;
	margin: 0 !important;
}

/* Home V2 contains an empty paragraph inserted before the first Otter block.
 * Hide it so the hero starts immediately after the header. Give Discover a
 * measured white lead-in so its heading sits between hero and product rail. */
body.page-id-469 .nv-content-wrap>p:first-child {
	display: none !important;
	margin: 0 !important;
}

body.page-id-469 .dp-discover-icons {
	padding-top: clamp(2.25rem, 4vw, 4rem) !important;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-discover-icons {
		padding-top: clamp(1.5rem, 6vw, 2.5rem) !important;
	}
}

body.page-id-469 .dp-philosophy-banner .innerblocks-wrap,
body.page-id-469 .dp-philosophy-banner__column {
	width: 100%;
	max-width: none;
}

/* The feedback rail is a slide, while each image has a deliberate zoom
 * interaction on hover, focus and click-to-open lightbox. */
.dp-testimonial-slider {
	grid-auto-columns: minmax(15rem, 24vw);
}

/* R04: House Journal is an editable Otter Image Slider. Keep the rail image-
 * only, preserve the previous portrait composition, and let the native Glide
 * controls handle navigation instead of rebuilding the rail in PHP. */
.dp-house-journal__slider {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	--arrows-color: var(--dp-color-red);
	--arrows-background-color: var(--dp-color-white);
}

.dp-house-journal__slider .glide__track,
.dp-house-journal__slider .glide__slides {
	height: auto !important;
}

.dp-house-journal__slider .glide__track {
	overflow: hidden;
}

.dp-house-journal__slider .glide__slides {
	align-items: stretch;
}

.dp-house-journal__slider .glide__slide {
	height: auto;
	min-width: 0;
}

.dp-house-journal__slider .glide__slide figure {
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

.dp-house-journal__slider .glide__slide img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5 !important;
	object-fit: cover;
	cursor: zoom-in;
	transition: transform 350ms cubic-bezier(0.2, 0.65, 0.25, 1), filter 350ms ease;
}

.dp-house-journal__slider .glide__slide:hover img,
.dp-house-journal__slider .glide__slide:focus-within img {
	filter: saturate(1.08);
	transform: scale(1.08);
}

.dp-house-journal__slider .glide__arrows {
	z-index: 2;
}

/* R05 fix: the legacy testimonial rail class is also used on the editable
 * Otter slider root. Its grid-auto-columns rule was sizing the Glide track
 * to a narrow implicit column, leaving the five images bunched at the left
 * while the controls remained at the outer edges. Keep the class for legacy
 * rails, but make the Otter root a single full-width grid track. */
body .wp-block-themeisle-blocks-slider.dp-house-journal__slider.dp-testimonial-slider {
	display: grid;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-auto-columns: auto !important;
	width: 100% !important;
	max-width: none;
}

body .wp-block-themeisle-blocks-slider.dp-house-journal__slider.dp-testimonial-slider>.glide__track {
	width: 100%;
	min-width: 0;
}

/* House Journal Lightbox modal */
.dp-lightbox,
body .dp-lightbox {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999999 !important;
	display: grid !important;
	place-items: center !important;
	padding: clamp(1rem, 4vw, 4rem) !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	transform: none !important;
}

.dp-lightbox[hidden] {
	display: none !important;
}

.dp-lightbox__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(8, 8, 8, 0.86) !important;
	cursor: pointer;
}

.dp-lightbox__dialog {
	position: relative !important;
	z-index: 1 !important;
	max-width: min(92vw, 78rem) !important;
	max-height: 90vh !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.dp-lightbox__image,
body.page-id-469 .dp-lightbox__image {
	display: block !important;
	width: min(calc(82vh * 2 / 3), 90vw) !important;
	height: auto !important;
	max-width: 90vw !important;
	max-height: 85vh !important;
	aspect-ratio: 2 / 3 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 4px;
	box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, 0.65) !important;
}

.dp-lightbox__close {
	position: absolute !important;
	top: -3rem !important;
	right: 0 !important;
	z-index: 3 !important;
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	height: 2.5rem !important;
	min-height: 2.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.72) !important;
	border-radius: 50% !important;
	background: rgba(8, 8, 8, 0.78) !important;
	color: var(--dp-color-white, #ffffff) !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.55rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center !important;
	cursor: pointer !important;
	transform: none !important;
	transition: background-color 180ms ease, color 180ms ease !important;
}

.dp-lightbox__close:hover,
.dp-lightbox__close:focus-visible {
	background: var(--dp-color-red, #8e0a1c) !important;
	color: var(--dp-color-white, #ffffff) !important;
	outline: none !important;
}

.dp-lightbox__nav {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 4 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 3rem !important;
	min-width: 3rem !important;
	height: 3rem !important;
	min-height: 3rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.6) !important;
	border-radius: 50% !important;
	background: rgba(8, 8, 8, 0.72) !important;
	color: var(--dp-color-white, #ffffff) !important;
	cursor: pointer !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease !important;
}

.dp-lightbox__nav svg {
	display: block !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	pointer-events: none !important;
}

.dp-lightbox__nav:hover,
.dp-lightbox__nav:focus-visible {
	background: var(--dp-color-red, #8e0a1c) !important;
	border-color: var(--dp-color-red, #8e0a1c) !important;
	color: var(--dp-color-white, #ffffff) !important;
	outline: none !important;
	transform: translateY(-50%) scale(1.08) !important;
}

.dp-lightbox__prev {
	left: -4rem !important;
}

.dp-lightbox__next {
	right: -4rem !important;
}

.dp-lightbox-open {
	overflow: hidden !important;
}

@media (max-width: 767px) {

	.dp-lightbox,
	body .dp-lightbox {
		padding: 3.5rem 0.75rem 1rem !important;
	}

	.dp-lightbox__dialog {
		width: 100% !important;
	}

	.dp-lightbox__image,
	body.page-id-469 .dp-lightbox__image {
		width: min(calc(75vh * 2 / 3), 88vw) !important;
		height: auto !important;
		max-height: 78vh !important;
		aspect-ratio: 2 / 3 !important;
	}

	.dp-lightbox__close {
		top: -2.75rem !important;
		right: 0.25rem !important;
		width: 2.25rem !important;
		height: 2.25rem !important;
		font-size: 1.35rem !important;
	}

	.dp-lightbox__nav {
		width: 2.35rem !important;
		min-width: 2.35rem !important;
		height: 2.35rem !important;
		min-height: 2.35rem !important;
		background: rgba(8, 8, 8, 0.8) !important;
	}

	.dp-lightbox__nav svg {
		width: 1.15rem !important;
		height: 1.15rem !important;
	}

	.dp-lightbox__prev {
		left: 0.5rem !important;
	}

	.dp-lightbox__next {
		right: 0.5rem !important;
	}
}

@media (max-width: 767px) {
	body.page-id-469 .dp-testimonial-slider {
		grid-auto-columns: minmax(17rem, 82vw);
	}
}

/* R08: responsive banner heights now come from the Otter Section settings.
 * Semantic CSS only propagates that height through the complex inner layout. */
body.page-id-469 .dp-philosophy-banner .innerblocks-wrap,
body.page-id-469 .dp-east-meets-west-banner .innerblocks-wrap,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west-banner__column,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillars {
	min-height: inherit;
}

@media (max-width: 767px) {

	body.page-id-469 .dp-philosophy-banner .dp-philosophy-banner__column,
	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillars {
		min-height: inherit;
	}
}

/* The editorial headings are native core blocks inside their Otter banners.
 * Let each Otter column own the 569px composition while the banner's Otter
 * padding keeps each heading 15px below the image edge. */
body.page-id-469 .dp-east-meets-west-banner .innerblocks-wrap,
body.page-id-469 .dp-philosophy-banner .dp-philosophy-banner__column,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west-banner__column {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__heading,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__heading {
	color: var(--dp-color-white);
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillars,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillars {
	flex: 1 1 auto;
	min-height: 0 !important;
	width: 100%;
}

/* Task 10f: center the copy evenly inside both full-bleed editorial
 * banners. The section headings outside the image keep their existing
 * composition; only the three pillar groups are centered. */
body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillars,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillars {
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillar {
	align-self: center !important;
	text-align: center !important;
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar-text,
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillar-text {
	margin-inline: auto;
}

/* The Philosophy inner column was still capped at 1180px inside a 1225px
 * padded wrapper, shifting the three centered pillars to the left. */
body.page-id-469 .dp-philosophy-banner .dp-philosophy-banner__column {
	width: 100% !important;
	max-width: none !important;
}

body.page-id-469 .dp-philosophy__heading {
	text-align: center;
}

/* Task 13: editorial section headings pair the title with commerce links.
 * Keep the links aligned to the right on desktop and let them wrap cleanly on
 * narrow screens without changing the existing card rails. */
.dp-section-heading-row {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), var(--dp-container));
	margin-inline: auto;
	align-items: center;
	justify-content: space-between;
	column-gap: clamp(1rem, 3vw, 3rem);
	row-gap: 0.75rem;
}

.dp-section-heading-row .dp-discover-icons__heading,
.dp-section-heading-row .dp-shop-categories__heading {
	box-sizing: border-box;
	width: auto;
	flex: 1 1 auto;
	margin: 0;
	/* Shop by Category sits directly on top of its tiles, so all 20px of slack
	 * belongs below the text to keep it centred in the white band. */
	padding-bottom: 20px;
	margin-left: -35px;
}

.dp-section-heading-row .dp-section-heading-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.75rem clamp(1rem, 2vw, 2rem);
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: clamp(0.7rem, 0.95vw, 0.9rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
	padding-bottom: 20px;
}

/* The Discover rail adds its own 13px top margin, so that row needs the slack
 * split evenly to read as centred inside its band. */
.dp-discover-icons__heading-row .dp-discover-icons__heading,
.dp-discover-icons__heading-row .dp-section-heading-actions {
	padding-block: 10px;
}

.dp-section-heading-row .dp-section-heading-actions a {
	color: var(--dp-color-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.28em;
	white-space: nowrap;
}

.dp-section-heading-row .dp-section-heading-actions a:hover,
.dp-section-heading-row .dp-section-heading-actions a:focus-visible {
	color: var(--dp-color-red);
}

.dp-section-heading-row .dp-section-heading-actions a:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

/* R08: Discover vertical rhythm is owned by its Otter Section padding.
 * No transform-based text positioning is required. */

@media (max-width: 767px) {
	.dp-section-heading-row {
		width: calc(100% - 1.5rem);
		align-items: baseline;
	}

	.dp-section-heading-row .dp-section-heading-actions {
		font-size: 0.68rem;
	}

	.dp-shop-categories__heading-row .dp-section-heading-actions {
		flex-basis: 100%;
		justify-content: flex-end;
	}
}

/* Task 14: tighten Home V2 section rhythm and make the category rail behave
 * like a campaign carousel on desktop while preserving the two-column mobile
 * grid. The David Yurman reference uses compact white inter-section bands and
 * generous, readable navigation spacing. */
@media (min-width: 768px) {

	/* The Discover heading row is 13px taller than a plain section heading
	 * because it also carries the "Shop all" action. Subtract that difference
	 * from the section's top padding so the white band between the hero and the
	 * product rail matches the band between the rail and The Philosophy. */
	body.page-id-469 .dp-discover-icons {
		padding-block: calc(clamp(1.5rem, 2.0vw, 2.5rem) - 13px) clamp(1.75rem, 2.75vw, 2.75rem) !important;
	}

	body.page-id-469 .dp-philosophy,
	body.page-id-469 .dp-shop-categories,
	body.page-id-469 .dp-east-meets-west,
	body.page-id-469 .dp-symbols-in-life,
	body.page-id-469 .dp-house-journal {
		padding-block: clamp(0.5rem, 0.5vw, 1.5rem) !important;
	}

	body.page-id-469 .dp-shop-categories {
		padding-top: clamp(1.25rem, 1vw, 2rem) !important;
	}

	body.page-id-469 .dp-founders-story {
		padding-block: clamp(1.25rem, 2vw, 2rem) !important;
	}

	body.page-id-469 .dp-final-collection-cta {
		padding-block: clamp(1.25rem, 2vw, 2rem) 0 !important;
	}

	body.page-id-469 .dp-category-rail {
		display: grid !important;
		grid-auto-flow: column;
		grid-auto-columns: minmax(13.5rem, 18vw);
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	body.page-id-469 .dp-category-card {
		scroll-snap-align: start;
	}
}

@media (max-width: 767px) {

	/* Same 13px heading-row compensation as desktop (12.5px at phone sizes). */
	body.page-id-469 .dp-discover-icons {
		padding-block: calc(1.25rem - 12.5px) 1.75rem !important;
	}

	body.page-id-469 .dp-philosophy,
	body.page-id-469 .dp-shop-categories,
	body.page-id-469 .dp-east-meets-west,
	body.page-id-469 .dp-symbols-in-life,
	body.page-id-469 .dp-house-journal {
		padding-block: 1.5rem !important;
	}

	body.page-id-469 .dp-shop-categories {
		padding-top: 1.25rem !important;
	}

	body.page-id-469 .dp-founders-story {
		padding-block: 1rem !important;
	}

	body.page-id-469 .dp-final-collection-cta {
		padding-block: 1rem 0 !important;
	}
}

/* Task R05: the Shop by Category rail is a native Otter Slider.  Images and
 * captions remain editable from its Gutenberg block settings; CSS supplies
 * only the shared 2:3 presentation. */
body.page-id-469 .dp-category-slider {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
}

body.page-id-469 .dp-category-slider .glide__track {
	border: 0;
	border-radius: 0;
	overflow: hidden;
}

body.page-id-469 .dp-category-slider .glide__slides {
	height: auto !important;
	align-items: stretch;
}

body.page-id-469 .dp-category-slider .glide__slide {
	height: auto;
	min-width: 0;
}

body.page-id-469 .dp-category-slider .wp-block-themeisle-blocks-slider-item-wrapper figure {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 2 / 3;
	margin: 0;
	overflow: hidden;
	background: #f7f5f1;
}

body.page-id-469 .dp-category-slider .wp-block-themeisle-blocks-slider-item-wrapper figure img {
	display: block;
	width: 100%;
	height: 100% !important;
	aspect-ratio: 2 / 3;
	object-fit: scale-down;
	mix-blend-mode: normal;
	transition: transform 300ms ease;
}

body.page-id-469 .dp-category-slider .wp-block-themeisle-blocks-slider-item-wrapper:hover figure img,
body.page-id-469 .dp-category-slider .wp-block-themeisle-blocks-slider-item-wrapper:focus-within figure img {
	transform: scale(1.035);
}

body.page-id-469 .dp-category-slider .wp-block-themeisle-blocks-slider-item-wrapper figcaption {
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 0.7rem;
	box-sizing: border-box;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 2.5rem 0.6rem 0.95rem;
	background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.72) 42%, rgba(255, 255, 255, 0.92));
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: clamp(0.68rem, 0.7vw, 0.9rem);
	font-weight: 500;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.055em;
}

body.page-id-469 .dp-category-slider figcaption>a {
	color: inherit;
	font-style: normal;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

body.page-id-469 .dp-category-slider figcaption>a:hover,
body.page-id-469 .dp-category-slider figcaption>a:focus-visible {
	color: var(--dp-color-red);
}

body.page-id-469 .dp-category-slider .glide__arrows {
	position: absolute;
	top: 43%;
	right: 0.35rem;
	left: 0.35rem;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
}

body.page-id-469 .dp-category-slider .glide__arrows .glide__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	padding: 0;
	border: 1px solid rgba(8, 8, 8, 0.18);
	border-radius: 999px;
	background: var(--dp-color-white);
	color: var(--dp-color-red);
	opacity: 0.96;
	box-shadow: 0 0.2rem 0.8rem rgba(8, 8, 8, 0.12);
	pointer-events: auto;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.page-id-469 .dp-category-slider .glide__arrows .glide__arrow:hover,
body.page-id-469 .dp-category-slider .glide__arrows .glide__arrow:focus-visible {
	background: var(--dp-color-red);
	color: var(--dp-color-white);
	transform: scale(1.06);
}

body.page-id-469 .dp-category-slider .glide__arrows .glide__arrow svg {
	fill: currentColor;
}

body.page-id-469 .dp-category-slider .glide__bullets {
	display: none !important;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-category-slider .wp-block-themeisle-blocks-slider-item-wrapper figcaption {
		font-size: 0.72rem;
		letter-spacing: 0.045em;
	}
}

/* Task 16: portrait House Journal imagery and a compact four-column footer.
 * The reference footer keeps one clear heading per column; the inherited
 * Neve rule made the first widget title oversized and visually unbalanced. */

#site-footer .footer-top .hfg-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	column-gap: clamp(1.25rem, 3.5vw, 4rem);
	row-gap: 0;
	align-items: start;
}

#site-footer .footer-top .hfg-slot {
	min-width: 0;
	align-items: flex-start;
}

#site-footer .footer-top .widget-title,
#site-footer .footer-top .hfg-slot:first-child .widget-title {
	margin: 0 0 1.25rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: clamp(0.78rem, 0.95vw, 1rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

#site-footer .dp-footer-wordmark {
	margin: 1.75rem 0 1.5rem;
	font-size: clamp(1.65rem, 2.6vw, 2.35rem);
	letter-spacing: 0.08em;
	line-height: 0.95;
	white-space: nowrap;
}

#site-footer .dp-footer-links {
	gap: 0.7rem;
}

#site-footer .dp-footer-links a,
#site-footer .dp-footer-links span {
	font-size: clamp(0.78rem, 0.9vw, 0.92rem);
}

#site-footer .footer-bottom-inner {
	padding-block: 1.25rem;
}

@media (max-width: 959px) {
	#site-footer .footer-top .hfg-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 2.5rem;
	}
}

@media (max-width: 767px) {
	#site-footer .footer-top .hfg-grid {
		grid-template-columns: 1fr !important;
		row-gap: 2rem;
	}

	#site-footer .dp-footer-wordmark {
		font-size: 2rem;
	}
}

/* Task 17: keep the FounderÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¾ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢s Story campaign image composed as a portrait on
 * mobile. Otter leaves the advanced-column background size at auto there,
 * which crops the supplied artwork before the subject enters the frame. */
@media (max-width: 767px) {
	body.page-id-469 .dp-founders-story__banner {
		min-height: clamp(31rem, 135vw, 36rem) !important;
	}

	body.page-id-469 .dp-founders-story__column {
		align-items: flex-end !important;
	}

	body.page-id-469 .dp-founders-story__content {
		width: 100% !important;
		max-width: none !important;
		padding: 3.5rem 1.25rem 2.5rem !important;
	}

	body.page-id-469 .dp-founders-story .wp-block-button__link {
		border-color: var(--dp-color-red) !important;
		background: var(--dp-color-red) !important;
		color: var(--dp-color-white) !important;
	}
}

/* Task 22: balance editorial copy without obscuring the supplied campaign
 * artwork.  These refinements are scoped to Home V2 so other pages keep the
 * parent theme's typography and spacing. */
@media (min-width: 768px) {
	body.page-id-469 .dp-hero-for-kings__content {
		max-width: 36rem;
	}

	body.page-id-469 .dp-hero-for-kings__tagline {
		max-width: 24rem;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.page-id-469 .dp-founders-story__content {
		align-self: center !important;
		width: min(100%, 44rem) !important;
		height: auto !important;
		max-width: none !important;
		padding: clamp(2.5rem, 5vw, 4.75rem) clamp(2rem, 5vw, 5rem) !important;
	}

	body.page-id-469 .dp-founders-story__title {
		max-width: 100%;
		white-space: nowrap;
	}

	body.page-id-469 .dp-founders-story__text {
		max-width: 38rem;
	}
}

body.page-id-469 .dp-philosophy-banner__column {
	position: relative;
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillars {
	align-items: stretch !important;
	padding-bottom: clamp(5rem, 8vw, 7rem) !important;
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar {
	display: grid;
	grid-template-rows: auto minmax(7.25rem, auto);
	align-content: end;
}

body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar-text {
	align-self: start;
}

body.page-id-469 .dp-philosophy__audience {
	position: absolute;
	bottom: clamp(1.25rem, 3vw, 2.5rem);
	left: 50%;
	z-index: 2;
	margin: 0;
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: clamp(1rem, 1.8vw, 1.45rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-align: center;
	transform: translateX(-50%);
	white-space: nowrap;
}

body.page-id-469 .dp-final-collection-cta .wp-block-button__link,
body.page-id-469 .dp-final-collection-cta .wp-block-button__link.dp-button {
	border-color: #8e0a1c !important;
	background-color: #8e0a1c !important;
	color: var(--dp-color-white) !important;
}

body.page-id-469 .dp-final-collection-cta .wp-block-button__link:hover,
body.page-id-469 .dp-final-collection-cta .wp-block-button__link:focus-visible {
	border-color: var(--dp-color-red-hover) !important;
	background-color: var(--dp-color-red-hover) !important;
	color: var(--dp-color-white) !important;
}

/* Task 24: keep Vietnamese editorial copy on the body stack. The display
 * face's glyph fallback was splitting accented words (for example ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œbÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂºÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¯t ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¾ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¹ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚ÂºÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â§uÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â)
 * at desktop sizes; the body stack renders each word as one consistent run. */
body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillar-text,
body.page-id-469 .dp-founders-story__text {
	font-family: var(--dp-font-body);
	font-kerning: normal;
	font-variant-ligatures: normal;
	text-rendering: optimizeLegibility;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillars {
		padding-bottom: 5.25rem !important;
	}

	body.page-id-469 .dp-philosophy__audience {
		bottom: 1.25rem;
		font-size: 0.9rem;
	}

	body.page-id-469 .dp-founders-story__title {
		white-space: normal;
	}
}

/* R08: the Philosophy banner uses Otter's bottom vertical alignment instead
 * of translating the complete pillar group out of normal layout. */

/* Keep the Founder's Story CTA aligned with the site's red action buttons. */
body.page-id-469 .dp-founders-story .wp-block-button__link,
body.page-id-469 .dp-founders-story .wp-block-button__link.dp-button {
	border-color: #8e0a1c !important;
	background-color: #8e0a1c !important;
	color: var(--dp-color-white) !important;
}

body.page-id-469 .dp-founders-story .wp-block-button__link:hover,
body.page-id-469 .dp-founders-story .wp-block-button__link:focus-visible {
	border-color: var(--dp-color-red-hover) !important;
	background-color: var(--dp-color-red-hover) !important;
	color: var(--dp-color-white) !important;
}

/* Task 30 follow-up: this needs to follow the earlier spacing pass, which
 * deliberately adds white bands to most homepage sections. The Founder
 * campaign itself is full-bleed on desktop, as supplied in the 16:9 artwork. */
@media (min-width: 768px) {
	body.page-id-469 .dp-founders-story {
		padding-block: 0 !important;
	}
}

/* Task 31: the Philosophy copy stacks on phones. The desktop-only visual
 * offset was also moving the stack past its audience line, which caused the
 * last pillar and "Men's Love Women's" to overlap. Keep that line in normal
 * document flow on mobile, after the three pillars. */
@media (max-width: 767px) {
	body.page-id-469 .wp-block-columns.dp-philosophy__pillars {
		padding: 2.5rem 1.25rem 1.5rem !important;
	}

	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar {
		grid-template-rows: none;
		align-content: initial;
	}

	body.page-id-469 .dp-philosophy__audience {
		position: static !important;
		bottom: auto;
		left: auto;
		margin: 0 auto 2rem !important;
		text-align: center;
	}
}

/* Keep the four existing footer groups as a compact two-column grid on
 * phones. The wordmark is placed below the grid, as in the supplied layout. */
@media (max-width: 767px) {
	#site-footer .footer-top .hfg-grid {
		position: relative;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: clamp(1.5rem, 7vw, 3rem);
		row-gap: 2.5rem;
		padding-bottom: 4.5rem;
	}

	#site-footer .footer-top .hfg-slot:not(:first-child) {
		margin-top: 0;
	}

	#site-footer .dp-footer-wordmark {
		position: absolute;
		bottom: 0;
		left: 0;
		margin: 0;
		font-size: clamp(1.75rem, 9vw, 2.25rem);
	}
}

/* Philosophy campaign mobile slider: Single-slide carousel with scroll-snap,
 * centered luxury typography, interactive 3-dot pagination indicator and bottom audience line. */
.dp-gemstone-tooltip {
	position: fixed;
	z-index: 100000;
	max-width: calc(100vw - 16px);
	padding: 4px 7px;
	border: 1px solid #777;
	border-radius: 0;
	background: #fff;
	color: #555;
	font: 400 13px/1.4 "Albert Sans", Arial, sans-serif;
	text-align: center;
	pointer-events: none;
	text-transform: uppercase;
	box-shadow: none;
}

.dp-philosophy__dots {
	display: none;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-philosophy-banner .dp-philosophy-banner__column {
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
		align-items: center !important;
		min-height: clamp(28rem, 112vw, 36rem) !important;
		padding-bottom: 0 !important;
	}

	body.page-id-469 .dp-philosophy-banner .dp-philosophy__heading {
		font-family: var(--dp-font-display, "Montserrat", sans-serif) !important;
		font-size: clamp(1.15rem, 4vw, 1.45rem) !important;
		font-weight: 600 !important;
		letter-spacing: 0.16em !important;
		color: #ffffff !important;
		text-transform: uppercase !important;
		text-align: center !important;
		margin: 1.25rem 0 0 !important;
		padding: 0 1rem !important;
	}

	body.page-id-469 .wp-block-columns.dp-philosophy__pillars {
		display: grid !important;
		grid-auto-flow: column !important;
		grid-auto-columns: 100% !important;
		grid-template-columns: none !important;
		gap: 0 !important;
		align-items: center !important;
		justify-content: start !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		/* Allow page scrolling as well as the native horizontal slider. */
		touch-action: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: auto 0 !important;
		padding: 11.5rem 0 4.5rem !important;
	}

	body.page-id-469 .wp-block-columns.dp-philosophy__pillars::-webkit-scrollbar {
		display: none !important;
	}

	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 0 clamp(1.25rem, 5vw, 2.5rem) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		scroll-snap-align: center !important;
		scroll-snap-stop: always !important;
		grid-template-rows: none !important;
	}

	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar-title {
		font-family: var(--dp-font-display, "Montserrat", sans-serif) !important;
		font-size: clamp(1.85rem, 6.5vw, 2.35rem) !important;
		font-weight: 700 !important;
		letter-spacing: -0.01em !important;
		color: #ffffff !important;
		line-height: 1.15 !important;
		text-align: center !important;
		margin: 0 0 0.85rem !important;
	}

	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar-text {
		font-family: var(--dp-font-body, "Albert Sans", sans-serif) !important;
		font-size: clamp(0.85rem, 3.5vw, 0.96rem) !important;
		line-height: 1.65 !important;
		color: rgba(255, 255, 255, 0.95) !important;
		max-width: 22rem !important;
		margin: 0 auto !important;
		text-align: center !important;
	}

	/* Interactive 3 dots pagination indicator */
	body.page-id-469 .dp-philosophy__dots {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 9px !important;
		position: absolute !important;
		bottom: 3.5rem !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		z-index: 5 !important;
		padding: 6px !important;
		margin: 0 !important;
		background: transparent !important;
		pointer-events: auto !important;
	}

	body.page-id-469 .dp-philosophy__dot {
		display: inline-block !important;
		width: 6px !important;
		height: 6px !important;
		border-radius: 50% !important;
		background-color: rgba(255, 255, 255, 0.4) !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		cursor: pointer !important;
		box-shadow: none !important;
		transition: background-color 0.25s ease, transform 0.25s ease !important;
		outline: none !important;
		-webkit-tap-highlight-color: transparent !important;
	}

	body.page-id-469 .dp-philosophy__dot.is-active {
		background-color: #ffffff !important;
		transform: scale(1.2) !important;
	}

	body.page-id-469 .dp-philosophy__audience {
		position: absolute !important;
		bottom: 1.25rem !important;
		left: 50% !important;
		z-index: 3 !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
		white-space: nowrap !important;
		color: #ffffff !important;
		font-family: var(--dp-font-body, "Albert Sans", sans-serif) !important;
		font-size: clamp(0.72rem, 2.5vw, 0.85rem) !important;
		font-weight: 600 !important;
		letter-spacing: 0.12em !important;
		text-transform: uppercase !important;
		text-align: center !important;
	}

	body.page-id-469 .dp-philosophy__audience a {
		color: #ffffff !important;
		text-decoration: underline !important;
		text-underline-offset: 4px !important;
		text-decoration-thickness: 1.5px !important;
	}
}

/* East Meets West campaign mobile slider: Single-slide carousel with scroll-snap,
 * centered luxury typography, interactive 3-dot pagination indicator. */
.dp-east-meets-west__dots {
	display: none;
}

@media (max-width: 767px) {

	body.page-id-469 .dp-east-meets-west-banner,
	body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west-banner__column {
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
		align-items: center !important;
		min-height: clamp(26rem, 105vw, 34rem) !important;
		padding-bottom: 0 !important;
	}

	body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__heading {
		font-family: var(--dp-font-display, "Montserrat", sans-serif) !important;
		font-size: clamp(1.15rem, 4vw, 1.45rem) !important;
		font-weight: 600 !important;
		letter-spacing: 0.16em !important;
		color: #ffffff !important;
		text-transform: uppercase !important;
		text-align: center !important;
		margin: 1.25rem 0 0 !important;
		padding: 0 1rem !important;
	}

	body.page-id-469 .wp-block-columns.dp-east-meets-west__pillars {
		display: grid !important;
		grid-auto-flow: column !important;
		grid-auto-columns: 100% !important;
		grid-template-columns: none !important;
		gap: 0 !important;
		align-items: center !important;
		justify-content: start !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
		/* Native horizontal slides must also allow vertical page gestures. */
		touch-action: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: auto 0 !important;
		padding: 11.5rem 0 4.5rem !important;
	}

	body.page-id-469 .wp-block-columns.dp-east-meets-west__pillars::-webkit-scrollbar {
		display: none !important;
	}

	body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillar {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 0 clamp(1.25rem, 5vw, 2.5rem) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		scroll-snap-align: center !important;
		scroll-snap-stop: always !important;
		grid-template-rows: none !important;
	}

	body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillar-title {
		font-family: var(--dp-font-display, "Montserrat", sans-serif) !important;
		font-size: clamp(1.85rem, 6.5vw, 2.35rem) !important;
		font-weight: 700 !important;
		letter-spacing: -0.01em !important;
		color: #ffffff !important;
		line-height: 1.15 !important;
		text-align: center !important;
		margin: 0 0 0.85rem !important;
		font-style: normal !important;
	}

	body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillar-text {
		font-family: var(--dp-font-body, "Albert Sans", sans-serif) !important;
		font-size: clamp(0.85rem, 3.5vw, 0.96rem) !important;
		line-height: 1.65 !important;
		color: rgba(255, 255, 255, 0.95) !important;
		max-width: 22rem !important;
		margin: 0 auto !important;
		text-align: center !important;
		font-style: normal !important;
	}

	/* Interactive 3 dots pagination indicator */
	body.page-id-469 .dp-east-meets-west__dots {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 9px !important;
		position: absolute !important;
		bottom: 2rem !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		z-index: 5 !important;
		padding: 6px !important;
		margin: 0 !important;
		background: transparent !important;
		pointer-events: auto !important;
	}

	body.page-id-469 .dp-east-meets-west__dot {
		display: inline-block !important;
		width: 6px !important;
		height: 6px !important;
		border-radius: 50% !important;
		background-color: rgba(255, 255, 255, 0.4) !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		cursor: pointer !important;
		box-shadow: none !important;
		transition: background-color 0.25s ease, transform 0.25s ease !important;
		outline: none !important;
		-webkit-tap-highlight-color: transparent !important;
	}

	body.page-id-469 .dp-east-meets-west__dot.is-active {
		background-color: #ffffff !important;
		transform: scale(1.2) !important;
	}
}

/* Gutenberg stacks core Columns at 781px, one pixel above the child theme's
 * phone composition. Bridge that narrow tablet interval so Philosophy keeps
 * the intended 569px banner instead of growing to fit three stacked pillars. */
@media (min-width: 768px) and (max-width: 781px) {

	body.page-id-469 .wp-block-columns.dp-philosophy__pillars,
	body.page-id-469 .wp-block-columns.dp-east-meets-west__pillars {
		display: grid !important;
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 0.875rem) / 2);
		grid-template-columns: none;
		align-items: center !important;
		justify-content: start !important;
		gap: 0.875rem;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		touch-action: pan-x;
		padding: 2.25rem 1.25rem 5.25rem !important;
	}

	body.page-id-469 .wp-block-columns.dp-philosophy__pillars::-webkit-scrollbar {
		display: none;
	}

	body.page-id-469 .wp-block-columns.dp-philosophy__pillars,
	body.page-id-469 .wp-block-columns.dp-east-meets-west__pillars {
		touch-action: auto !important;
	}

	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillar {
		min-width: 0;
		scroll-snap-align: start;
	}
}

/* Keep independent desktop vertical controls for both editorial pillar groups
 * without changing their core Columns layout or mobile/tablet stacking. */
@media (min-width: 782px) {
	body.page-id-469 .dp-philosophy-banner .dp-philosophy__pillars {
		/* Philosophy vertical position: increase/decrease to move down/up. */
		margin-top: 155px;
	}

	body.page-id-469 .dp-east-meets-west-banner .dp-east-meets-west__pillars {
		/* East Meets West vertical position: increase/decrease to move down/up. */
		margin-top: 180px;
	}
}

/* Make the DON POSEI wordmark a dedicated final footer row, independent of
 * the four navigation groups above it. The editable core Image block uses the
 * imported transparent-black artwork, painted white to match the dark footer. */
#site-footer figure.dp-footer-wordmark {
	box-sizing: border-box;
	width: clamp(20rem, 38vw, 32.5rem);
	max-width: 100%;
}

#site-footer figure.dp-footer-wordmark img {
	display: block;
	width: 80%;
	height: auto;
	filter: brightness(0) invert(1);
	opacity: 0.72;
}

@media (min-width: 768px) {
	#site-footer .footer-top .hfg-grid {
		position: relative;
		padding-bottom: clamp(5rem, 8vw, 8rem);
	}

	#site-footer .dp-footer-wordmark {
		position: absolute;
		bottom: 0;
		/* Horizontal logo position: make this more/less negative to move it left/right. */
		left: -30px;
		margin: 0;
		color: rgba(245, 243, 239, 0.72);
		font-size: clamp(3.25rem, 5vw, 5.75rem);
		line-height: 0.9;
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	#site-footer .footer-top .hfg-grid {
		padding-bottom: 5.25rem;
	}

	#site-footer .dp-footer-wordmark {
		color: rgba(245, 243, 239, 0.72);
		font-size: clamp(3rem, 10vw, 4rem);
		line-height: 0.9;
		white-space: nowrap;
	}
}

/* Neve positions the first widget wrapper, which would otherwise make the
 * wordmark absolute only within the Need Help column. Let the footer grid be
 * its containing block so it occupies the dedicated bottom row. */
#site-footer .footer-top .hfg-slot:first-child>.builder-item,
#site-footer .footer-top .hfg-slot:first-child .item--inner {
	position: static;
}

/* Home end-cap: the editable Otter page can sit inside Neve's constrained
 * content wrapper. Make only its closing CTA escape that wrapper, then reset
 * every trailing edge so the campaign image meets the footer without a white
 * band. This preserves all preceding Gutenberg/Otter sections. */
body.page-id-469 .nv-content-wrap {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.page-id-469 .dp-final-collection-cta {
	box-sizing: border-box;
	width: 100vw;
	margin: 0 calc(50% - 50vw) !important;
	padding: 0 !important;
}

body.page-id-469 .dp-final-collection-cta__banner {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

#site-footer {
	margin-top: 0 !important;
	border-top: 0;
}

/* Home header: Header Builder remains the content source. On the campaign
 * page it floats over the Hero at rest, then the same menu becomes a solid
 * navigation bar once the visitor scrolls. */
@media (min-width: 1025px) {
	body.page-id-469 .header {
		position: relative;
		z-index: 1600;
	}

	body.page-id-469 #header-grid {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1600;
		width: 100%;
	}

	.header-top {
		position: relative;
		z-index: 2;
		background: #f9f9f9 !important;
		color: var(--dp-color-ink);
	}

	.header-top .header--row-inner {
		background: #f9f9f9 !important;
	}

	.header-top .container,
	body.page-id-469 .header-main .container {
		max-width: none;
		padding-inline: clamp(1.25rem, 3vw, 3.75rem);
	}

	/* The utility bar follows a three-zone layout: locator left, consultation
	 * truly centered in the viewport, and the two actions aligned right. */
	.header-top .container {
		padding-inline: 2.5rem;
	}

	.header-top .row--wrapper {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.header-top .hfg-slot.left {
		grid-column: 1 !important;
	}

	.header-top .row--wrapper {
		height: 36px;
		min-height: 38px;
	}

	.header-top .hfg-slot.left,
	.header-top .nv-top-bar,
	.header-top .menu-content {
		width: 100%;
	}

	.header-top .hfg-slot.left>.builder-item,
	.header-top .hfg-slot.left .item--inner {
		width: 100%;
	}

	.header-top .menu-content {
		display: block;
	}

	.header-top .nav-ul {
		display: flex;
		align-items: center;
		gap: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		position: relative;
	}

	.header-top .nav-ul>li:first-child {
		margin-right: auto;
	}

	.header-top .nav-ul>li:nth-child(2) {
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
	}

	.header-top .nav-ul>li:nth-child(4) {
		margin-left: 2rem;
	}

	.header-top .nav-ul>li>.wrap>a {
		color: var(--dp-color-ink);
		font-family: var(--dp-font-body);
		font-size: 0.7rem;
		font-weight: 600;
		letter-spacing: 0.07em;
		text-transform: uppercase;
	}

	.header-top .nav-ul>li:nth-child(3)>.wrap>a::before,
	.header-top .nav-ul>li:nth-child(4)>.wrap>a::before {
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		display: inline-block;
		height: 1rem;
		margin-right: 0.45rem;
		vertical-align: -0.15rem;
		width: 1rem;
	}

	.header-top .nav-ul>li:nth-child(3)>.wrap>a::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080808' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17h18M5 17c1.4-4.8 3.7-7.2 7-7.2s5.6 2.4 7 7.2M9 9.8h6'/%3E%3C/svg%3E");
	}

	.header-top .nav-ul>li:nth-child(4)>.wrap>a::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080808' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5h16v11H9l-5 3v-14z'/%3E%3C/svg%3E");
	}

	body.page-id-469 .header-main {
		position: absolute;
		top: 32px;
		left: 0;
		z-index: 1;
		width: 100%;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.page-id-469 .header-main .header-main-inner,
	body.page-id-469 .header-main .row--wrapper {
		background: transparent !important;
		border-bottom: 0 !important;
	}

	body.page-id-469 .header-main .row--wrapper {
		min-height: 4.7rem;
	}

	/* At the top of the Hero the nav is transparent. A validated mega-menu
	 * interaction or keyboard focus brings up the white navigation surface and
	 * keeps that state while a visitor moves into its mega-menu. */
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction),
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within {
		background: var(--dp-color-white) !important;
		box-shadow: none !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .header-main-inner,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .row--wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .header-main-inner,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .row--wrapper {
		background: var(--dp-color-white) !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .nv-icon,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .cart-icon-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .wl-icon-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .my-account-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .builder-item--logo .site-logo a.brand,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .nav-ul>li>.wrap>a,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .nv-icon,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .cart-icon-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .wl-icon-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .my-account-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .builder-item--logo .site-logo a.brand {
		color: var(--dp-color-ink) !important;
	}

	/* Keep the top-of-page interaction treatment clean: no underline on root
	 * menu labels and no separator rule beneath the navigation row. */
	body.page-id-469:not(.dp-header-is-scrolled) .header-main .primary-menu-ul>li>.wrap>a:hover,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main .primary-menu-ul>li>.wrap>a:focus-visible {
		text-decoration: none !important;
		text-decoration-line: none !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .header-main-inner,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:has(.primary-menu-ul.has-dp-mega-interaction) .row--wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .header-main-inner,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main:focus-within .row--wrapper {
		border-bottom: 0 !important;
	}

	body.page-id-469 .header-main .nav-ul>li>.wrap>a,
	body.page-id-469 .header-main .nv-icon,
	body.page-id-469 .header-main .cart-icon-wrapper,
	body.page-id-469 .header-main .wl-icon-wrapper,
	body.page-id-469 .header-main .my-account-wrapper,
	body.page-id-469 .header-main .builder-item--logo .site-logo a.brand {
		color: var(--dp-color-white) !important;
	}

	/* Only the six controller-validated labels participate in pointer colors.
	 * Keep background/opacity polish, but semantic label colors must switch
	 * atomically on entry, owner transfer, and cleanup. */
	body.page-id-469:not(.dp-header-is-scrolled) .header-main .primary-menu-ul>li.is-dp-mega-eligible>.wrap>a {
		transition-property: background-color, opacity;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main .primary-menu-ul:not(.has-dp-mega-interaction)>li.is-dp-mega-eligible>.wrap>a {
		color: var(--dp-color-white) !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main .primary-menu-ul.has-dp-mega-interaction>li.is-dp-mega-eligible>.wrap>a {
		color: #737373 !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main .primary-menu-ul.has-dp-mega-interaction>li.is-dp-mega-eligible.is-dp-mega-interaction-owner>.wrap>a {
		color: #000000 !important;
	}

	body.page-id-469 .dp-hero-for-kings {
		width: 100vw;
		max-width: none;
		margin: 0 calc(50% - 50vw) !important;
	}

	body.page-id-469 .nv-content-wrap {
		padding-top: 0 !important;
	}

	body.page-id-469.dp-header-is-scrolled #header-grid {
		position: fixed;
	}

	body.page-id-469.dp-header-is-scrolled .header-top {
		display: none;
	}

	body.page-id-469.dp-header-is-scrolled .header-main {
		position: relative;
		top: 0;
		background: var(--dp-color-white) !important;
		border-bottom: 1px solid rgba(8, 8, 8, 0.1) !important;
		box-shadow: 0 0.35rem 1.15rem rgba(8, 8, 8, 0.08) !important;
	}

	body.page-id-469.dp-header-is-scrolled .header-main .header-main-inner,
	body.page-id-469.dp-header-is-scrolled .header-main .row--wrapper {
		background: var(--dp-color-white) !important;
	}

	body.page-id-469.dp-header-is-scrolled .header-main .nav-ul>li>.wrap>a,
	body.page-id-469.dp-header-is-scrolled .header-main .nv-icon,
	body.page-id-469.dp-header-is-scrolled .header-main .cart-icon-wrapper,
	body.page-id-469.dp-header-is-scrolled .header-main .wl-icon-wrapper,
	body.page-id-469.dp-header-is-scrolled .header-main .my-account-wrapper,
	body.page-id-469.dp-header-is-scrolled .header-main .builder-item--logo .site-logo a.brand {
		color: var(--dp-color-ink) !important;
	}
}

/* R05: editable Otter image sliders for the draft homepage. The source
 * artwork remains intact while the cards use the requested portrait ratios. */
body.page-id-469 .dp-symbols-in-life__slider,
body.page-id-469 .dp-house-journal__slider {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
}

body.page-id-469 .dp-symbols-in-life__slider .glide__track,
body.page-id-469 .dp-symbols-in-life__slider .glide__slides,
body.page-id-469 .dp-house-journal__slider .glide__track,
body.page-id-469 .dp-house-journal__slider .glide__slides {
	height: auto !important;
}

body.page-id-469 .dp-symbols-in-life__slider .glide__slides,
body.page-id-469 .dp-house-journal__slider .glide__slides {
	align-items: stretch;
}

body.page-id-469 .dp-symbols-in-life__slider .glide__slide,
body.page-id-469 .dp-house-journal__slider .glide__slide {
	height: auto;
	min-width: 0;
}

body.page-id-469 .dp-symbols-in-life__slider .glide__slide figure,
body.page-id-469 .dp-house-journal__slider .glide__slide figure {
	position: relative;
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.page-id-469 .dp-symbols-in-life__slider .glide__slide img,
body.page-id-469 .dp-house-journal__slider .glide__slide img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: transform 350ms cubic-bezier(0.2, 0.65, 0.25, 1), filter 350ms ease;
}

/* Symbols in Life: 273 x 341 at the reference card size. */
body.page-id-469 .dp-symbols-in-life__slider .glide__slide img {
	aspect-ratio: 273 / 341;
}

body.page-id-469 .dp-symbols-in-life__slider .glide__slide figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 3.25rem 1rem 1rem;
	background: linear-gradient(180deg, transparent 0%, rgba(8, 8, 8, 0.68) 100%);
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: clamp(0.85rem, 1.1vw, 1rem);
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
}

body.page-id-469 .dp-symbols-in-life__slider .glide__slide:hover img,
body.page-id-469 .dp-symbols-in-life__slider .glide__slide:focus-within img,
body.page-id-469 .dp-house-journal__slider .glide__slide:hover img,
body.page-id-469 .dp-house-journal__slider .glide__slide:focus-within img {
	filter: saturate(1.08);
	transform: scale(1.06);
}

/* House Journal: requested portrait ratio 4:5, kept fluid so the
 * five-up desktop rail and the one-up mobile slide remain responsive. */
body.page-id-469 .dp-house-journal__slider .glide__slide img {
	aspect-ratio: 2 / 3 !important;
	cursor: zoom-in;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-symbols-in-life__slider .glide__slide figcaption {
		padding: 2.75rem 0.85rem 0.85rem;
		font-size: 0.92rem;
	}
}

/* The Discover rail is a native WooCommerce Product Collection on page 469.
 * No product price or custom markup is used: its editable children are the
 * Product Image and Gutenberg Post Title blocks inside the collection. */
body.page-id-469 .dp-discover-products {
	box-sizing: border-box;
	width: 100%;
	margin: 13px 0 0;
	padding-inline: 5px;
}

body.page-id-469 .dp-discover-products .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
}

body.page-id-469 .dp-discover-products .wc-block-product {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	list-style: none;
}

body.page-id-469 .dp-discover-products .dp-discover-product-card {
	display: block !important;
	position: relative;
	width: 100%;
	overflow: hidden;
}

body.page-id-469 .dp-discover-products .wc-block-components-product-image {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: transparent;
}

body.page-id-469 .dp-discover-products .wc-block-components-product-image>a,
body.page-id-469 .dp-discover-products .wc-block-components-product-image img {
	display: block;
	width: 100%;
	height: 100%;
}

body.page-id-469 .dp-discover-products .wc-block-components-product-image img {
	/* Crop the source proportionally so every card is filled edge to edge. */
	object-fit: cover !important;
	object-position: center;
	mix-blend-mode: normal;
	transition: transform 280ms ease;
}

body.page-id-469 .dp-discover-products .wc-block-product:hover .wc-block-components-product-image img,
body.page-id-469 .dp-discover-products .wc-block-product:focus-within .wc-block-components-product-image img {
	transform: scale(1.035);
}

body.page-id-469 .dp-discover-products .wc-block-components-product-sale-badge {
	display: none;
}

body.page-id-469 .dp-discover-products .wp-block-post-title {
	position: absolute !important;
	inset-inline: 0;
	bottom: 10px;
	z-index: 3;
	margin: 0 !important;
	padding-inline: 0.75rem;
	font-family: var(--dp-font-body);
	font-size: clamp(0.72rem, 0.85vw, 0.9rem);
	font-weight: 500;
	line-height: 1.25;
	text-align: left;
	/* text-shadow: 0 1px 0.4rem rgba(0, 0, 0, 0.45); */
}

body.page-id-469 .dp-discover-products .wp-block-post-title a {
	color: black !important;
	text-decoration: none;
}

body.page-id-469 .dp-discover-products .wp-block-post-title a:hover,
body.page-id-469 .dp-discover-products .wp-block-post-title a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

@media (max-width: 767px) {

	/* Mobile: turn the 5-up grid into a swipeable slider that shows one card
	 * plus a peek of the next, with the product title below the image. */
	body.page-id-469 .dp-discover-products .wc-block-product-template {
		display: grid !important;
		grid-auto-flow: column;
		grid-template-columns: none !important;
		grid-auto-columns: 78%;
		gap: 14px;
		overflow-x: auto;
		overflow-y: visible;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 0;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 0 0 0.25rem;
	}

	body.page-id-469 .dp-discover-products .wc-block-product-template::-webkit-scrollbar {
		display: none;
	}

	body.page-id-469 .dp-discover-products .wc-block-product {
		scroll-snap-align: start;
	}

	/* Keep the product title overlaid at the bottom edge of the image, exactly
	 * like desktop (Discover the Icons and Symbols in Life share this rule).
	 * The card stays overflow:hidden (base rule) so the title sits inside the
	 * image rather than below it. */
	body.page-id-469 .dp-discover-products .wp-block-post-title {
		font-size: 0.82rem;
	}
}

/* The image source files are square, but this native Product Collection is a
 * portrait 4:5 rail. The image link is deliberately pinned to the media frame
 * so no intrinsic-image space can appear above or below the crop. */
body.page-id-469 .dp-discover-products .wc-block-components-product-image {
	display: block !important;
	inline-size: 100% !important;
	aspect-ratio: 4 / 5 !important;
	overflow: hidden !important;
}

body.page-id-469 .dp-discover-products .wc-block-components-product-image>a {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	overflow: hidden !important;
}

body.page-id-469 .dp-discover-products .wc-block-components-product-image>a>img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	inline-size: 100% !important;
	block-size: 100% !important;
	max-inline-size: none !important;
	max-block-size: none !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* This is an editable core Product Button block. Its add-to-cart link is
 * hidden in this visual rail; the installed Sparks wishlist action appended
 * to it is the usable, keyboard-focusable corner control. */
body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist {
	position: absolute !important;
	inset: 0 !important;
	z-index: 4 !important;
	margin: 0 !important;
	pointer-events: none !important;
}

body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist>.wp-block-button__link,
body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .wc-block-components-product-button__view-cart {
	display: none !important;
}

body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap,
body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap {
	position: absolute !important;
	/* Anchor to the card itself, including the final item in the five-card rail. */
	inset: 0.75rem 1rem auto auto !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	float: none !important;
	display: block !important;
	margin: 0 !important;
	pointer-events: auto !important;
}

body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl,
body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl {
	display: grid !important;
	place-items: center;
	box-sizing: border-box;
	min-inline-size: 2rem;
	min-block-size: 2rem;
	padding: 0.35rem !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.88) !important;
	color: var(--dp-color-ink) !important;
	box-shadow: 0 0.1rem 0.45rem rgba(0, 0, 0, 0.12);
	cursor: pointer;
}

body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl:hover,
body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl:focus-visible,
body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl:hover,
body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl:focus-visible {
	background: var(--dp-color-red) !important;
	color: var(--dp-color-white) !important;
	outline: 2px solid var(--dp-color-white);
	outline-offset: 2px;
}

body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap svg,
body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap svg {
	inline-size: 1.1rem !important;
	block-size: 1.1rem !important;
}

@media (hover: hover) and (pointer: fine) {

	body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap,
	body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap {
		opacity: 0;
		transition: opacity 180ms ease;
	}

	body.page-id-469 .dp-discover-products .wc-block-product:hover .dp-discover-product-card__wishlist .sp-wl-wrap,
	body.page-id-469 .dp-discover-products .wc-block-product:focus-within .dp-discover-product-card__wishlist .sp-wl-wrap,
	body.page-id-469 .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap:focus-within,
	body.page-id-469 .dp-discover-products .wc-block-product:hover .dp-discover-product-card>.sp-wl-wrap,
	body.page-id-469 .dp-discover-products .wc-block-product:focus-within .dp-discover-product-card>.sp-wl-wrap,
	body.page-id-469 .dp-discover-products .dp-discover-product-card>.sp-wl-wrap:focus-within {
		opacity: 1;
	}
}

/* Keep the Discover the Icons rail directly connected to The Philosophy.
 * The product rail supplies its own visual endpoint, so an additional
 * section-level spacer only creates an empty band between the two sections. */
body.page-id-469 .dp-discover-icons {
	padding-bottom: 0 !important;
}

body.page-id-469 .dp-philosophy {
	padding-top: 12px !important;
}

/* Page 469: align the editorial section-title bands with Discover the Icons.
 * Keep the Otter sections, their background media and their inner rails intact;
 * this only normalizes the white heading band above each section. */
@media (min-width: 768px) {

	body.page-id-469 .dp-philosophy,
	body.page-id-469 .dp-east-meets-west,
	body.page-id-469 .dp-symbols-in-life,
	body.page-id-469 .dp-house-journal {
		margin: 0;
		padding-top: clamp(1.5rem, 2vw, 2.5rem) !important;
		padding-bottom: 0 !important;
	}

	body.page-id-469 .dp-philosophy__heading,
	body.page-id-469 .dp-east-meets-west__heading,
	body.page-id-469 .dp-symbols-in-life__heading,
	body.page-id-469 .dp-house-journal__heading {
		box-sizing: border-box;
		width: min(calc(100% - 2rem), var(--dp-container));
		margin: 0 auto 20px !important;
		text-align: center !important;
	}
}

@media (max-width: 767px) {

	body.page-id-469 .dp-philosophy,
	body.page-id-469 .dp-east-meets-west,
	body.page-id-469 .dp-symbols-in-life,
	body.page-id-469 .dp-house-journal {
		margin: 0;
		padding-top: 1.25rem !important;
		padding-bottom: 0 !important;
	}

	body.page-id-469 .dp-philosophy__heading,
	body.page-id-469 .dp-east-meets-west__heading,
	body.page-id-469 .dp-symbols-in-life__heading,
	body.page-id-469 .dp-house-journal__heading {
		margin: 0 auto 20px !important;
		text-align: center !important;
	}
}

/* ============================================================
 * Symbols in Life product rail ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â match Discover the Icons 100%.
 * The Symbols in Life products now use a WooCommerce Product Collection that
 * carries the same `.dp-discover-products` class as Discover the Icons, so it
 * inherits the identical 5-column grid, 10px gap, 4:5 image crop, absolute
 * product title and Sparks wishlist styling. The only extra work needed is to
 * give the Symbols Otter Section the same full-bleed container as Discover so
 * the rail width ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â and therefore the card size and the spacing between the
 * product images ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â is pixel-identical.
 * ============================================================ */

/* Symbols in Life sits in a full-width section (same as The Philosophy and
 * East Meets West), so its Otter frame fills that section edge to edge. Using
 * width:100% (not 100vw) avoids the scrollbar-width horizontal overflow that a
 * 100vw break-out would introduce. Matches the .dp-east-meets-west-banner and
 * .dp-founders-story__banner full-bleed rule. */
body.page-id-469 .dp-symbols-in-life__frame {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

/* Constrain the inner content to the shared DON POSEI container and centre it,
 * exactly like `.dp-discover-icons .innerblocks-wrap`. Mobile keeps the
 * existing full-width behaviour handled elsewhere in this stylesheet. */
@media (min-width: 768px) {
	body.page-id-469 .dp-symbols-in-life__frame .innerblocks-wrap {
		box-sizing: border-box;
		width: min(100%, var(--dp-container)) !important;
		max-width: none !important;
		margin-inline: auto !important;
	}
}

/* The Symbols rail supplies its own visual endpoint just like Discover, so it
 * should sit flush against the following section rather than adding an empty
 * band below the products. */
body.page-id-469 .dp-symbols-in-life .dp-discover-products {
	margin-bottom: 0 !important;
}

/* ------------------------------------------------------------
 * Founder's Story spacing + CTA sizing follow-up.
 * ------------------------------------------------------------ */

/* Add a white gap above the Founder's Story banner so it no longer butts
 * directly against the Symbols in Life product rail. The 16:9 banner stays
 * full-bleed; only a top band is added. padding-bottom stays 0 so the section
 * still meets The House Journal exactly as before. */
@media (min-width: 768px) {
	body.page-id-469 .dp-founders-story {
		padding-top: clamp(2rem, 4vw, 1.5rem) !important;
	}
}

/* Make the "Our Story" CTA box a little more compact than the default rail
 * button (was 0.9rem 1.35rem). */
body.page-id-469 .dp-founders-story .wp-block-button__link,
body.page-id-469 .dp-founders-story .wp-block-button__link.dp-button {
	padding: 0.62rem 1.1rem !important;
	font-size: 0.72rem !important;
}

/* Add a white gap above the Final Collection CTA ("Find the one that speaks to
 * you") so it no longer butts directly against The House Journal images.
 * Only padding-top is added; padding-bottom stays 0 so the CTA banner still
 * meets the footer flush. */
body.page-id-469 .dp-final-collection-cta {
	padding-top: clamp(2rem, 4vw, 3rem) !important;
}

/* ============================================================
 * At Your Service / Join the World of DON POSEI
 * A light utility band placed after The House Journal, before the Final CTA.
 * ============================================================ */
body.page-id-469 .dp-service-join {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);
	background: #f9f9f9;
	color: var(--dp-color-ink);
}

body.page-id-469 .dp-service-join__heading {
	margin: 0 auto;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

/* Row of five service promises with line icons. */
body.page-id-469 .dp-service-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	width: min(100%, 1100px);
	margin: clamp(2rem, 4vw, 3.25rem) auto 0;
}

body.page-id-469 .dp-service-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	width: 9rem;
	text-align: center;
}

body.page-id-469 .dp-service-item__icon {
	display: inline-flex;
	margin: 0;
	color: var(--dp-color-ink);
}

body.page-id-469 .dp-service-item__icon img {
	display: block;
	width: 42px;
	height: 42px;
}

body.page-id-469 .dp-service-item__label {
	margin: 0;
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.45;
	color: var(--dp-color-ink);
}

body.page-id-469 .dp-service-join__heading--join {
	margin-top: clamp(3rem, 6vw, 5rem);
}

/* Newsletter signup rebuilt with native Otter Form blocks. */
body.page-id-469 .dp-join-form {
	width: min(100%, 30rem);
	margin: clamp(1.5rem, 3vw, 2.25rem) auto 0;
}

body.page-id-469 .dp-join-form .otter-form__container {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0;
}

body.page-id-469 .dp-join-form__field {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

body.page-id-469 .dp-join-form .otter-form-input-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.page-id-469 .dp-join-form .otter-form__container .wp-block-themeisle-blocks-form-input .otter-form-input {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	height: 3rem;
	padding: 0 1rem;
	border: 1px solid rgba(8, 8, 8, 0.35);
	border-right: 0;
	border-radius: 0;
	background: #fff;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.page-id-469 .dp-join-form .otter-form__container .wp-block-themeisle-blocks-form-input .otter-form-input::placeholder {
	color: rgba(8, 8, 8, 0.5);
}

body.page-id-469 .dp-join-form .otter-form__container .wp-block-themeisle-blocks-form-input .otter-form-input:focus-visible {
	outline: none;
	border-color: var(--dp-color-ink);
	box-shadow: var(--dp-focus-ring);
}

body.page-id-469 .dp-join-form .wp-block-button {
	flex: 0 0 auto;
	margin: 0;
}

body.page-id-469 .dp-join-form .otter-form__container .wp-block-button .wp-block-button__link {
	height: 3rem;
	padding: 0 1.85rem;
	border: 1px solid var(--dp-color-ink);
	border-radius: 0;
	background: var(--dp-color-ink);
	color: #fff;
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease;
}

body.page-id-469 .dp-join-form .otter-form__container .wp-block-button .wp-block-button__link:hover,
body.page-id-469 .dp-join-form .otter-form__container .wp-block-button .wp-block-button__link:focus-visible {
	border-color: var(--dp-color-red);
	background: var(--dp-color-red);
}

body.page-id-469 .dp-join-form__note {
	max-width: 40rem;
	margin: clamp(1.25rem, 2.5vw, 1.75rem) auto 0;
	color: var(--dp-color-muted);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	line-height: 1.6;
	text-align: center;
}

/* Requested 5px gap between this section and the Final Collection CTA.
 * (Supersedes the earlier House Journal -> CTA spacing, now that this section
 * sits directly above the CTA.) padding-bottom stays 0 for the footer flush. */
body.page-id-469 .dp-final-collection-cta {
	padding-top: 5px !important;
}

@media (max-width: 767px) {
	body.page-id-469 .dp-service-join {
		padding: clamp(2.25rem, 8vw, 3rem) 1.25rem;
	}

	body.page-id-469 .dp-service-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: center;
		justify-items: center;
		gap: 1.75rem 1.25rem;
	}

	body.page-id-469 .dp-service-item {
		width: 7.5rem;
	}

	body.page-id-469 .dp-join-form {
		width: 100%;
	}
}

/* ============================================================
 * Footer follow-up: tighter link spacing + bottom-right legal links.
 * ============================================================ */

/* Tighten the vertical gap between footer navigation links (~5px). The list
 * items carry a default 10px top margin from the theme, so zero it and let the
 * 5px grid gap alone control the spacing. */
#site-footer .dp-footer-links {
	gap: 5px;
}

#site-footer .dp-footer-links li {
	margin: 0;
	padding: 0;
}

/* Legal links pinned to the bottom-right of the footer grid, opposite the
 * DON POSEI wordmark (which sits bottom-left), like davidyurman.com. The last
 * footer slot's wrappers are made static so the list positions against the
 * grid rather than its own slot. */
#site-footer .footer-top .hfg-slot:last-child>.builder-item,
#site-footer .footer-top .hfg-slot:last-child .item--inner {
	position: static;
}

#site-footer .dp-footer-legal {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
}

#site-footer .dp-footer-legal__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0.4rem 1.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

#site-footer .dp-footer-legal__row li {
	margin: 0;
}

#site-footer .dp-footer-legal a {
	color: rgba(245, 243, 239, 0.72);
	font-family: var(--dp-font-body);
	font-size: clamp(0.62rem, 0.72vw, 0.72rem);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

#site-footer .dp-footer-legal a:hover,
#site-footer .dp-footer-legal a:focus-visible {
	color: var(--dp-color-white);
}

/* On phones the grid stacks, so let the legal links flow normally instead of
 * pinning them to a corner. */
@media (max-width: 767px) {
	#site-footer .dp-footer-legal {
		position: static;
		align-items: flex-start;
		width: 100%;
		margin-top: 1.75rem;
	}

	#site-footer .dp-footer-legal__row {
		justify-content: flex-start;
	}
}

/* ============================================================
 * Footer: social icons moved under Follow Us; bottom bar retired.
 * ============================================================ */

/* Retire the separate footer bottom row. Its social icons now live under the
 * Follow Us column and its copyright is relocated into the legal block. */
#site-footer .footer-bottom {
	display: none !important;
}

/* Social icons directly under the Follow Us links. */
#site-footer .footer-top .dp-follow-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 1.15rem 0 0;
	padding: 0;
	list-style: none;
}

#site-footer .footer-top .dp-follow-social li {
	margin: 0;
	padding: 0;
}

#site-footer .footer-top .dp-follow-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 4px;
	/* fill (#fff) and background (#8E0A1C) come from the inline style. */
}

#site-footer .footer-top .dp-follow-social svg {
	width: 0.95rem !important;
	height: 0.95rem !important;
}

/* Copyright relocated below the legal links (bottom-right). */
#site-footer .dp-footer-copyright {
	margin-top: 0.4rem;
	color: rgba(245, 243, 239, 0.55);
	font-family: var(--dp-font-body);
	font-size: clamp(0.6rem, 0.7vw, 0.7rem);
	letter-spacing: 0.06em;
	text-align: right;
}

@media (max-width: 767px) {
	#site-footer .dp-footer-copyright {
		text-align: left;
	}
}

/* ============================================================
 * Footer mobile accordions (davidyurman.com style).
 * Desktop/tablet keep the static expanded columns; phones collapse each menu
 * into a tap-to-open row. Built with native <details>/<summary> so no
 * JavaScript is needed.
 * ============================================================ */

/* Summary headings inherit the footer column heading look. */
#site-footer .dp-footer-acc__title {
	margin: 0 0 1.25rem;
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: clamp(0.78rem, 0.95vw, 1rem);
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	list-style: none;
}

#site-footer .dp-footer-acc__title::-webkit-details-marker {
	display: none;
}

#site-footer .dp-footer-acc__title::marker {
	content: "";
}

#site-footer .dp-footer-acc {
	margin: 0;
}

/* --- Desktop / tablet: always expanded, no chevron, non-interactive --- */
@media (min-width: 768px) {

	/* Older engines (Firefox/Safari/older Chrome) hide closed <details>
	 * content by setting display:none on the children. */
	#site-footer .dp-footer-acc>.dp-footer-links {
		display: grid !important;
		font-size: 12px;
	}

	/* Chrome 128+ hides it via the ::details-content pseudo-element instead. */
	#site-footer .dp-footer-acc::details-content {
		content-visibility: visible !important;
	}

	#site-footer .dp-footer-acc__title {
		cursor: default;
		pointer-events: none;
	}

	#site-footer .dp-footer-acc__title::after {
		display: none;
	}
}

/* --- Mobile: single-column tap-to-open accordions --- */
@media (max-width: 767px) {
	#site-footer .footer-top .hfg-grid {
		grid-template-columns: 1fr !important;
		row-gap: 0 !important;
		padding-bottom: 0.5rem !important;
	}

	#site-footer .footer-top .hfg-slot {
		align-items: stretch;
	}

	/* Accordion rows separated by thin dividers. */
	#site-footer .dp-footer-acc {
		border-top: 1px solid rgba(245, 243, 239, 0.14);
	}

	#site-footer .footer-top .hfg-slot:first-child .dp-footer-acc {
		border-top: 0;
	}

	#site-footer .dp-footer-acc__title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0;
		padding: 1.15rem 0.25rem;
		cursor: pointer;
	}

	/* Down chevron that flips up when the row is open. */
	#site-footer .dp-footer-acc__title::after {
		content: "";
		flex: 0 0 auto;
		width: 0.55rem;
		height: 0.55rem;
		margin-right: 0.35rem;
		border-right: 1.5px solid rgba(245, 243, 239, 0.85);
		border-bottom: 1.5px solid rgba(245, 243, 239, 0.85);
		transform: translateY(-2px) rotate(45deg);
		transition: transform 220ms ease;
	}

	#site-footer .dp-footer-acc[open] .dp-footer-acc__title::after {
		transform: translateY(2px) rotate(-135deg);
	}

	#site-footer .dp-footer-acc>.dp-footer-links {
		padding: 0 0.25rem 1.2rem;
	}

	/* Follow Us: centered block, not an accordion (icons stay visible). */
	#site-footer .footer-top .hfg-slot:last-child .widget-area {
		border-top: 1px solid rgba(245, 243, 239, 0.14);
		margin-top: 0;
		padding-top: 1.75rem;
		text-align: center;
	}

	#site-footer .footer-top .hfg-slot:last-child .widget-title {
		margin-bottom: 1.1rem;
		text-align: center;
	}

	#site-footer .footer-top .hfg-slot:last-child .dp-footer-links {
		justify-items: center;
	}

	#site-footer .footer-top .dp-follow-social {
		justify-content: center;
	}

	/* Legal links + copyright centered under Follow Us. */
	#site-footer .dp-footer-legal {
		position: static;
		align-items: center;
		width: 100%;
		margin-top: 1.75rem;
	}

	#site-footer .dp-footer-legal__row {
		justify-content: center;
	}

	#site-footer .dp-footer-copyright {
		text-align: center;
	}

	/* The oversized wordmark does not fit a phone column; hide it here. */
	#site-footer .dp-footer-wordmark {
		display: none !important;
	}
}

/* ============================================================
 * Shop by Category ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â mobile: 2-column grid instead of the slider,
 * and hide the "Shop Women's / Shop Men's" heading links.
 * ============================================================ */
@media (max-width: 767px) {

	/* Neutralise the Glide slider and lay the six category tiles out as a
	 * static 2-up grid (Glide's inline transform/width are overridden). */
	body.page-id-469 .dp-category-slider .glide__track {
		overflow: visible !important;
	}

	body.page-id-469 .dp-category-slider .glide__slides {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
		width: 100% !important;
		transform: none !important;
		transition: none !important;
	}

	body.page-id-469 .dp-category-slider .glide__slide {
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	/* Glide clones the slides for its desktop loop; hide the clones so the
	 * mobile grid shows only the six real categories (Rings, Bracelets,
	 * Talismans, Chains, Wedding, Earrings) with no duplicates. */
	body.page-id-469 .dp-category-slider .glide__slide--clone {
		display: none !important;
	}

	/* No arrows in grid mode. */
	body.page-id-469 .dp-category-slider .glide__arrows {
		display: none !important;
	}

	/* Hide the Shop Women's / Shop Men's shortcuts on phones. */
	body.page-id-469 .dp-shop-categories__heading-row .dp-section-heading-actions {
		display: none !important;
	}
}

/* ============================================================
 * Mobile refinements: At Your Service + The House Journal.
 * ============================================================ */

/* At Your Service: drop the fifth promise ("Complimentary Gift Boxes") on
 * phones so the remaining four sit as a tidy 2x2. Desktop keeps all five. */
@media (max-width: 767px) {
	body.page-id-469 .dp-service-grid .dp-service-item:nth-child(5) {
		display: none;
	}
}

/* The House Journal: on phones present the images as a swipeable slider
 * (one image plus a peek of the next), matching the Symbols in Life / Discover
 * mobile rails. Desktop keeps the five-up Otter slider untouched. */
@media (max-width: 767px) {
	body.page-id-469 .dp-house-journal__slider .glide__track {
		overflow: visible !important;
	}

	body.page-id-469 .dp-house-journal__slider .glide__slides {
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-columns: none !important;
		grid-auto-columns: 78% !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		transition: none !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		/* Glide core CSS forces touch-action: pan-y, which blocks horizontal
		 * swiping. Restore normal touch handling so the rail can be swiped. */
		touch-action: auto !important;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 0.25rem;
	}

	body.page-id-469 .dp-house-journal__slider .glide__slides::-webkit-scrollbar {
		display: none;
	}

	body.page-id-469 .dp-house-journal__slider .glide__slide {
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		scroll-snap-align: start;
	}

	/* Hide Glide loop clones and arrows in the scroll layout. */
	body.page-id-469 .dp-house-journal__slider .glide__slide--clone {
		display: none !important;
	}

	body.page-id-469 .dp-house-journal__slider .glide__arrows {
		display: none !important;
	}
}

/* ============================================================
 * Founder's Story ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â mobile portrait artwork + centered copy.
 * Desktop keeps the 16:9 campaign banner untouched.
 * ============================================================ */
@media (max-width: 767px) {

	/* Dedicated mobile image (1201x1501 source, rendered ~430x538) so the
	 * face reads clearly and stays sharp. Overrides the Otter block background
	 * on phones only. */
	body.page-id-469 .dp-founders-story__banner {
		aspect-ratio: 430 / 538 !important;
		min-height: 0 !important;
		height: auto !important;
		background-image: url("assets/images/section-dp-founders-story-mb.webp") !important;
		background-size: cover !important;
		background-position: center center !important;
		background-repeat: no-repeat !important;
	}

	/* Replace the flat 66% overlay with a bottom-only gradient: the portrait
	 * stays clear while the copy remains readable. */
	body.page-id-469 .dp-founders-story__banner>.wp-block-themeisle-blocks-advanced-columns-overlay {
		opacity: 1 !important;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.25) 66%, rgba(0, 0, 0, 0.66) 100%) !important;
	}

	/* Fill the aspect-ratio banner so the copy can anchor to the bottom. */
	body.page-id-469 .dp-founders-story__banner>.innerblocks-wrap {
		position: absolute !important;
		inset: 0 !important;
		height: 100% !important;
		min-height: 0 !important;
		display: flex !important;
	}

	body.page-id-469 .dp-founders-story__column {
		height: 100% !important;
		min-height: 0 !important;
		align-items: flex-end !important;
	}

	body.page-id-469 .dp-founders-story__content {
		width: 100% !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 1.25rem 10px !important;
		text-align: center !important;
	}

	body.page-id-469 .dp-founders-story__text {
		max-width: 26rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.page-id-469 .dp-founders-story__actions {
		justify-content: center !important;
		text-align: center !important;
		padding-bottom: 10px;
	}
}

/* ============================================================
 * Final CTA button: make it compact like the Founder's Story button
 * across mobile, tablet and desktop.
 * ============================================================ */
body.page-id-469 .dp-final-collection-cta .wp-block-button__link,
body.page-id-469 .dp-final-collection-cta .wp-block-button__link.dp-button {
	padding: 0.62rem 1.1rem !important;
	font-size: 0.72rem !important;
}

@media (max-width: 768px) {
	body.page-id-469 .dp-hero-for-kings {
		background-position: 70% 50% !important;
	}
}

/* ============================================================
 * Hero (For Kings) refresh: no eyebrow, brighter artwork, capped heights,
 * mobile copy centered at the bottom.
 * ============================================================ */

/* Remove the "The House of DON POSEI" eyebrow on every viewport. */
body.page-id-469 .dp-hero-for-kings__content .dp-eyebrow {
	display: none !important;
}

/* Keep the artwork bright: replace the flat ~58% dark overlay with a light
 * gradient that only shades the area behind the copy (left band on desktop). */
body.page-id-469 .dp-hero-for-kings>.wp-block-themeisle-blocks-advanced-columns-overlay {
	opacity: 1 !important;
	background: linear-gradient(to right, rgba(8, 8, 8, 0.52) 0%, rgba(8, 8, 8, 0.2) 42%, rgba(8, 8, 8, 0) 66%) !important;
}

@media (min-width: 768px) {

	/* Desktop: show the FULL original banner image with no cropping. The box
	 * takes the image's native 2881x1201 ratio, so the height follows the
	 * full-bleed 100vw width (~600px at 1440px) and cover == the whole image. */
	body.page-id-469 .dp-hero-for-kings {
		aspect-ratio: 2881 / 1201 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
	}
}

@media (max-width: 767px) {

	/* Mobile: taller framing between 350px and 756px. */
	body.page-id-469 .dp-hero-for-kings {
		min-height: 350px !important;
		height: min(84vh, 756px) !important;
		max-height: 756px !important;
	}

	/* Bottom gradient for the centered copy; keeps the top of the image bright. */
	body.page-id-469 .dp-hero-for-kings>.wp-block-themeisle-blocks-advanced-columns-overlay {
		background: linear-gradient(to bottom, rgba(8, 8, 8, 0) 45%, rgba(8, 8, 8, 0.18) 68%, rgba(8, 8, 8, 0.6) 100%) !important;
	}

	/* Copy centered along the bottom, like the illustration. */
	body.page-id-469 .dp-hero-for-kings .innerblocks-wrap {
		align-items: flex-end !important;
	}

	body.page-id-469 .dp-hero-for-kings__content {
		width: 100% !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 1.25rem 2.25rem !important;
		text-align: center !important;
	}

	body.page-id-469 .dp-hero-for-kings__tagline {
		max-width: 26rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.page-id-469 .dp-hero-for-kings .dp-button-group {
		justify-content: center !important;
	}
}

/* ------------------------------------------------------------------ *
 * Turn fixes 2026-08-29 (v1.0.66)
 * ------------------------------------------------------------------ */

/* Founder's Story: remove the flat dark wash on desktop so the portrait shows
 * at the source brightness. Keep only a soft left-side gradient behind the
 * left-aligned copy for legibility; the right side (the face) stays clear. */
@media (min-width: 768px) {
	body.page-id-469 .dp-founders-story__banner>.wp-block-themeisle-blocks-advanced-columns-overlay {
		opacity: 1 !important;
		background: linear-gradient(to right, rgba(8, 8, 8, 0.55) 0%, rgba(8, 8, 8, 0.2) 40%, rgba(8, 8, 8, 0) 65%) !important;
	}
}

/* ================================================================== *
 * DON POSEI mega menu - David Yurman layout (v1.0.67)
 * Collection featured-image variant, mobile accordion toggle.
 * ================================================================== */

/* Caret button - hidden on desktop (hover/focus opens the panel via CSS). */
.dp-mega-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.dp-mega-toggle__icon {
	display: block;
	width: 0.6rem;
	height: 0.6rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 200ms ease;
}

@media (min-width: 1025px) {

	/* ---- Collection layout: centered FEATURED COLLECTIONS row. ---- */
	.header-main.hide-on-mobile .dp-mega-menu--collection .dp-mega-menu__inner {
		display: block;
		text-align: center;
		max-width: 1400px;
	}

	.dp-mega-menu__collection-title {
		margin: 0 0 clamp(1.5rem, 2.5vw, 2.5rem);
		color: var(--dp-color-ink);
		font-family: var(--dp-font-body);
		font-size: 0.82rem;
		font-weight: 700;
		letter-spacing: 0.14em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	.header-main.hide-on-mobile .dp-mega-menu__collection-title {
		color: var(--dp-color-ink) !important;
	}

	.dp-mega-menu__collection-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: clamp(0.75rem, 1.4vw, 1.35rem);
	}

	.dp-mega-menu__ccard {
		position: relative;
		display: block;
		overflow: hidden;
		background: var(--dp-color-ink);
		text-decoration: none;
	}

	.dp-mega-menu__ccard img {
		display: block;
		width: 100%;
		height: clamp(14rem, 20vw, 21rem);
		object-fit: cover;
		transition: transform 400ms ease;
	}

	.dp-mega-menu__ccard::after {
		content: "";
		position: absolute;
		inset: 45% 0 0;
		background: linear-gradient(transparent, rgba(8, 8, 8, 0.72));
	}

	.dp-mega-menu__ccard:hover img,
	.dp-mega-menu__ccard:focus-visible img {
		transform: scale(1.04);
	}

	.dp-mega-menu__ccard-body {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 1.15rem;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.3rem;
	}

	.dp-mega-menu__ccard-title,
	.header-main.hide-on-mobile .dp-mega-menu__ccard-title {
		color: var(--dp-color-white) !important;
		font-family: var(--dp-font-body);
		font-size: clamp(0.78rem, 0.95vw, 0.95rem);
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.dp-mega-menu__ccard-cta,
	.header-main.hide-on-mobile .dp-mega-menu__ccard-cta {
		color: var(--dp-color-white) !important;
		font-family: var(--dp-font-body);
		font-size: 0.66rem;
		font-weight: 500;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		text-decoration: underline;
		text-underline-offset: 0.28em;
	}

	.dp-mega-menu__collection-links {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: clamp(1.5rem, 3vw, 3rem);
		margin-top: clamp(1.5rem, 2.5vw, 2.25rem);
	}

	.dp-mega-menu__collection-link,
	.header-main.hide-on-mobile .dp-mega-menu__collection-link {
		flex: 0 0 auto !important;
		width: auto !important;
		color: var(--dp-color-ink) !important;
		font-family: var(--dp-font-body);
		font-size: 0.74rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		text-decoration: none;
	}

	.dp-mega-menu__collection-link:hover,
	.dp-mega-menu__collection-link:focus-visible {
		color: var(--dp-color-red-hover) !important;
		text-decoration: underline;
		text-underline-offset: 0.25em;
	}
}

@media (max-width: 1024px) {

	/* Row header: label on the left, caret button on the right. */
	.dp-mega-parent>.wrap {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.dp-mega-parent>.wrap>a {
		flex: 1 1 auto;
	}

	.dp-mega-toggle {
		display: inline-flex;
		flex: 0 0 auto;
	}

	.dp-mega-parent.is-open>.wrap .dp-mega-toggle__icon {
		transform: rotate(-135deg);
	}

	/* Collapsed panels animate open via the existing .is-open rule. */
	.dp-mega-menu__collection-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.6rem;
		padding: 0.5rem 1rem 0.75rem;
	}

	.dp-mega-menu__ccard {
		position: relative;
		display: block;
		overflow: hidden;
	}

	.dp-mega-menu__ccard img {
		display: block;
		width: 100%;
		height: 9rem;
		object-fit: cover;
	}

	.dp-mega-menu__ccard::after {
		content: "";
		position: absolute;
		inset: 45% 0 0;
		background: linear-gradient(transparent, rgba(8, 8, 8, 0.72));
	}

	.dp-mega-menu__ccard-body {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0.55rem;
		z-index: 1;
		text-align: center;
	}

	.dp-mega-menu__ccard-title {
		display: block;
		color: var(--dp-color-white);
		font-size: 0.7rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.dp-mega-menu__ccard-cta {
		display: block;
		margin-top: 0.15rem;
		color: var(--dp-color-white);
		font-size: 0.58rem;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		text-decoration: underline;
	}

	.dp-mega-menu__collection-title {
		margin: 0;
		padding: 0.85rem 1rem 0.2rem;
		color: var(--dp-color-red);
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	.dp-mega-menu__collection-links {
		display: flex;
		flex-direction: column;
		gap: 0.4rem;
		padding: 0.4rem 1rem 1rem;
	}

	.dp-mega-menu__collection-link {
		color: var(--dp-color-ink);
		font-size: 0.8rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		text-decoration: none;
	}

	.dp-mega-menu__featured {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
		padding: 0.5rem 1rem 1rem;
	}

	.dp-mega-menu__group+.dp-mega-menu__group {
		margin-top: 1.1rem;
	}

	.dp-mega-menu__group-title {
		display: block;
		margin: 0 0 0.4rem;
		color: var(--dp-color-ink);
		font-size: 0.86rem;
		font-weight: 600;
		text-transform: none;
	}
}

/* Mobile mega panels sit on a white background inside the dark off-canvas
 * sidebar, so force readable ink text (Neve's sidebar sets light link colours
 * that would otherwise wash the panel out). Featured card captions stay white. */
@media (max-width: 1024px) {

	.header-menu-sidebar .dp-mega-menu,
	.header-main.hide-on-desktop .dp-mega-menu,
	.header-menu-sidebar-inner .dp-mega-menu {
		color: var(--dp-color-ink);
	}

	.header-menu-sidebar .dp-mega-menu__links a,
	.header-menu-sidebar .dp-mega-menu__group-title,
	.header-menu-sidebar .dp-mega-menu__collection-link,
	.header-main.hide-on-desktop .dp-mega-menu__links a,
	.header-main.hide-on-desktop .dp-mega-menu__group-title,
	.header-main.hide-on-desktop .dp-mega-menu__collection-link,
	.header-menu-sidebar-inner .dp-mega-menu__links a,
	.header-menu-sidebar-inner .dp-mega-menu__group-title,
	.header-menu-sidebar-inner .dp-mega-menu__collection-link {
		color: var(--dp-color-ink) !important;
		opacity: 1 !important;
		filter: none !important;
	}

	.header-menu-sidebar .dp-mega-menu__column-title,
	.header-main.hide-on-desktop .dp-mega-menu__column-title,
	.header-menu-sidebar-inner .dp-mega-menu__column-title {
		color: rgba(8, 8, 8, 0.55) !important;
		opacity: 1 !important;
	}

	.header-menu-sidebar .dp-mega-menu__ccard-title,
	.header-menu-sidebar .dp-mega-menu__ccard-cta,
	.header-main.hide-on-desktop .dp-mega-menu__ccard-title,
	.header-main.hide-on-desktop .dp-mega-menu__ccard-cta,
	.header-menu-sidebar-inner .dp-mega-menu__ccard-title,
	.header-menu-sidebar-inner .dp-mega-menu__ccard-cta {
		color: var(--dp-color-white) !important;
		opacity: 1 !important;
	}
}

/* ================================================================== *
 * DON POSEI mega menu - illustration render sizes (v1.0.69)
 * Standard cards render at a 4:5 aspect ratio; World of DP uses one landscape
 * About Us banner on desktop and keeps its mobile accordion card compact.
 * ================================================================== */
@media (min-width: 1025px) {

	/* Featured rail hugs its cards (each a 4:5 portrait). */
	.dp-mega-menu--has-featured .dp-mega-menu__inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.header-main.hide-on-mobile .dp-mega-menu__featured {
		display: flex;
		flex-wrap: nowrap;
		gap: 0;
		justify-content: flex-end;
		align-items: flex-start;
	}

	.header-main.hide-on-mobile .dp-mega-menu__card {
		flex: 0 0 auto;
		width: 251px;
		height: auto;
		min-height: 0;
	}

	.header-main.hide-on-mobile .dp-mega-menu__card img {
		width: 251px;
		height: auto;
		aspect-ratio: 4 / 5;
		min-height: 0;
		object-fit: cover;
	}

	/* Collection cards share the same 4:5 render size, centered. */
	.header-main.hide-on-mobile .dp-mega-menu__collection-grid {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: clamp(0.85rem, 1.4vw, 1.35rem);
	}

	.header-main.hide-on-mobile .dp-mega-menu__ccard {
		flex: 0 0 auto;
		width: 251px;
	}

	.header-main.hide-on-mobile .dp-mega-menu__ccard img {
		width: 251px;
		height: auto;
		aspect-ratio: 4 / 5;
		object-fit: cover;
	}

	/* ---- World of DP: one large landscape About Us banner. ---- */
	.header-main.hide-on-mobile .dp-mega-menu--featured-wide .dp-mega-menu__featured {
		display: block;
		justify-self: end;
	}

	.header-main.hide-on-mobile .dp-mega-menu--featured-wide .dp-mega-menu__card,
	.header-main.hide-on-mobile .dp-mega-menu--featured-wide .dp-mega-menu__card img {
		width: 500px;
		height: 300px;
		max-width: none;
		min-height: 0;
	}

	.header-main.hide-on-mobile .dp-mega-menu--featured-wide .dp-mega-menu__card img {
		aspect-ratio: auto;
		object-fit: cover;
	}

	.header-main.hide-on-mobile .dp-mega-menu--featured-wide .dp-mega-menu__card::after {
		content: "";
		position: absolute;
		inset: 58% 0 0;
		background: linear-gradient(transparent, rgba(8, 8, 8, .72));
		pointer-events: none;
	}

	.header-main.hide-on-mobile .dp-mega-menu--featured-wide .dp-mega-menu__card span {
		color: #fff !important;
		font-size: .82rem;
		font-weight: 600;
		letter-spacing: .06em;
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: .45rem;
	}
}

@media (max-width: 1024px) {

	/* World of DP thumbnail keeps a compact portrait in the mobile accordion. */
	.dp-mega-menu--featured-wide .dp-mega-menu__card img {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 5;
		object-fit: cover;
	}
}

/* ================================================================== *
 * DON POSEI mobile header + off-canvas menu (v1.0.71)
 * Sticky white header bar; white David Yurman-style slide-out menu.
 * ================================================================== */
@media (max-width: 1024px) {

	/* ---- Sticky mobile header ----
	 * A .wrapper ancestor uses overflow:hidden which disables position:sticky,
	 * so the bar is fixed to the viewport and its parent reserves the space. */
	#header-grid {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 99999 !important;
	}

	header.header {
		min-height: 64px;
	}

	/* ---- White header bar with dark logo + icons ---- */
	.header-main.hide-on-desktop,
	.header-main.hide-on-desktop .header-main-inner,
	.header-main.hide-on-desktop .row--wrapper {
		background: var(--dp-color-white) !important;
		border: 0 !important;
	}

	.header-main.hide-on-desktop {
		box-shadow: 0 1px 0 rgba(8, 8, 8, 0.1) !important;
	}

	.header-main.hide-on-desktop .builder-item--logo .site-logo a.brand,
	.header-main.hide-on-desktop .nv-icon,
	.header-main.hide-on-desktop .cart-icon-wrapper,
	.header-main.hide-on-desktop .wl-icon-wrapper,
	.header-main.hide-on-desktop .my-account-wrapper,
	.header-main.hide-on-desktop .header_search,
	.header-main.hide-on-desktop .header_search a,
	.header-main.hide-on-desktop .nv-search-icon-wrap,
	.header-main.hide-on-desktop .navbar-toggle-wrapper {
		color: var(--dp-color-ink) !important;
	}

	.header-main.hide-on-desktop .nv-icon svg,
	.header-main.hide-on-desktop .header_search svg,
	.header-main.hide-on-desktop .nv-search-icon-wrap svg,
	.header-main.hide-on-desktop .cart-icon-wrapper svg {
		fill: currentColor !important;
		stroke: currentColor;
	}

	.navbar-toggle {
		color: white;
	}

	/* Hamburger bars dark on the white bar. */
	.header-main.hide-on-desktop .hamburger-inner,
	.header-main.hide-on-desktop .hamburger-inner::before,
	.header-main.hide-on-desktop .hamburger-inner::after {
		background-color: var(--dp-color-ink) !important;
	}

	/* ---- Off-canvas slide-out: white background ---- */
	.header-menu-sidebar-bg {
		background: var(--dp-color-white) !important;
	}

	.header-menu-sidebar,
	.header-menu-sidebar .header-menu-sidebar-inner {
		background: transparent !important;
		color: var(--dp-color-ink) !important;
	}

	.header-menu-sidebar .header-menu-sidebar-inner {
		padding-left: 10px !important;
		padding-right: 1.25rem !important;
	}

	/* Close (X) button dark. */
	.header-menu-sidebar .hamburger-inner,
	.header-menu-sidebar .hamburger-inner::before,
	.header-menu-sidebar .hamburger-inner::after {
		background-color: var(--dp-color-ink) !important;
	}

	/* Generic link colour inside the panel. */
	.header-menu-sidebar a,
	.header-menu-sidebar .primary-menu-ul>li>.wrap>a {
		color: var(--dp-color-ink) !important;
	}

	/* ---- Primary menu rows (David Yurman list) ---- */
	.header-menu-sidebar .primary-menu-ul>li.dp-mega-parent>.wrap {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0.1rem 0.10rem;
		border-bottom: 0;
	}

	.header-menu-sidebar .primary-menu-ul>li.dp-mega-parent>.wrap>a {
		flex: 1 1 auto;
		font-family: var(--dp-font-body);
		font-size: 0.95rem;
		font-weight: 500;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--dp-color-ink) !important;
	}

	.header-menu-sidebar .dp-mega-toggle {
		color: var(--dp-color-ink) !important;
		width: 2rem;
		height: 2rem;
	}

	/* Chevron points right (>) when closed, down when open. */
	.header-menu-sidebar .dp-mega-toggle__icon {
		transform: rotate(-45deg);
	}

	.header-menu-sidebar .dp-mega-parent.is-open>.wrap .dp-mega-toggle__icon {
		transform: rotate(45deg);
	}

	/* ---- Utility links (Store Locator, etc.): no stray top borders ---- */
	.header-menu-sidebar .builder-item.desktop-left,
	.header-menu-sidebar .builder-item--secondary-menu {
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	/* A single divider sits below the menu list, above the utility links. */
	.header-menu-sidebar .builder-item.has-nav {
		border-top: 1px solid rgba(8, 8, 8, 0.14);
		border-bottom: 1px solid rgba(8, 8, 8, 0.14);
		margin: 0.35rem 0 0.65rem;
		padding: 0.4rem 0;
	}

	.header-menu-sidebar .nav-menu-secondary {
		display: block;
	}

	.header-menu-sidebar .nav-menu-secondary li {
		margin: 0;
		list-style: none;
	}

	.header-menu-sidebar .nav-menu-secondary a {
		display: flex;
		align-items: center;
		gap: 0.7rem;
		padding: 0.7rem 0.15rem;
		font-family: var(--dp-font-body);
		font-size: 0.8rem;
		font-weight: 500;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--dp-color-ink) !important;
	}

	/* Utility icons before each secondary item (pin / chat / calendar / mail). */
	.header-menu-sidebar .nav-menu-secondary li>.wrap>a::before,
	.header-menu-sidebar .nav-menu-secondary li>a::before {
		content: "";
		display: inline-block;
		width: 1.05rem;
		height: 1.05rem;
		flex: 0 0 auto;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080808' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0116 0z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
	}

	.header-menu-sidebar .nav-menu-secondary li:nth-child(2)>.wrap>a::before,
	.header-menu-sidebar .nav-menu-secondary li:nth-child(2)>a::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080808' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.5 8.5 0 01-11.5 8L3 21l1.5-6.5A8.5 8.5 0 1121 11.5z'/%3E%3C/svg%3E");
	}

	.header-menu-sidebar .nav-menu-secondary li:nth-child(3)>.wrap>a::before,
	.header-menu-sidebar .nav-menu-secondary li:nth-child(3)>a::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080808' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 3v3M16 3v3'/%3E%3C/svg%3E");
	}

	.header-menu-sidebar .nav-menu-secondary li:nth-child(4)>.wrap>a::before,
	.header-menu-sidebar .nav-menu-secondary li:nth-child(4)>a::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23080808' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M4 6l8 6 8-6'/%3E%3C/svg%3E");
	}
}

/* ================================================================== *
 * DON POSEI mobile header topbar + transparent-over-hero (v1.0.74)
 * ================================================================== */
@media (max-width: 1024px) {

	/* ---- Mobile promo topbar: light strip, only the shipping message ----
	 * Only the mobile topbar row (.hide-on-desktop) should show; do not force
	 * the desktop topbar (.hide-on-mobile) visible here. */
	.header-top.hide-on-desktop .header--row-inner {
		background: #f9f9f9 !important;
	}

	.header-top .row--wrapper {
		height: 32px;
		min-height: 32px !important;
	}

	.header-top .hfg-slot,
	.header-top .menu-content,
	.header-top .nav-menu-secondary,
	.header-top .nav-ul {
		width: 100%;
	}

	.header-top .nav-ul {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
	}

	.header-top .nav-ul>li {
		display: none !important;
	}

	.header-top .nav-ul>li.dp-ship-promo {
		display: flex !important;
		margin: 0 !important;
		position: static !important;
	}

	.header-top .nav-ul>li.dp-ship-promo>.wrap>a {
		color: var(--dp-color-ink) !important;
		font-family: var(--dp-font-body);
		font-size: 0.72rem;
		font-weight: 500;
		letter-spacing: 0.03em;
		text-transform: none;
	}

	@media (max-width: 767px) {
		.builder-item {
			padding-right: 0;
			padding-left: 0;
		}
	}

	/* ---- Fixed header + spacer (topbar + bar) for non-home pages ---- */
	header.header {
		min-height: 6.6rem;
	}

	/* ---- Home page: header overlays the hero at the top like desktop ---- */
	body.page-id-469 header.header {
		min-height: 0;
	}

	body.page-id-469:not(.dp-header-is-scrolled) #header-grid {
		position: relative !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop {
		position: absolute !important;
		top: 32px;
		left: 0;
		width: 100%;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .header-main-inner,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .row--wrapper {
		background: transparent !important;
	}

	/* White logo + icons while transparent over the hero. */
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .builder-item--logo .site-logo a.brand,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .nv-icon,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .cart-icon-wrapper,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .header_search,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .header_search a,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .nv-search-icon-wrap,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .navbar-toggle-wrapper {
		color: var(--dp-color-white) !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .hamburger-inner,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .hamburger-inner::before,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .hamburger-inner::after {
		background-color: var(--dp-color-white) !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .nv-icon svg,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .header_search svg,
	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .cart-icon-wrapper svg {
		fill: var(--dp-color-white) !important;
		stroke: var(--dp-color-white) !important;
	}

	/* Hero sits behind the transparent header. */
	body.page-id-469 .nv-content-wrap {
		padding-top: 0 !important;
	}

	/* Scrolled: solid white fixed header, promo topbar hidden. */
	body.page-id-469.dp-header-is-scrolled #header-grid {
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
	}

	body.page-id-469.dp-header-is-scrolled .header-top {
		display: none !important;
	}

	body.page-id-469.dp-header-is-scrolled .header-main.hide-on-desktop {
		position: relative !important;
		top: 0 !important;
		background: var(--dp-color-white) !important;
		box-shadow: 0 1px 0 rgba(8, 8, 8, 0.1) !important;
	}

	/* ---- Off-canvas: full width; the promo belongs to the topbar, not here ---- */
	.header-menu-sidebar {
		width: 100vw !important;
		max-width: 100vw !important;
	}

	.header-menu-sidebar-bg {
		width: 100vw !important;
	}

	.header-menu-sidebar .dp-ship-promo {
		display: none !important;
	}
}

/* ================================================================== *
 * DON POSEI off-canvas header row: logo + search + cart (v1.0.75)
 * ================================================================== */
@media (max-width: 1024px) {
	.header-menu-sidebar .header-menu-sidebar-inner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding-top: 0.4rem;
	}

	/* Row 1: logo (left, grows) + search + cart (right). */
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo) {
		order: 1;
		flex: 1 1 auto;
		min-width: 0;
		justify-content: flex-start !important;
	}

	/* Logo hugs the left edge (not centered). */
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo) .item--inner,
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo) .site-logo,
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo) .site-logo a.brand {
		justify-content: flex-start !important;
		margin-left: 0 !important;
		text-align: left !important;
	}

	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--header_search_responsive) {
		order: 2;
		flex: 0 0 auto;
		margin-left: auto;
	}

	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--header_cart_icon) {
		order: 3;
		flex: 0 0 auto;
		margin-left: 0.9rem;
		/* gap from the search icon */
		margin-right: 4rem;
		/* leave room for the close (X) button */
	}

	/* Menu + utilities stack full-width below the header row. */
	.header-menu-sidebar-inner>.builder-item.has-nav {
		order: 4;
		flex: 0 0 100%;
		width: 100%;
	}

	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--secondary-menu) {
		order: 5;
		flex: 0 0 100%;
		width: 100%;
	}

	/* Sidebar logo: dark wordmark, sized to sit beside the icons. */
	.header-menu-sidebar .site-logo a.brand {
		color: var(--dp-color-ink) !important;
	}

	.header-menu-sidebar .site-logo a.brand::before {
		width: 172px;
	}

	.header-menu-sidebar .site-logo img {
		display: none;
	}

	/* Sidebar search + cart icons: dark. */
	.header-menu-sidebar .nv-icon,
	.header-menu-sidebar .header_search,
	.header-menu-sidebar .header_search a,
	.header-menu-sidebar .nv-search-icon-wrap,
	.header-menu-sidebar .cart-icon-wrapper {
		color: var(--dp-color-ink) !important;
	}

	.header-menu-sidebar .nv-icon svg,
	.header-menu-sidebar .header_search svg,
	.header-menu-sidebar .cart-icon-wrapper svg {
		fill: currentColor !important;
		stroke: currentColor;
	}

	/* Close (X) button pinned to the top-right of the header row. */
	.header-menu-sidebar .close-sidebar-panel {
		position: absolute !important;
		top: 0.7rem !important;
		right: 1rem !important;
		z-index: 5;
	}
}

/* ================================================================== *
 * DON POSEI off-canvas header row refinements (v1.0.76)
 * ================================================================== */
@media (max-width: 1024px) {

	/* Hamburger / close (X) bars use .icon-bar: dark on white surfaces,
	 * white while the header is transparent over the hero. */
	.header-menu-sidebar .icon-bar,
	.header-main.hide-on-desktop .icon-bar {
		background-color: var(--dp-color-ink) !important;
	}

	body.page-id-469:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .icon-bar {
		background-color: var(--dp-color-white) !important;
	}

	/* Header row sits at the top, items vertically centered, no stray gaps.
	 * align-content:flex-start stops the wrapped flex lines from spreading
	 * vertically inside the tall panel. */
	.header-menu-sidebar .header-menu-sidebar-inner {
		padding-top: 0.5rem;
		align-content: flex-start;
	}

	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo),
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--header_search_responsive),
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--header_cart_icon) {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		min-height: 2.75rem;
		display: flex;
		align-items: center;
	}

	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo) .item--inner,
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--logo) .site-logo,
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--header_search_responsive) .item--inner,
	.header-menu-sidebar-inner>.builder-item:has(> .item--inner.builder-item--header_cart_icon) .item--inner {
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Close (X) aligned with the header row. */
	.header-menu-sidebar .close-sidebar-panel {
		top: 0.55rem !important;
		right: 1rem !important;
	}
}

/* ================================================================== *
 * DON POSEI mobile footer accordions (v1.0.79)
 * 10px side padding; no divider line under each menu.
 * ================================================================== */
@media (max-width: 767px) {

	#site-footer .footer-top .container,
	#site-footer .footer-top-inner {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	/* Neutralize Neve's grid gutter negative margins so content honours the
	 * 10px container padding on both edges. */
	#site-footer .footer-top .hfg-grid {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Remove the horizontal divider under each footer menu. */
	#site-footer .dp-footer-acc,
	#site-footer .footer-top .hfg-slot:first-child .dp-footer-acc,
	#site-footer .footer-top .hfg-slot:last-child .widget-area {
		border-top: 0 !important;
	}

	/* Titles + links flush to the 10px container edges. */
	#site-footer .dp-footer-acc__title,
	#site-footer .dp-footer-acc>.dp-footer-links {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	#site-footer .dp-footer-acc__title::after {
		margin-right: 0 !important;
	}
}

/* ================================================================== *
 * DON POSEI - solid white desktop header on non-home pages (v1.0.82)
 * The homepage keeps its transparent-over-hero treatment; every other
 * page gets the same solid white header + light topbar as the scrolled home.
 * ================================================================== */
@media (min-width: 1025px) {

	body:not(.page-id-469) .header-main,
	body:not(.page-id-469) .header-main .header-main-inner,
	body:not(.page-id-469) .header-main .row--wrapper {
		background: var(--dp-color-white) !important;
		border-bottom: 0 !important;
	}

	body:not(.page-id-469) .header-main {
		box-shadow: 0 1px 0 rgba(8, 8, 8, 0.08);
	}

	body:not(.page-id-469) .header-main .container {
		max-width: none;
		padding-inline: clamp(1.25rem, 3vw, 3.75rem);
	}

	body:not(.page-id-469) .header-main .primary-menu-ul>li>.wrap>a,
	body:not(.page-id-469) .header-main .nav-ul>li>.wrap>a,
	body:not(.page-id-469) .header-main .nv-icon,
	body:not(.page-id-469) .header-main .header_search,
	body:not(.page-id-469) .header-main .header_search a,
	body:not(.page-id-469) .header-main .cart-icon-wrapper,
	body:not(.page-id-469) .header-main .wl-icon-wrapper,
	body:not(.page-id-469) .header-main .my-account-wrapper,
	body:not(.page-id-469) .header-main .builder-item--logo .site-logo a.brand {
		color: var(--dp-color-ink) !important;
	}

	body:not(.page-id-469) .header-main .nv-icon svg,
	body:not(.page-id-469) .header-main .header_search svg,
	body:not(.page-id-469) .header-main .cart-icon-wrapper svg,
	body:not(.page-id-469) .header-main .wl-icon-wrapper svg,
	body:not(.page-id-469) .header-main .my-account-wrapper svg {
		fill: currentColor;
		stroke: currentColor;
	}
}

/* ================================================================== *
 * DON POSEI mobile mega menu featured cards (v1.0.83)
 * Caption sits BELOW the image (David Yurman style), not beside it.
 * ================================================================== */
@media (max-width: 1024px) {
	.dp-mega-menu__featured {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem;
		padding: 0.85rem 1rem 1rem;
	}

	.dp-mega-menu__card {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch;
		min-height: 0 !important;
		background: transparent !important;
	}

	.dp-mega-menu__card img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 5;
		min-height: 0 !important;
		object-fit: contain !important;
	}

	/* No dark overlay on the image. */
	.dp-mega-menu__card::after {
		content: none !important;
	}

	/* Caption below the image, left-aligned, dark. */
	.dp-mega-menu__card span {
		position: static !important;
		inset: auto !important;
		display: block;
		margin: 0.45rem 0 0 !important;
		color: var(--dp-color-ink) !important;
		text-align: left;
		font-family: var(--dp-font-body);
		font-size: 0.68rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}
}

/* ================================================================== *
 * DON POSEI mobile Collection mega cards (v1.0.84)
 * Image on top, title + SHOP NOW centered BELOW the image (DY style).
 * ================================================================== */
@media (max-width: 1024px) {
	.dp-mega-menu__collection-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem 0.85rem;
		padding: 0.85rem 1rem 1rem;
	}

	.dp-mega-menu__ccard {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch;
		background: transparent !important;
		overflow: visible !important;
	}

	.dp-mega-menu__ccard img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 5;
		object-fit: cover !important;
	}

	.dp-mega-menu__ccard::after {
		content: none !important;
	}

	.dp-mega-menu__ccard-body {
		position: static !important;
		inset: auto !important;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.15rem;
		margin-top: 0.5rem;
	}

	.header-menu-sidebar .dp-mega-menu__ccard-title,
	.header-menu-sidebar .dp-mega-menu__ccard-cta,
	.header-main.hide-on-desktop .dp-mega-menu__ccard-title,
	.header-main.hide-on-desktop .dp-mega-menu__ccard-cta,
	.dp-mega-menu__ccard-title,
	.dp-mega-menu__ccard-cta {
		color: var(--dp-color-ink) !important;
	}

	.dp-mega-menu__ccard-title {
		display: block;
		font-family: var(--dp-font-body);
		font-size: 0.7rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.dp-mega-menu__ccard-cta {
		display: block;
		margin-top: 0.1rem;
		font-size: 0.6rem;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}
}

/* ================================================================== *
 * DON POSEI mobile drill-down menu (v1.0.85)
 * David Yurman-style push navigation: tapping a top-level category slides
 * into a panel showing only that category's sub-menu, with a back arrow to
 * return to the main list. Desktop (>= 960px) hover behaviour is untouched.
 * ================================================================== */
@media (max-width: 1024px) {

	/* While drilled in, hide the other top-level rows... */
	.primary-menu-ul.dp-mm-drilled>li:not(.is-open) {
		display: none !important;
	}

	/* ...and the active row's own label (the back header replaces it). */
	.primary-menu-ul.dp-mm-drilled>li.dp-mega-parent.is-open>.wrap {
		display: none !important;
	}

	/* Hide the utility (secondary) menu while a category is open. */
	.header-menu-sidebar-inner:has(.primary-menu-ul.dp-mm-drilled)>.builder-item:has(> .item--inner.builder-item--secondary-menu) {
		display: none !important;
	}

	/* Drop the primary-menu divider frame while drilled for a clean panel. */
	.header-menu-sidebar .builder-item.has-nav:has(.primary-menu-ul.dp-mm-drilled) {
		border-top: 0 !important;
		border-bottom: 0 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/* ---- Back header: centered underlined title, back arrow on the left ---- */
	.dp-mm-back {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 2.75rem;
		margin: 0 0 0.4rem;
		padding: 0.35rem 2.75rem;
		border-bottom: 1px solid rgba(8, 8, 8, 0.12);
	}

	.dp-mm-back__btn {
		position: absolute;
		left: -0.35rem;
		top: 50%;
		transform: translateY(-50%);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--dp-color-ink);
		cursor: pointer;
	}

	.dp-mm-back__icon {
		display: block;
		width: 0.62rem;
		height: 0.62rem;
		border-left: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
	}

	.dp-mm-back__title,
	.header-menu-sidebar .dp-mm-back__title {
		font-family: var(--dp-font-body);
		font-size: 0.9rem;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--dp-color-ink) !important;
		text-decoration: underline;
		text-underline-offset: 0.3em;
	}

	/* Slide the opened panel in from the right for a native drill feel. */
	.primary-menu-ul.dp-mm-drilled>li.dp-mega-parent.is-open>.dp-mega-menu {
		animation: dp-mm-slide-in 260ms ease both;
	}

	@keyframes dp-mm-slide-in {
		from {
			opacity: 0;
			transform: translateX(14%);
		}

		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
}

/* ================================================================== *
 * DON POSEI header breakpoint fix (v1.0.86)
 * The centered desktop nav (7 long categories) needs ~1200px to sit
 * clear of the wordmark and the utility icons; below that it overlapped
 * both. So the David Yurman-style hamburger / drill-down header now
 * covers the whole tablet range (960-1199px), and the full horizontal
 * nav only shows from 1200px up. The rest of the mobile header, off-canvas
 * and mega-menu CSS uses the matching max-width:1199 / min-width:1200
 * boundaries. This block just flips which Neve header row is displayed in
 * the 960-1199 window (Neve's own switch is hard-coded at 960px).
 * ================================================================== */
@media (min-width: 960px) and (max-width: 1024px) {

	.header-main.hide-on-mobile,
	.header-top.hide-on-mobile {
		display: none !important;
	}

	.header-main.hide-on-desktop,
	.header-top.hide-on-desktop {
		display: block !important;
	}
}

/* ================================================================== *
 * DON POSEI two-row desktop header for the 1025-1199px range (v1.0.87)
 * At >=1200px the centered inline nav has room beside the wordmark and the
 * utility icons. Between 1025 and 1199 there isn't, so - David Yurman style -
 * the wordmark and icons sit on the top row and the horizontal category nav
 * drops to a full-width row directly beneath, left-aligned under the logo.
 * Below 1025 the hamburger / drill-down header takes over. Overrides the
 * inline grid (min-width:1025) only within this window, so >=1200 is unchanged.
 * ================================================================== */
@media (min-width: 1025px) and (max-width: 1199px) {
	.header-main.hide-on-mobile .header-main-inner .row--wrapper {
		grid-template-columns: 1fr auto;
		grid-template-rows: auto auto;
		column-gap: clamp(1rem, 2vw, 2rem);
		row-gap: 0.35rem;
		align-items: center;
		min-height: 0 !important;
	}

	/* Trim Neve's default vertical padding/margins so the two rows sit tight
	 * and the nav tucks directly under the wordmark (not floating below it). */
	.header-main.hide-on-mobile .hfg-slot.center .builder-item,
	.header-main.hide-on-mobile .hfg-slot.right .builder-item {
		margin-top: 0.45rem !important;
		margin-bottom: 0 !important;
	}

	.header-main.hide-on-mobile .hfg-slot.center .item--inner {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* The logo.webp wordmark has ~26px of transparent padding baked into its
	 * left edge, so its glyphs sit ~26px inside the logo box. Pull it back so
	 * the visible "DON POSEI" lines up flush-left with the nav below it. */
	.header-main.hide-on-mobile .hfg-slot.center .site-logo a.brand {
		margin-left: -26px;
	}

	.header-main.hide-on-mobile .hfg-slot.left .builder-item.has-nav {
		margin-top: 0 !important;
		margin-bottom: 0.5rem !important;
	}

	/* Wordmark: top row, left. */
	.header-main.hide-on-mobile .hfg-slot.center {
		grid-column: 1;
		grid-row: 1;
		justify-content: flex-start;
	}

	/* Utilities (search / account / wishlist / cart): top row, right. */
	.header-main.hide-on-mobile .hfg-slot.right {
		grid-column: 2;
		grid-row: 1;
		justify-content: flex-end;
	}

	/* Category nav: full-width second row, left-aligned under the wordmark. */
	.header-main.hide-on-mobile .hfg-slot.left {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-content: flex-start;
		min-width: 0;
	}

	/* Neve tags the nav builder item .hfg-end (margin-left:auto) so it hugs the
	 * right in the inline layout; on the second row we want it flush left. */
	.header-main.hide-on-mobile .hfg-slot.left .builder-item.has-nav {
		margin-left: 0 !important;
		margin-right: auto !important;
		width: 100%;
	}

	.header-main.hide-on-mobile .hfg-slot.left .primary-menu-ul {
		justify-content: flex-start;
		flex-wrap: nowrap;
		gap: clamp(1.25rem, 2.4vw, 2rem);
		width: 100%;
		margin-left: 0;
	}

	/* Homepage only: the transparent header overlays the hero and now carries a
	 * second (nav) row that ends at a constant ~183px down the viewport. Top-
	 * anchor the hero copy and use a FIXED offset (not vw-based, not centered)
	 * so it clears the nav consistently at every width in this range. */
	body.page-id-469 .dp-hero-for-kings .innerblocks-wrap {
		align-items: flex-start !important;
	}

	body.page-id-469 .dp-hero-for-kings__content {
		padding-top: 10rem !important;
	}
}

/* R08 visual-parity follow-up after replacing ID-based layout overrides.
 * Otter owns Philosophy's flex-end alignment and Service/Join's responsive
 * section padding. Semantic CSS remains only for the complex inner layout. */
@media (max-width: 767px) {
	body.page-id-469 .dp-hero-for-kings {
		max-height: 500px !important;
	}
}

/* The previous inherited 42rem heights made Otter's flex-end alignment a
 * no-op. Let the desktop wrappers size to their content so the block setting
 * can position the copy without a transform or hard-coded offset. */
@media (min-width: 768px) {

	body.page-id-469 .dp-philosophy-banner .innerblocks-wrap,
	body.page-id-469 .dp-philosophy-banner__column,
	body.page-id-469 .dp-philosophy__pillars {
		min-height: 0;
	}
}

body.page-id-469 .dp-join-form .otter-form__container {
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 0;
}

body.page-id-469 .dp-join-form .otter-form__container>.dp-join-form__field {
	flex: 1 1 auto;
	width: auto;
	height: 3rem;
}

body.page-id-469 .dp-join-form .otter-form__container>.wp-block-button {
	flex: 0 0 auto;
	width: auto;
}

/* Otter's response node adds one line of cross-axis height before submission.
 * Keep the approved 3rem row while it is empty, then let success/error content
 * expand the wrapper and move the privacy note down naturally. */
body.page-id-469 .dp-join-form .otter-form__container>.wp-block-button.has-submit-msg:has(> .o-form-server-response:empty) {
	height: 3rem;
}

body.page-id-469 .dp-join-form .o-form-server-response:empty {
	display: none;
	padding: 0;
}

/* Otter's tablet breakpoint is 960px while the approved mobile composition
 * begins below 768px. Bridge only that interval; primary values remain in the
 * corresponding Otter block controls. */
@media (min-width: 601px) and (max-width: 767px) {
	body.page-id-469 .dp-service-join {
		padding: clamp(2.25rem, 8vw, 3rem) 1.25rem !important;
	}
}

/* Match the East meets West and Symbols in Life heading rhythm to Shop by
 * Category: 20px of white above the heading and 20px below it before the
 * content frame, so the three bands read as one system. The headings are
 * larger, so the total band stays slightly taller by design. */
@media (min-width: 768px) {

	body.page-id-469 .dp-east-meets-west,
	body.page-id-469 .dp-symbols-in-life {
		padding-top: 20px !important;
	}

	body.page-id-469 .dp-east-meets-west__heading,
	body.page-id-469 .dp-symbols-in-life__heading {
		margin-bottom: 20px !important;
	}
}

/* Mobile footer: close the empty band between the Final CTA banner and the
 * first accordion row. Scoped to phones only; desktop rhythm is untouched. */
@media (max-width: 767px) {
	/*#site-footer .footer-top-inner {
		padding-top: 0.5rem !important;
	}*/

	#site-footer .footer-top .hfg-grid {
		padding-top: 0 !important;
	}

	#site-footer .footer-top .hfg-slot:first-child .widget-area>.widget-title {
		display: none;
	}

	#site-footer .footer-top .hfg-slot:first-child .dp-footer-acc__title {
		padding-top: 0.5rem;
	}

	#site-footer .footer-top .container,
	#site-footer .footer-top-inner {
		margin-top: -20px;
	}
}


/* ==================================================================
 * Mega menu: Material + Featured columns (Men's / Women's)
 * Depth-1 menu items with url "#" render as label columns, so these two
 * only need the vertical rule that separates them from Shop by Category,
 * matching the reference layout.
 * ================================================================== */
@media (min-width: 768px) {
	.header-main.hide-on-mobile .dp-mega-menu__column.dp-mm-group--material {
		padding-left: clamp(1.25rem, 2.5vw, 2.75rem);
		border-left: 1px solid var(--dp-color-line);
	}

	.header-main.hide-on-mobile .dp-mega-menu__column.dp-mm-group--featured {
		padding-left: clamp(0.75rem, 1.5vw, 1.5rem);
	}
}

/* Mobile: the three groups become tap-to-open rows, first one expanded.
 * Reuses the footer accordion rhythm so the touch targets match. */
@media (max-width: 767px) {

	.header-main.hide-on-desktop .dp-mega-menu__column.dp-mm-group--material,
	.header-main.hide-on-desktop .dp-mega-menu__column.dp-mm-group--featured,
	.header-menu-sidebar .dp-mega-menu__column.dp-mm-group--material,
	.header-menu-sidebar .dp-mega-menu__column.dp-mm-group--featured {
		border-top: 1px solid var(--dp-color-line);
		padding-top: 0.5rem;
	}
}

/* Mega menu: put SHOP BY CATEGORY, MATERIAL and FEATURED on one shared label
 * row, with each column's content starting on the row beneath it. Columns that
 * intentionally carry no title (they let SHOP BY CATEGORY span several columns)
 * reserve the same label height so nothing rides up into that row. */
@media (min-width: 768px) {
	.header-main.hide-on-mobile .dp-mega-menu__columns {
		align-items: start;
	}

	.header-main.hide-on-mobile .dp-mega-menu__column:not(:has(> .dp-mega-menu__column-title))::before {
		content: "";
		display: block;
		height: calc(clamp(0.72rem, 0.85vw, 0.9rem) * 1.2 + 1.45rem);
	}

	.header-main.hide-on-mobile .dp-mega-menu__column>.dp-mega-menu__column-title {
		margin-bottom: 1.45rem;
	}

	.header-main.hide-on-mobile .dp-mega-menu__column>.dp-mega-menu__group:first-of-type,
	.header-main.hide-on-mobile .dp-mega-menu__column>.dp-mega-menu__links:first-of-type {
		margin-top: 0;
	}
}

/* Mega menu: with MATERIAL and FEATURED added there are five label columns, so
 * equal-fraction tracks (flex: 1 1 0) squeezed long labels like "Om Mani Padme
 * Hum" and "Explore Collections" onto two lines. Size each column to its
 * content instead and keep single-line labels. */
@media (min-width: 768px) {
	.header-main.hide-on-mobile .dp-mega-menu__columns {
		gap: clamp(1.25rem, 2vw, 2.5rem);
	}

	.header-main.hide-on-mobile .dp-mega-menu__column {
		flex: 0 1 auto;
		min-width: max-content;
	}

	.header-main.hide-on-mobile .dp-mega-menu__column-title,
	.header-main.hide-on-mobile .dp-mega-menu__group-title,
	.header-main.hide-on-mobile .dp-mega-menu__links a {
		white-space: nowrap;
	}
}

/* Column headings that link to a category (for example GEMSTONES) are
 * rendered as anchors.  Neve's menu link rules can mute those anchors even
 * though the surrounding heading uses the normal ink colour.  Keep the
 * linked heading visually identical to a plain heading such as ACCESSORIES. */
@media (min-width: 1025px) {
	.header-main.hide-on-mobile .dp-mega-menu__column-title > a,
	.header-main.hide-on-mobile .dp-mega-menu__column-title > a:visited,
	.header-main.hide-on-mobile .dp-mega-menu__column-title > a:hover,
	.header-main.hide-on-mobile .dp-mega-menu__column-title > a:focus-visible {
		color: var(--dp-color-ink) !important;
		opacity: 1 !important;
		filter: none !important;
		font-weight: inherit !important;
		text-decoration: none;
	}
}

/* Mega menu: run the MATERIAL divider the full height of the panel's tallest
 * column (down past "Shop All Bracelets") instead of stopping at the end of its
 * own links. The label row stays aligned via the reserved-height spacer. */
@media (min-width: 768px) {
	.header-main.hide-on-mobile .dp-mega-menu__column.dp-mm-group--material {
		align-self: stretch;
	}
}

/* The columns area was on a 1fr track, so once labels became nowrap the last
 * column ("Chains + Charms", "Explore Collections") was clipped by the image
 * rail. Let the columns take the width they need and give the rail the rest. */
@media (min-width: 1025px) {
	.header-main.hide-on-mobile .dp-mega-menu--has-featured .dp-mega-menu__inner {
		grid-template-columns: max-content minmax(0, 1fr);
	}

	/* Men’s/Women’s carry a semantic FEATURED link column beside two media
	 * cards. Keep the cards inside their own rail; when the rail cannot fit two
	 * readable 120px portraits, wrap them into rows instead of covering links. */
	.header-main.hide-on-mobile .dp-mega-menu--has-featured:has(.dp-mm-group--featured) .dp-mega-menu__featured {
		flex-wrap: wrap;
		align-content: flex-start;
	}

	.header-main.hide-on-mobile .dp-mega-menu--has-featured:has(.dp-mm-group--featured) .dp-mega-menu__card {
		flex: 1 1 50%;
		width: auto;
		min-width: 120px;
		max-width: 251px;
	}

	.header-main.hide-on-mobile .dp-mega-menu--has-featured:has(.dp-mm-group--featured) .dp-mega-menu__card img {
		width: 100%;
	}
}

/* ================================================================== *
 * DON POSEI mobile mega-menu accordion groups
 * The accordion is a mobile projection of the existing menu columns. It is
 * hidden by default so desktop and Collection layouts keep their established
 * rendering paths; the capability class enables it only for valid groups.
 * ================================================================== */
.header-main .dp-mega-menu__mobile-groups,
.header-menu-sidebar .dp-mega-menu__mobile-groups {
	display: none;
}

@media (max-width: 1024px) {
	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mega-menu--has-mobile-groups .dp-mega-menu__columns {
		display: none;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mega-menu--has-mobile-groups .dp-mega-menu__mobile-groups {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion {
		box-sizing: border-box;
		min-width: 0;
		border-bottom: 1px solid var(--dp-color-line);
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion:first-child {
		border-top: 1px solid var(--dp-color-line);
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 2.75rem;
		align-items: center;
		min-height: 3rem;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__label {
		display: block;
		min-width: 0;
		padding: 0.75rem 0;
		color: var(--dp-color-ink);
		font-family: var(--dp-font-body);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.35;
		text-transform: uppercase;
		overflow-wrap: anywhere;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__label-link {
		display: block;
		color: inherit;
		text-decoration: none;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__label-link:hover,
	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__label-link:focus-visible {
		color: var(--dp-color-red-hover);
		text-decoration: underline;
		text-underline-offset: 0.22em;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__toggle {
		display: grid;
		place-items: center;
		box-sizing: border-box;
		width: 2.75rem;
		height: 2.75rem;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: var(--dp-color-ink);
		cursor: pointer;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__toggle:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: -4px;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__icon {
		display: grid;
		place-items: center;
		width: 0.875rem;
		height: 0.875rem;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__icon::before,
	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__icon::after {
		content: "";
		grid-area: 1 / 1;
		background: currentColor;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__icon::before {
		width: 0.875rem;
		height: 1px;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__icon::after {
		width: 1px;
		height: 0.875rem;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__toggle[aria-expanded="true"] .dp-mm-accordion__icon::after {
		display: none;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__content {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		padding: 0 0 1rem;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__content[hidden] {
		display: none;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__segment,
	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__segment .dp-mega-menu__column {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__segment .dp-mega-menu__column {
		padding: 0;
		border: 0;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__segment+.dp-mm-accordion__segment {
		margin-top: 0.75rem;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__content .dp-mega-menu__links {
		width: 100%;
		min-width: 0;
		margin: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem 0.75rem;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__content .dp-mega-menu__links a,
	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion__content .dp-mega-menu__group-title {
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

/* Mobile mega menu: remove divider lines beneath parent and child rows. */
@media (max-width: 1024px) {

	.header-main.hide-on-desktop .dp-mega-menu,
	.header-menu-sidebar .dp-mega-menu {
		border-top: 0;
	}

	.header-main.hide-on-desktop .dp-mega-menu__column,
	.header-menu-sidebar .dp-mega-menu__column {
		border-bottom: 0;
	}

	.header-main.hide-on-desktop .dp-mm-back,
	.header-menu-sidebar .dp-mm-back {
		border-bottom: 0;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion {
		border-bottom: 0;
	}

	:is(.header-main.hide-on-desktop, .header-menu-sidebar) .dp-mm-accordion:first-child {
		border-top: 0;
	}
}

@media (max-width: 767px) {

	.header-main.hide-on-desktop .dp-mega-menu__column.dp-mm-group--material,
	.header-main.hide-on-desktop .dp-mega-menu__column.dp-mm-group--featured,
	.header-menu-sidebar .dp-mega-menu__column.dp-mm-group--material,
	.header-menu-sidebar .dp-mega-menu__column.dp-mm-group--featured {
		border-top: 0;
	}
}

/* ============================================================
 * DON POSEI - PRODUCT DETAIL PAGE (PDP)
 * ============================================================
 * Everything below is scoped to body.dp-pdp, the class added by
 * inc/pdp/hooks.php on single product pages only. Nothing above this
 * banner is modified by the PDP work.
 *
 * Plan: docs/product.md
 * QA:   docs/qa/pdp-task-05/notes.md
 * ============================================================ */

body.dp-pdp {
	/* Scoped tokens. The shared :root palette is read-only for this work. */
	--dp-pdp-col-gap: clamp(2rem, 3.5vw, 4rem);
	--dp-pdp-summary-width: clamp(320px, 29.2vw, 420px);
	--dp-pdp-gallery-gap: 16px;
	--dp-pdp-sticky-top: 24px;
}

/* ---------- Task 5: two-column composition ----------
 * Neve renders .nv-single-product-top as a flex row and pins
 * .nv-single-image-wrapper to width:48% (neve/assets/css/woocommerce.css,
 * inside its min-width:769px block), so gallery and summary end up equal.
 * David Yurman gives the gallery clearly more room, so the container becomes a
 * grid and that fixed 48% is released.
 *
 * The grid is intentionally applied from 769px up, which is exactly where Neve
 * itself switches from column to row. Using a different breakpoint would leave
 * one width where neither layout is in charge.
 */
@media (min-width: 769px) {
	body.dp-pdp .nv-single-product-top {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		gap: var(--dp-pdp-col-gap);
		align-items: start;
	}

	/* Release the fixed widths so the grid tracks decide.
	 *
	 * Neve's rule is easy to beat:
	 *   .nv-single-image-wrapper { width: 48% }                             (0,1,0)
	 *
	 * WooCommerce's is not. woocommerce-layout.css ships this selector list, and
	 * the variant that matches here carries an ID because Neve wraps the page in
	 * <div id="content">:
	 *   .woocommerce #content div.product div.summary
	 *   { float: right; width: 48% }                                        (1,2,2)
	 *
	 * One ID outranks any number of classes, so a class-only override loses no
	 * matter how long it is, and no matter that it is declared later. Verified in
	 * the browser: an identical rule injected as the last stylesheet still lost,
	 * and deleting WooCommerce's width let the column expand to its track.
	 * Matching their ID would be just as brittle as this, so the width is marked
	 * important instead, which also states the intent plainly: inside this grid the
	 * track owns the column width, not WooCommerce's float layout.
	 *
	 * Scope is limited to min-width 769px, so WooCommerce's own small-screen
	 * width:100% keeps working on mobile. */
	body.dp-pdp div.product .nv-single-product-top>.nv-single-image-wrapper,
	body.dp-pdp div.product .nv-single-product-top>div.summary {
		box-sizing: border-box;
		float: none;
		width: auto !important;
		max-width: none;
	}
}

/* On wide screens the PDP shell grows just enough for two 414px gallery
 * tiles, a 16px image gutter, the buying column and its outer gap at 1440px. */
@media (min-width: 1200px) {
	body.dp-pdp .shop-container {
		max-width: 1344px;
	}

	body.dp-pdp .nv-single-product-top {
		grid-template-columns: minmax(0, 1fr) minmax(0, var(--dp-pdp-summary-width));
	}
}

/* ---------- Task 5: scrolling gallery + sticky summary ----------
 * The desktop reference shows every product image in the left column. The right
 * buying column scrolls until all of its content is reachable, then remains sticky
 * while the rest of the gallery passes. Its sticky boundary is naturally the end of
 * .nv-single-product-top, so both columns leave together when the gallery finishes.
 *
 * Neve clips the whole page shell with overflow:hidden. That makes .wrapper the
 * sticky containing block even though it never scrolls, so the PDP alone releases
 * that clip. The two existing 100vw surfaces are then contained locally: the direct
 * alignfull newsletter band is constrained to the shell and mega-menu overflow is
 * clipped by the header, which is not an ancestor of the product area.
 */
@media (min-width: 992px) {
	body.dp-pdp .nv-single-product-top {
		grid-template-columns: minmax(0, 1fr) minmax(0, var(--dp-pdp-summary-width));
	}

	body.dp-pdp>.wrapper:not(.et-fb-iframe-ancestor) {
		overflow: visible;
	}

	body.dp-pdp>.wrapper>.alignfull {
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	body.dp-pdp header.header {
		overflow-x: clip;
		overflow-y: visible;
	}

	/* Flexslider is disabled before WooCommerce initializes on this breakpoint,
	 * leaving its native image elements available as one continuous gallery. The
	 * resets also make the layout resilient to stale inline Flexslider values. */
	body.dp-pdp .nv-single-image-wrapper .woocommerce-product-gallery {
		float: none;
		width: 100% !important;
	}

	/* A slider initialized on mobile is retained for a later return to mobile. */
	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery .flex-viewport {
		height: auto !important;
		overflow: visible !important;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-controls {
		display: none !important;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--dp-pdp-gallery-gap);
		width: auto !important;
		transform: none !important;
		transition: none !important;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image {
		box-sizing: border-box;
		float: none !important;
		width: 100% !important;
		aspect-ratio: 414 / 520;
		margin: 0 !important;
		overflow: hidden;
		background: #f7f7f7;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__image>a {
		display: block;
		height: 100%;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__image img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	body.dp-pdp .nv-single-product-top .flex-control-thumbs {
		display: none;
	}

	/* The JS bridge makes this value negative only when the summary is taller
	 * than the viewport. It therefore scrolls just far enough to expose its lower
	 * content before sticking, instead of trapping controls below the fold. */
	body.dp-pdp .nv-single-product-top>div.summary {
		position: sticky;
		top: var(--dp-pdp-summary-sticky-top, var(--dp-pdp-sticky-top));
		align-self: start;
		height: fit-content;
	}
}

/* ---------- Task 5: mobile ----------
 * Gallery runs edge to edge, matching the full-bleed technique already used on
 * the homepage. 768px is included because Neve is still stacked at that width.
 */
@media (max-width: 768px) {
	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper {
		box-sizing: border-box;
		width: 100vw;
		max-width: none;
		margin-inline: calc(50% - 50vw);
	}
}

/* ---------- Task 6: badge ----------
 * The badge sits directly above the product title. Positioning is done in PHP by
 * anchoring to Neve Pro's title action, so there is nothing positional to do here.
 *
 * The treatment follows the eyebrow language already used elsewhere on the site
 * (brand red, uppercase, wide tracking) without reusing the homepage class. */
body.dp-pdp .dp-pdp__badge {
	margin: 0 0 0.6rem;
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: none;
}

/* Neve gives the product title a top margin that made sense when the title was the
 * first thing in the column. With a badge above it the gap reads as a gap between
 * two unrelated lines, so it is collapsed. */
body.dp-pdp .dp-pdp__badge+.product_title {
	margin-top: 0;
}

/* ---------- Task 7: purchase area ----------
 * Restyle only. The variation form, swatches, quantity field, add to cart button,
 * Sparks wishlist and Neve Pro sticky bar keep their own markup and behaviour.
 *
 * form.cart stays a direct child of .entry-summary, see the note in the Task 5
 * block above, so nothing here wraps it. */

/* WooCommerce renders one table row per attribute, label in a th beside the
 * control. The reference stacks the label above its swatches, so the table is
 * flattened to blocks. */
body.dp-pdp .entry-summary form.cart table.variations,
body.dp-pdp .entry-summary form.cart table.variations tbody,
body.dp-pdp .entry-summary form.cart table.variations tr,
body.dp-pdp .entry-summary form.cart table.variations th,
body.dp-pdp .entry-summary form.cart table.variations td {
	display: block;
	width: auto;
	/* Neve puts margin-bottom:15px on .variations tr. Left in place it stacked with the
	 * row gap below, so attribute rows sat 37px apart instead of 22px and the last row
	 * left a stray 15px above the button. */
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

/* Neve makes form.cart a flex container, so the flattened table becomes a flex item
 * and shrink-to-fit collapses it to the width of the widest swatch row. It has to be
 * pinned back to the full column width, otherwise the size guide body is squeezed
 * into a narrow ribbon. */
body.dp-pdp .entry-summary form.cart table.variations {
	flex: 0 0 100%;
	width: 100%;
	margin-bottom: 1.5rem;
}

body.dp-pdp .entry-summary form.cart table.variations tr+tr {
	margin-top: 1.4rem;
}

body.dp-pdp .entry-summary form.cart table.variations th.label label {
	display: block;
	margin: 0 0 0.65rem;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: capitalize;
}

/* Swatches. Sparks ships rounded 5px chips with a #dadada border and its own accent
 * colour for the active state; both are replaced with the brand's square geometry
 * and ink/line tokens. Selectors carry body.dp-pdp so they outrank Sparks' own
 * four-class rules. */
body.dp-pdp .sp-vswatches-wrapper {
	gap: 10px;
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item {
	border-color: var(--dp-color-line);
	border-radius: 0;
	border-width: 1px;
	transition: border-color 0.2s ease, color 0.2s ease;
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item.label {
	min-width: 44px;
	border-radius: 0;
	border-width: 1px;
	text-align: center;
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item.label .sp-vswatch-label {
	padding: 0.7rem 0.8rem;
	color: inherit;
	font-family: var(--dp-font-body);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item.color {
	width: 36px;
	height: 36px;
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item.enabled:hover {
	border-color: var(--dp-color-ink);
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item.sp-vswatch-active:not(.color) {
	border-color: var(--dp-color-ink);
	color: var(--dp-color-ink);
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item.sp-vswatch-active.color {
	border-color: var(--dp-color-ink);
}

/* Unavailable combination.
 * Sparks already dims these to opacity .4, which reads as "loading" more than
 * "unavailable" and makes the colour chips hard to identify. The dimming is replaced
 * by a muted border, muted text and a diagonal rule, which is how the reference
 * marks a size that cannot be bought.
 *
 * The state itself is produced by WooCommerce and Sparks: WooCommerce removes the
 * <option> for a combination that has no variation, and Sparks drops the .enabled
 * class from the matching swatch. Clicking such a swatch already does nothing. */
body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item:not(.enabled) {
	position: relative;
	overflow: hidden;
	border-color: var(--dp-color-line);
	color: var(--dp-color-muted);
	opacity: 1;
}

body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item:not(.enabled)::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to top left,
			transparent calc(50% - 0.5px),
			var(--dp-color-muted) calc(50% - 0.5px),
			var(--dp-color-muted) calc(50% + 0.5px),
			transparent calc(50% + 0.5px));
	pointer-events: none;
}

/* The label keeps the muted ink and no extra transparency. An earlier pass faded it to
 * 55% on top of the muted colour, which landed near #b4b4b4 and about 2:1 against the
 * chip, so the digit was almost unreadable and you could not tell which size was
 * unavailable. The diagonal rule is what carries the meaning; the colour only has to
 * recede. */
body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item:not(.enabled) .sp-vswatch-label {
	color: var(--dp-color-muted);
}

/* Clear options link.
 *
 * WooCommerce toggles this with visibility rather than display so the column does not
 * jump when a selection is made, which means its box is reserved on every page load.
 * As an inline-block it also reserved the descender space of its line box, so the
 * reserved strip came to 44px under the last swatch row for a 12px link. display:block
 * with a fitted width drops the baseline gap, and a tight line-height trims the rest,
 * without giving up the reserved space that stops the jump. */
body.dp-pdp .entry-summary form.cart a.reset_variations {
	display: block;
	width: fit-content;
	line-height: 1.2;
	margin-top: 0.75rem;
	color: var(--dp-color-muted);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.dp-pdp .entry-summary form.cart a.reset_variations:hover,
body.dp-pdp .entry-summary form.cart a.reset_variations:focus-visible {
	color: var(--dp-color-red);
}

/* Size guide trigger and right-side dialog. */
body.dp-pdp .dp-pdp__size-guide-trigger {
	display: inline-block;
	width: auto;
	min-width: 0;
	flex: 0 0 auto;
	margin-top: 0.85rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dp-color-ink);
	cursor: pointer;
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-decoration: underline;
	text-transform: uppercase;
	text-underline-offset: 3px;
}

body.dp-pdp .entry-summary form.cart table.variations tr.dp-pdp__variation-row--size th.label {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.65rem;
}

body.dp-pdp .entry-summary form.cart table.variations tr.dp-pdp__variation-row--size th.label label,
body.dp-pdp .entry-summary form.cart table.variations tr.dp-pdp__variation-row--size th.label .dp-pdp__size-guide-trigger {
	margin: 0;
}

body.dp-pdp .dp-pdp__size-guide-trigger:hover {
	color: var(--dp-color-red);
}

body.dp-pdp .dp-pdp__size-guide-trigger:focus-visible {
	border-radius: var(--dp-radius);
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp {
	--dp-pdp-size-guide-width: 510px;
	--dp-pdp-size-guide-z: 999810;
}

body.dp-pdp .dp-pdp-size-guide {
	position: fixed;
	z-index: var(--dp-pdp-size-guide-z);
	inset: 0;
}

body.dp-pdp .dp-pdp-size-guide[hidden] {
	display: none;
}

body.dp-pdp .dp-pdp-size-guide__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 8, 8, 0.52);
	opacity: 0;
	transition: opacity 0.3s ease;
}

body.dp-pdp .dp-pdp-size-guide.is-open .dp-pdp-size-guide__backdrop {
	opacity: 1;
}

body.dp-pdp .dp-pdp-size-guide__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	width: min(var(--dp-pdp-size-guide-width), 100vw);
	flex-direction: column;
	background: var(--dp-color-white);
	box-shadow: -8px 0 40px rgba(8, 8, 8, 0.18);
	transform: translateX(100%);
	transition: transform 0.32s ease;
}

body.dp-pdp .dp-pdp-size-guide.is-open .dp-pdp-size-guide__panel {
	transform: translateX(0);
}

body.dp-pdp .dp-pdp-size-guide__panel:focus {
	outline: none;
}

html.dp-pdp-size-guide-open,
html.dp-pdp-size-guide-open body {
	overflow: hidden;
}

body.dp-pdp .dp-pdp-size-guide__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 2.25rem 2.25rem 1.35rem;
}

body.dp-pdp .dp-pdp-size-guide__title {
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-display);
	font-size: clamp(1.3rem, 2vw, 1.65rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-size-guide__close {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	flex: 0 0 2.5rem;
	margin: -0.65rem -0.65rem 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dp-color-ink);
	cursor: pointer;
	place-items: center;
}

body.dp-pdp .dp-pdp-size-guide__close svg {
	width: 1.3rem;
	height: 1.3rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-width: 1.5;
}

body.dp-pdp .dp-pdp-size-guide__close:hover {
	color: var(--dp-color-red);
}

body.dp-pdp .dp-pdp-size-guide__close:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-pdp-size-guide__body {
	flex: 1 1 auto;
	padding: 0.25rem 2.25rem 2.25rem;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

body.dp-pdp .dp-pdp-size-guide__content {
	color: var(--dp-color-ink-soft);
	font-size: 0.9rem;
	line-height: 1.55;
}

body.dp-pdp .dp-pdp-size-guide__content> :first-child {
	margin-top: 0;
}

body.dp-pdp .dp-pdp-size-guide__content> :last-child {
	margin-bottom: 0;
}

body.dp-pdp .dp-pdp-size-guide__units {
	display: inline-flex;
	align-items: center;
	margin: 0.35rem 0 0.75rem;
	padding: 2px;
	border: 1px solid var(--dp-color-line);
	border-radius: 999px;
	background: var(--dp-color-white);
}

body.dp-pdp .dp-pdp-size-guide__units[hidden] {
	display: none;
}

body.dp-pdp .dp-pdp-size-guide__unit {
	display: grid;
	width: 2.6rem;
	height: 1.7rem;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--dp-color-ink);
	cursor: pointer;
	font-family: var(--dp-font-body);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	text-transform: lowercase;
	place-items: center;
}

body.dp-pdp .dp-pdp-size-guide__unit[aria-pressed="true"] {
	background: var(--dp-color-ink);
	color: var(--dp-color-white);
}

body.dp-pdp .dp-pdp-size-guide__unit:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-pdp-size-guide__content h2,
body.dp-pdp .dp-pdp-size-guide__content h3,
body.dp-pdp .dp-pdp-size-guide__content h4 {
	margin: 2rem 0 0.85rem;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-size-guide__content table {
	width: 100%;
	margin: 1rem 0 1.75rem;
	border-collapse: collapse;
	color: var(--dp-color-ink);
	font-size: 0.84rem;
	table-layout: fixed;
}

body.dp-pdp .dp-pdp-size-guide__content th {
	padding: 0.65rem 0.75rem;
	border-bottom: 1px solid var(--dp-color-ink);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-align: left;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-size-guide__content td {
	padding: 0.9rem 0.75rem;
	border-bottom: 1px solid var(--dp-color-line);
	vertical-align: top;
}

body.dp-pdp .dp-pdp-size-guide__content th:last-child,
body.dp-pdp .dp-pdp-size-guide__content td:last-child {
	text-align: right;
}

body.dp-pdp .dp-pdp-size-guide__content ol,
body.dp-pdp .dp-pdp-size-guide__content ul {
	padding-left: 1.25rem;
}

body.dp-pdp .dp-pdp-size-guide__media {
	margin: 2rem 0 0;
	text-align: center;
}

body.dp-pdp .dp-pdp-size-guide__image {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

@media (prefers-reduced-motion: reduce) {

	body.dp-pdp .dp-pdp-size-guide__backdrop,
	body.dp-pdp .dp-pdp-size-guide__panel {
		transition: none;
	}
}

@media (max-width: 599px) {
	body.dp-pdp .dp-pdp-size-guide__panel {
		width: 100vw;
	}

	body.dp-pdp .dp-pdp-size-guide__head {
		padding: max(1.5rem, env(safe-area-inset-top)) 1.25rem 1rem;
	}

	body.dp-pdp .dp-pdp-size-guide__body {
		padding: 0.25rem 1.25rem max(1.5rem, env(safe-area-inset-bottom));
	}

	body.dp-pdp .dp-pdp-size-guide__title {
		font-size: 1.25rem;
	}
}

/* Quantity field, Add to cart button and wishlist.
 *
 * Neve draws all three from custom properties, so the brand values are set once on
 * the form and every control picks them up. This matters for the sticky bar: Neve Pro
 * sets its own compact --primarybtnpadding and --formfieldpadding on
 * .sticky-add-to-cart--active, which is a descendant of the form, so the compact bar
 * still wins over the values below. Hardcoding padding on the controls would have
 * broken that. */
body.dp-pdp .entry-summary form.cart {
	/* Add to cart. Ink surface with white text, the way the reference draws it. Neve's
	 * default is the brand red with black text, which is 2.2:1 and fails WCAG AA. */
	--primarybtnbg: var(--dp-color-ink);
	--primarybtncolor: var(--dp-color-white);
	--primarybtnhoverbg: var(--dp-color-red);
	--primarybtnhovercolor: var(--dp-color-white);
	--primarybtnborderwidth: 0;
	--primarybtnborderradius: 0;
	--primarybtnpadding: 1.15rem 1.75rem;

	/* Quantity field. */
	--formfieldborderwidth: 1px;
	--formfieldborderradius: 0;
	--formfieldbordercolor: var(--dp-color-line);
	--formfieldpadding: 1.15rem 0.5rem;
}

body.dp-pdp .entry-summary form.cart button.single_add_to_cart_button {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Contact action for zero-priced products. It occupies the same purchase slot and
 * participates in Neve's sticky row without triggering WooCommerce's cart scripts. */
body.dp-pdp .entry-summary form.cart a.dp-pdp__contact-button,
body.dp-pdp .entry-summary a.dp-pdp__contact-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	min-height: 3.4rem;
	padding: 1.15rem 1.75rem;
	border: 0;
	border-radius: 0;
	background: var(--dp-color-ink);
	color: var(--dp-color-white);
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

body.dp-pdp .entry-summary > a.dp-pdp__contact-button {
	width: 100%;
}

body.dp-pdp .entry-summary form.cart a.dp-pdp__contact-button:hover,
body.dp-pdp .entry-summary form.cart a.dp-pdp__contact-button:focus-visible,
body.dp-pdp .entry-summary a.dp-pdp__contact-button:hover,
body.dp-pdp .entry-summary a.dp-pdp__contact-button:focus-visible {
	background: var(--dp-color-red);
	color: var(--dp-color-white);
}

body.dp-pdp .entry-summary a.dp-pdp__contact-button:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

/* WooCommerce normally hides its variation purchase row until an option is chosen.
 * A contact-only item remains contactable even before the visitor selects options. */
body.dp-pdp .entry-summary form.cart .dp-pdp__contact-variation-action {
	display: flex !important;
	align-items: stretch;
	gap: 10px;
}

/* Unselected or unavailable variation. WooCommerce and Sparks only toggle classes
 * here, the DOM disabled attribute stays false, so the state is matched by class.
 * Neve's own treatment is opacity .5, which drops white on ink to about 4:1 and reads
 * as a loading state; a muted surface at full opacity is clearer and still 4.7:1. */
body.dp-pdp .entry-summary form.cart button.single_add_to_cart_button.disabled,
body.dp-pdp .entry-summary form.cart button.single_add_to_cart_button.wc-variation-selection-needed,
body.dp-pdp .entry-summary form.cart button.single_add_to_cart_button.wc-variation-is-unavailable {
	background: var(--dp-color-muted);
	color: var(--dp-color-white);
	cursor: not-allowed;
	opacity: 1;
}

/* The quantity, the button and the wishlist are siblings inside
 * .sticky-add-to-cart > .container, which Neve Pro wraps around them, so the row gap
 * belongs there and not on .woocommerce-variation-add-to-cart. */
body.dp-pdp form.cart .quantity,
body.dp-pdp .sticky-add-to-cart .quantity {
	display: none !important;
}

body.dp-pdp .entry-summary form.cart .sticky-add-to-cart>.container {
	gap: 10px;
	align-items: stretch;
}

body.dp-pdp .entry-summary form.cart button.single_add_to_cart_button {
	flex: 1 1 auto;
}

/* NONE */
body.dp-pdp .entry-summary .dp-pdp__selected-variation-description {
	margin: -1.75rem 0 1rem;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: 12px;
	line-height: 1.5;
}

/* END NONE */
body.dp-pdp .entry-summary .dp-pdp__selected-variation-description[hidden],
body.dp-pdp .entry-summary form.cart .woocommerce-variation-description {
	display: none;
}

/* The selected variation price is mirrored into the main summary price by
 * purchase.js. Hide only WooCommerce's duplicate price below the attributes while
 * preserving its availability/stock region and native variation lifecycle. */
body.dp-pdp .entry-summary form.variations_form .woocommerce-variation-price {
	display: none;
}

body.dp-pdp .entry-summary form.cart .quantity input.qty {
	width: 4.5rem;
	height: auto;
	text-align: center;
}

/* Phones. The three controls do not fit on one line under about 700px, and because
 * the row wraps it was the wishlist that dropped onto a line of its own, where
 * align-items:stretch gave it the height of its icon and nothing more. Ordering the
 * quantity and the wishlist onto the first line and giving the button the second one
 * fixes that and puts the primary action at full width, which is what the reference
 * does on a phone.
 *
 * The :not() matters. When Neve Pro switches the same element to the fixed bar it
 * becomes full viewport width, where all three controls fit on one line, and stacking
 * them there would make the bar eat a quarter of a phone screen. */
@media (max-width: 767px) {
	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart:not(.sticky-add-to-cart--active) > .container {
		flex-wrap: nowrap;
		align-items: center;
	}

	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart:not(.sticky-add-to-cart--active)>.container .quantity {
		order: 1;
	}

	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart:not(.sticky-add-to-cart--active)>.container .sp-wl-wrap.sp-wl-product-wrap.sp-wl-after_add_to_cart {
		order: 4;
		flex: 0 0 auto;
	}

	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart:not(.sticky-add-to-cart--active)>.container button.single_add_to_cart_button {
		order: 3;
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
	}
}

/* Wishlist. Sparks locks the border with border:none !important, so the outline is
 * drawn with an inset shadow instead of fighting that with another !important. The
 * colours come from Sparks' own custom properties, which is the supported seam. */
body.dp-pdp .entry-summary form.cart .sp-wl-wrap {
	--primarybtnpadding: 0;
	margin-left: 0;
}

/* The colour properties are declared on .add-to-wl itself, not on an ancestor,
 * because Sparks' dynamic stylesheet sets them on `.sp-wl-product-wrap .add-to-wl`.
 * A custom property set on the element always beats one inherited from a parent, no
 * matter how specific the parent selector is, so declaring them on .sp-wl-wrap had no
 * effect at all. */
body.dp-pdp .entry-summary form.cart .sp-wl-wrap .add-to-wl {
	--wl-background-color: transparent;
	--wl-text-color: var(--dp-color-ink);
	--wl-hover-background-color: var(--dp-color-paper);
	--wl-hover-text-color: var(--dp-color-red);
	--wl-active-background-color: transparent;
	--wl-active-text-color: var(--dp-color-red);
	width: 3.4rem;
	min-width: 3.4rem;
	/* Never collapse to the height of the icon, whatever the flex line does. */
	min-height: 3.4rem;
	box-shadow: inset 0 0 0 1px var(--dp-color-line);
	border-radius: 0;
	align-items: center;
	justify-content: center;
	opacity: 1;
}

body.dp-pdp .entry-summary form.cart .sp-wl-wrap .add-to-wl:hover {
	box-shadow: inset 0 0 0 1px var(--dp-color-red);
	opacity: 1;
}

body.dp-pdp .entry-summary form.cart .sp-wl-wrap .add-to-wl:focus-visible {
	box-shadow: inset 0 0 0 1px var(--dp-color-ink), var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .entry-summary form.cart .sp-wl-wrap .add-to-wl svg {
	width: 20px;
	height: 20px;
}

/* Saved state. Sparks marks it with colour only, which fails WCAG 1.4.1, so the
 * outline heart is filled in as well. The pressed state is also exposed to assistive
 * technology by don-posei-pdp-purchase.js. */
body.dp-pdp .entry-summary form.cart .sp-wl-wrap .add-to-wl.item-added svg {
	fill: currentColor;
}

/* Swatches are focusable radios built by Sparks, which ships no focus style. */
body.dp-pdp .sp-vswatches-wrapper .sp-vswatch-item:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

/* Sticky add to cart bar (Neve Pro).
 *
 * Neve Pro does not build a second bar. It wraps the real quantity, button and
 * wishlist in .sticky-add-to-cart inside the form, leaves it in the flow, and its
 * script adds .sticky-add-to-cart--active on scroll to switch that same element to
 * position:fixed. So every surface rule here has to carry --active, otherwise it
 * paints a panel around the purchase row on a page that has not been scrolled.
 *
 * z-index is left at Neve Pro's own 20 so the bar cannot cover the header or the mega
 * menu panels. Only the surface is aligned with the brand; the show and hide
 * behaviour, the body padding that keeps the footer clear, and the bar contents all
 * stay Neve Pro's. */
body.dp-pdp .sticky-add-to-cart--active {
	border-top: 1px solid var(--dp-color-line);
	background: var(--dp-color-white);
	box-shadow: 0 -4px 24px rgba(8, 8, 8, 0.08);
}

body.dp-pdp .sticky-add-to-cart--active .product-title-small {
	font-family: var(--dp-font-display);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

/* The bar reuses the page's tab titles as a jump list. Its default surface is the
 * Neve accent, which clashes with the white bar. */
body.dp-pdp .sticky-add-to-cart--active #sticky-add-to-cart-tabs {
	background: var(--dp-color-paper);
}

/* Below 960px Neve Pro gives the product row a line of its own, so the bar is already
 * two rows tall. The jump list would add a third and take a fifth of a phone screen,
 * for links to content that is a short scroll away, so it is dropped there. Nothing is
 * removed from the page: the tabs themselves are untouched. */
@media (max-width: 959px) {
	body.dp-pdp .sticky-add-to-cart--active #sticky-add-to-cart-tabs {
		display: none !important;
	}
}

body.dp-pdp .sticky-add-to-cart--active #sticky-add-to-cart-tabs li a {
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

body.dp-pdp .sticky-add-to-cart--active #sticky-add-to-cart-tabs li a:hover,
body.dp-pdp .sticky-add-to-cart--active #sticky-add-to-cart-tabs li a.active {
	border-bottom-color: var(--dp-color-ink);
	color: var(--dp-color-ink);
}

/* ---------- Task 7B: add to cart drawer ----------
 * Panel sliding in from the right that confirms the add, suggests a few more pieces
 * and offers the route to checkout. Markup comes from inc/pdp/drawer.php and from the
 * AJAX response; nothing here is generated by JavaScript.
 *
 * Stacking. The drawer is a modal so it has to cover the mega menu panels, which sit at
 * 1001, but it must stay under Neve's own mobile menu drawer at 999900 and its overlay
 * at 999899, so that opening the site menu is never trapped behind this one. Neve Pro's
 * sticky add to cart bar is at 20 and is covered.
 *
 * All selectors carry body.dp-pdp, so nothing here can reach any other template. */
body.dp-pdp {
	--dp-pdp-drawer-width: clamp(420px, 35vw, 720px);
	--dp-pdp-drawer-z: 999800;
}

body.dp-pdp .dp-pdp-drawer {
	position: fixed;
	z-index: var(--dp-pdp-drawer-z);
	inset: 0;
}

body.dp-pdp .dp-pdp-drawer[hidden] {
	display: none;
}

body.dp-pdp .dp-pdp-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(8, 8, 8, 0.45);
	opacity: 0;
	transition: opacity 0.3s ease;
}

body.dp-pdp .dp-pdp-drawer.is-open .dp-pdp-drawer__overlay {
	opacity: 1;
}

body.dp-pdp .dp-pdp-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	width: min(var(--dp-pdp-drawer-width), 100vw);
	flex-direction: column;
	background: var(--dp-color-white);
	box-shadow: -8px 0 40px rgba(8, 8, 8, 0.16);
	/* Slid out, not display:none, so the panel can animate in both directions. */
	transform: translateX(100%);
	transition: transform 0.32s ease;
}

body.dp-pdp .dp-pdp-drawer.is-open .dp-pdp-drawer__panel {
	transform: translateX(0);
}

body.dp-pdp .dp-pdp-drawer__panel:focus {
	outline: none;
}

/* The panel is the only thing that scrolls while it is open. */
html.dp-pdp-drawer-open,
html.dp-pdp-drawer-open body {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {

	body.dp-pdp .dp-pdp-drawer__overlay,
	body.dp-pdp .dp-pdp-drawer__panel {
		transition: none;
	}
}

/* Head */
body.dp-pdp .dp-pdp-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.35rem 1.5rem;
	border-bottom: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-pdp-drawer__title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-drawer__count {
	padding: 0.32rem 0.58rem;
	border-radius: 999px;
	background: var(--dp-color-paper);
	color: var(--dp-color-muted);
	font-family: var(--dp-font-body);
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	text-transform: none;
}

body.dp-pdp .dp-pdp-drawer__close {
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dp-color-ink);
	cursor: pointer;
	place-items: center;
}

body.dp-pdp .dp-pdp-drawer__close:hover {
	color: var(--dp-color-red);
}

body.dp-pdp .dp-pdp-drawer__close:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-pdp-drawer__message {
	margin: 1rem 1.5rem 0;
	padding: 0.75rem 1rem;
	border: 1px solid currentColor;
	background: color-mix(in srgb, var(--dp-color-red) 8%, var(--dp-color-white));
	color: var(--dp-color-red);
	font-size: 0.82rem;
	line-height: 1.45;
}

body.dp-pdp .dp-pdp-drawer__message[hidden] {
	display: none;
}

/* Body */
body.dp-pdp .dp-pdp-drawer__body {
	flex: 1 1 auto;
	padding: 1.5rem;
	overflow-y: auto;
	overscroll-behavior: contain;
}

body.dp-pdp .dp-pdp-drawer__delivery-heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 0.8rem;
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-pdp-drawer__delivery-heading svg {
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.3;
}

body.dp-pdp .dp-pdp-drawer__delivery-title {
	margin: 0;
	font-family: var(--dp-font-body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-drawer__delivery-heading [data-dp-drawer-delivery-count] {
	font-size: 0.75rem;
}

body.dp-pdp .dp-pdp-drawer__item-slot {
	display: grid;
	gap: 1rem;
}

/* The item that was just added */
body.dp-pdp .dp-pdp-drawer__item {
	display: grid;
	grid-template-columns: minmax(112px, 30%) minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-pdp-drawer__item-media {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--dp-color-paper);
	overflow: hidden;
}

body.dp-pdp .dp-pdp-drawer__item-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

body.dp-pdp .dp-pdp-drawer__item-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}

body.dp-pdp .dp-pdp-drawer__item-name {
	margin: 0 0 0.4rem;
	color: var(--dp-color-ink);
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

body.dp-pdp .dp-pdp-drawer__item-description,
body.dp-pdp .dp-pdp-drawer__item-size {
	margin: 0 0 0.45rem;
	color: var(--dp-color-ink-soft);
	font-size: 0.82rem;
	line-height: 1.45;
}

body.dp-pdp .dp-pdp-drawer__item-size {
	margin-bottom: 1rem;
}

/* wc_get_formatted_cart_item_data() returns a definition list of chosen attributes. */
body.dp-pdp .dp-pdp-drawer__item-meta {
	margin: 0 0 0.55rem;
	color: var(--dp-color-muted);
	font-size: 0.82rem;
	line-height: 1.5;
}

body.dp-pdp .dp-pdp-drawer__item-meta dl,
body.dp-pdp .dp-pdp-drawer__item-meta dt,
body.dp-pdp .dp-pdp-drawer__item-meta dd,
body.dp-pdp .dp-pdp-drawer__item-meta p {
	display: inline;
	margin: 0;
	font-size: inherit;
	font-weight: 400;
}

body.dp-pdp .dp-pdp-drawer__item-meta dt::after {
	content: " ";
}

body.dp-pdp .dp-pdp-drawer__item-meta dd::after {
	content: " · ";
}

body.dp-pdp .dp-pdp-drawer__item-meta dd:last-of-type::after {
	content: "";
}

body.dp-pdp .dp-pdp-drawer__item-price {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
}

body.dp-pdp .dp-pdp-drawer__item-qty {
	color: var(--dp-color-muted);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
}

body.dp-pdp .dp-pdp-drawer__item-amount {
	flex: 0 0 auto;
	color: var(--dp-color-ink);
	font-size: 0.95rem;
	font-weight: 600;
}

body.dp-pdp .dp-pdp-drawer__item-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1rem;
}

body.dp-pdp .dp-pdp-drawer__remove {
	padding: 0;
	border: 0;
	background: none;
	color: var(--dp-color-muted);
	cursor: pointer;
	font: inherit;
	font-size: 0.78rem;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.dp-pdp .dp-pdp-drawer__quantity {
	display: grid;
	grid-template-columns: repeat(3, 1.5rem);
	min-height: 1.65rem;
	border: 1px solid var(--dp-color-muted);
}

body.dp-pdp .dp-pdp-drawer__quantity button,
body.dp-pdp .dp-pdp-drawer__quantity output {
	display: grid;
	min-width: 0;
	padding: 0;
	border: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
	font: inherit;
	font-size: 0.75rem;
	place-items: center;
}

body.dp-pdp .dp-pdp-drawer__quantity button {
	cursor: pointer;
}

body.dp-pdp .dp-pdp-drawer__quantity button:disabled {
	color: var(--dp-color-muted);
	cursor: not-allowed;
}

body.dp-pdp .dp-pdp-drawer__quantity button:focus-visible,
body.dp-pdp .dp-pdp-drawer__remove:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-pdp-drawer__item[aria-busy="true"] {
	opacity: 0.65;
}

body.dp-pdp .dp-pdp-drawer__empty {
	margin: 0;
	padding: 1rem 0;
	color: var(--dp-color-ink-soft);
	font-size: 0.9rem;
}

/* Service information. Presented as facts, not as inputs: there is no real pick-up
 * feature yet, and a control that collects a choice nothing acts on would be a lie.
 * Turning this into a real choice belongs with the checkout work. */
body.dp-pdp .dp-pdp-drawer__service {
	margin: 1.25rem 0 0;
	padding: 0.9rem 1rem;
	background: var(--dp-color-paper);
}

body.dp-pdp .dp-pdp-drawer__service-row+.dp-pdp-drawer__service-row {
	margin-top: 0.6rem;
}

body.dp-pdp .dp-pdp-drawer__service-term {
	margin: 0 0 0.1rem;
	color: var(--dp-color-ink);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-drawer__service-desc {
	margin: 0;
	color: var(--dp-color-ink-soft);
	font-size: 0.78rem;
	line-height: 1.45;
}

/* Suggestions */
body.dp-pdp .dp-pdp-drawer__suggestions {
	margin-top: 1.15rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-pdp-drawer__suggestions-title {
	margin: 0 0 0.8rem;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* A sideways rail rather than a grid, which is how the reference presents these.
 *
 * It also solves a real problem: as a two column grid the second row fell below the
 * fold of the panel on a 900px screen, so the suggestions looked truncated even though
 * the panel scrolled. One row of cards keeps the subtotal and the calls to action in
 * view while still offering four pieces.
 *
 * Native overflow scrolling, no carousel script. Links stay in the tab order and the
 * browser scrolls each one into view when it takes focus. */
body.dp-pdp .dp-pdp-drawer__suggestion-list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 46%;
	gap: 0.9rem;
	/* Bleeds to the panel edges so a partly visible next card signals the rail scrolls. */
	margin: 0 -1.5rem;
	padding: 0 1.5rem 0.25rem;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
	list-style: none;
}

body.dp-pdp .dp-pdp-drawer__suggestion {
	margin: 0;
	scroll-snap-align: start;
}

body.dp-pdp .dp-pdp-drawer__suggestion-link {
	display: grid;
	gap: 0.45rem;
	color: var(--dp-color-ink);
	text-decoration: none;
}

body.dp-pdp .dp-pdp-drawer__suggestion-link:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

/* Square, not the 4:5 portrait the page rails use. In a 420px panel the taller crop
 * pushed the card name and price out of the visible part of the body, so the rail read
 * as a strip of unlabelled images. */
body.dp-pdp .dp-pdp-drawer__suggestion-media {
	display: block;
	background: var(--dp-color-paper);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

body.dp-pdp .dp-pdp-drawer__suggestion-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

body.dp-pdp .dp-pdp-drawer__suggestion-link:hover .dp-pdp-drawer__suggestion-image {
	transform: scale(1.04);
}

body.dp-pdp .dp-pdp-drawer__suggestion-name {
	font-family: var(--dp-font-display);
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.35;
}

body.dp-pdp .dp-pdp-drawer__suggestion-price {
	color: var(--dp-color-muted);
	font-size: 0.8rem;
}

body.dp-pdp .dp-pdp-drawer__suggestion-price del {
	margin-right: 0.35rem;
	opacity: 0.7;
}

body.dp-pdp .dp-pdp-drawer__suggestion-price ins {
	text-decoration: none;
}

/* Foot. Stays in view while the body scrolls. */
body.dp-pdp .dp-pdp-drawer__foot {
	flex: 0 0 auto;
	padding: 1.25rem 1.5rem 1.5rem;
	border-top: 1px solid var(--dp-color-line);
	background: var(--dp-color-white);
}

body.dp-pdp .dp-pdp-drawer__subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

body.dp-pdp .dp-pdp-drawer__subtotal-label {
	color: var(--dp-color-ink);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body.dp-pdp .dp-pdp-drawer__subtotal-value {
	color: var(--dp-color-ink);
	font-size: 1.05rem;
	font-weight: 600;
}

/* The checkout button repeats the geometry of Add to cart, so the two read as the same
 * family of action. Declared directly rather than through Neve's button variables,
 * because this element is outside .entry-summary and inherits none of them. */
body.dp-pdp .dp-pdp-drawer__checkout,
body.dp-pdp .dp-pdp-drawer__cart {
	display: block;
	width: 100%;
	padding: 1.15rem 1.75rem;
	font-family: var(--dp-font-body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.dp-pdp .dp-pdp-drawer__checkout {
	margin-top: 0.6rem;
	background: var(--dp-color-ink);
	color: var(--dp-color-white);
}

body.dp-pdp .dp-pdp-drawer__checkout:hover,
body.dp-pdp .dp-pdp-drawer__checkout:focus-visible {
	background: var(--dp-color-red);
	color: var(--dp-color-white);
}

body.dp-pdp .dp-pdp-drawer__cart {
	background: none;
	box-shadow: inset 0 0 0 1px var(--dp-color-ink);
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-pdp-drawer__cart:hover,
body.dp-pdp .dp-pdp-drawer__cart:focus-visible {
	background: var(--dp-color-ink);
	color: var(--dp-color-white);
}

body.dp-pdp .dp-pdp-drawer__checkout:focus-visible,
body.dp-pdp .dp-pdp-drawer__cart:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

/* Phones: full width, and the panel slides up from the bottom edge instead, which is
 * where a thumb is. */
@media (max-width: 599px) {
	body.dp-pdp .dp-pdp-drawer__panel {
		top: auto;
		left: 0;
		width: 100%;
		height: 100dvh;
		max-height: 100dvh;
		transform: translateY(100%);
	}

	body.dp-pdp .dp-pdp-drawer.is-open .dp-pdp-drawer__panel {
		transform: translateY(0);
	}

	body.dp-pdp .dp-pdp-drawer__suggestion-list {
		grid-auto-columns: 42%;
	}
}

/* Inline message that replaces WooCommerce's window.alert() when the variation is not
 * complete. Sits directly above the controls, inside the summary column. */
body.dp-pdp .entry-summary form.cart .dp-pdp__cart-message {
	flex: 0 0 100%;
	margin: 0 0 1rem;
	padding: 0.8rem 1rem;
	background: var(--dp-color-paper);
	border-left: 2px solid var(--dp-color-red);
	color: var(--dp-color-ink);
	font-size: 0.85rem;
	line-height: 1.5;
}

body.dp-pdp .entry-summary form.cart .dp-pdp__cart-message[hidden] {
	display: none;
}

/* While a request is in flight. WooCommerce's own .loading style is a spinner on the
 * button's ::after, which is kept; this only dims the label. */
body.dp-pdp .entry-summary form.cart button.single_add_to_cart_button[aria-busy="true"] {
	cursor: progress;
	opacity: 0.75;
}

/* ================================================================== *
 * DON POSEI shared scroll-direction header (v1.0.96)
 * The complete Header Builder grid is fixed across public pages, slides out
 * while scrolling down, and returns while scrolling up. Page 469 keeps its
 * transparent top-of-hero state; after leaving the top it joins this same
 * white two-row header behaviour.
 * ================================================================== */
body:not(.page-id-469) header.header {
	min-height: var(--dp-site-header-height, 7.7rem);
}

body:not(.page-id-469) #header-grid,
body.page-id-469.dp-header-is-scrolled #header-grid {
	position: fixed !important;
	top: var(--dp-admin-bar-height, 0px) !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 99999;
}

body.dp-header-motion-ready #header-grid {
	transition: transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: transform;
}

body.dp-header-is-hidden #header-grid {
	transform: translate3d(0,
			calc(-100% - var(--dp-admin-bar-height, 0px)),
			0) !important;
	pointer-events: none;
}

/* Interactive navigation must never disappear while focus, a desktop mega
 * panel, or Neve's mobile drawer is active. JS removes the hidden class too;
 * these selectors are a CSS safety net during class/transition hand-offs. */
body.dp-header-is-hidden #header-grid:focus-within,
body.dp-header-is-hidden:has(#header-grid .dp-mega-parent.is-open) #header-grid,
body.is-menu-sidebar #header-grid,
body.hiding-header-menu-sidebar #header-grid {
	transform: translate3d(0, 0, 0) !important;
	pointer-events: auto;
}

/* Topbar belongs to the top-of-page composition only. Once the page is
 * scrolled, revealing the header shows the main navigation row by itself. */
body.dp-header-is-scrolled .header-top {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	body.dp-header-motion-ready #header-grid {
		transition: none;
	}
}

@media print {
	body:not(.page-id-469) header.header {
		min-height: 0;
	}

	body #header-grid {
		position: static !important;
		transform: none !important;
	}
}

/* ================================================================== *
 * USER TUNING — SCROLLED / REVEALED MAIN MENU HEIGHT
 *
 * Change ONLY `--dp-scrolled-menu-trim` below when you want to make the
 * menu revealed during scrolling shorter or taller:
 *   - larger than 7px = shorter header
 *   - smaller than 7px = taller header
 * This does not change the full header shown at the top of the page.
 * ================================================================== */
body {
	--dp-scrolled-menu-trim: 20px;
}

/* The builder items normally add 8px top + bottom margins on desktop.
 * Remove those margins in the compact state, then let the grid center the
 * controls inside the explicitly tunable row height. */
@media (min-width: 1200px) {

	body.dp-header-is-scrolled .header-main .builder-item,
	body.dp-pdp:not(.dp-header-is-scrolled) .header-main .builder-item {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	body:not(.page-id-469).dp-header-is-scrolled .header-main .row--wrapper,
	body.dp-pdp:not(.dp-header-is-scrolled) .header-main .row--wrapper {
		height: calc(84px - var(--dp-scrolled-menu-trim)) !important;
		min-height: calc(84px - var(--dp-scrolled-menu-trim)) !important;
	}

	body.page-id-469.dp-header-is-scrolled .header-main .row--wrapper {
		height: calc(85px - var(--dp-scrolled-menu-trim)) !important;
		min-height: calc(85px - var(--dp-scrolled-menu-trim)) !important;
	}
}

/* Mobile builder items normally add 4px top + bottom margins. The tallest
 * logo item still fits inside 73px - trim and remains vertically centered. */
@media (max-width: 1024px) {

	body.dp-header-is-scrolled .header-main.hide-on-desktop .builder-item,
	body.dp-pdp:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .builder-item {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	body.dp-header-is-scrolled .header-main.hide-on-desktop .row--wrapper,
	body.dp-pdp:not(.dp-header-is-scrolled) .header-main.hide-on-desktop .row--wrapper {
		height: calc(73px - var(--dp-scrolled-menu-trim)) !important;
		min-height: calc(73px - var(--dp-scrolled-menu-trim)) !important;
	}
}

/* ================================================================== *
 * PDP — DAVID YURMAN SERVICE LINKS + PRODUCT ACCORDIONS
 * Scope lock: PDP summary only. The frozen header/menu rules above are
 * intentionally untouched.
 * ================================================================== */
body.dp-pdp .dp-service-links {
	margin-top: clamp(1.5rem, 2.5vw, 2.1rem);
}

body.dp-pdp div.product .entry-summary .dp-service-links__list {
	display: grid;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dp-pdp div.product .entry-summary .dp-service-links__item {
	margin: 0;
	list-style: none;
}

body.dp-pdp div.product .entry-summary .dp-service-links__item::before {
	display: none;
	content: none;
}

body.dp-pdp .dp-service-links__link {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--dp-color-ink-soft);
	font-size: 12px!important;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

body.dp-pdp .dp-service-links__link:hover {
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-service-links__link:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-service-links__icon {
	flex: 0 0 1rem;
	width: 1rem;
	height: 1rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.15;
}

body.dp-pdp .dp-product-accordions {
	margin-top: clamp(1.6rem, 3vw, 2.35rem);
	border-top: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-product-accordion {
	margin: 0;
	border-bottom: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-product-accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.35rem;
	padding: 0;
	color: var(--dp-color-ink);
	cursor: pointer;
	list-style: none;
}

body.dp-pdp .dp-product-accordion__summary::-webkit-details-marker {
	display: none;
}

body.dp-pdp .dp-product-accordion__summary:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-product-accordion__title {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px!important;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.dp-pdp .dp-product-accordion__toggle {
	position: relative;
	flex: 0 0 0.8rem;
	width: 0.8rem;
	height: 0.8rem;
}

body.dp-pdp .dp-product-accordion__toggle::before,
body.dp-pdp .dp-product-accordion__toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.65rem;
	height: 1px;
	background: currentColor;
	content: "";
}

body.dp-pdp .dp-product-accordion__toggle::before {
	transform: translate(-50%, -50%);
}

body.dp-pdp .dp-product-accordion__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

body.dp-pdp .dp-product-accordion[open]>.dp-product-accordion__summary .dp-product-accordion__toggle::after {
	display: none;
}

body.dp-pdp .dp-product-accordion__content {
	padding: 0.15rem 0 1.35rem;
	color: var(--dp-color-ink-soft);
	font-size: 0.84rem;
	line-height: 1.52;
}

body.dp-pdp .dp-product-accordion__content p {
	margin: 0 0 0.8rem;
}

body.dp-pdp .dp-product-accordion__content p:last-child {
	margin-bottom: 0;
}

body.dp-pdp .dp-product-accordion__content a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.dp-pdp .dp-product-accordion__content a:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-product-accordion__specs {
	margin: 0.95rem 0 0;
	padding-left: 1.1rem;
}

body.dp-pdp .dp-product-accordion__specs li {
	margin: 0.18rem 0;
}

body.dp-pdp .dp-product-accordion__spec-label {
	font-weight: 600;
}

body.dp-pdp .dp-product-accordion__content--richtext img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 1rem auto 0;
}

@media (max-width: 767px) {
	body.dp-pdp .dp-service-links {
		margin-top: 1.35rem;
	}

	body.dp-pdp .dp-product-accordions {
		margin-top: 1.5rem;
	}

	body.dp-pdp .dp-product-accordion__summary {
		min-height: 3.15rem;
	}
}

/* ================================================================== *
 * PDP TASK 9 — FULL-WIDTH STANDARD PRODUCT DESCRIPTION
 * Source: core blocks stored in each product's WooCommerce post_content.
 * Position: after recommendation rails; before future Trending Now.
 * Header/menu frozen baseline above remains untouched.
 * ================================================================== */
body.dp-pdp .dp-pdp__below {
	width: 100%;
	max-width: none;
}

body.dp-pdp .dp-product-story {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	/* NONE margin: clamp(4.5rem, 8vw, 7.5rem) 0 0;
	padding: clamp(4.5rem, 8vw, 7.5rem) clamp(1.25rem, 4vw, 4rem) clamp(5rem, 9vw, 8rem); */
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-product-story>.dp-product-story__intro {
	max-width: 760px;
	margin: 0 auto clamp(3.5rem, 7vw, 6rem);
	text-align: center;
}

body.dp-pdp .dp-product-story__eyebrow {
	margin: 0 0 0.9rem;
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.dp-pdp .dp-product-story__title {
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-display);
	font-size: clamp(2rem, 4.25vw, 4rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.06;
	text-transform: uppercase;
}

body.dp-pdp .dp-product-story__lede {
	max-width: 690px;
	margin: 1.35rem auto 0;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: clamp(0.95rem, 1.15vw, 1.08rem);
	line-height: 1.7;
}

body.dp-pdp .dp-product-story__feature.wp-block-columns {
	box-sizing: border-box;
	align-items: center !important;
	width: 100%;
	max-width: var(--dp-container);
	margin: 0 auto !important;
	gap: clamp(2.5rem, 6vw, 6rem);
}

body.dp-pdp .dp-product-story__feature+.dp-product-story__feature {
	margin-top: clamp(4rem, 8vw, 7rem) !important;
}

body.dp-pdp .dp-product-story__feature>.wp-block-column {
	box-sizing: border-box;
	margin: 0;
}

body.dp-pdp .dp-product-story__media,
body.dp-pdp .dp-product-story__image {
	margin: 0;
}

body.dp-pdp .dp-product-story__image {
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.dp-pdp .dp-product-story__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

body.dp-pdp .dp-product-story__copy-inner {
	max-width: 520px;
	margin: 0 auto;
}

body.dp-pdp .dp-product-story__subheading {
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-display);
	font-size: clamp(1.3rem, 2.2vw, 2rem);
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.dp-pdp .dp-product-story__body {
	margin: 1rem 0 0;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: clamp(0.9rem, 1vw, 1rem);
	line-height: 1.7;
}

@media (max-width: 768px) {
	body.dp-pdp .dp-product-story {
		margin-top: 3.5rem;
		padding: 3.75rem 1rem 4.5rem;
	}

	body.dp-pdp .dp-product-story>.dp-product-story__intro {
		margin-bottom: 2.75rem;
	}

	body.dp-pdp .dp-product-story__title {
		font-size: clamp(1.75rem, 9vw, 2.5rem);
	}

	body.dp-pdp .dp-product-story__lede {
		font-size: 0.94rem;
		line-height: 1.62;
	}

	body.dp-pdp .dp-product-story__feature.wp-block-columns {
		gap: 1.5rem;
	}

	body.dp-pdp .dp-product-story__feature+.dp-product-story__feature {
		margin-top: 3.75rem !important;
	}

	body.dp-pdp .dp-product-story__copy {
		padding: 0 0.35rem;
	}

	body.dp-pdp .dp-product-story__feature--reverse .dp-product-story__media {
		order: 1;
	}

	body.dp-pdp .dp-product-story__feature--reverse .dp-product-story__copy {
		order: 2;
	}
}

/* ================================================================== *
 * PDP TASK 11 — INDEPENDENT ADVANCED PRODUCT REVIEW SURFACE
 * WooCommerce remains the single review/form/schema owner. Sparks APR adds
 * image upload/gallery and voting; all visual changes remain PDP-scoped.
 * ================================================================== */
body.dp-pdp .dp-pdp-review-surface {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.82fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 5rem);
	background: var(--dp-color-paper);
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-pdp-review-surface,
body.dp-pdp .dp-pdp-review-surface * {
	box-sizing: border-box;
}

body.dp-pdp .dp-pdp-review-surface>#comments,
body.dp-pdp .dp-pdp-review-surface>#review_form_wrapper {
	min-width: 0;
}

body.dp-pdp .dp-pdp-review-surface .woocommerce-Reviews-title,
body.dp-pdp .dp-pdp-review-surface .comment-reply-title {
	display: block;
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-display);
	font-size: clamp(1.45rem, 2.6vw, 2.35rem);
	font-weight: 500;
	letter-spacing: 0.035em;
	line-height: 1.15;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-review-surface .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dp-pdp .dp-pdp-review-surface .commentlist>li {
	margin: 0;
	padding: 1.5rem 0;
	border-top: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-pdp-review-surface .commentlist>li:last-child {
	border-bottom: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-pdp-review-surface .comment_container {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr);
	gap: 1rem;
}

body.dp-pdp .dp-pdp-review-surface .comment_container>.avatar {
	float: none;
	width: 3.25rem;
	height: 3.25rem;
	margin: 0;
	border-radius: 50%;
	object-fit: cover;
}

body.dp-pdp .dp-pdp-review-surface .comment-text {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

body.dp-pdp .dp-pdp-review-surface .meta {
	margin: 0 0 0.7rem;
	color: var(--dp-color-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

body.dp-pdp .dp-pdp-review-surface .description,
body.dp-pdp .dp-pdp-review-surface .description p {
	color: var(--dp-color-ink-soft);
	font-size: 0.92rem;
	line-height: 1.65;
}

body.dp-pdp .dp-pdp-review-surface .description p:last-child {
	margin-bottom: 0;
}

body.dp-pdp .dp-pdp-review-surface .star-rating {
	color: var(--dp-color-red);
}

body.dp-pdp .dp-pdp-review-surface>#review_form_wrapper {
	padding-left: clamp(2rem, 4vw, 4rem);
	border-left: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-pdp-review-surface--empty {
	grid-template-columns: minmax(0, 47.5rem);
	justify-content: center;
}

body.dp-pdp .dp-pdp-review-surface--empty>#comments {
	display: none;
}

body.dp-pdp .dp-pdp-review-surface--empty>#review_form_wrapper {
	padding-left: 0;
	border-left: 0;
}

body.dp-pdp .dp-pdp-review-surface #commentform {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem;
}

body.dp-pdp .dp-pdp-review-surface #commentform>* {
	min-width: 0;
}

body.dp-pdp .dp-pdp-review-surface #commentform>.comment-notes,
body.dp-pdp .dp-pdp-review-surface #commentform>.comment-form-rating,
body.dp-pdp .dp-pdp-review-surface #commentform>.comment-form-comment,
body.dp-pdp .dp-pdp-review-surface #commentform>.sp-review-upload-section,
body.dp-pdp .dp-pdp-review-surface #commentform>.form-submit,
body.dp-pdp .dp-pdp-review-surface #commentform>.logged-in-as {
	grid-column: 1 / -1;
}

body.dp-pdp .dp-pdp-review-surface #commentform p,
body.dp-pdp .dp-pdp-review-surface .comment-form-rating,
body.dp-pdp .dp-pdp-review-surface .sp-review-upload-section {
	margin: 0;
}

body.dp-pdp .dp-pdp-review-surface #commentform label,
body.dp-pdp .dp-pdp-review-surface .sp-review-upload-section>label {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--dp-color-ink);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-review-surface #commentform input[type="text"],
body.dp-pdp .dp-pdp-review-surface #commentform input[type="email"],
body.dp-pdp .dp-pdp-review-surface #commentform select,
body.dp-pdp .dp-pdp-review-surface #commentform textarea {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	border: 1px solid var(--dp-color-line);
	border-radius: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.9rem;
}

body.dp-pdp .dp-pdp-review-surface #commentform input[type="text"],
body.dp-pdp .dp-pdp-review-surface #commentform input[type="email"],
body.dp-pdp .dp-pdp-review-surface #commentform select {
	min-height: 3rem;
	padding: 0.7rem 0.85rem;
}

body.dp-pdp .dp-pdp-review-surface #commentform textarea {
	min-height: 9rem;
	padding: 0.85rem;
	resize: vertical;
}

body.dp-pdp .dp-pdp-review-surface #commentform input:focus-visible,
body.dp-pdp .dp-pdp-review-surface #commentform select:focus-visible,
body.dp-pdp .dp-pdp-review-surface #commentform textarea:focus-visible,
body.dp-pdp .dp-pdp-review-surface #sp-do-upload:focus-visible,
body.dp-pdp .dp-pdp-review-surface .sp-review-image:focus-visible,
body.dp-pdp .dp-pdp-review-surface .sp-upvote-button:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-pdp-review-surface #submit {
	min-height: 3rem;
	padding: 0.85rem 1.35rem;
	border: 1px solid var(--dp-color-red);
	border-radius: 0;
	background: var(--dp-color-red);
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.dp-pdp .dp-pdp-review-surface #submit:hover,
body.dp-pdp .dp-pdp-review-surface #submit:focus-visible {
	border-color: var(--dp-color-red-hover);
	background: var(--dp-color-red-hover);
}

body.dp-pdp .dp-pdp-review-surface #sp-upload-review-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dp-pdp .dp-pdp-review-surface #sp-do-upload {
	border-radius: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-red);
}

body.dp-pdp .dp-pdp-review-surface .sp-review-gallery {
	clear: both;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}

body.dp-pdp .dp-pdp-review-surface .sp-review-image {
	display: block;
	width: 5rem;
	height: 5rem;
}

body.dp-pdp .dp-pdp-review-surface img.nv_review_thumbnail {
	float: none !important;
	display: block;
	width: 5rem;
	min-width: 0;
	max-width: none;
	height: 5rem;
	margin: 0;
	object-fit: cover;
}

body.dp-pdp .dp-pdp-review-surface .sp-apr-upvote-section {
	justify-content: flex-end;
	margin-top: 1rem;
}

body.dp-pdp .dp-pdp-review-surface .sp-upvote-button {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--dp-color-red);
}

@media (max-width: 900px) {
	body.dp-pdp .dp-pdp-review-surface {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.75rem;
	}

	body.dp-pdp .dp-pdp-review-surface>#review_form_wrapper {
		padding-top: 2.75rem;
		padding-left: 0;
		border-top: 1px solid var(--dp-color-line);
		border-left: 0;
	}

	body.dp-pdp .dp-pdp-review-surface--empty>#review_form_wrapper {
		padding-top: 0;
		border-top: 0;
	}
}

@media (max-width: 767px) {
	body.dp-pdp .dp-pdp-review-surface {
		padding: 3.75rem 1rem 4.5rem;
	}

	body.dp-pdp .dp-pdp-review-surface #commentform {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dp-pdp .dp-pdp-review-surface #commentform>* {
		grid-column: 1;
	}

	body.dp-pdp .dp-pdp-review-surface .comment_container {
		grid-template-columns: 2.75rem minmax(0, 1fr);
	}

	body.dp-pdp .dp-pdp-review-surface .comment_container>.avatar {
		width: 2.75rem;
		height: 2.75rem;
	}
}

/* ================================================================== *
 * PDP TASK 12 — CURATED UPSELL / RELATED FALLBACK RAIL
 * Native WooCommerce cards and Neve Pro slider own layout behaviour.
 * These semantic, PDP-only rules provide visual polish and focus states.
 * ================================================================== */
body.dp-pdp .dp-rail {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: clamp(3.5rem, 7vw, 6rem) 0 0;
	padding: clamp(3.5rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5rem);
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-rail,
body.dp-pdp .dp-rail * {
	box-sizing: border-box;
}

body.dp-pdp .dp-rail>h2 {
	margin: 0 0 clamp(1.75rem, 4vw, 3rem);
	color: var(--dp-color-ink);
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.55rem, 3vw, 2.65rem);
	font-weight: 500;
	letter-spacing: 0.045em;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
}

body.dp-pdp .dp-rail>ul.products,
body.dp-pdp .dp-rail .tns-inner>ul.products {
	margin-top: 0;
	margin-bottom: 0;
}

body.dp-pdp .dp-rail ul.products li.product {
	min-width: 0;
	margin-bottom: 0;
}

body.dp-pdp .dp-rail ul.products li.product .woocommerce-loop-product__title {
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-rail ul.products li.product a:focus-visible,
body.dp-pdp .dp-rail .tns-controls button:focus-visible,
body.dp-pdp .dp-rail .tns-nav button:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-rail .add_to_cart_button,
body.dp-pdp .dp-rail .added_to_cart {
	display: none;
}

@media (max-width: 767px) {
	body.dp-pdp .dp-rail {
		margin-top: 3.5rem;
		padding: 3.75rem 1rem 4.5rem;
	}

	body.dp-pdp .dp-rail>h2 {
		margin-bottom: 1.75rem;
	}
}

/* ================================================================== *
 * PDP STICKY ADD-TO-CART — DESKTOP STACKING CONTEXT BUGFIX
 * The fixed Neve bar is trapped inside the sticky summary's stacking
 * context. Raise that ancestor only while the bar is active; the bar keeps
 * Neve's own z-index: 20 and remains below global navigation/overlay layers.
 * ================================================================== */
@media (min-width: 992px) {
	body.dp-pdp .nv-single-product-top>div.summary:has(.sticky-add-to-cart--active) {
		z-index: 21;
	}
}

/* ================================================================== *
 * PDP TASK 13A — AUDIENCE-AWARE RECOMMENDATION CARD HOVER IMAGE
 * Woo/Neve retain card geometry; one decorative secondary image overlays
 * the primary only for devices that expose a fine hover pointer.
 * ================================================================== */
body.dp-pdp .dp-rail .sp-product-image .img-wrap {
	position: relative;
}

/* Related fallback cards use one filled 4:5 image tile at every rail breakpoint.
 * Primary and hover images share the exact rectangle, preventing a hover layout jump.
 * Scope excludes curated upsells, shop/category cards and homepage collections. */
body.dp-pdp section.related.products.dp-rail--fallback .sp-product-image.sp-same-image-height {
	height: auto;
	flex-basis: auto;
}

body.dp-pdp section.related.products.dp-rail--fallback .sp-product-image .img-wrap {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

body.dp-pdp section.related.products.dp-rail--fallback .sp-product-image .img-wrap>img.attachment-woocommerce_thumbnail,
body.dp-pdp section.related.products.dp-rail--fallback .sp-product-image .img-wrap>a>img.attachment-woocommerce_thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

/* Shared taxonomy Badge replaces Sale only in the related fallback rail. */
body.dp-pdp section.related.products.dp-rail--fallback .sp-product-image>span.onsale.outside.dp-rail__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	box-sizing: border-box;
	max-width: calc(100% - 24px);
	margin: 0;
	padding: 6px 10px;
	border-radius: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.25;
	text-transform: none;
	overflow-wrap: anywhere;
	pointer-events: none;
}

body.dp-pdp .dp-rail .sp-product-image .img-wrap>.dp-rail__hover-image {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	opacity: 0;
	pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
	body.dp-pdp .dp-rail .sp-product-image .img-wrap>.dp-rail__hover-image {
		transition: opacity 240ms ease;
	}

	body.dp-pdp .dp-rail li.product:hover .dp-rail__hover-image,
	body.dp-pdp .dp-rail .woocommerce-LoopProduct-link:focus-visible .dp-rail__hover-image {
		opacity: 1;
	}
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
	body.dp-pdp .dp-rail .sp-product-image .img-wrap>.dp-rail__hover-image {
		transition: none;
	}
}

/* ==========================================================================
   PDP TASK 14 — FEATURED-ONLY GALLERY FALLBACK
   A product with one image must not leave an empty second desktop grid track.
   Mobile keeps WooCommerce's native gallery flow below 992px.
   ========================================================================== */
@media (min-width: 992px) {
	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:only-child {
		grid-column: 1 / -1;
	}
}

/* ========================================================================== 
   PDP TASK 14 REFINEMENT — USER-APPROVED GEOMETRY, TYPE AND 5-CARD RAIL
   Source: annotated reference positions 1–4. PDP-only; no shared theme values.
   ========================================================================== */
body.dp-pdp main .nv-shop {
	margin-top: 15px;
}

body.dp-pdp .woocommerce-breadcrumb {
	margin-top: 0;
	margin-bottom: 5px;
	padding-inline: 15px;
}

body.dp-pdp .nv-bc-count-wrap {
	margin-bottom: 5px;
}

body.dp-pdp .nv-bc-count-wrap .woocommerce-breadcrumb {
	margin-bottom: 0;
}

@media (min-width: 769px) {
	body.dp-pdp .shop-container {
		width: 100%;
		max-width: none;
		padding-inline: 0;
	}

	body.dp-pdp .shop-container>.row {
		margin-inline: 0;
	}

	body.dp-pdp main .nv-shop {
		padding-inline: 0;
	}

	body.dp-pdp .nv-single-product-top {
		gap: 20px;
	}

	body.dp-pdp .nv-single-product-top>div.summary {
		padding-right: 20px;
	}
}

@media (min-width: 992px) {
	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper {
		column-gap: 3px;
		row-gap: 3px;
	}
}

body.dp-pdp .entry-summary,
body.dp-pdp .entry-summary p,
body.dp-pdp .entry-summary label,
body.dp-pdp .entry-summary .price,
body.dp-pdp .entry-summary .price *:not(svg):not(path),
body.dp-pdp .entry-summary .dp-pdp__badge,
body.dp-pdp .entry-summary .dp-product-accordion__title,
body.dp-pdp .entry-summary .dp-product-accordion__content,
body.dp-pdp .entry-summary .dp-service-links a,
body.dp-pdp .entry-summary form.cart table.variations th.label label {
	font-size: 16px;
}

body.dp-pdp .entry-summary .product_title.entry-title {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 20px !important;
	line-height: 1.3;
	font-weight: 500;
}

body.dp-pdp .dp-rail {
	width: 100%;
	max-width: none;
	margin-top: 48px;
	padding: 32px 0 48px;
}

body.dp-pdp .dp-rail>h2 {
	margin: 0 0 20px;
	padding-inline: 15px;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
}

body.dp-pdp .dp-rail .tns-inner {
	margin-inline: 0 !important;
}

body.dp-pdp .dp-rail .tns-item {
	padding-right: 3px !important;
}

body.dp-pdp .dp-rail ul.products li.product {
	position: relative;
}

body.dp-pdp .dp-rail ul.products li.product .nv-product-content {
	padding: 12px 0 0;
}

body.dp-pdp .dp-rail ul.products li.product .woocommerce-loop-product__title {
	margin-left: 10px;
	padding: 0;
	font-size: 16px !important;
	line-height: 1.35;
	text-align: left;
}

body.dp-pdp .dp-rail ul.products li.product .price,
body.dp-pdp .dp-rail ul.products li.product .price *,
body.dp-pdp .dp-rail .dp-pdp__selected-variation-description {
	font-size: 14px !important;
	line-height: 1.45;
}

body.dp-pdp .dp-rail ul.products li.product .price,
body.dp-pdp .dp-rail .dp-pdp__selected-variation-description {
	margin-left: 10px;
	text-align: left;
}

body.dp-pdp .dp-rail .dp-pdp__selected-variation-description {
	margin-top: 3px;
	color: var(--dp-color-muted);
}

body.dp-pdp .dp-rail .sp-product-inline-actions {
	position: absolute;
	z-index: 4;
	top: 12px;
	right: 12px;
	gap: 6px;
	margin: 0;
	opacity: 0;
	transition: opacity 160ms ease;
}

body.dp-pdp .dp-rail .sp-product-inline-actions .sp-wl-wrap.inline {
	margin: 0;
}

body.dp-pdp .dp-rail .sp-product-inline-actions .add-to-wl {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0 !important;
	border: 1px solid rgba(22, 22, 22, 0.2) !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94) !important;
	color: var(--dp-color-ink) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

body.dp-pdp .dp-rail li.product:hover .sp-product-inline-actions,
body.dp-pdp .dp-rail li.product:focus-within .sp-product-inline-actions {
	opacity: 1;
}

@media (hover: none),
(pointer: coarse) {
	body.dp-pdp .dp-rail .sp-product-inline-actions {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.dp-pdp .dp-rail .sp-product-inline-actions {
		transition: none;
	}
}

@media (max-width: 768px) {
	body.dp-pdp .woocommerce-breadcrumb {
		padding-inline: 10px;
		font-size: 12px;
	}

	body.dp-pdp .entry-summary {
		font-size: 16px;
	}

	body.dp-pdp .dp-rail {
		margin-top: 40px;
		padding: 28px 0 40px;
	}
}

/* Validation refinement: Neve's product navigator occupied 34px + 20px margin
 * between the approved breadcrumb and gallery. It is hidden only on DON POSEI PDPs
 * so the requested breadcrumb-to-gallery rhythm remains exactly 5px. */
body.dp-pdp div.product>.nv-product-nav-wrap {
	display: none;
}

/* Five recommendation cards on larger screens. */
body.dp-pdp .dp-rail>ul.products,
body.dp-pdp .dp-rail .tns-inner>ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	column-gap: 3px !important;
	row-gap: 3px !important;
}

body.dp-pdp .dp-rail ul.products li.product {
	width: auto !important;
	margin: 0 !important;
}

/* Keep Sparks' real Gemstone, Metal and Size controls neatly inside each
 * recommendation card. The PDP-only variation defaults and size-guide button
 * are scoped to the main product form in inc/pdp/purchase.php. */
body.dp-pdp .dp-rail .nv-product-content {
	min-width: 0;
}

/* Recommendation cards on the PDP are for browsing. Keep Gemstone, Metal and
 * Size selection on the main product form, not repeated beneath each card. */
body.dp-pdp .dp-rail form.sp-catalog-variation {
	display: none !important;
}

@media (max-width: 991px) {
	body.dp-pdp .dp-rail {
		width: calc(100% + 30px);
		margin-inline: -15px;
	}

	body.dp-pdp .dp-rail>ul.products,
	body.dp-pdp .dp-rail .tns-inner>ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	body.dp-pdp .dp-rail>ul.products,
	body.dp-pdp .dp-rail .tns-inner>ul.products {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 12px 12px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 12px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body.dp-pdp .dp-rail>ul.products::-webkit-scrollbar,
	body.dp-pdp .dp-rail .tns-inner>ul.products::-webkit-scrollbar {
		display: none;
	}

	body.dp-pdp .dp-rail ul.products li.product {
		box-sizing: border-box;
		flex: 0 0 calc(66.6667% - 8px) !important;
		width: calc(66.6667% - 8px) !important;
		min-width: 0;
		max-width: none;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}

/* ========================================================================== 
   PDP GALLERY GEOMETRY CORRECTION — 414x520 TILES AND 30px SUMMARY RHYTHM
   Restores the approved Task 5 image render size on wide desktop while keeping
   Task 14's 3px image gutter, full-bleed left edge and responsive mobile gallery.
   ========================================================================== */
/* NONE */
@media (min-width: 769px) {
	body.dp-pdp .nv-single-product-top {
		column-gap: 100px;
	}

	body.dp-pdp .nv-single-product-top>div.summary {
		padding-right: 90px;
	}

	body.dp-pdp li.dp-service-links__item span {
		font-size: 12px;
	}
}

/* ========================================================================== *
   PDP TRENDING NOW — Most Loved horizontal carousel
   This rail follows the same Neve product cards and wishlist controls as the
   related-products rail, with five visible cards and native horizontal scroll.
   ========================================================================== */
body.dp-pdp .dp-rail--trending {
	margin-top: 28px;
	padding: 20px 0 40px;
}

body.dp-pdp .dp-trending-now__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 20px;
	padding-inline: 15px;
}

body.dp-pdp .dp-trending-now__header h2 {
	margin: 0;
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
}

body.dp-pdp .dp-trending-now__controls {
	display: flex;
	align-items: center;
	gap: 18px;
}

body.dp-pdp .dp-trending-now__controls[hidden] {
	display: none;
}

body.dp-pdp .dp-trending-now__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--dp-color-ink);
	cursor: pointer;
}

body.dp-pdp .dp-trending-now__arrow:disabled {
	color: #b8b8b8;
	cursor: default;
}

body.dp-pdp .dp-trending-now__arrow svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.dp-pdp .dp-trending-now__arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

body.dp-pdp .dp-trending-now__viewport {
	width: 100%;
	overflow: hidden;
}

body.dp-pdp .dp-rail--trending ul.products.dp-trending-now__products {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	box-sizing: border-box;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 15px 12px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

body.dp-pdp .dp-rail--trending ul.products.dp-trending-now__products::-webkit-scrollbar {
	display: none;
}

/* Account for the rail's 15px inset when snapping desktop cards. Otherwise
 * snapping the first card to the outer edge exposes part of card six. */
@media (min-width: 992px) {
	body.dp-pdp .dp-rail--trending ul.products.dp-trending-now__products {
		scroll-padding-inline: 15px;
	}
}

body.dp-pdp .dp-rail--trending ul.products.dp-trending-now__products > li.product {
	box-sizing: border-box;
	flex: 0 0 calc((100% - 64px) / 5) !important;
	width: calc((100% - 64px) / 5) !important;
	min-width: 0;
	max-width: none;
	scroll-snap-align: start;
}

body.dp-pdp .dp-rail--trending .sp-product-image.sp-same-image-height {
	height: auto;
	flex-basis: auto;
}

body.dp-pdp .dp-rail--trending .sp-product-image .img-wrap {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

body.dp-pdp .dp-rail--trending .sp-product-image .img-wrap > img.attachment-woocommerce_thumbnail,
body.dp-pdp .dp-rail--trending .sp-product-image .img-wrap > a > img.attachment-woocommerce_thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

body.dp-pdp .dp-rail--trending .sp-product-image > span.onsale.outside.dp-rail__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	box-sizing: border-box;
	max-width: calc(100% - 24px);
	margin: 0;
	padding: 6px 10px;
	border-radius: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.25;
	text-transform: none;
	pointer-events: none;
}

@media (max-width: 991px) {
	body.dp-pdp .dp-rail--trending ul.products.dp-trending-now__products > li.product {
		flex-basis: calc((100% - 32px) / 3) !important;
		width: calc((100% - 32px) / 3) !important;
	}
}

@media (max-width: 767px) {
	body.dp-pdp .dp-rail--trending {
		margin-top: 24px;
		padding: 16px 0 32px;
	}

	body.dp-pdp .dp-trending-now__header {
		margin-bottom: 16px;
	}

	body.dp-pdp .dp-rail--trending ul.products.dp-trending-now__products > li.product {
		flex-basis: calc(66.6667% - 8px) !important;
		width: calc(66.6667% - 8px) !important;
	}
}

button.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed {
	background: #000000 !important;
}

/* END NONE */
@media (min-width: 992px) {
	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image>a {
		display: block;
		width: 100%;
		height: 100%;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image>a>img:not(.zoomImg) {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center;
	}
}

@media (min-width: 1340px) {
	body.dp-pdp .nv-single-product-top {
		grid-template-columns: 831px minmax(0, 1fr);
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper {
		grid-template-columns: repeat(2, 414px);
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image>a>img:not(.zoomImg) {
		width: 414px;
		height: 520px;
	}
}

body.dp-pdp .entry-summary .product_meta {
	display: none;
}

body.dp-pdp .entry-summary p.dp-pdp__badge.dp-pdp__badge--most-loved {
	font-size: 12px;
}

/* PhotoSwipe buttons ship a background-image sprite that would sit underneath
 * the reusable DP Red Ghost Chevron injected into each zoom arrow. */
body.dp-pdp .pswp button.pswp__button.dp-red-ghost-chevron {
	background: transparent !important;
	background-image: none !important;
}

/* PhotoSwipe dispatches navigation from the clicked button's class name. */
body.dp-pdp .pswp button.dp-red-ghost-chevron > span {
	pointer-events: none;
}

body.dp-pdp .pswp button.pswp__button--arrow--left::before,
body.dp-pdp .pswp button.pswp__button--arrow--right::before {
	display: none !important;
	content: none !important;
}

/* Keep the native WooCommerce PhotoSwipe viewer and its close control usable on
 * mobile. The theme can constrain the absolute-positioned viewer to the gallery;
 * pin it to the viewport and make the close target visible above the image. */
@media (max-width: 991px) {
	body.dp-pdp .pswp .pswp__img {
		object-fit: cover;
		object-position: center;
	}

	body.dp-pdp .pswp.pswp--open {
		position: fixed !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		height: 100dvh !important;
		z-index: 1000002 !important;
	}

	body.dp-pdp .pswp.pswp--open .pswp__ui,
	body.dp-pdp .pswp.pswp--open .pswp__top-bar,
	body.dp-pdp .pswp.pswp--open .pswp__ui--hidden .pswp__top-bar {
		visibility: visible !important;
		opacity: 1 !important;
	}

	body.dp-pdp .pswp.pswp--open .pswp__top-bar {
		position: absolute !important;
		inset: env(safe-area-inset-top, 0px) 0 auto !important;
		z-index: 1600 !important;
		background: transparent !important;
		pointer-events: none;
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--close {
		position: absolute !important;
		top: max(12px, env(safe-area-inset-top, 0px)) !important;
		right: max(12px, env(safe-area-inset-right, 0px)) !important;
		z-index: 1601 !important;
		display: grid !important;
		place-items: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		border: 1px solid rgba(255, 255, 255, 0.75) !important;
		border-radius: 50% !important;
		background: rgba(0, 0, 0, 0.64) !important;
		background-image: none !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--close::before,
	body.dp-pdp .pswp.pswp--open button.pswp__button--close::after {
		position: absolute;
		left: 12px;
		top: 20px;
		width: 18px;
		height: 2px;
		border-radius: 2px;
		background: #fff;
		content: "";
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--close::before {
		transform: rotate(45deg);
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--close::after {
		transform: rotate(-45deg);
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button.dp-red-ghost-chevron {
		background: transparent !important;
		background-image: none !important;
		z-index: 1602 !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--arrow--left::before,
	body.dp-pdp .pswp.pswp--open button.pswp__button--arrow--right::before {
		display: none !important;
		content: none !important;
	}
}

/* On mobile, navigate the main product image with pagination dots and arrows.
 * Native FlexSlider navigation is disabled; all visible controls are custom. */
@media (max-width: 991px) {
	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image {
		box-sizing: border-box;
		aspect-ratio: 4 / 5;
		overflow: hidden;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image>a {
		display: block;
		width: 100%;
		height: 100%;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image>a>img:not(.zoomImg) {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery {
		position: relative;
	}

	body.dp-pdp .nv-single-product-top>.nv-single-image-wrapper .woocommerce-product-gallery .flex-viewport {
		aspect-ratio: 4 / 5;
		height: auto !important;
	}

	body.dp-pdp .nv-single-product-top .flex-control-nav {
		display: none !important;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-pagination {
		position: absolute !important;
		z-index: 8;
		bottom: 21px !important;
		left: 50% !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: 0;
		width: max-content !important;
		max-width: calc(100% - 100px);
		margin: 0 !important;
		padding: 0 !important;
		transform: translateX(-50%);
		pointer-events: auto;
	}

	body.dp-pdp .nv-single-product-top button.dp-pdp-gallery-dot {
		flex: 0 0 auto;
		display: grid;
		place-items: center;
		width: 18px !important;
		min-width: 18px !important;
		height: 28px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		cursor: pointer;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-dot > span {
		display: block;
		width: 7px !important;
		height: 7px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: #d1d1d1 !important;
		box-shadow: none !important;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-dot[aria-pressed="true"] > span {
		background: #666 !important;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-dot:focus-visible {
		outline: 1px solid #780018;
		outline-offset: 1px;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-controls {
		position: absolute;
		z-index: 9;
		inset: 0;
		pointer-events: none;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-arrow {
		bottom: 13px !important;
		top: auto !important;
		transform: none !important;
		margin: 0;
		pointer-events: auto;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-arrow--previous {
		left: 15px !important;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-arrow--next {
		right: 15px !important;
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button.dp-red-ghost-chevron {
		top: 50% !important;
		transform: translateY(-50%) !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--arrow--left.dp-red-ghost-chevron {
		left: 4px !important;
	}

	body.dp-pdp .pswp.pswp--open button.pswp__button--arrow--right.dp-red-ghost-chevron {
		right: 4px !important;
	}

	body.dp-pdp .nv-single-product-top .dp-pdp-gallery-arrow[hidden] {
		display: none !important;
	}

}

/* ---------- PDP attribute media tiles and native Size select ----------
 * WooCommerce still owns the selects and variation state. Sparks mirrors the two
 * image attributes as tiles; Size remains the native select for reliable validation,
 * stock filtering and keyboard/mobile interaction. */
body.dp-pdp .entry-summary form.cart .sp-vswatches-wrapper.variation-image {
	gap: 10px;
}

body.dp-pdp .entry-summary form.cart .sp-vswatches-wrapper.variation-image .sp-vswatch-item.image {
	box-sizing: border-box;
	width: 72px;
	height: 64px;
	padding: 3px;
	border: 1px solid var(--dp-color-line);
	border-radius: 0;
	background: var(--dp-color-white);
}

body.dp-pdp .entry-summary form.cart .sp-vswatches-wrapper.variation-image .sp-vswatch-item.image .sp-vswatch-image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

/* The reference uses a clean ink frame rather than Sparks' dark overlay/checkmark. */
body.dp-pdp .entry-summary form.cart .sp-vswatches-wrapper.variation-image .sp-vswatch-item.image .sp-vswatch-overlay {
	display: none;
}

body.dp-pdp .entry-summary form.cart .sp-vswatches-wrapper.variation-image .sp-vswatch-item.image.sp-vswatch-active {
	padding: 2px;
	border: 1px solid var(--dp-color-ink);
	color: inherit;
}

body.dp-pdp .entry-summary form.cart select.dp-pdp__size-select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0.85rem 3rem 0.85rem 1rem;
	border: 1px solid var(--dp-color-line);
	border-radius: 0;
	background-color: var(--dp-color-white);
	background-image:
		linear-gradient(45deg, transparent 50%, var(--dp-color-ink) 50%),
		linear-gradient(135deg, var(--dp-color-ink) 50%, transparent 50%);
	background-position:
		calc(100% - 20px) 50%,
		calc(100% - 15px) 50%;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.9rem;
	line-height: 1.4;
	appearance: none;
}

body.dp-pdp .entry-summary form.cart select.dp-pdp__size-select:hover {
	border-color: var(--dp-color-ink);
}

body.dp-pdp .entry-summary form.cart select.dp-pdp__size-select:focus-visible {
	border-color: var(--dp-color-ink);
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

@media (max-width: 480px) {
	body.dp-pdp .entry-summary form.cart .sp-vswatches-wrapper.variation-image .sp-vswatch-item.image {
		width: 64px;
		height: 58px;
	}
}

/* ---------- PDP editable gallery badge ----------
 * The custom per-product badge replaces only the main PDP sale flash. It is a direct
 * child of the product shell so it can overlay the first gallery tile without
 * becoming a gallery grid item or changing sticky-summary geometry. */
body.dp-pdp .nv-single-product-top {
	position: relative;
}

body.dp-pdp .nv-single-product-top>.dp-pdp__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 12;
	box-sizing: border-box;
	max-width: calc(100% - 24px);
	margin: 0;
	padding: 6px 10px;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.25;
	text-transform: none;
	overflow-wrap: anywhere;
	pointer-events: none;
}

/* The mobile gallery is full-bleed relative to the content column. Match its viewport
 * edge while retaining the same 12px visual inset as desktop. */
@media (max-width: 768px) {
	body.dp-pdp .nv-single-product-top>.dp-pdp__badge {
		left: calc(50% - 50vw + 12px);
	}
}

/* Hide review. */
div#reviews {
	display: none !important;
}

/* ---------- PDP reusable complimentary services (Custom Layout #688) ----------
 * Core Group/Columns/Accordion/Image remain fully editable in the block editor.
 * This PDP-only layer supplies the approved split geometry and visual treatment. */
body.dp-pdp .dp-product-services {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 40px 0 0;
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-product-services,
body.dp-pdp .dp-product-services * {
	box-sizing: border-box;
}

body.dp-pdp .dp-product-services__layout.wp-block-columns {
	align-items: stretch;
	width: 100%;
	max-width: none;
	margin: 0;
	gap: 0;
}

body.dp-pdp .dp-product-services__content.wp-block-column {
	display: flex;
	align-items: center;
	padding: clamp(2rem, 5vw, 5rem);
}

body.dp-pdp .dp-product-services__accordion {
	width: 100%;
	margin: 0;
	border-top: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-product-services__accordion>.wp-block-accordion-item {
	margin: 0;
	border-bottom: 1px solid var(--dp-color-line);
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading {
	margin: 0;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	min-height: 3.75rem;
	padding: 1rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--dp-color-ink);
	text-align: left;
	cursor: pointer;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle-title {
	font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle-icon {
	position: relative;
	flex: 0 0 0.8rem;
	width: 0.8rem;
	height: 0.8rem;
	overflow: hidden;
	font-size: 0;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle-icon::before,
body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle-icon::after {
	position: absolute;
	background: currentColor;
	content: "";
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle-icon::before {
	top: calc(50% - 0.5px);
	left: 0;
	width: 100%;
	height: 1px;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle-icon::after {
	top: 0;
	left: calc(50% - 0.5px);
	width: 1px;
	height: 100%;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon::after {
	display: none;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-panel {
	padding: 0 0 1.4rem;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: 0.9rem;
	line-height: 1.65;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-panel p {
	margin: 0 0 0.8rem;
}

body.dp-pdp .dp-product-services__accordion .wp-block-accordion-panel p:last-child {
	margin-bottom: 0;
}

body.dp-pdp .dp-product-services__media.wp-block-column,
body.dp-pdp .dp-product-services__image {
	margin: 0;
}

body.dp-pdp .dp-product-services__media.wp-block-column {
	align-self: stretch;
}

body.dp-pdp .dp-product-services__image,
body.dp-pdp .dp-product-services__image img {
	width: 100%;
	height: 100%;
}

body.dp-pdp .dp-product-services__image img {
	display: block;
	min-height: clamp(22rem, 35vw, 34rem);
	object-fit: cover;
	object-position: center;
}

@media (max-width: 781px) {
	body.dp-pdp .dp-product-services {
		margin-top: 10px;
	}

	body.dp-pdp .dp-product-services__content.wp-block-column {
		padding: 2.5rem 1rem;
	}

	body.dp-pdp .dp-product-services__image,
	body.dp-pdp .dp-product-services__image img {
		height: auto;
	}

	body.dp-pdp .dp-product-services__image img {
		min-height: 18rem;
		aspect-ratio: 4 / 3;
	}
}

/* ---------- Newsletter (Custom Layout #150) ----------
 * Structure, background and spacing live in editable Otter block attributes.
 * This bridge creates the compact horizontal form from the reference across all pages. */
.dp-pdp-newsletter,
body .dp-pdp-newsletter {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	background: #f9f9f9;
	color: var(--dp-color-ink);
}

.dp-pdp-newsletter,
.dp-pdp-newsletter * {
	box-sizing: border-box;
}

.dp-pdp-newsletter > .innerblocks-wrap,
.dp-pdp-newsletter__inner {
	width: 100%;
	max-width: 720px;
	margin-inline: auto;
}

.dp-pdp-newsletter__heading,
.dp-pdp-newsletter h2 {
	margin: 0 0 1.25rem;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

.dp-pdp-newsletter__form {
	width: min(100%, 30rem);
	margin: 0 auto;
}

.dp-pdp-newsletter__form .otter-form__container {
	display: flex;
	width: 100%;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
}

.dp-pdp-newsletter__form .otter-form__container > .dp-pdp-newsletter__field {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 2.75rem;
	margin: 0;
}

.dp-pdp-newsletter__form .otter-form-input-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.dp-pdp-newsletter__form .otter-form__container .dp-pdp-newsletter__field .otter-form-input {
	width: 100%;
	height: 2.75rem;
	min-width: 0;
	padding: 0 0.8rem;
	border: 1px solid rgba(8, 8, 8, 0.35);
	border-right: 0;
	border-radius: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.62rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.dp-pdp-newsletter__form .otter-form__container .dp-pdp-newsletter__field .otter-form-input::placeholder {
	color: rgba(8, 8, 8, 0.55);
	opacity: 1;
}

.dp-pdp-newsletter__form .otter-form__container .dp-pdp-newsletter__field .otter-form-input:focus-visible {
	position: relative;
	z-index: 1;
	border-color: var(--dp-color-ink);
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

.dp-pdp-newsletter__form .otter-form__container > .wp-block-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.dp-pdp-newsletter__form .otter-form__container .wp-block-button .wp-block-button__link {
	height: 2.75rem;
	padding: 0 1.4rem;
	border: 1px solid var(--dp-color-ink);
	border-radius: 0;
	background: var(--dp-color-ink);
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
}

.dp-pdp-newsletter__form .otter-form__container .wp-block-button .wp-block-button__link:hover,
.dp-pdp-newsletter__form .otter-form__container .wp-block-button .wp-block-button__link:focus-visible {
	border-color: var(--dp-color-red);
	background: var(--dp-color-red);
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

.dp-pdp-newsletter__form .otter-form__container > .wp-block-button.has-submit-msg:has(> .o-form-server-response:empty) {
	height: 2.75rem;
}

.dp-pdp-newsletter__form .o-form-server-response:empty {
	display: none;
	padding: 0;
}

.dp-pdp-newsletter__legal {
	max-width: 40rem;
	margin: 0.85rem auto 0;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.dp-pdp-newsletter__legal a {
	color: #3858e9;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.dp-pdp-newsletter__legal a:focus-visible {
	box-shadow: var(--dp-focus-ring);
	outline: none;
}

@media (max-width: 480px) {
	.dp-pdp-newsletter__heading,
	.dp-pdp-newsletter h2 {
		font-size: 1rem;
	}

	.dp-pdp-newsletter__form {
		width: 100%;
	}

	.dp-pdp-newsletter__form .otter-form__container .wp-block-button .wp-block-button__link {
		padding-inline: 1rem;
	}
}

.wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(0deg);
}

/* ---------- PDP edge editorial patterns ----------
 * Patterns are native editor blocks. This PDP-only bridge gives their media a
 * true physical edge and leaves text/image ordering to the column order chosen
 * in List View. No homepage, header, footer or runtime layout is affected. */

body.dp-pdp .dp-product-story--edge>.dp-product-story__intro {
	margin-bottom: clamp(3rem, 6vw, 5rem);
	padding-inline: clamp(1.25rem, 5vw, 5rem);
}

body.dp-pdp .dp-product-story__edge-section {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--dp-color-white);
	color: var(--dp-color-ink);
}

body.dp-pdp .dp-product-story__edge-row.wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch !important;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	gap: 0;
}

body.dp-pdp .dp-product-story__edge-row--media-collage-right.wp-block-columns {
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
}

body.dp-pdp .dp-product-story__edge-row+.dp-product-story__edge-row {
	margin-top: 0 !important;
}

body.dp-pdp .dp-product-story__edge-row>.wp-block-column {
	min-width: 0;
	margin: 0;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__media {
	display: block;
	align-self: stretch;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__copy {
	display: flex;
	align-items: center;
	margin: 0;
	padding: clamp(2.75rem, 7vw, 8rem) clamp(1.5rem, 7vw, 8rem);
	background: var(--dp-color-white);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__copy-inner {
	width: min(100%, 32rem);
	max-width: none;
	margin: 0 auto;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__subheading--secondary {
	margin-top: clamp(2rem, 5vw, 4rem);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__media--collage {
	display: flex;
	flex-direction: column;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__image--hero {
	aspect-ratio: 16 / 10;
}

body.dp-pdp .dp-product-story__edge-gallery.wp-block-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	margin: 0;
	gap: 0;
}

body.dp-pdp .dp-product-story__edge-gallery .wp-block-image {
	min-width: 0;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
}

body.dp-pdp .dp-product-story__edge-gallery .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 781px) {
	body.dp-pdp .dp-product-story--edge {
		margin-top: 0;
		padding: 0;
	}

	body.dp-pdp .dp-product-story--edge>.dp-product-story__intro {
		padding-inline: 1rem;
	}

	body.dp-pdp .dp-product-story__edge-row.wp-block-columns,
	body.dp-pdp .dp-product-story__edge-row--media-collage-right.wp-block-columns {
		display: block;
	}

	body.dp-pdp .dp-product-story__edge-row .dp-product-story__copy {
		padding: 3rem 1rem;
	}

	body.dp-pdp .dp-product-story__edge-row .dp-product-story__image {
		aspect-ratio: 4 / 3;
	}

	body.dp-pdp .dp-product-story__edge-row .dp-product-story__image--hero {
		aspect-ratio: 4 / 3;
	}

	body.dp-pdp .dp-product-story__edge-gallery .wp-block-image {
		aspect-ratio: 1 / 1;
	}
}

/* Edge editorial validation refinement: Core Columns contributes a 7.5px layout
 * inset by default. Remove it only from the semantic editorial patterns so media
 * meets the requested physical edge. */
body.dp-pdp .dp-product-story__edge-row.wp-block-columns {
	padding-inline: 0;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-media {
	display: block;
	align-self: stretch;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-copy {
	display: flex;
	align-items: center;
	margin: 0;
	padding: clamp(2.75rem, 7vw, 8rem) clamp(1.5rem, 7vw, 8rem);
	background: var(--dp-color-white);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-copy-inner {
	width: min(100%, 32rem);
	max-width: none;
	margin: 0 auto;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-media--collage {
	display: flex;
	flex-direction: column;
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-image--hero {
	aspect-ratio: 16 / 10;
}

@media (max-width: 991px) {

	body.dp-pdp .dp-product-story--edge,
	body.dp-pdp .dp-product-story__edge-section {
		width: calc(100% + 30px);
		max-width: none;
		margin-inline: -15px;
	}
}

@media (max-width: 781px) {
	body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-copy {
		padding: 3rem 1rem;
	}

	body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-image,
	body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-image--hero {
		aspect-ratio: 4 / 3;
	}
}

/* Three-image pattern: media owns the full right panel while Gallery keeps all
 * three images separately editable/reorderable in the product editor. */
body.dp-pdp .dp-product-story__edge-row--media-trio-right.wp-block-columns {
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
}

body.dp-pdp .dp-product-story__edge-row .dp-product-story__edge-media--trio {
	display: flex;
}

body.dp-pdp .dp-product-story__edge-media--trio .dp-product-story__edge-gallery {
	align-self: stretch;
	min-height: clamp(20rem, 35vw, 40rem);
}

body.dp-pdp .dp-product-story__edge-media--trio .dp-product-story__edge-gallery .wp-block-image {
	height: 100%;
	aspect-ratio: auto;
}

@media (max-width: 781px) {
	body.dp-pdp .dp-product-story__edge-row--media-trio-right.wp-block-columns {
		display: block;
	}

	body.dp-pdp .dp-product-story__edge-media--trio .dp-product-story__edge-gallery {
		min-height: 0;
	}

	body.dp-pdp .dp-product-story__edge-media--trio .dp-product-story__edge-gallery .wp-block-image {
		height: auto;
		aspect-ratio: 1 / 1;
	}
}


/* ================================================================== *
 * PDP STICKY ADD-TO-CART — HEADER DOCKING
 *
 * Neve Pro still owns `.sticky-add-to-cart--active` and its form lifecycle.
 * This PDP-only layer moves that native active bar to the top: immediately
 * below the rendered header while scrolling up, then flush to the viewport
 * top after the shared header controller hides the header while scrolling down.
 * No header selector or header runtime is changed here.
 * ================================================================== */
body.dp-pdp {
	--dp-pdp-sticky-cart-header-offset: 0px;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active {
	top: calc(var(--dp-admin-bar-height, 0px) + var(--dp-pdp-sticky-cart-header-offset, 0px));
	bottom: auto;
	border-top: 0;
	border-bottom: 1px solid var(--dp-color-line);
	box-shadow: 0 4px 20px rgba(8, 8, 8, 0.08);
}

/* Keep the native form controls, but make the active surface match the compact
 * reference bar rather than the taller in-flow purchase area. */
body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active>.container {
	min-height: 46px;
	align-items: center;
	gap: 12px;
	padding-top: 5px;
	padding-bottom: 5px;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active {
	--primarybtnpadding: 0.5rem 0.9rem;
	--secondarybtnpadding: 0.5rem 0.9rem;
	--formfieldpadding: 0.5rem 0.65rem;
}

@media (min-width: 960px) {
	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart__product {
		align-items: center;
		gap: 10px;
		min-width: 0;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart-img {
		width: 32px;
		height: 32px;
		object-fit: cover;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .product-title-small {
		max-width: min(28vw, 300px);
		overflow: hidden;
		font-size: 0.72rem;
		line-height: 1.2;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart__product .price {
		margin: 0;
		font-size: 0.72rem;
		line-height: 1.2;
	}
}

@media (max-width: 959px) {
	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active>.container {
		min-height: 44px;
		gap: 8px;
		padding-top: 4px;
		padding-bottom: 4px;
	}
}


/* Neve writes `top: 0` inline when it activates the native bottom cart. The
 * scoped important flag is required solely to keep this PDP dock below the
 * visible header; no header rule is overridden. */
body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active {
	top: calc(var(--dp-admin-bar-height, 0px) + var(--dp-pdp-sticky-cart-header-offset, 0px)) !important;
	bottom: auto !important;
}

/* Compact the native bar to the one-row reference composition. The regular
 * product purchase controls stay untouched because every selector requires
 * Neve's active state. */
body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active>.container {
	flex-wrap: nowrap;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart__product {
	display: flex;
	flex: 1 1 auto;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sp-wl-wrap {
	display: none;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button {
	flex: 0 0 auto;
	min-height: 32px;
	padding: 0.5rem 0.9rem;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active a.dp-pdp__contact-button {
	flex: 0 0 auto;
	width: auto;
	min-height: 32px;
	padding: 0.5rem 0.9rem;
}

@media (max-width: 959px) {
	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart__product {
		display: none;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button {
		flex: 1 1 auto;
		width: 100%;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active a.dp-pdp__contact-button {
		flex: 1 1 auto;
		width: 100%;
	}
}


/* Neve's desktop product cluster retains an intrinsic multi-line height. Keep
 * only the active desktop bar to the compact 48px reference height; its image,
 * title and price remain in the same single horizontal row. */
@media (min-width: 960px) {
	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active {
		height: 48px;
		overflow: hidden;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active>.container {
		height: 47px;
		min-height: 47px;
		max-height: 47px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart__product {
		height: 32px;
		max-height: 32px;
	}
}


/* The reference uses two equal-height rows. The PDP bridge measures the live
 * header on every resize/orientation change; apply that same value to Neve's
 * active cart rather than maintaining separate fixed desktop/mobile heights. */
body.dp-pdp {
	--dp-pdp-sticky-cart-height: 48px;
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active {
	height: var(--dp-pdp-sticky-cart-height);
}

body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active>.container {
	height: calc(var(--dp-pdp-sticky-cart-height) - 1px);
	min-height: calc(var(--dp-pdp-sticky-cart-height) - 1px);
	max-height: calc(var(--dp-pdp-sticky-cart-height) - 1px);
}


/* PDP sticky-cart composition: match the reference's edge spacing and compact
 * purchase hierarchy without changing the shared header. The native container
 * is made full width only while Neve's sticky form is active. */
@media (min-width: 960px) {
	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active {
		--dp-pdp-sticky-cart-row-height: max(var(--dp-pdp-sticky-cart-height),
				64px);
		height: var(--dp-pdp-sticky-cart-row-height);
		padding-right: 0;
		padding-left: 0;
		border-bottom: 0;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active>.container {
		width: 100%;
		max-width: none;
		height: var(--dp-pdp-sticky-cart-row-height);
		min-height: var(--dp-pdp-sticky-cart-row-height);
		max-height: var(--dp-pdp-sticky-cart-row-height);
		margin: 0;
		padding: 0 30px;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart__product {
		height: 64px;
		max-height: 64px;
		margin-left: 0;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .sticky-add-to-cart-img {
		width: 64px;
		height: 64px;
		flex: 0 0 64px;
		object-fit: cover;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .product-title-small,
	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active .product-title-small strong {
		font-family: var(--dp-font-body);
		font-size: 0.78rem;
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.25;
	}

	body.dp-pdp .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button {
		flex: 0 0 164px;
		width: 164px;
		min-height: 30px;
		height: 30px;
		padding: 0 0.75rem;
	}
}


/* The purchase-area rules intentionally give the normal CTA a flexible width.
 * Raise specificity only for the native active sticky form so the reference
 * width and light product label cannot be overridden by the in-flow form. */
@media (min-width: 960px) {
	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button {
		flex: 0 0 164px;
		width: 164px;
		min-width: 235px;
		max-width: 250px;
		height: 40px;
		margin-right: 0;
		padding: 0 0.75rem;
	}

	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active a.dp-pdp__contact-button {
		align-self: center;
		flex: 0 0 164px;
		width: 164px;
		min-width: 235px;
		max-width: 250px;
		min-height: 40px;
		height: 40px;
		margin: auto 0;
		padding: 0 0.75rem;
	}

	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active .product-title-small,
	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active .product-title-small strong {
		font-family: var(--dp-font-body);
		font-size: 0.78rem;
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.25;
	}
}


/* Neve applies an 8px right margin to its native sticky button. Remove it only
 * in the PDP active bar so the CTA ends exactly at the container's 30px inset. */
@media (min-width: 960px) {
	body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button {
		margin-right: 0 !important;
	}
}


/* Keep the native sticky CTA as the ink action in every variation state. The
 * ordinary purchase form retains its muted disabled treatment; this applies
 * only after Neve activates the fixed PDP bar. */
body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button,
body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button.disabled,
body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button.wc-variation-selection-needed,
body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button.wc-variation-is-unavailable {
	background: var(--dp-color-ink) !important;
	color: var(--dp-color-white) !important;
	opacity: 1;
}

body.dp-pdp .entry-summary form.cart .sticky-add-to-cart.sticky-add-to-cart--active button.single_add_to_cart_button:hover {
	background: var(--dp-color-ink) !important;
	color: var(--dp-color-white) !important;
}


/* Discover the Icons homepage wishlist.
 * Keep this treatment inside the named homepage section: Spark/PDP/Symbols
 * controls keep their own contracts and cannot inherit this card-corner UI. */
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap {
	inline-size: 2rem;
	block-size: 2rem;
}

body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl {
	position: relative;
	inline-size: 2rem;
	block-size: 2rem;
	min-inline-size: 2rem;
	min-block-size: 2rem;
	padding: 0 !important;
	overflow: visible;
}

body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .tooltip,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .tooltip {
	position: absolute;
	top: calc(100% + 0.3rem);
	right: 0;
	z-index: 1;
	inline-size: max-content;
	margin: 0;
	padding: 0.25rem 0.45rem;
	border-radius: 0.2rem;
	background: rgba(255, 255, 255, 0.96);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.68rem;
	font-weight: 500;
	line-height: 1.2;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-0.2rem);
	transition: opacity 160ms ease, transform 160ms ease;
	visibility: hidden;
	white-space: nowrap;
}

body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl:hover .tooltip,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl:focus-visible .tooltip,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl:hover .tooltip,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl:focus-visible .tooltip {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl.item-added,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl.item-added {
	background: var(--dp-color-red) !important;
	color: var(--dp-color-white) !important;
}

body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card__wishlist .sp-wl-wrap .add-to-wl.item-added svg,
body.page-id-469 .dp-discover-icons .dp-discover-products .dp-discover-product-card>.sp-wl-wrap .add-to-wl.item-added svg {
	fill: currentColor;
}


/* Desktop primary-nav interaction parity.
 * The mega-menu controller already marks one eligible top-level owner and its
 * semantic root on every route. Reuse that contract after the solid/scrolled
 * link-colour rules so the current item stays ink while its eligible siblings
 * fade consistently at the top, after scrolling, and on non-home pages.
 * No header geometry, scroll state, panel timing, or menu runtime is changed. */
@media (min-width: 1025px) {
	body .header-main .primary-menu-ul.has-dp-mega-interaction>li.is-dp-mega-eligible>.wrap>a {
		color: #737373 !important;
	}

	body .header-main .primary-menu-ul.has-dp-mega-interaction>li.is-dp-mega-eligible.is-dp-mega-interaction-owner>.wrap>a {
		color: #000000 !important;
	}
}


/* ================================================================== *
 * CATEGORY LANDINGS — TASK 9 WOMEN'S PILOT VISUAL UAT
 *
 * Category archive only. This block does not target the homepage, header,
 * mega-menu, PDP or any generated block ID. Content/order remains editable
 * in the Custom Layout/List View; CSS only supplies the responsive bridge.
 * ================================================================== */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--dp-container, 1170px);
	margin: 0 auto;
	color: var(--dp-color-ink);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing * {
	box-sizing: border-box;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__intro {
	max-width: var(--dp-container, 1170px);
	margin: 0 auto;
	padding: clamp(1.5rem, 3vw, 3rem) 0 clamp(1.75rem, 4vw, 4rem);
	text-align: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__breadcrumb {
	margin: 0 0 0.8rem;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__breadcrumb a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__title {
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-display);
	font-size: clamp(2rem, 4vw, 3.8rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.05;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	min-height: clamp(27rem, 42vw, 37.5rem);
	margin: 0 calc(50% - 50vw) !important;
	background: var(--dp-color-paper);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-media {
	width: 100%;
	min-height: inherit;
	margin: 0;
	overflow: hidden;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-copy {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 38rem;
	margin: 0 auto;
	padding: clamp(2rem, 6vw, 6rem);
	text-align: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__eyebrow {
	margin: 0 0 0.8rem;
	color: var(--dp-color-red);
	font-family: var(--dp-font-body);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-title,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-title {
	margin: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(1.7rem, 3vw, 3rem);
	font-weight: 500;
	letter-spacing: 0.035em;
	line-height: 1.1;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-text,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-text {
	max-width: 32rem;
	margin: 1.1rem auto 0;
	color: var(--dp-color-ink-soft);
	font-family: var(--dp-font-body);
	font-size: clamp(0.92rem, 1.1vw, 1.05rem);
	line-height: 1.7;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__actions {
	justify-content: center;
	margin-top: 1.5rem;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__button .wp-block-button__link {
	border-radius: 0;
	background: var(--dp-color-ink);
	color: var(--dp-color-white);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding: 0.85rem 1.35rem;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__button .wp-block-button__link:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__button .wp-block-button__link:focus-visible {
	background: var(--dp-color-red);
	color: var(--dp-color-white);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__featured,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__new-arrivals,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-nav,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-split {
	width: 100%;
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 5rem) 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__section-title {
	margin: 0 0 clamp(1.25rem, 2.5vw, 2.25rem);
	font-family: var(--dp-font-display);
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product {
	min-width: 0;
	margin: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-components-product-image {
	aspect-ratio: 4 / 5;
	margin: 0;
	overflow: hidden;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-components-product-image>a,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-components-product-image img {
	display: block;
	width: 100%;
	height: 100%;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-components-product-image img {
	object-fit: cover;
	transition: transform 260ms ease;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product:hover img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product:focus-within img {
	transform: scale(1.035);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wp-block-post-title {
	margin: 0.65rem 0 0;
	font-family: var(--dp-font-body);
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.3;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wp-block-post-title a {
	color: var(--dp-color-ink);
	text-decoration: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wp-block-woocommerce-product-price {
	margin-top: 0.35rem;
	color: var(--dp-color-ink-soft);
	font-size: 0.82rem;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wp-block-woocommerce-product-button {
	display: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 3px;
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-column {
	min-width: 0;
	margin: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-card {
	display: flex;
	height: 100%;
	margin: 0;
	flex-direction: column;
	background: var(--dp-color-paper);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-card-image {
	margin: 0;
	overflow: hidden;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-card-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-card-title {
	margin: 0;
	padding: 0.8rem 0.85rem 0;
	font-family: var(--dp-font-body);
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.25;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-card-button {
	margin-top: auto;
	padding: 0.65rem 0.85rem 0.85rem;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-card-button .wp-block-button__link {
	padding: 0;
	background: transparent;
	color: var(--dp-color-ink);
	font-size: 0.68rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-media,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-copy {
	min-width: 0;
	margin: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-copy-inner {
	max-width: 34rem;
	margin: 0 auto;
	padding: 1rem;
}

@media (max-width: 1023px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing {
		max-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__intro {
		padding: 1.5rem 1rem 2rem;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-media {
		min-height: 0;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-media img {
		aspect-ratio: 4 / 5;
		height: auto;
		min-height: 0;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero-copy {
		min-height: 19rem;
		padding: 2.5rem 1.25rem;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__featured,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__new-arrivals,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-nav,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-split {
		padding: 2.5rem 0;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product-template {
		display: grid !important;
		grid-auto-flow: column;
		grid-template-columns: none !important;
		grid-auto-columns: 78%;
		gap: 3px;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0 0 0.35rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product-template::-webkit-scrollbar {
		display: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__rail .wc-block-product {
		scroll-snap-align: start;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-columns {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__editorial-copy-inner {
		padding: 0.5rem 1rem;
	}
}


/* Mobile scrollbar bridge: the category hero is full-bleed on desktop, but
 * the mobile client width is narrower than 100vw when the scrollbar exists. */
@media (max-width: 767px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-landing__hero {
		width: 100%;
		max-width: 100%;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}


/* Task 9 mobile overflow bridge: the frozen Neve footer's full-bleed
 * background pseudo-element can extend 10px past the viewport when the
 * category landing is present. Clip only that invisible overflow on this
 * landing page; footer markup, content, and visible geometry stay intact. */
@media (max-width: 767px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):has(.dp-category-landing) .site-footer .footer-top-inner {
		overflow: clip;
	}
}


/* ================================================================== *
 * DEFAULT PRODUCT CATEGORY ARCHIVE — DAVID YURMAN-INSPIRED MERCHANDISING
 *
 * Scoped to the Men/Women root archives. Other terms keep native WooCommerce
 * merchandising authoritative for breadcrumbs, children, products, ordering,
 * pagination and empty states. Gutenberg Hook layouts supply only the editable
 * campaign framing and editorial/service modules.
 * ================================================================== */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) {
	--dp-cat-page-gutter: clamp(8px, 1.2vw, 20px);
	--dp-cat-section-space: clamp(48px, 6vw, 92px);
	--dp-cat-card-gap: clamp(4px, 0.55vw, 10px);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .neve-main>.shop-container {
	width: 100%;
	max-width: none !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .shop-container>.row {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .shop-container .nv-shop.col {
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
	flex-basis: 100%;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-woo-filters,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-products-header .term-description,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-notices-wrapper,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-info,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-pagination,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .load-more-products {
	width: min(100%, 1600px);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--dp-cat-page-gutter);
	padding-left: var(--dp-cat-page-gutter);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap {
	min-height: 44px;
	padding-top: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--dp-color-line);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	padding-left: 45px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap .woocommerce-breadcrumb {
	margin: 0;
	color: var(--dp-color-muted);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap .woocommerce-result-count {
	margin: 0;
	color: var(--dp-color-ink-soft);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-woo-filters {
	display: flex;
	justify-content: flex-end;
	padding-top: 10px;
	padding-bottom: 10px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-woo-filters .woocommerce-ordering {
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-woo-filters .orderby {
	min-width: 190px;
	border: 0;
	border-bottom: 1px solid var(--dp-color-ink);
	border-radius: 0;
	background-color: transparent;
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero {
	min-height: clamp(500px, 58vw, 760px) !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign .wp-block-cover__image-background {
	object-fit: cover;
	object-position: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__inner-container {
	width: min(100% - 40px, 1040px);
	text-align: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__eyebrow {
	margin: 0 0 12px;
	font-family: var(--dp-font-body);
	font-size: clamp(0.68rem, 0.8vw, 0.8rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title {
	margin: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(2.5rem, 6vw, 6rem);
	font-weight: 500;
	letter-spacing: 0.035em;
	line-height: 0.98;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__intro {
	max-width: 620px;
	margin: 20px auto 0;
	font-family: var(--dp-font-body);
	font-size: clamp(0.9rem, 1.2vw, 1.08rem);
	line-height: 1.6;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__category-heading,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__services {
	width: min(100%, 1600px);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--dp-cat-page-gutter);
	padding-left: var(--dp-cat-page-gutter);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__category-heading {
	margin-top: var(--dp-cat-section-space);
	margin-bottom: 28px;
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-shop:not(:has(ul.products.nv-cat)) .dp-product-cat-default__category-heading {
	display: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-products-header .term-description {
	padding-top: 30px;
	padding-bottom: 10px;
	font-family: var(--dp-font-body);
	font-size: 0.95rem;
	line-height: 1.7;
	text-align: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
	display: grid !important;
	width: 100%;
	max-width: none;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: var(--dp-cat-card-gap) !important;
	margin: 0 !important;
	padding: 0 var(--dp-cat-page-gutter) !important;
	list-style: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat>li.product-category {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	background: var(--dp-color-white);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat>li.product-category>a {
	display: block;
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--dp-color-paper);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image {
	aspect-ratio: 4 / 5;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat>li.product-category img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform 300ms ease;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat>li.product-category>a {
	aspect-ratio: 4 / 5;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product:hover img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product:focus-within img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat>li.product-category:hover img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat>li.product-category:focus-within img {
	transform: scale(1.025);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-content {
	padding: 14px 14px 24px;
	text-align: left;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .woocommerce-loop-product__title {
	margin: 0;
	font-family: var(--dp-font-body);
	font-size: clamp(0.76rem, 0.85vw, 0.9rem);
	font-weight: 500;
	line-height: 1.4;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .price {
	display: block;
	margin-top: 7px;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.78rem;
	font-weight: 500;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat .woocommerce-loop-category__title {
	position: absolute;
	right: 16px;
	bottom: 18px;
	left: 16px;
	z-index: 2;
	margin: 0;
	padding: 10px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: clamp(0.72rem, 0.9vw, 0.9rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat .count {
	display: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading {
	padding-top: var(--dp-cat-section-space);
	padding-bottom: 28px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading__title,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-title,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__services-title {
	margin: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(1.25rem, 1vw, 1.85rem);
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-pagination,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .load-more-products {
	padding-top: 28px;
	padding-bottom: 28px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro {
	margin-top: var(--dp-cat-section-space);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign {
	min-height: clamp(460px, 56vw, 720px) !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign .wp-block-cover__inner-container {
	width: min(100% - 48px, 560px);
	margin-left: clamp(16px, 5vw, 80px);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__title {
	margin: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(2rem, 4vw, 4.5rem);
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__text {
	max-width: 500px;
	margin-top: 18px;
	font-size: clamp(0.88rem, 1.15vw, 1.05rem);
	line-height: 1.65;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore {
	padding-top: var(--dp-cat-section-space);
	padding-bottom: var(--dp-cat-section-space);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-title {
	margin-bottom: 28px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--dp-cat-card-gap);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery figure,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery .wp-block-image {
	width: 100% !important;
	margin: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__services {
	padding-bottom: var(--dp-cat-section-space);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__services-title {
	margin-bottom: 36px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__service-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: start;
	justify-items: center;
	gap: clamp(20px, 4vw, 70px);
	width: min(100%, 1100px);
	margin: 0 auto;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__service-grid > .dp-service-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	width: 100%;
	max-width: 9rem;
	text-align: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-service-item__icon {
	display: inline-flex;
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-service-item__icon img {
	display: block;
	width: 42px;
	height: 42px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-service-item__label {
	margin: 0;
	color: var(--dp-color-ink);
	font-family: var(--dp-font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.45;
	text-transform: none;
}

@media (max-width: 1199px) {

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 959px) {

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero {
		min-height: 500px !important;
	}
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) {
		--dp-cat-page-gutter: 6px;
		--dp-cat-section-space: 44px;
		--dp-cat-card-gap: 4px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap {
		display: block;
		padding-right: 14px;
		padding-left: 14px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap .woocommerce-result-count {
		margin-top: 6px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-woo-filters {
		padding-right: 14px;
		padding-left: 14px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero {
		min-height: 500px !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__inner-container {
		width: calc(100% - 32px);
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-content {
		padding: 10px 8px 18px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat .woocommerce-loop-category__title {
		right: 8px;
		bottom: 8px;
		left: 8px;
		padding: 8px 5px;
		font-size: 0.64rem;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign {
		min-height: 520px !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign .wp-block-cover__inner-container {
		width: calc(100% - 32px);
		margin: 0 16px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery {
		grid-template-columns: 1fr;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__service-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 12px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__service-grid > .dp-service-item:last-child {
		grid-column: 1 / -1;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .site-footer .footer-top-inner {
		overflow: clip;
	}
}


/* Native archive card containment: Sparks/Neve may retain a fixed loop-image
 * width from the classic three-column layout. The shared category grid owns
 * card width, so every image wrapper must resolve against its current cell. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .sp-product-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap>a {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image {
	height: auto !important;
	aspect-ratio: 4 / 5;
}


/* Tighten the native archive handoff so the breadcrumb and campaign hero
 * follow the header/reference rhythm without an empty filter band. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .neve-main,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .neve-main>.shop-container,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .shop-container .nv-shop.col {
	padding-top: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .neve-main>.shop-container {
	padding-bottom: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-woo-filters:empty {
	display: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero {
	margin-top: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .woocommerce-info {
	border-top-color: var(--dp-color-ink);
	background: var(--dp-color-paper);
	color: var(--dp-color-ink);
}


body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .shop-container .nv-shop.col {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-bc-count-wrap {
	margin-bottom: 0 !important;
}

/* S03 category landing preview — isolated staging only. */
/* S03 preview-only styling. Scoped exclusively to the Men/Women landing roots. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero {
	min-height: clamp(460px, 52vw, 700px) !important;
	background-color: var(--dp-color-ink);
	overflow: hidden;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__image-background {
	object-position: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(8, 8, 8, 0.18) 0%, rgba(8, 8, 8, 0.34) 50%, rgba(8, 8, 8, 0.62) 100%) !important;
	opacity: 1 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__eyebrow,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__intro {
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.62);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial {
	align-items: center;
	width: 100vw;
	max-width: none;
	margin: 0 0 0 calc(50% - 50vw);
	padding: clamp(44px, 6vw, 84px) clamp(22px, 7vw, 110px);
	gap: clamp(30px, 6vw, 90px);
	background: #4c0012;
	color: var(--dp-color-white);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-copy-column,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-media-column {
	min-width: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-title {
	max-width: 650px;
	margin: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(2rem, 4vw, 4.2rem);
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 1.06;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-text {
	max-width: 560px;
	margin: clamp(18px, 2vw, 28px) 0 0;
	font-size: clamp(0.9rem, 1.1vw, 1.08rem);
	line-height: 1.7;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image img {
	display: block;
	width: 100%;
	height: clamp(320px, 38vw, 520px);
	object-fit: cover;
	object-position: center 40%;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
	justify-content: center;
	justify-items: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category {
	width: 100% !important;
	max-width: 360px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category > a {
	background-color: var(--dp-color-paper);
	transition: background-color 220ms ease, outline-color 220ms ease;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category > a:has(img[src*="woocommerce-placeholder"]) {
	background: linear-gradient(145deg, #171717 0%, #3c0716 100%);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category > a:has(img[src*="woocommerce-placeholder"]) img {
	opacity: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat .woocommerce-loop-category__title {
	right: 0;
	bottom: 0;
	left: 0;
	padding: 34px 16px 16px;
	background: linear-gradient(180deg, rgba(8, 8, 8, 0) 0%, rgba(8, 8, 8, 0.78) 100%);
	color: var(--dp-color-white);
	font-size: clamp(0.72rem, 0.9vw, 0.9rem);
	letter-spacing: 0.14em;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category > a:focus-visible {
	outline: 2px solid var(--dp-color-red);
	outline-offset: 3px;
}

@media (max-width: 959px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
	}
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 40px 20px 32px;
		flex-direction: column;
		gap: 24px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-copy-column,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-media-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-title {
		font-size: clamp(1.75rem, 8vw, 2.4rem);
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image {
		max-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image img {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category {
		max-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat .woocommerce-loop-category__title {
		right: 0;
		bottom: 0;
		left: 0;
		padding: 26px 6px 9px;
		font-size: 0.62rem;
		letter-spacing: 0.1em;
	}
}

/* S05 category archive campaign and gallery — isolated staging only. */
/* S05 preview-only campaign/gallery refinements. Installed in staging only. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b {
	align-items: center;
	width: 100vw;
	max-width: none;
	margin: var(--dp-cat-section-space) 0 0 calc(50% - 50vw);
	padding: clamp(28px, 4vw, 64px) clamp(20px, 6vw, 92px);
	gap: clamp(28px, 5vw, 78px);
	background: #080808;
	color: var(--dp-color-white);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image-column,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-copy-column {
	min-width: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image img {
	display: block;
	width: 100%;
	height: clamp(380px, 48vw, 700px);
	object-fit: cover;
	object-position: center 38%;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-title {
	max-width: 680px;
	margin: 0;
	font-family: var(--dp-font-display);
	font-size: clamp(2rem, 4.2vw, 4.5rem);
	font-weight: 400;
	letter-spacing: 0.035em;
	line-height: 1.04;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-text {
	max-width: 560px;
	margin: clamp(18px, 2.2vw, 32px) 0 0;
	font-size: clamp(0.9rem, 1.1vw, 1.08rem);
	line-height: 1.7;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(12px, 1.6vw, 24px);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery img {
	background: var(--dp-color-paper);
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 0 0 36px;
		flex-direction: column;
		gap: 0;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image-column,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-copy-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image {
		max-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image img {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-copy-column {
		padding: 28px 20px 0;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-title {
		font-size: clamp(1.75rem, 8vw, 2.5rem);
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}
}

/* S06 preview: remove archive image zoom for users requesting reduced motion. */
@media (prefers-reduced-motion: reduce) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products > li.product img,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category img,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery img,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category > a {
		transition: none !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products > li.product:hover img,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products > li.product:focus-within img,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category:hover img,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products.nv-cat > li.product-category:focus-within img {
		transform: none !important;
	}
}

/* S05 staging fix: let Neve's infinite-scroll sentinel leave and re-enter the viewport between batches. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .nv-index-posts.nv-shop {
	 overflow-anchor: none;
}

/* S09 CATEGORY COMPOSITION — shared product_cat visual rhythm. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) {
  --dp-cat-section-space: clamp(36px, 4vw, 64px);
  --dp-cat-page-gutter: clamp(16px, 2vw, 36px);
  --dp-cat-card-gap: clamp(10px, 1vw, 18px);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero {
  min-height: clamp(560px, 54vw, 500px) !important;
  background: radial-gradient(circle at 72% 53%, #f5eee6, #d5c4b3 70%, #b8a28d) !important;
  color: #211916 !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__image-background {
  left: auto;
  right: 0;
  width: 68%;
  height: 100%;
  object-fit: contain !important;
  object-position: center 50% !important;
  transform: scale(1.4);
  transform-origin: center right;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(214, 196, 178, .93), rgba(214, 196, 178, .68) 31%, transparent 61%) !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__inner-container {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 clamp(24px, 1vw, 86px) clamp(48px, 6vw, 94px);
  align-self: flex-end;
  text-align: left;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__eyebrow,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__intro {
  max-width: 620px;
  margin-left: 0 !important;
  color: #fff !important;
  text-align: left !important;
  text-shadow: none;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title {
  font-size: clamp(3.2rem, 6.3vw, 6rem);
  line-height: .94;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__intro {
  max-width: 430px;
  margin-top: 22px;
  font-size: clamp(.95rem, 1.2vw, 1.12rem);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading {
  padding-top: 44px;
  padding-bottom: 22px;
  text-align: center;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading__title {
  font-size: clamp(1.25rem, 1.3vw, 1.7rem);
  text-align: center !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) {
  max-width: 1520px;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-bottom: 44px !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(>li.product:only-child) {
  max-width: 480px;
  grid-template-columns: 1fr !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(>li.product:nth-child(2):last-child) {
  max-width: 940px;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(>li.product:nth-child(3):last-child) {
  max-width: 1150px;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image {
  aspect-ratio: 1 / 1.05;
  background: #f7f3ee;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .sp-product-image {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1.05;
  overflow: hidden;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .sp-product-image .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .sp-product-image .nv-product-image {
  width: 100%;
  height: 100% !important;
  aspect-ratio: auto;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .img-wrap img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-image img {
  object-fit: contain;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .nv-product-content {
  padding: 12px 4px 20px;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .button,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .added_to_cart {
  min-height: 0;
  margin-top: 12px;
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: none;
  color: #5b0e1f;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .button:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products>li.product .button:focus-visible {
  background: none;
  color: #221717;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro { margin-top: 0; }
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-height: clamp(480px, 52vw, 580px);
  margin: 0 !important;
  padding: 0 !important;
  gap: 0;
  overflow: hidden;
  background: #14100e;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 8, 7, .82), rgba(10, 8, 7, .38) 48%, transparent 85%);
  content: '';
  pointer-events: none;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-media-column {
  position: absolute;
  inset: 0;
  width: 100% !important;
  max-width: none;
  height: 100%;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-image img {
  object-fit: cover;
  object-position: center 42%;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-copy-column {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: min(60%, 820px) !important;
  flex-basis: auto !important;
  padding: clamp(36px, 5vw, 82px);
  color: #fff;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-title {
  max-width: 620px;
  font-size: clamp(2.4rem, 4.8vw, 5.4rem);
  line-height: .99;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-text {
  max-width: 450px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated {
  max-width: 1520px;
  margin: 0 auto;
  padding: clamp(52px, 3vw, 90px) var(--dp-cat-page-gutter);
  background: #fff;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__title {
  margin: 0 0 clamp(22px, 2.6vw, 40px);
  color: #201b1a;
  font-family: var(--dp-font-display);
  font-size: clamp(1.35rem, 1vw, 2rem);
  font-weight: 500;
  letter-spacing: .07em;
  text-align: center;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--dp-cat-card-gap);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card {
  display: block;
  width: min(100%, calc((100% - 4 * var(--dp-cat-card-gap)) / 5));
  min-width: min(230px, 100%);
  color: #201b1a;
  text-decoration: none;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid:has(>a:nth-child(2):last-child) .dp-cat-curated__card {
  width: min(44%, 460px);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid:has(>a:only-child) .dp-cat-curated__card {
  width: min(100%, 460px);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: linear-gradient(145deg, #f2ebe3, #e2d4c5);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8%;
  object-fit: contain;
  transition: transform .3s ease;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:has(img.wp-image-488) .dp-cat-curated__media img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:has(img.wp-image-489) .dp-cat-curated__media img {
  transform: scale(1.8);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:hover img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:focus-visible img { transform: scale(1.04); }
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:has(img.wp-image-488):hover img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:has(img.wp-image-489):hover img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:has(img.wp-image-488):focus-visible img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:has(img.wp-image-489):focus-visible img { transform: scale(1.88); }
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__name {
  display: block;
  padding: 17px 6px;
  border-bottom: 1px solid #c7b7aa;
  font-family: var(--dp-font-body);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .11em;
  text-align: center;
  text-transform: uppercase;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:focus-visible { outline: 2px solid #5b0e1f; outline-offset: 4px; }

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-height: clamp(470px, 51vw, 670px);
  margin: 0 !important;
  padding: 0 !important;
  gap: 0;
  overflow: hidden;
  background: #15100d;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 8, 7, .88), rgba(10, 8, 7, .58) 45%, rgba(10, 8, 7, .05) 88%);
  content: '';
  pointer-events: none;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image-column {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100%;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-image img {
  object-fit: cover;
  object-position: center 32%;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-copy-column {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: min(60%, 820px) !important;
  flex-basis: auto !important;
  padding: clamp(36px, 5vw, 82px);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-title {
  font-size: clamp(2.4rem, 4.8vw, 5.4rem);
  line-height: .99;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore {
  padding-top: clamp(43px, 3vw, 90px);
  
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery figure {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #f3ece5, #ded0c1);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery img {
  aspect-ratio: 4 / 5;
  padding: 8%;
  object-fit: contain;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery figure:has(img.wp-image-488) img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery figure:has(img.wp-image-489) img {
  transform: scale(1.55);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 20px;
  background: linear-gradient(transparent, rgba(20, 12, 10, .48));
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-align: center;
}

@media (max-width: 959px) {
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__image-background { width: 78%; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card { width: calc((100% - 2 * var(--dp-cat-card-gap)) / 3); }
}
@media (max-width: 599px) {
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero { min-height: 560px !important; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__image-background {
    top: 0;
    right: -14%;
    width: 120%;
    height: 72%;
    object-position: center top !important;
    transform: none;
  }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__background {
    background: linear-gradient(180deg, transparent 32%, rgba(221, 205, 188, .64) 64%, #d9c7b4 90%) !important;
  }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__inner-container { padding: 0 22px 35px; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title { font-size: clamp(2.8rem, 14vw, 4.7rem); }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__intro { margin-top: 13px; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading { padding-top: 32px; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) { padding-bottom: 28px !important; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(>li.product:only-child) { max-width: 320px; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(>li.product:nth-child(2):last-child) { max-width: none; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial,
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b { min-height: 520px; flex-direction: row; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-copy-column,
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-copy-column {
    width: 100% !important;
    flex-basis: auto !important;
    padding: 32px 22px;
  }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial-title,
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b-title { font-size: clamp(2.1rem, 8vw, 3.4rem); }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__editorial::after,
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__campaign-b::after {
    background: linear-gradient(180deg, rgba(8, 6, 5, .12), rgba(8, 6, 5, .82) 76%);
  }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated { padding: 44px 12px; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card { width: calc((100% - var(--dp-cat-card-gap)) / 2); min-width: 0; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid:has(>a:nth-child(2):last-child) .dp-cat-curated__card { width: calc((100% - var(--dp-cat-card-gap)) / 2); }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__name { padding: 12px 4px; font-size: .68rem; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__gallery figure:last-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media img { transition: none; }
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:hover img,
  body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:focus-visible img { transform: none; }
}

/* S10-A — shared category product discovery row and native product cards. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	max-width: 1520px;
	margin: 0 auto !important;
	padding: clamp(32px, 4vw, 56px) var(--dp-cat-page-gutter) 22px;
	text-align: left !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading__title {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading > .wp-block-shortcode {
	flex: 0 0 auto;
	width: auto;
	max-width: none !important;
	margin: 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-shop-all {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	color: #201b1a;
	font-family: var(--dp-font-body);
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .06em;
	line-height: 1.2;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	text-transform: uppercase;
	white-space: nowrap;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-shop-all .wp-block-button__link {
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-shop-all:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-shop-all:focus-visible {
	color: #5b0e1f;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-shop-all:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) {
	max-width: 1520px;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product {
	min-width: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .nv-card-content-wrapper {
	position: relative;
	display: block;
	width: 100%;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-image {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #f7f3ee;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-image .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-image .nv-product-image {
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	aspect-ratio: auto;
	background: #f7f3ee;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-image .img-wrap img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-image .nv-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-image > .onsale,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .nv-product-content > :not(.woocommerce-LoopProduct-link),
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-inline-actions,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .sp-product-actions-wrap {
	display: none !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .nv-product-content {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 30px 12px 11px !important;
	background: linear-gradient(180deg, rgba(247, 243, 238, 0), #f7f3ee 70%);
	color: #201b1a;
	text-align: left !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .woocommerce-LoopProduct-link {
	position: relative;
	z-index: 4;
	display: block;
	color: inherit;
	text-decoration: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .woocommerce-loop-product__title {
	margin: 0 !important;
	color: #201b1a;
	font-family: var(--dp-font-body);
	font-size: clamp(.76rem, .92vw, .9rem);
	font-weight: 500;
	line-height: 1.35;
	text-align: left !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(> li.product:only-child) {
	width: 100%;
	max-width: 480px;
	margin-right: auto !important;
	margin-left: 0 !important;
	grid-template-columns: minmax(0, 1fr) !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(> li.product:nth-child(2):last-child) {
	width: 100%;
	max-width: 940px;
	margin-right: auto !important;
	margin-left: 0 !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading {
		gap: 12px;
		padding: 32px var(--dp-cat-page-gutter) 18px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading__title {
		font-size: clamp(1rem, 4.5vw, 1.3rem);
		letter-spacing: .045em;
		line-height: 1.15;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-shop-all {
		font-size: .68rem;
		letter-spacing: .04em;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) {
		width: calc(100% - 2 * var(--dp-cat-page-gutter));
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(> li.product:only-child) {
		max-width: 320px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat):has(> li.product:nth-child(2):last-child) {
		max-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .nv-product-content {
		padding: 28px 8px 8px !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product .woocommerce-loop-product__title {
		font-size: .72rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) ul.products:not(.nv-cat) > li.product img {
		transition: none !important;
	}
}

/* S10-B — Shop by Category names overlaid at the bottom of each image. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card {
	position: relative;
	overflow: hidden;
	color: #fff;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media {
	position: relative;
	display: block;
	isolation: isolate;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media::after {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	height: 44%;
	background: linear-gradient(180deg, rgba(8, 8, 8, 0) 0%, rgba(8, 8, 8, .82) 100%);
	content: "";
	pointer-events: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__name {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(48px, 5.2vw, 68px);
	margin: 0;
	padding: 20px 12px 15px;
	border: 0;
	background: transparent;
	color: #fff;
	font-family: var(--dp-font-body);
	font-size: clamp(.76rem, .92vw, .9rem);
	font-weight: 600;
	letter-spacing: .11em;
	line-height: 1.25;
	text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	text-transform: uppercase;
	text-wrap: balance;
	pointer-events: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__name > span[aria-hidden="true"] {
	display: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__card:focus-visible {
	position: relative;
	z-index: 3;
	outline: 2px solid #fff;
	outline-offset: -4px;
	box-shadow: 0 0 0 2px #211916;
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media::after {
		height: 50%;
		background: linear-gradient(180deg, rgba(8, 8, 8, 0) 0%, rgba(8, 8, 8, .84) 100%);
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__name {
		min-height: 46px;
		padding: 19px 6px 10px;
		font-size: .66rem;
		letter-spacing: .08em;
		line-height: 1.2;
	}
}

/* S10-C — four editable More to Explore image cards. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(10px, 1.15vw, 18px);
	margin: clamp(20px, 2.6vw, 36px) 0 0 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-column {
	box-sizing: border-box;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: auto;
	min-height: 0 !important;
	aspect-ratio: 3 / 4 !important;
	margin: 0;
	padding: 0 !important;
	background-color: #f3ece4 !important;
	color: #fff;
	overflow: hidden;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card .wp-block-cover__image-background {
	position: absolute;
	z-index: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: contain;
	object-position: center;
	transition: transform 300ms ease;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card .wp-block-cover__background {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 8, 8, 0) 22%, rgba(8, 8, 8, .76) 100%) !important;
	opacity: 1 !important;
	pointer-events: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card .wp-block-cover__inner-container {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(20px, 3vw, 42px) clamp(12px, 2vw, 26px) clamp(22px, 3vw, 42px);
	color: #fff;
	text-align: center;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-title {
	max-width: 18rem;
	margin: 0 auto clamp(8px, 1.2vw, 14px) !important;
	color: #fff !important;
	font-family: var(--dp-font-display);
	font-size: clamp(1rem, 1.65vw, 1.55rem);
	font-weight: 500;
	letter-spacing: .055em;
	line-height: 1.12;
	text-align: center;
	text-transform: uppercase;
	text-wrap: balance;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .6);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta {
	margin: 0 !important;
	color: #fff;
	font-family: var(--dp-font-body);
	font-size: clamp(.68rem, .85vw, .82rem);
	font-weight: 600;
	letter-spacing: .12em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 4px 2px;
	color: #fff !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta a:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta a:focus-visible {
	color: #fff !important;
	text-decoration-thickness: 2px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px rgba(8, 8, 8, .9);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--gold .wp-block-cover__image-background {
	transform: scale(1.08);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--rings .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--earrings .wp-block-cover__image-background {
	transform: scale(1.22);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--gold:hover .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--gold:focus-within .wp-block-cover__image-background {
	transform: scale(1.12);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--rings:hover .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--rings:focus-within .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--earrings:hover .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--earrings:focus-within .wp-block-cover__image-background {
	transform: scale(1.27);
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--necklaces:hover .wp-block-cover__image-background,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card--necklaces:focus-within .wp-block-cover__image-background {
	transform: scale(1.04);
}

@media (max-width: 767px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card .wp-block-cover__inner-container {
		padding: 16px 10px 18px;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-title {
		margin-bottom: 6px !important;
		font-size: clamp(.9rem, 3.1vw, 1.25rem);
		letter-spacing: .045em;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta {
		font-size: .62rem;
		letter-spacing: .08em;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta a {
		min-height: 32px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card .wp-block-cover__image-background,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-cta a {
		transition: none !important;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card:hover .wp-block-cover__image-background,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card:focus-within .wp-block-cover__image-background {
		transform: none !important;
	}
}

/* S10-D — keep long archive titles within narrow category hero bounds. */
@media (max-width: 420px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-love-celebration .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-accessories-gemstones .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-collection .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-legendary .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-uncategorized .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-bracelets .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-jewellery-set .dp-product-cat-default__title {
		font-size: clamp(2rem, 9vw, 2.4rem);
		letter-spacing: .015em;
	}
}

/* S11 — shared collection and new-arrivals product rails. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery {
	width: 100%;
	max-width: 1520px;
	margin: clamp(30px, 2.2vw, 64px) auto;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-products-heading--collection {
	padding-bottom: 22px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__heading {
	padding-top: 0;
	padding-bottom: 22px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(10px, 1.2vw, 18px);
	width: 100%;
	max-width: 1520px;
	margin: 0 auto;
	padding: 0 var(--dp-cat-page-gutter, 20px);
	list-style: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__item {
	min-width: 0;
	margin: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #f7f3ee;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__name {
	display: block;
	padding: 10px 12px 8px;
	color: #201b1a;
	font-family: var(--dp-font-body);
	font-size: clamp(.76rem, .92vw, .9rem);
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__name:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__name:focus-visible {
	color: #5b0e1f;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__image:focus-visible,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__name:focus-visible {
	outline: 2px solid #5b0e1f;
	outline-offset: 3px;
}

@media (max-width: 959px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery {
		margin: 34px auto;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__name {
		padding: 8px 4px 6px;
		font-size: .72rem;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__heading {
		padding: 0 var(--dp-cat-page-gutter) 16px;
	}
}

/* S21: keep the native catalog visible on roots without Men/Women landing layouts. */

/* S12 — match product and category image frames and enable mobile swipe rails. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results > li.product .sp-product-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results > li.product .sp-product-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results > li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results > li.product .img-wrap,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results > li.product .nv-product-image,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results > li.product .nv-product-image {
	background: transparent !important;
	background-color: transparent !important;
	aspect-ratio: 4 / 5 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media {
	aspect-ratio: 2 / 3 !important;
	background: transparent !important;
	background-color: transparent !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__media img {
	padding: 0 !important;
	background: transparent !important;
	object-fit: contain;
}

@media (min-width: 960px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results:has(> li.product:nth-child(5)),
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results:has(> li.product:nth-child(5)) {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none !important;
		gap: 12px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 var(--dp-cat-page-gutter, 12px) 12px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--dp-cat-page-gutter, 12px);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results::-webkit-scrollbar,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results::-webkit-scrollbar,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid::-webkit-scrollbar {
		display: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results > li.product,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results > li.product {
		flex: 0 0 calc(66.6667% - 8px) !important;
		width: calc(66.6667% - 8px) !important;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		gap: 12px !important;
		margin: 0 -12px;
		padding: 0 12px 12px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 12px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid > .dp-cat-curated__card {
		flex: 0 0 calc(66.6667% - 8px) !important;
		width: calc(66.6667% - 8px) !important;
		min-width: 0 !important;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}

/* S13 — turn Discover New Arrivals into a swipeable rail on mobile. */
@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__grid {
		display: flex;
		flex-wrap: nowrap;
		grid-template-columns: none;
		gap: 12px;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0 var(--dp-cat-page-gutter, 12px) 12px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--dp-cat-page-gutter, 12px);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__grid::-webkit-scrollbar {
		display: none;
	}

	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__item {
		flex: 0 0 calc(66.6667% - 8px);
		width: calc(66.6667% - 8px);
		min-width: 0;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}

/* S14 — Collection photos fill the 4:5 card without a separate color strip. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results > li.product .sp-product-image .img-wrap img,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results > li.product .sp-product-image .img-wrap img {
	object-fit: cover !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens):is(.term-mens, .dp-root-layout-copy) #dp-category-product-results > li.product .nv-product-content,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens).term-womens #dp-category-product-results > li.product .nv-product-content {
	background: none !important;
}

/* S15 — New Arrivals: full-frame 4:5 photos and names directly on the photo. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__item {
	position: relative;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__image {
	background: transparent;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__image img {
	object-fit: cover;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery--new-arrivals .dp-category-discovery__name {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 12px;
	background: none;
	color: #201b1a;
}

/* Five category cards fill the desktop viewport; any further cards slide across. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail {
	position: relative;
}
@media (min-width: 960px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid:has(> .dp-cat-curated__card:nth-child(6)) {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid:has(> .dp-cat-curated__card:nth-child(6))::-webkit-scrollbar {
		display: none;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__grid:has(> .dp-cat-curated__card:nth-child(6)) > .dp-cat-curated__card {
		box-sizing: border-box;
		flex: 0 0 calc((100% - 4 * var(--dp-cat-card-gap)) / 5);
		width: calc((100% - 4 * var(--dp-cat-card-gap)) / 5);
		min-width: 0;
		scroll-snap-align: start;
	}
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	width: 44px;
	height: 44px;
	border: 1px solid #ddd;
	border-radius: 50%;
	background: #fff;
	color: #6b0b1d;
	font-size: 28px;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow--previous { left: 8px; }
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow--next { right: 8px; }
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow:disabled { visibility: hidden; }
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow:focus-visible { outline: 2px solid #6b0b1d; outline-offset: 2px; }
@media (max-width: 959px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow { display: none; }
}

/* More to Explore matches the full-width 88:117 editorial card row. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-title {
	padding-right: var(--dp-cat-page-gutter, 20px);
	padding-left: var(--dp-cat-page-gutter, 20px);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-grid {
	width: 100%;
	gap: clamp(10px, 1vw, 18px);
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card {
	aspect-ratio: 88 / 117 !important;
	background: transparent !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card .wp-block-cover__image-background {
	object-fit: cover;
}
@media (max-width: 767px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none;
		gap: 12px;
		margin: 20px 0 0 !important;
		padding: 0 12px 12px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 12px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-grid::-webkit-scrollbar { display: none; }
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-card-column {
		flex: 0 0 calc(66.6667% - 8px) !important;
		width: calc(66.6667% - 8px) !important;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}

/* Break out of the content wrapper and remove surplus space above Explore. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore {
	width: 100vw !important;
	max-width: none !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

/* Empty New Arrivals output leaves Explore immediately after the campaign. */
@media (min-width: 768px) {
	body.tax-product_cat:is(.term-mens, .term-womens, .dp-root-layout-copy) .dp-product-cat-outro__campaign-b + .dp-product-cat-outro__explore {
		padding-top: 32px !important;
	}
}

@media (max-width: 767px) {
	/* Category service promises: hide Gift Cards and keep four items in 2x2. */
	body.tax-product_cat:is(.term-mens, .term-womens, .dp-root-layout-copy) .dp-product-cat-outro__service-grid > .dp-service-item:has(.dp-service-item__icon img[src*="service-gift-card.svg"]) {
		display: none !important;
	}
	body.tax-product_cat:is(.term-mens, .term-womens, .dp-root-layout-copy) .dp-product-cat-outro__service-grid > .dp-service-item:last-child {
		grid-column: auto;
	}
}

/* The Gutenberg Columns inner wrapper also carries a 1280px max-width. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-outro__explore-grid {
	max-width: none !important;
}

/* S16 — neutralize theme-wide button padding that stretches carousel arrows. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow {
	box-sizing: border-box !important;
	display: grid;
	place-items: center;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	line-height: 1 !important;
}
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow span {
	display: block;
	font-size: 28px;
	line-height: 1;
}
@media (max-width: 959px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow {
		display: none !important;
	}
}

/* S22: shared WooCommerce presentation for product-category child archives only. */
body.dp-s22-child-archive .woocommerce-products-header {
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(320px, 1.4fr);
  align-items: center;
  gap: 18px 36px;
  margin: 28px 0 24px;
}
body.dp-s22-child-archive .woocommerce-products-header__title {
  margin: 0;
  color: #171717;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.12;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.dp-s22-child-archive .dp-s22-category-summary {
  max-width: 760px;
  color: #515151;
  font-size: 15px;
  line-height: 1.65;
}
body.dp-s22-child-archive .dp-s22-category-summary p { margin: 0; }
body.dp-s22-child-archive .dp-s22-child-categories {
  margin: 26px 0 30px;
}
body.dp-s22-child-archive .dp-s22-child-categories__title,
body.dp-s22-child-archive .dp-s22-related-products__title,
body.dp-s22-child-archive .dp-s22-related-categories__title {
  margin: 0 0 16px;
  color: #171717;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
}
body.dp-s22-child-archive .dp-s22-child-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
body.dp-s22-child-archive .dp-s22-child-category-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  color: #171717;
  text-decoration: none;
}
body.dp-s22-child-archive .dp-s22-child-category-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #f5f4f2;
}
body.dp-s22-child-archive .dp-s22-child-category-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
body.dp-s22-child-archive .dp-s22-child-category-card:hover .dp-s22-child-category-card__media img,
body.dp-s22-child-archive .dp-s22-child-category-card:focus-visible .dp-s22-child-category-card__media img { transform: scale(1.025); }
body.dp-s22-child-archive .dp-s22-child-category-card__name {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 10px 2px 0;
  color: #191919;
  font-size: 13px;
  line-height: 1.35;
}
body.dp-s22-child-archive .dp-s22-child-category-card--text-only {
  min-height: 48px;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid #dedbd8;
}
body.dp-s22-child-archive .dp-s22-child-category-card--text-only .dp-s22-child-category-card__name { padding: 0; }
body.dp-s22-child-archive .nv-shop ul.products:not(.nv-cat) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 18px;
  width: 100%;
  margin: 0 0 30px;
  padding: 0;
}
body.dp-s22-child-archive .nv-shop ul.products:not(.nv-cat)::before,
body.dp-s22-child-archive .nv-shop ul.products:not(.nv-cat)::after { display: none !important; }
body.dp-s22-child-archive .nv-shop ul.products:not(.nv-cat) > li.product {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
body.dp-s22-child-archive .dp-s22-long-description {
  margin: 32px 0;
  padding: 17px 0;
  border-top: 1px solid #dedbd8;
  border-bottom: 1px solid #dedbd8;
}
body.dp-s22-child-archive .dp-s22-long-description summary {
  color: #202020;
  cursor: pointer;
  font-size: 13px;
  letter-spacing: .12em;
  list-style-position: inside;
  text-transform: uppercase;
}
body.dp-s22-child-archive .dp-s22-long-description__content {
  max-width: 1000px;
  padding-top: 16px;
  color: #555;
  font-size: 14px;
  line-height: 1.75;
}
body.dp-s22-child-archive .dp-s22-related-products,
body.dp-s22-child-archive .dp-s22-related-categories { margin: 36px 0; }
body.dp-s22-child-archive .dp-s22-related-products__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.dp-s22-child-archive .dp-s22-related-product__image { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #f5f4f2; }
body.dp-s22-child-archive .dp-s22-related-product__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.dp-s22-child-archive .dp-s22-related-product__name,
body.dp-s22-child-archive .dp-s22-related-product__price { display: block; margin-top: 8px; color: #222; font-size: 13px; line-height: 1.4; text-decoration: none; }
body.dp-s22-child-archive .dp-s22-related-product__price { color: #666; }
body.dp-s22-child-archive .dp-s22-related-categories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.dp-s22-child-archive .dp-s22-related-categories a {
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid #ddd;
  color: #333;
  font-size: 12px;
  text-decoration: none;
}
body.dp-s22-child-archive .dp-s22-child-category-card:focus-visible,
body.dp-s22-child-archive .dp-s22-related-product a:focus-visible,
body.dp-s22-child-archive .dp-s22-related-categories a:focus-visible,
body.dp-s22-child-archive .dp-s22-long-description summary:focus-visible { outline: 2px solid #6b0b1d; outline-offset: 3px; }
@media (max-width: 767px) {
  body.dp-s22-child-archive .woocommerce-products-header {
    display: block;
    margin: 20px 0 18px;
  }
  body.dp-s22-child-archive .woocommerce-products-header__title { margin-bottom: 10px; font-size: 25px; }
  body.dp-s22-child-archive .dp-s22-category-summary { font-size: 14px; }
  body.dp-s22-child-archive .dp-s22-child-categories { margin: 20px 0 24px; }
  body.dp-s22-child-archive .dp-s22-child-categories__grid {
    display: grid;
    grid-auto-columns: minmax(68vw, 1fr);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 12px;
    overflow-x: auto;
    padding: 0 0 8px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  body.dp-s22-child-archive .dp-s22-child-category-card { scroll-snap-align: start; }
  body.dp-s22-child-archive .nv-shop ul.products:not(.nv-cat) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 10px;
  }
  body.dp-s22-child-archive .dp-s22-related-products__grid {
    display: grid;
    grid-auto-columns: minmax(62vw, 1fr);
    grid-auto-flow: column;
    grid-template-columns: none;
    overflow-x: auto;
    gap: 12px;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }
  body.dp-s22-child-archive .dp-s22-related-product { scroll-snap-align: start; }
}
body.dp-s22-child-archive .woocommerce-products-header { display: none !important; }
body.dp-s22-child-archive .dp-s22-child-intro {
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(320px, 1.4fr);
  align-items: center;
  gap: 18px 36px;
  margin: 28px 0 24px;
}
body.dp-s22-child-archive .dp-s22-child-intro__title {
  margin: 0;
  color: #171717;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.12;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.dp-s22-child-archive .dp-s22-child-intro__summary {
  max-width: 760px;
  margin: 0;
  color: #515151;
  font-size: 15px;
  line-height: 1.65;
}
@media (max-width: 767px) {
  body.dp-s22-child-archive .dp-s22-child-intro { display: block; margin: 20px 0 18px; }
  body.dp-s22-child-archive .dp-s22-child-intro__title { margin-bottom: 10px; font-size: 25px; }
  body.dp-s22-child-archive .dp-s22-child-intro__summary { font-size: 14px; }
}

/* Native root archives still need a visible title when they contain no products. */
body.tax-product_cat .dp-default-root-title {
	margin: 24px 0 20px;
	color: #171717;
	font-size: clamp(24px, 2.5vw, 38px);
	font-weight: 500;
	line-height: 1.2;
}

/* S24 — red, unfilled chevron controls for the category and New Arrivals rails. */
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail {
	position: relative;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow {
	position: absolute;
	z-index: 4;
	top: 50%;
	box-sizing: border-box !important;
	display: grid !important;
	place-items: center;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	padding: 0 !important;
	transform: translateY(-50%);
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #780018 !important;
	line-height: 1 !important;
	cursor: pointer;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow--previous,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__arrow--previous { left: 4px; }

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow--next,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__arrow--next { right: 4px; }

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow span,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow span {
	position: relative;
	display: block;
	width: 28px;
	height: 28px;
	font-size: 0;
	line-height: 0;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow span::before,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow span::before {
	position: absolute;
	top: 2px;
	left: 2px;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border-right: 4px solid currentColor;
	border-bottom: 4px solid currentColor;
	content: "";
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow--previous span::before,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__arrow--previous span::before { transform: rotate(135deg); }

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__arrow--next span::before,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__arrow--next span::before { transform: rotate(-45deg); }

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow:disabled,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow:disabled {
	visibility: hidden;
	background: transparent !important;
	box-shadow: none !important;
	cursor: default;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow:focus,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow:hover,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow:focus {
	background: transparent !important;
	box-shadow: none !important;
	color: #780018 !important;
}

body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow:focus-visible,
body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow:focus-visible {
	outline: 2px solid #780018;
	outline-offset: 2px;
}

@media (max-width: 959px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-cat-curated__rail > button.dp-cat-curated__arrow {
		display: grid !important;
	}
}

@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-category-discovery__rail > button.dp-category-discovery__arrow {
		display: grid !important;
	}
}

/* Reusable DP Red Ghost Chevron pattern for any positioned horizontal rail. */
.dp-red-ghost-chevron-rail { position: relative; }
.dp-red-ghost-chevron {
	position: absolute;
	z-index: 4;
	top: 50%;
	display: grid !important;
	place-items: center;
	box-sizing: border-box;
	flex: 0 0 44px;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	padding: 0 !important;
	transform: translateY(-50%);
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #780018 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	cursor: pointer;
}
.dp-red-ghost-chevron--previous { left: 4px; }
.dp-red-ghost-chevron--next { right: 4px; }
.dp-red-ghost-chevron > span {
	position: relative;
	display: block;
	width: 28px;
	height: 28px;
	font-size: 0;
}
.dp-red-ghost-chevron > span::before {
	position: absolute;
	top: 2px;
	left: 2px;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border-right: 4px solid currentColor;
	border-bottom: 4px solid currentColor;
	content: "";
}
.dp-red-ghost-chevron--previous > span::before { transform: rotate(135deg); }
.dp-red-ghost-chevron--next > span::before { transform: rotate(-45deg); }
.dp-red-ghost-chevron:disabled {
	visibility: hidden;
	background: transparent !important;
	box-shadow: none !important;
	cursor: default;
}
.dp-red-ghost-chevron:hover,
.dp-red-ghost-chevron:focus {
	background: transparent !important;
	box-shadow: none !important;
	color: #780018 !important;
}
.dp-red-ghost-chevron:focus-visible {
	outline: 2px solid #780018;
	outline-offset: 2px;
}

/* Center the category-cover copy on narrow phones. */
@media (max-width: 599px) {
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__hero .wp-block-cover__inner-container {
		text-align: center !important;
	}
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__eyebrow,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__title,
	body.tax-product_cat:is(:is(.term-mens, .dp-root-layout-copy), .term-womens) .dp-product-cat-default__intro {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}
}
/* Custom product catalogie */
p.woocommerce-result-count { /* hide 	Showing all 5 results under tittle */
    display: none;
}

/* S28 live: dynamic heading and child-category strip from Custom Layout 795. */
body.dp-child-layout-live .dp-child-layout-region--before-loop { display: contents !important; }
body.dp-child-layout-live .dp-child-layout__title {
  margin: 28px 0 10px;
  color: #171717;
  font-size: clamp(25px, 2.3vw, 36px);
  font-weight: 500;
  letter-spacing: .035em;
  line-height: 1.12;
  text-transform: uppercase;
}
body.dp-child-layout-live .dp-child-layout__intro {
  max-width: 900px;
  margin: 0 0 22px;
  color: #515151;
  font-size: 15px;
  line-height: 1.65;
}
body.dp-child-layout-live .dp-child-layout__intro:empty { display: none; }
body.dp-child-layout-live .dp-s25-child-categories {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 37fr) minmax(0, 63fr);
  align-items: stretch;
  column-gap: 12px;
  margin: 18px 0 32px;
}
body.dp-child-layout-live .dp-s25-child-categories__viewport {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
body.dp-child-layout-live .dp-s25-child-categories__viewport::-webkit-scrollbar {
  display: none;
}
body.dp-child-layout-live .dp-s25-child-categories__track {
  display: flex;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}
body.dp-child-layout-live .dp-s25-child-card {
  position: relative;
  display: block;
  flex: 0 0 calc((100% - 36px) / 4);
  min-width: 0;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  scroll-snap-align: start;
  isolation: isolate;
}
body.dp-child-layout-live .dp-s25-child-card--featured {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  align-self: start;
}
body.dp-child-layout-live .dp-s25-child-card__media {
  position: relative;
  display: block;
  overflow: hidden;
}
body.dp-child-layout-live .dp-s25-child-card__media--featured { aspect-ratio: 133 / 79; }
body.dp-child-layout-live .dp-s25-child-card__media--standard { aspect-ratio: 54 / 79; }
body.dp-child-layout-live .dp-s25-child-card__media::after {
  position: absolute;
  inset: 40% 0 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.64) 100%);
  content: "";
}
body.dp-child-layout-live .dp-s25-child-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
body.dp-child-layout-live .dp-s25-child-card:hover .dp-s25-child-card__media img,
body.dp-child-layout-live .dp-s25-child-card:focus-visible .dp-s25-child-card__media img { transform: scale(1.025); }
body.dp-child-layout-live .dp-s25-child-card__name {
  position: absolute;
  right: auto;
  bottom: 12px;
  left: 12px;
  display: inline-block;
  width: fit-content;
  max-width: calc(100% - 24px);
  z-index: 2;
  color: #fff;
  font-size: clamp(12px, 1vw, 15px);
  font-weight: 500;
  line-height: 1.3;
  text-shadow: 0 1px 4px rgba(0,0,0,.35);
}
body.dp-child-layout-live .dp-s25-child-card__name::after {
  position: absolute;
  right: 0;
  bottom: -3px;
  left: 0;
  height: 1px;
  background: currentColor;
  clip-path: inset(0);
  content: "";
  transition: clip-path .32s ease;
}
body.dp-child-layout-live .dp-s25-child-card__name:hover::after,
body.dp-child-layout-live .dp-s25-child-card:focus-visible .dp-s25-child-card__name::after {
  clip-path: inset(0 0 0 100%);
}
body.dp-child-layout-live .dp-s25-child-card--text-only {
  display: flex;
  min-height: 80px;
  align-items: flex-end;
  padding: 14px;
  background: #f1efed;
  color: #242424;
  align-self: flex-start;
}
body.dp-child-layout-live .dp-s25-child-card--text-only .dp-s25-child-card__name {
  position: relative;
  right: auto;
  bottom: auto;
  left: auto;
  max-width: 100%;
  color: #242424;
  text-shadow: none;
}
body.dp-child-layout-live .dp-s25-child-categories__controls {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  z-index: 5;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
body.dp-child-layout-live .dp-red-ghost-chevron {
  position: absolute;
  top: 50%;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #780018;
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
}
body.dp-child-layout-live .dp-s25-child-categories__controls [data-dp-s25-previous] { left: 15px; }
body.dp-child-layout-live .dp-s25-child-categories__controls [data-dp-s25-next] { right: 15px; }
body.dp-child-layout-live .dp-red-ghost-chevron:disabled {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
body.dp-child-layout-live .dp-red-ghost-chevron span {
  display: block;
  width: 28px;
  height: 28px;
  border: 0;
  transform: none;
}
body.dp-child-layout-live .dp-red-ghost-chevron:focus-visible,
body.dp-child-layout-live .dp-s25-child-categories__viewport:focus-visible,
body.dp-child-layout-live .dp-s25-child-card:focus-visible {
  outline: 2px solid #780018;
  outline-offset: 3px;
}
@media (max-width: 768px) {
  body.dp-child-layout-live .dp-child-layout__title { margin-top: 20px; font-size: 25px; }
  body.dp-child-layout-live .dp-child-layout__intro { margin-bottom: 17px; font-size: 14px; }
  body.dp-child-layout-live .dp-s25-child-categories { margin: 16px 0 24px; }
  body.dp-child-layout-live .dp-s25-child-categories { display: block; }
  body.dp-child-layout-live .dp-s25-child-card--featured { width: 66.6667%; margin-bottom: 12px; }
  body.dp-child-layout-live .dp-s25-child-categories__viewport { width: 100%; }
  body.dp-child-layout-live .dp-s25-child-categories__track { width: 100%; min-width: 100%; align-items: flex-start; gap: 12px; }
  body.dp-child-layout-live .dp-s25-child-card { flex-basis: 64%; }
  body.dp-child-layout-live .dp-s25-child-card__name { right: auto; bottom: 10px; left: 10px; width: fit-content; max-width: calc(100% - 20px); font-size: 13px; }
  body.dp-child-layout-live .dp-s25-child-categories__controls {
    position: absolute;
    top: -42px;
    right: 0;
    left: auto;
    display: flex;
    width: auto;
    height: auto;
    gap: 8px;
  }
  body.dp-child-layout-live .dp-s25-child-categories__controls .dp-red-ghost-chevron {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
  }
}

/* Match the child archive gutters to the desktop header logo and cart. */
body.dp-child-layout-live main#content {
  width: 100%;
  max-width: none;
}
body.dp-child-layout-live main#content > .container.shop-container {
  width: 100%;
  max-width: none !important;
  margin-inline: 0;
  padding-inline: clamp(1.25rem, 3vw, 3.75rem) !important;
  box-sizing: border-box;
}
body.dp-child-layout-live .shop-container > .row {
  width: 100%;
  margin-inline: 0;
}
body.dp-child-layout-live .shop-container .nv-shop.col {
  width: 100%;
  max-width: none;
  flex-basis: 100%;
  padding-inline: 0;
}
@media (min-width: 1025px) {
  body.dp-child-layout-live main#content > .container.shop-container {
    padding-right: calc(clamp(1.25rem, 3vw, 3.75rem) + 10px) !important;
  }
}
@media (min-width: 769px) {
  body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap {
    position: relative;
    top: -20px;
    margin-bottom: 0 !important;
  }
  body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-areas: "title intro" "rail rail";
    align-items: center;
    column-gap: 32px;
    row-gap: 0;
  }
  body.dp-child-layout-live .dp-child-layout__title {
    grid-area: title;
    width: max-content;
    max-width: 100%;
    margin: -10px 0 10px;
  }
  body.dp-child-layout-live .dp-child-layout__intro {
    grid-area: intro;
    max-width: none;
    margin: 0 !important;
  }
  body.dp-child-layout-live .dp-s25-child-categories { grid-area: rail; }
}

/* S29: catalog filters and sorting for child-category product results. */
body.dp-child-layout-live .dp-s29-results-toolbar {
  position: relative;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 4px 0 22px;
  color: #111;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.dp-child-layout-live .dp-s29-filter-toggle,
body.dp-child-layout-live .dp-s29-sort summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}
body.dp-child-layout-live .dp-s29-filter-toggle svg { width: 18px; height: 18px; }
body.dp-child-layout-live .dp-s29-sort { position: relative; }
body.dp-child-layout-live .dp-s29-sort summary { list-style: none; }
body.dp-child-layout-live .dp-s29-sort summary::-webkit-details-marker { display: none; }
body.dp-child-layout-live .dp-s29-sort-chevron,
body.dp-child-layout-live .dp-s29-filter-chevron {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #777;
  border-bottom: 1px solid #777;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}
body.dp-child-layout-live .dp-s29-sort[open] .dp-s29-sort-chevron,
body.dp-child-layout-live .dp-s29-filter-group[open] .dp-s29-filter-chevron {
  transform: rotate(225deg) translate(-2px, -1px);
}
body.dp-child-layout-live .dp-s29-sort-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 20;
  display: grid;
  min-width: 260px;
  padding: 14px 0;
  background: #fff;
  box-shadow: 0 5px 18px rgba(0, 0, 0, .16);
  letter-spacing: .035em;
}
body.dp-child-layout-live .dp-s29-sort-menu a {
  display: block;
  padding: 10px 20px;
  color: #171717;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .18s ease;
}
body.dp-child-layout-live .dp-s29-sort-menu a:hover,
body.dp-child-layout-live .dp-s29-sort-menu a[aria-current="true"] { background: #f5f4f2; }
body.dp-child-layout-live .dp-s29-sort-loader {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .72);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 180ms ease, visibility 180ms ease;
}
body.dp-child-layout-live .dp-s29-sort-loader.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.dp-child-layout-live .dp-s29-sort-loader__content {
  display: grid;
  place-items: center;
  min-width: 120px;
  min-height: 80px;
}
body.dp-child-layout-live .dp-s29-sort-loader__content img {
  display: block;
  width: 150px;
  max-width: 42vw;
  height: auto;
  animation: dp-s29-sort-loader-pulse 1.15s ease-in-out infinite;
}
body.dp-child-layout-live .dp-s29-sort-loader__label {
  display: block;
  margin-top: 10px;
  color: #171717;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}
@keyframes dp-s29-sort-loader-pulse {
  0%, 100% { opacity: .58; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  body.dp-child-layout-live .dp-s29-sort-loader,
  body.dp-child-layout-live .dp-s29-sort-loader__content img { transition: none; animation: none; }
}
body.dp-child-layout-live .dp-s29-results-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  width: 100%;
  align-items: start;
}
body.dp-child-layout-live .dp-s29-results-shell--open {
  grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
}
body.dp-child-layout-live .dp-s29-filter-panel {
  grid-column: 1;
  width: 100%;
  max-width: 14rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
body.dp-child-layout-live .dp-s29-filter-panel[hidden] { display: none !important; }
body.dp-child-layout-live .dp-s29-filter-panel__mobile-header,
body.dp-child-layout-live .dp-s29-filter-submit-mobile { display: none; }
@media (max-width: 768px) {
  body.dp-child-layout-live form#dp-s29-filter-panel {
    position: fixed; inset: 0; z-index: 1000001;
    display: flex; flex-direction: column; box-sizing: border-box;
    width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none;
    margin: 0; padding: 0; overflow: hidden; background: #fff;
    transform: translateX(-100%); transition: transform 300ms ease;
    overscroll-behavior: contain;
  }
  body.dp-child-layout-live form#dp-s29-filter-panel.dp-s29-filter-panel--visible { transform: translateX(0); }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__mobile-header {
    display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between;
    padding: calc(18px + env(safe-area-inset-top, 0px)) 18px 18px; border-bottom: 1px solid #d8d6d4;
  }
  body.dp-child-layout-live .dp-s29-filter-panel__mobile-header h2 {
    margin: 0; font-family: var(--dp-font-body); font-size: 18px; font-weight: 500; line-height: 1.3; letter-spacing: .1em; text-transform: uppercase;
  }
  body.dp-child-layout-live .dp-s29-filter-panel__mobile-header button {
    display: grid; place-items: center; width: 36px; height: 36px; margin: 0; padding: 6px;
    background: transparent; color: #111; border: 0; border-radius: 0;
  }
  body.dp-child-layout-live .dp-s29-filter-panel__mobile-header svg { width: 24px; height: 24px; }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__groups {
    flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 0 18px; border-top: 0;
    overscroll-behavior: contain;
  }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-group > summary { padding: 22px 0; font-size: 14px; }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__actions {
    flex: 0 0 auto; display: grid; grid-template-columns: 1fr 1.8fr; gap: 12px;
    padding: 16px 18px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #d8d6d4; background: #fff;
  }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__actions a,
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__actions button {
    display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 8px;
    margin: 0; font-size: 11px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; border-radius: 0;
  }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__actions a { color: #111; border: 1px solid #111; }
  body.dp-child-layout-live #dp-s29-filter-panel .dp-s29-filter-panel__actions button { background: #000; color: #fff; border: 1px solid #000; }
  body.dp-child-layout-live .dp-s29-filter-submit-desktop { display: none; }
  body.dp-child-layout-live .dp-s29-filter-submit-mobile { display: inline; }
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  body.dp-child-layout-live form#dp-s29-filter-panel { transition: none; }
}
body.dp-child-layout-live .dp-s29-filter-panel__groups { border-top: 1px solid #d8d6d4; }
body.dp-child-layout-live .dp-s29-products-column {
  grid-column: 1 / -1;
  min-width: 0;
}
body.dp-child-layout-live .dp-s29-results-shell--open .dp-s29-products-column { grid-column: 2; }
body.dp-child-layout-live .dp-s29-filter-group > summary {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  border-bottom: 1px solid #d8d6d4;
  color: #171717;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}
body.dp-child-layout-live .dp-s29-filter-group { margin: 0; border: 0; }
body.dp-child-layout-live .dp-s29-filter-group > summary { list-style: none; cursor: pointer; }
body.dp-child-layout-live .dp-s29-filter-chevron { flex: 0 0 8px; margin-right: 5px; }
body.dp-child-layout-live .dp-s29-filter-group > summary::-webkit-details-marker { display: none; }
body.dp-child-layout-live .dp-s29-filter-options { display: grid; gap: 10px; padding: 14px 0 18px; }
body.dp-child-layout-live .dp-s29-filter-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  color: #353331;
  font-size: 13px;
  line-height: 1.45;
  cursor: pointer;
}
body.dp-child-layout-live .dp-s29-filter-option input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #780018;
}
body.dp-child-layout-live .dp-s29-filter-option small { color: #777; font-size: 11px; }
body.dp-child-layout-live .dp-s29-price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px 0 18px; }
body.dp-child-layout-live .dp-s29-price-fields > label { display: grid; gap: 6px; color: #625f5c; font-size: 12px; }
body.dp-child-layout-live .dp-s29-price-input { display: flex; min-height: 40px; align-items: center; gap: 5px; padding: 0 8px; border: 1px solid #d8d6d4; color: #555; }
body.dp-child-layout-live .dp-s29-price-input input { width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; color: #171717; font: inherit; }
body.dp-child-layout-live .dp-s29-filter-panel__actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 18px 0; }
body.dp-child-layout-live .dp-s29-filter-panel__actions a { color: #5c5653; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
body.dp-child-layout-live .dp-s29-filter-panel__actions button {
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid #171717;
  background: #171717;
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
body.dp-child-layout-live .dp-s29-filter-toggle:focus-visible,
body.dp-child-layout-live .dp-s29-sort summary:focus-visible,
body.dp-child-layout-live .dp-s29-sort-menu a:focus-visible,
body.dp-child-layout-live .dp-s29-filter-group > summary:focus-visible,
body.dp-child-layout-live .dp-s29-filter-panel__actions a:focus-visible,
body.dp-child-layout-live .dp-s29-filter-panel__actions button:focus-visible { outline: 2px solid #780018; outline-offset: 4px; }
body.dp-child-layout-live .dp-s29-filter-panel { overflow-x: hidden; }
body.dp-child-layout-live .dp-s29-results-shell--open #dp-category-product-results > li.product .sp-product-image {
  position: relative;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 5 !important;
  overflow: hidden;
  background: transparent !important;
}
body.dp-child-layout-live .dp-s29-results-shell--open #dp-category-product-results > li.product .sp-product-image .img-wrap {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto;
  overflow: hidden;
  background: transparent !important;
}
body.dp-child-layout-live .dp-s29-results-shell--open #dp-category-product-results > li.product .sp-product-image .img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 769px) {
  body.dp-child-layout-live .dp-s29-filter-panel {
    position: sticky;
    top: calc(var(--dp-admin-bar-height, 0px) + var(--dp-site-header-height, 7.7rem) + 16px);
    align-self: start;
    max-height: calc(100vh - var(--dp-admin-bar-height, 0px) - var(--dp-site-header-height, 7.7rem) - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 768px) {
  body.dp-child-layout-live .dp-s29-results-toolbar { margin: 0 0 16px; font-size: 12px; }
  body.dp-child-layout-live .dp-s29-results-shell,
  body.dp-child-layout-live .dp-s29-results-shell--open { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.dp-child-layout-live .dp-s29-filter-panel,
  body.dp-child-layout-live .dp-s29-results-shell--open .dp-s29-products-column { grid-column: 1; }
  body.dp-child-layout-live .dp-s29-filter-panel { position: static; max-height: none; overflow: visible; padding: 0 0 8px; }
  body.dp-child-layout-live .dp-s29-sort-menu { min-width: min(260px, 82vw); }
}
@media (max-width: 768px) {
  body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap {
    position: static;
    top: auto;
    margin-bottom: 20px !important;
  }
  body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "intro" "rail";
    align-items: start;
    column-gap: 0;
  }
  body.dp-child-layout-live .dp-child-layout__title { grid-area: title; margin: 20px 0 10px; }
  body.dp-child-layout-live .dp-child-layout__intro { grid-area: intro; margin: 0 0 17px !important; }
  body.dp-child-layout-live .dp-s25-child-categories { grid-area: rail; }
}

/* Child archive product details and wishlist placement, shared by filtered results. */
body.dp-child-layout-live #dp-category-product-results > li.product .nv-card-content-wrapper { position: relative; }
body.dp-child-layout-live #dp-category-product-results > li.product .nv-product-content {
  display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 12px 0 0; gap: 6px;margin-left: 1rem;
}
body.dp-child-layout-live #dp-category-product-results > li.product .woocommerce-loop-product__title {
  font-family: var(--bodyfontfamily, Arial, sans-serif); font-size: 16px; font-weight: 400; line-height: 1.4; text-align: left; margin: 0; padding: 0;
}
body.dp-child-layout-live #dp-category-product-results > li.product .price {
  display: block; font-family: var(--bodyfontfamily, Arial, sans-serif); font-size: 14px; font-weight: 400; line-height: 1.4; text-align: left; margin: 0;
}
body.dp-child-layout-live #dp-category-product-results > li.product .dp-child-product-summary {
  font-family: var(--bodyfontfamily, Arial, sans-serif); font-size: 14px; font-weight: 400; line-height: 1.5; color: #777; margin: 0;
}
body.dp-child-layout-live #dp-category-product-results > li.product .nv_add_to_cart_button,
body.dp-child-layout-live #dp-category-product-results > li.product .nv-product-content .flex-break { display: none !important; }
body.dp-child-layout-live #dp-category-product-results > li.product .sp-product-inline-actions {
  position: absolute; top: 10px; right: 10px; bottom: auto; left: auto; z-index: 30; margin: 0; padding: 0; width: auto; opacity: 0; visibility: visible; pointer-events: none; transition: opacity 160ms ease;
}
body.dp-child-layout-live #dp-category-product-results > li.product .sp-wl-wrap { margin: 0; }
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 8px; background: transparent !important; color: #111 !important; border-radius: 50%;
}
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl svg { width: 24px; height: 24px; stroke-width: 1.6; }
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl.item-added svg { fill: currentColor; }
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl:focus-visible { outline: 2px solid #780018; outline-offset: 2px; }
body.dp-child-layout-live #dp-category-product-results > li.product:hover .sp-product-inline-actions,
body.dp-child-layout-live #dp-category-product-results > li.product:focus-within .sp-product-inline-actions { opacity: 1; pointer-events: auto; }
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl:hover,
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl:focus-visible {
  background: #9e1b32 !important; color: #fff !important; opacity: 1; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #f0f0f0;
}
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl .tooltip {
  position: absolute; top: calc(100% + 9px); right: 0; bottom: auto; left: auto; transform: none;
  width: max-content; max-width: 220px; height: auto; margin: 0; padding: 10px 12px; border-radius: 4px;
  background: #fff; color: #222; font-family: var(--bodyfontfamily, Arial, sans-serif); font-size: 13px;
  font-weight: 400; line-height: 1.4; text-transform: uppercase; white-space: nowrap;
  opacity: 0; visibility: hidden; pointer-events: none; box-shadow: none;
}
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl .tooltip::before,
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl .tooltip::after { display: none; }
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl:not(.item-added):hover .tooltip,
body.dp-child-layout-live #dp-category-product-results > li.product .add-to-wl:not(.item-added):focus-visible .tooltip { opacity: 1; visibility: visible; }
@media (hover: none) {
  body.dp-child-layout-live #dp-category-product-results > li.product .sp-product-inline-actions { opacity: 1; pointer-events: auto; }
}

/* Mobile child categories: put the featured card first in the swipe rail. */
@media (max-width: 768px) {
  body.dp-child-layout-live .dp-child-layout__title {
    justify-self: start; width: 100%; max-width: none; margin-inline: 0 !important; text-align: left !important;
  }
  body.dp-child-layout-live .dp-s25-child-categories { display: block; }
  body.dp-child-layout-live .dp-s25-child-categories__viewport { width: 100%; }
  body.dp-child-layout-live .dp-s25-child-categories__track { align-items: stretch; gap: 10px; }
  body.dp-child-layout-live .dp-s25-child-card,
  body.dp-child-layout-live .dp-s25-child-card--featured { flex: 0 0 38.5%; width: 38.5%; margin: 0; }
  body.dp-child-layout-live .dp-s25-child-card__media { aspect-ratio: 66 / 97; }
  body.dp-child-layout-live .dp-s25-child-categories__controls {
    position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  }
  body.dp-child-layout-live .dp-s25-child-categories__controls .dp-red-ghost-chevron {
    position: absolute; top: 50%; transform: translateY(-50%);
  }
  body.dp-child-layout-live .dp-s25-child-categories__controls .dp-red-ghost-chevron--previous { left: 15px; right: auto; }
  body.dp-child-layout-live .dp-s25-child-categories__controls .dp-red-ghost-chevron--next { right: 15px; left: auto; }
  body.dp-child-layout-live #dp-category-product-results > li.product .sp-product-image {
    position: relative; width: 100% !important; height: auto !important; min-height: 0 !important;
    aspect-ratio: 4 / 5 !important; overflow: hidden; background: transparent !important;
  }
  body.dp-child-layout-live #dp-category-product-results > li.product .sp-product-image .img-wrap {
    position: absolute; inset: 0; width: 100% !important; height: 100% !important;
    aspect-ratio: auto; overflow: hidden; background: transparent !important;
  }
  body.dp-child-layout-live #dp-category-product-results > li.product .sp-product-image .img-wrap img {
    display: block; width: 100%; height: 100%; object-fit: cover;
  }
}

@media (max-width: 768px) {
  body.dp-child-layout-live #dp-category-product-results > li.product .woocommerce-loop-product__title,
  body.dp-child-layout-live #dp-category-product-results > li.product .price,
  body.dp-child-layout-live #dp-category-product-results > li.product .dp-pdp__selected-variation-description.dp-child-product-summary { font-size: 0.75rem; }
}

/* Reduce the mobile header-to-breadcrumb gap; the intro follows upward in flow. */
@media (max-width: 768px) {
  body.dp-child-layout-live .shop-container .nv-shop.col { margin-top: 15px !important; }
  body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap { margin-top: 0 !important; }
  body.dp-child-layout-live .dp-child-layout__title { margin-top: 5px !important; }
}
/* Keep Neve's breadcrumb above the Gutenberg intro and sorting below the category rail. */
body.dp-child-layout-live .nv-shop { display: flex; flex-direction: column; }
body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap { order: 0; }
body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop { display: block !important; order: 1; width: 100%; }
body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop > * { max-width: none; }
body.dp-child-layout-live .nv-shop > .nv-woo-filters { order: 2; }
body.dp-child-layout-live .nv-shop > .woocommerce-products-header,
body.dp-child-layout-live .nv-shop > .woocommerce-notices-wrapper,
body.dp-child-layout-live .nv-shop > ul.products,
body.dp-child-layout-live .nv-shop > .dp-s26-load-more,
body.dp-child-layout-live .nv-shop > .woocommerce-pagination { order: 3; }
body.dp-child-layout-live .nv-shop > .dp-child-layout-region--after-loop { display: block !important; order: 4; width: 100%; }
body.dp-child-layout-live .nv-shop > .dp-child-layout-region--after-loop > * { max-width: none; }

/* Align the breadcrumb, title and category intro with the child archive reference. */
@media (min-width: 769px) {
  body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap { position: relative; top: -20px; margin-bottom: 0 !important; }
  body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-areas: "title intro" "rail rail";
    align-items: center;
    column-gap: 32px;
    row-gap: 0;
  }
  body.dp-child-layout-live .dp-child-layout__title { grid-area: title; width: max-content; max-width: 100%; margin: -10px 0 10px; }
  body.dp-child-layout-live .dp-child-layout__intro { grid-area: intro; max-width: none; margin: 0 !important; }
  body.dp-child-layout-live .dp-s25-child-categories { grid-area: rail; }
}
@media (max-width: 768px) {
  body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap { position: static; top: auto; margin-bottom: 20px !important; }
  body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "intro" "rail";
    align-items: start;
    column-gap: 0;
  }
  body.dp-child-layout-live .dp-child-layout__title { grid-area: title; margin: 20px 0 10px; }
  body.dp-child-layout-live .dp-child-layout__intro { grid-area: intro; margin: 0 0 17px !important; }
  body.dp-child-layout-live .dp-s25-child-categories { grid-area: rail; }
}

/* S29 flex order: keep the child-layout intro directly below breadcrumbs,
   and place the controls and product grid after the category rail. */
body.dp-child-layout-live .nv-shop > .nv-bc-count-wrap { order: 0 !important; }
body.dp-child-layout-live .nv-shop > .nv-woo-filters:empty { display: none !important; }
body.dp-child-layout-live .nv-shop > .dp-child-layout-region--before-loop {
  order: 1 !important;
  width: 100%;
}
body.dp-child-layout-live .nv-shop > .dp-s29-results-toolbar {
  order: 2 !important;
  width: 100%;
}
body.dp-child-layout-live .nv-shop > .dp-s29-results-shell {
  order: 3 !important;
  width: 100%;
}
body.dp-child-layout-live .nv-shop > .woocommerce-products-header,
body.dp-child-layout-live .nv-shop > .woocommerce-notices-wrapper,
body.dp-child-layout-live .nv-shop > ul.products,
body.dp-child-layout-live .nv-shop > .dp-s26-load-more,
body.dp-child-layout-live .nv-shop > .woocommerce-pagination {
  order: 4 !important;
}
body.dp-child-layout-live .nv-shop > .dp-child-layout-region--after-loop {
  order: 5 !important;
  width: 100%;
}

/* Shared product-card Gemstone icons. The renderer runs on every WooCommerce card. */
.dp-product-gemstones { position: absolute; right: 12px; bottom: 12px; left: 12px; z-index: 2; display: flex; align-items: center; gap: 8px; width: auto; height: 24px; min-height: 24px; max-width: calc(100% - 24px); padding: 0; margin: 0; background: transparent; border: 0; pointer-events: none; }
.dp-product-gemstone { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; overflow: hidden; border: 1px solid rgba(23,23,23,.5); border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(255,255,255,.85) inset; }
.dp-product-gemstone img { position: static !important; display: block !important; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 100% !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; object-fit: cover !important; }
.dp-product-gemstone { pointer-events: auto; }
.dp-product-gemstones { z-index: 20; }
.dp-product-gemstone:first-child { box-shadow: 0 0 0 2px #fff, 0 0 0 3px #171717, 0 0 0 4px rgba(255,255,255,.8); }
.dp-product-gemstone-count { color: #777; font-size: 13px; line-height: 1; }

/* Compact WooCommerce Shop cards: gemstone choices, product details and summary. */
body.woocommerce-shop main#content {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin-inline: 0;
	padding-inline: 15px;
}

body.woocommerce-shop main#content > .container.shop-container {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin-inline: 0;
	padding-inline: 0;
}

body.woocommerce-shop main#content > .container.shop-container > .row {
	width: 100%;
	margin-inline: 0;
}

body.woocommerce-shop .shop-container .nv-shop.col {
	flex: 0 0 100%;
	width: 100%;
	max-width: none;
	padding-inline: 0;
}

body.woocommerce-shop .nv-shop > ul.products:not(.nv-cat) {
	width: 100%;
	max-width: none;
	margin-inline: 0 !important;
}

body.woocommerce-shop ul.products > li.product .sp-product-image {
	position: relative;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	box-sizing: border-box;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #f7f7f7;
}

body.woocommerce-shop ul.products > li.product .sp-product-image .img-wrap,
body.woocommerce-shop ul.products > li.product .sp-product-image .nv-product-image {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	aspect-ratio: auto;
}

body.woocommerce-shop ul.products > li.product .sp-product-image .img-wrap img,
body.woocommerce-shop ul.products > li.product .sp-product-image .nv-product-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover !important;
}

body.woocommerce-shop ul.products > li.product .nv-product-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	box-sizing: border-box;
	gap: 6px;
	margin: 0 !important;
	padding: 12px 15px 0 !important;
	text-align: left !important;
}

body.woocommerce-shop ul.products > li.product .woocommerce-loop-product__title,
body.woocommerce-shop ul.products > li.product .price,
body.woocommerce-shop ul.products > li.product .dp-child-product-summary {
	align-self: flex-start;
	width: 100%;
	margin: 0 !important;
	text-align: left !important;
}

body.woocommerce-shop ul.products > li.product .price {
	font-size: 14px !important;
}

body.woocommerce-shop ul.products > li.product .woocommerce-loop-product__title {
	font-size: 16px !important;
	font-weight: 600 !important;
}

body.woocommerce-shop ul.products > li.product .dp-child-product-summary {
	color: #777;
	font-size: 0.9rem;
	line-height: 1.45;
}

body.woocommerce-shop ul.products > li.product .nv-product-content .nv_add_to_cart_button,
body.woocommerce-shop ul.products > li.product .nv_add_to_cart_button,
body.woocommerce-shop ul.products > li.product .add_to_cart_button,
body.woocommerce-shop ul.products > li.product .added_to_cart,
body.woocommerce-shop ul.products > li.product .nv-product-content .flex-break,
body.woocommerce-shop ul.products > li.product .sp-product-inline-actions,
body.woocommerce-shop ul.products > li.product form.sp-catalog-variation {
	display: none !important;
}

@media (max-width: 768px) {
	body.woocommerce-shop ul.products > li.product .nv-product-content {
		padding-inline: 15px !important;
	}
	body.woocommerce-shop ul.products > li.product .dp-child-product-summary {
		font-size: 0.75rem;
	}
}

/* Child category product cards keep the image Gemstone chips, but do not
 * repeat the full variation picker (Gemstone, Metal and Size) below each card. */
body.dp-s22-child-archive ul.products > li.product form.sp-catalog-variation,
body.dp-child-layout-live ul.products > li.product form.sp-catalog-variation {
	display: none !important;
}

/* Keep WooCommerce order actions high-contrast on the signed-in account orders tab. */
body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
	border: 1px solid #000 !important;
	background: #000 !important;
	color: #fff !important;
	font-weight: 400 !important;
}

body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:hover,
body.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:focus-visible {
	border-color: #222 !important;
	background: #222 !important;
	color: #fff !important;
}

/* Match the account-details "Save changes" action to the orders buttons. */
body.woocommerce-account form.woocommerce-EditAccountForm button[name="save_account_details"] {
	border: 1px solid #000 !important;
	background: #000 !important;
	color: #fff !important;
	font-weight: 400 !important;
}

body.woocommerce-account form.woocommerce-EditAccountForm button[name="save_account_details"]:hover,
body.woocommerce-account form.woocommerce-EditAccountForm button[name="save_account_details"]:focus-visible {
	border-color: #222 !important;
	background: #222 !important;
	color: #fff !important;
}

@media (max-width: 768px) {
	body.woocommerce-account .woocommerce-MyAccount-content {
		box-sizing: border-box;
		padding-inline-start: 5px;
	}
}

/* PDP — CHOOSE YOUR WIDTH. Opt-in linked articles; 316:425 previews / 472:512 guide. */
body.dp-pdp .dp-pdp-width {
	--dp-width-card-width: clamp(220px, 22vw, 316px);
	--dp-width-comparison-width: clamp(340px, 33vw, 472px);
	--dp-width-gap: 20px;
	--dp-width-image-height: calc(var(--dp-width-card-width) * 425 / 316);
	--dp-width-note-height: calc(var(--dp-width-comparison-width) * 512 / 472);
	--dp-width-card-top: max(0px, calc((var(--dp-width-note-height) - var(--dp-width-image-height)) / 2));
	--dp-width-stage-height: max(var(--dp-width-note-height), calc(var(--dp-width-card-top) + var(--dp-width-image-height) + 76px));
	--dp-width-start: calc(var(--dp-width-card-width) * -0.35);
	--dp-width-selected-left: calc(var(--dp-width-start) + var(--dp-width-card-width) + var(--dp-width-gap));
	width: 100%;
	margin: 90px 0 72px;
	font-family: "Albert Sans", Arial, sans-serif;
}

body.dp-pdp .dp-pdp-width > h2 {
	margin: 0 15px 58px;
	font: 500 24px/1.3 "Albert Sans", Arial, sans-serif;
	text-align: center;
	color: #111;
}

body.dp-pdp .dp-pdp-width__stage {
	position: relative;
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	min-height: var(--dp-width-stage-height);
}

body.dp-pdp .dp-pdp-width__viewport {
	width: 100%;
	height: var(--dp-width-stage-height);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	touch-action: auto;
}

body.dp-pdp .dp-pdp-width__viewport::-webkit-scrollbar { display: none; }
body.dp-pdp .dp-pdp-width.is-ready .dp-pdp-width__viewport { overflow: hidden; touch-action: pan-y; }

body.dp-pdp .dp-pdp-width__cards {
	display: flex;
	gap: var(--dp-width-gap);
	width: max-content;
	margin: 0;
	padding: var(--dp-width-card-top) 0 0;
	list-style: none;
	transform: translateX(calc(var(--dp-width-start) + var(--dp-width-shift, 0px)));
	transition: transform 300ms ease;
}

body.dp-pdp .dp-pdp-width__cards.is-reordering { transition: none; }
body.dp-pdp .dp-pdp-width__card { flex: 0 0 var(--dp-width-card-width); width: var(--dp-width-card-width); margin: 0; padding: 0; }
body.dp-pdp .dp-pdp-width__card > a { display: block; color: #111; text-decoration: none; }

body.dp-pdp .dp-pdp-width__image {
	position: relative;
	width: 100%;
	aspect-ratio: 316 / 425;
	overflow: hidden;
	transform: scale(0.92);
	transform-origin: center center;
	transition: transform 300ms ease;
}

body.dp-pdp .dp-pdp-width__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgb(0 0 0 / 16%);
	pointer-events: none;
	transition: opacity 300ms ease;
}

body.dp-pdp .dp-pdp-width__card.is-selected .dp-pdp-width__image { transform: none; }
body.dp-pdp .dp-pdp-width__card.is-selected .dp-pdp-width__image::after { opacity: 0; }
body.dp-pdp .dp-pdp-width__image img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }

body.dp-pdp .dp-pdp-width__badge {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
}

body.dp-pdp .dp-pdp-width__details { visibility: hidden; padding: 12px 3px 0; }
body.dp-pdp .dp-pdp-width__card.is-selected .dp-pdp-width__details { visibility: visible; }
body.dp-pdp .dp-pdp-width__name { margin: 0 0 4px; font: 400 16px/1.35 "Albert Sans", Arial, sans-serif; }
body.dp-pdp .dp-pdp-width__name span { color: #777; white-space: nowrap; }
body.dp-pdp .dp-pdp-width__price { font: 400 14px/1.4 "Albert Sans", Arial, sans-serif; }

body.dp-pdp .dp-pdp-width__comparison {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	width: var(--dp-width-comparison-width);
	aspect-ratio: 472 / 512;
	background: #fff;
}

body.dp-pdp .dp-pdp-width__comparison img { display: block; width: 100%; height: 100%; margin: 0; object-fit: contain; }
body.dp-pdp .dp-pdp-width__controls { display: none; }
body.dp-pdp .dp-pdp-width.is-ready .dp-pdp-width__controls { display: block; }

body.dp-pdp .dp-pdp-width__arrow {
	position: absolute;
	top: calc(var(--dp-width-card-top) + var(--dp-width-image-height) / 2 - 22px);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #940a1f;
	cursor: pointer;
}

body.dp-pdp .dp-pdp-width__arrow--previous { left: calc(var(--dp-width-selected-left) - 22px); }
body.dp-pdp .dp-pdp-width__arrow--next { left: calc(var(--dp-width-selected-left) + var(--dp-width-card-width) - 22px); }
body.dp-pdp .dp-pdp-width__arrow svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body.dp-pdp .dp-pdp-width__arrow:hover { background: #f6f6f6; color: #940a1f; }
body.dp-pdp .dp-pdp-width__arrow:focus-visible,
body.dp-pdp .dp-pdp-width__card > a:focus-visible,
body.dp-pdp .dp-pdp-width__viewport:focus-visible { outline: 2px solid #940a1f; outline-offset: -2px; }

@media (max-width: 991px) {
	body.dp-pdp .dp-pdp-width {
		--dp-width-card-width: min(70vw, 352px);
		--dp-width-comparison-width: 100vw;
		--dp-width-gap: 8px;
		--dp-width-card-top: 0px;
		--dp-width-image-height: calc(var(--dp-width-card-width) * 453 / 352);
		--dp-width-stage-height: calc(var(--dp-width-image-height) + 76px);
		--dp-width-selected-left: calc((100vw - var(--dp-width-card-width)) / 2);
		--dp-width-start: calc(var(--dp-width-selected-left) - var(--dp-width-card-width) - var(--dp-width-gap));
		width: 100vw;
		margin: 64px calc(50% - 50vw) 48px;
		overflow: hidden;
	}
	body.dp-pdp .dp-pdp-width > h2 { margin-bottom: 30px; font-size: 22px; }
	body.dp-pdp .dp-pdp-width__stage { display: flex; flex-direction: column; min-height: 0; }
	body.dp-pdp .dp-pdp-width__comparison {
		position: relative;
		order: 1;
		flex: 0 0 auto;
		width: 100vw;
		height: 100vw;
		min-height: 0;
		margin: 0 0 24px;
		aspect-ratio: 1;
	}
	body.dp-pdp .dp-pdp-width__comparison img { object-fit: cover; }
	body.dp-pdp .dp-pdp-width__viewport { position: relative; order: 2; flex: 0 0 auto; }
	body.dp-pdp .dp-pdp-width__image { aspect-ratio: 352 / 453; }
	body.dp-pdp .dp-pdp-width__details { padding: 12px 6px 0; text-align: center; }
	body.dp-pdp .dp-pdp-width__controls {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
		width: 100%;
		height: calc(100% - 76px);
		pointer-events: none;
	}
	body.dp-pdp .dp-pdp-width__arrow {
		top: 50%;
		width: 32px;
		height: 40px;
		min-height: 40px;
		transform: translateY(-50%);
		pointer-events: auto;
	}
	body.dp-pdp .dp-pdp-width__arrow--previous { left: 0; }
	body.dp-pdp .dp-pdp-width__arrow--next { right: 0; left: auto; }
	body.dp-pdp .dp-pdp-width__arrow svg { width: 18px; height: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	body.dp-pdp .dp-pdp-width__cards,
	body.dp-pdp .dp-pdp-width__image,
	body.dp-pdp .dp-pdp-width__image::after { transition: none; }
}

/* PDP gallery only: reduce both chevron glyphs, keeping the shared buttons intact. */
body.dp-pdp .nv-single-product-top button.dp-pdp-gallery-arrow.dp-pdp-gallery-arrow--previous.dp-red-ghost-chevron.dp-red-ghost-chevron--previous > span,
body.dp-pdp .nv-single-product-top button.dp-pdp-gallery-arrow.dp-pdp-gallery-arrow--next.dp-red-ghost-chevron.dp-red-ghost-chevron--next > span {
	width: 14px;
	height: 14px;
}

body.dp-pdp .nv-single-product-top button.dp-pdp-gallery-arrow.dp-pdp-gallery-arrow--previous.dp-red-ghost-chevron.dp-red-ghost-chevron--previous > span::before,
body.dp-pdp .nv-single-product-top button.dp-pdp-gallery-arrow.dp-pdp-gallery-arrow--next.dp-red-ghost-chevron.dp-red-ghost-chevron--next > span::before {
	top: 1px;
	left: 1px;
	width: 12px;
	height: 12px;
	border-right-width: 2px;
	border-bottom-width: 2px;
}

@media (max-width: 768px) {
	body.dp-pdp .dp-rail ul.products li.product .woocommerce-loop-product__title {
		font-weight: 400 !important;
		font-size: 15px !important;
	}
}

/* Desktop mini-cart actions only: keep the header cart buttons black with white text. */
@media (min-width: 960px) {
	.nv-nav-cart .widget_shopping_cart_content .buttons a.button.wc-forward,
	.nv-nav-cart .widget_shopping_cart_content .buttons a.button.checkout,
	.nv-nav-cart .widget_shopping_cart_content .buttons a.button.wc-forward:hover,
	.nv-nav-cart .widget_shopping_cart_content .buttons a.button.checkout:hover,
	.nv-nav-cart .widget_shopping_cart_content .buttons a.button.wc-forward:focus-visible,
	.nv-nav-cart .widget_shopping_cart_content .buttons a.button.checkout:focus-visible {
		background: #000 !important;
		border-color: #000 !important;
		color: #fff !important;
		font-weight: 500 !important;
		font-size: 16px !important;
	}
}

/* On desktop PDP add-to-cart drawer, show only the selected size attribute. */
@media (min-width: 960px) {
	body.dp-pdp .dp-pdp-drawer__panel .dp-pdp-drawer__item-meta-attribute--gemstone,
	body.dp-pdp .dp-pdp-drawer__panel .dp-pdp-drawer__item-meta-attribute--metal {
		display: none !important;
	}

	body.dp-pdp .dp-pdp-drawer__panel .dp-pdp-drawer__suggestions {
		border-top: 0;
	}
}

/* Root layouts 884 (Men) and 885 (Women): let hero images cover the whole block. */
body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-product-cat-default__hero {
	background: transparent !important;
}

body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-product-cat-default__hero .wp-block-cover__image-background {
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center !important;
	transform: none !important;
	filter: none !important;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
}

body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-product-cat-default__hero > .wp-block-cover__background {
	display: none !important;
}

/* Homepage hero copy: anchor the content 60px from the image's bottom-left
 * edges on desktop. Preserve the existing centered mobile composition. */
@media (min-width: 768px) {
	body.page-id-469 .dp-hero-for-kings .innerblocks-wrap {
		align-items: flex-end !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	body.page-id-469 .dp-hero-for-kings__content {
		margin: 0 0 60px 60px !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.page-id-469 .dp-founders-story__column {
		align-items: flex-end !important;
	}

	body.page-id-469 .dp-founders-story__content {
		align-self: flex-end !important;
		margin: 0 0 60px 60px !important;
		padding: 0 !important;
	}

	body.page-id-469 .dp-founders-story__text {
		margin-left: 0 !important;
		margin-right: 0 !important;
		text-align: left !important;
	}
}

/* Men/Women category layouts 884/885: anchor hero and editorial copy like the
 * homepage hero while leaving other covers and mobile layouts untouched. */
@media (min-width: 768px) {
	body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-category-layout-region--hero .wp-block-cover {
		align-items: flex-end !important;
		justify-content: flex-start !important;
	}

	body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-category-layout-region--hero .wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow {
		box-sizing: border-box;
		width: calc(100% - 120px) !important;
		max-width: none !important;
		margin: 0 0 60px 60px !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-product-cat-default__editorial-copy-column {
		position: absolute !important;
		inset: auto auto 0 0 !important;
		margin: 0 !important;
		padding: 0 0 60px 60px !important;
	}

	body.tax-product_cat:is(:is(.term-mens.dp-s23-root-layout--mens, .dp-root-layout-copy), .term-womens.dp-s23-root-layout--womens) .dp-product-cat-outro__campaign-b-copy-column {
		position: absolute !important;
		inset: auto auto 0 0 !important;
		margin: 0 !important;
		padding: 0 0 60px 60px !important;
	}
}
/* Shared Related/curated recommendation image tiles: 4:5 at every breakpoint.
 * On desktop, five 281px cards plus four 3px gaps.
 * Keep Trending Now, shop cards and the homepage outside this scope. */
body.dp-pdp section.dp-rail:is(.related, .up-sells) .sp-product-image.sp-same-image-height {
	height: auto !important;
	flex-basis: auto !important;
}
body.dp-pdp section.dp-rail:is(.related, .up-sells) .sp-product-image .img-wrap {
	width: 100%;
	height: auto !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}
body.dp-pdp section.dp-rail:is(.related, .up-sells) .img-wrap > img,
body.dp-pdp section.dp-rail:is(.related, .up-sells) .img-wrap > a > img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
@media (min-width: 992px) {
	body.dp-pdp section.dp-rail:is(.related, .up-sells) > ul.products,
	body.dp-pdp section.dp-rail:is(.related, .up-sells) .tns-inner > ul.products {
		max-width: 1417px;
		margin-inline: auto !important;
	}
}
.scroll-to-top {
  color: white;
}