/* ==========================================================================
   FAYROUZ — store surfaces: archive, product, bag, checkout, account.
   Builds on the tokens in main.css. Daylight by default; the men's house
   (body.house-night) switches every surface to the night ground.
   ========================================================================== */

/* Breadcrumbs --------------------------------------------------------------- */
.crumbs { font-size: .75rem; color: var(--fg-2); letter-spacing: .01em; }
.crumbs p { margin: 0; }
.crumbs a { text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }
.crumbs__sep { margin-inline: .7em; opacity: .45; }

/* Archive ------------------------------------------------------------------ */
.shop-head { padding-block: clamp(28px, 3.5vw, 48px) clamp(28px, 3.5vw, 48px); }
.shop-head__grid { display: grid; gap: clamp(24px, 4vw, 64px); align-items: end; margin-top: clamp(24px, 3vw, 44px); }
@media (min-width: 900px) { .shop-head__grid.has-media { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); } }
.shop-head__media .media { --ratio: 4 / 3; }
.shop-head__media .media__img { object-position: 50% 62%; }
@media (max-width: 899px) { .shop-head__media { order: -1; } .shop-head__media .media { --ratio: 16 / 9; } }
.shop-head__title { margin: 0; font-family: var(--f-display); font-weight: 300; font-size: var(--fs-2xl); line-height: 1.4; letter-spacing: 0; }
.shop-head__desc { max-width: 54ch; color: var(--fg-2); margin-top: 12px; font-weight: 400; font-size: var(--fs-md); }
.shop-head__desc p { margin: 0; }
.shop-head__count { margin: 14px 0 0; font-family: var(--f-latin); font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: var(--accent); }

.shop-toolbar {
	position: sticky;
	top: calc(var(--header-h) + 1px);
	z-index: 20;
	background: color-mix(in srgb, var(--bg) 96%, transparent);
	border-block: 1px solid var(--rule);
}
.admin-bar .shop-toolbar { top: calc(var(--header-h) + 33px); }
@media (max-width: 782px) { .shop-toolbar { position: static; } }
.shop-toolbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 28px; padding-block: 8px; }
.shop-toolbar__filters { display: grid; gap: 0; min-width: 0; flex: 1 1 520px; }
/* Category tabs: real links, swapped in place by main.js; one sliding ink line. */
.tabs { position: relative; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
.tabs::-webkit-scrollbar { display: none; }
@media (min-width: 900px) { .tabs { overflow: visible; margin-inline: 0; padding-inline: 0; } }
.tabs__list { flex-wrap: nowrap; gap: 4px clamp(22px, 2.6vw, 40px); }
/* Scroll containers drop end padding in some browsers: keep the last tab clear of the edge. */
@media (max-width: 899px) { .tabs__list::after { content: ""; flex: 0 0 calc(var(--gutter) - 8px); } }
.tab { min-height: 52px; gap: .45em; font-size: .9375rem; }
.tab small { font-family: var(--f-latin); font-size: .62rem; letter-spacing: .08em; color: var(--accent); transform: translateY(-.55em); opacity: .85; }
.tabs__ink { position: absolute; bottom: 9px; left: 0; width: 0; height: 1px; background: var(--fg); opacity: 0; pointer-events: none; }
.tabs.has-ink .tab::after { display: none; }
.tabs.has-ink .tabs__ink { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
	.tabs.has-ink .tabs__ink { transition: left .55s var(--ease-out), width .55s var(--ease-out), background-color .6s var(--ease); }
}

.shop-toolbar__progress { position: absolute; inset-inline-start: 0; bottom: -1px; height: 1px; width: 0; background: var(--accent); opacity: 0; }
.shop.is-loading .shop-toolbar__progress { opacity: 1; animation: shop-progress 1.4s var(--ease-out) forwards; }
@keyframes shop-progress { from { width: 0; } to { width: 78%; } }

/* In-place swaps */
@media (prefers-reduced-motion: no-preference) {
	body { transition: background-color .7s var(--ease), color .7s var(--ease); }
	.site-header, .shop-toolbar { transition: background-color .7s var(--ease), color .7s var(--ease), border-color .7s var(--ease); }
	[data-shop-body], .shop-head__text, .shop-head__media { transition: opacity .32s var(--ease), transform .45s var(--ease); }
	.shop.is-leaving [data-shop-body], .shop.is-leaving .shop-head__text, .shop.is-leaving .shop-head__media { opacity: 0; transform: translateY(14px); }
	.shop.is-entering .product-card { animation: card-in .9s var(--ease-out) both; animation-delay: calc(var(--n, 0) * 70ms); }
	.shop.is-entering .shop-head__media .media__img { animation: banner-in 1.4s var(--ease-out) both; }
}
@keyframes card-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes banner-in { from { transform: scale(1.06); } to { transform: none; } }
.chips--labelled { align-items: center; }
.chips__label { font-size: var(--fs-xs); color: var(--fg-2); }
.shop-toolbar__sort { flex: 0 0 auto; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { min-height: 42px; width: auto; min-width: 200px; border: 0; padding-inline-start: 0; font-size: var(--fs-sm); background-color: transparent; }
.woocommerce-ordering select:focus { box-shadow: none; }
.shop-body { padding-block: clamp(36px, 4.5vw, 64px) var(--section); }

/* Few results: a composed layout instead of a lonely card in a row of four. */
.product-card__excerpt { display: none; }
ul.products[data-count="1"] { grid-template-columns: 1fr; max-width: 1120px; margin-inline: auto; }
ul.products[data-count="1"] .product-card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 112px); align-items: center; }
ul.products[data-count="1"] .product-card__body { gap: 10px; flex: none; }
ul.products[data-count="1"] .product-card__latin { font-size: .74rem; }
ul.products[data-count="1"] .product-card__title { font-family: var(--f-display); font-weight: 300; font-size: var(--fs-xl); line-height: 1.45; letter-spacing: 0; }
ul.products[data-count="1"] .product-card__excerpt { display: block; max-width: 44ch; margin: 6px 0 4px; color: var(--fg-2); font-weight: 400; font-size: var(--fs-base); line-height: 1.95; }
ul.products[data-count="1"] .product-card__price { font-size: var(--fs-md); padding-block: 14px; border-block: 1px solid var(--rule); margin-top: 6px; }
ul.products[data-count="1"] .product-card__action { margin-top: 16px; padding-top: 0; }
ul.products[data-count="1"] .product-card__action .button { --b-bg: var(--btn-bg); --b-fg: var(--btn-fg); --b-line: var(--btn-bg); min-height: 54px; padding: .6em 2.2em; justify-content: center; background-image: none; }
ul.products[data-count="1"] .product-card__action .button:hover { --b-bg: var(--btn-bg-hover); --b-line: var(--btn-bg-hover); }
@media (max-width: 767px) {
	ul.products[data-count="1"] .product-card { grid-template-columns: 1fr; gap: 24px; }
	ul.products[data-count="1"] .product-card__title { font-size: var(--fs-lg); }
}
@media (min-width: 768px) {
	ul.products[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 440px)); justify-content: center; column-gap: clamp(24px, 4vw, 64px); }
	ul.products[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 400px)); justify-content: center; }
	ul.products[data-count="2"] .product-card__excerpt, ul.products[data-count="3"] .product-card__excerpt { display: block; margin: 4px 0 0; color: var(--fg-2); font-weight: 400; font-size: var(--fs-sm); line-height: 1.85; }
}

/* Pagination */
.woocommerce-pagination { margin-top: clamp(48px, 6vw, 88px); }
.woocommerce-pagination ul.page-numbers,
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; list-style: none; margin: 0; padding: 0; border: 0; }
.page-numbers li { border: 0; }
a.page-numbers, span.page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding-inline: 10px; font-variant-numeric: lining-nums; text-decoration: none; color: var(--fg-2); border-bottom: 1px solid transparent; }
a.page-numbers:hover { color: var(--fg); }
span.page-numbers.current { color: var(--fg); border-bottom-color: var(--fg); }

/* Notices ------------------------------------------------------------------ */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin: 0 0 24px;
	padding: 16px 20px;
	list-style: none;
	background: var(--surface);
	border: 1px solid var(--rule);
	border-inline-start: 2px solid var(--accent);
	color: var(--fg);
	font-size: var(--fs-sm);
}
.woocommerce-error { border-inline-start-color: var(--err); }
.woocommerce-message { border-inline-start-color: var(--ok); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-inline-start: auto; min-height: 40px; padding: .4em 1.4em; font-size: var(--fs-sm); }
.woocommerce-error li { margin: 0; }

/* Product page ------------------------------------------------------------- */
.shop-wrap { padding-block: clamp(22px, 3vw, 40px) 0; }
/* The page owns its bottom gap, whichever section (summary, upsells, related) ends it. */
.single-product .shop-wrap { padding-bottom: var(--section); }
.single-product .shop-wrap > .crumbs { margin-bottom: clamp(20px, 2.5vw, 34px); }
.pdp__grid { display: grid; gap: clamp(32px, 5vw, 96px); align-items: start; }
@media (min-width: 960px) {
	.pdp__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.pdp__summary { position: sticky; top: calc(var(--header-h) + 32px); }
	.admin-bar .pdp__summary { top: calc(var(--header-h) + 64px); }
}
.pdp__gallery { position: relative; min-width: 0; }
.pdp__gallery .onsale { position: absolute; z-index: 5; top: 18px; inset-inline-start: 18px; padding: 2px 12px; background: var(--bg); font-size: .75rem; }

.woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image { position: relative; background: var(--plate); }
.woocommerce-product-gallery__image a { display: block; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:not(:first-child) { display: none; }
/* Zoom: a small crisp button, shown on hover/focus with a mouse, always on touch. */
.woocommerce-product-gallery__trigger {
	position: absolute;
	z-index: 4;
	top: 16px;
	inset-inline-end: 16px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--surface);
	border: 1px solid var(--rule-2);
	box-shadow: 0 8px 20px -12px rgb(0 0 0 / .45);
	color: var(--fg);
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
	transition: opacity .35s var(--ease), transform .35s var(--ease), border-color .25s var(--ease);
}
.woocommerce-product-gallery__trigger:hover { border-color: var(--fg); }
.woocommerce-product-gallery__trigger > *:not(img) { display: none; }
@media (hover: hover) and (pointer: fine) {
	.woocommerce-product-gallery__trigger { opacity: 0; transform: scale(.9); }
	.woocommerce-product-gallery:hover .woocommerce-product-gallery__trigger,
	.woocommerce-product-gallery__trigger:focus-visible { opacity: 1; transform: none; }
}
.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 16px;
	height: 16px;
	text-indent: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m20 20-4.6-4.6M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m20 20-4.6-4.6M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-product-gallery__trigger img { display: none !important; }
.flex-control-thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; list-style: none; margin: 8px 0 0; padding: 0; }
.flex-control-thumbs li { cursor: pointer; }
.flex-control-thumbs img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; opacity: .5; transition: opacity .3s var(--ease); }
.flex-control-thumbs img:hover, .flex-control-thumbs img.flex-active { opacity: 1; }
.flex-direction-nav { display: none; }

.pdp__latin { margin: 0 0 8px; font-family: var(--f-latin); font-size: .72rem; letter-spacing: .34em; text-transform: uppercase; color: var(--accent); }
.pdp__summary .product_title { margin: 0 0 18px; font-family: var(--f-display); font-weight: 300; font-size: clamp(1.65rem, 1.3rem + 1.2vw, 2.3rem); line-height: 1.45; letter-spacing: 0; }
.pdp__summary .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: var(--fs-sm); }
.pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 18px; padding-block: 16px; border-block: 1px solid var(--rule); margin-bottom: 20px; }
.pdp__price .price { margin: 0; font-size: 1.45rem; font-weight: 400; }
.pdp__price .price--request { font-size: 1.05rem; font-weight: 400; color: var(--fg-2); }
.price .amount bdi, .amount bdi { font-variant-numeric: lining-nums tabular-nums; }
.price del { opacity: .55; font-size: .8em; margin-inline-end: 8px; }
.price ins { text-decoration: none; }
.pdp__stock { margin: 0; display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--fg-2); letter-spacing: .02em; }
.pdp__stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ok); }
.pdp__stock.is-out::before { background: var(--err); }
.house-night .pdp__stock::before { background: #8FBF97; }
.pdp__summary .woocommerce-product-details__short-description { color: var(--fg-2); font-size: var(--fs-md); font-weight: 400; line-height: 1.9; }
.pdp__summary .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

form.cart { display: grid; gap: 14px; margin: 26px 0 0; }
form.cart:not(.variations_form), .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: stretch; }
.single_add_to_cart_button { width: 100%; }
.variations { width: 100%; border-collapse: collapse; margin: 0; }
.variations tr { display: grid; gap: 8px; margin-bottom: 8px; }
.variations th, .variations td { display: block; padding: 0; text-align: start; }
.variations th label { font-size: var(--fs-xs); font-weight: 500; letter-spacing: .02em; color: var(--fg-2); }
.variations select.is-enhanced { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.reset_variations { display: inline-block; margin-top: 6px; font-size: var(--fs-xs); color: var(--fg-2); }
.woocommerce-variation { margin-bottom: 4px; }
.woocommerce-variation-price .price { font-size: 1.3rem; }
.woocommerce-variation-availability p { margin: 0; font-size: var(--fs-sm); color: var(--fg-2); }

/* Scent choice: outlined options (inquiry radios and enhanced variation chips) */
.chips--choice, .choice .chips { gap: 8px; }
.chips--choice .chip, .chip--radio {
	min-height: 46px;
	padding: .3em 1.2em;
	border: 1px solid var(--rule-2);
	color: var(--fg);
}
.chips--choice .chip::after, .chip--radio::after { display: none; }
.chips--choice .chip:hover, .chip--radio:hover { border-color: var(--fg); }
.chips--choice .chip[aria-pressed="true"], .chip--radio:has(input:checked) { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.chip:disabled { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.chip--radio { position: relative; }
.chip--radio input { position: absolute; opacity: 0; inset: 0; margin: 0; width: 100%; height: 100%; cursor: pointer; }
.chip--radio:has(input:focus-visible) { outline: 1.5px solid var(--focus); outline-offset: 3px; }

.quantity { display: inline-flex; align-items: stretch; border: 1px solid var(--rule-2); background: transparent; }
.quantity .qty { width: 52px; min-height: 52px; padding: 0; border: 0; text-align: center; background: transparent; font-variant-numeric: lining-nums; -moz-appearance: textfield; }
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity .qty:focus { box-shadow: none; }
.quantity:focus-within { border-color: var(--fg); }
.qty-btn { display: grid; place-items: center; width: 42px; border: 0; background: transparent; color: var(--fg); cursor: pointer; }
.qty-btn:hover { background: color-mix(in srgb, var(--fg) 6%, transparent); }

.inquiry { display: grid; gap: 16px; margin-top: 24px; }
.choice { margin: 0; padding: 0; border: 0; }
.choice__label { margin-bottom: 10px; padding: 0; font-size: var(--fs-xs); font-weight: 500; color: var(--fg-2); }
.btn--wa .icon { width: 20px; height: 20px; }
.inquiry__note { margin: 0; font-size: var(--fs-xs); color: var(--fg-2); }
.pdp__alt { margin: 16px 0 0; }
.pdp__cats { margin: 26px 0 0; font-size: var(--fs-xs); color: var(--fg-2); }
.pdp__cats a { color: var(--fg); }
.pdp__notice { margin: 14px 0 0; font-size: .75rem; line-height: 1.85; color: var(--fg-2); }

.accordions { margin-top: 32px; border-top: 1px solid var(--rule); }
.accordion { border-bottom: 1px solid var(--rule); }
.accordion__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; cursor: pointer; font-weight: 500; font-size: var(--fs-sm); list-style: none; }
.accordion__title::-webkit-details-marker { display: none; }
.accordion__title::after {
	content: "";
	width: 11px;
	height: 11px;
	flex: none;
	background:
		linear-gradient(currentColor, currentColor) center / 11px 1px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1px 11px no-repeat;
	transition: transform .4s var(--ease);
}
.accordion[open] > .accordion__title::after { transform: rotate(45deg); }
.accordion__body { padding-bottom: 24px; color: var(--fg-2); font-weight: 400; }
.accordion__body > :last-child { margin-bottom: 0; }
.accordion__body ul { padding-inline-start: 1.2em; }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 10px 0; border-bottom: 1px solid var(--rule); text-align: start; vertical-align: top; }
.woocommerce-product-attributes th { width: 36%; font-weight: 500; color: var(--fg); }
.woocommerce-product-attributes td p { margin: 0; }

/* Reviews */
#reviews .woocommerce-Reviews-title { font-size: var(--fs-md); }
#reviews ol.commentlist { list-style: none; padding: 0; margin: 0 0 20px; }
#reviews .comment_container { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding-block: 14px; border-bottom: 1px solid var(--rule); }
#reviews .avatar { border-radius: 50%; }
#review_form .comment-reply-title { display: block; font-weight: 500; margin-bottom: 10px; }
#review_form p { margin-bottom: 12px; }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1.1em; font-size: .9rem; line-height: 1; overflow: hidden; }
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0; color: var(--rule-2); letter-spacing: .1em; }
.star-rating span { position: absolute; inset-block: 0; inset-inline-start: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; inset-inline-start: 0; color: var(--accent); letter-spacing: .1em; }
p.stars a { color: var(--accent); text-decoration: none; margin-inline-end: 4px; }

/* Upsells and related */
.upsells.products, .related.products { margin-top: var(--section); padding-top: clamp(44px, 5vw, 72px); border-top: 1px solid var(--rule); }
.upsells.products > h2, .related.products > h2 { margin: 0 0 clamp(32px, 3.5vw, 56px); font-family: var(--f-display); font-weight: 300; font-size: var(--fs-xl); line-height: 1.35; }
.upsells.products + .related.products { margin-top: clamp(44px, 5vw, 72px); }

/* Sticky purchase bar */
.sticky-buy {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom, 0px));
	background: var(--bg);
	border-top: 1px solid var(--rule);
	transform: translateY(110%);
	transition: transform .5s var(--ease-out);
}
.sticky-buy.is-visible { transform: none; }
.sticky-buy__info { display: grid; min-width: 0; flex: 1; line-height: 1.45; }
.sticky-buy__name { font-weight: 500; font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sticky-buy__price { font-size: var(--fs-xs); color: var(--fg-2); }
.sticky-buy .btn { min-height: 48px; padding-inline: 1.3em; font-size: .875rem; flex: none; }
@media (min-width: 960px) { .sticky-buy { display: none; } }

/* Mini cart (bag drawer) ---------------------------------------------------- */
.drawer .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 100%; }
.woocommerce-mini-cart { list-style: none; margin: 0; padding: 8px 24px; }
.woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr;
	grid-template-areas: "img name" "img qty";
	column-gap: 16px;
	align-items: start;
	padding: 18px 0;
	padding-inline-end: 36px;
	border-bottom: 1px solid var(--rule);
	font-size: var(--fs-sm);
	line-height: 1.6;
}
.woocommerce-mini-cart-item > a:not(.remove) { grid-area: name; display: contents; font-weight: 500; text-decoration: none; }
.woocommerce-mini-cart-item img { grid-area: img; grid-row: 1 / span 2; width: 72px; height: 90px; object-fit: cover; background: var(--blush); }
.woocommerce-mini-cart-item .quantity { grid-area: qty; display: block; border: 0; background: none; color: var(--fg-2); }
.woocommerce-mini-cart-item .variation { grid-column: 2; margin: 2px 0 0; font-size: var(--fs-xs); color: var(--fg-2); display: flex; gap: 4px; }
.woocommerce-mini-cart-item .variation dt, .woocommerce-mini-cart-item .variation dd { margin: 0; }
.woocommerce-mini-cart-item .variation p { margin: 0; }
.woocommerce-mini-cart-item .remove { position: absolute; top: 16px; inset-inline-end: 0; display: grid; place-items: center; width: 32px; height: 32px; font-size: 20px; line-height: 1; text-decoration: none; color: var(--fg-2); }
.woocommerce-mini-cart-item .remove:hover { color: var(--fg); }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; margin: auto 0 0; padding: 20px 24px 6px; border-top: 1px solid var(--rule); font-weight: 500; }
.woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; padding: 12px 24px 28px; }
.woocommerce-mini-cart__buttons .button { width: 100%; }
.woocommerce-mini-cart__buttons .button:not(.checkout) { --b-bg: transparent; --b-fg: var(--fg); --b-line: var(--fg); }
.woocommerce-mini-cart__buttons .button:not(.checkout):hover { --b-bg: var(--fg); --b-fg: var(--bg); }
.woocommerce-mini-cart__empty-message { padding: 56px 24px; margin: 0; text-align: center; color: var(--fg-2); }

/* Store pages (cart, checkout, account) ------------------------------------ */
.page--store .page-head { padding-block: clamp(28px, 3.5vw, 48px) clamp(24px, 3vw, 40px); justify-items: start; text-align: start; }
.page--store .page-head .crumbs { margin-bottom: 6px; }
.store-page { padding-bottom: var(--section); }

/* Blocks: shared */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 56px;
	border-radius: 0 !important;
	background: var(--btn-bg) !important;
	color: var(--btn-fg) !important;
	border: 1px solid var(--btn-bg) !important;
	font-family: var(--f-body) !important;
	font-weight: 500 !important;
	font-size: .9375rem !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: background-color .3s var(--ease);
}
.wc-block-components-button:not(.is-link):hover { background: var(--btn-bg-hover) !important; }
.wc-block-components-button.is-link { color: var(--fg); }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-radius: 0 !important;
	border-color: var(--rule-2) !important;
	background: var(--surface) !important;
	color: var(--fg) !important;
	font-family: var(--f-body) !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--fg) !important;
	box-shadow: 0 0 0 1px var(--fg) !important;
	outline: none !important;
}
.wc-block-components-text-input label,
.wc-blocks-components-select__label { color: var(--fg-2) !important; }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--f-body) !important; font-weight: 500 !important; font-size: var(--fs-md) !important; }
.wc-block-components-checkout-step__description { color: var(--fg-2); }
.wc-block-components-sidebar-layout { gap: 40px; }
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper { border-color: var(--rule) !important; }
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img { aspect-ratio: 4 / 5; object-fit: cover; background: var(--blush); }
.wc-block-components-product-name { font-weight: 500; text-decoration: none; color: var(--fg) !important; }
.wc-block-components-product-metadata { color: var(--fg-2); font-size: var(--fs-xs); }
.wc-block-components-formatted-money-amount { font-variant-numeric: lining-nums tabular-nums; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 1.2rem !important; font-weight: 500 !important; }
.wc-block-components-quantity-selector { border-radius: 0 !important; border-color: var(--rule-2) !important; }
.wc-block-components-quantity-selector:after { border: 0 !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--rule) !important; border-radius: 0 !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--fg) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--fg) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--fg) !important; border-color: var(--fg) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--bg) !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-family: var(--f-display); font-weight: 200; font-size: var(--fs-xl); }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
.wp-block-woocommerce-product-collection .wp-block-post-title { font-size: 1rem !important; font-weight: 500; line-height: 1.6; }
.wp-block-woocommerce-product-collection .wp-block-post-title a { text-decoration: none; }
.wp-block-woocommerce-product-collection .wc-block-components-product-image img { aspect-ratio: 4 / 5; object-fit: cover; }
.wp-block-woocommerce-product-collection .wp-block-button__link { border-radius: 0 !important; background: transparent !important; color: var(--fg) !important; border: 1px solid var(--rule-2) !important; font-size: .875rem !important; }
.wp-block-woocommerce-product-collection > .wp-block-heading,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-heading,
.wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	text-align: start !important;
	margin-top: clamp(44px, 5vw, 72px);
	font-family: var(--f-display);
	font-weight: 200;
	font-size: var(--fs-xl);
	line-height: 1.35;
}
.wc-block-cart .wc-block-cart__totals-title { font-family: var(--f-body) !important; font-weight: 500 !important; }
.wc-block-cart-items { border-color: var(--rule) !important; }
.wc-block-cart-items th { color: var(--fg-2); font-weight: 400; }
.wc-block-components-notice-banner { border-radius: 0 !important; }
.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { color: var(--fg); }
.wc-block-components-validation-error p { color: var(--err); }
.wc-block-components-text-input.has-error input { border-color: var(--err) !important; }

/* Purchase flow: progress line ------------------------------------------- */
.page-head--flow { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 22px 48px; }
.page-head--flow .page-title { order: -1; }
.flow-steps__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.flow-steps__step { display: flex; align-items: center; min-height: 44px; font-size: var(--fs-xs); color: var(--fg-2); white-space: nowrap; }
.flow-steps__step + .flow-steps__step::before { content: ""; width: clamp(18px, 3.4vw, 52px); height: 1px; margin-inline: clamp(8px, 1vw, 14px); background: var(--rule-2); }
.flow-steps__step.is-done + .flow-steps__step::before { background: var(--accent); }
.flow-steps__step.is-current { color: var(--fg); font-weight: 500; }
.flow-steps__link { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; }
.flow-steps__link:hover .flow-steps__label { text-decoration: underline; text-underline-offset: .55em; text-decoration-thickness: 1px; }
.flow-steps__num {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 30px;
	height: 30px;
	margin-inline-end: 10px;
	border: 1px solid var(--rule-2);
	border-radius: 50%;
	font-family: var(--f-latin);
	font-size: .68rem;
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1;
}
.flow-steps__num .icon { width: 14px; height: 14px; }
.is-current > .flow-steps__num { background: var(--fg); border-color: var(--fg); color: var(--bg); }
.is-done .flow-steps__num { border-color: var(--accent); color: var(--accent); }
@media (max-width: 759px) {
	.page-head--flow { flex-direction: column; align-items: flex-start; gap: 18px; }
	.page-head--flow .page-title { order: 0; }
}
@media (max-width: 400px) {
	.flow-steps__num { width: 26px; height: 26px; margin-inline-end: 7px; }
}

/* Purchase flow: the receipt (night summary card) -------------------------- */
.wc-block-components-sidebar-layout { gap: clamp(32px, 4vw, 64px); }
.wc-block-cart__sidebar,
.wc-block-components-sidebar.wc-block-checkout__sidebar,
.checkout-order-summary-block-fill {
	--bg: var(--espresso);
	--surface: var(--espresso-2);
	--plate: var(--umber);
	--fg: var(--ivory);
	--fg-2: var(--smoke);
	--accent: var(--amber);
	--rule: var(--night-line);
	--rule-2: #4A3A2F;
	--btn-bg: var(--champagne);
	--btn-fg: var(--espresso);
	--btn-bg-hover: #F2E2C6;
	--focus: var(--champagne);
	background: var(--bg);
	color: var(--fg);
	border: 0;
	padding: clamp(24px, 2.6vw, 40px) !important;
}
.wc-block-cart__sidebar::before,
.wc-block-checkout__sidebar::before {
	content: "Summary" / "";
	display: block;
	margin-bottom: 10px;
	font-family: var(--f-latin);
	font-size: .66rem;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--accent);
}
@media (min-width: 1000px) {
	.wc-block-cart__sidebar { flex-basis: 400px !important; width: 400px; }
	.wc-block-cart__sidebar,
	.wc-block-checkout__sidebar.is-sticky,
	.wc-block-components-sidebar.wc-block-checkout__sidebar { position: sticky; top: calc(var(--header-h) + 24px); align-self: flex-start; }
}
.wc-block-cart__sidebar .wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text {
	margin: 0 !important;
	padding: 0 0 16px !important;
	font-family: var(--f-display) !important;
	font-size: var(--fs-lg) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: start !important;
	color: var(--fg);
}.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.checkout-order-summary-block-fill .wc-block-components-totals-wrapper { padding-block: 14px !important; }.wc-block-cart__sidebar .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-item__label,
.checkout-order-summary-block-fill .wc-block-components-totals-item__label { color: var(--fg-2); }.wc-block-cart__sidebar .wc-block-components-totals-item__description,
.wc-block-checkout__sidebar .wc-block-components-totals-item__description,
.checkout-order-summary-block-fill .wc-block-components-totals-item__description { color: var(--fg-2); font-size: var(--fs-xs); }
.wc-block-components-totals-footer-item { align-items: baseline; }.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--fg); font-size: 1rem !important; }.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--f-display);
	font-size: clamp(1.45rem, 1.2rem + .8vw, 1.85rem) !important;
	font-weight: 300 !important;
	color: var(--champagne);
}.wc-block-cart__sidebar .wc-block-components-panel__button,
.wc-block-checkout__sidebar .wc-block-components-panel__button,
.checkout-order-summary-block-fill .wc-block-components-panel__button { color: var(--fg-2) !important; font-size: var(--fs-sm); }.wc-block-cart__sidebar .wc-block-components-panel__button:hover,
.wc-block-checkout__sidebar .wc-block-components-panel__button:hover,
.checkout-order-summary-block-fill .wc-block-components-panel__button:hover { color: var(--fg) !important; }.wc-block-cart__sidebar .wc-block-components-panel__button-icon,
.wc-block-checkout__sidebar .wc-block-components-panel__button-icon,
.checkout-order-summary-block-fill .wc-block-components-panel__button-icon { fill: currentColor; }.wc-block-cart__sidebar .wc-block-components-skeleton__element,
.wc-block-checkout__sidebar .wc-block-components-skeleton__element,
.checkout-order-summary-block-fill .wc-block-components-skeleton__element { background: rgba(243, 235, 226, .07) !important; }
.wc-block-cart__submit-container { padding-top: 8px; }
.wc-block-cart__submit-button { min-height: 60px; font-size: 1rem !important; }
.wc-block-cart__payment-options:empty { display: none; }

/* Purchase flow: cart rows --------------------------------------------------- */
.wc-block-cart-items { border-collapse: collapse !important; border-top: 1px solid var(--rule) !important; border-bottom: 0 !important; }
.wc-block-cart-items .wc-block-cart-items__row { border-bottom: 1px solid var(--rule); }
.wc-block-cart-items__header { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.wc-block-cart-items .wc-block-cart-items__row td { border: 0 !important; padding-block: clamp(20px, 2.4vw, 32px) !important; vertical-align: top; }
.wc-block-cart .wc-block-cart-item__image { width: clamp(84px, 9vw, 120px) !important; }
.wc-block-cart-item__image a { display: block; background: var(--plate); }
.wc-block-cart-item__image img { width: 100% !important; display: block; }
.wc-block-cart-item__product { padding-inline: clamp(16px, 2vw, 28px) !important; }
.wc-block-cart-item__wrap { display: grid; gap: 6px; justify-items: start; }
.wc-block-cart-item__wrap .wc-block-components-product-name { font-family: var(--f-display); font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); font-weight: 400; line-height: 1.45; }
.wc-block-cart-item__wrap .wc-block-components-product-name:hover { color: var(--accent) !important; }
.wc-block-cart-item__prices { margin: 0 !important; font-size: var(--fs-xs); color: var(--fg-2); }
.wc-block-cart-item__wrap .wc-block-components-product-metadata__description { display: none; }
.wc-block-cart-item__wrap .wc-block-components-product-details { margin: 0; font-size: var(--fs-xs); color: var(--fg-2); }
.wc-block-cart-item__quantity { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
.wc-block-cart-item__quantity .wc-block-components-quantity-selector { width: 116px; min-height: 44px; margin: 0 !important; background: var(--surface); }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font-family: var(--f-latin); font-size: .95rem; font-weight: 400; color: var(--fg); }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--fg) !important; opacity: .6; min-width: 36px; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) { opacity: 1; }
.wc-block-cart-item__remove-link { display: inline-grid !important; place-items: center; width: 40px; height: 40px; color: var(--fg-2) !important; opacity: 1 !important; }
.wc-block-cart-item__remove-link:hover { color: var(--err) !important; }
.wc-block-cart-item__total { font-weight: 500; font-size: 1rem; }
.wc-block-cart-item__total .wc-block-components-sale-badge { border-radius: 0; }
.wp-block-woocommerce-cart-line-items-block + .wp-block-woocommerce-product-collection,
.wc-block-cart__main > .wp-block-woocommerce-product-collection { margin-top: clamp(40px, 5vw, 72px); }
.wc-block-cart .wc-block-product-template { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)) !important; gap: 24px 2px !important; max-width: 720px; }
.wc-block-cart .wc-block-product-template > li { width: auto !important; margin: 0 !important; }

/* Purchase flow: checkout form ----------------------------------------------- */
.wc-block-checkout__form { counter-reset: fz-step; }
.wc-block-checkout__form > .wc-block-components-checkout-step { margin: 0 !important; padding-block: clamp(26px, 3vw, 40px) !important; border-top: 1px solid var(--rule); }
.wc-block-checkout__form > .wc-block-components-checkout-step:first-of-type { border-top: 0; padding-top: 0 !important; }
.wc-block-checkout__form .wc-block-components-checkout-step__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; margin-bottom: 14px; }
.wc-block-checkout__form .wc-block-components-checkout-step__heading-content { float: none !important; margin: 0 !important; }
.wc-block-checkout__form .wc-block-components-checkout-step__title { margin: 0 !important; display: inline-flex; align-items: center; gap: 14px; font-family: var(--f-display) !important; font-size: var(--fs-lg) !important; font-weight: 400 !important; }
.wc-block-checkout__form .wc-block-components-checkout-step__title::before {
	counter-increment: fz-step;
	content: counter(fz-step, decimal-leading-zero);
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--accent);
	border-radius: 50%;
	font-family: var(--f-latin);
	font-size: .68rem;
	letter-spacing: .04em;
	color: var(--accent);
}
.wc-block-checkout__form .wc-block-components-checkout-step__description { margin-bottom: 18px; font-size: var(--fs-sm); }
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step__heading-container::before,
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step::before,
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step::after { display: none !important; }
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step { padding-inline-start: 0 !important; margin-inline-start: 0 !important; }
.wc-block-checkout__login-prompt { font-size: var(--fs-xs); color: var(--fg-2) !important; }
.wc-block-checkout__guest-checkout-notice { color: var(--fg-2); font-size: var(--fs-xs) !important; }
.wc-block-components-address-form__address_2-toggle { font-size: var(--fs-xs); color: var(--fg-2); }

.wc-block-components-address-card { border-radius: 0 !important; border-color: var(--rule-2) !important; background: var(--surface); }

/* Payment methods as selectable plates */
.wc-block-checkout__payment-method .wc-block-components-radio-control { display: grid; gap: 10px; border: 0 !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control::after,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after { display: none !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	position: relative;
	border: 1px solid var(--rule-2) !important;
	background: var(--surface);
	box-shadow: none !important;
	transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:hover { border-color: var(--fg-2) !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:has(input:checked) { border-color: var(--fg) !important; box-shadow: inset 0 0 0 1px var(--fg) !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control__option { min-height: 64px; padding-block: 18px !important; border: 0 !important; box-shadow: none !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control__label { font-weight: 500; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content { padding-top: 0 !important; font-size: var(--fs-sm); color: var(--fg-2); }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content p { margin: 0; }
.wc-block-components-radio-control__input { border-color: var(--rule-2) !important; }

.wc-block-checkout__terms { margin-block: 22px !important; font-size: var(--fs-xs); color: var(--fg-2); }
.wc-block-checkout__terms--with-separator { border-top-color: var(--rule) !important; padding-top: 22px !important; }
.wc-block-checkout__actions_row { align-items: center; gap: 16px 24px; }
.wc-block-components-checkout-place-order-button { flex: 1 1 100%; width: 100%; min-height: 60px; font-size: 1rem !important; }
.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { font-size: var(--fs-sm); text-decoration: none; padding-inline-start: 0; }
.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }/* Checkout summary items */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
/* Checkout summary items */
.checkout-order-summary-block-fill .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-radius: 0 !important; background: none !important; }.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
.checkout-order-summary-block-fill .wc-block-components-checkout-order-summary__title { padding: 0 !important; margin: 0 !important; border: 0 !important; }.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content,
.checkout-order-summary-block-fill .wc-block-components-checkout-order-summary__content { padding: 0 !important; }.wc-block-cart__sidebar .wc-block-components-totals-wrapper:empty,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper:empty,
.checkout-order-summary-block-fill .wc-block-components-totals-wrapper:empty { display: none; }.wc-block-checkout__sidebar .wc-block-components-order-summary,
.checkout-order-summary-block-fill .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-totals-item,
.checkout-order-summary-block-fill .wc-block-components-totals-item,
.wc-block-checkout__sidebar .wc-block-components-totals-coupon,
.checkout-order-summary-block-fill .wc-block-components-totals-coupon,
.wc-block-checkout__sidebar .wc-block-components-panel__button,
.checkout-order-summary-block-fill .wc-block-components-panel__button { padding-inline: 0 !important; }.wc-block-checkout__sidebar .wc-block-components-panel__button-icon,
.checkout-order-summary-block-fill .wc-block-components-panel__button-icon { inset-inline-end: 0 !important; }.wc-block-checkout__sidebar .wc-block-components-order-summary-item,
.checkout-order-summary-block-fill .wc-block-components-order-summary-item { padding-block: 14px; border-bottom: 1px solid var(--rule); }.wc-block-checkout__sidebar .wc-block-components-order-summary-item:last-child,
.checkout-order-summary-block-fill .wc-block-components-order-summary-item:last-child { border-bottom: 0; }.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image,
.checkout-order-summary-block-fill .wc-block-components-order-summary-item__image { width: 60px; }.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image > img,
.checkout-order-summary-block-fill .wc-block-components-order-summary-item__image > img { width: 60px; max-width: 60px; }
.wc-block-components-order-summary-item__quantity {
	min-width: 22px;
	height: 22px;
	border: 0 !important;
	box-shadow: none !important;
	background: var(--champagne) !important;
	color: var(--espresso) !important;
	font-family: var(--f-latin);
	font-size: .68rem;
}.wc-block-checkout__sidebar .wc-block-components-product-name,
.checkout-order-summary-block-fill .wc-block-components-product-name { font-weight: 500; }.wc-block-checkout__sidebar .wc-block-components-order-summary-item__individual-prices,
.checkout-order-summary-block-fill .wc-block-components-order-summary-item__individual-prices { color: var(--fg-2); font-size: var(--fs-xs); }.wc-block-checkout__sidebar .wc-block-components-product-metadata__description,
.checkout-order-summary-block-fill .wc-block-components-product-metadata__description { display: none; }.wc-block-checkout__sidebar .wc-block-components-order-summary-item__total-price,
.checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price { font-weight: 500; color: var(--fg); }
.wc-block-components-checkout-order-summary__title { color: var(--fg); }
.wc-block-components-checkout-order-summary__title-price { color: var(--champagne); }
.wc-block-components-checkout-order-summary__title-icon { fill: currentColor; }

/* Phone and tablet: the in-form review summary and the sticky cart button */
.checkout-order-summary-block-fill { border: 0 !important; border-radius: 0 !important; padding: clamp(20px, 5vw, 32px) !important; }
.checkout-order-summary-block-fill .wc-block-components-order-summary-item:last-child { border-bottom: 0; }
.wc-block-components-order-summary .wc-block-components-product-metadata__description { display: none; }
.wc-block-cart__submit-container--sticky { background: var(--espresso) !important; padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom)) !important; }
.wc-block-cart__submit-container--sticky::before { display: none !important; }
.wc-block-cart.is-mobile .wc-block-cart__main,
.wc-block-cart.is-small .wc-block-cart__main,
.wc-block-cart.is-medium .wc-block-cart__main { display: contents; }
.wc-block-cart.is-mobile .wc-block-cart__main > *,
.wc-block-cart.is-small .wc-block-cart__main > *,
.wc-block-cart.is-medium .wc-block-cart__main > * { flex: 1 1 100%; width: 100%; }
.wc-block-cart.is-mobile .wc-block-cart__sidebar,
.wc-block-cart.is-small .wc-block-cart__sidebar,
.wc-block-cart.is-medium .wc-block-cart__sidebar { order: 2; }
.wc-block-cart.is-mobile .wc-block-cart__main > .wp-block-woocommerce-product-collection,
.wc-block-cart.is-small .wc-block-cart__main > .wp-block-woocommerce-product-collection,
.wc-block-cart.is-medium .wc-block-cart__main > .wp-block-woocommerce-product-collection { order: 3; margin-top: 8px; }

/* Order received (woocommerce/checkout/thankyou.php) --------------------------- */
.store-page--received { padding-bottom: var(--section); }
.store-page--received > .woocommerce > :not(.woocommerce-order) { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.thanks.ground-night { padding-block: clamp(36px, 5vw, 80px) clamp(48px, 6vw, 104px); }
.thanks__hero { display: grid; gap: clamp(32px, 5vw, 96px); align-items: center; }
@media (min-width: 960px) { .thanks.has-media .thanks__hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.thanks__copy { display: grid; justify-items: start; min-width: 0; }
.thanks .flow-steps { margin-bottom: clamp(36px, 5vw, 72px); }
.thanks__seal { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 26px; border: 1px solid color-mix(in srgb, var(--amber) 55%, transparent); border-radius: 50%; color: var(--amber); }
.thanks__seal .icon { width: 24px; height: 24px; }
.thanks .kicker { margin-bottom: 14px; }
.thanks__title { margin: 0; font-size: clamp(2.15rem, 1.35rem + 3vw, 4rem); font-weight: 300; line-height: 1.25; text-wrap: balance; }
.thanks__lead { max-width: 46ch; margin: 18px 0 0; font-size: var(--fs-md); color: var(--fg-2); }
.thanks__meta { width: 100%; margin: clamp(32px, 4vw, 56px) 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule); }
.thanks__fact { min-width: 0; padding-block: 18px; padding-inline-end: 16px; border-bottom: 1px solid var(--rule); }
.thanks__fact dt { margin-bottom: 6px; font-size: var(--fs-xs); color: var(--fg-2); }
.thanks__fact dd { margin: 0; font-size: 1.05rem; font-weight: 500; line-height: 1.5; color: var(--champagne); overflow-wrap: anywhere; }
.thanks__fact .is-latin { font-family: var(--f-latin); font-weight: 400; letter-spacing: .06em; }
@media (min-width: 720px) {
	.thanks__meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.thanks__fact { border-bottom: 0; }
	.thanks__fact + .thanks__fact { padding-inline-start: 20px; border-inline-start: 1px solid var(--rule); }
}
.thanks__media { margin: 0; min-width: 0; }
.thanks__media .media { --ratio: 4 / 5; max-height: 640px; }
@media (max-width: 959px) {
	.thanks__media { order: -1; }
	.thanks__media .media { --ratio: 16 / 9; }
}

.thanks__body { display: grid; gap: clamp(32px, 4vw, 72px); align-items: start; padding-top: clamp(40px, 5vw, 88px); }
@media (min-width: 960px) {
	.thanks__body { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
	.thanks__aside { position: sticky; top: calc(var(--header-h) + 24px); }
}
.thanks__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; padding-bottom: 18px; border-bottom: 1px solid var(--rule); }
.thanks__h { margin: 0; font-family: var(--f-display); font-size: var(--fs-xl); font-weight: 300; line-height: 1.35; }
.thanks__h--sm { margin-bottom: 12px; font-family: var(--f-body); font-size: var(--fs-md); font-weight: 500; }
.thanks__status { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: var(--fs-xs); color: var(--fg-2); }
.thanks__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.thanks__note { margin-top: 20px; padding: 16px 20px; background: var(--blush); border-inline-start: 2px solid var(--accent); font-size: var(--fs-sm); }
.thanks__note > * { margin: 0; }
.thanks__note > * + * { margin-top: .6em; }
.thanks__items { list-style: none; margin: 0; padding: 0; }
.thanks__item { display: grid; grid-template-columns: clamp(68px, 7vw, 92px) minmax(0, 1fr) auto; gap: clamp(14px, 2vw, 24px); align-items: center; padding-block: 20px; border-bottom: 1px solid var(--rule); }
.thanks__thumb { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--plate); }
.thanks__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.thanks__item-text { display: grid; gap: 4px; min-width: 0; }
.thanks__item-name { font-family: var(--f-display); font-size: clamp(1rem, .95rem + .25vw, 1.15rem); font-weight: 400; line-height: 1.5; }
.thanks__item-name a { color: inherit; text-decoration: none; }
.thanks__item-name a:hover { color: var(--accent); }
.thanks__item-meta { list-style: none; margin: 0; padding: 0; font-size: var(--fs-xs); color: var(--fg-2); }
.thanks__item-meta strong { font-weight: 400; }
.thanks__qty { font-size: var(--fs-xs); color: var(--fg-2); }
.thanks__line { font-weight: 500; white-space: nowrap; }
.thanks__totals { margin: 0; padding-top: 10px; }
.thanks__total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-block: 9px; font-size: var(--fs-sm); }
.thanks__total dt { color: var(--fg-2); }
.thanks__total dd { margin: 0; text-align: end; }
.thanks__total--order_total { margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--rule); }
.thanks__total--order_total dt { color: var(--fg); font-weight: 500; font-size: 1rem; }
.thanks__total--order_total dd { font-family: var(--f-display); font-size: clamp(1.45rem, 1.2rem + .8vw, 1.85rem); font-weight: 300; }
.thanks__aside { display: grid; gap: 14px; }
.thanks__card { padding: clamp(20px, 2.2vw, 30px); background: var(--surface); border: 1px solid var(--rule); }
.thanks__card address,
.thanks__card p { margin: 0; font-style: normal; font-size: var(--fs-sm); line-height: 1.9; color: var(--fg-2); }
.thanks__contact { display: block; }
.thanks__actions { display: grid; gap: 10px; margin: 6px 0 0; }
.thanks__help { margin: 4px 0 0; font-size: var(--fs-xs); color: var(--fg-2); }
.thanks__help a { color: var(--fg); text-underline-offset: .45em; }
.thanks--failed,
.thanks--plain { display: grid; justify-items: start; gap: 18px; padding-block: clamp(40px, 5vw, 80px); }
.thanks--failed .thanks__actions { grid-auto-flow: column; }

/* Wallet transfers: InstaPay, Vodafone Cash (fayrouz-core payments) ----------- */
.fz-wallet { display: grid; gap: 16px; padding-bottom: 6px; color: var(--fg-2); }
.fz-wallet__lead { max-width: 60ch; margin: 0; line-height: 1.85; }
.fz-wallet__pay { display: grid; gap: 18px 26px; align-items: center; padding: clamp(14px, 2vw, 20px); background: var(--bg); border: 1px solid var(--rule); }
@media (min-width: 560px) { .fz-wallet__pay.has-qr { grid-template-columns: 172px minmax(0, 1fr); } }
.fz-wallet__qr { display: grid; justify-items: center; gap: 8px; margin: 0; text-align: center; }
.fz-wallet__qr img { display: block; width: 172px; height: 172px; padding: 6px; object-fit: contain; background: #fff; border: 1px solid var(--rule); }
.fz-wallet__qr figcaption { max-width: 24ch; font-size: .75rem; line-height: 1.7; color: var(--fg-2); }
.fz-wallet__side { display: grid; gap: 16px; min-width: 0; }
.fz-wallet__facts { display: grid; gap: 12px; margin: 0; }
.fz-wallet__fact { display: grid; gap: 2px; min-width: 0; }
.fz-wallet__fact dt { font-size: var(--fs-xs); color: var(--fg-2); }
.fz-wallet__fact dd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; color: var(--fg); font-weight: 500; overflow-wrap: anywhere; }
.fz-wallet__amount { font-family: var(--f-display); font-size: var(--fs-lg); font-weight: 400; }
.fz-wallet__account { font-family: var(--f-latin); letter-spacing: .02em; }
.fz-wallet__copy { min-height: 30px; padding: 0 12px; border: 1px solid var(--rule-2); background: transparent; color: var(--fg); font: inherit; font-size: .75rem; cursor: pointer; }
.fz-wallet__copy:hover { border-color: var(--fg); }
.fz-wallet__link { display: inline-flex; align-items: center; justify-content: center; justify-self: start; min-height: 48px; padding: 0 24px; background: var(--btn-bg); color: var(--btn-fg); font-size: var(--fs-sm); font-weight: 500; text-decoration: none; transition: background-color .25s var(--ease); }
.fz-wallet__link:hover, .fz-wallet__link:focus-visible { background: var(--btn-bg-hover); color: var(--btn-fg); }
@media (max-width: 559px) {
	.fz-wallet__side { order: -1; }
	.fz-wallet__link { justify-self: stretch; }
}

.fz-receipt { position: relative; display: grid; gap: 6px; padding: clamp(14px, 2vw, 20px); background: var(--surface); border: 1px dashed var(--rule-2); transition: border-color .25s var(--ease); }
.fz-receipt.is-done { border-style: solid; border-color: color-mix(in srgb, var(--ok) 50%, var(--rule)); }
.fz-receipt.has-error { border-color: var(--err); }
.fz-receipt__label { margin: 0; color: var(--fg); font-weight: 600; }
.fz-receipt__help { max-width: 62ch; margin: 0; font-size: var(--fs-xs); line-height: 1.8; }
.fz-receipt__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 8px; }
.fz-receipt__thumb { width: 64px; height: 64px; object-fit: cover; background: var(--plate); border: 1px solid var(--rule); }
.fz-receipt__button { display: inline-flex; align-items: center; min-height: 46px; padding: 0 22px; border: 1px solid var(--fg); color: var(--fg); font-size: var(--fs-sm); font-weight: 500; cursor: pointer; transition: background-color .25s var(--ease), color .25s var(--ease); }
.fz-receipt__button:hover { background: var(--fg); color: var(--bg); }
.fz-receipt.is-busy .fz-receipt__button { opacity: .6; cursor: progress; }
.fz-receipt__row:has(.fz-receipt__input:focus-visible) .fz-receipt__button { outline: 2px solid var(--focus); outline-offset: 2px; }
.fz-receipt__input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; }
.fz-receipt__status { margin: 0; font-size: var(--fs-xs); color: var(--ok); }
.fz-receipt__status:empty { display: none; }
.fz-receipt__error { margin: 0; font-size: var(--fs-xs); color: var(--err); }

/* The receipt on the thank-you page and the customer's order page */
.fz-paid { display: flex; align-items: flex-start; gap: 16px 20px; }
.fz-paid__img { flex: none; display: block; width: 84px; aspect-ratio: 3 / 4; overflow: hidden; background: var(--surface); border: 1px solid var(--rule); }
.fz-paid__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fz-paid__text { display: grid; gap: 6px; min-width: 0; }
.fz-paid__text p { margin: 0; line-height: 1.85; }
.fz-paid__title { color: var(--fg); font-weight: 600; }
.fz-paid-wrap { margin-bottom: 28px; padding: 16px 20px; background: var(--blush); border-inline-start: 2px solid var(--accent); font-size: var(--fs-sm); }
@media (prefers-reduced-motion: reduce) {
	.fz-wallet__link, .fz-receipt, .fz-receipt__button { transition: none; }
}

/* Classic forms (account, login) */
.woocommerce form .form-row { display: grid; gap: 6px; margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row .required { color: var(--err); text-decoration: none; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields {
	max-width: 520px;
	padding: clamp(22px, 3vw, 40px);
	background: var(--surface);
	border: 1px solid var(--rule);
}
.u-columns.col2-set { display: grid; gap: 32px; }
@media (min-width: 860px) { .u-columns.col2-set { grid-template-columns: 1fr 1fr; } }
.u-columns.col2-set h2 { font-family: var(--f-display); font-weight: 200; font-size: var(--fs-xl); }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin-inline-end: 16px; }
.woocommerce-LostPassword { font-size: var(--fs-sm); }
.password-input { position: relative; display: block; }
.show-password-input { position: absolute; inset-block: 0; inset-inline-end: 4px; width: 44px; border: 0; background: transparent; cursor: pointer; opacity: .6; }
.show-password-input::after { content: "◉"; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 24px; }
.woocommerce-MyAccount-navigation a { display: inline-flex; min-height: 42px; align-items: center; text-decoration: none; font-size: var(--fs-sm); color: var(--fg-2); }
.woocommerce-MyAccount-navigation .is-active a { color: var(--fg); text-decoration: underline; text-underline-offset: .6em; }
@media (min-width: 960px) {
	.woocommerce-account .store-page .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 56px; align-items: start; }
	.woocommerce-MyAccount-navigation ul { flex-direction: column; gap: 0; border-top: 1px solid var(--rule); }
	.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--rule); }
	.woocommerce-MyAccount-navigation a { width: 100%; min-height: 52px; }
	.woocommerce-MyAccount-navigation .is-active a { text-decoration: none; font-weight: 500; }
}
.woocommerce-account .store-page .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { display: block; }
table.shop_table, table.woocommerce-orders-table, table.woocommerce-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
table.shop_table th, table.shop_table td { padding: 12px 8px; border-bottom: 1px solid var(--rule); text-align: start; }
.woocommerce-Addresses { display: grid; gap: 24px; }
@media (min-width: 760px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address { padding: 22px; border: 1px solid var(--rule); background: var(--surface); }
.woocommerce-MyAccount-content .woocommerce-order-overview { list-style: none; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

/* Contact & story pages ---------------------------------------------------- */
.contact-page .lead { max-width: 52ch; margin: 0 auto; }
.contact-page .lead p { margin: 0; }
.contact-cards { list-style: none; margin: 0 auto; padding: 0 0 var(--section); display: grid; gap: 2px; max-width: 1040px; grid-template-columns: 1fr; }
@media (min-width: 640px) {
	.contact-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.contact-cards > li { grid-column: span 2; }
	.contact-cards > li:nth-child(-n+2) { grid-column: span 3; }
}
.contact-card { display: grid; gap: 4px; justify-items: start; height: 100%; padding: clamp(24px, 3vw, 40px); background: var(--surface); text-decoration: none; transition: background-color .4s var(--ease); }
.contact-card:hover { background: var(--blush); }
.contact-card .icon { width: 24px; height: 24px; color: var(--accent); margin-bottom: 14px; }
.contact-card__label { font-family: var(--f-latin); font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: var(--fg-2); }
.contact-card__value { font-family: var(--f-display); font-weight: 400; font-size: clamp(1.05rem, .9rem + .6vw, 1.4rem); letter-spacing: .01em; overflow-wrap: anywhere; }
.contact-card__hint { font-size: var(--fs-xs); color: var(--fg-2); }
.story-page__grid { display: grid; gap: clamp(32px, 6vw, 96px); align-items: start; padding-bottom: var(--section); }
@media (min-width: 960px) { .story-page__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); } .story-page .story__media { position: sticky; top: calc(var(--header-h) + 32px); } }
.story-page .story__media { position: relative; inset: auto; margin: 0; max-width: 480px; width: 100%; }
.story-page .story__media figcaption { margin-top: 10px; font-size: var(--fs-xs); color: var(--fg-2); }
.story-page__body { padding-bottom: 0; margin-inline: 0; }

@media (max-width: 420px) {
	.hide-xs { display: none !important; }
}
