/**
 * Domstadtkind Design – Design System (Phase 1)
 */

:root {
	/* Color */
	--dsk-gallery: #fafaf8;
	--dsk-stone: #e8e4de;
	--dsk-ink: #1c1b1a;
	--dsk-slate: #3a4550;
	--dsk-copper: #a66b3f;
	--dsk-copper-soft: rgba(166, 107, 63, 0.12);
	--dsk-white: #ffffff;
	--dsk-muted: rgba(28, 27, 26, 0.62);

	/* Theme bridge (override parent vars) */
	--primary-color: var(--dsk-slate) !important;
	--secondary-color: var(--dsk-ink) !important;
	--nav-color: var(--dsk-ink) !important;
	--nav-h-color: var(--dsk-copper) !important;
	--nav-h-bg: var(--dsk-stone) !important;
	--quaternary-color: #fafaf8 !important;

	/* Type */
	--dsk-font-display: "Fraunces", "Times New Roman", serif;
	--dsk-font-ui: "Manrope", system-ui, sans-serif;

	/* Space */
	--dsk-space-1: 0.25rem;
	--dsk-space-2: 0.5rem;
	--dsk-space-3: 0.75rem;
	--dsk-space-4: 1rem;
	--dsk-space-5: 1.5rem;
	--dsk-space-6: 2rem;
	--dsk-space-7: 3rem;
	--dsk-space-8: clamp(3.5rem, 6vw, 5.5rem);
	--dsk-space-9: clamp(4.5rem, 9vw, 7.5rem);
	--dsk-gutter: clamp(1.25rem, 3.5vw, 2.5rem);
	--dsk-max: 72rem;

	/* Motion */
	--dsk-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--dsk-ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
	--dsk-duration: 0.45s;
	--dsk-duration-fast: 0.28s;
	--dsk-duration-hero: 0.75s;

	/* Layout chrome */
	--dsk-header-offset: 7.85rem;

	/* Radius / elevation */
	--dsk-radius: 0;
	--dsk-radius-sm: 2px;
}

/* -------------------------------------------------------------------------- */
/* Base                                                                       */
/* -------------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

body {
	background-color: var(--dsk-gallery);
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	font-weight: 400;
	font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
	line-height: 1.65;
	letter-spacing: 0.01em;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.dsk-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product_title {
	font-family: var(--dsk-font-display);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--dsk-ink);
}

a {
	color: var(--dsk-slate);
	transition: color var(--dsk-duration-fast) var(--dsk-ease-out);
}

a:hover,
a:focus-visible {
	color: var(--dsk-copper);
}

img {
	max-width: 100%;
	height: auto;
}

::selection {
	background: var(--dsk-copper-soft);
	color: var(--dsk-ink);
}

:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

/* -------------------------------------------------------------------------- */
/* Layout helpers                                                             */
/* -------------------------------------------------------------------------- */

.dsk-wrap {
	width: min(100% - (var(--dsk-gutter) * 2), var(--dsk-max));
	margin-inline: auto;
}

.dsk-section {
	padding-block: var(--dsk-space-8);
}

.dsk-section--tight {
	padding-block: var(--dsk-space-7);
}

/*
 * Shop / archive / single product content shell
 * Parent: #primary.container > .row > .col-md-10.offset-md-1 (no-sidebar).
 * Offset + Bootstrap row gutters + nested max-width left the product grid
 * left-biased / missing right gutter. One full-bleed outer + one centered
 * .site-main with equal padding-inline. Hero stays outside #primary.
 */
body.woocommerce-shop .secondary,
body.tax-product_cat .secondary,
body.tax-product_tag .secondary,
body.post-type-archive-product .secondary,
body.single-product .secondary,
body.woocommerce-shop #secondary,
body.tax-product_cat #secondary,
body.tax-product_tag #secondary,
body.post-type-archive-product #secondary,
body.single-product #secondary {
	display: none !important;
}

body.woocommerce-shop #primary,
body.tax-product_cat #primary,
body.tax-product_tag #primary,
body.post-type-archive-product #primary,
body.single-product #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary,
body.home #primary,
body.page #primary,
body.woocommerce-shop .content-area,
body.tax-product_cat .content-area,
body.tax-product_tag .content-area,
body.post-type-archive-product .content-area,
body.single-product .content-area,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce-account .content-area,
body.home .content-area,
body.page .content-area {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-inline: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

/* Kill Bootstrap .container breakpoint caps / side padding on the outer shell */
body.woocommerce-shop #primary.container,
body.tax-product_cat #primary.container,
body.tax-product_tag #primary.container,
body.post-type-archive-product #primary.container,
body.single-product #primary.container,
body.woocommerce-cart #primary.container,
body.woocommerce-checkout #primary.container,
body.woocommerce-account #primary.container,
body.home #primary.container,
body.page #primary.container {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Neutralize .row negative gutters that pull content past one edge */
body.woocommerce-shop #primary > .row,
body.tax-product_cat #primary > .row,
body.tax-product_tag #primary > .row,
body.post-type-archive-product #primary > .row,
body.single-product #primary > .row,
body.woocommerce-cart #primary > .row,
body.woocommerce-checkout #primary > .row,
body.woocommerce-account #primary > .row,
body.home #primary > .row,
body.page #primary > .row {
	--bs-gutter-x: 0;
	display: block;
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-inline: 0 !important;
	padding-inline: 0;
}

/* Full-bleed column: drop col-md-10 width + offset-md-1 left shift */
body.woocommerce-shop .bcf-main-content,
body.tax-product_cat .bcf-main-content,
body.tax-product_tag .bcf-main-content,
body.post-type-archive-product .bcf-main-content,
body.single-product .bcf-main-content,
body.woocommerce-cart .bcf-main-content,
body.woocommerce-checkout .bcf-main-content,
body.woocommerce-account .bcf-main-content,
body.home .bcf-main-content,
body.page .bcf-main-content,
body.woocommerce-shop .col-md-10.offset-md-1,
body.tax-product_cat .col-md-10.offset-md-1,
body.tax-product_tag .col-md-10.offset-md-1,
body.post-type-archive-product .col-md-10.offset-md-1,
body.single-product .col-md-10.offset-md-1,
body.woocommerce-cart .col-md-10.offset-md-1,
body.woocommerce-checkout .col-md-10.offset-md-1,
body.woocommerce-account .col-md-10.offset-md-1,
body.home .col-md-10.offset-md-1,
body.page .col-md-10.offset-md-1,
body.woocommerce-shop .col-md-12.bcf-main-content,
body.tax-product_cat .col-md-12.bcf-main-content,
body.tax-product_tag .col-md-12.bcf-main-content,
body.post-type-archive-product .col-md-12.bcf-main-content,
body.single-product .col-md-12.bcf-main-content,
body.woocommerce-cart .col-md-12.bcf-main-content,
body.woocommerce-checkout .col-md-12.bcf-main-content,
body.woocommerce-account .col-md-12.bcf-main-content,
body.home .col-md-12.bcf-main-content,
body.page .col-md-12.bcf-main-content {
	float: none !important;
	flex: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-inline: 0 !important;
}

/* Brand Startseite: full-bleed shell for Highlights + Rica about */
body.home #primary,
body.home .content-area,
body.home #primary.container {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-inline: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

body.home #primary > .row {
	--bs-gutter-x: 0;
	display: block;
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-inline: 0;
}

body.home .bcf-main-content,
body.home .col-md-12.bcf-main-content,
body.home .col-md-10.offset-md-1 {
	float: none !important;
	flex: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-inline: 0 !important;
}

/* Single centered content column — equal left/right gutters */
body.woocommerce-shop .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main,
body.post-type-archive-product .site-main,
body.single-product .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main,
body.page:not(.home) .site-main {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--dsk-max);
	margin-inline: auto;
	padding-inline: var(--dsk-gutter);
	padding-block: var(--dsk-space-6) var(--dsk-space-8);
}

/* Account login: narrow form only — cart/checkout keep full column width */
body.woocommerce-account .woocommerce-form-login {
	max-width: 30rem;
	width: 100%;
	box-sizing: border-box;
}

/*
 * On catalog pages, highlights sit inside the centered .site-main shell.
 * Drop the second horizontal inset so the strip aligns with ul.products.
 * (Home full-bleed .dsk-home keeps the default highlights gutters.)
 */
body.woocommerce-shop .site-main .dsk-highlights__head,
body.tax-product_cat .site-main .dsk-highlights__head,
body.tax-product_tag .site-main .dsk-highlights__head,
body.post-type-archive-product .site-main .dsk-highlights__head {
	width: 100%;
	max-width: none;
}

body.woocommerce-shop .site-main .dsk-highlights__track,
body.tax-product_cat .site-main .dsk-highlights__track,
body.tax-product_tag .site-main .dsk-highlights__track,
body.post-type-archive-product .site-main .dsk-highlights__track {
	padding-inline: 0;
}

/* Hero → Highlights → Grid: one vertical system (no double top gap after hero) */
body.woocommerce-shop .site-main:has(.dsk-highlights),
body.post-type-archive-product .site-main:has(.dsk-highlights),
body.home .site-main:has(.dsk-highlights),
body.page .site-main:has(.dsk-home) {
	padding-block-start: 0;
}

/* Brand Startseite: full-bleed home stack (no catalog padding) */
body.home .site-main:has(.dsk-home),
body.page .site-main:has(.dsk-home) {
	padding-inline: 0;
	padding-block: 0;
	max-width: none;
	margin-inline: 0;
}

body.home .dsk-home,
body.page .dsk-home {
	width: 100%;
}

/*
 * Home horizontal overflow guard
 * Sticky header lives outside #content — overflow-x on #content is safe.
 * (Do NOT set overflow-x on html/body/#page — breaks position:sticky.)
 */
body.home #content,
body.home .site-content {
	overflow-x: hidden;
	max-width: 100%;
}

body.home #primary,
body.home .content-area,
body.home .site-main:has(.dsk-home),
body.home .dsk-home,
body.page .site-main:has(.dsk-home),
body.page .dsk-home {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.home .dsk-hero,
body.home .dsk-highlights,
body.home .dsk-highlights__viewport,
body.home .dsk-about {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------- */
/* Header (Phase 2)                                                           */
/* -------------------------------------------------------------------------- */

#masthead.site-header.style_1 {
	position: sticky;
	top: 0;
	z-index: 1000;
	padding: 0;
	overflow: visible;
	background: color-mix(in srgb, var(--dsk-gallery) 88%, transparent);
	/* Blur on ::before so it does NOT create a fixed-position containing block
	   (backdrop-filter on #masthead trapped the off-canvas #navbar in the header). */
	border-bottom: 1px solid transparent;
	transition:
		border-color var(--dsk-duration-fast) var(--dsk-ease-out),
		background-color var(--dsk-duration-fast) var(--dsk-ease-out),
		box-shadow var(--dsk-duration-fast) var(--dsk-ease-out);
}

#masthead.site-header.style_1::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* Parent custom-header injects a photo on unused .header-middle — neutralize */
#masthead .container.header-middle {
	background: none !important;
	background-image: none !important;
}

/* Keep header + drawer above dimmed backdrop while menu is open */
body.dsk-nav-open #masthead.site-header.style_1 {
	z-index: 1110;
}

.dsk-header {
	width: 100%;
}

.dsk-shipping-banner {
	background: var(--dsk-stone);
	border-bottom: 1px solid color-mix(in srgb, var(--dsk-copper) 20%, transparent);
}

.dsk-shipping-banner__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--dsk-space-3);
	width: min(100% - (var(--dsk-gutter) * 2), var(--dsk-max));
	margin-inline: auto;
	min-height: 2.1rem;
	padding: 0.35rem 2.25rem 0.35rem 0;
	position: relative;
}

.dsk-shipping-banner__text {
	margin: 0;
	font-family: var(--dsk-font-ui);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--dsk-copper);
	text-align: center;
}

.dsk-shipping-banner__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: 0;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: var(--dsk-radius-sm);
	background: transparent;
	color: var(--dsk-copper);
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
	transition:
		color var(--dsk-duration-fast) var(--dsk-ease-out),
		background-color var(--dsk-duration-fast) var(--dsk-ease-out);
}

.dsk-shipping-banner__close:hover,
.dsk-shipping-banner__close:focus-visible {
	color: var(--dsk-ink);
	background: color-mix(in srgb, var(--dsk-ink) 8%, transparent);
}

.dsk-header.is-banner-dismissed .dsk-shipping-banner {
	display: none;
}

.dsk-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--dsk-space-4);
	width: min(100% - (var(--dsk-gutter) * 2), var(--dsk-max));
	margin-inline: auto;
	min-height: 5rem;
	padding-block: var(--dsk-space-2);
}

.dsk-header__brand {
	flex: 0 0 auto;
	min-width: 0;
}

.dsk-header__brand .logo-wrap {
	margin: 0;
	padding: 0;
	background: transparent;
}

.dsk-header__brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dsk-header__brand .custom-logo {
	display: block;
	max-height: 3.85rem;
	width: auto;
	height: auto;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.dsk-header__brand .site-title,
.dsk-header__brand h3 {
	margin: 0;
	font-family: var(--dsk-font-display);
	font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.dsk-header__brand .site-title,
.dsk-header__brand a {
	color: var(--dsk-ink);
	text-decoration: none;
}

.dsk-header__nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	min-width: 0;
}

/* Kill old floating / absolute nav bar from child style.css */
#nav_bar_wrap {
	display: none !important;
}

.dsk-header #navbar {
	display: block;
	position: static;
	width: auto;
	height: auto;
	transform: none;
	visibility: visible;
	opacity: 1;
	background: transparent;
	box-shadow: none;
	border: none;
}

.dsk-header #navbar .joyas-shop-navbar-close {
	display: none;
}

.dsk-header #navbar ul.navigation-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.15rem 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent;
	border-radius: 0;
}

.dsk-header #navbar .navigation-menu > li {
	margin: 0;
	display: inline-flex;
}

.dsk-header #navbar .navigation-menu > li::after {
	display: none;
	content: none;
}

/* Beat parent `color: var(--nav-color)` — ensure ink on light header (HIG contrast). */
.dsk-header,
.dsk-header #navbar,
.dsk-header #navbar .navigation-menu {
	--nav-color: var(--dsk-ink);
	--nav-h-color: var(--dsk-copper);
}

.dsk-header #navbar .navigation-menu > li > a,
.dsk-header #navbar .navigation-menu > li > a:visited {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.4rem 0.75rem;
	font-family: var(--dsk-font-ui);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--dsk-ink) !important;
	opacity: 1 !important;
	background: transparent;
}

.dsk-header #navbar .navigation-menu > li > a:hover,
.dsk-header #navbar .navigation-menu > li > a:focus-visible,
.dsk-header #navbar .navigation-menu > li.current-menu-item > a,
.dsk-header #navbar .navigation-menu > li.current-menu-ancestor > a,
.dsk-header #navbar .navigation-menu > li.current-menu-parent > a {
	color: var(--dsk-copper) !important;
}

.dsk-header #navbar .navigation-menu > li > a:focus-visible,
.dsk-header__action:focus-visible,
.dsk-header__cart .cart-contents:focus-visible,
.dsk-header .joyas-shop-rd-navbar-toggle:focus-visible,
.dsk-header #navbar .joyas-shop-navbar-close:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

.dsk-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--dsk-space-1);
	flex: 0 0 auto;
}

.dsk-header__search {
	position: relative;
	display: flex;
	align-items: center;
}

.dsk-header__search-panel {
	position: absolute;
	top: calc(100% + 0.75rem);
	right: 0;
	left: auto;
	z-index: 1120;
	width: min(26rem, calc(100vw - 2rem));
}

.dsk-header__search-panel[hidden] {
	display: none;
}

.dsk-header__search-panel-inner {
	position: relative;
	padding: 1rem;
	border: 1px solid var(--dsk-stone);
	border-radius: var(--dsk-radius-md);
	background: color-mix(in srgb, var(--dsk-white) 92%, white);
	box-shadow: 0 18px 48px color-mix(in srgb, var(--dsk-ink) 12%, transparent);
}

.dsk-header__search-panel-inner::before {
	content: "";
	position: absolute;
	top: -0.45rem;
	right: 1.1rem;
	width: 0.9rem;
	height: 0.9rem;
	border-top: 1px solid var(--dsk-stone);
	border-left: 1px solid var(--dsk-stone);
	background: inherit;
	transform: rotate(45deg);
}

.dsk-header__search-title {
	margin: 0 0 0.6rem;
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dsk-header__search .search-form,
.dsk-header__search .woocommerce-product-search,
.dsk-header__search .apsw_search_form,
.dsk-header__search form[role="search"] {
	display: flex;
	align-items: stretch;
	gap: 0.625rem;
	margin: 0;
}

.dsk-header__search input[type="search"],
.dsk-header__search input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 3rem;
	margin: 0;
	padding: 0 0.95rem;
	border: 1px solid var(--dsk-stone);
	border-radius: var(--dsk-radius-sm);
	background: var(--dsk-white);
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	font-size: 0.95rem;
	line-height: 1.4;
}

.dsk-header__search input[type="search"]::placeholder,
.dsk-header__search input[type="text"]::placeholder {
	color: color-mix(in srgb, var(--dsk-ink) 60%, transparent);
}

.dsk-header__search input[type="search"]:focus,
.dsk-header__search input[type="search"]:focus-visible,
.dsk-header__search input[type="text"]:focus,
.dsk-header__search input[type="text"]:focus-visible {
	border-color: var(--dsk-copper);
	outline: 3px solid color-mix(in srgb, var(--dsk-copper) 28%, transparent);
	outline-offset: 1px;
}

/* Search form: input + icon-button side by side inside a wrapper */
.dsk-search-form__field-wrap {
	position: relative;
	display: flex;
	align-items: stretch;
}

.dsk-search-form__field-wrap input[type="search"],
.dsk-search-form__field-wrap input[type="text"] {
	flex: 1 1 auto;
	padding-right: 3rem; /* room for the icon button */
	/* suppress native browser clear button */
	-webkit-appearance: none;
	appearance: none;
}

/* Remove native clear button (Chrome/Edge/Safari) */
.dsk-search-form__field-wrap input[type="search"]::-webkit-search-cancel-button,
.dsk-search-form__field-wrap input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.dsk-header__search .search-submit,
.dsk-header__search button[type="submit"] {
	position: absolute;
	inset-block: 0;
	right: 0;
	width: 3rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 0 var(--dsk-radius-sm) var(--dsk-radius-sm) 0;
	background: transparent;
	color: var(--dsk-ink);
	font-size: 1.1rem;
	cursor: pointer;
	transition: color var(--dsk-duration) var(--dsk-ease);
}

.dsk-header__search .search-submit:hover,
.dsk-header__search .search-submit:focus-visible,
.dsk-header__search button[type="submit"]:hover,
.dsk-header__search button[type="submit"]:focus-visible {
	color: var(--dsk-copper);
	background: transparent;
	border: none;
}

.dsk-header__search-close {
	position: absolute;
	top: 0.55rem;
	right: 0.55rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: var(--dsk-ink);
	font-size: 1.4rem;
	line-height: 1;
}

.dsk-header__search-close:hover,
.dsk-header__search-close:focus-visible {
	color: var(--dsk-copper);
}

.dsk-header__action,
.dsk-header__cart .cart-contents {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: var(--dsk-radius-sm);
	background: transparent;
	color: var(--dsk-ink);
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition: color var(--dsk-duration-fast) var(--dsk-ease-out);
}

.dsk-header__action:hover,
.dsk-header__action:focus-visible,
.dsk-header__cart .cart-contents:hover,
.dsk-header__cart .cart-contents:focus-visible {
	color: var(--dsk-copper);
}

.dsk-header__cart .cart-contents .quantity {
	position: absolute;
	top: 0.15rem;
	right: 0.05rem;
	box-sizing: border-box;
	min-width: 1.15rem;
	height: 1.15rem;
	padding: 0 0.28rem;
	border-radius: 999px;
	background: var(--dsk-copper);
	color: var(--dsk-white);
	font-family: var(--dsk-font-ui);
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1.15rem;
	text-align: center;
	white-space: nowrap;
}

.dsk-header__cart .cart-contents .quantity[data-count] {
	font-size: 0;
}

.dsk-header__cart .cart-contents .quantity[data-count]::before {
	content: attr(data-count);
	font-size: 0.625rem;
	line-height: 1.15rem;
}

.dsk-header__cart .cart-contents .quantity[data-count="0"] {
	display: none;
}

/* Mobile menu toggle: desktop hidden (parent JS still binds) */
.dsk-header .joyas-shop-rd-navbar-toggle {
	display: none;
	visibility: hidden;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	width: 2.75rem;
	height: 2.75rem;
	border: none;
	background: transparent;
	color: var(--dsk-ink);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

/* Body lock + backdrop while mobile drawer is open */
body.dsk-nav-open {
	overflow: hidden;
	touch-action: none;
}

.dsk-nav-backdrop {
	position: fixed;
	inset: 0;
	z-index: 1090;
	margin: 0;
	padding: 0;
	border: none;
	background: rgba(28, 27, 26, 0.42);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	cursor: pointer;
	transition:
		opacity var(--dsk-duration) var(--dsk-ease-out),
		visibility var(--dsk-duration) var(--dsk-ease-out);
}

.dsk-nav-backdrop.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#masthead:has(.dsk-header--scrolled),
#masthead.dsk-header--scrolled {
	border-bottom-color: var(--dsk-stone);
	background: color-mix(in srgb, var(--dsk-gallery) 94%, transparent);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--dsk-ink) 6%, transparent);
}

@supports not (background: color-mix(in srgb, white 50%, black)) {
	#masthead.site-header.style_1 {
		background: rgba(250, 250, 248, 0.92);
	}

	#masthead:has(.dsk-header--scrolled),
	#masthead.dsk-header--scrolled {
		background: rgba(250, 250, 248, 0.97);
	}
}

/*
 * Mobile drawer: align with parent SimpleScrollbar / matchMedia (max-width: 992px).
 * Prefer visibility/transform (not display:none) so .active always shows and
 * parent Esc → jQuery .hide() cannot permanently kill the panel.
 */
@media only screen and (max-width: 992px) {
	:root {
		--dsk-header-offset: 7.15rem;
	}

	.dsk-shipping-banner__inner {
		min-height: 2rem;
		padding-right: 1.9rem;
	}

	.dsk-shipping-banner__text {
		font-size: 0.6875rem;
		letter-spacing: 0.07em;
	}

	.dsk-shipping-banner__close {
		width: 1.8rem;
		height: 1.8rem;
	}

	.dsk-header__nav {
		/* Off-canvas panel is #navbar; keep slot out of flex flow */
		flex: 0 0 0;
		width: 0;
		min-width: 0;
		overflow: visible;
	}

	.dsk-header__search-panel {
		position: fixed;
		top: calc(var(--dsk-header-offset, 7.15rem) + 0.35rem);
		left: 50%;
		right: auto;
		z-index: 1200;
		width: min(calc(100vw - 1.5rem), 32rem);
		transform: translateX(-50%);
	}

	.dsk-header__search-panel-inner {
		padding: 2.75rem 1rem 1.1rem;
	}

	.dsk-header__search-panel-inner::before {
		display: none;
	}

	.dsk-header__search .search-form,
	.dsk-header__search .woocommerce-product-search,
	.dsk-header__search .apsw_search_form,
	.dsk-header__search form[role="search"] {
		flex-direction: row;
	}

	.dsk-search-form__field-wrap {
		width: 100%;
	}

	.dsk-search-form__field-wrap input[type="search"],
	.dsk-search-form__field-wrap input[type="text"] {
		/* Keep room for the icon submit — do NOT stretch submit to 100% */
		font-size: 16px; /* prevents iOS zoom-on-focus */
	}

	.dsk-search-form__field-wrap input[type="search"]::-webkit-search-cancel-button,
	.dsk-search-form__field-wrap input[type="search"]::-webkit-search-decoration {
		display: none;
	}

	/* Keep icon button; full-width absolute submit was covering the input */
	.dsk-header__search .search-submit,
	.dsk-header__search button[type="submit"] {
		position: absolute;
		inset-block: 0;
		right: 0;
		width: 3rem;
	}

	.dsk-header__search-close {
		top: 0.65rem;
		right: 0.65rem;
	}

	.dsk-header #navbar {
		position: fixed;
		width: min(20rem, 88vw);
		left: 0;
		top: 0;
		bottom: 0;
		height: 100%;
		max-height: 100dvh;
		z-index: 1100;
		display: block;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateX(-100%);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: var(--dsk-white);
		border-right: 1px solid var(--dsk-stone);
		box-shadow: 4px 0 24px rgba(28, 27, 26, 0.08);
		transition:
			transform var(--dsk-duration) var(--dsk-ease-out),
			opacity var(--dsk-duration) var(--dsk-ease-out),
			visibility var(--dsk-duration) var(--dsk-ease-out);
	}

	.dsk-header #navbar.active {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateX(0);
		left: 0;
	}

	/* SimpleScrollbar wrapper (parent inits ≤992px) — kill 100%+18px overflow */
	.dsk-header #navbar.ss-container,
	.dsk-header #navbar .ss-wrapper {
		height: 100%;
		float: none !important;
		width: 100% !important;
		max-width: 100%;
	}

	.dsk-header #navbar .ss-content {
		height: 100%;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.dsk-header #navbar .joyas-shop-navbar-close {
		display: flex;
		align-items: center;
		justify-content: center;
		float: none;
		min-width: 2.75rem;
		min-height: 2.75rem;
		width: 2.75rem;
		height: 2.75rem;
		margin: var(--dsk-space-3) var(--dsk-space-3) 0 auto;
		border: none;
		border-radius: var(--dsk-radius-sm);
		background: transparent;
		color: var(--dsk-ink);
		font-size: 1rem;
		cursor: pointer;
	}

	.dsk-header #navbar ul.navigation-menu,
	.dsk-header #navbar ul {
		display: block;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: var(--dsk-space-3) var(--dsk-space-4) var(--dsk-space-6);
		text-align: left;
		float: none;
		background: transparent;
		border-radius: 0;
		position: static;
	}

	.dsk-header #navbar .navigation-menu > li,
	.dsk-header #navbar .navigation-menu li {
		display: block;
		position: relative;
		width: 100%;
		float: none;
		clear: both;
		margin: 0;
	}

	.dsk-header #navbar .navigation-menu > li > a {
		width: 100%;
		box-sizing: border-box;
		justify-content: flex-start;
		padding-right: 3rem;
		text-transform: none;
		letter-spacing: 0.01em;
		font-size: 1rem;
		font-weight: 500;
		border-bottom: 1px solid var(--dsk-stone);
		border-radius: 0;
	}

	.dsk-header #navbar .navigation-menu > li > a:after {
		display: none;
		content: none;
	}

	/* Submenus: stack + expand via .focus-active (parent toggle JS) */
	.dsk-header #navbar .navigation-menu li ul,
	.dsk-header #navbar .navigation-menu ul.sub-menu,
	.dsk-header #navbar ul ul {
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		max-width: none;
		margin: 0;
		padding: 0 0 0 var(--dsk-space-3);
		float: none;
		display: none;
		opacity: 1;
		visibility: visible;
		transform: none !important;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		border-radius: 0 !important;
	}

	.dsk-header #navbar .navigation-menu li ul.focus-active,
	.dsk-header #navbar .navigation-menu ul.sub-menu.focus-active,
	.dsk-header #navbar ul ul.focus-active {
		display: block;
	}

	.dsk-header #navbar .navigation-menu li ul::before,
	.dsk-header #navbar ul ul.sub-menu::before {
		display: none !important;
		content: none !important;
	}

	.dsk-header #navbar .navigation-menu li li > a {
		display: flex;
		align-items: center;
		min-height: 2.75rem;
		padding: 0.5rem 0.75rem 0.5rem 0.5rem;
		font-family: var(--dsk-font-ui);
		font-size: 0.9375rem;
		font-weight: 500;
		letter-spacing: 0.01em;
		text-transform: none;
		text-decoration: none;
		color: var(--dsk-ink) !important;
		border-bottom: 1px solid color-mix(in srgb, var(--dsk-stone) 70%, transparent);
		border-radius: 0;
	}

	.dsk-header #navbar .navigation-menu li li > a:hover,
	.dsk-header #navbar .navigation-menu li li > a:focus-visible {
		color: var(--dsk-copper) !important;
		background: transparent;
	}

	.dsk-header #navbar .navigation-menu li li > a::before {
		display: none;
		content: none;
	}

	.dsk-header #navbar li > .responsive-submenu-toggle {
		position: absolute;
		top: 0.2rem;
		right: 0;
		z-index: 2;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		visibility: visible;
		min-width: 2.75rem;
		min-height: 2.75rem;
		width: 2.75rem;
		height: 2.75rem;
		margin: 0;
		border: none;
		border-radius: var(--dsk-radius-sm);
		background: transparent;
		color: var(--dsk-copper);
		font-size: 1.1rem;
		line-height: 1;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.dsk-header #navbar .responsive-submenu-toggle:hover,
	.dsk-header #navbar .responsive-submenu-toggle:focus-visible {
		background: var(--dsk-copper-soft);
		color: var(--dsk-ink);
	}

	.dsk-header .joyas-shop-rd-navbar-toggle {
		display: inline-flex;
		visibility: visible;
	}

	.dsk-header__brand .custom-logo {
		max-height: 3.1rem;
	}
}

/* -------------------------------------------------------------------------- */
/* Buttons                                                                    */
/* -------------------------------------------------------------------------- */

.dsk-btn,
button.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.7rem 1.4rem;
	border: 1px solid var(--dsk-ink);
	border-radius: var(--dsk-radius-sm);
	background: var(--dsk-ink) !important;
	color: #fafaf8 !important;
	font-family: var(--dsk-font-ui);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2;
	cursor: pointer;
	transition:
		background-color var(--dsk-duration) var(--dsk-ease-out),
		color var(--dsk-duration) var(--dsk-ease-out),
		border-color var(--dsk-duration) var(--dsk-ease-out),
		transform var(--dsk-duration) var(--dsk-ease-soft);
}

.dsk-btn:hover,
button.button:hover,
a.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--dsk-copper);
	border-color: var(--dsk-copper);
	color: var(--dsk-white) !important;
	transform: translateY(-1px);
}

.dsk-btn:focus-visible,
button.button:focus-visible,
a.button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

.dsk-btn--ghost,
.dsk-btn.dsk-btn--ghost {
	background: transparent;
	color: var(--dsk-ink) !important;
}

.dsk-btn--ghost:hover {
	background: var(--dsk-ink);
	color: var(--dsk-gallery) !important;
}

/* -------------------------------------------------------------------------- */
/* Hero — homepage (Phase 3B)                                                 */
/* -------------------------------------------------------------------------- */

.dsk-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	width: 100%;
	max-width: 100%;
	min-height: max(88svh, calc(100svh - var(--dsk-header-offset)));
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--dsk-slate);
	color: var(--dsk-gallery);
	border-radius: 0;
}

.dsk-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
	padding: 0;
	border-radius: 0;
	overflow: hidden;
	pointer-events: none;
}

.dsk-hero__slides {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
}

.dsk-hero__slide,
.dsk-hero__media img,
.dsk-hero__media picture,
.dsk-hero__media video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
	border-radius: 0;
}

.dsk-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity var(--dsk-duration-hero) var(--dsk-ease-out);
}

.dsk-hero__slide.is-active {
	opacity: 1;
}

/* Background-image variant (inline style or CSS custom property) */
.dsk-hero__media[style*="background"],
.dsk-hero__media--bg {
	background-size: cover;
	background-position: center 40%;
	background-repeat: no-repeat;
}

.dsk-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(
			105deg,
			rgba(28, 27, 26, 0.72) 0%,
			rgba(28, 27, 26, 0.45) 42%,
			rgba(28, 27, 26, 0.22) 72%,
			rgba(28, 27, 26, 0.35) 100%
		),
		linear-gradient(
			180deg,
			rgba(28, 27, 26, 0.18) 0%,
			rgba(28, 27, 26, 0.08) 35%,
			rgba(28, 27, 26, 0.55) 100%
		);
}

.dsk-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	width: min(100% - (var(--dsk-gutter) * 2), 38rem);
	margin-left: max(var(--dsk-gutter), calc((100% - var(--dsk-max)) / 2));
	margin-right: auto;
	padding-block: var(--dsk-space-8) clamp(3.25rem, 8vh, 5.5rem);
	padding-inline: 0;
}

.dsk-hero__brand {
	margin: 0 0 var(--dsk-space-4);
	font-family: var(--dsk-font-display);
	font-size: clamp(2.35rem, 1.6rem + 3.2vw, 4.25rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.05;
	color: var(--dsk-gallery);
	text-wrap: balance;
}

.dsk-hero__title {
	margin: 0 0 var(--dsk-space-4);
	font-family: var(--dsk-font-display);
	font-size: clamp(1.15rem, 1rem + 0.7vw, 1.55rem);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.35;
	color: color-mix(in srgb, var(--dsk-gallery) 92%, transparent);
}

.dsk-hero__lede {
	margin: 0 0 var(--dsk-space-6);
	max-width: 28rem;
	font-family: var(--dsk-font-ui);
	font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.0625rem);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.6;
	color: color-mix(in srgb, var(--dsk-gallery) 72%, transparent);
}

.dsk-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--dsk-space-3);
	margin: 0;
}

/* Solid gallery CTA — beat parent WooCommerce / .dsk-btn ink !important rules */
.dsk-hero .dsk-hero__actions .dsk-btn,
.dsk-hero .dsk-hero__actions a.dsk-btn,
.dsk-hero .dsk-btn,
.dsk-hero a.dsk-btn {
	border-color: #fafaf8 !important;
	background: #fafaf8 !important;
	background-color: #fafaf8 !important;
	color: #1c1b1a !important;
}

.dsk-hero .dsk-hero__actions .dsk-btn:hover,
.dsk-hero .dsk-hero__actions a.dsk-btn:hover,
.dsk-hero .dsk-btn:hover,
.dsk-hero a.dsk-btn:hover {
	border-color: var(--dsk-copper) !important;
	background: var(--dsk-copper) !important;
	background-color: var(--dsk-copper) !important;
	color: #ffffff !important;
}

.dsk-hero .dsk-btn--ghost,
.dsk-hero a.dsk-btn--ghost {
	background: transparent;
	border-color: color-mix(in srgb, var(--dsk-gallery) 70%, transparent);
	color: var(--dsk-gallery) !important;
}

.dsk-hero .dsk-btn--ghost:hover,
.dsk-hero a.dsk-btn--ghost:hover {
	background: var(--dsk-gallery);
	border-color: var(--dsk-gallery);
	color: var(--dsk-ink) !important;
}

.dsk-hero .dsk-btn:focus-visible,
.dsk-hero a.dsk-btn:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

/* Entrance: hidden until .dsk-hero--ready (JS) */
.dsk-hero__brand,
.dsk-hero__title,
.dsk-hero__lede,
.dsk-hero__actions {
	opacity: 0;
	transform: translateY(1.15rem);
}

.dsk-hero--ready .dsk-hero__brand,
.dsk-hero--ready .dsk-hero__title,
.dsk-hero--ready .dsk-hero__lede,
.dsk-hero--ready .dsk-hero__actions {
	animation: dsk-hero-enter var(--dsk-duration-hero) var(--dsk-ease-out) forwards;
}

.dsk-hero--ready .dsk-hero__brand {
	animation-delay: 0.05s;
}

.dsk-hero--ready .dsk-hero__title {
	animation-delay: 0.16s;
}

.dsk-hero--ready .dsk-hero__lede {
	animation-delay: 0.28s;
}

.dsk-hero--ready .dsk-hero__actions {
	animation-delay: 0.4s;
}

@keyframes dsk-hero-enter {
	from {
		opacity: 0;
		transform: translateY(1.15rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@supports not (background: color-mix(in srgb, white 50%, black)) {
	.dsk-hero__title {
		color: rgba(250, 250, 248, 0.92);
	}

	.dsk-hero__lede {
		color: rgba(250, 250, 248, 0.72);
	}

	.dsk-hero .dsk-btn--ghost,
	.dsk-hero a.dsk-btn--ghost {
		border-color: rgba(250, 250, 248, 0.7);
	}
}

@media (max-width: 850px) {
	.dsk-hero__inner {
		max-width: none;
		margin-left: var(--dsk-gutter);
		margin-right: var(--dsk-gutter);
		width: calc(100% - (var(--dsk-gutter) * 2));
		padding-block: var(--dsk-space-7) clamp(2.75rem, 7vh, 4.5rem);
	}
}

@media (max-width: 640px) {
	.dsk-hero {
		align-items: flex-end;
		min-height: max(82svh, calc(100svh - var(--dsk-header-offset)));
	}
}

@media (max-width: 480px) {
	.dsk-hero__inner {
		padding-block: var(--dsk-space-6) var(--dsk-space-7);
	}

	.dsk-hero__actions {
		width: 100%;
	}

	.dsk-hero .dsk-btn,
	.dsk-hero a.dsk-btn {
		flex: 1 1 auto;
		min-width: min(100%, 11rem);
	}
}

/* -------------------------------------------------------------------------- */
/* Page / archive hero (Phase 3B)                                             */
/* -------------------------------------------------------------------------- */

.dsk-page-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: clamp(14rem, 42vh, 22rem);
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--dsk-slate);
	color: var(--dsk-gallery);
	border-radius: 0;
}

.dsk-page-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
	border-radius: 0;
	overflow: hidden;
	pointer-events: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.dsk-page-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.dsk-page-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(28, 27, 26, 0.35) 0%,
		rgba(28, 27, 26, 0.58) 100%
	);
}

.dsk-page-hero__inner {
	position: relative;
	z-index: 2;
	width: min(100% - (var(--dsk-gutter) * 2), var(--dsk-max));
	margin-inline: auto;
	padding-block: var(--dsk-space-7) var(--dsk-space-6);
}

.dsk-page-hero__title,
.dsk-page-hero .page-title-text,
.dsk-page-hero h1 {
	margin: 0;
	font-family: var(--dsk-font-display);
	font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2.65rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--dsk-gallery);
	text-shadow: 0 1px 2px rgba(28, 27, 26, 0.35);
}

.dsk-page-hero__subtitle {
	margin: var(--dsk-space-3) 0 0;
	max-width: 28rem;
	font-family: var(--dsk-font-ui);
	font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: color-mix(in srgb, var(--dsk-gallery) 78%, transparent);
}

/* Shop / product taxonomy / single product: compact typographic title, no header photo */
.dsk-page-hero--text {
	align-items: center;
	min-height: clamp(10rem, 18vh, 14rem);
	background:
		linear-gradient(
			165deg,
			var(--dsk-gallery) 0%,
			color-mix(in srgb, var(--dsk-stone) 55%, var(--dsk-gallery)) 48%,
			var(--dsk-stone) 100%
		);
	color: var(--dsk-ink);
	border-bottom: 1px solid color-mix(in srgb, var(--dsk-ink) 8%, transparent);
}

.dsk-page-hero--text .dsk-page-hero__media,
.dsk-page-hero--text .dsk-page-hero__overlay {
	display: none;
}

.dsk-page-hero--text .dsk-page-hero__inner {
	padding-block: var(--dsk-space-6) var(--dsk-space-5);
	opacity: 0;
	transform: translateY(0.4rem);
	animation: dsk-page-hero-text-enter var(--dsk-duration) var(--dsk-ease-out) forwards;
}

.dsk-page-hero--text .dsk-page-hero__title,
.dsk-page-hero--text .page-title-text,
.dsk-page-hero--text h1 {
	font-size: clamp(2.35rem, 1.7rem + 2.4vw, 3.65rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.08;
	color: var(--dsk-ink);
	text-shadow: none;
}

.dsk-page-hero--text .dsk-page-hero__subtitle {
	color: var(--dsk-muted);
}

/* Single product: slightly smaller header title than shop/menu */
body.single-product .dsk-page-hero--text {
	min-height: clamp(8rem, 14vh, 11rem);
}

body.single-product .dsk-page-hero--text .dsk-page-hero__title,
body.single-product .dsk-page-hero--text .page-title-text,
body.single-product .dsk-page-hero--text h1 {
	font-size: clamp(1.65rem, 1.25rem + 1.4vw, 2.35rem);
	letter-spacing: -0.025em;
	line-height: 1.15;
}

@keyframes dsk-page-hero-text-enter {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dsk-page-hero--text .dsk-page-hero__inner {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

/* Neutralize legacy #static_header_banner when new heroes are used */
#static_header_banner.dsk-hero,
#static_header_banner.dsk-page-hero {
	height: auto !important;
	min-height: max(88svh, calc(100svh - var(--dsk-header-offset)));
	padding: 0 !important;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

#static_header_banner.dsk-page-hero {
	min-height: clamp(14rem, 42vh, 22rem);
}

#static_header_banner.dsk-page-hero--text {
	min-height: clamp(10rem, 18vh, 14rem);
	background-image: none !important;
	background-size: auto;
}

#static_header_banner.dsk-hero::before,
#static_header_banner.dsk-hero:before,
#static_header_banner.dsk-page-hero::before,
#static_header_banner.dsk-page-hero:before {
	display: none !important;
	content: none !important;
	background: none !important;
}

/* When .dsk-hero sits as sibling/replacement, kill banner chrome that doubles height */
body:has(.dsk-hero) #static_header_banner:not(.dsk-hero):not(.dsk-page-hero) {
	display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Highlights slider (Phase 4B)                                               */
/* -------------------------------------------------------------------------- */

.dsk-highlights {
	/* space-8 top meets hero; tighter bottom before toolbar/grid */
	padding-block: var(--dsk-space-8) var(--dsk-space-6);
	background: var(--dsk-gallery);
	color: var(--dsk-ink);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	/* hidden (not clip): reliably kills page scrollWidth from the wide track */
	overflow-x: hidden;
}

.dsk-highlights__head {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"title controls"
		"lede controls";
	align-items: end;
	column-gap: var(--dsk-space-5);
	row-gap: var(--dsk-space-2);
	width: min(100% - (var(--dsk-gutter) * 2), var(--dsk-max));
	margin-inline: auto;
	margin-bottom: var(--dsk-space-6);
}

.dsk-highlights__title {
	grid-area: title;
	margin: 0;
	font-family: var(--dsk-font-display);
	font-size: clamp(1.65rem, 1.35rem + 1vw, 2.25rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--dsk-ink);
}

.dsk-highlights__lede {
	grid-area: lede;
	margin: 0;
	max-width: 28rem;
	font-family: var(--dsk-font-ui);
	font-size: clamp(0.9375rem, 0.9rem + 0.2vw, 1.0625rem);
	font-weight: 400;
	line-height: 1.55;
	color: var(--dsk-muted);
}

.dsk-highlights__controls {
	grid-area: controls;
	display: flex;
	align-items: center;
	gap: var(--dsk-space-2);
	align-self: center;
}

.dsk-highlights__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	margin: 0;
	border: 1px solid var(--dsk-ink);
	border-radius: var(--dsk-radius-sm);
	background: transparent;
	color: var(--dsk-ink);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition:
		color var(--dsk-duration-fast) var(--dsk-ease-out),
		background-color var(--dsk-duration-fast) var(--dsk-ease-out),
		border-color var(--dsk-duration-fast) var(--dsk-ease-out),
		opacity var(--dsk-duration-fast) var(--dsk-ease-out);
}

.dsk-highlights__nav:hover,
.dsk-highlights__nav:focus-visible {
	background: var(--dsk-ink);
	border-color: var(--dsk-ink);
	color: var(--dsk-gallery);
}

.dsk-highlights__nav:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

.dsk-highlights__nav:disabled,
.dsk-highlights__nav[aria-disabled="true"] {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
	background: transparent;
	border-color: var(--dsk-stone);
	color: var(--dsk-muted);
}

.dsk-highlights__icon {
	display: block;
	flex-shrink: 0;
	pointer-events: none;
}

.dsk-highlights__viewport {
	/*
	 * Scrollport for the wide flex track.
	 * Do NOT use contain:inline-size here — it lets track overflow
	 * contribute to document.scrollWidth in Chromium.
	 */
	display: block;
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.dsk-highlights__viewport::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.dsk-highlights__viewport:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 4px;
}

.dsk-highlights__track {
	display: flex;
	gap: clamp(0.85rem, 1.5vw, 1.5rem);
	box-sizing: border-box;
	width: max-content;
	max-width: none;
	margin: 0;
	/* Simple gutters — avoid cqi on max-content track (inflated scrollWidth) */
	padding-inline: var(--dsk-gutter);
	padding-block: 0.15rem;
	list-style: none;
	overflow: visible;
}

.dsk-highlights__track:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 4px;
}

.dsk-highlights__slide {
	flex: 0 0 auto;
	width: 18.5rem;
	max-width: min(18.5rem, 78%);
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}

.dsk-highlights__card {
	display: flex;
	flex-direction: column;
	gap: var(--dsk-space-3);
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

.dsk-highlights__card:hover,
.dsk-highlights__card:focus-visible {
	color: inherit;
	text-decoration: none;
}

.dsk-highlights__card:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

.dsk-highlights__media {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--dsk-stone);
	border-radius: 0;
}

.dsk-highlights__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1);
	transition: transform var(--dsk-duration) var(--dsk-ease-soft);
}

.dsk-highlights__card:hover .dsk-highlights__media img,
.dsk-highlights__card:focus-visible .dsk-highlights__media img {
	transform: scale(1.03);
}

.dsk-highlights__caption {
	display: flex;
	flex-direction: column;
	gap: var(--dsk-space-1);
	padding: 0;
	margin: 0;
	background: transparent;
	border: none;
}

.dsk-highlights__name {
	display: block;
	font-family: var(--dsk-font-display);
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.3;
	color: var(--dsk-ink);
	text-wrap: balance;
}

.dsk-highlights__price {
	display: block;
	font-family: var(--dsk-font-ui);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--dsk-ink);
}

.dsk-highlights__price del {
	font-weight: 500;
	color: var(--dsk-muted);
	margin-right: 0.35em;
}

.dsk-highlights__price ins {
	text-decoration: none;
	color: var(--dsk-copper);
}

@media (min-width: 768px) {
	.dsk-highlights__slide {
		width: 22rem;
		max-width: 22rem;
		scroll-snap-align: center;
	}
}

@media (max-width: 850px) {
	.dsk-highlights {
		padding-block: var(--dsk-space-7) var(--dsk-space-5);
	}

	.dsk-highlights__head {
		margin-bottom: var(--dsk-space-5);
	}
}

@media (max-width: 640px) {
	.dsk-highlights__head {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"title controls"
			"lede lede";
		align-items: start;
		column-gap: var(--dsk-space-3);
	}

	.dsk-highlights__controls {
		align-self: start;
		padding-top: 0.15rem;
		gap: var(--dsk-space-2);
	}
}

@media (max-width: 480px) {
	.dsk-highlights {
		padding-block: var(--dsk-space-6) var(--dsk-space-4);
	}

	.dsk-highlights__slide {
		width: min(18.5rem, 82%);
		max-width: 18.5rem;
	}
}

/* (cqi units removed — rem/% only to avoid document scrollWidth inflation) */

/* -------------------------------------------------------------------------- */
/* About / Rica (brand Startseite)                                            */
/* -------------------------------------------------------------------------- */

.dsk-about {
	position: relative;
	background: var(--dsk-stone);
	color: var(--dsk-ink);
	overflow: clip;
	max-width: 100%;
}

.dsk-about__layout {
	display: grid;
	/* minmax(0,…) prevents intrinsic img width from blowing past the viewport */
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	max-width: 100%;
	min-height: min(88svh, 52rem);
}

.dsk-about__media {
	margin: 0;
	min-width: 0;
	max-width: 100%;
	min-height: min(62svh, 28rem);
	overflow: hidden;
	background: var(--dsk-slate);
}

.dsk-about__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center 22%;
}

.dsk-about__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	max-width: 100%;
	padding: var(--dsk-space-7) var(--dsk-gutter) var(--dsk-space-8);
	background: var(--dsk-gallery);
}

.dsk-about__eyebrow {
	margin: 0 0 var(--dsk-space-2);
	font-family: var(--dsk-font-ui);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dsk-copper);
}

.dsk-about__name {
	margin: 0 0 var(--dsk-space-5);
	font-family: var(--dsk-font-display);
	font-size: clamp(2.75rem, 7vw, 4.25rem);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--dsk-ink);
}

.dsk-about__lede {
	margin: 0 0 var(--dsk-space-5);
	max-width: 28rem;
	font-family: var(--dsk-font-ui);
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--dsk-slate);
}

.dsk-about__facts {
	margin: 0 0 var(--dsk-space-5);
	padding: 0;
	list-style: none;
	max-width: 28rem;
}

.dsk-about__facts li {
	position: relative;
	margin: 0;
	padding: 0.65rem 0 0.65rem 1rem;
	border-top: 1px solid color-mix(in srgb, var(--dsk-ink) 10%, transparent);
	font-family: var(--dsk-font-ui);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--dsk-ink);
}

.dsk-about__facts li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.05rem;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 50%;
	background: var(--dsk-copper);
}

.dsk-about__facts li:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--dsk-ink) 10%, transparent);
}

.dsk-about__lifestyle {
	margin: 0 0 var(--dsk-space-6);
	max-width: 26rem;
	font-family: var(--dsk-font-ui);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--dsk-muted);
}

.dsk-about__actions {
	margin: 0;
}

/* Entrance: media + copy (JS adds .dsk-about--ready) */
.dsk-about__media,
.dsk-about__content {
	opacity: 0;
	transform: translateY(1rem);
}

.dsk-about--ready .dsk-about__media,
.dsk-about--ready .dsk-about__content {
	animation: dsk-about-enter var(--dsk-duration-hero) var(--dsk-ease-out) forwards;
}

.dsk-about--ready .dsk-about__media {
	animation-delay: 0.04s;
}

.dsk-about--ready .dsk-about__content {
	animation-delay: 0.16s;
}

@keyframes dsk-about-enter {
	from {
		opacity: 0;
		transform: translateY(1rem);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (min-width: 900px) {
	.dsk-about__layout {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		min-height: min(92svh, 56rem);
	}

	.dsk-about__media {
		min-height: 100%;
	}

	.dsk-about__content {
		padding: var(--dsk-space-8) clamp(2rem, 4vw, 3.5rem);
	}
}

@media (max-width: 899px) {
	.dsk-about__content {
		padding-block: var(--dsk-space-6) var(--dsk-space-7);
	}

	.dsk-about__name {
		margin-bottom: var(--dsk-space-4);
	}
}

/* -------------------------------------------------------------------------- */
/* Forms                                                                      */
/* -------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	border: 1px solid var(--dsk-stone);
	border-radius: var(--dsk-radius-sm);
	background: var(--dsk-white);
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	padding: 0.7rem 0.9rem;
	transition:
		border-color var(--dsk-duration-fast) var(--dsk-ease-out),
		box-shadow var(--dsk-duration-fast) var(--dsk-ease-out);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--dsk-slate);
	box-shadow: 0 0 0 3px var(--dsk-copper-soft);
	outline: none;
}

/* -------------------------------------------------------------------------- */
/* Product cards — shop loop (Phase 5B)                                       */
/* -------------------------------------------------------------------------- */

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

/* Grid cell + product tile — calm atelier panel (interaction surface) */
.woocommerce ul.products li.product,
.dsk-card {
	float: none !important;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	padding: 0;
	position: relative;
	overflow: hidden;
	background: var(--dsk-white);
	border: 1px solid var(--dsk-stone);
	border-radius: var(--dsk-radius-sm);
	box-shadow: none;
	transition:
		border-color var(--dsk-duration-fast) var(--dsk-ease-out),
		box-shadow var(--dsk-duration) var(--dsk-ease-out);
}

.dsk-card:hover,
.dsk-card:focus-within {
	border-color: color-mix(in srgb, var(--dsk-ink) 22%, var(--dsk-stone));
	box-shadow: 0 12px 28px rgba(28, 27, 26, 0.06);
}

.dsk-card__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: none !important;
	color: inherit;
}

.dsk-card__link:hover,
.dsk-card__link:focus-visible,
.dsk-card__link:hover .dsk-card__title,
.dsk-card__link:hover .dsk-card__price {
	color: inherit;
	text-decoration: none !important;
}

.dsk-card__link:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: -3px;
}

/* Media — full-bleed top of tile */
.dsk-card__media {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: var(--dsk-stone);
	border-radius: 0;
}

.dsk-card__media figure {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.dsk-card__media img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	margin: 0;
	transform: scale(1);
	transition: transform var(--dsk-duration) var(--dsk-ease-soft);
}

.dsk-card:hover .dsk-card__media img,
.dsk-card:focus-within .dsk-card__media img {
	transform: scale(1.04);
}

.dsk-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: var(--dsk-space-5) var(--dsk-space-4) var(--dsk-space-2);
	margin: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	text-align: left;
}

.dsk-card__title,
.dsk-card .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0;
	padding: 0;
	font-family: var(--dsk-font-display);
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.3;
	color: var(--dsk-ink) !important;
	text-decoration: none !important;
	border: none;
}

.dsk-card__price,
.dsk-card .price,
.dsk-card__price .amount,
.dsk-card .price .amount {
	float: none !important;
	display: block;
	margin: 0;
	padding: 0;
	font-family: var(--dsk-font-ui);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--dsk-slate) !important;
	text-decoration: none !important;
	border: none;
}

.dsk-card__price del,
.dsk-card .price del {
	font-weight: 500;
	color: var(--dsk-muted) !important;
	margin-right: 0.35em;
	text-decoration: line-through !important;
}

.dsk-card__price ins,
.dsk-card .price ins {
	text-decoration: none !important;
	color: var(--dsk-copper) !important;
}

.dsk-card__actions,
.dsk-card .button-wrap {
	display: flex !important;
	flex-direction: column;
	gap: var(--dsk-space-2);
	margin: 0 !important;
	margin-top: auto !important;
	padding: var(--dsk-space-2) var(--dsk-space-4) var(--dsk-space-4) !important;
	width: 100%;
	max-width: none !important;
	text-align: left;
}

/* Force readable CTA: parent sets light border-only button; our global text is light → invisible */
.dsk-card__actions .button,
.dsk-card__actions a.button,
.dsk-card__actions .dsk-btn,
.dsk-card__actions .added_to_cart,
.dsk-card .button-wrap .button,
.dsk-card .button-wrap a.button,
.woocommerce ul.products li.product.dsk-card .button,
.woocommerce ul.products li.product.dsk-card a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.75rem 1rem !important;
	border: 1px solid var(--dsk-ink) !important;
	border-radius: var(--dsk-radius-sm) !important;
	background: var(--dsk-ink) !important;
	color: #fafaf8 !important;
	font-family: var(--dsk-font-ui) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2 !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: none !important;
}

.dsk-card__actions .button:hover,
.dsk-card__actions a.button:hover,
.dsk-card__actions .button:focus-visible,
.dsk-card__actions a.button:focus-visible,
.dsk-card .button-wrap .button:hover,
.dsk-card .button-wrap a.button:hover,
.woocommerce ul.products li.product.dsk-card .button:hover,
.woocommerce ul.products li.product.dsk-card a.button:hover {
	background: var(--dsk-copper) !important;
	border-color: var(--dsk-copper) !important;
	color: #fff !important;
	transform: none;
}

.dsk-card__actions .button:focus-visible,
.dsk-card__actions a.button:focus-visible,
.dsk-card .button-wrap .button:focus-visible,
.dsk-card .button-wrap a.button:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

/* Sale flash — quiet corner badge */
.woocommerce ul.products li.product .onsale,
.dsk-card .onsale {
	position: absolute;
	top: var(--dsk-space-2);
	left: var(--dsk-space-2);
	right: auto;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 0.3rem 0.45rem;
	border: none;
	border-radius: var(--dsk-radius-sm);
	background: var(--dsk-ink);
	color: var(--dsk-gallery);
	font-family: var(--dsk-font-ui);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: none;
}

/* Kill parent/child white floating .product_wrap if it reappears */
.woocommerce ul.products li.product .product_wrap,
.woocommerce ul.products li.product.dsk-card .product_wrap,
.dsk-card .product_wrap {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	position: static !important;
	z-index: auto !important;
	box-shadow: none !important;
	transform: none !important;
}

/* -------------------------------------------------------------------------- */
/* Legacy loop markup (pre–.dsk-card transition)                              */
/* -------------------------------------------------------------------------- */

.woocommerce ul.products li.product:not(.dsk-card) .product-image,
.woocommerce ul.products li.product:not(.dsk-card) .woocommerce-LoopProduct-link {
	display: block;
	width: 100%;
}

.woocommerce ul.products li.product:not(.dsk-card) .product-image {
	margin: 0;
	border-radius: 0;
	overflow: hidden;
	background: var(--dsk-stone);
}

.woocommerce ul.products li.product:not(.dsk-card) .product-image figure,
.woocommerce ul.products li.product:not(.dsk-card) figure.hover_hide {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--dsk-stone);
}

.woocommerce ul.products li.product:not(.dsk-card) .product-image img,
.woocommerce ul.products li.product:not(.dsk-card) figure img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center;
	margin: 0 !important;
	transform: scale(1);
	transition: transform var(--dsk-duration) var(--dsk-ease-soft);
}

.woocommerce ul.products li.product:not(.dsk-card) .hover_hide img.woo-entry-image-secondary {
	display: none !important;
	opacity: 0 !important;
}

.woocommerce ul.products li.product:not(.dsk-card):hover .hover_hide img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product:not(.dsk-card):hover .hover_hide img:not(.woo-entry-image-secondary),
.woocommerce ul.products li.product:not(.dsk-card):focus-within .hover_hide img:not(.woo-entry-image-secondary) {
	opacity: 1 !important;
	transform: scale(1.04);
}

.woocommerce ul.products li.product:not(.dsk-card) .woocommerce-loop-product__title {
	font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.0625rem);
	font-weight: 500;
	margin: 0 0 var(--dsk-space-2);
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.woocommerce ul.products li.product:not(.dsk-card) .price {
	float: none !important;
	display: block;
	margin: 0 0 var(--dsk-space-3);
	font-family: var(--dsk-font-ui);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--dsk-ink);
}

.woocommerce ul.products li.product .button-wrap,
.woocommerce ul.products li.product:not(.dsk-card) .button-wrap {
	margin-top: auto;
	max-width: none;
	width: 100%;
	text-align: left;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
	width: 100%;
	min-height: 2.75rem;
	border-radius: var(--dsk-radius-sm);
	justify-content: center;
}

/* Archive / category title on banner — readable over photography */
#static_header_banner:not(.dsk-hero):not(.dsk-page-hero) {
	position: relative;
	isolation: isolate;
	min-height: clamp(14rem, 45vh, 22rem);
	padding-top: 0;
	padding-bottom: 0;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
}

#static_header_banner:not(.dsk-hero):not(.dsk-page-hero)::before,
#static_header_banner:not(.dsk-hero):not(.dsk-page-hero):before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	background: linear-gradient(
		180deg,
		rgba(28, 27, 26, 0.35) 0%,
		rgba(28, 27, 26, 0.58) 100%
	) !important;
	z-index: 1 !important;
	pointer-events: none;
}

#static_header_banner:not(.dsk-hero):not(.dsk-page-hero) .content-text {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-block: var(--dsk-space-7) var(--dsk-space-6);
	color: #fafaf8 !important;
}

#static_header_banner:not(.dsk-hero):not(.dsk-page-hero) .page-title-text,
#static_header_banner:not(.dsk-hero):not(.dsk-page-hero) .content-text h1 {
	color: #fafaf8 !important;
	text-shadow: 0 1px 2px rgba(28, 27, 26, 0.4);
	font-family: var(--dsk-font-display);
	font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2.65rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	font-family: var(--dsk-font-ui);
	font-size: 0.875rem;
	color: var(--dsk-muted);
	margin-bottom: 0;
}

.woocommerce .page-title,
.woocommerce-products-header__title {
	font-family: var(--dsk-font-display);
	font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
	margin-bottom: var(--dsk-space-5);
}

/* -------------------------------------------------------------------------- */
/* Shop anchor + toolbar (Phase 7A)                                           */
/* -------------------------------------------------------------------------- */

/* Sticky-header-aware jump target for hero CTA (#dsk-shop) */
#dsk-shop.dsk-shop-anchor,
.dsk-shop-anchor {
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	scroll-margin-top: calc(var(--dsk-header-offset) + var(--dsk-space-3));
	pointer-events: none;
}

#dsk-shop.dsk-shop-anchor:focus,
.dsk-shop-anchor:focus {
	outline: none;
}

/* Parent toolbar: white box + 40px margin stacked under highlights — normalize */
.joyas-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--dsk-space-3) var(--dsk-space-4);
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0 0 var(--dsk-space-5);
	padding: var(--dsk-space-3) 0;
	background: transparent;
	border-top: 1px solid var(--dsk-stone);
	border-bottom: none;
}

.joyas-shop-toolbar::after,
.joyas-shop-toolbar .clearfix {
	display: none !important;
	content: none !important;
	clear: none !important;
}

.woocommerce .joyas-shop-toolbar .woocommerce-ordering,
.woocommerce .joyas-shop-toolbar .woocommerce-result-count,
.joyas-shop-toolbar .woocommerce-ordering,
.joyas-shop-toolbar .result-count,
.joyas-shop-toolbar .joyas-shop-grid-list {
	float: none;
	margin: 0;
	padding: 0;
}

.joyas-shop-toolbar .woocommerce-ordering {
	order: 1;
	flex: 1 1 auto;
	min-width: 0;
}

.joyas-shop-toolbar .result-count {
	order: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--dsk-font-ui);
	font-size: 0.8125rem;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0.01em;
	color: var(--dsk-muted);
}

.joyas-shop-toolbar .result-count li {
	float: none;
	display: inline-flex;
	align-items: center;
}

.joyas-shop-toolbar .result-count li::after {
	content: none;
}

.joyas-shop-toolbar .result-count li.view-title {
	margin-right: var(--dsk-space-2);
	color: var(--dsk-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 600;
}

.joyas-shop-toolbar .result-count li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: 0.35rem 0.55rem;
	color: var(--dsk-slate);
	text-decoration: none;
	border-radius: var(--dsk-radius-sm);
	transition: color var(--dsk-duration-fast) var(--dsk-ease-out);
}

.joyas-shop-toolbar .result-count li a:hover,
.joyas-shop-toolbar .result-count li a:focus-visible,
.joyas-shop-toolbar .result-count li a.active {
	color: var(--dsk-copper);
}

.joyas-shop-toolbar .result-count li a:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 2px;
}

.woocommerce .joyas-shop-toolbar .woocommerce-ordering .orderby,
.joyas-shop-toolbar .woocommerce-ordering select.orderby,
.joyas-shop-toolbar .customSelect.orderby {
	min-height: 2.75rem;
	min-width: min(100%, 12rem);
	border-color: var(--dsk-stone);
	border-radius: var(--dsk-radius-sm);
	background: var(--dsk-white);
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	font-size: 0.875rem;
}

.joyas-shop-toolbar .woocommerce-ordering select.orderby:focus-visible,
.joyas-shop-toolbar .customSelect.orderby:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 2px;
	border-color: var(--dsk-slate);
}

.woocommerce .joyas-shop-grid-list a:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 2px;
}

@media (max-width: 850px) {
	.joyas-shop-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: var(--dsk-space-2);
		margin-bottom: var(--dsk-space-5);
		padding-block: var(--dsk-space-3);
	}

	.joyas-shop-toolbar .woocommerce-ordering,
	.joyas-shop-toolbar .result-count {
		width: 100%;
	}

	.joyas-shop-toolbar .result-count {
		justify-content: flex-start;
	}

	.woocommerce ul.products {
		gap: clamp(1rem, 2.5vw, 1.5rem);
	}
}

@media (max-width: 480px) {
	.joyas-shop-toolbar {
		margin-bottom: var(--dsk-space-4);
	}

	.woocommerce ul.products {
		gap: var(--dsk-space-4);
	}
}

/* -------------------------------------------------------------------------- */
/* Skip link + search modal (a11y leftovers)                                  */
/* -------------------------------------------------------------------------- */

.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	padding: var(--dsk-space-3) var(--dsk-space-4);
	position: fixed !important;
	top: var(--dsk-space-3);
	left: var(--dsk-space-3);
	z-index: 100000;
	display: inline-block;
	overflow: visible;
	font-family: var(--dsk-font-ui);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-decoration: none;
	color: var(--dsk-gallery);
	background: var(--dsk-ink);
	border: 1px solid var(--dsk-ink);
	border-radius: var(--dsk-radius-sm);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--dsk-ink) 18%, transparent);
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

.dsk-header__search-close:focus-visible {
	outline: 3px solid var(--dsk-copper);
	outline-offset: 3px;
}

/* -------------------------------------------------------------------------- */
/* Footer (Phase 7B)                                                          */
/* -------------------------------------------------------------------------- */

.dsk-footer,
#colophon.site-footer.dsk-footer {
	background: var(--dsk-gallery);
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	border-top: 1px solid var(--dsk-stone);
}

.dsk-footer .footer_widget_wrap,
#colophon.dsk-footer .footer_widget_wrap {
	border-top: none;
	overflow: visible;
	line-height: 1.5;
}

.dsk-footer .footer_widget_wrap .container,
.dsk-footer .dsk-footer__info.container {
	width: min(100% - (var(--dsk-gutter) * 2), var(--dsk-max));
	max-width: var(--dsk-max);
	margin-inline: auto;
	padding-inline: 0;
}

.dsk-footer .footer_widget_wrap .row.joyas-shop-flex,
#colophon.dsk-footer .row.joyas-shop-flex {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dsk-space-6) var(--dsk-space-5);
	margin-left: 0;
	margin-right: 0;
	padding-block: var(--dsk-space-7) var(--dsk-space-6);
}

.dsk-footer .widget,
#colophon.dsk-footer .widget,
.dsk-footer .footer_widget_wrap .widget {
	flex: 1 1 12rem;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.dsk-footer .widget-title,
#colophon.dsk-footer .widget-title {
	margin: 0 0 var(--dsk-space-3);
	font-family: var(--dsk-font-ui);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dsk-muted);
}

.dsk-footer .widget-title span {
	display: inline;
}

.dsk-footer .widget ul,
.dsk-footer .footer_widget_wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dsk-footer .widget li,
.dsk-footer .footer_widget_wrap ul li {
	clear: none;
	padding: 0;
	margin: 0 0 var(--dsk-space-2);
}

.dsk-footer .widget li:last-child,
.dsk-footer .footer_widget_wrap ul li:last-child {
	margin-bottom: 0;
}

.dsk-footer .widget a,
.dsk-footer .footer_widget_wrap a {
	color: var(--dsk-ink);
	font-family: var(--dsk-font-ui);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--dsk-duration-fast) var(--dsk-ease-out);
}

.dsk-footer .widget a:hover,
.dsk-footer .widget a:focus-visible,
.dsk-footer .footer_widget_wrap a:hover,
.dsk-footer .footer_widget_wrap a:focus-visible {
	color: var(--dsk-copper);
}

/* Social icons in footer widgets — quiet, aligned */
.dsk-footer .widget ul.social-links,
#colophon.dsk-footer .widget ul.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dsk-space-2);
	align-items: center;
}

.dsk-footer .widget ul.social-links li,
#colophon.dsk-footer .widget ul.social-links li {
	margin: 0;
	padding: 0;
	width: auto;
}

.dsk-footer ul.social-links li a,
#colophon.dsk-footer ul.social-links li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid var(--dsk-stone);
	border-radius: var(--dsk-radius-sm);
	background: transparent;
	color: var(--dsk-ink);
}

.dsk-footer ul.social-links li a:hover,
.dsk-footer ul.social-links li a:focus-visible,
#colophon.dsk-footer ul.social-links li a:hover,
#colophon.dsk-footer ul.social-links li a:focus-visible {
	border-color: var(--dsk-ink);
	color: var(--dsk-copper);
	background: transparent;
}

.dsk-footer ul.social-links li a i {
	font-size: 1rem;
	line-height: 1;
}

.dsk-footer__info,
#colophon.dsk-footer .site_info.dsk-footer__info {
	border-top: 1px solid var(--dsk-stone);
	padding-block: var(--dsk-space-4);
	padding-inline: 0;
}

.dsk-footer__info .row {
	margin: 0;
	align-items: center;
}

.dsk-footer__copy {
	padding: 0;
	text-align: center;
}

.dsk-footer__copyright {
	display: block;
	font-family: var(--dsk-font-ui);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: var(--dsk-muted);
}

/* Theme vendor credit removed in PHP; hide if cached/filtered markup remains */
.dsk-footer .dev_info,
#colophon.dsk-footer .dev_info {
	display: none !important;
}

/* Back-to-top: quieter chrome */
.dsk-footer ~ a.ui-to-top,
body .ui-to-top {
	right: var(--dsk-gutter);
	bottom: var(--dsk-space-5);
	padding: 0;
	font-size: 1.5rem;
	color: var(--dsk-muted);
}

body .ui-to-top:hover,
body .ui-to-top:focus-visible {
	color: var(--dsk-ink);
}

@media (max-width: 767px) {
	.dsk-footer .footer_widget_wrap .row.joyas-shop-flex,
	#colophon.dsk-footer .row.joyas-shop-flex {
		flex-direction: column;
		gap: var(--dsk-space-5);
		padding-block: var(--dsk-space-6);
	}

	.dsk-footer .widget,
	#colophon.dsk-footer .widget,
	.dsk-footer .footer_widget_wrap .widget {
		flex: 1 1 auto;
		width: 100%;
	}

	.dsk-footer__copy {
		text-align: left;
	}
}

/* -------------------------------------------------------------------------- */
/* Infinite scroll (Phase 6)                                                  */
/* -------------------------------------------------------------------------- */

/* No-JS: pagination stays visible. With JS + infinite: hide it. */
html.dsk-js body.dsk-infinite-enabled .woocommerce-pagination {
	display: none;
}

.dsk-infinite {
	display: block;
	width: 100%;
	margin-block: var(--dsk-space-6) var(--dsk-space-7);
	text-align: center;
	pointer-events: none;
}

.dsk-infinite__sentinel {
	width: 100%;
	height: 1px;
	margin: 0;
	padding: 0;
	pointer-events: none;
	visibility: hidden;
	outline: none;
}

.dsk-infinite__status {
	margin: var(--dsk-space-4) auto 0;
	max-width: 28rem;
	font-family: var(--dsk-font-ui);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: var(--dsk-muted);
	min-height: 1.5em;
	outline: none;
	user-select: none;
}

/* Quiet CSS-only loading cue under status */
.dsk-infinite.is-loading .dsk-infinite__status::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 2px;
	margin: var(--dsk-space-3) auto 0;
	background: linear-gradient(
		90deg,
		transparent,
		var(--dsk-copper),
		transparent
	);
	background-size: 200% 100%;
	animation: dsk-infinite-pulse 1.1s var(--dsk-ease-soft) infinite;
}

.dsk-infinite.is-done .dsk-infinite__status {
	color: var(--dsk-muted);
}

@keyframes dsk-infinite-pulse {
	0% {
		background-position: 100% 0;
		opacity: 0.35;
	}
	50% {
		opacity: 1;
	}
	100% {
		background-position: -100% 0;
		opacity: 0.35;
	}
}

/* Newly appended product cards */
.dsk-card.dsk-card--enter {
	animation: dsk-card-enter var(--dsk-duration) var(--dsk-ease-out) both;
}

@keyframes dsk-card-enter {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* -------------------------------------------------------------------------- */
/* Reduced motion                                                             */
/* -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	/* Hero: no entrance motion — content visible immediately */
	.dsk-hero__brand,
	.dsk-hero__title,
	.dsk-hero__lede,
	.dsk-hero__actions {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}

	/* About: no entrance motion */
	.dsk-about__media,
	.dsk-about__content {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}

	/* Buttons / CTA: no lift */
	.dsk-btn:hover,
	button.button:hover,
	a.button:hover,
	.woocommerce a.button:hover,
	.woocommerce button.button:hover,
	.woocommerce input.button:hover,
	.woocommerce #respond input#submit:hover {
		transform: none !important;
	}

	/* Highlights: keep snap; drop image scale / smooth scroll animation */
	.dsk-highlights__viewport {
		scroll-behavior: auto;
	}

	.dsk-highlights__media img,
	.dsk-highlights__card:hover .dsk-highlights__media img,
	.dsk-highlights__card:focus-visible .dsk-highlights__media img {
		transform: none !important;
	}

	/* Product cards: no hover/focus image scale or lift shadow motion */
	.dsk-card__media img,
	.dsk-card:hover .dsk-card__media img,
	.dsk-card:focus-within .dsk-card__media img,
	.woocommerce ul.products li.product:not(.dsk-card) .product-image img,
	.woocommerce ul.products li.product:not(.dsk-card) figure img,
	.woocommerce ul.products li.product:not(.dsk-card):hover .hover_hide img:not(.woo-entry-image-secondary),
	.woocommerce ul.products li.product:not(.dsk-card):focus-within .hover_hide img:not(.woo-entry-image-secondary) {
		transform: none !important;
	}

	/* Infinite scroll: still load; no enter / pulse motion */
	.dsk-card.dsk-card--enter {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}

	.dsk-infinite.is-loading .dsk-infinite__status::after {
		animation: none !important;
		opacity: 0.5;
		background: var(--dsk-stone);
	}

	/* Mobile nav drawer / backdrop: snap open/closed */
	.dsk-header #navbar,
	.dsk-nav-backdrop {
		transition: none !important;
	}
}
