/*
 * Driven By Light — Living Path OS v2 customer-experience styles.
 * Shared by the homepage, collection worlds, product storytelling, and
 * discovery filter bar. Mobile-first; nothing here depends on hover,
 * and every touch target is at least 44px tall.
 */

:root {
	--dbl-lpos-gold: #d3a746;
	--dbl-lpos-ink: #21190b;
}

/* ---------------------------------------------------------------- */
/* Homepage                                                          */
/* ---------------------------------------------------------------- */

.dbl-lpos-homepage {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 16px;
	/* display:flex + explicit `order` below is what lets Editorial mode
	   actually reorder sections (not just restyle a button) via pure
	   CSS — the DOM/source order (and therefore the no-JS, no-mode-
	   selected default) is untouched; only the mode attribute below
	   changes visual order. */
	display: flex;
	flex-direction: column;
}

/* v8, FEATURE 28 (upgraded): each mode is a genuinely different
   presentation, not a relabeled button. See homepage.js's doc
   comment for the full rationale. */

.dbl-lpos-hero {
	/* Always first, regardless of any mode's reordering below — it's
	   the entry point and holds the mode picker itself. Found and
	   fixed via this feature's own browser test: without this, the
	   negative `order` values below (needed so sections move ahead of
	   "Featured Products", which has no explicit order and defaults
	   to 0) also pushed them ahead of the hero, since the hero itself
	   had no explicit order either. */
	order: -100;
	text-align: center;
	padding: 64px 0 40px;
	position: relative;
	overflow: hidden;
}

/*
 * v6.0.0 fix: recording 3 confirmed the homepage as "basic links and
 * substantial unused space" with "poor visual contrast" on some
 * controls. This is a real, original (not stock-template, not an
 * image asset) visual treatment — radiating light rays rendered
 * entirely in CSS gradients, directly answering "faith, movement,
 * discovery, light" without fabricating any photography or customer
 * content. Disabled under reduced motion (it's a static gradient
 * either way, nothing animates, so no further guard is needed for
 * motion — this comment exists so a reviewer doesn't need to
 * re-check that).
 */
.dbl-lpos-hero::before {
	content: '';
	position: absolute;
	top: -20%;
	left: 50%;
	width: 220%;
	height: 160%;
	transform: translateX(-50%);
	background:
		repeating-conic-gradient(
			from 0deg at 50% 0%,
			rgba(241, 196, 15, 0.10) 0deg 4deg,
			transparent 4deg 16deg
		);
	pointer-events: none;
	z-index: 0;
}

.dbl-lpos-hero > * {
	position: relative;
	z-index: 1;
}

.dbl-lpos-hero__eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	/* v6.0.0 fix: #777 on white is ~4.48:1 — fails WCAG AA (4.5:1)
	   for text this size. #595959 clears 7:1. Confirmed real finding,
	   not a hypothetical one — see docs/ACCESSIBILITY-REPORT.md. */
	color: #595959;
	margin: 0 0 0.5em;
}

.dbl-lpos-hero__slogan {
	font-family: "Arial Black", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.6rem, 6vw, 2.75rem);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #fff;
	-webkit-text-stroke: 1px var(--dbl-lpos-gold);
	text-shadow: 2px 2px 0 var(--dbl-lpos-ink), -2px -2px 0 var(--dbl-lpos-ink), 2px -2px 0 var(--dbl-lpos-ink), -2px 2px 0 var(--dbl-lpos-ink);
	margin: 0 0 1.25em;
	background: var(--dbl-lpos-ink);
	display: inline-block;
	padding: 0.3em 0.6em;
}

.dbl-lpos-hero__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.dbl-lpos-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px;
	text-decoration: none;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.9rem;
	border: 2px solid var(--dbl-lpos-ink);
	color: var(--dbl-lpos-ink);
}

.dbl-lpos-hero__cta--primary {
	background: var(--dbl-lpos-ink);
	color: #fff;
	order: -1;
}

/* v7, FEATURE 28: Shopping Experience Preferences */

.dbl-lpos-hero__account {
	display: flex;
	gap: 16px;
	justify-content: center;
	font-size: 0.85rem;
}

.dbl-lpos-hero__account a,
.dbl-lpos-hero__account .dbl-lpos-hero__rewards {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.dbl-lpos-hero__rewards {
	color: #595959; /* v6.0.0 fix: same contrast issue as the eyebrow above. */
}

.dbl-lpos-homepage-section {
	margin: 2.5rem 0;
}

/* v6.0.0: always-rendered brand statement — see class-homepage.php's
   render_brand_statement() doc comment for why this exists. */
.dbl-lpos-brand-statement__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 24px;
	text-align: center;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	padding: 32px 0;
}

.dbl-lpos-brand-statement__word {
	display: block;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 1rem;
	color: var(--dbl-lpos-ink);
	margin-bottom: 0.4em;
	position: relative;
}

.dbl-lpos-brand-statement__word::after {
	content: '';
	display: block;
	width: 28px;
	height: 2px;
	background: var(--dbl-lpos-gold);
	margin: 0.5em auto 0;
}

.dbl-lpos-brand-statement__line {
	display: block;
	font-size: 0.85rem;
	color: #444;
	line-height: 1.5;
}

.dbl-lpos-homepage-section h2 {
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 1em;
}

.dbl-lpos-world-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.dbl-lpos-world-card {
	position: relative;
	display: block;
	text-decoration: none;
	color: inherit;
	border-bottom: 3px solid var(--dbl-lpos-world-accent, var(--dbl-lpos-ink));
	min-height: 44px;
}

.dbl-lpos-world-card img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

.dbl-lpos-world-card__name {
	display: block;
	padding: 10px 4px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.dbl-lpos-product-grid {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 16px;
	padding: 0;
	margin: 0;
}

.dbl-lpos-product-grid a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.dbl-lpos-product-grid img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 0.5em;
}

.dbl-lpos-product-grid__name {
	display: block;
	font-size: 0.9rem;
}

.dbl-lpos-product-grid__price {
	display: block;
	font-weight: 700;
	font-size: 0.85rem;
}

/* ---------------------------------------------------------------- */
/* Journey Atlas (v4.0.0) — a connected path, not a product grid.    */
/* Pure CSS: the line is a pseudo-element, markers are plain <span>s, */
/* cards are plain <a>s. Works with CSS disabled (a linear list) and  */
/* with JavaScript disabled (nothing here needs it).                  */
/* ---------------------------------------------------------------- */

.dbl-lpos-atlas {
	list-style: none;
	margin: 2rem auto;
	padding: 0;
	max-width: 720px;
	position: relative;
}

.dbl-lpos-atlas::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 23px;
	width: 2px;
	background: linear-gradient(to bottom, var(--dbl-lpos-gold, #f1c40f), transparent 100%);
}

.dbl-lpos-atlas__waypoint {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 2rem;
	padding-left: 0;
}

.dbl-lpos-atlas__marker {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--dbl-lpos-ink, #121212);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	position: relative;
	z-index: 1;
}

.dbl-lpos-atlas__card {
	flex: 1;
	display: block;
	text-decoration: none;
	color: inherit;
	border: 1px solid #ddd;
	padding: 14px 18px;
	min-height: 44px;
}

.dbl-lpos-atlas__card img {
	width: 100%;
	max-width: 220px;
	height: auto;
	display: block;
	margin-bottom: 10px;
}

.dbl-lpos-atlas__card strong {
	display: block;
	font-size: 1.05rem;
}

.dbl-lpos-atlas__card span {
	display: block;
	color: #666;
	font-size: 0.85rem;
	margin-top: 0.3em;
}

@media (min-width: 640px) {
	/* Alternating left/right only at wider widths — on a narrow phone
	   screen a single consistent column reads more clearly. */
	.dbl-lpos-atlas__waypoint:nth-child(even) {
		flex-direction: row-reverse;
	}
}

.dbl-lpos-category-nav ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 0;
}

.dbl-lpos-category-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid #ccc;
	text-decoration: none;
	color: inherit;
}

.dbl-lpos-trust-info {
	font-size: 0.85rem;
	color: #555;
	border-top: 1px solid #eee;
	padding-top: 1em;
}

/* ---------------------------------------------------------------- */
/* Collection worlds (category archives)                             */
/* ---------------------------------------------------------------- */

.dbl-lpos-world {
	margin-bottom: 1.5rem;
	border-bottom: 3px solid var(--dbl-lpos-world-accent, transparent);
	padding-bottom: 1rem;
}

.dbl-lpos-world__image {
	width: 100%;
	max-height: 320px;
	object-fit: cover;
	display: block;
	margin-bottom: 1rem;
}

.dbl-lpos-world--editorial .dbl-lpos-world__story {
	font-size: 1.05rem;
	line-height: 1.6;
	max-width: 65ch;
}

/* ---------------------------------------------------------------- */
/* Discovery filter bar                                              */
/* ---------------------------------------------------------------- */

.dbl-lpos-discovery {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #eee;
}

/* FEATURE 09 (v5.0.0) */
.dbl-lpos-discovery__search {
	display: flex;
	gap: 8px;
	margin-bottom: 1rem;
	max-width: 420px;
}

.dbl-lpos-discovery__search input[type="search"] {
	flex: 1;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid #ccc;
}

.dbl-lpos-discovery__search button {
	min-height: 44px;
	padding: 0 16px;
	border: 2px solid currentColor;
	background: none;
	cursor: pointer;
}

.dbl-lpos-discovery__suggestions {
	margin-top: 1.5rem;
}

.dbl-lpos-discovery__suggestions ul {
	list-style: none;
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	padding: 0;
	margin: 0.5em 0 0;
}

.dbl-lpos-discovery__label {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #595959;
	margin-bottom: 0.4em;
}

.dbl-lpos-discovery__group ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 0;
}

.dbl-lpos-discovery__group a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 12px;
	border: 1px solid #ccc;
	text-decoration: none;
	color: inherit;
	font-size: 0.85rem;
}

.dbl-lpos-discovery__group a.is-active {
	background: var(--dbl-lpos-ink);
	color: #fff;
	border-color: var(--dbl-lpos-ink);
}

/* ---------------------------------------------------------------- */
/* Product storytelling                                              */
/* ---------------------------------------------------------------- */

.dbl-lpos-product-story {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #eee;
}

.dbl-lpos-product-story__collection {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 10px;
	border: 1px solid var(--dbl-lpos-ink);
	border-radius: 0;
	text-decoration: none;
	color: inherit;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-bottom: 1em;
}

.dbl-lpos-product-story__text {
	line-height: 1.6;
	max-width: 65ch;
}

.dbl-lpos-product-story__field {
	max-width: 65ch;
	margin-bottom: 1.25rem;
}

.dbl-lpos-product-story__field h3 {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #595959;
	margin: 0 0 0.4em;
}

.dbl-lpos-product-story__field div {
	line-height: 1.6;
}

.dbl-lpos-product-story__reference {
	font-style: italic;
	color: #666;
	font-size: 0.9rem;
}

.dbl-lpos-product-journeys {
	margin-top: 1rem;
}

.dbl-lpos-product-journeys a {
	display: block;
	min-height: 44px;
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	font-size: 0.9rem;
}

.dbl-lpos-trust-info {
	margin-top: 1rem;
	font-size: 0.85rem;
	color: #555;
}

.dbl-lpos-empty-admin-note {
	padding: 10px 14px;
	background: #fffbea;
	border-left: 3px solid var(--dbl-lpos-gold);
	font-size: 0.85rem;
}

@media (max-width: 480px) {
	.dbl-lpos-hero__actions {
		flex-direction: column;
	}
	.dbl-lpos-hero__cta {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dbl-lpos-world-card,
	.dbl-lpos-hero__cta {
		transition: none;
	}
}

/* ---------------------------------------------------------------- */
/* Light Vault (My Account tab)                                      */
/* ---------------------------------------------------------------- */

.dbl-lpos-vault {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
}

.dbl-lpos-vault__card {
	border: 1px solid #ddd;
	padding: 20px;
}

.dbl-lpos-vault__card h2 {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 12px;
}

.dbl-lpos-vault__rewards-balance {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
}

.dbl-lpos-vault__journeys {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dbl-lpos-vault__journeys li {
	padding: 6px 0;
}

/* ---------------------------------------------------------------- */
/* Customer Order Journey (v5.0.0, FEATURE 25)                       */
/* ---------------------------------------------------------------- */

.dbl-lpos-order-journey {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dbl-lpos-order-journey__row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	flex-wrap: wrap;
}

.dbl-lpos-order-journey__number {
	font-weight: 700;
}
.dbl-lpos-order-journey__shipment {
	flex-basis: 100%;
	margin: 0;
	padding-left: .8rem;
	border-left: 2px solid #c19949;
	font-size: .9rem;
}

/* ---------------------------------------------------------------- */
/* The Light Connection (v5.0.0, FEATURE 26)                          */
/* ---------------------------------------------------------------- */

.dbl-lpos-light-connection {
	margin-top: 1.5rem;
}

.dbl-lpos-light-connection h3 {
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 0.5em;
}

.dbl-lpos-light-connection ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.dbl-lpos-light-connection a {
	text-decoration: underline;
}

/* ---------------------------------------------------------------- */
/* Product Size Guidance (v5.0.0, FEATURE 23)                        */
/* ---------------------------------------------------------------- */

.dbl-lpos-size-guidance {
	margin-top: 1.5rem;
	border-top: 1px solid #eee;
	padding-top: 1rem;
}

.dbl-lpos-size-guidance h3 {
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 0.5em;
}

/* ---------------------------------------------------------------- */
/* The Discovery Wall (v5.0.0, FEATURE 17)                            */
/* ---------------------------------------------------------------- */

.dbl-lpos-discovery-wall {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin: 2rem 0;
}

.dbl-lpos-discovery-wall__tile {
	position: relative;
	display: block;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	background: #f4f4f4;
}

.dbl-lpos-discovery-wall__tile--tall {
	grid-row: span 2;
}

.dbl-lpos-discovery-wall__tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.dbl-lpos-discovery-wall__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 10px 12px;
	background: linear-gradient(to top, rgba(0,0,0,0.65), transparent);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
}

.dbl-lpos-discovery-wall__kicker {
	display: block;
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.85;
}

/* ---------------------------------------------------------------- */
/* The Light Archive (v5.0.0, FEATURE 18)                            */
/* ---------------------------------------------------------------- */

.dbl-lpos-archive__search {
	width: 100%;
	max-width: 420px;
	padding: 10px 14px;
	margin-bottom: 1.5rem;
	border: 1px solid #ccc;
	font-size: 1rem;
}

.dbl-lpos-archive__group {
	margin-bottom: 2rem;
}

.dbl-lpos-archive__group h2 {
	font-size: 1.1rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-bottom: 1px solid #ddd;
	padding-bottom: 0.4em;
}

.dbl-lpos-archive__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dbl-lpos-archive__item {
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}

.dbl-lpos-archive__item a {
	font-weight: 700;
	text-decoration: none;
}

.dbl-lpos-archive__item p {
	margin: 4px 0 0;
	color: #555;
	font-size: 0.9rem;
}

.dbl-lpos-archive__empty-search {
	display: none;
}
/* Gift Pathfinder — a real catalog query with no client-side dependency. */
.dbl-lpos-gift-pathfinder {
	position: relative;
	isolation: isolate;
	margin: clamp(2.5rem, 6vw, 6rem) auto;
	padding: clamp(1.5rem, 4vw, 4rem);
	background: radial-gradient(circle at 86% 15%, rgba(216, 173, 91, .22), transparent 28%), #171410;
	color: #f8f3e8;
	border: 1px solid #7b6b4b;
	border-radius: 0 3rem 0 3rem;
}
.dbl-lpos-gift-pathfinder__intro { max-width: 42rem; }
.dbl-lpos-gift-pathfinder__eyebrow {
	color: #ebc773;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.dbl-lpos-gift-pathfinder h2 {
	color: inherit;
	font-size: clamp(2rem, 5vw, 4rem);
	line-height: 1.05;
	margin: .4rem 0 1rem;
}
.dbl-lpos-gift-pathfinder__form {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .55rem 1rem;
	align-items: end;
	margin-top: 2rem;
}
.dbl-lpos-gift-pathfinder__field { display: grid; align-content: end; gap: .45rem; min-width: 0; }
.dbl-lpos-gift-pathfinder__field :is(select,input) { width: 100%; }
.dbl-lpos-gift-pathfinder__form label {
	font-weight: 700;
	font-size: .9rem;
}
.dbl-lpos-gift-pathfinder__form select,
.dbl-lpos-gift-pathfinder__form input,
.dbl-lpos-gift-pathfinder__form button {
	min-height: 3.25rem;
	border-radius: .35rem;
	font: inherit;
}
.dbl-lpos-gift-pathfinder__form select,
.dbl-lpos-gift-pathfinder__form input {
	background: #fff;
	color: #201d17;
	border: 1px solid #b9b4ac;
	padding: .55rem .8rem;
}
.dbl-lpos-gift-pathfinder__form button {
	border: 1px solid #ebc773;
	background: #ebc773;
	color: #171410;
	font-weight: 800;
	padding: .55rem 1.3rem;
	cursor: pointer;
	grid-column: 1 / -1;
}
.dbl-lpos-gift-pathfinder__form :is(select, input, button):focus-visible,
.dbl-lpos-gift-pathfinder a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.dbl-lpos-gift-pathfinder__results { margin-top: 2.5rem; }
.dbl-lpos-gift-pathfinder__results h3 { color: inherit; }
.dbl-lpos-gift-pathfinder__products {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}
.dbl-lpos-gift-pathfinder__products li { margin: 0; }
.dbl-lpos-gift-pathfinder__products a {
	display: grid;
	gap: .5rem;
	color: inherit;
	text-decoration: none;
}
.dbl-lpos-gift-pathfinder__products img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.dbl-lpos-gift-pathfinder__results > p > a { color: #ebc773; }
@media (max-width: 740px) {
	.dbl-lpos-gift-pathfinder__form { grid-template-columns: minmax(0, 1fr); }
	.dbl-lpos-gift-pathfinder__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Comparison keeps the real catalog and purchase flow in place. */
.dbl-lpos-compare-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin: .65rem 0;
	padding: .35rem .85rem;
	border: 1px solid currentColor;
	border-radius: 2rem;
	font-size: .83rem;
	font-weight: 700;
	text-decoration: none;
}
.dbl-lpos-compare-control[aria-pressed="true"] { background: #d8ad5b; color: #1a1712; border-color: #d8ad5b; }
.dbl-lpos-compare-tray {
	position: fixed;
	z-index: 999;
	right: 1rem;
	bottom: 1rem;
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .7rem 1rem;
	background: #1a1712;
	color: #fff;
	border: 1px solid #d8ad5b;
	box-shadow: 0 .7rem 2rem rgba(0,0,0,.25);
}
.dbl-lpos-compare-tray[hidden] { display: none; }
.dbl-lpos-compare-tray a { color: #f0dca6; }
.dbl-lpos-compare-tray button { background: transparent; color: inherit; border: 0; text-decoration: underline; cursor: pointer; }
.dbl-lpos-comparison { margin: 2rem auto; padding: 1.5rem; background: #f3f0e9; color: #201d17; }
.dbl-lpos-comparison__scroll { overflow-x: auto; }
.dbl-lpos-comparison table { width: 100%; min-width: 36rem; border-collapse: collapse; }
.dbl-lpos-comparison th, .dbl-lpos-comparison td { padding: .8rem; border-bottom: 1px solid #cec7b9; text-align: left; vertical-align: top; }
.dbl-lpos-comparison tbody th { width: 9rem; }
.dbl-lpos-comparison a { color: #3b2e17; }
.dbl-lpos-comparison__scroll:focus-visible, .dbl-lpos-compare-control:focus-visible,
.dbl-lpos-compare-tray :is(a,button):focus-visible { outline: 3px solid #b77800; outline-offset: 3px; }
/* A visitor-selected category focus backed by the current catalog. */
.dbl-lpos-personal-focus {
	margin: clamp(2rem, 5vw, 5rem) auto;
	padding: clamp(1.5rem, 3vw, 3rem);
	border-top: 3px solid #bb9254;
	border-bottom: 1px solid #bb9254;
	background: linear-gradient(135deg, #f6f1e8, #fff);
	color: #252018;
}
.dbl-lpos-personal-focus__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.dbl-lpos-personal-focus__heading > * { max-width: 34rem; }
.dbl-lpos-personal-focus__eyebrow { color: #79532a; text-transform: uppercase; letter-spacing: .18em; font-size: .75rem; font-weight: 800; }
.dbl-lpos-personal-focus h2 { color: inherit; font-size: clamp(1.8rem, 4vw, 3.5rem); margin: .2rem 0; }
.dbl-lpos-personal-focus form { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: 1.75rem 0; }
.dbl-lpos-personal-focus label { font-weight: 700; }
.dbl-lpos-personal-focus select, .dbl-lpos-personal-focus button { min-height: 2.8rem; padding: .4rem .8rem; font: inherit; }
.dbl-lpos-personal-focus select { min-width: min(100%, 15rem); background: #fff; color: #252018; border: 1px solid #8b8172; }
.dbl-lpos-personal-focus button { background: #252018; color: #fff; border: 1px solid #252018; cursor: pointer; }
.dbl-lpos-personal-focus :is(select,button,a):focus-visible { outline: 3px solid #a66b00; outline-offset: 3px; }
.dbl-lpos-personal-focus__results { border-top: 1px solid #d8cbbb; padding-top: 1rem; }
@media (max-width: 740px) { .dbl-lpos-personal-focus__heading { display: block; } }
.dbl-lpos-curated-companions { margin: 2rem 0; padding: 1.25rem 0; border-top: 2px solid #b4935a; }
.dbl-lpos-curated-companions h3 { margin: 0 0 1rem; }
.dbl-lpos-curated-companions ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; padding: 0; list-style: none; }
.dbl-lpos-curated-companions li { margin: 0; }
.dbl-lpos-curated-companions a { display: grid; gap: .4rem; color: inherit; text-decoration: none; }
.dbl-lpos-curated-companions a:hover span { text-decoration: underline; }
.dbl-lpos-curated-companions img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
@media (max-width: 600px) { .dbl-lpos-curated-companions ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery .dbl-lpos-gallery-open {
	position: absolute;
	z-index: 2;
	right: .7rem;
	bottom: .7rem;
	min-height: 44px;
	padding: .5rem .8rem;
	background: #201d17;
	color: #fff;
	border: 1px solid #ebc773;
	cursor: pointer;
}
.dbl-lpos-gallery-dialog {
	width: min(96vw, 1100px);
	max-width: none;
	max-height: 94vh;
	padding: 0;
	border: 1px solid #ebc773;
	background: #1a1711;
	color: #fff;
}
.dbl-lpos-gallery-dialog::backdrop { background: rgba(0, 0, 0, .84); }
.dbl-lpos-gallery-dialog__bar { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .5rem; padding: .7rem; }
.dbl-lpos-gallery-dialog button { min-height: 44px; padding: .5rem .8rem; color: #fff; background: transparent; border: 1px solid #ebc773; cursor: pointer; }
.dbl-lpos-gallery-dialog img { display: block; max-width: 100%; max-height: calc(94vh - 64px); width: auto; height: auto; margin: auto; object-fit: contain; }
.dbl-lpos-gallery-dialog.is-zoomed { overflow: auto; }
.dbl-lpos-gallery-dialog.is-zoomed img { max-width: none; max-height: none; min-width: 125%; }
.dbl-lpos-gallery-dialog :is(button):focus-visible, .woocommerce-product-gallery .dbl-lpos-gallery-open:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .dbl-lpos-gallery-dialog *, .woocommerce-product-gallery .dbl-lpos-gallery-open { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
.dbl-lpos-delivery { margin: 1.5rem 0; padding: 1.25rem; border-left: 3px solid #a87c3d; background: #f8f5ec; color: #282520; }
.dbl-lpos-delivery h2, .dbl-lpos-delivery h3 { color: inherit; margin: 0 0 .6rem; }
.dbl-lpos-delivery__ranges { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.dbl-lpos-delivery__ranges span { display: inline-block; padding: .3rem .55rem; border: 1px solid #a8977d; }
.dbl-lpos-delivery__caution { font-size: .9rem; margin: .7rem 0 0; }
.dbl-lpos-delivery--cart ul { margin: .3rem 0 1.1rem; padding-left: 1.2rem; }
.dbl-lpos-delivery--cart li { margin: .7rem 0; }
.dbl-lpos-lookbook { --dbl-lpos-lookbook-accent: #d8ad5b; margin: 3rem auto; background: #171410; color: #f8f4e9; overflow: hidden; }
.dbl-lpos-lookbook__intro { position: relative; min-height: 15rem; display: grid; align-items: end; padding: clamp(1rem, 4vw, 3rem); isolation: isolate; }
.dbl-lpos-lookbook__art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: .48; }
.dbl-lpos-lookbook__intro::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #171410 0%, rgba(16,23,20,.65) 60%, transparent); }
.dbl-lpos-lookbook__copy { max-width: 45rem; }
.dbl-lpos-lookbook__copy > p { text-transform: uppercase; letter-spacing: .18em; color: #ebc773; font-size: .75rem; font-weight: 800; }
.dbl-lpos-lookbook h2 { color: inherit; font-size: clamp(2rem, 5vw, 4.5rem); line-height: 1; margin: .5rem 0 1rem; }
.dbl-lpos-lookbook__controls { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; padding: .7rem 1rem; }
.dbl-lpos-lookbook__controls span { margin-right: auto; font-variant-numeric: tabular-nums; }
.dbl-lpos-lookbook__controls button { width: 44px; height: 44px; border: 1px solid var(--dbl-lpos-lookbook-accent); color: #fff; background: transparent; cursor: pointer; font-size: 1.2rem; }
.dbl-lpos-lookbook__controls button:disabled { opacity: .4; cursor: default; }
.dbl-lpos-lookbook__track { position: relative; display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-color: var(--dbl-lpos-lookbook-accent) #171410; padding: 0 1rem 1.5rem; margin: 0; list-style: none; }
.dbl-lpos-lookbook__scene { flex: 0 0 min(76vw, 28rem); scroll-snap-align: center; margin: 0; background: #27231b; }
.dbl-lpos-lookbook__scene a { display: grid; grid-template-rows: minmax(15rem, 27rem) auto; color: inherit; text-decoration: none; }
.dbl-lpos-lookbook__scene img { width: 100%; height: 100%; object-fit: cover; }
.dbl-lpos-lookbook__scene-copy { display: grid; gap: .4rem; padding: 1rem; border-top: 2px solid var(--dbl-lpos-lookbook-accent); }
.dbl-lpos-lookbook__scene-copy > span:first-child { color: #ebc773; font-size: .8rem; }
.dbl-lpos-lookbook__scene-copy strong { font-size: 1.25rem; }
.dbl-lpos-lookbook__scene-copy > span:last-child { text-decoration: underline; }
.dbl-lpos-lookbook :is(button,a,.dbl-lpos-lookbook__track):focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 600px) { .dbl-lpos-lookbook__scene { flex-basis: 84vw; } }
@media (prefers-reduced-motion: reduce) { .dbl-lpos-lookbook__track { scroll-behavior: auto; } }
.dbl-lpos-cart-header { position: relative; isolation: isolate; overflow: hidden; padding: clamp(1.5rem, 4vw, 3.5rem); margin: 0 0 2rem; background: #1b1711; color: #fff; }
.dbl-lpos-cart-header::before { content: ''; position: absolute; z-index: -1; inset: -70% -20% auto 30%; height: 200%; background: repeating-conic-gradient(from 12deg, rgba(230,190,104,.12) 0deg 3deg, transparent 3deg 17deg); pointer-events: none; }
.dbl-lpos-cart-header p, .dbl-lpos-cart-companions > p { margin: 0 0 .7rem; color: #ebc773; font-size: .78rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.dbl-lpos-cart-header h1 { max-width: 14ch; margin: 0 0 1rem; color: inherit; font-size: clamp(2rem, 5vw, 4.5rem); line-height: 1.05; }
.dbl-lpos-cart-header > span { display: block; }
.dbl-lpos-cart-header a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 1rem; color: #ebc773; }
.woocommerce-cart .woocommerce:has(.dbl-lpos-cart-header) table.shop_table { border: 1px solid #b8a37b; border-radius: 0; }
.woocommerce-cart .woocommerce:has(.dbl-lpos-cart-header) table.shop_table th { background: #eae2d2; color: #252016; }
.woocommerce-cart .woocommerce:has(.dbl-lpos-cart-header) :is(.checkout-button,.button.alt) { background: #2b2418; color: #fff; border-radius: 0; min-height: 44px; }
body.woocommerce-cart:has(.dbl-lpos-cart-header) :is(.hero-section,.ct-hero-section) { display: none; }
body.woocommerce-cart:has(.dbl-lpos-cart-header) :is(.wp-block-woocommerce-cart,.wc-block-cart) { padding: clamp(1rem,2.5vw,2rem); background: #f5f1e7; color: #2b2419; border-top: 3px solid #b28c52; }
body.woocommerce-cart:has(.dbl-lpos-cart-header) :is(.wc-block-cart-items,.wc-block-components-totals-wrapper) { border-color: #c6c0b5; }
body.woocommerce-cart:has(.dbl-lpos-cart-header) :is(.wc-block-cart__submit-button,.wc-block-components-button) { min-height: 44px; }
body.woocommerce-cart:has(.dbl-lpos-cart-header) .wc-block-cart__submit-button { background: #352a18; color: #fffaf0; }
.dbl-lpos-cart-companions { margin: 3rem 0; padding: clamp(1.5rem, 3vw, 3rem); background: #f6f0e4; color: #28231b; border-top: 3px solid #a87c3d; }
.dbl-lpos-cart-companions h2 { color: inherit; margin: 0 0 1.2rem; }
.dbl-lpos-cart-companions ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding: 0; margin: 0; list-style: none; }
.dbl-lpos-cart-companions li { margin: 0; }
.dbl-lpos-cart-companions a { display: grid; gap: .5rem; color: inherit; text-decoration: none; }
.dbl-lpos-cart-companions a:hover strong { text-decoration: underline; }
.dbl-lpos-cart-companions img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.dbl-lpos-cart-companions a:focus-visible, .dbl-lpos-cart-header a:focus-visible { outline: 3px solid #b77800; outline-offset: 3px; }
@media (max-width: 700px) { .dbl-lpos-cart-companions ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dbl-lpos-aether-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin: 1rem 0 1.5rem; }
.dbl-lpos-aether-links a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid #9e783e; color: #393123; text-decoration: none; font-weight: 700; }
.dbl-lpos-aether-links a:hover { background: #252017; color: #fff; }
.dbl-lpos-aether-entry { margin: 1.5rem 0; padding: clamp(1.5rem, 3vw, 3rem); border-top: 3px solid #d8ad5b; background: #221d15; color: #fff; }
.dbl-lpos-aether-entry > p:first-child { color: #eac77d; letter-spacing: .16em; text-transform: uppercase; font-size: .75rem; font-weight: 800; }
.dbl-lpos-aether-entry h1 { color: inherit; font-size: clamp(2rem, 5vw, 4rem); margin: 0 0 1rem; }
.dbl-lpos-aether-entry > a { color: #eac77d; }
.dbl-lpos-aether-links a:focus-visible, .dbl-lpos-aether-entry a:focus-visible { outline: 3px solid #b77800; outline-offset: 3px; }
.dbl-lpos-review-image-field { display: grid; gap: .5rem; margin: 1rem 0; padding: 1rem; background: #f7f1e6; border-left: 3px solid #b28a4c; }
.dbl-lpos-review-image-field label { font-weight: 700; }
.dbl-lpos-review-image-field input { min-height: 44px; }
.dbl-lpos-review-image-field small { color: #57534d; }
.dbl-lpos-review-image-field input:focus-visible { outline: 3px solid #a66b00; outline-offset: 2px; }
.dbl-lpos-review-photo { margin: 1rem 0; }
.dbl-lpos-review-photo img { display: block; max-width: min(100%, 24rem); width: auto; height: auto; border: 1px solid #d6c8a8; }
.dbl-lpos-drops { margin: clamp(3rem, 7vw, 7rem) auto; padding: clamp(1.5rem, 4vw, 4rem); background: #171410; color: #f8f4e9; border-top: 3px solid #d8ad5b; }
.dbl-lpos-drops__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-bottom: 1px solid #8f7b59; padding-bottom: 1.5rem; }
.dbl-lpos-drops__heading p { width: 100%; margin: 0; color: #ebc773; text-transform: uppercase; letter-spacing: .17em; font-size: .78rem; font-weight: 800; }
.dbl-lpos-drops h2 { margin: 0; color: inherit; font-size: clamp(2.2rem, 5vw, 4rem); }
.dbl-lpos-drops__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.dbl-lpos-drops__item { display: grid; align-content: start; gap: .55rem; min-height: 12rem; padding: 1rem; border: 1px solid #776f5a; background: #28231b; }
.dbl-lpos-drops__item > span:first-child { color: #ebc773; text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 800; }
.dbl-lpos-drops__item img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.dbl-lpos-drops__item h3 { color: inherit; margin: .3rem 0; font-size: 1.4rem; }
.dbl-lpos-drops__item time { font-variant-numeric: tabular-nums; }
.dbl-lpos-drops__item a { display: grid; gap: .5rem; color: inherit; text-decoration: none; }
.dbl-lpos-drops__item a:hover strong { text-decoration: underline; }
.dbl-lpos-drops__item a:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 760px) { .dbl-lpos-drops__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .dbl-lpos-drops__grid { grid-template-columns: 1fr; } }
.dbl-lpos-journal { margin: clamp(3rem, 7vw, 7rem) auto; padding: clamp(1.5rem, 4vw, 4rem); background: #eee8dc; color: #28241c; }
.dbl-lpos-journal__intro { border-left: 4px solid #a68143; padding-left: 1rem; margin-bottom: 2rem; }
.dbl-lpos-journal__intro p { color: #725323; font-size: .78rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.dbl-lpos-journal h2 { color: inherit; font-size: clamp(2rem, 5vw, 4rem); margin: .3rem 0; }
.dbl-lpos-journal__stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.dbl-lpos-journal__stories article { padding: 1.3rem; background: #fffdf8; border-top: 2px solid #b18d51; }
.dbl-lpos-journal__stories h3 { color: inherit; margin: 0 0 .8rem; }
.dbl-lpos-journal__stories article > span { display: block; margin-top: 1.5rem; color: #5d553d; font-size: .85rem; }
.dbl-lpos-journal__form { margin: 2rem 0; padding: 1.3rem; border: 1px solid #b8a889; background: #fffdf8; }
.dbl-lpos-journal__form summary { cursor: pointer; font-size: 1.2rem; font-weight: 800; }
.dbl-lpos-journal__form form { display: grid; gap: 1rem; max-width: 40rem; margin-top: 1rem; }
.dbl-lpos-journal__form label { display: grid; gap: .35rem; font-weight: 700; }
.dbl-lpos-journal__form :is(input[type="text"],textarea) { width: 100%; min-height: 44px; padding: .6rem; color: #28241c; background: #fff; border: 1px solid #807760; font: inherit; }
.dbl-lpos-journal__form .dbl-lpos-journal__consent { display: flex; align-items: start; gap: .6rem; font-weight: 400; }
.dbl-lpos-journal__form button, .dbl-lpos-journal__mine button { min-height: 44px; padding: .5rem 1rem; background: #2b2419; color: #fff; border: 0; cursor: pointer; }
.dbl-lpos-journal__mine li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin: .6rem 0; }
.dbl-lpos-journal :is(input,textarea,button,summary,a):focus-visible { outline: 3px solid #9d690e; outline-offset: 2px; }
@media (max-width: 800px) { .dbl-lpos-journal__stories { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 550px) { .dbl-lpos-journal__stories { grid-template-columns: 1fr; } }

/* The storefront's path motif uses an authored SVG environment while
   all product and collection information continues to come from Woo. */
.dbl-lpos-homepage {
	max-width: 1440px;
	padding-inline: clamp(16px, 3vw, 44px);
	color: #21190b;
}

.dbl-lpos-hero {
	min-height: min(720px, 78vh);
	margin: 0 0 3rem;
	padding: clamp(2.5rem, 6vw, 6rem) clamp(1.25rem, 5vw, 5rem);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
	background: #342710;
	color: #fff7e4;
	isolation: isolate;
}

.dbl-lpos-hero::before {
	inset: 0;
	width: auto;
	height: auto;
	transform: none;
	background: linear-gradient(90deg, #241a09 0%, #281d0a 40%, transparent 76%);
	z-index: 1;
}

.dbl-lpos-hero > .dbl-lpos-hero__art {
	position: absolute;
	inset: 0 0 0 37%;
	background: url("hero-landscape.svg") center right / cover no-repeat;
	z-index: 0;
}

.dbl-lpos-hero > :not(.dbl-lpos-hero__art) { z-index: 2; }

.dbl-lpos-hero__eyebrow {
	max-width: 590px;
	color: #ecd19a;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .3em;
}

.dbl-lpos-hero__slogan {
	max-width: 9ch;
	margin: .3em 0;
	padding: 0;
	background: none;
	color: #fff7e4;
	font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
	font-size: clamp(3.5rem, 7.3vw, 7.8rem);
	font-weight: 800;
	line-height: .91;
	letter-spacing: -.065em;
	text-align: left;
	text-transform: none;
	text-shadow: none;
	-webkit-text-stroke: 0;
}

.dbl-lpos-hero__intro {
	max-width: 47ch;
	margin: 0 0 1.7rem;
	color: #e9e4dc;
	font-size: clamp(1rem, 1.4vw, 1.22rem);
	line-height: 1.55;
}.dbl-lpos-hero__actions,
.dbl-lpos-aether-links,
.dbl-lpos-hero__account {
	justify-content: flex-start;
}

.dbl-lpos-hero__cta {
	border: 1px solid #ebd7aa;
	color: #fff7e4;
	background: #3c2e15;
}

.dbl-lpos-hero__cta--primary {
	background: #e5c580;
	border-color: #e5c580;
	color: #21190b;
}.dbl-lpos-hero__rewards {
	color: #e9e4dc;
}

.dbl-lpos-hero__search {
	width: min(100%, 540px);
	margin: .4rem 0 1rem;
}

.dbl-lpos-hero__search label {
	display: block;
	margin-bottom: .55rem;
	color: #e5c580;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.dbl-lpos-hero__search > div {
	display: flex;
	width: 100%;
	border-bottom: 2px solid #e5c580;
}

.dbl-lpos-hero__search input[type="search"] {
	flex: 1;
	min-width: 0;
	min-height: 46px;
	border: 0;
	background: transparent;
	color: #fff7e4;
	font: inherit;
}

.dbl-lpos-hero__search input::placeholder { color: #d4cfc7; }

.dbl-lpos-hero__search button {
	min-width: 76px;
	border: 0;
	background: transparent;
	color: #e5c580;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.dbl-lpos-hero__account a { color: #fff7e4; }
.dbl-lpos-hero .dbl-lpos-aether-links a { border-color: #e5c580; color: #fff7e4; }
.dbl-lpos-hero .dbl-lpos-aether-links a:hover { background: #e5c580; color: #21190b; }

.dbl-lpos-hero :is(a,button,input):focus-visible {
	outline: 3px solid #fff7e4;
	outline-offset: 3px;
}

@media (max-width: 760px) {
	.dbl-lpos-hero {
		min-height: 0;
		padding: 21rem 1.4rem 2rem;
	}
	.dbl-lpos-hero > .dbl-lpos-hero__art { inset: 0 0 auto; height: 25rem; background-position: center 38%; }
	.dbl-lpos-hero::before { background: linear-gradient(0deg, #241a09 0%, #241a09 54%, transparent 78%); }
	.dbl-lpos-hero__slogan { font-size: clamp(3rem, 11vw, 5.5rem); }.dbl-lpos-hero__account,
	.dbl-lpos-hero__actions { width: 100%; }
}

/* Configured collection identity is treated as a scene, with the real
   category name and merchant-supplied story always readable. */
.dbl-lpos-world {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
	grid-template-rows: auto 1fr;
	min-height: 380px;
	margin: 0 0 clamp(2rem, 5vw, 5rem);
	padding: 0;
	border: 0;
	border-top: 4px solid var(--dbl-lpos-world-accent, #d3a746);
	background: #30240e url("../admin/path-field.svg") center / cover no-repeat;
	color: #fff7e4;
}

.dbl-lpos-world__image {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 100%;
	height: 100%;
	min-height: 380px;
	max-height: 650px;
	margin: 0;
	object-fit: cover;
}

.dbl-lpos-world__identity {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	padding: clamp(1.5rem, 3vw, 3.25rem) clamp(1.5rem, 3vw, 3.25rem) 0;
}

.dbl-lpos-world__identity span {
	color: #e7c975;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.dbl-lpos-world__identity h2 {
	margin: .5rem 0 0;
	color: inherit;
	font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
	font-size: clamp(2.6rem, 5vw, 5.8rem);
	font-weight: 800;
	letter-spacing: -.055em;
	line-height: 1;
}

.dbl-lpos-world__story {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	max-width: 55ch;
	padding: 1.2rem clamp(1.5rem, 3vw, 3.25rem) clamp(1.5rem, 3vw, 3.25rem);
	color: #e8e5e1;
	font-size: 1.08rem;
	line-height: 1.7;
}

.dbl-lpos-world--editorial .dbl-lpos-world__story { max-width: 55ch; font-size: clamp(1.1rem, 1.5vw, 1.3rem); }
.dbl-lpos-world:not(:has(.dbl-lpos-world__image)) { grid-template-columns: 1fr; }
.dbl-lpos-world:not(:has(.dbl-lpos-world__image)) :is(.dbl-lpos-world__identity,.dbl-lpos-world__story) { grid-column: 1; }

/* Dev.22: a genuine product story is a quiet, light editorial block (the
   old dark panel with a path-field background image rendered as a huge
   rectangle with nearly invisible text). */
.dbl-lpos-product-story {
	margin: 1.5rem 0;
	padding: 1.2rem 0 0;
	border-top: 2px solid #d3a746;
	background: none;
	color: #2a241c;
}

.dbl-lpos-product-story__collection,
.dbl-lpos-product-story__reference { color: #6b4710; }

.dbl-lpos-product-story__field {
	padding: .8rem 0;
	border-bottom: 1px solid #ddd3bf;
}

.dbl-lpos-product-story__field h3 {
	color: #6b4710;
	font-size: .77rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.dbl-lpos-product-story__field div { color: #2a241c; font-size: 1rem; line-height: 1.65; }

/* The compact category link shown when there is no story. */
.dbl-lpos-product-category { margin: 1rem 0; }
.dbl-lpos-product-category a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid #8a5a1e; color: #4a3210; background: #fffdf7; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.dbl-lpos-product-category a:hover { background: #f6ecd6; }

.dbl-lpos-discovery {
	padding: clamp(1rem, 2vw, 2rem);
	border-top: 3px solid #d3a746;
	border-bottom: 1px solid #ada69b;
	background: #f3f2ea;
}

@media (max-width: 800px) {
	.dbl-lpos-world { display: block; }
	.dbl-lpos-world__image { height: auto; max-height: 320px; min-height: 0; aspect-ratio: 16 / 9; }
	.dbl-lpos-world__identity { padding-top: 1.5rem; }
	.dbl-lpos-world__story { padding-top: .9rem; }
}

/* A shopping-first layout contracts the scene and moves the catalog
   toward the top; the editorial layout becomes a light, asymmetric
   publication. Both retain the same WooCommerce purchase destinations. */.dbl-lpos-hero__intro,.dbl-lpos-hero__rewards) { color: #4e4330; }button,input):focus-visible { outline-color: #21190b; }

/* Shop cards remain native WooCommerce links/buttons and inherit live
   prices and variations. The selector is active only where Living Path
   actually renders its discovery bar. */
.dbl-lpos-discovery__form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: .9rem;
	align-items: end;
	margin: 1rem 0 1.2rem;
	padding: clamp(1rem, 2vw, 1.8rem);
	border-top: 4px solid #c19949;
	background: #21190b url("../admin/path-field.svg") right top / 48% auto no-repeat;
	color: #fff7e4;
}
.dbl-lpos-discovery__form label { display: grid; gap: .35rem; font-size: .78rem; font-weight: 750; letter-spacing: .06em; }
.dbl-lpos-discovery__form :is(input,select) {
	width: 100%;
	min-height: 44px;
	padding: .55rem .7rem;
	border: 1px solid #b3ab9d;
	border-radius: 0;
	background: #fffdf6;
	color: #21190b;
}
.dbl-lpos-discovery__form-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.dbl-lpos-discovery__form-actions button { min-height: 44px; padding: .65rem 1rem; border: 1px solid #e4bf6e; border-radius: 0; background: #e4bf6e; color: #21190b; font-weight: 800; }
.dbl-lpos-discovery__form-actions a { color: #fff7e4; }
.dbl-lpos-discovery__form :is(input,select,button,a):focus-visible { outline: 3px solid #e4bf6e; outline-offset: 3px; }
body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product {
	position: relative;
	padding: clamp(.75rem, 1.5vw, 1.25rem);
	border: 1px solid #c6c0b6;
	border-radius: 0;
	background: #fffaf0;
	box-shadow: 6px 6px 0 #e9e4dc;
}
body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product::before {
	content: "DISCOVER / DBL";
	display: block;
	margin-bottom: .55rem;
	color: #716653;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .19em;
}
body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product :is(img, picture img) {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
	font-size: clamp(1.08rem, 1.4vw, 1.4rem);
	font-weight: 750;
	letter-spacing: -.025em;
}
body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 0;
	background: #21190b;
	color: #fff7e4;
}
body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product :is(a,button):focus-visible {
	outline: 3px solid #a46e14;
	outline-offset: 3px;
}

.dbl-lpos-vault {
	grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
	gap: 22px;
	margin: 2rem 0;
	padding: 2rem;
	background: #f5f1e8 url("../admin/path-field.svg") right top / 65% auto no-repeat;
}
.dbl-lpos-vault__card {
	padding: clamp(1.3rem, 2vw, 2rem);
	border: 1px solid #bdb6aa;
	border-top: 3px solid #c19949;
	background: #fffdf6;
	box-shadow: 6px 6px 0 #e8e4de;
}
.dbl-lpos-vault__card h2 { color: #21190b; letter-spacing: .12em; }
.dbl-lpos-vault__card a { color: #553e15; }
.dbl-lpos-vault__card :is(a,button):focus-visible { outline: 3px solid #a46e14; outline-offset: 2px; }

.dbl-lpos-archive__group {
	padding: clamp(1.2rem, 3vw, 2.6rem);
	margin: 2rem 0;
	border-top: 3px solid #c19949;
	background: #f5f1e8;
}
.dbl-lpos-archive__group h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 4rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: -.04em;
}
.dbl-lpos-archive__item { border-bottom: 1px solid #c0baaf; padding-block: 1rem; }
.dbl-lpos-archive__item a { color: #21190b; font-weight: 750; }
.dbl-lpos-archive__item a:focus-visible { outline: 3px solid #a46e14; outline-offset: 2px; }

@media (prefers-reduced-motion: no-preference) {
	body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product,
	.dbl-lpos-vault__card { transition: transform .18s ease, box-shadow .18s ease; }
	body:has(.dbl-lpos-discovery) .woocommerce ul.products li.product:hover,
	.dbl-lpos-vault__card:hover { transform: translateY(-3px); box-shadow: 6px 9px 0 #e0dad0; }
}

/* Shop route: one calm surrounding composition for Woo, AETHER and Living Path. */
body.woocommerce-shop:has(.dbl-lpos-aether-entry) :is(.hero-section,.ct-hero-section,.woocommerce-products-header) { display: none; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) #main { background: #f0eee5; }
.dbl-lpos-aether-entry {
	position: relative;
	margin: clamp(1rem, 3vw, 2.5rem) 0 1.5rem;
	padding: 0;
	border: 0;
	background: #f1eee5;
	color: #312717;
}
.dbl-lpos-aether-entry__intro {
	position: relative;
	min-height: 240px;
	padding: clamp(1.5rem, 4vw, 4rem);
	background: #2e2618 url("../admin/route-field.svg") right center / auto 130% no-repeat;
	color: #fbf8ef;
}
.dbl-lpos-aether-entry__eyebrow {
	display: block;
	margin-bottom: .7rem;
	color: #e1c281;
	font: 700 .7rem/1.4 "Avenir Next", sans-serif;
	letter-spacing: .18em;
}
.dbl-lpos-aether-entry__intro h1 {
	max-width: 14ch;
	margin: 0;
	font: 400 clamp(2.7rem, 5vw, 5.8rem)/.96 Georgia, "Times New Roman", serif;
	letter-spacing: -.055em;
	color: #fffdf8;
}
.dbl-lpos-aether-entry__intro > p { max-width: 52ch; margin: 1rem 0 1.35rem; color: #e9e5df; font-size: 1rem; line-height: 1.5; }
.dbl-lpos-aether-entry .dbl-lpos-aether-links { justify-content: flex-start; gap: .55rem; margin: 0; }
.dbl-lpos-aether-entry .dbl-lpos-aether-links a {
	min-height: 44px; padding: .6rem 1rem; border: 1px solid #b7aa83; border-radius: 100px;
	color: #fffdf8; background: #493d29; font-size: .83rem; letter-spacing: .02em;
}
.dbl-lpos-aether-entry .dbl-lpos-aether-links a[aria-current="page"] { background: #e5c98b; border-color: #e5c98b; color: #312717; }
.dbl-lpos-aether-entry .dbl-lpos-aether-links a:hover { background: #fffaf0; color: #312717; }
.dbl-lpos-aether-entry__experience {
	position: relative;
	padding: clamp(.75rem, 2vw, 2rem);
	background: #e9e7d9;
	border-inline: 1px solid #d0cbbb;
	border-bottom: 1px solid #d0cbbb;
}
.dbl-lpos-aether-entry__tool-label {
	margin: 0 0 .7rem; color: #6a6358;
	font: 800 .68rem/1.3 "Avenir Next", sans-serif; letter-spacing: .2em;
}
.dbl-lpos-aether-entry__experience > :not(.dbl-lpos-aether-entry__tool-label) { max-width: 100%; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) .dbl-lpos-discovery__form { margin-top: 1.4rem; background-color: #382f20; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) .dbl-lpos-discovery { background: #e9e8dc; border-top: 1px solid #bbb5aa; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) .dbl-lpos-discovery a { color: #4d3b1c; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) .dbl-lpos-discovery a:hover { color: #251c0c; text-decoration: underline; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) .woocommerce ul.products li.product { background: #fffef9; border-color: #cac3b8; box-shadow: none; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) .woocommerce ul.products li.product::before { color: #6f685c; }
body.woocommerce-shop:has(.dbl-lpos-aether-entry) :is(a,button,input,select):focus-visible { outline: 3px solid #b17b24; outline-offset: 2px; }
@media (max-width: 700px) {
	.dbl-lpos-aether-entry__intro { min-height: 0; background-size: auto 75%; }
	.dbl-lpos-aether-entry__experience { padding: .5rem; }
	.dbl-lpos-aether-entry .dbl-lpos-aether-links { overflow-x: auto; flex-wrap: nowrap; }
	.dbl-lpos-aether-entry .dbl-lpos-aether-links a { white-space: nowrap; }
}

.dbl-lpos-pathway { display: flex; align-items: center; gap: 1rem; max-width: 1440px; margin: 1rem auto 1.4rem; padding: .7rem 1rem; border-block: 1px solid #bab5ac; background: #eae6df; color: #342917; }
.dbl-lpos-pathway__identity { flex: 0 0 auto; font-size: .65rem; font-weight: 900; letter-spacing: .16em; color: #695f4e; }
.dbl-lpos-pathway ol { display: flex; gap: .35rem; align-items: center; overflow-x: auto; margin: 0; padding: 0; list-style: none; }
.dbl-lpos-pathway li { flex: 0 0 auto; margin: 0; }
.dbl-lpos-pathway a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .8rem; border: 1px solid transparent; color: #483a23; text-decoration: none; font-weight: 750; font-size: .8rem; }
.dbl-lpos-pathway a[aria-current="page"] { border-color: #a0998c; background: #f8f7ee; }
.dbl-lpos-pathway a:hover { background: #e2dbcf; }
.dbl-lpos-pathway a:focus-visible { outline: 3px solid #a57429; outline-offset: 2px; }
@media (max-width: 680px) { .dbl-lpos-pathway { display: block; } .dbl-lpos-pathway__identity { display: block; margin: 0 0 .3rem .8rem; } }

/* Checkout is the final destination of the same path, while WooCommerce
   retains all validation, payment, totals and order submission controls. */
.dbl-lpos-checkout-scene { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(235px,.65fr); gap: clamp(1rem,3vw,3rem); overflow: hidden; max-width: 1440px; margin: 1rem auto 2rem; padding: clamp(1.5rem,4vw,4rem); background: #251f14; color: #fff9ec; border-top: 4px solid #d9b773; }
.dbl-lpos-checkout-scene::after { content: ''; position: absolute; z-index: -1; width: min(50vw,34rem); aspect-ratio: 1; right: -10%; top: -65%; border: 1px solid rgba(235,199,125,.35); border-radius: 50%; box-shadow: 0 0 0 2.5rem rgba(235,199,125,.035),0 0 0 5rem rgba(235,199,125,.025),0 0 0 7.5rem rgba(235,199,125,.02); pointer-events: none; }
.dbl-lpos-checkout-scene__copy > span { color: #eac77d; font-size: .7rem; font-weight: 850; letter-spacing: .22em; }
.dbl-lpos-checkout-scene h1 { max-width: 15ch; margin: .5rem 0 1rem; color: inherit; font: 400 clamp(2.2rem,5vw,5rem)/1.02 'Fraunces',Georgia,serif; }
.dbl-lpos-checkout-scene p { max-width: 55ch; margin: 0; color: #eeebe5; line-height: 1.6; }
.dbl-lpos-checkout-scene__waypoints { display: grid; align-content: center; gap: .6rem; }
.dbl-lpos-checkout-scene__waypoints span { display: flex; align-items: center; gap: .7rem; min-height: 3rem; padding: .6rem .9rem; border-left: 2px solid #918879; color: #e8e4dc; }
.dbl-lpos-checkout-scene__waypoints span[aria-current="step"] { border-color: #e8c277; background: #4e4331; color: #fff; font-weight: 800; }
.dbl-lpos-checkout-scene__waypoints b { color: #e8c277; font-variant-numeric: tabular-nums; }
.dbl-lpos-checkout-scene__links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .6rem; }
.dbl-lpos-checkout-scene__links a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .8rem; color: #fff9ec; border: 1px solid #d5ba83; text-decoration: none; }
.dbl-lpos-checkout-scene__links a:hover { background: #d5ba83; color: #251f14; }
.dbl-lpos-checkout-scene__links a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
body.woocommerce-checkout:has(.dbl-lpos-checkout-scene) :is(.woocommerce-checkout-payment,.wc-block-checkout__main,.wc-block-checkout__sidebar) { color: #262017; }
body.woocommerce-checkout:has(.dbl-lpos-checkout-scene) :is(.hero-section,.ct-hero-section) { display: none; }
body.woocommerce-checkout:has(.dbl-lpos-checkout-scene) :is(.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.wc-block-components-text-input input) { min-height: 44px; }
@media (max-width: 700px) { .dbl-lpos-checkout-scene { grid-template-columns: 1fr; } .dbl-lpos-checkout-scene::after { width: 70vw; top: -20%; } }

/* The account vault is a sequence of useful destinations. Sections keep
   their own semantics and WooCommerce remains responsible for account data. */
.dbl-lpos-vault-world { margin: 1rem 0 3rem; background: #f3f1e8; color: #282217; }
body.woocommerce-account:has(.dbl-lpos-vault-world) :is(.hero-section,.ct-hero-section) { display: none; }
.dbl-lpos-vault-world__arrival { position: relative; overflow: hidden; padding: clamp(1.5rem,4vw,4rem); background: #201e1b; color: #fffaf0; border-top: 4px solid #dabd7b; }
.dbl-lpos-vault-world__arrival::before { content: ''; position: absolute; right: -6rem; top: -10rem; width: min(60vw,34rem); aspect-ratio: 1; border: 1px solid rgba(220,190,125,.4); border-radius: 50%; box-shadow: 0 0 0 2.4rem rgba(220,190,125,.045),0 0 0 4.8rem rgba(220,190,125,.03); pointer-events: none; }
.dbl-lpos-vault-world__arrival > span { color: #e7c67d; font-size: .72rem; font-weight: 850; letter-spacing: .2em; }
.dbl-lpos-vault-world__arrival h1 { max-width: 11ch; margin: .5rem 0; color: #fffaf0; font: 400 clamp(2.5rem,6vw,5.5rem)/1 'Fraunces',Georgia,serif; }
.dbl-lpos-vault-world__arrival p { max-width: 40ch; color: #ebe7df; }
.dbl-lpos-vault-world__arrival nav { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.dbl-lpos-vault-world__arrival a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .9rem; color: #fffaf0; border: 1px solid #d0b27a; text-decoration: none; }
.dbl-lpos-vault-world__arrival a:hover { background: #d0b27a; color: #201e1b; }
.dbl-lpos-vault-world__arrival a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.dbl-lpos-vault-world .dbl-lpos-vault { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; background: none; }
.dbl-lpos-vault-world .dbl-lpos-vault__card { grid-column: span 3; margin: 0; padding: clamp(1.3rem,3vw,3rem); border: 0; border-bottom: 1px solid #c5c0b6; border-right: 1px solid #c5c0b6; background: #f8f5f0; box-shadow: none; scroll-margin-top: 2rem; }
.dbl-lpos-vault-world .dbl-lpos-vault__card--orders { grid-column: span 4; background: #eae6df; }
.dbl-lpos-vault-world .dbl-lpos-vault__card--saved { grid-column: span 2; background: #e8dfcf; }
.dbl-lpos-vault-world .dbl-lpos-vault__card--discover { grid-column: 1 / -1; background: #2d2619; color: #fffaf0; }
.dbl-lpos-vault-world .dbl-lpos-vault__card--discover :is(h2,a) { color: #fffaf0; }
.dbl-lpos-vault-world .dbl-lpos-vault__card--discover a { text-decoration-color: #e7c67d; text-underline-offset: .25em; }
.dbl-lpos-vault-world .dbl-lpos-vault__card h2 { margin: 0 0 1rem; font: 400 clamp(1.55rem,3vw,2.5rem)/1.1 'Fraunces',Georgia,serif; letter-spacing: -.02em; }
.dbl-lpos-vault-world .dbl-lpos-vault__card--orders h2,.dbl-lpos-vault-world .dbl-lpos-vault__card--saved h2 { color: #282217; }
.dbl-lpos-vault-world .dbl-lpos-order-journey { padding: 0; list-style: none; }
.dbl-lpos-vault-world .dbl-lpos-order-journey__row { position: relative; padding: 1rem 0 1rem 1.5rem; border-left: 2px solid #b69860; border-bottom: 1px solid #c9c3ba; }
.dbl-lpos-vault-world .dbl-lpos-order-journey__row::before { content: ''; position: absolute; left: -5px; top: 1.4rem; width: 8px; height: 8px; border-radius: 50%; background: #8f6b30; }
@media (prefers-reduced-motion: no-preference) { .dbl-lpos-vault-world__arrival,.dbl-lpos-checkout-scene { animation: dbl-lpos-path-arrive .55s cubic-bezier(.2,.75,.25,1) both; } }
@media (max-width: 850px) { .dbl-lpos-vault-world .dbl-lpos-vault__card { grid-column: span 6; } }

/* A route choice changes the destination and the content on the home path. */button,input):focus-visible{ outline: 3px solid #f7dc9c; outline-offset: 3px; }

/* Woo archive hook output is one full-width finder; the theme must not
   distribute the form, result count and taxonomy routes as tall columns. */
.woocommerce .dbl-lpos-discovery-shell { display: block; clear: both; width: 100%; min-width: 0; flex: 1 1 100%; margin: .5rem 0 1.2rem; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form { width: 100%; float: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 0; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 1rem; margin: 0; width: 100%; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__group { min-width: 0; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__group ul { max-height: 145px; overflow-y: auto; align-content: flex-start; }
@media (max-width: 880px) { .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form, .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form, .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery { grid-template-columns: 1fr; } .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__group ul { max-height: none; } }

/* One compact shop gateway keeps products in view; detailed filters and
   taxonomy routes remain available through native disclosure controls. */
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form { grid-template-columns: minmax(0,1fr) auto; align-items: end; padding: 1.2rem; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form > label:first-of-type { grid-column: 1; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form-actions { grid-column: 2; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__refine { grid-column: 1/-1; grid-row: 2; border-top: 1px solid #8b806e; color: #f8eed8; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__refine summary { padding: .65rem 0; cursor: pointer; font-weight: 800; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__refine-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; padding: .7rem 0 1rem; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery-shell__browse { margin: 0; border-top: 1px solid #bcb6ac; background: #e9e8dc; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery-shell__browse > summary { padding: .8rem 1rem; color: #372b17; cursor: pointer; font-weight: 800; }
.woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery { padding: 1rem; }
@media (max-width: 880px) { .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__refine-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form { grid-template-columns: 1fr; } .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__form-actions { grid-column: 1; grid-row: 2; } .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__refine { grid-row: 3; } .woocommerce .dbl-lpos-discovery-shell .dbl-lpos-discovery__refine-fields { grid-template-columns: 1fr; } }

/* The same drawn path moves through entry, route and commerce surfaces. */
@keyframes dbl-lpos-path-arrive { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes dbl-lpos-light-travel { from { background-position: 95% 45%; } to { background-position: 70% 55%; } }
@keyframes dbl-lpos-waypoint-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(224,190,117,.42); } 50% { box-shadow: 0 0 0 12px rgba(224,190,117,0); } }
.dbl-lpos-pathway a[aria-current="page"]::before { content: ''; display: inline-block; flex: 0 0 7px; width: 7px; height: 7px; margin-right: .55rem; border-radius: 50%; background: #a77b37; }
@media (prefers-reduced-motion: no-preference) {
 .dbl-lpos-hero__art { animation: dbl-lpos-light-travel 24s ease-in-out infinite alternate; }.dbl-lpos-world, .dbl-lpos-product-story, .dbl-lpos-cart-header { animation: dbl-lpos-path-arrive .55s cubic-bezier(.2,.75,.25,1) both; }
 .dbl-lpos-pathway a[aria-current="page"]::before { animation: dbl-lpos-waypoint-pulse 3s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce) {.dbl-lpos-hero__art, .dbl-lpos-world, .dbl-lpos-product-story, .dbl-lpos-cart-header, .dbl-lpos-pathway * { animation: none !important; transition: none !important; }
}

/* Existing CartFlow and Lumen controls stay interactive, but take less of
   the customer's reading area on wide screens. Their own open/close JS owns
   state; this only defines the dock footprint. */
@media (min-width: 761px) {
 body:has(.dbl-lpos-homepage,.dbl-lpos-aether-entry,.dbl-lpos-journey,.dbl-lpos-pathway) .dbl-lumen-beacon { right: 14px !important; bottom: 14px !important; width: min(285px,calc(100vw - 28px)) !important; }
 body:has(.dbl-lpos-homepage,.dbl-lpos-aether-entry,.dbl-lpos-journey,.dbl-lpos-pathway) .dbl-lumen-beacon__panel { max-height: min(52vh,460px); }
 body:has(.dbl-lpos-homepage,.dbl-lpos-aether-entry,.dbl-lpos-journey,.dbl-lpos-pathway) .dbl-light-list-float { left: 14px !important; bottom: 14px !important; max-width: 190px; }
 body:has(.dbl-lpos-homepage,.dbl-lpos-aether-entry,.dbl-lpos-journey,.dbl-lpos-pathway) #main { padding-bottom: 100px; }
}

/* The independent offer and saved-list controls get separate mobile rails
   anywhere the Living Path homepage is present. */
@media (max-width: 760px) {
 body:has(.dbl-lpos-homepage) #main { padding-bottom: 135px; }
 body:has(.dbl-lpos-homepage) .dbl-lumen-beacon { bottom: 74px !important; right: 10px !important; width: min(380px,calc(100vw - 20px)) !important; }
 body:has(.dbl-lpos-homepage) .dbl-light-list-float { bottom: 10px !important; left: 10px !important; }
}

/* New entry composition: real product photography carries the commerce
   side; the vector remains an authored fallback when no image exists. */
.dbl-lpos-homepage { max-width: 1620px; color: #372b16; }
.dbl-lpos-homepage .dbl-lpos-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
	align-content: center;
	align-items: center;
	gap: .6rem clamp(1rem, 3vw, 3.5rem);
	min-height: min(740px, 83vh);
	padding: clamp(2rem, 4vw, 4rem);
	margin-bottom: 0;
	background: #302511;
	color: #f8f3eb;
}
.dbl-lpos-homepage .dbl-lpos-hero::before { display: none; }
.dbl-lpos-homepage .dbl-lpos-hero > .dbl-lpos-hero__art { inset: 0 0 0 51%; background: url("light-trajectory.svg") center / cover no-repeat; }
.dbl-lpos-homepage .dbl-lpos-hero > :not(.dbl-lpos-hero__art):not(.dbl-lpos-hero__featured) { grid-column: 1; margin-block: 0; }
.dbl-lpos-homepage .dbl-lpos-hero__eyebrow { color: #ffc392; letter-spacing: .16em; }
.dbl-lpos-homepage .dbl-lpos-hero__slogan { max-width: 12ch; margin-block: .4rem; color: #fff6ea; font: 700 clamp(3rem, 5.7vw, 6.2rem)/.98 "Avenir Next", "Segoe UI", sans-serif; letter-spacing: -.065em; }
.dbl-lpos-homepage .dbl-lpos-hero__intro { max-width: 43ch; color: #e9e2d5; }
.dbl-lpos-homepage .dbl-lpos-hero__featured {
	grid-column: 2;
	grid-row: 1 / span 8;
	align-self: stretch;
	position: relative;
	display: grid;
	grid-template-rows: minmax(330px, 1fr) auto;
	min-height: 550px;
	background: #dbdad8;
	color: #372b15;
	text-decoration: none;
	box-shadow: -18px 18px 0 #67512a;
}
.dbl-lpos-homepage .dbl-lpos-hero__featured img { display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: 4/5; object-fit: cover; }
.dbl-lpos-homepage .dbl-lpos-hero__featured > span { display: grid; gap: .15rem; padding: 1rem 1.2rem; background: #f6f2eb; }
.dbl-lpos-homepage .dbl-lpos-hero__featured small { color: #9b412f; font: 800 .66rem/1.3 "Avenir Next",sans-serif; letter-spacing: .16em; }
.dbl-lpos-homepage .dbl-lpos-hero__featured strong { color: #3e3019; font-size: 1.08rem; line-height: 1.3; }
.dbl-lpos-homepage .dbl-lpos-hero__featured em { color: #564321; font-style: normal; font-weight: 750; }
.dbl-lpos-homepage .dbl-lpos-hero__cta { border-color: #e4b18f; background: transparent; color: #fff5e8; }
.dbl-lpos-homepage .dbl-lpos-hero__cta--primary { border-color: #e87557; background: #e87557; color: #382c17; }
.dbl-lpos-homepage .dbl-lpos-hero__search > div { border-color: #f6ba8f; }
.dbl-lpos-homepage .dbl-lpos-hero__search button { color: #ffc392; }
.dbl-lpos-homepage .dbl-lpos-hero__featured:focus-visible,.dbl-lpos-homepage .dbl-lpos-hero :is(a,button,input):focus-visible { outline: 3px solid #ffcf91; outline-offset: 4px; }

/* The three decisions now operate as a branching stage with one active
   destination, rather than three equal promotional boxes in a column. */button) { border-color: #ef9d77; background: #ef9d77; color: #382c17; }

@media (max-width: 820px) {
	.dbl-lpos-homepage .dbl-lpos-hero { display: flex; min-height: 0; padding: 1.4rem; }
	.dbl-lpos-homepage .dbl-lpos-hero > .dbl-lpos-hero__art { inset: 0; opacity: .18; }
	.dbl-lpos-homepage .dbl-lpos-hero__featured { order: -1; width: 100%; min-height: 0; margin: 1rem 0; box-shadow: none; }
	.dbl-lpos-homepage .dbl-lpos-hero__featured img { max-height: 430px; }
}
@media (prefers-reduced-motion: reduce) {.dbl-lpos-homepage .dbl-lpos-hero__art{ animation: none; transition: none; }
}

/* Confirmed real defect (master directive Section 37): this contrast fix
   was gated behind `body:has(.dbl-lpos-discovery)` — the Discovery filter
   bar wrapper — so it only ever applied on a shop/category page where that
   bar actually rendered something. Category pages with nothing to filter,
   search results, related/upsell product widgets, and Quick View all lack
   that element and so never received this fix, which is exactly why "the
   fix did not work" across most of the store. Legibility must not depend
   on a sibling widget happening to be mounted, so this is unconditional —
   WooCommerce continues to own price, variation and cart behavior either way. */
.woocommerce ul.products li.product :is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__title,.price,.price *) { color: #382c17 !important; }
.woocommerce ul.products li.product .price del { color: #766952 !important; }

/* Dev.14 consolidation: this file used to carry THREE separate,
   mutually-conflicting rule sets for the single-product page's
   .summary/.entry-summary/.related/.woocommerce-tabs contrast —
   this one, a near-duplicate a few lines below it, and a third in
   follow-the-light.css — each gated on a different sibling element
   happening to be present (.dbl-lpos-discovery, .dbl-lpos-product-story,
   .dbl-lpos-pathway), so which one "won" (or whether any did) depended
   on which unrelated content happened to render. That is the exact
   "layer a new palette on top instead of consolidating" failure this
   project has been rejected for before. There is now exactly one,
   unconditional ruleset for the product page, in follow-the-light.css
   (loaded on every single-product view per
   DBL_LPOS_Frontend::maybe_enqueue_pathway()), including the Compare
   control's pressed state. Nothing here duplicates it. */

/* A compact collection preference and a continuous section rhythm replace
   the isolated light box and unreadable category links seen in the recording. */
.dbl-lpos-homepage > .dbl-lpos-homepage-section { margin-block: clamp(1rem,2.2vw,2rem); }
.dbl-lpos-homepage .dbl-lpos-personal-focus { display: grid; grid-template-columns: minmax(230px,.7fr) minmax(0,1.3fr); gap: .5rem 2rem; align-items: end; padding: clamp(1.1rem,2.5vw,2.2rem); border-top: 4px solid #d96d50; background: #ebe7df; color: #403219; }
.dbl-lpos-homepage .dbl-lpos-personal-focus__heading { display: block; }
.dbl-lpos-homepage .dbl-lpos-personal-focus__heading h2 { color: #403219; font: 700 clamp(1.5rem,2.6vw,2.6rem)/1.08 "Avenir Next","Segoe UI",sans-serif; letter-spacing: -.045em; }
.dbl-lpos-homepage .dbl-lpos-personal-focus__heading p { color: #6c5939; font: 400 .9rem/1.45 "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-homepage .dbl-lpos-personal-focus form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .55rem; margin: 0; }
.dbl-lpos-homepage .dbl-lpos-personal-focus form label { grid-column: 1/-1; color: #534224; }
.dbl-lpos-homepage .dbl-lpos-personal-focus form select { width: 100%; min-width: 0; border-color: #86765b; }
.dbl-lpos-homepage .dbl-lpos-personal-focus form button { background: #59431d; border-color: #59431d; color: #fff; font: 700 .9rem "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-homepage .dbl-lpos-personal-focus__results { grid-column: 1/-1; }
.dbl-lpos-homepage .dbl-lpos-category-nav { padding: clamp(1rem,2.2vw,2rem); background: #403117; color: #f4f2e9; }
.dbl-lpos-homepage .dbl-lpos-category-nav h2 { color: #fff3e7; font: 750 clamp(1.4rem,2.4vw,2.4rem) "Avenir Next","Segoe UI",sans-serif; text-transform: none; }
.dbl-lpos-homepage .dbl-lpos-category-nav a { border: 1px solid #bdad91; background: #5d4825; color: #fff7eb !important; font: 650 .9rem "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-homepage .dbl-lpos-category-nav a:hover,.dbl-lpos-homepage .dbl-lpos-category-nav a:focus-visible { background: #e57556; color: #372a14 !important; outline: 3px solid #ffd498; outline-offset: 2px; }
@media (max-width: 700px) {
	.dbl-lpos-homepage .dbl-lpos-personal-focus { grid-template-columns: 1fr; }
	.dbl-lpos-homepage .dbl-lpos-personal-focus form { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	body.single-product:has(.dbl-lpos-product-story,.dbl-lpos-compare-control) #main { padding-bottom: calc(155px + env(safe-area-inset-bottom, 0px)); }
	body.single-product:has(.dbl-lpos-product-story,.dbl-lpos-compare-control) .dbl-lumen-beacon { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; right: 10px !important; width: min(360px, calc(100vw - 20px)) !important; }
	body.single-product:has(.dbl-lpos-product-story,.dbl-lpos-compare-control) .dbl-lumen-beacon__panel { max-height: 42vh; }
	body.single-product:has(.dbl-lpos-product-story,.dbl-lpos-compare-control) .dbl-light-list-float { bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important; left: 10px !important; }
}

/* Gift finding is a short, numbered discovery sequence. Results stay in
   place during the async query and the GET fallback lands at this anchor. */
.dbl-lpos-gift-pathfinder { --gift-ink:#f5f2ed; --gift-warm:#ffbf94; display:grid; grid-template-columns:minmax(200px,.55fr) minmax(0,1.45fr); gap:1.3rem clamp(1rem,3vw,3rem); margin-block:clamp(1rem,2.2vw,2rem); border:0; border-radius:0; background:#1f1a14; color:var(--gift-ink); }
.dbl-lpos-gift-pathfinder__intro { align-self:center; }
.dbl-lpos-gift-pathfinder__eyebrow { color:var(--gift-warm); }
.dbl-lpos-gift-pathfinder h2 { max-width:12ch; color:#fff4e9; font:700 clamp(2rem,4vw,4.2rem)/1 "Avenir Next","Segoe UI",sans-serif; letter-spacing:-.06em; }
.dbl-lpos-gift-pathfinder__intro > p:last-child { color:#e7ddcb; line-height:1.55; }
.dbl-lpos-gift-pathfinder__form { grid-template-columns:repeat(3,minmax(0,1fr)); align-self:center; margin:0; counter-reset:gift-step; }
.dbl-lpos-gift-pathfinder__field { padding:1rem; border-top:3px solid #f39570; background:#534020; }
.dbl-lpos-gift-pathfinder__field label { display:flex; align-items:center; gap:.55rem; color:#f8f4ed; font:700 .84rem "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-gift-pathfinder__field label::before { counter-increment:gift-step; content:counter(gift-step,decimal-leading-zero); color:#ffbf94; font:750 .7rem Consolas,monospace; }
.dbl-lpos-gift-pathfinder__form :is(select,input) { min-height:48px; border:1px solid #96825f; border-radius:0; color:#392c16; background:#faf9f8; font:500 .93rem "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-gift-pathfinder__form button { grid-column:1/-1; min-height:50px; border:0; border-radius:0; background:#f39570; color:#382a13; font:750 .9rem "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-gift-pathfinder.is-searching .dbl-lpos-gift-pathfinder__form button { opacity:.7; cursor:progress; }
.dbl-lpos-gift-pathfinder__results { grid-column:1/-1; scroll-margin-top:105px; margin:0; padding:clamp(1rem,2.5vw,2rem); border-top:1px solid #b4a386; color:#f7f3ec; background:#503d1d; }
.dbl-lpos-gift-pathfinder__results[hidden] { display:none; }
.dbl-lpos-gift-pathfinder__results h3 { color:#fff4e9; font:700 clamp(1.4rem,2.5vw,2.3rem) "Avenir Next","Segoe UI",sans-serif; }
.dbl-lpos-gift-pathfinder__products { grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); }
.dbl-lpos-gift-pathfinder__products a { height:100%; padding:.65rem; background:#f7f5ef; color:#3d2f17; }
.dbl-lpos-gift-pathfinder__products a :is(strong,span) { color:#3d2f17; }
.dbl-lpos-gift-pathfinder__products img { aspect-ratio:4/3; object-fit:contain; background:#fff; }
.dbl-lpos-gift-pathfinder__results > p > a { color:#ffd2ac; }
@media (prefers-reduced-motion: no-preference) { .dbl-lpos-gift-pathfinder__results:not([hidden]) { animation:dbl-lpos-path-arrive .35s ease-out both; } }
@media (max-width:880px) { .dbl-lpos-gift-pathfinder { grid-template-columns:1fr; } }
@media (max-width:680px) { .dbl-lpos-gift-pathfinder__form { grid-template-columns:1fr; } }
