/* M17 fix: Google Fonts is now loaded via functions.php (preconnect + non-blocking
 * stylesheet enqueue). The @import above was removed because it blocks first paint. */

/* M16 fix: typography fallbacks only — JS-enqueued fonts (Inter / Playfair Display)
 * from Google Fonts in functions.php cascade naturally. We avoid !important so
 * WooCommerce and third-party plugins can override if they need to. */
h1, h2, h3, h4, h5, h6,
.font-serif,
.font-canela {
	font-family: 'Playfair Display', Georgia, serif;
}

body,
input,
select,
textarea,
button,
.font-sans {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.woocommerce,
.woocommerce-page,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-mini-cart {
	font-family: inherit;
}

html {
	scroll-behavior: smooth;
	background-color: #0E0C09;
}

body {
	margin: 0;
	padding: 0;
	font-family: 'Inter', sans-serif;
	background-color: #F7F3EE;
	color: #0E0C09;
	overflow-x: hidden;
}

/* Animations */
@keyframes grainShift {
	0%, 100% { transform: translate(0, 0); }
	10% { transform: translate(-2%, -3%); }
	20% { transform: translate(3%, 1%); }
	30% { transform: translate(-1%, 4%); }
	40% { transform: translate(2%, -2%); }
	50% { transform: translate(-3%, 2%); }
	60% { transform: translate(1%, -1%); }
	70% { transform: translate(-2%, 3%); }
	80% { transform: translate(3%, -4%); }
	90% { transform: translate(-1%, 1%); }
}

@keyframes kenBurns {
	0% { transform: scale(1.08) translate(0%, 0%); }
	25% { transform: scale(1.14) translate(-1%, -0.5%); }
	50% { transform: scale(1.1) translate(1%, 0.5%); }
	75% { transform: scale(1.13) translate(-0.5%, 1%); }
	100% { transform: scale(1.08) translate(0%, 0%); }
}

@keyframes gradientDrift {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.85; }
}

@keyframes floatY {
	0%, 100% { transform: translateY(0px); }
	50% { transform: translateY(-12px); }
}

@keyframes marqueeScroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@keyframes marqueeScrollReverse {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}

@keyframes preloaderCircleRing {
	from { stroke-dashoffset: 314.2; transform: rotate(-90deg); }
	to { stroke-dashoffset: 0; transform: rotate(270deg); }
}

@keyframes preloaderCircleInner {
	from { stroke-dashoffset: 251.3; transform: rotate(0deg); }
	to { stroke-dashoffset: 0; transform: rotate(360deg); }
}

@keyframes preloaderTextReveal {
	from { transform: translateY(100%); }
	to { transform: translateY(0); }
}

@keyframes preloaderFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes preloaderWipeOut {
	from { transform: translateY(0); opacity: 1; }
	to { transform: translateY(-100%); opacity: 0; }
}

/* Ken Burns Hero image */
.hero-img {
	animation: kenBurns 22s ease-in-out infinite;
	will-change: transform;
}

.hero-gradient {
	animation: gradientDrift 8s ease-in-out infinite;
}

/* Film Grain Overlay */
.ad-grain::after {
	content: '';
	position: fixed;
	inset: -200%;
	z-index: 996;
	pointer-events: none;
	width: 400%;
	height: 400%;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
	animation: grainShift 0.5s steps(1) infinite;
	opacity: 0.35;
}

/* Custom Cursor */
.custom-cursor-dot {
	width: 12px;
	height: 12px;
	background-color: #C9A46C;
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 9999;
	mix-blend-mode: difference;
	transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease;
}

.custom-cursor-circle {
	width: 56px;
	height: 56px;
	border: 1px solid rgba(201, 164, 172, 0.6);
	border-color: rgba(201, 164, 108, 0.6);
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.4;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, width 0.3s ease, height 0.3s ease;
}

.custom-cursor-circle span {
	font-size: 7px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #C9A46C;
	font-weight: 500;
	opacity: 0;
	transition: opacity 0.3s ease;
}

body.cursor-hovering .custom-cursor-circle {
	transform: translate(-50%, -50%) scale(1.8);
	opacity: 1;
}

body.cursor-hovering .custom-cursor-circle span {
	opacity: 1;
}

body.cursor-hovering .custom-cursor-dot {
	transform: translate(-50%, -50%) scale(0);
}

/* Disable custom cursor on touch devices to ensure absolute performance */
@media (hover: none) and (pointer: coarse) {
	.custom-cursor-dot,
	.custom-cursor-circle {
		display: none !important;
	}
}

/* Preloader styles */
.preloader {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #0E0C09;
	transition: opacity 0.8s cubic-bezier(0.76, 0, 0.24, 1), visibility 0.8s;
}

.preloader.fade-out {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* Prevent scrolling while preloader is active */
body:has(.preloader:not(.fade-out)) {
	overflow: hidden !important;
}

.preloader-ring {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
}

.preloader-ring svg {
	transform: rotate(-90deg);
}

.preloader-ring circle.outer {
	stroke-dasharray: 314.2;
	stroke-dashoffset: 314.2;
	transform-origin: 55px 55px;
	animation: preloaderCircleRing 1.8s cubic-bezier(0.76, 0, 0.24, 1) forwards;
	animation-delay: 0.2s;
}

.preloader-ring circle.inner {
	stroke-dasharray: 251.3;
	stroke-dashoffset: 251.3;
	transform-origin: 55px 55px;
	animation: preloaderCircleInner 1.5s cubic-bezier(0.76, 0, 0.24, 1) forwards;
	animation-delay: 0.5s;
}

.preloader-star {
	position: absolute;
	color: #C9A46C;
	font-size: 24px;
	opacity: 0;
	transform: scale(0.5);
	animation: preloaderFadeIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
	animation-delay: 1.1s;
}

.preloader-text {
	text-align: center;
	color: #F7F3EE;
}

.preloader-subtext {
	font-size: 7px;
	text-transform: uppercase;
	letter-spacing: 0.65em;
	color: rgba(201, 164, 108, 0.55);
	margin-bottom: 12px;
	opacity: 0;
	animation: preloaderFadeIn 0.8s ease forwards;
	animation-delay: 0.6s;
}

.preloader-title-wrapper {
	overflow: hidden;
	height: 48px;
	margin-bottom: 12px;
}

.preloader-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 300;
	letter-spacing: 0.32em;
	font-size: 2.2rem;
	margin: 0;
	transform: translateY(100%);
	animation: preloaderTextReveal 0.9s cubic-bezier(0.76, 0, 0.24, 1) forwards;
	animation-delay: 0.75s;
}

.preloader-divider {
	height: 1px;
	width: 80px;
	margin: 12px auto;
	background: linear-gradient(to right, transparent, #C9A46C, transparent);
	transform: scaleX(0);
	animation: preloaderCircleInner 0.7s cubic-bezier(0.76, 0, 0.24, 1) forwards; /* using same matrix scale */
	animation-delay: 1.3s;
}

.preloader-footer-text {
	font-size: 7px;
	text-transform: uppercase;
	letter-spacing: 0.5em;
	color: rgba(247, 243, 238, 0.18);
	opacity: 0;
	animation: preloaderFadeIn 0.6s ease forwards;
	animation-delay: 1.6s;
}

/* Infinite Marquee Strip */
.marquee-container {
	width: 100%;
	overflow: hidden;
	display: flex;
	white-space: nowrap;
	padding: 0;
}

.marquee-track {
	display: inline-flex;
	align-items: center;
	animation: marqueeScroll 25s linear infinite;
}

.marquee-track.reverse {
	animation: marqueeScrollReverse 25s linear infinite;
}

.marquee-item {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(10px, 1.4vw, 13px);
	text-transform: uppercase;
	letter-spacing: 0.4em;
	font-weight: 500;
	line-height: 1;
	color: #0E0C09;
	padding: 0 24px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.marquee-item::after {
	content: '✦';
	color: #C9A46C;
	font-size: 11px;
	margin-left: 24px;
}

/* Floating Gold Orbs */
.orb-float-1 {
	animation: floatY 9s ease-in-out infinite;
}

.orb-float-2 {
	animation: floatY 12s ease-in-out infinite;
	animation-delay: 3s;
}

/* Back To Top Button */
.back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 995;
	background-color: #0E0C09;
	border: 1px solid rgba(247, 243, 238, 0.1);
	color: #F7F3EE;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease, border-color 0.3s ease, color 0.3s ease;
}

.back-to-top.visible {
	opacity: 1;
	visibility: visible;
}

.back-to-top:hover {
	border-color: #C9A46C;
	color: #C9A46C;
}

/* Header scroll color transitions */
:root {
	--header-text: white;
	--header-text-muted: rgba(255, 255, 255, 0.4);
}

header.fixed {
	transition: background 0.5s ease, border-color 0.5s ease, box-shadow 0.5s ease;
}

header.fixed.header-scrolled {
	background-color: rgba(247, 243, 238, 0.96) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	border-bottom: 1px solid rgba(26, 26, 26, 0.08) !important;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
	--header-text: #1A1A1A;
	--header-text-muted: rgba(26, 26, 26, 0.4);
}

.ad-header-text {
	color: var(--header-text);
	transition: color 0.5s ease;
}

.ad-header-text-muted {
	color: var(--header-text-muted);
	transition: color 0.5s ease;
}

/* Mobile responsive menu */
.mobile-menu-overlay {
	position: fixed;
	inset: 0;
	background-color: #F7F3EE;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0;
	transform: translateY(-100%);
	transition: transform 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.mobile-menu-overlay.open {
	transform: translateY(0);
}

/* Cart Drawer — matches the original Argana Dune drawer:
 * dark backdrop with blur that fades in, panel slides from the right. */
.cart-drawer-overlay {
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.55);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	z-index: 9995;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.cart-drawer-overlay.open {
	opacity: 1;
	visibility: visible;
}

.cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 420px;
	background-color: #0E0C09;
	z-index: 9996;
	transform: translateX(100%);
	transition: transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
	box-shadow: -20px 0 60px rgba(0, 0, 0, 0.35);
	display: flex;
	flex-direction: column;
	will-change: transform;
}

.cart-drawer-overlay.open .cart-drawer {
	transform: translateX(0);
}

/* Premium Scrollbar */
::-webkit-scrollbar {
	width: 6px;
}
::-webkit-scrollbar-track {
	background: #0E0C09;
}
::-webkit-scrollbar-thumb {
	background: #C9A46C;
	border-radius: 3px;
}

/* Remove default Gutenberg block margins/padding so our full-bleed sections
 * sit flush — but ONLY on the structural wrappers, not on every descendant.
 * (The previous rule also targeted `.entry-content > *` with !important, which
 * stripped intended padding and broke Tailwind `space-y-*` rhythm inside
 * patterns, making content feel cramped.) */
.wp-site-blocks,
.wp-block-group.alignfull,
.wp-block-group__inner-container {
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	max-width: none;
	width: 100%;
}

/* The top-level <main> wrapper and template-part regions should be flush. */
.wp-site-blocks > main,
.wp-site-blocks > header,
.wp-site-blocks > footer,
main.wp-block-group,
.wp-block-template-part {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body {
	margin: 0 !important;
	padding: 0 !important;
}

/* Fix sticky header margins */
header.sticky {
	margin: 0 !important;
}

/* --- Intersection Observer Animations (Replicating Framer Motion) --- */
.reveal-on-scroll {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform, opacity;
}

.reveal-on-scroll.is-visible {
	opacity: 1 !important;
	transform: translateY(0) !important;
}

.scale-reveal {
	opacity: 0;
	transform: scale(0.97) translateY(10px);
	transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1), transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform, opacity;
}

.scale-reveal.is-visible {
	opacity: 1 !important;
	transform: scale(1) translateY(0) !important;
}

/* Sequential delays */
.delay-100 { transition-delay: 100ms !important; }
.delay-200 { transition-delay: 200ms !important; }
.delay-300 { transition-delay: 300ms !important; }
.delay-400 { transition-delay: 400ms !important; }
.delay-500 { transition-delay: 500ms !important; }
.delay-600 { transition-delay: 600ms !important; }
.delay-700 { transition-delay: 700ms !important; }

/* Micro-hover effects */
.hover-gold-grow {
	transition: color 0.4s ease, border-color 0.4s ease, transform 0.4s ease;
}
.hover-gold-grow:hover {
	color: #C9A46C !important;
	border-color: #C9A46C !important;
	transform: translateY(-2px);
}

/* Wishlist button states */
.ad-wishlist-btn { cursor: pointer; transition: color 0.3s, border-color 0.3s, background-color 0.3s; }
.ad-wishlist-btn.wishlisted { color: #C9A46C; border-color: #C9A46C; background-color: rgba(201, 164, 108, 0.1); }
.ad-wishlist-btn.wishlisted i { font-weight: 700; }
/* Icon-only variant (small floating buttons) gets a subtle scale on hover. */
.ad-wishlist-btn.ad-wishlist-icon:hover { transform: scale(1.15); }

/* --- Ingredient Flip Cards --- */
.ingredient-card {
	perspective: 1000px;
}

.ingredient-card-inner {
	position: relative;
	width: 100%;
	height: 100%;
	transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	transform-style: preserve-3d;
}

.ingredient-card.flipped .ingredient-card-inner {
	transform: rotateY(180deg);
}

.ingredient-card-front,
.ingredient-card-back {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.ingredient-card-back {
	transform: rotateY(180deg);
}

/* --- WooCommerce Cart & Checkout Luxury Overrides --- */
.woocommerce-cart .woocommerce, 
.woocommerce-checkout .woocommerce {
	font-family: 'Inter', sans-serif;
	color: #0E0C09;
}

/* Luxury Form Inputs */
.woocommerce-cart .input-text,
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	background-color: #F7F3EE !important;
	border: 1px solid rgba(26, 26, 26, 0.1) !important;
	color: #0E0C09 !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	padding: 12px 16px !important;
	border-radius: 0px !important;
	transition: border-color 0.4s ease, box-shadow 0.4s ease !important;
	outline: none !important;
}

.woocommerce-cart .input-text:focus,
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: #C9A46C !important;
	box-shadow: 0 0 0 1px #C9A46C !important;
}

/* Tables Styling */
table.shop_table {
	border-collapse: collapse !important;
	border: none !important;
	border-radius: 0px !important;
	background-color: transparent !important;
	width: 100% !important;
}

table.shop_table th {
	font-family: 'Inter', sans-serif !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.2em !important;
	color: #C9A46C !important;
	border-bottom: 2px solid rgba(201, 164, 108, 0.2) !important;
	padding: 16px 12px !important;
	text-align: left !important;
}

table.shop_table td {
	border-bottom: 1px solid rgba(26, 26, 26, 0.05) !important;
	padding: 24px 12px !important;
	color: #0E0C09 !important;
	font-weight: 300 !important;
}

table.shop_table td a {
	color: #0E0C09 !important;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 18px;
	text-decoration: none !important;
	transition: color 0.3s;
}

table.shop_table td a:hover {
	color: #C9A46C !important;
}

/* Buttons Overrides */
.woocommerce .button,
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button {
	background-color: #0E0C09 !important;
	color: #F7F3EE !important;
	border-radius: 0px !important;
	border: 1px solid #0E0C09 !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3em !important;
	padding: 16px 36px !important;
	transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
	cursor: pointer !important;
	display: inline-block !important;
}

.woocommerce .button:hover,
.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover {
	background-color: #C9A46C !important;
	border-color: #C9A46C !important;
	color: #0E0C09 !important;
	transform: translateY(-1px);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background-color: #C9A46C !important;
	color: #0E0C09 !important;
	border-color: #C9A46C !important;
	font-weight: 600 !important;
	width: 100% !important;
	text-align: center !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: #0E0C09 !important;
	color: #F7F3EE !important;
	border-color: #0E0C09 !important;
}

/* Coupon & Action styling */
.woocommerce-cart td.actions .coupon {
	display: flex !important;
	gap: 10px !important;
}

/* Notices & Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	background-color: #F7F3EE !important;
	border-top: 3px solid #C9A46C !important;
	color: #0E0C09 !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 300 !important;
	padding: 16px 24px !important;
	margin-bottom: 24px !important;
	list-style: none !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: #C9A46C !important;
}

/* Checkout Panels & Shipping */
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details {
	font-family: 'Inter', sans-serif !important;
}

.woocommerce-checkout h3 {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-weight: 300 !important;
	font-size: 24px !important;
	letter-spacing: 0.05em !important;
	margin-bottom: 24px !important;
	color: #0E0C09 !important;
	border-bottom: 1px solid rgba(26, 26, 26, 0.08) !important;
	padding-bottom: 12px !important;
	margin-top: 32px !important;
}

#ship-to-different-address {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-weight: 300 !important;
	font-size: 20px !important;
}

.woocommerce-checkout-review-order {
	background-color: #F7F3EE !important;
	padding: 24px !important;
	border: 1px solid rgba(26, 26, 26, 0.08) !important;
}

#payment {
	background-color: #0E0C09 !important;
	color: #F7F3EE !important;
	padding: 24px !important;
	border-radius: 0px !important;
}

#payment div.payment_box {
	background-color: rgba(247, 243, 238, 0.05) !important;
	color: rgba(247, 243, 238, 0.7) !important;
}

#payment ul.payment_methods {
	border-bottom: 1px solid rgba(247, 243, 238, 0.1) !important;
	padding-bottom: 16px !important;
}

/* Coupon bar (checkout "Have a coupon?" notice + form) — branded.
   Targets the unique .woocommerce-form-coupon-toggle wrapper directly (and the
   .ad-checkout-form scope) so it wins regardless of where WooCommerce injects
   the notice. WooCommerce's blue defaults are non-!important, so these win. */
.woocommerce-form-coupon-toggle .woocommerce-info,
.ad-checkout-form .woocommerce-info,
body.woocommerce-checkout .woocommerce-info {
	background: #FFFFFF !important;
	border: 1px solid rgba(201, 164, 108, 0.45) !important;
	border-top: 1px solid rgba(201, 164, 108, 0.45) !important;
	border-left: 3px solid #C9A46C !important;
	border-radius: 0 !important;
	color: rgba(26, 26, 26, 0.7) !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 12px !important;
	letter-spacing: 0.02em !important;
	padding: 16px 20px 16px 50px !important;
	box-shadow: none !important;
	list-style: none !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.ad-checkout-form .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before {
	color: #C9A46C !important;
	left: 20px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info a,
.ad-checkout-form .woocommerce-info a,
.ad-checkout-form .checkout_coupon a,
body.woocommerce-checkout .woocommerce-info a {
	color: #C9A46C !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.ad-checkout-form .woocommerce-info a:hover,
.ad-checkout-form .checkout_coupon a:hover { color: #0E0C09 !important; }
.ad-checkout-form .checkout_coupon.woocommerce-form-coupon,
body.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
	background: #FFFFFF !important;
	border: 1px solid rgba(26, 26, 26, 0.1) !important;
	border-left: 3px solid #C9A46C !important;
	border-radius: 0 !important;
	padding: 24px !important;
	margin-bottom: 24px !important;
}
.ad-checkout-form .checkout_coupon .form-row { margin-bottom: 0 !important; }
.ad-checkout-form .checkout_coupon .input-text {
	background: #F7F3EE !important;
	border: 1px solid rgba(26,26,26,0.12) !important;
	border-radius: 0 !important;
}
.ad-checkout-form .checkout_coupon .button,
body.woocommerce-checkout .checkout_coupon .button {
	background: #1A1A1A !important;
	color: #F7F3EE !important;
	border: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.25em !important;
	font-size: 10px !important;
	padding: 14px 28px !important;
}
.ad-checkout-form .checkout_coupon .button:hover,
body.woocommerce-checkout .checkout_coupon .button:hover {
	background: #C9A46C !important;
	border-color: #C9A46C !important;
	color: #0E0C09 !important;
}

/* Block-checkout notice banner variant (rounded blue box + filled icon). */
body.woocommerce-checkout .wc-block-components-notice-banner.is-info,
.ad-checkout-form .wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-info {
	background: #FFFFFF !important;
	border: 1px solid rgba(201, 164, 108, 0.45) !important;
	border-left: 3px solid #C9A46C !important;
	border-radius: 0 !important;
	color: rgba(26, 26, 26, 0.75) !important;
	box-shadow: none !important;
}
.wc-block-components-notice-banner.is-info > svg,
.wc-block-components-notice-banner.is-info .wc-block-components-notice-banner__content svg {
	fill: #C9A46C !important;
	color: #C9A46C !important;
	background: transparent !important;
}
.wc-block-components-notice-banner.is-info a {
	color: #C9A46C !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
.wc-block-components-notice-banner.is-info a:hover { color: #0E0C09 !important; }

/* Cart Quantity controls */
.woocommerce-cart .product-quantity .quantity input {
	width: 60px !important;
	text-align: center !important;
}

/* --- WooCommerce Mini-Cart Drawer Luxury Styling --- */
.woocommerce-mini-cart {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.woocommerce-mini-cart-item {
	position: relative !important;
	display: flex !important;
	gap: 16px !important;
	align-items: center !important;
	padding: 16px 0 !important;
	border-bottom: 1px solid rgba(247, 243, 238, 0.05) !important;
	min-height: 90px !important;
}

.woocommerce-mini-cart-item img {
	width: 60px !important;
	height: 80px !important;
	object-fit: cover !important;
	background-color: #1A1A1A !important;
	margin: 0 !important;
	float: none !important;
	border-radius: 0px !important;
	border: 1px solid rgba(247, 243, 238, 0.08) !important;
}

.woocommerce-mini-cart-item a:not(.remove) {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 15px !important;
	color: #F7F3EE !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	display: block !important;
	margin-bottom: 4px !important;
	line-height: 1.3 !important;
}

.woocommerce-mini-cart-item a:not(.remove):hover {
	color: #C9A46C !important;
}

.woocommerce-mini-cart-item .quantity {
	display: block !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	color: rgba(247, 243, 238, 0.6) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
}

.woocommerce-mini-cart-item .quantity .amount {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 13px !important;
	color: #F7F3EE !important;
	margin-left: 4px !important;
}

/* Remove button */
.woocommerce-mini-cart-item a.remove {
	position: absolute !important;
	top: 16px !important;
	right: 0 !important;
	width: 20px !important;
	height: 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 16px !important;
	color: rgba(247, 243, 238, 0.4) !important;
	background: transparent !important;
	border-radius: 50% !important;
	transition: all 0.3s ease !important;
	float: none !important;
}

.woocommerce-mini-cart-item a.remove:hover {
	color: #C9A46C !important;
	background-color: transparent !important;
	transform: rotate(90deg) !important;
}

/* Empty message */
.woocommerce-mini-cart__empty-message {
	text-align: center !important;
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 16px !important;
	font-style: italic !important;
	color: #C9A46C !important;
	margin-top: 48px !important;
}

.woocommerce-mini-cart__empty-message::before {
	content: '✦' !important;
	display: block !important;
	font-size: 28px !important;
	margin-bottom: 16px !important;
	color: #C9A46C !important;
}

/* Subtotal total block */
p.woocommerce-mini-cart__total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	border-top: 1px solid rgba(247, 243, 238, 0.08) !important;
	border-bottom: 1px solid rgba(247, 243, 238, 0.08) !important;
	padding: 18px 0 !important;
	margin: 28px 0 !important;
	font-weight: 500 !important;
	color: #F7F3EE !important;
}

p.woocommerce-mini-cart__total strong {
	font-size: 9px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.25em !important;
	color: rgba(247, 243, 238, 0.4) !important;
	font-weight: 600 !important;
}

p.woocommerce-mini-cart__total .amount {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-size: 20px !important;
	color: #F7F3EE !important;
	font-weight: 400 !important;
}

/* Action Buttons inside Drawer */
.woocommerce-mini-cart__buttons {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 0 !important;
}

.woocommerce-mini-cart__buttons a.button {
	display: block !important;
	text-align: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.25em !important;
	font-size: 9px !important;
	font-weight: 500 !important;
	transition: all 0.4s ease !important;
}

/* view cart should be light outline, checkout should be dark */
.woocommerce-mini-cart__buttons a.button:first-child {
	background-color: transparent !important;
	color: #F7F3EE !important;
	border: 1px solid rgba(247, 243, 238, 0.2) !important;
}

.woocommerce-mini-cart__buttons a.button:first-child:hover {
	border-color: #C9A46C !important;
	color: #C9A46C !important;
	background-color: transparent !important;
}

.woocommerce-mini-cart__buttons a.button.checkout {
	background-color: #C9A46C !important;
	color: #0E0C09 !important;
	border: 1px solid #C9A46C !important;
}

.woocommerce-mini-cart__buttons a.button.checkout:hover {
	background-color: #F7F3EE !important;
	color: #0E0C09 !important;
	border-color: #F7F3EE !important;
}

/* Custom Reset Overrides for Newsletter Subscription forms to prevent browser default styling hijacks */
.ad-newsletter-input,
input.ad-newsletter-input,
#journal-newsletter input[type="email"],
#journal-newsletter input {
	background-color: rgba(247, 243, 238, 0.6) !important;
	border: 1px solid rgba(14, 12, 9, 0.15) !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 12px 18px !important;
	margin: 0 !important;
	height: 48px !important;
	line-height: 24px !important;
	border-radius: 0 !important;
	color: #0E0C09 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	transition: all 0.3s ease !important;
	font-size: 11px !important;
	letter-spacing: 0.15em !important;
}

.ad-newsletter-input:focus,
#journal-newsletter input:focus {
	outline: none !important;
	box-shadow: none !important;
	border-color: #0E0C09 !important;
	background-color: #F7F3EE !important;
}

#journal-newsletter .ad-newsletter-input,
#journal-newsletter input {
	background-color: rgba(247, 243, 238, 0.05) !important;
	border: 1px solid rgba(247, 243, 238, 0.15) !important;
	color: #F7F3EE !important;
}

#journal-newsletter .ad-newsletter-input:focus,
#journal-newsletter input:focus {
	border-color: #C9A46C !important;
	background-color: rgba(247, 243, 238, 0.1) !important;
}

/* Ensure contrast on spa-page dark sections */
#formats-table,
#partnership-form .bg-\[\#0E0C09\],
#partnership-form .bg-\[\#0E0C09\] p,
#partnership-form .bg-\[\#0E0C09\] span {
	color: #F7F3EE !important;
}
#formats-table h2,
#partnership-form .bg-\[\#0E0C09\] h2 {
	color: #ffffff !important;
}

/* --- Layout Alignments & Gaps --- */
main.wp-block-group > *,
.wp-site-blocks > *,
.wp-site-blocks > main,
.wp-site-blocks > footer,
.wp-site-blocks > header,
.wp-block-template-part,
footer,
header,
main {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* --- Scroll clip reveal animation ---
 * Default state is fully VISIBLE so the image can never get stuck hidden
 * (e.g. if the IntersectionObserver never fires). When the shared observer
 * adds .is-visible as the element scrolls into view, we replay the
 * left-to-right clip reveal as an enhancement — mirroring the original
 * Framer Motion `clipPath: inset(0 100% 0 0)` → `inset(0 0% 0 0)`. */
.clip-reveal {
	clip-path: inset(0 0 0 0);
	will-change: clip-path;
}
@keyframes adClipRevealIn {
	from { clip-path: inset(0 100% 0 0); }
	to   { clip-path: inset(0 0 0 0); }
}
.clip-reveal.is-visible {
	animation: adClipRevealIn 1.4s cubic-bezier(0.76, 0, 0.24, 1) both;
}
@media (prefers-reduced-motion: reduce) {
	.clip-reveal,
	.clip-reveal.is-visible {
		clip-path: none;
		animation: none;
	}
}

/* --- 3D Campaign Card Flip --- */
.campaign-flip-container {
	perspective: 2000px;
	position: relative;
	width: 100%;
}
.campaign-card {
	width: 100%;
	height: 100%;
	position: relative;
	transform-style: preserve-3d;
	transition: transform 1.2s cubic-bezier(0.76, 0, 0.24, 1);
}
.campaign-flip-container.flipped .campaign-card {
	transform: rotateY(180deg);
}
.campaign-front,
.campaign-back {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.campaign-back {
	transform: rotateY(180deg);
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: #0E0C09;
	z-index: 2;
}
.campaign-back video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Premium Home Newsletter Form Styles */
.ad-home-newsletter-form {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border-bottom: 2px solid rgba(14, 12, 9, 0.2) !important;
	max-width: 384px !important; /* max-w-sm */
	width: 100% !important;
	margin: 0 auto !important;
	padding-bottom: 12px !important; /* pb-3 */
}

.ad-home-newsletter-input {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	color: #0E0C09 !important;
	font-size: 10px !important;
	letter-spacing: 0.25em !important;
	flex: 1 !important;
	min-width: 0 !important;
	height: 40px !important;
	padding: 0 !important;
	font-family: 'Inter', sans-serif !important;
}

.ad-home-newsletter-input::placeholder {
	color: rgba(14, 12, 9, 0.3) !important;
}

.ad-home-newsletter-button {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	color: #0E0C09 !important;
	font-size: 9px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4em !important;
	white-space: nowrap !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: color 0.3s ease !important;
	margin-left: 12px !important; /* ml-3 */
	padding: 0 !important;
}

.ad-home-newsletter-button:hover {
	color: #F7F3EE !important;
}

/* Premium Footer Newsletter Form Styles */
.ad-footer-newsletter-form {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	border-bottom: 1px solid rgba(247, 243, 238, 0.15) !important;
	width: 100% !important;
	max-width: 384px !important;
	padding-bottom: 12px !important;
}

@media (min-width: 768px) {
	.ad-footer-newsletter-form {
		min-width: 340px !important;
	}
}

.ad-footer-newsletter-input {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	color: #F7F3EE !important;
	font-size: 10px !important;
	letter-spacing: 0.25em !important;
	flex: 1 !important;
	min-width: 0 !important;
	height: 40px !important;
	padding: 0 !important;
	font-family: 'Inter', sans-serif !important;
}

.ad-footer-newsletter-input::placeholder {
	color: rgba(247, 243, 238, 0.2) !important;
}

.ad-footer-newsletter-button {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	color: #C9A46C !important;
	font-size: 9px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4em !important;
	white-space: nowrap !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: color 0.3s ease !important;
	margin-left: 12px !important;
	padding: 0 !important;
}

.ad-footer-newsletter-button:hover {
	color: #ffffff !important;
}



/* ============================================================== *
 *  Live Search Overlay (mirrors the original Argana Dune app)
 * ============================================================== */
.ad-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	flex-direction: column;
	background-color: rgba(14, 12, 9, 0.95);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.ad-search-overlay.open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Search bar */
.ad-search-bar {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 1.5rem 2rem;
	border-bottom: 1px solid rgba(247, 243, 238, 0.08);
}
@media (min-width: 768px) {
	.ad-search-bar { padding: 1.5rem 4rem; }
}
.ad-search-bar-icon {
	color: #C9A46C;
	font-size: 1.25rem;
	flex-shrink: 0;
}
.ad-search-input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: none;
	outline: none;
	box-shadow: none;
	color: #F7F3EE;
	font-family: 'Inter', sans-serif;
	font-size: 1.25rem;
	font-weight: 300;
	letter-spacing: 0.02em;
	padding: 0;
}
.ad-search-input::placeholder { color: rgba(247, 243, 238, 0.25); }
/* hide native search clear/cancel buttons for a clean look */
.ad-search-input::-webkit-search-decoration,
.ad-search-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.ad-search-close {
	background: transparent;
	border: none;
	cursor: pointer;
	color: rgba(247, 243, 238, 0.4);
	font-size: 1.25rem;
	line-height: 1;
	transition: color 0.3s ease;
	flex-shrink: 0;
}
.ad-search-close:hover { color: #C9A46C; }

/* Body */
.ad-search-body {
	flex: 1;
	overflow-y: auto;
	padding: 2.5rem 2rem;
}
@media (min-width: 768px) {
	.ad-search-body { padding: 2.5rem 4rem; }
}

.ad-search-heading {
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.5em;
	color: #C9A46C;
	margin: 0 0 1.5rem;
}

/* Quick links grid */
.ad-search-quicklinks-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}
@media (min-width: 768px) {
	.ad-search-quicklinks-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ad-search-quicklink {
	border: 1px solid rgba(247, 243, 238, 0.08);
	padding: 0.75rem 1.25rem;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.5);
	text-decoration: none;
	transition: border-color 0.3s ease, color 0.3s ease;
}
.ad-search-quicklink:hover {
	border-color: rgba(201, 164, 108, 0.4);
	color: #C9A46C;
}

/* Result groups */
.ad-search-results { display: flex; flex-direction: column; gap: 2rem; }
.ad-search-group-heading {
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.5em;
	color: #C9A46C;
	margin: 0 0 1.25rem;
}
.ad-search-group-list { display: flex; flex-direction: column; gap: 0.75rem; }

.ad-search-result {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	border: 1px solid rgba(247, 243, 238, 0.05);
	padding: 1rem;
	text-decoration: none;
	transition: border-color 0.3s ease;
	opacity: 0;
	transform: translateY(8px);
	animation: adSearchResultIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.ad-search-result:hover { border-color: rgba(201, 164, 108, 0.3); }
@keyframes adSearchResultIn {
	to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.ad-search-result { animation: none; opacity: 1; transform: none; }
}

.ad-search-result-thumb {
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	overflow: hidden;
	background-color: #1A1A1A;
	display: block;
}
.ad-search-result-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ad-search-result-meta { display: block; min-width: 0; }
.ad-search-result-title {
	display: block;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.125rem;
	font-weight: 300;
	color: #F7F3EE;
	margin: 0;
	transition: color 0.3s ease;
}
.ad-search-result:hover .ad-search-result-title { color: #C9A46C; }
.ad-search-result-sub {
	display: block;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: rgba(247, 243, 238, 0.45);
	margin: 0.25rem 0 0;
}
.ad-search-result-arrow {
	margin-left: auto;
	color: rgba(201, 164, 108, 0.4);
	font-size: 0.875rem;
	transition: color 0.3s ease;
}
.ad-search-result:hover .ad-search-result-arrow { color: #C9A46C; }

/* Article-style rows (no thumbnail) */
.ad-search-result--article { justify-content: space-between; padding: 1rem 1.25rem; }
.ad-search-result--article .ad-search-result-title {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	color: rgba(247, 243, 238, 0.8);
}

/* No results */
.ad-search-noresults { text-align: center; padding: 5rem 0; }
.ad-search-noresults-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.875rem;
	color: rgba(247, 243, 238, 0.3);
	margin: 0 0 0.75rem;
}
.ad-search-noresults-sub {
	font-size: 0.875rem;
	font-weight: 300;
	color: rgba(247, 243, 238, 0.25);
	margin: 0;
}

/* Footer hint */
.ad-search-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid rgba(247, 243, 238, 0.05);
	padding: 1rem 2rem;
}
@media (min-width: 768px) {
	.ad-search-foot { padding: 1rem 4rem; }
}
.ad-search-foot-text {
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.2);
}

/* ============================================================== *
 *  Shop / Collection product cards
 *  The Tailwind base reset (img { height:auto }) can collapse the
 *  product thumbnail so it no longer fills its 3:4 frame. Force the
 *  media frame to keep a tall portrait ratio and the image to cover
 *  it edge-to-edge, matching the original collection template.
 * ============================================================== */
.ad-shop-card-media {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
/* Fallback for browsers without aspect-ratio support. */
@supports not (aspect-ratio: 3 / 4) {
	.ad-shop-card-media { height: 0; padding-bottom: 133.333%; }
}
.ad-shop-card-media .ad-shop-card-img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

/* ============================================================== *
 *  Single product (PDP)
 * ============================================================== */
/* Image fills its frame (override the Tailwind base img{height:auto}). */
.ad-pdp-media { min-height: 60vh; }
@media (min-width: 1024px) {
	.ad-pdp-media { min-height: auto; }
}
.ad-pdp-media .ad-pdp-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
/* On small screens give the image a tall portrait frame so it never collapses. */
@media (max-width: 1023px) {
	.ad-pdp-media { aspect-ratio: 4 / 5; }
	@supports not (aspect-ratio: 4 / 5) {
		.ad-pdp-media { height: 0; padding-bottom: 125%; position: relative; }
		.ad-pdp-media .ad-pdp-img { position: absolute; inset: 0; }
	}
}

/* Quantity buttons */
.ad-pdp-qty-btn {
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
	color: inherit;
	transition: color 0.3s ease;
}
.ad-pdp-qty-btn:hover { color: #C9A46C; }
/* Hide number-input spinners */
#product-qty::-webkit-outer-spin-button,
#product-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#product-qty { -moz-appearance: textfield; appearance: textfield; }

/* Active tab underline */
.ad-pdp-tab { position: relative; background: transparent; border: none; cursor: pointer; }
.ad-pdp-tab.active-tab::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: #C9A46C;
}

/* Tab panels */
.ad-pdp-panel { display: none; }
.ad-pdp-panel.active { display: block; animation: adPdpPanelIn 0.35s ease both; }
@keyframes adPdpPanelIn {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.ad-pdp-panel.active { animation: none; }
}

/* Related product images fill their 3:4 frame. */
.ad-pdp-related-media .ad-pdp-related-img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

/* PDP spacing — self-contained so it never depends on Tailwind utility
 * classes that may be absent from the precompiled build (e.g. space-y-12). */
.ad-pdp-info { display: flex; flex-direction: column; gap: 3rem; }
@media (min-width: 768px) { .ad-pdp-info { gap: 4rem; } }

.ad-pdp-header { display: flex; flex-direction: column; gap: 1.25rem; }
.ad-pdp-actions { display: flex; flex-direction: column; gap: 1rem; }
.ad-pdp-tabs-wrap { display: flex; flex-direction: column; gap: 2rem; }

.ad-pdp-stack { display: flex; flex-direction: column; gap: 1.5rem; }
.ad-pdp-stack-sm { display: flex; flex-direction: column; gap: 1rem; }

.ad-pdp-ing-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}
@media (min-width: 640px) {
	.ad-pdp-ing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.ad-pdp-pills {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

/* ============================================================== *
 *  Custom Cart Drawer contents (mirrors the original design)
 * ============================================================== */
.cart-drawer { background-color: #0E0C09; color: #F7F3EE; }
.ad-cart-fragment {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}
.cart-drawer-overlay.ad-cart-busy .ad-cart-fragment { opacity: 0.6; pointer-events: none; transition: opacity 0.2s ease; }

/* Header */
.ad-cart-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 2rem;
	border-bottom: 1px solid rgba(247, 243, 238, 0.06);
	flex-shrink: 0;
}
.ad-cart-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 300;
	font-size: 1.5rem;
	letter-spacing: -0.01em;
	color: #F7F3EE;
	margin: 0;
	line-height: 1.1;
}
.ad-cart-count {
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: #C9A46C;
	margin: 0.5rem 0 0;
}
.ad-cart-close {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	background: transparent;
	border: none;
	cursor: pointer;
}
.ad-cart-close-label {
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.25);
	transition: color 0.3s ease;
}
.ad-cart-close-box {
	width: 2rem;
	height: 2rem;
	border: 1px solid rgba(247, 243, 238, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #F7F3EE;
	font-size: 0.85rem;
	transition: border-color 0.3s ease;
}
.ad-cart-close:hover .ad-cart-close-box { border-color: #C9A46C; }
.ad-cart-close:hover .ad-cart-close-label { color: rgba(247, 243, 238, 0.5); }

/* Body */
.ad-cart-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}

/* Empty state */
.ad-cart-empty {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem;
	gap: 2rem;
}
.ad-cart-empty-rule { display: block; width: 4rem; height: 1px; background: rgba(201, 164, 108, 0.3); }
.ad-cart-empty-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-style: italic;
	font-weight: 300;
	font-size: 1.5rem;
	color: rgba(247, 243, 238, 0.4);
	margin: 0;
}
.ad-cart-empty-sub {
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.2);
	margin: 0.75rem 0 0;
	line-height: 1.8;
}
.ad-cart-empty-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: #C9A46C;
	background: transparent;
	border: none;
	cursor: pointer;
	text-decoration: none;
}
.ad-cart-empty-cta-line { display: block; width: 1.5rem; height: 1px; background: #C9A46C; transition: width 0.3s ease; }
.ad-cart-empty-cta:hover .ad-cart-empty-cta-line { width: 2.5rem; }

/* Items */
.ad-cart-items { padding: 0 2rem; }
.ad-cart-item {
	display: flex;
	gap: 1.25rem;
	padding: 1.75rem 0;
	border-bottom: 1px solid rgba(247, 243, 238, 0.06);
}
.ad-cart-item-img {
	width: 5rem;
	height: 5rem;
	flex-shrink: 0;
	overflow: hidden;
	background-color: #1A1A1A;
}
.ad-cart-item-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform 0.7s ease; }
.ad-cart-item:hover .ad-cart-item-img img { transform: scale(1.08); }
.ad-cart-item-info { flex: 1 1 auto; min-width: 0; }
.ad-cart-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; }
.ad-cart-item-name {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.25;
	color: #F7F3EE;
	margin: 0;
	text-decoration: none;
}
a.ad-cart-item-name:hover { color: #C9A46C; }
.ad-cart-remove {
	background: transparent;
	border: none;
	cursor: pointer;
	color: rgba(247, 243, 238, 0.2);
	font-size: 0.75rem;
	flex-shrink: 0;
	transition: color 0.3s ease;
	line-height: 1;
}
.ad-cart-remove:hover { color: #C9A46C; }
.ad-cart-item-sub {
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #C9A46C;
	margin: 0.35rem 0 1rem;
}
.ad-cart-item-bottom { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.ad-cart-qty { display: flex; align-items: center; gap: 0.75rem; }
.ad-cart-qty-btn {
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid rgba(247, 243, 238, 0.1);
	background: transparent;
	color: rgba(247, 243, 238, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 0.8rem;
	line-height: 1;
	transition: border-color 0.3s ease, color 0.3s ease;
}
.ad-cart-qty-btn:hover { border-color: #C9A46C; color: #C9A46C; }
.ad-cart-qty-val {
	color: #F7F3EE;
	font-size: 0.875rem;
	font-weight: 500;
	width: 1rem;
	text-align: center;
}
.ad-cart-item-price {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
	color: #F7F3EE;
	font-size: 1rem;
}
.ad-cart-item-price .amount,
.ad-cart-item-price ins,
.ad-cart-subtotal .amount { text-decoration: none; }

/* Footer */
.ad-cart-foot {
	flex-shrink: 0;
	padding: 2rem;
	border-top: 1px solid rgba(247, 243, 238, 0.06);
	background-color: #0E0C09;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.ad-cart-foot-rows { display: flex; flex-direction: column; gap: 0.75rem; }
.ad-cart-foot-row { display: flex; align-items: center; justify-content: space-between; }
.ad-cart-foot-label {
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.3);
}
.ad-cart-foot-label-sm {
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.2);
}
.ad-cart-subtotal {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 300;
	font-size: 1.5rem;
	color: #F7F3EE;
}
.ad-cart-checkout {
	width: 100%;
	background-color: #C9A46C;
	color: #0E0C09;
	padding: 1.25rem;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	transition: background-color 0.5s ease, color 0.5s ease;
}
.ad-cart-checkout:hover { background-color: #F7F3EE; color: #0E0C09; }
.ad-cart-continue {
	width: 100%;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: rgba(247, 243, 238, 0.2);
	text-align: center;
	transition: color 0.3s ease;
}
.ad-cart-continue:hover { color: rgba(247, 243, 238, 0.4); }

/* ============================================================== *
 *  Home "Ritual Collection" product card action buttons
 *  Default: always visible (mobile / touch devices that can't hover).
 *  Hover-capable devices (desktop): hidden until the card is hovered,
 *  then fade + slide in. Uses (hover: hover) so touch phones keep the
 *  buttons on screen permanently.
 * ============================================================== */
.ad-prod-actions {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
	.ad-prod-actions {
		opacity: 0;
		transform: translateY(0.75rem);
		pointer-events: none;
	}
	.group:hover .ad-prod-actions {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}
}

/* ============================================================== *
 *  Checkout flow (Bag / Shipping / Payment / Confirmation)
 * ============================================================== */
.ad-checkout-inner {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 1.5rem;
	width: 100%;
}
.ad-checkout-inner--wide { max-width: 1100px; }

/* Step indicator */
.ad-steps {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
	margin-bottom: 3.5rem;
	overflow-x: auto;
	padding-bottom: 0.5rem;
}
.ad-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
}
.ad-step-marker {
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.5625rem;
	font-weight: 500;
	transition: all 0.5s ease;
}
.ad-step--todo .ad-step-marker { border: 1px solid rgba(26, 26, 26, 0.15); color: rgba(26, 26, 26, 0.3); }
.ad-step--active .ad-step-marker { border: 1px solid #C9A46C; color: #C9A46C; }
.ad-step--done .ad-step-marker { background: #C9A46C; color: #0E0C09; }
.ad-step-label {
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.28em;
	white-space: nowrap;
}
.ad-step--todo .ad-step-label { color: rgba(26, 26, 26, 0.25); }
.ad-step--active .ad-step-label { color: #C9A46C; }
.ad-step--done .ad-step-label { color: rgba(26, 26, 26, 0.6); }
.ad-step-line {
	height: 1px;
	width: 2rem;
	margin: 1rem 0.5rem 0;
	transition: background 0.5s ease;
}
@media (min-width: 768px) { .ad-step-line { width: 4rem; } }
.ad-step-line--todo { background: rgba(26, 26, 26, 0.1); }
.ad-step-line--done { background: #C9A46C; }

/* Progressive two-step checkout (Shipping → Payment) */
.ad-hidden { display: none !important; }
.ad-checkout-continue { margin: 1.5rem 0 0; display: flex; justify-content: flex-end; }
.ad-checkout-continue-btn {
	background: #1A1A1A; color: #F7F3EE; border: 1px solid #1A1A1A;
	padding: 1rem 2.75rem; font-size: 0.5625rem; text-transform: uppercase;
	letter-spacing: 0.4em; font-weight: 600; cursor: pointer; transition: all 0.4s ease;
}
.ad-checkout-continue-btn:hover { background: #C9A46C; border-color: #C9A46C; color: #0E0C09; }
.ad-checkout-backbar { margin: 0 0 1.25rem; }
.ad-checkout-back-btn {
	background: transparent; border: none; cursor: pointer; padding: 0.25rem 0;
	font-size: 0.5625rem; text-transform: uppercase; letter-spacing: 0.35em;
	color: rgba(26,26,26,0.45); transition: color 0.3s ease;
}
.ad-checkout-back-btn:hover { color: #C9A46C; }
/* In stepped mode, let the customer-details section span full width for a
   cleaner single-column "Shipping" step. */
.ad-checkout-steps #customer_details { float: none !important; width: 100% !important; }
.ad-checkout-steps #order_review,
.ad-checkout-steps #order_review_heading { float: none !important; width: 100% !important; }

/* Bag items */
.ad-bag-items { margin-bottom: 2rem; }
.ad-bag-item {
	display: flex;
	gap: 1rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(26, 26, 26, 0.08);
}
.ad-bag-item-img {
	width: 5rem;
	height: 5rem;
	flex-shrink: 0;
	background: #F0EBE3;
	overflow: hidden;
}
.ad-bag-item-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ad-bag-item-info { flex: 1 1 auto; min-width: 0; }
.ad-bag-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.75rem; }
.ad-bag-item-name {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.125rem;
	color: #1A1A1A;
	line-height: 1.2;
	text-decoration: none;
	display: block;
}
a.ad-bag-item-name:hover { color: #C9A46C; }
.ad-bag-item-sub {
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #C9A46C;
	margin: 0.4rem 0 0;
}
.ad-bag-item-price {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.125rem;
	color: #1A1A1A;
	flex-shrink: 0;
}
.ad-bag-item-bottom { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.ad-bag-qty { display: inline-flex; align-items: center; border: 1px solid rgba(26, 26, 26, 0.12); }
.ad-bag-qty-btn {
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	cursor: pointer;
	color: rgba(26, 26, 26, 0.5);
	font-size: 0.9rem;
	transition: color 0.3s ease, background-color 0.3s ease;
}
.ad-bag-qty-btn:hover { color: #C9A46C; background: rgba(201, 164, 108, 0.05); }
.ad-bag-qty-val {
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	color: #1A1A1A;
	border-left: 1px solid rgba(26, 26, 26, 0.12);
	border-right: 1px solid rgba(26, 26, 26, 0.12);
}
.ad-bag-remove {
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: rgba(26, 26, 26, 0.25);
	transition: color 0.3s ease;
}
.ad-bag-remove:hover { color: #c0392b; }

/* Summary card */
.ad-bag-summary {
	background: #F0EBE3;
	padding: 1.75rem;
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.ad-bag-summary-row {
	display: flex;
	justify-content: space-between;
	font-size: 0.875rem;
	font-weight: 300;
	color: rgba(26, 26, 26, 0.6);
}
.ad-bag-free { color: #C9A46C; }
.ad-bag-ship-hint { font-size: 0.5625rem; color: #C9A46C; margin: 0; }
.ad-bag-summary-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid rgba(26, 26, 26, 0.1);
	padding-top: 0.75rem;
	margin-top: 0.25rem;
}
.ad-bag-total-label { font-family: 'Playfair Display', Georgia, serif; font-size: 1.125rem; color: #1A1A1A; }
.ad-bag-total-val { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; color: #1A1A1A; }

/* Continue button */
.ad-bag-continue {
	display: block;
	width: 100%;
	background: #1A1A1A;
	color: #F7F3EE;
	padding: 1.25rem;
	text-align: center;
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.5s ease, color 0.5s ease;
}
.ad-bag-continue:hover { background: #C9A46C; color: #0E0C09; }

/* Empty bag */
.ad-bag-empty { text-align: center; padding: 4rem 0; }
.ad-bag-empty-title { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.75rem; color: rgba(26, 26, 26, 0.4); margin: 0; }
.ad-bag-empty-sub { font-size: 0.5625rem; text-transform: uppercase; letter-spacing: 0.4em; color: rgba(26, 26, 26, 0.3); margin: 0.75rem 0 1.75rem; }
.ad-bag-empty-cta {
	display: inline-block;
	background: #1A1A1A;
	color: #F7F3EE;
	padding: 1rem 2.5rem;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	text-decoration: none;
	transition: background-color 0.4s ease, color 0.4s ease;
}
.ad-bag-empty-cta:hover { background: #C9A46C; color: #0E0C09; }

/* ============================================================== *
 *  Site Features — floating buttons + cookie banner
 * ============================================================== */
/* Respect the back-to-top toggle (button is created by theme.js). */
body.ad-no-backtotop .back-to-top { display: none !important; }

/* Floating WhatsApp button */
.ad-fab {
	position: fixed;
	bottom: 1.5rem;
	z-index: 9994;
	width: 3.25rem;
	height: 3.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ad-fab--right { right: 1.5rem; }
.ad-fab--left { left: 1.5rem; }
.ad-fab:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.32); }
.ad-fab-whatsapp { font-size: 1.5rem; }
/* Sit above the back-to-top button when both are present (back-to-top is right). */
body:not(.ad-no-backtotop) .ad-fab--right { bottom: 5.25rem; }
.ad-fab .ad-fab-tip {
	position: absolute;
	white-space: nowrap;
	background: #0E0C09;
	color: #F7F3EE;
	font-family: 'Inter', sans-serif;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	padding: 0.5rem 0.85rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.ad-fab--right .ad-fab-tip { right: calc(100% + 0.75rem); transform: translateX(6px); }
.ad-fab--left .ad-fab-tip { left: calc(100% + 0.75rem); transform: translateX(-6px); }
.ad-fab:hover .ad-fab-tip { opacity: 1; transform: translateX(0); }
@media (max-width: 640px) { .ad-fab .ad-fab-tip { display: none; } }

/* Cookie consent banner */
.ad-cookie-banner {
	position: fixed;
	left: 1.5rem;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 9993;
	max-width: 560px;
	margin: 0 auto;
	background: #0E0C09;
	color: #F7F3EE;
	border: 1px solid rgba(201, 164, 108, 0.25);
	padding: 1.25rem 1.5rem;
	display: flex;
	align-items: center;
	gap: 1.25rem;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity 0.4s ease, transform 0.4s ease;
}
.ad-cookie-banner.is-visible { opacity: 1; transform: translateY(0); }
.ad-cookie-text {
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 0.8125rem;
	font-weight: 300;
	line-height: 1.6;
	color: rgba(247, 243, 238, 0.75);
}
.ad-cookie-link { color: #C9A46C; text-decoration: underline; }
.ad-cookie-link:hover { color: #F7F3EE; }
.ad-cookie-accept {
	flex-shrink: 0;
	background: #C9A46C;
	color: #0E0C09;
	border: none;
	cursor: pointer;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	font-weight: 600;
	padding: 0.85rem 1.5rem;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.ad-cookie-accept:hover { background: #F7F3EE; }
@media (max-width: 640px) {
	.ad-cookie-banner { flex-direction: column; align-items: stretch; text-align: center; }
	.ad-cookie-accept { width: 100%; }
}

/* ============================================================== *
 *  Accessibility — keyboard focus visibility (WCAG 2.4.7)
 *  A consistent, branded focus ring that appears ONLY for keyboard
 *  users (:focus-visible), so mouse clicks stay clean. Uses a layered
 *  outline so it reads on both light and dark backgrounds.
 * ============================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.wp-block-button__link:focus-visible,
.ad-pdp-tab:focus-visible,
.shop-filter-btn:focus-visible,
.ad-bag-qty-btn:focus-visible,
.ad-cart-qty-btn:focus-visible,
.ad-search-quicklink:focus-visible,
.ad-fab:focus-visible {
	outline: 2px solid #C9A46C !important;
	outline-offset: 2px !important;
	border-radius: 2px;
	box-shadow: 0 0 0 4px rgba(201, 164, 108, 0.25) !important;
}

/* Inputs that intentionally clear their outline still get a clear keyboard
 * indicator via border + ring when focused by keyboard. */
.ad-newsletter-input:focus-visible,
.ad-footer-newsletter-input:focus-visible,
.ad-home-newsletter-input:focus-visible,
.ad-search-input:focus-visible,
.woocommerce-checkout .input-text:focus-visible,
.woocommerce-checkout select:focus-visible,
.woocommerce-checkout textarea:focus-visible,
.woocommerce-cart .input-text:focus-visible {
	outline: 2px solid #C9A46C !important;
	outline-offset: 1px !important;
}

/* Never remove focus for keyboard users even when a rule sets outline:none. */
:focus-visible { outline-color: #C9A46C; }

/* ============================================================== *
 *  Accessibility — readable gold for small text on LIGHT bgs
 *  The brand gold (#C9A46C) only scores ~2.1:1 on the sand/white
 *  background — below WCAG AA (4.5:1) for body text. We keep the
 *  bright gold for borders, icons, large display text, and ALL text
 *  on dark sections (where it already passes), and use a slightly
 *  deeper gold (#8A6A30 ≈ 4.5:1) ONLY for small gold text sitting on
 *  the light theme background. Decorative/large uses are unaffected.
 * ============================================================== */
:root { --ad-gold-readable: #8A6A30; }

/* Light-background sections: deepen small gold eyebrow/label/meta text.
 * Scoped to the light section backgrounds so dark sections keep brand gold. */
.bg-\[\#F7F3EE\] .text-\[\#C9A46C\],
.bg-\[\#F0EBE3\] .text-\[\#C9A46C\],
.bg-white .text-\[\#C9A46C\],
.ad-checkout-inner .text-\[\#C9A46C\] {
	color: var(--ad-gold-readable);
}

/* Keep large/display gold (headings, hero accents) on the bright brand gold
 * even on light backgrounds — large text passes AA at 3:1 and the luxury look
 * matters most there. Re-assert brand gold for big text. */
.bg-\[\#F7F3EE\] h1 .text-\[\#C9A46C\],
.bg-\[\#F7F3EE\] h2 .text-\[\#C9A46C\],
.bg-\[\#F7F3EE\] h3 .text-\[\#C9A46C\],
.bg-white h1 .text-\[\#C9A46C\],
.bg-white h2 .text-\[\#C9A46C\] {
	color: #C9A46C;
}

/* ============================================================== *
 *  Order confirmation (thank-you) — branded
 * ============================================================== */
.ad-confirm { width: 100%; }
.ad-confirm-inner {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: 1rem 1.5rem 2rem;
}

/* Animated success ring + check */
.ad-confirm-check { position: relative; width: 96px; height: 96px; margin: 0 auto 2rem; }
.ad-confirm-check svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.ad-confirm-ring {
	stroke-dasharray: 276.5;
	stroke-dashoffset: 276.5;
	animation: adConfirmRing 1.1s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}
@keyframes adConfirmRing { to { stroke-dashoffset: 0; } }
.ad-confirm-check-mark {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #C9A46C;
	font-size: 1.75rem;
	opacity: 0;
	transform: scale(0.4);
	animation: adConfirmPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.7s forwards;
}
@keyframes adConfirmPop { to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
	.ad-confirm-ring { animation: none; stroke-dashoffset: 0; }
	.ad-confirm-check-mark { animation: none; opacity: 1; transform: none; }
}

.ad-confirm-eyebrow {
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.6em;
	color: #C9A46C;
	margin: 0 0 1rem;
}
.ad-confirm-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 300;
	font-size: clamp(2.25rem, 6vw, 3.25rem);
	line-height: 1.1;
	color: #1A1A1A;
	margin: 0 0 1rem;
}
.ad-confirm .ad-gold { color: #C9A46C; }
.ad-confirm-text {
	font-weight: 300;
	color: rgba(26, 26, 26, 0.55);
	line-height: 1.7;
	max-width: 30rem;
	margin: 0 auto 2.5rem;
}
.ad-confirm-text strong { color: #1A1A1A; font-weight: 500; }

/* Order reference */
.ad-confirm-ref {
	display: inline-block;
	border: 1px solid rgba(201, 164, 108, 0.35);
	padding: 1.25rem 3rem;
	margin-bottom: 2.5rem;
}
.ad-confirm-ref-label { font-size: 0.5rem; text-transform: uppercase; letter-spacing: 0.5em; color: rgba(26,26,26,0.35); margin: 0 0 0.35rem; }
.ad-confirm-ref-num { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; letter-spacing: 0.1em; color: #C9A46C; margin: 0; }
.ad-confirm-ref-meta { font-size: 0.5625rem; text-transform: uppercase; letter-spacing: 0.3em; color: rgba(26,26,26,0.35); margin: 0.5rem 0 0; }

/* Items recap */
.ad-confirm-items { max-width: 24rem; margin: 0 auto 2.5rem; border: 1px solid rgba(26,26,26,0.08); text-align: left; }
.ad-confirm-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-bottom: 1px solid rgba(26,26,26,0.08); }
.ad-confirm-item-img { width: 3rem; height: 3rem; flex-shrink: 0; overflow: hidden; border: 1px solid rgba(201,164,108,0.15); }
.ad-confirm-item-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.ad-confirm-item-info { flex: 1 1 auto; min-width: 0; }
.ad-confirm-item-name { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 0.95rem; color: #1A1A1A; line-height: 1.2; }
.ad-confirm-item-qty { display: block; font-size: 0.5rem; text-transform: uppercase; letter-spacing: 0.3em; color: #C9A46C; margin-top: 0.25rem; }
.ad-confirm-item-price { font-family: 'Playfair Display', Georgia, serif; color: rgba(26,26,26,0.55); font-size: 0.9rem; }
.ad-confirm-total { display: flex; justify-content: space-between; align-items: center; padding: 0.85rem 1rem; background: #F0EBE3; }
.ad-confirm-total-label { font-size: 0.5625rem; text-transform: uppercase; letter-spacing: 0.4em; color: rgba(26,26,26,0.4); }
.ad-confirm-total-val { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; color: #1A1A1A; }
.ad-confirm-total-val .amount, .ad-confirm-item-price .amount { text-decoration: none; }

/* Delivery details (branded) */
.ad-confirm-details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	max-width: 32rem;
	margin: 0 auto 2.5rem;
	border: 1px solid rgba(26,26,26,0.08);
	background: rgba(26,26,26,0.08);
	text-align: left;
}
.ad-confirm-detail { background: #FFFFFF; padding: 1.1rem 1.25rem; }
.ad-confirm-detail--full { grid-column: 1 / -1; }
.ad-confirm-detail-label { font-size: 0.5rem; text-transform: uppercase; letter-spacing: 0.4em; color: #C9A46C; margin: 0 0 0.5rem; }
.ad-confirm-detail-val { font-size: 0.8125rem; font-weight: 300; color: rgba(26,26,26,0.7); line-height: 1.6; margin: 0; }
.ad-confirm-detail-val address { font-style: normal; }
@media (max-width: 540px) { .ad-confirm-details { grid-template-columns: 1fr; } }

/* What happens next */
.ad-confirm-next { background: #F0EBE3; padding: 2rem; max-width: 28rem; margin: 0 auto 2.5rem; text-align: left; }
.ad-confirm-next-title { font-size: 0.5625rem; text-transform: uppercase; letter-spacing: 0.5em; color: #C9A46C; text-align: center; margin: 0 0 1.25rem; }
.ad-confirm-next-row { display: flex; align-items: flex-start; gap: 1rem; margin-top: 0.85rem; }
.ad-confirm-next-icon { color: #C9A46C; flex-shrink: 0; }
.ad-confirm-next-text { color: rgba(26,26,26,0.6); font-size: 0.875rem; font-weight: 300; line-height: 1.6; }

/* Actions */
.ad-confirm-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.ad-confirm-btn {
	display: inline-block;
	padding: 1rem 2.5rem;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.5s ease;
}
.ad-confirm-btn--dark, .ad-confirm-btn--gold { background: #1A1A1A; color: #F7F3EE; border: 1px solid #1A1A1A; }
.ad-confirm-btn--gold { background: #C9A46C; color: #0E0C09; border-color: #C9A46C; }
.ad-confirm-btn--dark:hover, .ad-confirm-btn--gold:hover { background: #C9A46C; color: #0E0C09; border-color: #C9A46C; }
.ad-confirm-btn--ghost { background: transparent; color: rgba(26,26,26,0.5); border: 1px solid rgba(26,26,26,0.15); }
.ad-confirm-btn--ghost:hover { border-color: #C9A46C; color: #C9A46C; }

/* ============================================================== *
 *  WooCommerce pages — My Account + shortcode pages branding
 * ============================================================== */
/* Give account/shortcode WC pages a light canvas that clears the fixed header. */
.woocommerce-account .wp-block-post-content,
.woocommerce-cart .wp-block-post-content,
.woocommerce-checkout .wp-block-post-content,
.ad-wc-page-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 130px 1.5rem 5rem;
}
.woocommerce-account main,
.woocommerce-account .wp-block-group {
	background: #F7F3EE;
}

/* My Account navigation — turn the default list into branded tabs. */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 2rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; border-bottom: 1px solid rgba(201,164,108,0.2); }
.woocommerce-MyAccount-navigation li a {
	display: inline-block;
	padding: 0.85rem 1.25rem;
	font-size: 0.5625rem;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(26,26,26,0.5);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.3s ease, border-color 0.3s ease;
}
.woocommerce-MyAccount-navigation li a:hover { color: #C9A46C; }
.woocommerce-MyAccount-navigation li.is-active a { color: #C9A46C; border-bottom-color: #C9A46C; }
@media (min-width: 783px) {
	.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px 1fr; gap: 2.5rem; align-items: start; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; border-bottom: none; border-right: 1px solid rgba(201,164,108,0.2); margin-bottom: 0; }
	.woocommerce-MyAccount-navigation li a { border-bottom: none; border-right: 2px solid transparent; }
	.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
}

/* Account headings + text in brand type. */
.woocommerce-account h2, .woocommerce-account h3 { font-family: 'Playfair Display', Georgia, serif; font-weight: 300; color: #1A1A1A; }
.woocommerce-account .woocommerce-MyAccount-content p { color: rgba(26,26,26,0.6); font-weight: 300; line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #C9A46C; }

/* Login / register forms centered + branded. */
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 480px; margin: 0 auto; display: block; }
.woocommerce form.login, .woocommerce form.register { border: 1px solid rgba(26,26,26,0.1); border-radius: 0; padding: 2rem; background: #fff; }


/* ==============================================================
 *  Shop archive pagination (argana-dune/shop-page)
 * ============================================================== */
.ad-shop-pagination ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; }
.ad-shop-pagination li { margin: 0; }
.ad-shop-pagination a,
.ad-shop-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.75rem;
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-decoration: none;
	border: 1px solid rgba(26, 26, 26, 0.15);
	color: rgba(26, 26, 26, 0.65);
	transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}
.ad-shop-pagination a:hover { border-color: #C9A46C; color: #C9A46C; }
.ad-shop-pagination .current {
	background-color: #1A1A1A;
	border-color: #1A1A1A;
	color: #F7F3EE;
}
.ad-shop-pagination .dots { border-color: transparent; }
