:root {
	--pp2026-black: #1A1A1A;
	--pp2026-text: #2C2C2C;
	--pp2026-bg: #F5F4F1;
	--pp2026-cream: #EDE8DF;
	--pp2026-cream-light: #F7F3EE;
	--pp2026-border: #D8D3CC;
	--pp2026-border-light: #E8E3DC;
	--pp2026-gold: #C5B4A2;
	--pp2026-amber: #C97B3A;
	--pp2026-amber-dark: #A85F25;
	--pp2026-olive: #4A5240;
	--pp2026-olive-deep: #3F4938;
	--pp2026-muted-tan: rgba(26, 26, 26, 0.4);
	--pp2026-font-display: "Cormorant Garamond", Georgia, serif;
	--pp2026-font-label: "Barlow Condensed", "Arial Narrow", sans-serif;
	--pp2026-font-body: Optima, "Optima Nova LT", Candara, "Noto Serif", Georgia, serif;
	--pp2026-container: 1320px;
	--pp2026-header-height: 58px;
	--pp2026-announcement-height: 28px;
	--pp2026-visible-header-bottom: calc(var(--pp2026-announcement-height) + var(--pp2026-header-height));
	--pp2026-panel-shadow: 0 24px 56px rgba(26, 26, 26, 0.14);
	--pp2026-transition: 160ms ease;
	--pp2026-action-reveal-transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	--pp2026-icon-arrow-right: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--pp2026-icon-arrow-left: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body {
	margin: 0;
}

/* Shared affordance for verified interactive controls across theme and Woo views. */
:is(
	button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	a.button,
	button.button,
	input.button,
	[role="button"],
	[tabindex][data-clickable],
	summary
):not(:disabled):not([aria-disabled="true"]) {
	cursor: pointer !important;
}

:is(
	button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	a.button,
	button.button,
	input.button,
	[role="button"],
	[tabindex][data-clickable],
	summary
):is(:disabled, [aria-disabled="true"]) {
	cursor: not-allowed !important;
}

.pp2026-site {
	background: var(--pp2026-bg);
	color: var(--pp2026-text);
	font-family: var(--pp2026-font-body);
}

.pp2026-site :where(button, input, select, textarea) {
	font-family: inherit;
}

/* Keep normal frontend text-entry controls above iOS Safari's focus-zoom floor.
 * Geometry remains owned by each component; quantity inputs have their own
 * purchase-control contract in the transactional stylesheet.
 */
@media (max-width: 720px) {
	.pp2026-site :where(
		input[type="text"],
		input[type="email"],
		input[type="tel"],
		input[type="search"],
		input[type="url"],
		input[type="password"],
		textarea,
		select
	):not([hidden]) {
		font-size: max(16px, 1rem) !important;
	}
}

/* Neutralize WooCommerce's default purple `.button.alt.disabled` state. */
.pp2026-site .button.alt.single_add_to_cart_button:is(:disabled, .disabled, [aria-disabled="true"], .loading, .added),
.pp2026-site .pp2026-sticky-purchase__button.button.alt:is(:disabled, .disabled, [aria-disabled="true"], .loading, .added) {
	border-color: var(--pp2026-black) !important;
	background: var(--pp2026-black) !important;
	color: #fff !important;
}

.pp2026-site .button.alt.single_add_to_cart_button:focus-visible,
.pp2026-site .add_to_cart_button:focus-visible,
.pp2026-site .added_to_cart:focus-visible,
.pp2026-site .pp2026-sticky-purchase__button:focus-visible {
	outline: 3px solid var(--pp2026-amber) !important;
	outline-offset: 2px;
	box-shadow: none !important;
}

.pp2026-screen-reader-text,
.pp2026-skip-link:not(:focus) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pp2026-skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 1000;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	background: var(--pp2026-black);
	color: #fff;
	text-decoration: none;
}

:root{--pp2026-select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}

/* Continuous edge shading avoids the off-canvas drawer shadow's curved end caps. */
.pp2026-shell-edge {
	position: fixed;
	inset: 0;
	z-index: 70;
	overflow: clip;
	pointer-events: none;
}
.pp2026-shell-edge::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 28px;
	background: linear-gradient(to left, rgba(0,0,0,.12), rgba(0,0,0,.04) 45%, transparent);
	content: "";
}
