/* ============================================================================
   POSH FASHION · HEADER · LUXURY HOUSE EDITION
   Stacked wordmark, character-lift nav, hairline-separated utility cluster.
   ============================================================================ */

/* ─── ANNOUNCEMENT BAR ──────────────────────────────────────────────────── */
.pf-announce {
	background: var(--pf-ink); color: var(--pf-ivory);
	font-family: var(--pf-sans);
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	height: var(--pf-announce-h); position: relative;
	display: flex; align-items: center;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.pf-announce[hidden] { display: none; }
.pf-announce__inner { flex: 1; overflow: hidden; mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%); }
.pf-announce__track {
	display: inline-flex; gap: 48px; align-items: center;
	animation: pf-marquee 60s linear infinite;
	white-space: nowrap; padding-left: 100%;
	will-change: transform;
}
.pf-announce__item { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; }
.pf-announce__pre {
	font-family: var(--pf-serif); font-style: italic; font-weight: 400;
	font-size: 12px; letter-spacing: 0.1em; text-transform: none;
	color: rgba(255,255,255,.4);
}
.pf-announce__text { color: rgba(255,255,255,.92); }
.pf-announce__dot { color: var(--pf-cognac); opacity: .55; font-size: 9px; }
@keyframes pf-marquee { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }

.pf-announce__close {
	width: var(--pf-announce-h); height: var(--pf-announce-h);
	color: rgba(255,255,255,.6);
	display: inline-flex; align-items: center; justify-content: center;
	transition: color var(--pf-trans-fast);
	flex-shrink: 0;
}
.pf-announce__close:hover { color: var(--pf-ivory); }

/* ─── STICKY HEADER ─────────────────────────────────────────────────────── */
.pf-header {
	position: sticky; top: 0; z-index: 90;
	background: var(--pf-ivory);
	border-bottom: 1px solid transparent;
	transition: background 350ms cubic-bezier(.2,.65,.2,1),
				border-color 350ms cubic-bezier(.2,.65,.2,1),
				transform 400ms cubic-bezier(.2,.65,.2,1),
				height 350ms cubic-bezier(.2,.65,.2,1);
}
.pf-header.is-scrolled {
	background: rgba(248,246,242,.95);
	backdrop-filter: blur(16px) saturate(110%);
	-webkit-backdrop-filter: blur(16px) saturate(110%);
	border-bottom-color: var(--pf-line);
}
.pf-header.is-hidden { transform: translateY(-110%); }

/* Inverted variant — transparent over hero, until scroll */
.pf-is-front .pf-header:not(.is-scrolled) {
	background: transparent;
	color: rgba(255,255,255,.95);
}
.pf-is-front .pf-header:not(.is-scrolled) .pf-nav__list a,
.pf-is-front .pf-header:not(.is-scrolled) .pf-brand,
.pf-is-front .pf-header:not(.is-scrolled) .pf-util__btn,
.pf-is-front .pf-header:not(.is-scrolled) .pf-burger { color: rgba(255,255,255,.95); }
.pf-is-front .pf-header:not(.is-scrolled) .pf-brand__rule { background: rgba(255,255,255,.4); }
.pf-is-front .pf-header:not(.is-scrolled) .pf-util__btn--wishlist::before,
.pf-is-front .pf-header:not(.is-scrolled) .pf-util__btn--cart::before { background: rgba(255,255,255,.18); }

.pf-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: var(--pf-header-h);
	max-width: var(--pf-container); margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 56px);
	gap: var(--pf-s-3);
}
.pf-header__lane { display: flex; align-items: center; min-width: 0; }
.pf-header__lane--start { justify-content: flex-start; gap: var(--pf-s-2); }
.pf-header__lane--center { justify-content: center; }
.pf-header__lane--end { justify-content: flex-end; }

/* Slightly compress on scroll */
.pf-header.is-scrolled .pf-header__inner { height: calc(var(--pf-header-h) - 12px); }
.pf-header.is-scrolled .pf-brand__est { opacity: 0; transform: translateY(-4px); }

/* ─── BRAND — STACKED MONOGRAM ──────────────────────────────────────────── */
.pf-brand {
	display: inline-flex; flex-direction: column; align-items: center;
	gap: 4px; line-height: 1;
	color: var(--pf-ink);
	transition: opacity var(--pf-trans-fast);
}
.pf-brand:hover { opacity: 1; }
.pf-brand__line {
	display: flex; align-items: center; gap: 10px;
	font-family: var(--pf-serif); font-weight: 300;
	font-size: clamp(20px, 1.8vw, 26px);
	letter-spacing: 0.18em;
}
.pf-brand__mark { font-feature-settings: "kern", "liga"; }
.pf-brand__mark--alt { font-style: italic; font-variation-settings: "opsz" 144; letter-spacing: 0.12em; }
.pf-brand__rule { display: block; width: 22px; height: 1px; background: currentColor; opacity: .45; }
.pf-brand__est {
	font-family: var(--pf-sans); font-size: 9px;
	letter-spacing: 0.3em; text-transform: uppercase;
	color: var(--pf-smoke); opacity: .75;
	transition: opacity 250ms ease, transform 250ms ease;
}

/* ─── PRIMARY NAV — CHARACTER LIFT ──────────────────────────────────────── */
.pf-nav { display: block; }
.pf-nav__list {
	display: flex; gap: clamp(22px, 2.4vw, 38px);
	align-items: center; list-style: none; padding: 0; margin: 0;
}
.pf-nav__list > li { position: static; }
.pf-nav__list > li > a {
	display: flex; align-items: center; gap: 6px;
	height: var(--pf-header-h);
	font-family: var(--pf-sans);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
	font-weight: 500;
	color: inherit; padding: 0;
	position: relative;
	transition: color var(--pf-trans-fast);
}

/* Character lift via span[data-text] — text moves up, ::before reveals from below */
.pf-nav__list > li > a > span {
	position: relative; display: inline-block; overflow: hidden; height: 1em; line-height: 1;
}
.pf-nav__list > li > a > span::before {
	content: attr(data-text);
	position: absolute; left: 0; top: 100%;
	transition: top 380ms cubic-bezier(.55,.085,.27,.985);
}
.pf-nav__list > li > a > span {
	transition: transform 380ms cubic-bezier(.55,.085,.27,.985);
}
.pf-nav__list > li:hover > a > span { transform: translateY(-100%); }
.pf-nav__list > li:hover > a > span::before { top: 0; }

/* Active state — hairline below */
.pf-nav__list > li.current-menu-item > a::after,
.pf-nav__list > li.is-active > a::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: 24px;
	height: 1px; background: currentColor; opacity: .6;
}

/* Mega menu chevron — small down-arrow indicating expandable section */
.pf-has-mega > a::after {
	content: ''; display: inline-block; flex-shrink: 0;
	width: 4px; height: 4px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: .5;
	margin-left: 4px; margin-top: -4px;
	transition: transform 300ms ease, margin-top 300ms ease;
}
.pf-has-mega:hover > a::after { transform: rotate(225deg); margin-top: 2px; }

@media (max-width: 1024px) {
	.pf-nav { display: none; }
}

/* ─── MEGA MENU ─────────────────────────────────────────────────────────── */
.pf-mega {
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--pf-ivory);
	border-top: 1px solid var(--pf-line);
	color: var(--pf-ink);
	visibility: hidden; opacity: 0;
	transform: translateY(-6px);
	transition: opacity 320ms ease, transform 320ms ease, visibility 0s linear 320ms;
	box-shadow: 0 30px 60px -30px rgba(10,10,10,.18);
	z-index: 95;
}
.pf-has-mega:hover .pf-mega,
.pf-has-mega:focus-within .pf-mega {
	visibility: visible; opacity: 1; transform: translateY(0);
	transition-delay: 0s;
}
.pf-mega__inner {
	padding: clamp(36px, 4vw, 60px) clamp(20px, 4vw, 56px);
	display: grid; grid-template-columns: 1fr 1fr 1fr 1.2fr; gap: var(--pf-s-5);
}
.pf-mega__list { display: contents; }
.pf-mega__list > li {
	display: flex; flex-direction: column; gap: 14px;
	list-style: none;
}
.pf-mega__list > li > a {
	font-family: var(--pf-serif); font-size: 1rem; font-weight: 400;
	letter-spacing: 0; text-transform: none;
	color: var(--pf-ink);
	padding-bottom: 14px;
	border-bottom: 1px solid var(--pf-line-strong);
}
.pf-mega__list > li > a::after { display: none; }
.pf-mega__list .sub-menu { display: grid; gap: 10px; padding: 0; margin: 0; }
.pf-mega__list .sub-menu li { list-style: none; }
.pf-mega__list .sub-menu a {
	color: var(--pf-smoke); font-size: 13px;
	transition: color var(--pf-trans-fast), padding-left var(--pf-trans-fast);
}
.pf-mega__list .sub-menu a:hover {
	color: var(--pf-ink); opacity: 1;
	padding-left: 6px;
}
.pf-mega__hint {
	display: block; color: var(--pf-smoke); font-size: 10px;
	letter-spacing: 0.18em; text-transform: uppercase; margin-top: 2px;
}

/* ─── BURGER (MOBILE) ────────────────────────────────────────────────────── */
.pf-burger {
	display: none; align-items: center; gap: 8px;
	padding: 6px 0;
	font-family: var(--pf-sans); font-size: 10px;
	letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500;
	color: inherit;
}
.pf-burger__bars { display: inline-flex; flex-direction: column; gap: 4px; }
.pf-burger__bars span { display: block; width: 18px; height: 1px; background: currentColor; transition: transform var(--pf-trans-fast); }
.pf-burger__label { display: none; }
@media (max-width: 1024px) {
	.pf-burger { display: inline-flex; }
}
@media (min-width: 480px) and (max-width: 1024px) {
	.pf-burger__label { display: inline; }
}

/* ─── UTILITY CLUSTER ───────────────────────────────────────────────────── */
.pf-util {
	display: inline-flex; align-items: center;
}
.pf-util__btn {
	display: inline-flex; align-items: center; justify-content: center;
	position: relative;
	width: 42px; height: 42px;
	color: inherit;
	transition: color var(--pf-trans-fast);
}
.pf-util__btn:hover { color: var(--pf-accent); opacity: 1; }

/* Hairline separators between utility buttons */
.pf-util__btn + .pf-util__btn {
	position: relative;
}
.pf-util__btn + .pf-util__btn::before {
	content: ''; position: absolute; left: 0; top: 50%;
	transform: translateY(-50%);
	height: 16px; width: 1px;
	background: var(--pf-line-strong);
	opacity: .6;
}

/* Count badges — minimalist, no red circle */
.pf-util__count {
	position: absolute; top: 6px; right: 4px;
	font-family: var(--pf-sans);
	font-size: 9px; letter-spacing: 0.05em; font-weight: 600;
	color: var(--pf-accent);
	background: var(--pf-ivory);
	border: 1px solid var(--pf-line-strong);
	min-width: 16px; height: 16px; padding: 0 4px;
	display: inline-flex; align-items: center; justify-content: center;
	line-height: 1;
	border-radius: 0;
}
.pf-is-front .pf-header:not(.is-scrolled) .pf-util__count {
	background: rgba(0,0,0,.4);
	border-color: rgba(255,255,255,.3);
	color: #fff;
}
.pf-util__btn:hover .pf-util__count {
	background: var(--pf-accent); color: #fff; border-color: var(--pf-accent);
}

@media (max-width: 540px) {
	.pf-util__btn { width: 38px; height: 38px; }
}

/* ─── SCROLL LOCK ──────────────────────────────────────────────────────── */
body.pf-no-scroll { overflow: hidden; }

/* ─── RESPONSIVE FIXES ──────────────────────────────────────────────────── */
/* Tablet — hide secondary utility icons */
@media (max-width: 1024px) {
	.pf-header__right .pf-hide-mobile.pf-icon-btn--account,
	.pf-header__right .pf-hide-mobile.pf-icon-btn--wishlist { display: none; }
	.pf-brand__est { display: none; }
}
@media (max-width: 540px) {
	.pf-util__btn.pf-hide-mobile { display: none; }
	.pf-header__inner { gap: var(--pf-s-2); padding: 0 16px; }
	.pf-brand__line { gap: 6px; font-size: 17px; letter-spacing: 0.12em; }
	.pf-brand__rule { width: 14px; }
}

/* ─── SEARCH OVERLAY — editorial split ──────────────────────────────────── */
.pf-search {
	position: fixed; inset: 0; z-index: 110;
	background: var(--pf-ivory);
	visibility: hidden; opacity: 0;
	transition: opacity 380ms cubic-bezier(.2,.65,.2,1), visibility 0s linear 380ms;
	overflow-y: auto;
}
.pf-search.is-open { visibility: visible; opacity: 1; transition-delay: 0s; }
.pf-search__inner {
	max-width: 1280px; margin: 0 auto;
	padding: clamp(28px, 5vh, 72px) clamp(20px, 4vw, 56px) clamp(40px, 8vh, 100px);
}
.pf-search__head {
	display: flex; justify-content: space-between; align-items: center;
	padding-bottom: clamp(20px, 3vh, 40px);
}
.pf-search__eyebrow {
	font-family: var(--pf-sans); font-size: 11px;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--pf-smoke);
}
.pf-search__close {
	display: inline-flex; align-items: center; gap: 10px;
	color: var(--pf-ink); font-family: var(--pf-sans);
	font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500;
	padding: 8px 0; border-bottom: 1px solid var(--pf-ink);
	transition: opacity var(--pf-trans-fast);
}
.pf-search__close:hover { opacity: .55; }

.pf-search__form {
	display: flex; align-items: center; gap: 18px;
	border-top: 1px solid var(--pf-ink);
	border-bottom: 1px solid var(--pf-ink);
	padding: clamp(18px, 3vh, 32px) 0;
}
.pf-search__icon { color: var(--pf-smoke); flex-shrink: 0; }
.pf-search__input {
	flex: 1;
	font-family: var(--pf-serif); font-weight: 300;
	font-size: clamp(1.5rem, 3.5vw, 2.75rem);
	border: 0; background: transparent; outline: none;
	color: var(--pf-ink);
	line-height: 1.1; letter-spacing: -0.01em;
}
.pf-search__input::placeholder { color: rgba(10,10,10,.3); font-style: italic; }
.pf-search__submit {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--pf-sans); font-size: 11px;
	letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500;
	background: var(--pf-ink); color: var(--pf-ivory);
	padding: 14px 22px;
	flex-shrink: 0;
	transition: background var(--pf-trans);
}
.pf-search__submit:hover { background: var(--pf-accent); }

.pf-search__split {
	display: grid; grid-template-columns: 1fr 380px;
	gap: clamp(32px, 5vw, 80px);
	padding-top: clamp(28px, 4vh, 56px);
}
@media (max-width: 900px) { .pf-search__split { grid-template-columns: 1fr; } }

.pf-search__label {
	display: block; font-family: var(--pf-sans); font-size: 10px;
	letter-spacing: 0.25em; text-transform: uppercase;
	color: var(--pf-smoke); margin-bottom: var(--pf-s-3);
}

.pf-search__suggestions ul { list-style: none; padding: 0; margin: 0; }
.pf-search__suggestions li { border-top: 1px solid var(--pf-line); }
.pf-search__suggestions li:last-child { border-bottom: 1px solid var(--pf-line); }
.pf-search__suggestions li a {
	display: flex; align-items: center; gap: 20px;
	padding: 18px 0;
	font-family: var(--pf-serif); font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	color: var(--pf-ink);
	transition: padding var(--pf-trans-fast);
}
.pf-search__suggestions li a:hover { padding-left: 8px; opacity: 1; }
.pf-search__num {
	font-family: var(--pf-sans); font-size: 10px;
	letter-spacing: 0.2em; color: var(--pf-smoke); min-width: 24px;
}
.pf-search__term { flex: 1; }
.pf-search__suggestions li a svg {
	opacity: 0; transform: translateX(-6px);
	transition: opacity var(--pf-trans-fast), transform var(--pf-trans-fast);
}
.pf-search__suggestions li a:hover svg { opacity: 1; transform: translateX(0); }

.pf-search__results { margin-top: var(--pf-s-4); }
.pf-search__results ul { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.pf-search__results li { border-top: 1px solid var(--pf-line); }
.pf-search__results li a { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; padding: 14px 0; }
.pf-search__results img { width: 64px; height: 84px; object-fit: cover; background: var(--pf-bone); }
.pf-search__results span { display: block; font-family: var(--pf-serif); font-size: 16px; }
.pf-search__results small { color: var(--pf-smoke); font-size: 12px; }
.pf-search__empty { color: var(--pf-smoke); font-family: var(--pf-serif); font-style: italic; padding: 16px 0; }

/* Featured card */
.pf-search__feature { display: block; position: relative; color: var(--pf-ink); }
.pf-search__feature:hover { opacity: 1; }
.pf-search__feature-media {
	aspect-ratio: 3 / 4; overflow: hidden; background: var(--pf-bone);
	margin-bottom: var(--pf-s-2);
}
.pf-search__feature-media svg { width: 100%; height: 100%; display: block; transition: transform 1.2s cubic-bezier(.2,.65,.2,1); }
.pf-search__feature:hover .pf-search__feature-media svg { transform: scale(1.04); }
.pf-search__feature-body { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; }
.pf-search__feature-eyebrow {
	font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--pf-smoke);
}
.pf-search__feature h4 {
	font-family: var(--pf-serif); font-weight: 300;
	font-size: 1.5rem; letter-spacing: -0.01em; margin: 0;
}
.pf-search__feature-cta {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--pf-sans); font-size: 11px;
	letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500;
	color: var(--pf-ink); border-bottom: 1px solid var(--pf-ink);
	padding-bottom: 4px; align-self: flex-start;
}

/* ─── CART DRAWER ───────────────────────────────────────────────────────── */
.pf-cart-drawer { position: fixed; inset: 0; z-index: 120; visibility: hidden; }
.pf-cart-drawer.is-open { visibility: visible; }
.pf-cart-drawer__overlay {
	position: absolute; inset: 0;
	background: rgba(10,10,10,.5);
	opacity: 0; transition: opacity 380ms cubic-bezier(.2,.65,.2,1);
}
.pf-cart-drawer.is-open .pf-cart-drawer__overlay { opacity: 1; }
.pf-cart-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(460px, 100vw);
	background: var(--pf-ivory);
	display: flex; flex-direction: column;
	transform: translateX(100%);
	transition: transform 480ms cubic-bezier(.2,.65,.2,1);
	box-shadow: -40px 0 80px -40px rgba(10,10,10,.25);
}
.pf-cart-drawer.is-open .pf-cart-drawer__panel { transform: translateX(0); }

.pf-cart-drawer__head {
	padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px) var(--pf-s-3);
	border-bottom: 1px solid var(--pf-line);
}
.pf-cart-drawer__head-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--pf-s-2); }
.pf-cart-drawer__eyebrow { font-family: var(--pf-sans); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--pf-smoke); }
.pf-cart-drawer__close { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; color: var(--pf-ink); transition: color var(--pf-trans-fast); }
.pf-cart-drawer__close:hover { color: var(--pf-accent); }
.pf-cart-drawer__head h3 { margin: 0 0 var(--pf-s-3); font-family: var(--pf-serif); font-weight: 300; font-size: 1.75rem; letter-spacing: -0.01em; }

.pf-cart-drawer__shipping { padding-top: var(--pf-s-2); }
.pf-cart-drawer__shipping p { margin: 0 0 10px; font-size: 12px; color: var(--pf-smoke); }
.pf-cart-drawer__progress { height: 2px; background: var(--pf-line-strong); position: relative; overflow: hidden; }
.pf-cart-drawer__progress-bar {
	position: absolute; left: 0; top: 0; bottom: 0;
	background: var(--pf-ink);
	transition: width 600ms cubic-bezier(.2,.65,.2,1);
}

.pf-cart-drawer__body {
	flex: 1; overflow-y: auto;
	padding: var(--pf-s-3) clamp(20px, 3vw, 28px);
}
.pf-cart-drawer__body::-webkit-scrollbar { width: 6px; }
.pf-cart-drawer__body::-webkit-scrollbar-thumb { background: var(--pf-line-strong); }

.pf-cart-drawer__body .woocommerce-mini-cart { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.pf-cart-drawer__body .mini_cart_item {
	display: grid; grid-template-columns: 90px 1fr auto; gap: 16px;
	padding: var(--pf-s-3) 0; border-bottom: 1px solid var(--pf-line);
	align-items: flex-start;
}
.pf-cart-drawer__body .mini_cart_item img { width: 90px; height: 112px; object-fit: cover; background: var(--pf-bone); }
.pf-cart-drawer__body .mini_cart_item a { font-family: var(--pf-serif); font-size: 15px; line-height: 1.3; color: var(--pf-ink); }
.pf-cart-drawer__body .quantity { display: block; color: var(--pf-smoke); font-size: 11px; letter-spacing: 0.08em; margin-top: 4px; }
.pf-cart-drawer__body .remove { color: var(--pf-smoke); font-size: 22px; line-height: 1; text-decoration: none; align-self: flex-start; }
.pf-cart-drawer__body .remove:hover { color: var(--pf-accent); }

.pf-cart-drawer__body .woocommerce-mini-cart__total {
	padding-top: var(--pf-s-3); margin-top: var(--pf-s-2);
	border-top: 1px solid var(--pf-line-strong);
	font-family: var(--pf-serif); font-size: 1.1rem;
	display: flex; justify-content: space-between; align-items: center;
}
.pf-cart-drawer__body .woocommerce-mini-cart__total strong { font-weight: 400; }

.pf-cart-drawer__body .woocommerce-mini-cart__buttons {
	display: grid; gap: 10px; margin-top: var(--pf-s-3);
}
.pf-cart-drawer__body .woocommerce-mini-cart__buttons a {
	display: inline-flex; align-items: center; justify-content: center;
	height: 52px;
	font-family: var(--pf-sans); font-size: 11px;
	letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500;
	border: 1px solid var(--pf-ink); color: var(--pf-ink);
	transition: background var(--pf-trans), color var(--pf-trans);
}
.pf-cart-drawer__body .woocommerce-mini-cart__buttons a.checkout {
	background: var(--pf-ink); color: var(--pf-ivory);
}
.pf-cart-drawer__body .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--pf-accent); border-color: var(--pf-accent); }
.pf-cart-drawer__body .woocommerce-mini-cart__buttons a:not(.checkout):hover { background: var(--pf-ink); color: var(--pf-ivory); }

.pf-cart-drawer__empty {
	text-align: center; padding: var(--pf-s-6) var(--pf-s-3);
	display: flex; flex-direction: column; align-items: center; gap: var(--pf-s-3);
	color: var(--pf-smoke);
}
.pf-cart-drawer__empty svg { color: var(--pf-line-strong); }
.pf-cart-drawer__empty p { font-family: var(--pf-serif); font-style: italic; font-size: 1.1rem; margin: 0; }

/* ─── MOBILE MENU DRAWER ────────────────────────────────────────────────── */
.pf-mobile-menu { position: fixed; inset: 0; z-index: 115; visibility: hidden; }
.pf-mobile-menu.is-open { visibility: visible; }
.pf-mobile-menu__panel {
	position: absolute; top: 0; left: 0; bottom: 0;
	width: min(420px, 100vw);
	background: var(--pf-ivory);
	display: flex; flex-direction: column;
	transform: translateX(-100%);
	transition: transform 480ms cubic-bezier(.2,.65,.2,1);
	box-shadow: 40px 0 80px -40px rgba(10,10,10,.25);
}
.pf-mobile-menu.is-open .pf-mobile-menu__panel { transform: translateX(0); }

.pf-mobile-menu__head {
	display: flex; justify-content: space-between; align-items: center;
	padding: var(--pf-s-3); border-bottom: 1px solid var(--pf-line);
}
.pf-mobile-menu__brand {
	display: inline-flex; gap: 8px;
	font-family: var(--pf-serif); font-weight: 300;
	font-size: 18px; letter-spacing: 0.15em;
	color: var(--pf-ink);
}
.pf-mobile-menu__brand-alt { font-style: italic; }
.pf-mobile-menu__close { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; color: var(--pf-ink); }

.pf-mobile-menu__inline-search {
	padding: var(--pf-s-3);
	border-bottom: 1px solid var(--pf-line);
}
.pf-mobile-menu__inline-search form {
	display: flex; align-items: center; gap: 10px;
	background: var(--pf-bone);
	padding: 12px 14px;
}
.pf-mobile-menu__inline-search svg { color: var(--pf-smoke); flex-shrink: 0; }
.pf-mobile-menu__inline-search input {
	flex: 1; background: transparent; border: 0; outline: none;
	font-family: var(--pf-sans); font-size: 14px;
	color: var(--pf-ink);
}
.pf-mobile-menu__inline-search input::placeholder { color: var(--pf-smoke); }

.pf-mobile-menu__nav { flex: 1; overflow-y: auto; padding: var(--pf-s-2) 0; }
.pf-mobile-menu__list { list-style: none; padding: 0; margin: 0; }
.pf-mobile-menu__list > li { border-bottom: 1px solid var(--pf-line); }
.pf-mobile-menu__list > li > a {
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px var(--pf-s-3);
	font-family: var(--pf-serif); font-weight: 300;
	font-size: 1.5rem; letter-spacing: -0.01em;
	color: var(--pf-ink);
	transition: padding-left var(--pf-trans-fast);
}
.pf-mobile-menu__list > li > a::after {
	content: '→'; font-family: var(--pf-sans); font-size: 14px;
	color: var(--pf-smoke);
	transition: transform var(--pf-trans-fast), color var(--pf-trans-fast);
}
.pf-mobile-menu__list > li > a:hover { padding-left: calc(var(--pf-s-3) + 6px); opacity: 1; }
.pf-mobile-menu__list > li > a:hover::after { transform: translateX(4px); color: var(--pf-ink); }
.pf-mobile-menu__list .sub-menu { padding: 0 var(--pf-s-3) var(--pf-s-3); list-style: none; margin: 0; }
.pf-mobile-menu__list .sub-menu a { display: block; padding: 10px 0; color: var(--pf-smoke); font-family: var(--pf-sans); font-size: 13px; letter-spacing: 0.04em; }
.pf-mobile-menu__list .sub-menu a::after { display: none; }

.pf-mobile-menu__util {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
	background: var(--pf-line);
	border-top: 1px solid var(--pf-line);
}
.pf-mobile-menu__util a {
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	padding: var(--pf-s-3) var(--pf-s-2);
	background: var(--pf-ivory);
	color: var(--pf-ink);
	font-family: var(--pf-sans); font-size: 10px;
	letter-spacing: 0.22em; text-transform: uppercase; font-weight: 500;
}
.pf-mobile-menu__util a svg { color: var(--pf-smoke); }

.pf-mobile-menu__foot {
	padding: var(--pf-s-3); border-top: 1px solid var(--pf-line);
	text-align: center;
}
.pf-mobile-menu__foot small {
	font-family: var(--pf-sans); font-size: 10px;
	letter-spacing: 0.25em; text-transform: uppercase;
	color: var(--pf-smoke);
}
