/*
Theme Name: WAIKI
Theme URI: https://waiki.store
Author: Waiki
Description: Custom WooCommerce block theme for WAIKI — luxury fashion and fragrance for every member of the family. Built from the WAIKI Brand Foundation design system.
Version: 2.2.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: waiki
Tags: full-site-editing, block-patterns, e-commerce, custom-colors, custom-menu
*/

/*
 * Design tokens (colour, type, spacing) live in theme.json.
 * This file carries only what theme.json cannot express.
 */

/* ---------------------------------------------------------------- header */

/*
 * Desktop header, measured from the homepage Figma frame (1440 wide):
 * 34px announcement bar, 77px bar + 1px rule. Positions are set so the ink
 * of each item lands where the design draws it.
 */
.waiki-announce {
	box-sizing: border-box;
	height: 34px;
	padding: 0 16px;
	background: var(--wp--preset--color--deep-taupe);
	text-align: center;
}

.waiki-announce p {
	margin: 0;
	overflow: hidden;
	font-size: 10px;
	font-weight: 500;
	line-height: 34px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: var(--wp--preset--color--warm-ivory);
}

/* The client's gold logo (trimmed artwork), centred in the 77px bar. */
.waiki-logo {
	display: block;
	justify-self: start;
	margin-top: 13.5px;
	line-height: 0;
}

.waiki-logo img {
	display: block;
	width: 145px;
	height: auto;
}

.waiki-utils {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 27px;
	height: 24px;
	margin-top: 22.5px;
}

.waiki-utils a,
.waiki-utils button {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--deep-taupe);
	transition: color 0.2s ease;
}

.waiki-utils a:hover,
.waiki-utils a:focus-visible,
.waiki-utils button:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-utils svg {
	display: block;
}

/* The heart is drawn smaller than the other icons. */
.waiki-utils__heart svg {
	width: 20px;
	height: 20px;
	stroke-width: 2.04;
}

.waiki-bag {
	position: relative;
}

/* A plain champagne figure beside the bag, not a pill. */
.waiki-bag__count {
	position: absolute;
	top: 1.6px;
	left: calc(100% + 6.5px);
	font-family: var(--wp--preset--font-family--body);
	font-size: 9px;
	font-weight: 600;
	line-height: 9px;
	letter-spacing: 0;
	color: var(--wp--preset--color--champagne);
}

/* Navigation: uppercase, letter-spaced, no underline. */
.wp-block-navigation .wp-block-navigation-item__content {
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--champagne);
}

/* ---------------------------------------------------------------- footer */

.waiki-footer__grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr 1.3fr;
	gap: var(--wp--preset--spacing--s-48);
	align-items: start;
}

.waiki-footer__logo {
	width: 176px;
	height: auto;
	display: block;
	margin-bottom: var(--wp--preset--spacing--s-24);
}

.waiki-footer__brand p {
	max-width: 34ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.8;
	color: rgba(246, 242, 234, 0.82);
}

.waiki-footer__heading {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne);
}

.waiki-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--s-12);
}

.waiki-footer__col a {
	color: rgba(246, 242, 234, 0.88);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
	transition: color 0.2s ease;
}

.waiki-footer__col a:hover,
.waiki-footer__col a:focus-visible {
	color: var(--wp--preset--color--champagne);
}

.waiki-newsletter {
	display: grid;
	gap: var(--wp--preset--spacing--s-16);
}

.waiki-newsletter input {
	box-sizing: border-box;
	width: 100%;
	padding: 14px 16px;
	background: transparent;
	border: 1px solid rgba(246, 242, 234, 0.35);
	border-radius: 0;
	color: var(--wp--preset--color--warm-ivory);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 300;
}

.waiki-newsletter input::placeholder {
	color: rgba(246, 242, 234, 0.55);
}

.waiki-newsletter input:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne);
	outline-offset: 2px;
}

.waiki-newsletter button {
	justify-self: start;
	padding: 14px 28px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--champagne);
	color: var(--wp--preset--color--deep-taupe);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
}

.waiki-newsletter button:hover {
	background: var(--wp--preset--color--sand-beige);
}

.waiki-footer__base {
	margin-top: var(--wp--preset--spacing--s-64);
	padding-top: var(--wp--preset--spacing--s-24);
	border-top: 1px solid rgba(246, 242, 234, 0.18);
}

.waiki-footer__base p {
	margin: 0;
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(246, 242, 234, 0.7);
}

/* ------------------------------------------------------------ responsive */

@media (max-width: 1024px) {
	.waiki-footer__grid {
		grid-template-columns: 1fr 1fr 1fr;
		row-gap: var(--wp--preset--spacing--s-48);
	}

	.waiki-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.waiki-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	/* Let the offer wrap on a phone rather than cutting off the amount. */
	.waiki-announce {
		height: auto;
		padding: 9px 16px;
	}

	.waiki-announce p {
		line-height: 1.5;
		white-space: normal;
	}

	.waiki-utils {
		gap: var(--wp--preset--spacing--s-16);
	}
}

/* The hidden attribute must beat component display rules, or a button
   with display:inline-flex stays visible when JS hides it. */
[hidden] {
	display: none !important;
}

/* ----------------------------------------------------------- a11y helper */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ============================================================ homepage */

.waiki-eyebrow {
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne);
}

.waiki-section {
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-64) var(--wp--preset--spacing--s-80);
}

.waiki-section__title {
	max-width: 560px;
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 600;
	line-height: 1.15;
}

.waiki-section__lead {
	max-width: 78ch;
	margin: 0;
	color: rgba(75, 67, 60, 0.78);
}

.waiki-section__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--wp--preset--spacing--s-32);
	flex-wrap: wrap;
}

/* placeholder boxes — removed once real photography arrives */
.waiki-ph {
	width: 100%;
	display: grid;
	place-items: center;
	background: repeating-linear-gradient(
		135deg,
		#e9e0d2,
		#e9e0d2 12px,
		#e4d9c8 12px,
		#e4d9c8 24px
	);
	border: 1px solid rgba(200, 173, 125, 0.45);
}

.waiki-ph span {
	padding: 0 12px;
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
	color: rgba(75, 67, 60, 0.55);
}

/* buttons */
.waiki-btn {
	/* Without this an <a class="waiki-btn"> adds padding and border on top of
	   width:100%, so it renders wider than a <button>, which is border-box by
	   default. That mismatch is visible whenever the two sit in one column. */
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	border: 1px solid transparent;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.waiki-btn--primary {
	background: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
}

.waiki-btn--primary:hover {
	background: var(--wp--preset--color--champagne);
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--deep-taupe);
	border-color: var(--wp--preset--color--champagne);
}

.waiki-btn--ghost:hover {
	background: var(--wp--preset--color--champagne);
}

.waiki-btn--block {
	width: 100%;
}

/*
 * The card action in the Figma is a slim bar, far shorter than a standalone
 * button. Held at 34px rather than the drawn 22px so it remains a usable tap
 * target on a phone.
 */
.waiki-pcard .waiki-btn--block {
	padding: 6px 16px;
	font-size: 0.625rem;
	letter-spacing: 0.12em;
}

/* hero */
.waiki-hero {
	position: relative;
}

.waiki-hero__media .waiki-ph {
	/* Figma hero band measures 719px at 1440 wide. */
	aspect-ratio: auto;
	height: 720px;
	border: 0;
}

.waiki-hero__inner {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--s-80);
}

.waiki-hero__card {
	box-sizing: border-box;
	width: 100%;
	max-width: 588px;
	padding: var(--wp--preset--spacing--s-40) var(--wp--preset--spacing--s-40);
	background: rgba(242, 237, 228, 0.95);
}

/*
 * Uppercase to match the Figma hero. Cinzel's lowercase glyphs are small
 * capitals, so sentence case reads noticeably smaller than the design.
 * Size is capped so "Timeless together." stays on one line inside the card.
 */
.waiki-hero__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.875rem, 3.2vw, 2.75rem);
	font-weight: 600;
	line-height: 1.12;
	text-transform: uppercase;
}

.waiki-hero__lead {
	max-width: 42ch;
	margin: 0 0 var(--wp--preset--spacing--s-32);
}

.waiki-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--s-16);
	margin-bottom: var(--wp--preset--spacing--s-40);
}

.waiki-hero__features {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--s-24);
	align-items: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.8);
}

/* curated worlds */
.waiki-worlds__grid,
.waiki-pgrid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--s-32);
	margin-top: var(--wp--preset--spacing--s-48);
}

.waiki-world {
	display: block;
	padding: var(--wp--preset--spacing--s-16);
	border: 1px solid var(--wp--preset--color--sand-beige);
	background: rgba(255, 255, 255, 0.4);
	text-decoration: none;
	transition: border-color 0.2s ease;
}

.waiki-world:hover {
	border-color: var(--wp--preset--color--champagne);
}

.waiki-world h3 {
	margin: var(--wp--preset--spacing--s-24) 0 var(--wp--preset--spacing--s-12);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

.waiki-world p {
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.78);
}

.waiki-link {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne);
}

/* product cards */
.waiki-pcard {
	padding: var(--wp--preset--spacing--s-12);
	border: 1px solid var(--wp--preset--color--sand-beige);
	background: rgba(255, 255, 255, 0.45);
}

.waiki-pcard__media {
	position: relative;
}

.waiki-badge {
	position: absolute;
	top: 12px;
	inset-inline-start: 12px;
	padding: 6px 14px;
	border-radius: 999px;
	background: #fff;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-wish {
	position: absolute;
	top: 10px;
	inset-inline-end: 10px;
	padding: 4px;
	border: 0;
	background: none;
	color: var(--wp--preset--color--deep-taupe);
	cursor: pointer;
	line-height: 0;
}

.waiki-wish:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-pcard__title {
	margin: var(--wp--preset--spacing--s-16) 0 var(--wp--preset--spacing--s-4);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.0625rem;
	font-weight: 400;
}

.waiki-pcard__cat {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-size: var(--wp--preset--font-size--eyebrow);
	color: #7D766F;
}

.waiki-pcard__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--wp--preset--spacing--s-16);
}

.waiki-pcard__price {
	font-weight: 500;
	font-size: 0.9375rem;
}

.waiki-swatches {
	display: flex;
	gap: 6px;
}

.waiki-swatches i {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid rgba(75, 67, 60, 0.25);
}

/* editorial split */
.waiki-editorial {
	display: grid;
	grid-template-columns: 1.46fr 1fr;
	align-items: stretch;
	max-width: 1440px;
	margin-inline: auto;
	padding: 0 var(--wp--preset--spacing--s-80) var(--wp--preset--spacing--s-64);
}

.waiki-editorial__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--wp--preset--spacing--s-64);
	background: linear-gradient(90deg, #e6dccb 0%, #f2ece1 100%);
}

.waiki-editorial__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 600;
	line-height: 1.1;
	text-transform: uppercase;
}

.waiki-editorial__panel p {
	max-width: 38ch;
	margin: 0 0 var(--wp--preset--spacing--s-32);
}

.waiki-editorial__panel .waiki-btn {
	align-self: flex-start;
}

.waiki-editorial__media .waiki-ph {
	height: 100%;
	border: 0;
}

/* signature scents */
.waiki-scents {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: var(--wp--preset--spacing--s-64);
	align-items: start;
}

.waiki-notes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-24);
	margin: var(--wp--preset--spacing--s-32) 0;
	padding: var(--wp--preset--spacing--s-24) var(--wp--preset--spacing--s-32);
	background: var(--wp--preset--color--sand-beige);
}

.waiki-notes .waiki-eyebrow {
	display: block;
	margin-bottom: var(--wp--preset--spacing--s-8);
}

.waiki-notes p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

.waiki-scents__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-16);
	margin-bottom: var(--wp--preset--spacing--s-32);
}

.waiki-scent {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: var(--wp--preset--spacing--s-12);
	align-items: center;
	padding: var(--wp--preset--spacing--s-12);
	border: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-scent h3 {
	margin: 0 0 var(--wp--preset--spacing--s-4);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1rem;
	font-weight: 400;
}

.waiki-scent .waiki-pcard__cat {
	margin-bottom: var(--wp--preset--spacing--s-4);
}

/* kids & family */
.waiki-kids__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-24);
	margin-top: var(--wp--preset--spacing--s-48);
}

.waiki-kidcard {
	display: grid;
	grid-template-columns: 152px 1fr;
	gap: var(--wp--preset--spacing--s-24);
	align-items: center;
	padding: var(--wp--preset--spacing--s-16);
	background: var(--wp--preset--color--sand-beige);
	text-decoration: none;
}

.waiki-kidcard h3 {
	margin: 0 0 var(--wp--preset--spacing--s-8);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.375rem;
	font-weight: 400;
}

.waiki-kidcard p {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.8);
}

/* ------------------------------------------- homepage responsive */

@media (max-width: 1200px) {
	.waiki-section,
	.waiki-editorial,
	.waiki-hero__inner {
		padding-inline: var(--wp--preset--spacing--s-32);
	}
}

@media (max-width: 1100px) {
	.waiki-worlds__grid,
	.waiki-pgrid {
		grid-template-columns: repeat(2, 1fr);
	}

	.waiki-scents,
	.waiki-editorial {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--s-40);
	}

	.waiki-kids__grid {
		grid-template-columns: 1fr;
	}

	.waiki-editorial__panel {
		padding: var(--wp--preset--spacing--s-48) var(--wp--preset--spacing--s-32);
	}
}

@media (max-width: 640px) {
	.waiki-section {
		padding: var(--wp--preset--spacing--s-64) var(--wp--preset--spacing--s-16);
	}

	.waiki-hero__inner {
		position: static;
		padding: 0;
	}

	.waiki-hero__media .waiki-ph {
		min-height: 360px;
	}

	.waiki-hero__card {
		max-width: none;
		padding: var(--wp--preset--spacing--s-32) var(--wp--preset--spacing--s-16);
		background: none;
	}

	.waiki-pgrid,
	.waiki-worlds__grid {
		grid-template-columns: 1fr;
	}

	.waiki-notes,
	.waiki-scents__grid {
		grid-template-columns: 1fr;
	}

	.waiki-editorial {
		padding-inline: var(--wp--preset--spacing--s-16);
	}
}

/* ==================================================== category landing */

.waiki-crumbs {
	margin-bottom: var(--wp--preset--spacing--s-32);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-crumbs a {
	color: var(--wp--preset--color--taupe);
	text-decoration: none;
}

.waiki-crumbs a:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-crumbs span {
	margin: 0 6px;
}

.waiki-cathero {
	background: linear-gradient(90deg, #efe7d9 0%, #e3d6c1 100%);
}

.waiki-cathero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--s-48);
	align-items: center;
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-64) var(--wp--preset--spacing--s-32);
}

.waiki-cathero__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.875rem, 3.2vw, 2.75rem);
	font-weight: 600;
	line-height: 1.12;
}

.waiki-cathero__lead {
	max-width: 46ch;
	margin: 0 0 var(--wp--preset--spacing--s-32);
	color: rgba(75, 67, 60, 0.82);
}

.waiki-cathero__media .waiki-ph {
	border: 0;
}

/* sub-category cards */
.waiki-subcats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--s-24);
	margin-bottom: var(--wp--preset--spacing--s-96);
}

.waiki-subcat {
	position: relative;
	display: block;
	text-decoration: none;
	border: 1px solid rgba(200, 173, 125, 0.5);
}

.waiki-subcat .waiki-ph {
	border: 0;
}

.waiki-subcat__body {
	position: absolute;
	inset-inline-start: 0;
	bottom: 0;
	width: 100%;
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--s-24);
	background: linear-gradient(to top, rgba(246, 242, 234, 0.95), rgba(246, 242, 234, 0));
}

.waiki-subcat__body h2 {
	margin: 0 0 var(--wp--preset--spacing--s-4);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

.waiki-subcat__body p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.75);
}

/* featured edit */
.waiki-featured {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: var(--wp--preset--spacing--s-64);
	align-items: center;
}

.waiki-featured__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--s-24);
}

.waiki-featured .waiki-pcard {
	border: 0;
	background: none;
	padding: 0;
}

/* service bar */
.waiki-services {
	background: var(--wp--preset--color--deep-taupe);
}

.waiki-services ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--s-24);
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-32);
	list-style: none;
}

.waiki-services li {
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--warm-ivory);
}

/* ===================================================== product listing */

.waiki-listing__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--s-24);
	flex-wrap: wrap;
	margin-bottom: var(--wp--preset--spacing--s-48);
}

.waiki-listing__title {
	margin: 0 0 var(--wp--preset--spacing--s-8);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 600;
}

.waiki-listing__count {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-sort select {
	padding: 14px 20px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--deep-taupe);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	cursor: pointer;
}

.waiki-listing__body {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: var(--wp--preset--spacing--s-48);
	align-items: start;
}

.waiki-filters {
	padding: var(--wp--preset--spacing--s-24);
	border: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-filters__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.waiki-filter {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	padding: 0 0 var(--wp--preset--spacing--s-24);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-filter:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.waiki-filter legend {
	padding: 0;
	margin-bottom: var(--wp--preset--spacing--s-12);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
}

.waiki-filter label {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-8);
	margin-bottom: var(--wp--preset--spacing--s-8);
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.85);
	cursor: pointer;
}

.waiki-filter input[type="checkbox"] {
	width: 14px;
	height: 14px;
	accent-color: var(--wp--preset--color--champagne);
}

.waiki-listing__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-32);
}

.waiki-listing__grid .waiki-pcard {
	border: 0;
	background: none;
	padding: 0;
}

/* ------------------------------------ category + listing responsive */

@media (max-width: 1100px) {
	.waiki-cathero__inner,
	.waiki-featured {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--s-32);
	}

	.waiki-subcats {
		grid-template-columns: repeat(2, 1fr);
	}

	.waiki-listing__body {
		grid-template-columns: 1fr;
	}

	.waiki-listing__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.waiki-services ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.waiki-subcats,
	.waiki-listing__grid,
	.waiki-featured__grid {
		grid-template-columns: 1fr;
	}

	.waiki-cathero__inner {
		padding: var(--wp--preset--spacing--s-40) var(--wp--preset--spacing--s-16);
	}

	.waiki-services ul {
		grid-template-columns: 1fr;
	}
}

/* ================================================ product detail page */

.waiki-pdp__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--s-64);
	align-items: start;
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-48) var(--wp--preset--spacing--s-32) var(--wp--preset--spacing--s-96);
}

/* Fragrance layout sits on a tinted band. */
.waiki-pdp--scent {
	background: linear-gradient(90deg, #cfcbb8 0%, #e8ded0 55%, #e3d2bd 100%);
}

.waiki-pdp--scent .waiki-pdp__inner {
	padding-top: var(--wp--preset--spacing--s-64);
	padding-bottom: var(--wp--preset--spacing--s-64);
}

.waiki-pdp--scent .waiki-ph {
	border: 0;
}

.waiki-pdp__image {
	width: 100%;
	height: auto;
	display: block;
}

.waiki-pdp__thumbs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-16);
	margin: var(--wp--preset--spacing--s-16) 0 0;
	padding: 0;
	list-style: none;
	max-width: 62%;
}

.waiki-pdp__thumbs span {
	display: block;
	margin-top: var(--wp--preset--spacing--s-8);
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.1em;
	text-align: center;
	color: var(--wp--preset--color--taupe);
}

.waiki-pdp__title {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 600;
	line-height: 1.12;
}

.waiki-pdp__accents {
	margin-bottom: var(--wp--preset--spacing--s-16);
}

.waiki-pdp__price {
	margin-bottom: var(--wp--preset--spacing--s-24);
	font-size: 1.25rem;
	font-weight: 500;
}

.waiki-pdp__price del {
	opacity: 0.5;
	margin-inline-end: 8px;
}

.waiki-pdp__lead {
	max-width: 48ch;
	margin-bottom: var(--wp--preset--spacing--s-32);
	color: rgba(75, 67, 60, 0.85);
}

.waiki-pdp__lead p {
	margin: 0;
}

/* --- add to cart ------------------------------------------------- */

.waiki-pdp__cart {
	margin-bottom: var(--wp--preset--spacing--s-40);
}

.waiki-pdp__cart .variations {
	width: 100%;
	margin-bottom: var(--wp--preset--spacing--s-24);
	border-collapse: collapse;
}

.waiki-pdp__cart .variations th,
.waiki-pdp__cart .variations td {
	display: block;
	padding: 0;
	text-align: start;
}

.waiki-pdp__cart .variations .label label {
	display: block;
	margin-bottom: var(--wp--preset--spacing--s-12);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--deep-taupe);
}

/* The select stays in the DOM for Woo, hidden once swatches are built. */
.waiki-swatchset + select {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.waiki-swatchset {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--s-8);
	margin-bottom: var(--wp--preset--spacing--s-8);
}

.waiki-swatch {
	min-width: 56px;
	padding: 12px 16px;
	border: 1px solid var(--wp--preset--color--champagne);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--deep-taupe);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.waiki-swatch:hover {
	background: rgba(200, 173, 125, 0.25);
}

.waiki-swatch[aria-pressed="true"] {
	background: var(--wp--preset--color--deep-taupe);
	border-color: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
}

.waiki-swatch.is-unavailable {
	opacity: 0.35;
	cursor: not-allowed;
	text-decoration: line-through;
}

.waiki-pdp__cart .reset_variations {
	display: inline-block;
	margin-bottom: var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
}

.waiki-pdp__cart form.cart {
	display: block;
}

.waiki-pdp__cart .quantity {
	display: inline-flex;
	margin-inline-end: var(--wp--preset--spacing--s-12);
}

.waiki-pdp__cart .quantity input {
	width: 72px;
	padding: 15px 10px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	text-align: center;
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-pdp__cart button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	padding: 16px 32px;
	border: 1px solid transparent;
	border-radius: 0;
	background: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.waiki-pdp__cart button.single_add_to_cart_button:hover {
	background: var(--wp--preset--color--champagne);
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-pdp__cart button.single_add_to_cart_button.disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.waiki-pdp__secondary {
	margin-inline-start: var(--wp--preset--spacing--s-12);
}

.waiki-pdp__cart .woocommerce-variation-price {
	margin-bottom: var(--wp--preset--spacing--s-16);
	font-size: 1.125rem;
	font-weight: 500;
}

.waiki-pdp__cart .stock {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

/* --- accordions -------------------------------------------------- */

.waiki-accordions {
	border-top: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-accordions details {
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-accordions summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--wp--preset--spacing--s-24) 0;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}

.waiki-accordions summary::-webkit-details-marker {
	display: none;
}

.waiki-accordions summary::after {
	content: "+";
	font-size: 1.25rem;
	color: var(--wp--preset--color--taupe);
}

.waiki-accordions details[open] summary::after {
	content: "\2212";
}

.waiki-accordions details > div {
	padding-bottom: var(--wp--preset--spacing--s-24);
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.85);
}

.waiki-accordions details > div p {
	margin: 0;
}

/* --- fragrance notes + ritual ------------------------------------ */

.waiki-notespanel__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-32);
	padding: var(--wp--preset--spacing--s-48);
	border: 1px solid var(--wp--preset--color--sand-beige);
	text-align: center;
}

.waiki-notespanel__grid h2 {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.375rem;
	font-weight: 400;
}

.waiki-notespanel__grid p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.82);
}

.waiki-ritual {
	padding-top: var(--wp--preset--spacing--s-48);
}

/* --- complete the look ------------------------------------------- */

.waiki-complete {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: var(--wp--preset--spacing--s-64);
	align-items: center;
}

.waiki-complete__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--s-24);
}

.waiki-complete .waiki-pcard {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-decoration: none;
}

/* --- pdp responsive ---------------------------------------------- */

@media (max-width: 1100px) {
	.waiki-pdp__inner,
	.waiki-complete {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--s-40);
	}

	.waiki-pdp__thumbs {
		max-width: 100%;
	}
}

@media (max-width: 640px) {
	.waiki-pdp__inner {
		padding: var(--wp--preset--spacing--s-32) var(--wp--preset--spacing--s-16) var(--wp--preset--spacing--s-64);
	}

	.waiki-notespanel__grid {
		grid-template-columns: 1fr;
		padding: var(--wp--preset--spacing--s-24);
	}

	.waiki-complete__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.waiki-pdp__secondary {
		margin-inline-start: 0;
		margin-top: var(--wp--preset--spacing--s-12);
	}
}

/* --- pdp corrections to match the Figma --------------------------- */

/*
 * The Figma shows Add To Bag and the secondary action side by side, with no
 * quantity box on the product page. Quantity stays in the DOM (it still posts
 * a value of 1) and is adjustable in the bag itself.
 */
.waiki-pdp__cart {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--s-12);
}

.waiki-pdp__cart > form.cart,
.waiki-pdp__cart > .variations_form {
	flex: 1 1 100%;
}

.waiki-pdp__cart .quantity {
	display: none;
}

.waiki-pdp__cart .woocommerce-variation-add-to-cart,
.waiki-pdp__cart form.cart:not(.variations_form) {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-12);
}

.waiki-pdp__secondary {
	margin-inline-start: 0;
}

/* Line the secondary button up with Add To Bag. */
.waiki-pdp__cart {
	position: relative;
	padding-bottom: 0;
}

.waiki-pdp__secondary {
	min-width: 170px;
}

@media (max-width: 480px) {
	.waiki-pdp__cart,
	.waiki-pdp__cart .woocommerce-variation-add-to-cart,
	.waiki-pdp__cart form.cart:not(.variations_form) {
		flex-direction: column;
		align-items: stretch;
	}

	.waiki-pdp__cart .waiki-pdp__secondary,
	.waiki-pdp__cart button.single_add_to_cart_button {
		width: 100%;
	}
}

/* ================================================= bag and checkout */

/* The cart and checkout pages are shortcode content inside page.html,
   which has no width constraint of its own. */
/* div only: WooCommerce also puts .woocommerce on <body> for product pages */
div.woocommerce,
.woocommerce-page main > .wp-block-post-content {
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-48) var(--wp--preset--spacing--s-32) var(--wp--preset--spacing--s-96);
}

.waiki-bag__heading,
.waiki-checkout__heading {
	margin: 0 0 var(--wp--preset--spacing--s-32);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 400;
}

/* --- bag ---------------------------------------------------------- */

.waiki-bagpage {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: var(--wp--preset--spacing--s-48);
	align-items: start;
}

.waiki-bag__items {
	padding: var(--wp--preset--spacing--s-32);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-bagitem {
	display: grid;
	grid-template-columns: 120px 1fr auto;
	gap: var(--wp--preset--spacing--s-24);
	padding: var(--wp--preset--spacing--s-24) 0;
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-bagitem:first-child {
	padding-top: 0;
}

.waiki-bagitem:last-of-type {
	border-bottom: 0;
}

.waiki-bagitem__media img {
	width: 100%;
	height: auto;
	display: block;
}

.waiki-bagitem__title {
	margin: 0 0 var(--wp--preset--spacing--s-8);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: 400;
}

.waiki-bagitem__title a {
	text-decoration: none;
}

.waiki-bagitem__meta {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-bagitem__qty {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.waiki-bagitem__qty input {
	width: 56px;
	padding: 6px 8px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-bagitem__remove {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.waiki-bagitem__remove:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-bagitem__price {
	font-weight: 500;
	white-space: nowrap;
}

.waiki-bag__actions {
	padding-top: var(--wp--preset--spacing--s-24);
	text-align: end;
}

/* --- order summary ------------------------------------------------ */

.waiki-bag__summary {
	padding: var(--wp--preset--spacing--s-32);
	border: 1px solid var(--wp--preset--color--champagne);
	position: sticky;
	top: var(--wp--preset--spacing--s-24);
}

.waiki-summary__heading {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

.waiki-summary__rows {
	display: grid;
	gap: var(--wp--preset--spacing--s-16);
	padding-bottom: var(--wp--preset--spacing--s-24);
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-summary__row,
.waiki-summary__total {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--small);
}

.waiki-summary__row > span:first-child {
	color: rgba(75, 67, 60, 0.8);
}

.waiki-summary__total {
	padding: var(--wp--preset--spacing--s-24) 0;
	font-size: 1.0625rem;
	font-weight: 600;
}

.waiki-summary__action .checkout-button,
.waiki-summary__action .button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 16px 24px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.waiki-summary__action .checkout-button:hover,
.waiki-summary__action .button:hover {
	background: var(--wp--preset--color--champagne);
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-summary__note {
	margin: var(--wp--preset--spacing--s-16) 0 0;
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 1.6;
	color: rgba(75, 67, 60, 0.7);
}

/* --- checkout steps ----------------------------------------------- */

.waiki-steps {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-12);
	margin: 0 0 var(--wp--preset--spacing--s-40);
	padding: 0;
	list-style: none;
}

.waiki-step {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-8);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-step + .waiki-step::before {
	content: "";
	width: 48px;
	height: 1px;
	margin-inline-end: var(--wp--preset--spacing--s-12);
	background: var(--wp--preset--color--sand-beige);
}

.waiki-step__dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--champagne);
	background: transparent;
}

.waiki-step.is-done .waiki-step__dot,
.waiki-step.is-current .waiki-step__dot {
	background: var(--wp--preset--color--champagne);
}

.waiki-step.is-current {
	color: var(--wp--preset--color--deep-taupe);
	font-weight: 600;
}

/* --- checkout form ------------------------------------------------ */

form.checkout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: var(--wp--preset--spacing--s-24) var(--wp--preset--spacing--s-48);
	align-items: start;
}

#customer_details {
	grid-column: 1;
	padding: var(--wp--preset--spacing--s-32);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-checkout__nav {
	grid-column: 1;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-16);
}

.waiki-payment-slot {
	grid-column: 1;
}

/* Title is moved inside the panel by checkout.js. */
#order_review_heading {
	display: none;
}

#order_review {
	grid-column: 2;
	grid-row: 1 / -1;
	padding: var(--wp--preset--spacing--s-32);
	border: 1px solid var(--wp--preset--color--champagne);
	position: sticky;
	top: var(--wp--preset--spacing--s-24);
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table thead {
	display: none;
}

#payment {
	padding: var(--wp--preset--spacing--s-32);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--sand-beige);
}

/* Coupons are not in the Figma checkout. */
.woocommerce-form-coupon-toggle,
.checkout_coupon {
	display: none;
}

#customer_details h3,
#payment h3 {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--s-16);
}

.woocommerce .form-row {
	margin: 0;
}

.woocommerce .form-row-wide,
.woocommerce .form-row.notes {
	grid-column: 1 / -1;
}

.woocommerce .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(75, 67, 60, 0.75);
}

.woocommerce .form-row input.input-text,
.woocommerce .form-row textarea,
.woocommerce .form-row select,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 300;
	color: var(--wp--preset--color--deep-taupe);
}

.woocommerce .form-row input.input-text:focus-visible,
.woocommerce .form-row textarea:focus-visible,
.woocommerce .form-row select:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne);
	outline-offset: 1px;
}

.woocommerce .form-row .required {
	color: var(--wp--preset--color--champagne);
	text-decoration: none;
}

/* --- order review table ------------------------------------------- */

.woocommerce-checkout-review-order-table thead th {
	padding: 0 0 var(--wp--preset--spacing--s-16);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: 400;
	text-align: start;
}

.woocommerce-checkout-review-order-table thead th:last-child {
	text-align: end;
}

.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th {
	padding: var(--wp--preset--spacing--s-12) 0;
	font-size: var(--wp--preset--font-size--small);
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.woocommerce-checkout-review-order-table tfoot th {
	text-align: start;
	font-weight: 400;
	color: rgba(75, 67, 60, 0.8);
}

.woocommerce-checkout-review-order-table td {
	text-align: end;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	padding-top: var(--wp--preset--spacing--s-16);
	font-size: 1.0625rem;
	font-weight: 600;
	border-bottom: 0;
}

.woocommerce-checkout-review-order-table .product-name {
	text-align: start;
}

/* --- payment ------------------------------------------------------ */

.wc_payment_methods {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--wp--preset--spacing--s-12);
}

.wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-12);
	padding: 16px 20px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	cursor: pointer;
	transition: border-color 0.2s ease;
}

.wc_payment_method input[type="radio"] {
	accent-color: var(--wp--preset--color--champagne);
}

.wc_payment_method input[type="radio"]:checked + label {
	border-color: var(--wp--preset--color--champagne);
	background: rgba(200, 173, 125, 0.12);
}

.payment_box {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	padding: var(--wp--preset--spacing--s-16) 20px;
	background: rgba(220, 201, 178, 0.28);
	font-size: var(--wp--preset--font-size--small);
}

.payment_box p {
	margin: 0;
}

#place_order,
.waiki-checkout__nav .waiki-btn {
	min-width: 220px;
}

#place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

#place_order:hover {
	background: var(--wp--preset--color--champagne);
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-checkout__back {
	border: 0;
	background: none;
	padding: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.waiki-checkout__back:hover {
	color: var(--wp--preset--color--champagne);
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--eyebrow);
	color: rgba(75, 67, 60, 0.7);
}

/* --- notices ------------------------------------------------------ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	padding: var(--wp--preset--spacing--s-16) var(--wp--preset--spacing--s-24);
	border-inline-start: 3px solid var(--wp--preset--color--champagne);
	background: rgba(220, 201, 178, 0.3);
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-error {
	border-inline-start-color: #a8443a;
}

/* --- empty bag ---------------------------------------------------- */

.cart-empty {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
}

.return-to-shop {
	margin-top: var(--wp--preset--spacing--s-24);
}

/* --- bag + checkout responsive ------------------------------------ */

@media (max-width: 1024px) {
	.waiki-bagpage,
	form.checkout {
		grid-template-columns: 1fr;
	}

	#customer_details,
	.waiki-checkout__nav,
	#payment,
	.woocommerce-checkout-review-order-table {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}

	.waiki-bag__summary {
		position: static;
	}
}

@media (max-width: 640px) {
	div.woocommerce,
	.woocommerce-page main > .wp-block-post-content {
		padding: var(--wp--preset--spacing--s-32) var(--wp--preset--spacing--s-16) var(--wp--preset--spacing--s-64);
	}

	.waiki-bagitem {
		grid-template-columns: 88px 1fr;
	}

	.waiki-bagitem__price {
		grid-column: 2;
	}

	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.waiki-steps {
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--s-8);
	}

	.waiki-step + .waiki-step::before {
		width: 20px;
		margin-inline-end: var(--wp--preset--spacing--s-8);
	}
}

/* ============================================== order confirmation */

.waiki-confirm {
	max-width: 860px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-64) var(--wp--preset--spacing--s-16) 0;
	text-align: center;
}

.waiki-confirm__mark {
	width: 160px;
	height: auto;
	display: block;
	margin: 0 auto var(--wp--preset--spacing--s-32);
}

.waiki-confirm__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.875rem, 3.4vw, 2.75rem);
	font-weight: 600;
	line-height: 1.12;
}

.waiki-confirm__lead {
	max-width: 52ch;
	margin: 0 auto var(--wp--preset--spacing--s-32);
	color: rgba(75, 67, 60, 0.85);
}

.waiki-confirm__lead strong {
	font-weight: 600;
}

.waiki-confirm__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--s-12);
	margin: 0 0 var(--wp--preset--spacing--s-64);
}

.waiki-confirm__panel {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--s-40) var(--wp--preset--spacing--s-48);
	padding: var(--wp--preset--spacing--s-48);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--sand-beige);
	text-align: start;
}

.waiki-confirm__panel .waiki-eyebrow {
	display: block;
	margin-bottom: var(--wp--preset--spacing--s-8);
}

.waiki-confirm__panel p {
	margin: 0;
	font-size: 1rem;
}

.waiki-recommend__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-24);
	margin-top: var(--wp--preset--spacing--s-48);
}

.waiki-recommend .waiki-pcard {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-decoration: none;
}

/* WooCommerce prints its own order details below; the panel covers it. */
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order-overview {
	display: none;
}

@media (max-width: 640px) {
	.waiki-confirm__panel {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--s-24);
		padding: var(--wp--preset--spacing--s-24);
	}

	.waiki-recommend__grid {
		grid-template-columns: 1fr;
	}

	.waiki-confirm__mark {
		width: 110px;
	}
}

.waiki-confirm__items {
	margin-top: var(--wp--preset--spacing--s-32);
	text-align: start;
}

.waiki-confirm__items summary {
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
	cursor: pointer;
	text-align: center;
}

.waiki-confirm__items ul {
	margin: var(--wp--preset--spacing--s-16) 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--wp--preset--spacing--s-12);
}

.waiki-confirm__items li {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--s-16);
	font-size: var(--wp--preset--font-size--small);
	padding-bottom: var(--wp--preset--spacing--s-12);
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

/* ==================================================== account pages */

.waiki-account__head {
	margin-bottom: var(--wp--preset--spacing--s-40);
}

.waiki-account__heading {
	margin: 0 0 var(--wp--preset--spacing--s-8);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.875rem, 3.4vw, 2.75rem);
	font-weight: 600;
	text-transform: uppercase;
}

.waiki-account__welcome {
	margin: 0;
	color: rgba(75, 67, 60, 0.82);
}

.waiki-account__body {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: var(--wp--preset--spacing--s-40);
	align-items: start;
}

/* --- sidebar ------------------------------------------------------ */

.waiki-account__nav {
	background: var(--wp--preset--color--deep-taupe);
	padding: var(--wp--preset--spacing--s-32) 0;
}

.waiki-account__nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.waiki-account__nav a {
	display: block;
	padding: var(--wp--preset--spacing--s-12) var(--wp--preset--spacing--s-32);
	color: rgba(246, 242, 234, 0.85);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
	transition: color 0.2s ease;
}

.waiki-account__nav a:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-account__nav .is-active a {
	color: var(--wp--preset--color--champagne);
	font-weight: 500;
}

/* --- content panel ------------------------------------------------ */

.waiki-account__content {
	padding: var(--wp--preset--spacing--s-40);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--champagne);
	min-height: 420px;
}

.waiki-account__section + .waiki-account__section {
	margin-top: var(--wp--preset--spacing--s-64);
}

.waiki-account__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

.waiki-account__empty {
	margin: var(--wp--preset--spacing--s-16) 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-account__more {
	margin: var(--wp--preset--spacing--s-24) 0 0;
}

/* --- recent orders ------------------------------------------------ */

.waiki-orders {
	margin: 0;
	padding: 0;
	list-style: none;
}

.waiki-orders li {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: var(--wp--preset--spacing--s-16);
	align-items: center;
	padding: var(--wp--preset--spacing--s-24) 0;
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-orders__id {
	font-weight: 500;
	text-decoration: none;
}

.waiki-orders__id:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-orders__status {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-orders__total {
	font-weight: 500;
	text-align: end;
	white-space: nowrap;
}

.waiki-wishpreview {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-16);
	max-width: 520px;
}

/* --- WooCommerce's own account tables ----------------------------- */

.woocommerce-orders-table,
.woocommerce-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-orders-table th,
.woocommerce-table th {
	padding: 0 0 var(--wp--preset--spacing--s-12);
	text-align: start;
	font-size: var(--wp--preset--font-size--eyebrow);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
	font-weight: 600;
}

.woocommerce-orders-table td,
.woocommerce-table td {
	padding: var(--wp--preset--spacing--s-16) 0;
	border-bottom: 1px solid var(--wp--preset--color--sand-beige);
}

.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border: 1px solid var(--wp--preset--color--champagne);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--deep-taupe);
	text-decoration: none;
	cursor: pointer;
}

.woocommerce-MyAccount-content button[type="submit"] {
	background: var(--wp--preset--color--deep-taupe);
	border-color: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
}

.woocommerce-MyAccount-content fieldset {
	margin-top: var(--wp--preset--spacing--s-32);
	padding: var(--wp--preset--spacing--s-24) 0 0;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--sand-beige);
}

.woocommerce-MyAccount-content legend {
	padding: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
}

.woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--s-32);
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem;
	font-weight: 400;
}

/* --- login -------------------------------------------------------- */

.waiki-login {
	max-width: 440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-64) var(--wp--preset--spacing--s-16);
	text-align: center;
}

.waiki-login__mark {
	width: 130px;
	height: auto;
	display: block;
	margin: 0 auto var(--wp--preset--spacing--s-32);
}

.waiki-login__title {
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.625rem, 3vw, 2.25rem);
	font-weight: 600;
}

.waiki-login__lead {
	margin: 0 auto var(--wp--preset--spacing--s-40);
	max-width: 38ch;
	color: rgba(75, 67, 60, 0.82);
}

.waiki-login__form .form-row {
	margin: 0 0 var(--wp--preset--spacing--s-16);
}

.waiki-login__form .input-text {
	width: 100%;
	box-sizing: border-box;
	padding: 16px 18px;
	border: 1px solid var(--wp--preset--color--champagne);
	border-radius: 0;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 300;
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-login__form .input-text::placeholder {
	color: rgba(75, 67, 60, 0.5);
}

.waiki-login__actions {
	display: grid;
	gap: var(--wp--preset--spacing--s-12);
	margin-top: var(--wp--preset--spacing--s-32);
}

.waiki-login__remember {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--s-16);
	margin: var(--wp--preset--spacing--s-24) 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-login__remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.waiki-login__remember a {
	color: var(--wp--preset--color--taupe);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.waiki-login__register {
	margin-top: var(--wp--preset--spacing--s-64);
	padding-top: var(--wp--preset--spacing--s-40);
	border-top: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-login__subtitle {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

/* --- account responsive ------------------------------------------- */

@media (max-width: 860px) {
	.waiki-account__body {
		grid-template-columns: 1fr;
	}

	.waiki-account__nav {
		padding: var(--wp--preset--spacing--s-16) 0;
	}

	.waiki-account__nav ul {
		display: flex;
		flex-wrap: wrap;
	}

	.waiki-account__nav a {
		padding: var(--wp--preset--spacing--s-8) var(--wp--preset--spacing--s-16);
	}

	.waiki-account__content {
		padding: var(--wp--preset--spacing--s-24);
	}

	.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.waiki-orders li {
		grid-template-columns: 1fr auto;
	}

	.waiki-orders__status {
		grid-column: 1;
	}
}

/* ========================================================= 404 page */

.waiki-404 {
	max-width: 640px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-96) var(--wp--preset--spacing--s-16);
	text-align: center;
}

.waiki-404__mark {
	width: 200px;
	height: auto;
	display: block;
	margin: 0 auto var(--wp--preset--spacing--s-48);
}

.waiki-404__title {
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	font-weight: 600;
}

.waiki-404__lead {
	margin: 0 auto var(--wp--preset--spacing--s-40);
	max-width: 46ch;
	color: rgba(75, 67, 60, 0.82);
}

.waiki-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--wp--preset--spacing--s-12);
}

.waiki-404__search {
	display: flex;
	gap: var(--wp--preset--spacing--s-8);
}

.waiki-404__search input {
	width: 180px;
	padding: 14px 16px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--deep-taupe);
}

/* ========================================================= journal */

.waiki-jhero {
	background: linear-gradient(90deg, #f3ece1 0%, #e6d8c4 100%);
}

.waiki-jhero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--s-48);
	align-items: center;
	max-width: 1440px;
	margin-inline: auto;
	padding: var(--wp--preset--spacing--s-80) var(--wp--preset--spacing--s-32);
}

.waiki-jhero__title {
	margin: 0 0 var(--wp--preset--spacing--s-24);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	font-weight: 600;
	line-height: 1.12;
}

.waiki-jhero__lead {
	max-width: 46ch;
	margin: 0 0 var(--wp--preset--spacing--s-40);
	color: rgba(75, 67, 60, 0.82);
}

.waiki-jhero__media .waiki-ph {
	border: 0;
}

.waiki-journal__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--s-48) var(--wp--preset--spacing--s-32);
}

.waiki-jcard__media {
	display: block;
	margin-bottom: var(--wp--preset--spacing--s-24);
	line-height: 0;
}

.waiki-jcard__media img {
	width: 100%;
	height: auto;
	display: block;
}

.waiki-jcard .waiki-eyebrow {
	margin-bottom: var(--wp--preset--spacing--s-8);
}

.waiki-jcard__title {
	margin: 0 0 var(--wp--preset--spacing--s-12);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.2;
}

.waiki-jcard__title a {
	text-decoration: none;
}

.waiki-jcard__title a:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-jcard__meta {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.wp-block-query-pagination,
.navigation.pagination {
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--s-16);
	margin-top: var(--wp--preset--spacing--s-64);
	font-size: var(--wp--preset--font-size--small);
}

.navigation.pagination a,
.navigation.pagination .current {
	padding: 8px 14px;
	border: 1px solid var(--wp--preset--color--sand-beige);
	text-decoration: none;
}

.navigation.pagination .current {
	background: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
	border-color: var(--wp--preset--color--deep-taupe);
}

.navigation.pagination .screen-reader-text {
	display: none;
}

/* ========================================================= contact */

.waiki-contact__head {
	margin-bottom: var(--wp--preset--spacing--s-48);
}

.waiki-contact__body {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: var(--wp--preset--spacing--s-48);
	align-items: start;
}

.waiki-contact__form {
	padding: var(--wp--preset--spacing--s-40);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--sand-beige);
}

.waiki-contact__form p {
	margin: 0 0 var(--wp--preset--spacing--s-16);
}

.waiki-contact__form input,
.waiki-contact__form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 15px 18px;
	border: 1px solid var(--wp--preset--color--champagne);
	border-radius: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 300;
	color: var(--wp--preset--color--deep-taupe);
	resize: vertical;
}

.waiki-contact__form input::placeholder,
.waiki-contact__form textarea::placeholder {
	color: rgba(75, 67, 60, 0.5);
}

.waiki-contact__form input:focus-visible,
.waiki-contact__form textarea:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne);
	outline-offset: 1px;
}

/* Honeypot: hidden from people, reachable by bots. */
.waiki-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.waiki-contact__notice {
	padding: var(--wp--preset--spacing--s-16) var(--wp--preset--spacing--s-24);
	border-inline-start: 3px solid var(--wp--preset--color--champagne);
	background: rgba(220, 201, 178, 0.3);
	font-size: var(--wp--preset--font-size--small);
}

.waiki-contact__notice.is-error {
	border-inline-start-color: #a8443a;
}

.waiki-contact__aside {
	display: grid;
	gap: var(--wp--preset--spacing--s-24);
}

.waiki-concierge {
	padding: var(--wp--preset--spacing--s-40);
	background: var(--wp--preset--color--deep-taupe);
	color: var(--wp--preset--color--warm-ivory);
}

.waiki-concierge h2 {
	margin: 0 0 var(--wp--preset--spacing--s-32);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--wp--preset--color--champagne);
}

.waiki-concierge > div + div {
	margin-top: var(--wp--preset--spacing--s-24);
}

.waiki-concierge .waiki-eyebrow {
	display: block;
	margin-bottom: 6px;
}

.waiki-concierge p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

.waiki-concierge a {
	color: var(--wp--preset--color--warm-ivory);
	text-decoration: none;
}

.waiki-concierge a:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-quickanswers {
	padding: var(--wp--preset--spacing--s-32);
	border: 1px solid var(--wp--preset--color--champagne);
}

.waiki-quickanswers h2 {
	margin: 0 0 var(--wp--preset--spacing--s-16);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	font-weight: 400;
}

.waiki-quickanswers p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: rgba(75, 67, 60, 0.82);
}

/* ------------------------------------------------ these three, mobile */

@media (max-width: 1024px) {
	.waiki-journal__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.waiki-jhero__inner,
	.waiki-contact__body {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.waiki-journal__grid {
		grid-template-columns: 1fr;
	}

	.waiki-jhero__inner {
		padding: var(--wp--preset--spacing--s-40) var(--wp--preset--spacing--s-16);
	}

	.waiki-contact__form {
		padding: var(--wp--preset--spacing--s-24);
	}

	.waiki-concierge {
		padding: var(--wp--preset--spacing--s-24);
	}

	.waiki-404__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.waiki-404__search {
		flex-direction: column;
	}

	.waiki-404__search input {
		width: 100%;
		box-sizing: border-box;
	}
}

/* ================================================ header + drawers */

.waiki-header {
	background: var(--wp--preset--color--warm-ivory);
	border-bottom: 1px solid #E6DBC4;
}

.waiki-header__desktop {
	display: grid;
	grid-template-columns: 234px auto minmax(0, 1fr);
	align-items: start;
	box-sizing: border-box;
	max-width: 1440px;
	height: 77px;
	margin-inline: auto;
	/* Right is 12px more than left: the bag count hangs outside the bag icon,
	   so the icons' visible edge sits 72px from the side, like the logo. */
	padding: 0 84px 0 72px;
}

.waiki-nav {
	margin-top: 28.1px;
}

.waiki-nav ul {
	display: flex;
	gap: 50px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.waiki-nav li {
	position: relative;
}

.waiki-nav a {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.05em;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	color: var(--wp--preset--color--deep-taupe);
	transition: color 0.2s ease;
}

.waiki-nav a:hover {
	color: var(--wp--preset--color--champagne);
}

/* The page being viewed: heavier, darker, underlined, with an outline diamond. */
.waiki-nav a[aria-current="page"] {
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--ink);
}

.waiki-nav a[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 23.9px;
	height: 1px;
	background: #CCB487;
}

.waiki-nav .is-current::after {
	content: "";
	position: absolute;
	left: calc(100% + 11.75px);
	top: 15.4px;
	box-sizing: border-box;
	width: 8.5px;
	height: 8.5px;
	border: 1px solid var(--wp--preset--color--champagne);
	transform: rotate(45deg);
}

.waiki-utils button {
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	color: inherit;
	display: inline-flex;
	align-items: center;
}

@media (max-width: 1320px) {
	.waiki-header__desktop {
		grid-template-columns: 190px auto minmax(0, 1fr);
	}

	.waiki-nav ul {
		gap: 36px;
	}
}

@media (max-width: 1100px) {
	.waiki-header__desktop {
		grid-template-columns: 150px auto minmax(0, 1fr);
		padding: 0 44px 0 32px;
	}

	.waiki-nav ul {
		gap: 24px;
	}

	.waiki-utils {
		gap: 20px;
	}
}

/* --- mobile bar --------------------------------------------------- */

.waiki-header__mobile {
	display: none;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--s-16);
	padding: var(--wp--preset--spacing--s-16);
}

.waiki-mobilebar__text {
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--deep-taupe);
	text-decoration: none;
	cursor: pointer;
	justify-self: start;
}

.waiki-header__mobile .waiki-mobilebar__text:last-child {
	justify-self: end;
}

.waiki-mobilebar__logo {
	display: block;
	line-height: 0;
}

.waiki-mobilebar__logo img {
	display: block;
	width: 100px;
	height: auto;
}

/* --- drawers ------------------------------------------------------ */

html.waiki-locked,
html.waiki-locked body {
	overflow: hidden;
}

.waiki-scrim {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(75, 67, 60, 0.45);
}

.waiki-drawer {
	position: fixed;
	z-index: 100;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.waiki-drawer.is-open {
	opacity: 1;
}

/* menu: full screen, deep taupe */
.waiki-drawer--menu {
	inset: 0;
	background: var(--wp--preset--color--deep-taupe);
	padding: var(--wp--preset--spacing--s-16) var(--wp--preset--spacing--s-32) var(--wp--preset--spacing--s-48);
	transform: translateY(-8px);
}

.waiki-drawer--menu.is-open {
	transform: translateY(0);
}

.waiki-drawer__bar {
	display: flex;
	justify-content: flex-start;
	margin-bottom: var(--wp--preset--spacing--s-32);
}

.waiki-drawer__bar .waiki-mobilebar__text {
	color: var(--wp--preset--color--warm-ivory);
}

.waiki-drawer__logo {
	width: 125px;
	height: auto;
	display: block;
	margin: 0 auto var(--wp--preset--spacing--s-48);
}

.waiki-drawer--menu nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.waiki-drawer--menu nav a {
	display: block;
	padding: var(--wp--preset--spacing--s-24) 0;
	border-bottom: 1px solid rgba(200, 173, 125, 0.4);
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.75rem;
	font-weight: 400;
	color: var(--wp--preset--color--warm-ivory);
	text-decoration: none;
}

.waiki-drawer--menu nav a:hover {
	color: var(--wp--preset--color--champagne);
}

.waiki-drawer__tagline {
	margin: var(--wp--preset--spacing--s-64) 0 0;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--champagne);
}

/* search: sheet from the top */
.waiki-drawer--search {
	inset: 0;
	background: var(--wp--preset--color--warm-ivory);
	padding: var(--wp--preset--spacing--s-24) var(--wp--preset--spacing--s-24) var(--wp--preset--spacing--s-48);
	transform: translateY(-8px);
}

.waiki-drawer--search.is-open {
	transform: translateY(0);
}

.waiki-search__field {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-12);
	padding: 4px 16px 4px 4px;
	border: 1px solid var(--wp--preset--color--champagne);
	background: var(--wp--preset--color--surface);
	margin-bottom: var(--wp--preset--spacing--s-40);
}

.waiki-search__field input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 14px 16px;
	border: 0;
	background: transparent;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 300;
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-search__field input[type="search"]:focus-visible {
	outline: none;
}

.waiki-search__cancel {
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--deep-taupe);
	cursor: pointer;
}

.waiki-search__body .waiki-eyebrow {
	margin-bottom: var(--wp--preset--spacing--s-16);
}

.waiki-search__pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--s-12);
	margin: 0 0 var(--wp--preset--spacing--s-48);
	padding: 0;
	list-style: none;
}

.waiki-search__pills a {
	display: inline-block;
	padding: 12px 22px;
	border: 1px solid var(--wp--preset--color--champagne);
	border-radius: 999px;
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-search__pills a:hover {
	background: rgba(200, 173, 125, 0.2);
}

.waiki-search__trending {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--wp--preset--spacing--s-24);
}

/*
 * Thumbnail beside the text, price beneath it rather than in a third column.
 * A variable product's price is a range ("PKR 33,000 - PKR 44,550"), which is
 * far too wide to sit alongside the name on a phone.
 */
.waiki-search__trending a {
	display: grid;
	grid-template-columns: 72px 1fr;
	grid-template-areas:
		"thumb info"
		"thumb price";
	gap: 4px var(--wp--preset--spacing--s-16);
	align-items: start;
	align-content: center;
	text-decoration: none;
	color: inherit;
}

.waiki-search__thumb {
	grid-area: thumb;
	align-self: center;
}

.waiki-search__info {
	grid-area: info;
}

.waiki-search__price {
	grid-area: price;
}

.waiki-search__thumb img,
.waiki-search__thumb .waiki-ph {
	width: 100%;
	height: auto;
	display: block;
	border: 0;
}

.waiki-search__info strong {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.25;
}

.waiki-search__info em {
	display: block;
	margin-top: 4px;
	font-style: normal;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--taupe);
}

.waiki-search__price {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--deep-taupe);
}

/* --- filter drawer ------------------------------------------------ */

.waiki-listing__controls {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--s-12);
}

.waiki-filters__trigger,
.waiki-filters__head {
	display: none;
}

.waiki-filters__apply {
	display: none;
	margin-top: var(--wp--preset--spacing--s-24);
}

/* ------------------------------------------------------ breakpoints */

@media (max-width: 900px) {
	.waiki-header__desktop {
		display: none;
	}

	.waiki-header__mobile {
		display: grid;
	}

	/* Filter panel becomes an off-canvas sheet. */
	.waiki-filters {
		position: fixed;
		z-index: 100;
		inset: 0 0 0 auto;
		width: min(92vw, 420px);
		max-height: 100%;
		overflow-y: auto;
		padding: var(--wp--preset--spacing--s-24);
		background: var(--wp--preset--color--warm-ivory);
		border: 0;
		border-inline-start: 1px solid var(--wp--preset--color--champagne);
		transform: translateX(100%);
		transition: transform 0.25s ease;
	}

	.waiki-filters.is-open {
		transform: translateX(0);
	}

	.waiki-filters__trigger,
	.waiki-filters__apply {
		display: inline-flex;
	}

	.waiki-filters__head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: var(--wp--preset--spacing--s-32);
	}

	.waiki-filters__head .waiki-filters__title {
		margin: 0;
		font-family: var(--wp--preset--font-family--display);
		font-size: 1.75rem;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
	}

	.waiki-filters__close {
		padding: 0;
		border: 0;
		background: none;
		font-family: var(--wp--preset--font-family--body);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 500;
		color: var(--wp--preset--color--deep-taupe);
		cursor: pointer;
	}

	.waiki-filters > .waiki-filters__title {
		display: none;
	}

	.waiki-listing__body {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 901px) {
	/*
	 * The menu drawer is mobile-only — desktop has the full nav bar. Search
	 * stays available at every width, since the desktop header's magnifier
	 * opens the same overlay.
	 */
	.waiki-drawer--menu {
		display: none !important;
	}

	/* Centre the search sheet rather than filling the screen. */
	.waiki-drawer--search {
		inset: 0 0 auto 0;
		max-height: 80vh;
		padding: var(--wp--preset--spacing--s-48) var(--wp--preset--spacing--s-32);
		border-bottom: 1px solid var(--wp--preset--color--champagne);
	}

	.waiki-drawer--search .waiki-search__field,
	.waiki-drawer--search .waiki-search__body {
		max-width: 720px;
		margin-inline: auto;
	}
}

/* ------------------------------------------------ working filters */

.waiki-filters__title--desktop {
	display: block;
}

.waiki-filters__clear {
	margin: var(--wp--preset--spacing--s-16) 0 0;
	text-align: center;
	font-size: var(--wp--preset--font-size--small);
}

.waiki-filters__clear a {
	color: var(--wp--preset--color--taupe);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.waiki-listing__empty {
	padding: var(--wp--preset--spacing--s-64) 0;
	text-align: center;
}

.waiki-listing__empty .waiki-section__lead {
	margin-inline: auto;
	margin-bottom: var(--wp--preset--spacing--s-24);
}

@media (max-width: 900px) {
	.waiki-filters__title--desktop {
		display: none;
	}
}

/* --------------------------------------------------------- wishlist */

.waiki-wishtoggle {
	transition: color 0.2s ease, transform 0.15s ease;
}

.waiki-wish.is-saved,
.waiki-wish.is-saved svg {
	color: var(--wp--preset--color--champagne);
	fill: currentColor;
}

.waiki-wish:active {
	transform: scale(0.9);
}

.waiki-btn.waiki-wishtoggle.is-saved {
	background: var(--wp--preset--color--champagne);
	border-color: var(--wp--preset--color--champagne);
	color: var(--wp--preset--color--deep-taupe);
}

.waiki-wishgrid {
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
	.waiki-wishgrid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.waiki-wishgrid {
		grid-template-columns: 1fr;
	}
}

/* Hero feature items carry a champagne icon in the Figma. */
.waiki-hero__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	max-width: 15ch;
}

.waiki-hero__features svg {
	flex: 0 0 auto;
	margin-top: 1px;
	color: var(--wp--preset--color--champagne);
}

/* =========================================== homepage (Figma-measured) */

/*
 * Every value in this block is measured from the desktop Figma frame
 * "01_Home_Desktop" (1440 wide, exported at 2x). Vertical gaps are the
 * distances between text line boxes, chosen so each line's ink lands on the
 * position the design draws it. Scoped to .waiki-home so the other pages
 * keep their own styles until they get the same treatment.
 */

.waiki-home {
	--wh-ink: #2E2924;
	--wh-text: #4B433C;
	--wh-champ: #C8AD7D;
	--wh-taupe: #A89B8B;
	--wh-sand: #DCC9B2;
	--wh-ivory: #F6F2EA;
	/* The design's hairline borders render lighter than a full 1px champagne. */
	--wh-thin: rgba(200, 173, 125, 0.82);
	--wh-shadow: 0 14px 26px rgba(46, 41, 36, 0.075);
}

/* The theme's default block gap would open a 24px strip under the header. */
body.home .wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* ---------------------------------------------------------- shared type */

.waiki-home .waiki-eyebrow {
	margin: 0;
	font-size: 11px;
	font-weight: 575;
	line-height: 16px;
	letter-spacing: 0.21em;
	text-transform: uppercase;
	color: var(--wh-champ);
}

.waiki-home .waiki-section {
	box-sizing: border-box;
	max-width: 1440px;
	margin-inline: auto;
	padding: 0 80px;
}

.waiki-home .waiki-section__title {
	max-width: 600px;
	margin: 14.3px 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 34px;
	font-weight: 700;
	line-height: 42px;
	letter-spacing: 0.005em;
	color: var(--wh-ink);
}

.waiki-home .waiki-section__lead {
	max-width: none;
	margin: 4.2px 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 0.0075em;
	color: var(--wh-text);
}

.waiki-home .waiki-arrivals .waiki-section__title,
.waiki-home .waiki-scents .waiki-section__title,
.waiki-home .waiki-kids .waiki-section__title {
	text-transform: uppercase;
}

.waiki-home .waiki-link {
	font-size: 10px;
	font-weight: 570;
	line-height: 14px;
	letter-spacing: 0.13em;
	text-transform: none;
	color: var(--wh-champ);
}

/* --------------------------------------------------------------- buttons */

/*
 * The site's original button style (uppercase, letter-spaced, square, sized
 * by its padding), which Umar preferred to the Figma's sentence-case buttons.
 */
.waiki-home .waiki-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	border: 1px solid transparent;
	border-radius: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 20.4px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

.waiki-home .waiki-btn--primary {
	border-color: var(--wh-text);
	background: var(--wh-text);
	color: var(--wh-ivory);
}

.waiki-home .waiki-btn--primary:hover,
.waiki-home .waiki-btn--primary:focus-visible {
	border-color: var(--wh-champ);
	background: var(--wh-champ);
	color: var(--wh-text);
}

.waiki-home .waiki-btn--ghost {
	border-color: var(--wh-champ);
	background: transparent;
	color: var(--wh-text);
}

.waiki-home .waiki-btn--ghost:hover,
.waiki-home .waiki-btn--ghost:focus-visible {
	background: var(--wh-champ);
}

/* ------------------------------------------------------------------ hero */

/*
 * The hero is drawn at 1440 x 720 with the card over the photo's left side.
 * Above 1440 the whole hero scales up as one piece (--u grows past 1px), so
 * the card always covers the same part of the photograph.
 */
.waiki-home .waiki-hero {
	--u: max(1px, 100vw / 1440);
	position: relative;
	height: calc(720 * var(--u));
	overflow: hidden;
	background: #B89B78;
}

.waiki-home .waiki-hero__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left top;
}

/*
 * Tighter than the Figma (Umar's call): even gaps between the groups and the
 * same 44px of space above the eyebrow and below the feature row, so the
 * card is 416px tall instead of 555px, centred in the hero. The photo behind
 * the old, taller card was rebuilt so the newly visible strips look natural.
 */
.waiki-home .waiki-hero__card {
	position: absolute;
	top: calc(152 * var(--u));
	left: calc(80 * var(--u));
	box-sizing: border-box;
	width: calc(590 * var(--u));
	height: calc(416 * var(--u));
	max-width: none;
	padding: calc(38.8 * var(--u)) calc(40 * var(--u)) 0;
	border: calc(1 * var(--u)) solid var(--wh-champ);
	border-radius: calc(2 * var(--u));
	background: #F2EDE4;
}

.waiki-home .waiki-hero__card .waiki-eyebrow {
	font-size: calc(11 * var(--u));
	line-height: calc(16 * var(--u));
	letter-spacing: 0.223em;
}

.waiki-home .waiki-hero__title {
	margin: calc(10.8 * var(--u)) 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: calc(42 * var(--u));
	font-weight: 700;
	line-height: calc(52 * var(--u));
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--wh-ink);
}

.waiki-home .waiki-hero__lead {
	max-width: calc(420 * var(--u));
	margin: calc(8.2 * var(--u)) 0 0;
	font-size: calc(16 * var(--u));
	font-weight: 400;
	line-height: calc(24 * var(--u));
	letter-spacing: 0.008em;
	color: var(--wh-text);
}

.waiki-home .waiki-hero__actions {
	display: flex;
	flex-wrap: nowrap;
	gap: calc(16 * var(--u));
	margin: calc(29.7 * var(--u)) 0 0;
}

/* Same button style as the rest of the page, scaled with the hero. */
.waiki-home .waiki-hero__actions .waiki-btn {
	padding: calc(16 * var(--u)) calc(32 * var(--u));
	border-width: calc(1 * var(--u));
	font-size: calc(12 * var(--u));
	line-height: calc(20.4 * var(--u));
}

/*
 * Feature row: first lines align across the three items (as drawn); inside
 * an item the icon is centred on the text, so a two-line label gets a
 * vertically centred icon.
 */
.waiki-home .waiki-hero__features {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: calc(36 * var(--u));
	margin: calc(35 * var(--u)) 0 0 calc(5 * var(--u));
	padding: 0;
	list-style: none;
	font-size: calc(11 * var(--u));
	font-weight: 610;
	line-height: calc(14.5 * var(--u));
	letter-spacing: 0.025em;
	color: var(--wh-text);
}

.waiki-home .waiki-hero__features li {
	display: flex;
	align-items: center;
	gap: calc(12 * var(--u));
	max-width: none;
	min-height: calc(17 * var(--u));
}

.waiki-home .waiki-hero__features span {
	max-width: calc(110 * var(--u));
}

.waiki-home .waiki-hero__features svg {
	flex: none;
	width: calc(var(--iw) * var(--u));
	height: calc(var(--ih) * var(--u));
	margin: 0;
	color: var(--wh-champ);
}

.waiki-home .waiki-hero__caption {
	position: absolute;
	top: calc(645.6 * var(--u));
	left: calc(1065 * var(--u));
	margin: 0;
	font-size: calc(12 * var(--u));
	font-weight: 500;
	line-height: calc(12 * var(--u));
	letter-spacing: 0.25em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wh-ivory);
}

/* -------------------------------------------------------- curated worlds */

.waiki-home .waiki-worlds {
	padding-top: 86.8px;
}

.waiki-home .waiki-worlds__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 292px));
	gap: 28px;
	margin-top: 70.7px;
}

.waiki-home .waiki-world {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 13px 13px 8.1px;
	border: 1px solid var(--wh-champ);
	border-radius: 2px;
	background: transparent;
	text-decoration: none;
}

.waiki-home .waiki-world img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 264 / 210;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: var(--wh-shadow);
}

.waiki-home .waiki-world h3 {
	margin: 22px 5px 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 25px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.01em;
	color: var(--wh-ink);
}

.waiki-home .waiki-world p {
	max-width: 240px;
	margin: 13.1px 5px 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.008em;
	color: var(--wh-text);
}

/* Pinned to the foot of the card so the row lines up across all four. */
.waiki-home .waiki-world .waiki-link {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: auto 5px 0;
	padding-top: 11.8px;
}

.waiki-home .waiki-world .waiki-link::after {
	content: "";
	width: 44px;
	height: 1px;
	background: rgba(200, 173, 125, 0.6);
	transform: translateY(1.1px);
}

/* ---------------------------------------------------------- new arrivals */

.waiki-home .waiki-arrivals {
	padding-top: 108.8px;
}

.waiki-home .waiki-arrivals .waiki-section__head {
	position: relative;
	display: block;
}

.waiki-home .waiki-arrivals .waiki-section__lead {
	margin-top: 46.2px;
}

/* Centred where the design's (shorter) button was centred. */
.waiki-home .waiki-arrivals .waiki-section__head .waiki-btn {
	position: absolute;
	top: 66.8px;
	right: 30px;
}

.waiki-home .waiki-pgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 292px));
	gap: 28px 36px;
	margin-top: 80.7px;
}

.waiki-home .waiki-pcard {
	display: flex;
	flex-direction: column;
	padding: 11px;
	border: 1px solid var(--wh-thin);
	border-radius: 2px;
	background: transparent;
}

.waiki-home .waiki-pcard__media {
	position: relative;
}

.waiki-home .waiki-pcard__media > a {
	display: block;
}

.waiki-home .waiki-pcard__media img,
.waiki-home .waiki-pcard__media .waiki-ph {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 268 / 320;
	object-fit: cover;
	border: 0;
	border-radius: 2px;
	box-shadow: var(--wh-shadow);
}

.waiki-home .waiki-badge {
	position: absolute;
	top: 14px;
	left: 12px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90px;
	height: 24px;
	padding: 0;
	border: 1px solid var(--wh-champ);
	border-radius: 999px;
	background: var(--wh-ivory);
	font-size: 8px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.125em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wh-text);
}

.waiki-home .waiki-wish {
	position: absolute;
	top: 15.75px;
	right: 17.4px;
	width: 15px;
	height: 15px;
	padding: 0;
	color: var(--wh-text);
}

.waiki-home .waiki-wish svg {
	display: block;
	width: 15px;
	height: 15px;
	stroke-width: 2.3;
}

.waiki-home .waiki-pcard__title {
	margin: 20.9px 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 16.05px;
	font-weight: 410;
	line-height: 22px;
	letter-spacing: 0.008em;
	color: var(--wh-ink);
}

.waiki-home .waiki-pcard__title a {
	color: inherit;
	text-decoration: none;
}

.waiki-home .waiki-pcard__cat {
	margin: 4px 0 0;
	font-size: 10px;
	font-weight: 570;
	line-height: 14px;
	letter-spacing: 0.11em;
	color: var(--wh-taupe);
}

.waiki-home .waiki-pcard__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 11.15px 0 15.9px;
	padding-right: 32px;
}

.waiki-home .waiki-pcard__price {
	font-size: 12px;
	font-weight: 600;
	line-height: 16px;
	letter-spacing: 0.028em;
	color: var(--wh-text);
}

.waiki-home .waiki-swatches {
	display: flex;
	gap: 8px;
	transform: translateY(1.9px);
}

.waiki-home .waiki-swatches i {
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 0.5px solid var(--wh-champ);
	border-radius: 50%;
}

.waiki-home .waiki-pcard .waiki-btn--block {
	align-items: center;
	width: 100%;
	height: 24px;
	margin-top: auto;
	padding: 0;
	border-radius: 1px;
	font-size: 8px;
	font-weight: 510;
	line-height: 24px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ------------------------------------------------------------- editorial */

/* The product grid in the frame is clipped mid-way through its second row;
   the full row is shown here, then the frame's 100px gap. */
.waiki-home .waiki-editorial {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 520px;
	box-sizing: border-box;
	max-width: 1440px;
	margin: 100px auto 0;
	padding: 0 80px;
}

.waiki-home .waiki-editorial::before {
	content: "";
	position: absolute;
	inset: 0 80px;
	z-index: -1;
	box-shadow: 0 16px 40px rgba(46, 41, 36, 0.085);
}

.waiki-home .waiki-editorial__panel {
	display: block;
	height: 520px;
	box-sizing: border-box;
	padding: 76.8px 0 0 60px;
	background: linear-gradient(90deg, #DCC9B2 0%, #F6F2EA 59%);
}

.waiki-home .waiki-editorial__title {
	margin: 27.9px 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 46px;
	font-weight: 700;
	line-height: 58.5px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--wh-ink);
}

.waiki-home .waiki-editorial__panel p:not(.waiki-eyebrow) {
	max-width: 440px;
	margin: 31.5px 0 0 2px;
	font-size: 15px;
	font-weight: 400;
	line-height: 23px;
	letter-spacing: 0.01em;
	color: var(--wh-text);
}

.waiki-home .waiki-editorial__panel .waiki-btn {
	margin: 50.8px 0 0 2px;
}

.waiki-home .waiki-editorial__img {
	display: block;
	width: 520px;
	height: 520px;
	object-fit: cover;
}

/* ----------------------------------------------------- signature scents */

.waiki-home .waiki-scents {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 560px);
	column-gap: 80px;
	align-items: start;
	padding-top: 140px;
}

.waiki-home .waiki-scents__img {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid var(--wh-champ);
	border-radius: 2px;
}

.waiki-home .waiki-scents__body {
	padding-top: 16.8px;
}

.waiki-home .waiki-scents .waiki-section__lead {
	max-width: 540px;
	margin-top: 46.2px;
}

.waiki-home .waiki-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 27px;
	box-sizing: border-box;
	height: 132px;
	margin: 36.7px 0 0;
	padding: 34.4px 31px 0;
	border: 1px solid var(--wh-thin);
	border-radius: 2px;
	background: var(--wh-sand);
}

.waiki-home .waiki-notes__label {
	display: block;
	font-size: 10px;
	font-weight: 575;
	line-height: 14px;
	letter-spacing: 0.175em;
	text-transform: uppercase;
	color: var(--wh-champ);
}

.waiki-home .waiki-notes p {
	margin: 16.1px 0 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0;
	color: var(--wh-text);
}

.waiki-home .waiki-scents__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 170px));
	gap: 18px;
	margin: 42px 0 0;
}

.waiki-home .waiki-scent {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	column-gap: 14px;
	align-items: start;
	box-sizing: border-box;
	height: 158px;
	padding: 11px;
	border: 1px solid var(--wh-thin);
	border-radius: 2px;
}

.waiki-home .waiki-scent img {
	display: block;
	width: 62px;
	height: 104px;
	object-fit: cover;
	border-radius: 2px;
}

.waiki-home .waiki-scent h3 {
	margin: 11.8px 0 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 15.2px;
	font-weight: 410;
	line-height: 18.5px;
	letter-spacing: 0;
	color: var(--wh-ink);
}

.waiki-home .waiki-scent__cat {
	margin: 6.8px 0 0;
	white-space: nowrap;
	font-size: 9px;
	font-weight: 570;
	line-height: 12px;
	letter-spacing: 0.11em;
	color: var(--wh-taupe);
}

.waiki-home .waiki-scent__price {
	display: block;
	white-space: nowrap;
	margin-top: 15.3px;
	font-size: 10px;
	font-weight: 600;
	line-height: 14px;
	letter-spacing: 0.025em;
	color: var(--wh-text);
}

.waiki-home .waiki-scents__body > .waiki-btn {
	margin-top: 16px;
}

/* ---------------------------------------------------------- kids & family */

/* 128.4 = the drawn 137.3px, less the 8.9px the taller perfume button adds. */
.waiki-home .waiki-kids {
	padding-top: 128.4px;
	padding-bottom: 178px;
}

.waiki-home .waiki-kids__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 372px));
	gap: 48px;
	margin-top: 64.7px;
}

.waiki-home .waiki-kidcard {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	column-gap: 25px;
	align-items: center;
	box-sizing: border-box;
	min-height: 250px;
	padding: 11px;
	border: 1px solid var(--wh-thin);
	border-radius: 2px;
	background: var(--wh-sand);
	text-decoration: none;
}

.waiki-home .waiki-kidcard img {
	display: block;
	width: 160px;
	height: 226px;
	object-fit: cover;
	border-radius: 2px;
}

/* Title starts at the same height in every card and the link sits on the
   same line at the foot, as drawn; a three-line title pushes only the copy. */
.waiki-home .waiki-kidcard > div {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	padding: 37.9px 0 35px;
}

.waiki-home .waiki-kidcard h3 {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 24px;
	font-weight: 700;
	line-height: 29.5px;
	letter-spacing: 0.007em;
	color: var(--wh-ink);
}

.waiki-home .waiki-kidcard p {
	max-width: 140px;
	margin: 6.2px 0 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.007em;
	color: var(--wh-text);
}

.waiki-home .waiki-kidcard .waiki-link {
	align-self: flex-start;
	margin-top: auto;
	letter-spacing: 0.11em;
}

/* ------------------------------------------------ homepage, narrower */

@media (max-width: 1360px) {
	.waiki-home .waiki-scent {
		grid-template-columns: 52px minmax(0, 1fr);
		column-gap: 10px;
		padding: 9px;
	}

	.waiki-home .waiki-scent img {
		width: 52px;
		height: 88px;
	}

	.waiki-home .waiki-kidcard > div {
		padding: 16px 0;
	}

	.waiki-home .waiki-kidcard .waiki-link {
		padding-top: 16px;
	}
}

@media (max-width: 1100px) {
	.waiki-home .waiki-section,
	.waiki-home .waiki-editorial {
		padding-inline: 32px;
	}

	.waiki-home .waiki-editorial::before {
		inset: 0 32px;
	}

	.waiki-home .waiki-worlds__grid,
	.waiki-home .waiki-pgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.waiki-home .waiki-arrivals .waiki-section__head .waiki-btn {
		position: static;
		margin-top: 24px;
	}

	.waiki-home .waiki-editorial,
	.waiki-home .waiki-scents {
		grid-template-columns: minmax(0, 1fr);
	}

	.waiki-home .waiki-editorial__panel {
		height: auto;
		padding: 56px 32px 56px;
	}

	.waiki-home .waiki-editorial__img {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}

	.waiki-home .waiki-scents {
		row-gap: 48px;
	}

	.waiki-home .waiki-kids__grid {
		grid-template-columns: minmax(0, 1fr);
		max-width: 520px;
	}
}

@media (max-width: 900px) {
	/* Phones and tablets: photo on top, the card's content beneath it. */
	.waiki-home .waiki-hero {
		height: auto;
		overflow: visible;
		background: none;
	}

	.waiki-home .waiki-hero__img {
		position: static;
		height: 360px;
		object-position: right center;
	}

	.waiki-home .waiki-hero__card {
		position: static;
		width: auto;
		height: auto;
		padding: 32px 16px 40px;
		border: 0;
		border-radius: 0;
	}

	.waiki-home .waiki-hero__caption {
		display: none;
	}

	.waiki-home .waiki-hero__features {
		flex-wrap: wrap;
		gap: 16px 24px;
	}

	.waiki-home .waiki-hero__title {
		font-size: 32px;
		line-height: 40px;
	}

	.waiki-home .waiki-hero__lead {
		margin-top: 24px;
	}

	.waiki-home .waiki-hero__actions {
		margin-top: 32px;
	}

	.waiki-home .waiki-hero__features {
		margin-top: 32px;
	}
}

@media (max-width: 640px) {
	.waiki-home .waiki-section,
	.waiki-home .waiki-editorial {
		padding-inline: 16px;
	}

	.waiki-home .waiki-editorial::before {
		inset: 0 16px;
	}

	.waiki-home .waiki-worlds,
	.waiki-home .waiki-arrivals,
	.waiki-home .waiki-kids {
		padding-top: 64px;
	}

	.waiki-home .waiki-scents {
		padding-top: 64px;
	}

	.waiki-home .waiki-editorial {
		margin-top: 64px;
	}

	.waiki-home .waiki-kids {
		padding-bottom: 80px;
	}

	.waiki-home .waiki-worlds__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.waiki-home .waiki-scents__grid,
	.waiki-home .waiki-notes {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
	}

	.waiki-home .waiki-notes {
		row-gap: 16px;
		padding-bottom: 24px;
	}

	.waiki-home .waiki-kidcard {
		grid-template-columns: 120px minmax(0, 1fr);
		height: auto;
	}

	.waiki-home .waiki-kidcard img {
		width: 120px;
		height: 170px;
	}

	.waiki-home .waiki-hero__actions {
		flex-wrap: wrap;
	}
}
