/* ==========================================================================
   Unishaman theme
   ========================================================================== */

/* Fonts (self-hosted, no calls to Google) ---------------------------------- */
@font-face { font-family: "Cormorant SC"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/cormorant-sc-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant SC"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/cormorant-sc-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 500; font-display: swap; src: url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2"); }
@font-face { font-family: "EB Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/eb-garamond-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "EB Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/eb-garamond-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "EB Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/eb-garamond-latin-500-normal.woff2") format("woff2"); }

/* Tokens ------------------------------------------------------------------ */
:root {
	--us-soil: #24160c;
	--us-umber: #2e2117;
	--us-bark: #3a2a1c;
	--us-cream: #ede6d8;
	--us-cream-2: #e3d8c4;
	--us-cream-3: #f6f1e7;
	--us-ink: #2e2117;
	--us-muted: #5e4a37;
	--us-gold: #c9a45c;
	--us-gold-soft: #e8c98e;
	--us-terracotta: #b8653e;
	--us-cta: #9e5130;
	--us-cta-hover: #85421f;
	--us-olive: #7d8a50;
	--us-fern: #5e6b3c;
	--us-fern-dark: #4f5a33;
	--us-line: #6b5a44;
	--us-on-dark: #ede6d8;
	--us-on-dark-muted: #c9bba3;

	--us-sc: "Cormorant SC", "Cormorant Garamond", Georgia, serif;
	--us-display: "Cormorant Garamond", Georgia, serif;
	--us-body: "EB Garamond", Georgia, serif;

	--us-gutter: clamp(16px, 4vw, 64px);
	--us-header-h: 104px;
	--us-ease: cubic-bezier(.2, .7, .2, 1);
}

@media (max-width: 1099px) {
	:root { --us-header-h: 64px; }
}

/* Base -------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--us-header-h) + 16px); }

body {
	margin: 0;
	font-family: var(--us-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--us-ink);
	background: var(--us-cream);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.us-dark { background: var(--us-soil); }
body.us-locked { overflow: hidden; }

img, svg, video { max-width: 100%; height: auto; }
img { display: block; }

a { color: inherit; text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { color: var(--us-terracotta); }

h1, h2, h3, h4 { font-family: var(--us-display); font-weight: 500; line-height: 1.15; margin: 0 0 .5em; }

:focus-visible { outline: 2px solid var(--us-gold); outline-offset: 3px; }
.us-light :focus-visible, .us-minicart :focus-visible, .us-collection :focus-visible { outline-color: var(--us-cta); }

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

.us-skip {
	position: absolute; left: 16px; top: -100px; z-index: 1000; padding: 12px 18px;
	background: var(--us-cream); color: var(--us-ink); font-family: var(--us-sc); font-weight: 600; letter-spacing: .12em;
}
.us-skip:focus { top: 12px; }

button { font: inherit; color: inherit; }

/* Buttons ----------------------------------------------------------------- */
.us-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 28px;
	font-family: var(--us-sc); font-size: 17px; font-weight: 600; letter-spacing: .16em; line-height: 1.1;
	text-decoration: none; text-transform: none;
	color: var(--us-ink); background: var(--us-cream-2);
	border: 0; border-radius: 2px; cursor: pointer;
	transition: background-color .2s var(--us-ease), color .2s var(--us-ease), transform .1s;
}
.us-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
	background: #d8cbb3; color: var(--us-ink);
}
.us-btn:active { transform: translateY(1px); }

.us-btn--primary,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.checkout-button,
.woocommerce button.single_add_to_cart_button,
.woocommerce #place_order {
	background: var(--us-cta); color: #f6eedf;
}
.us-btn--primary:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce a.checkout-button:hover, .woocommerce button.single_add_to_cart_button:hover, .woocommerce #place_order:hover {
	background: var(--us-cta-hover); color: #f6eedf;
}
.woocommerce button.button.alt.disabled, .woocommerce button.button:disabled[disabled] {
	background: var(--us-cta); color: #f6eedf; opacity: .55;
}
.us-btn--block { display: flex; width: 100%; }

.us-btn.is-loading, .woocommerce .button.loading { position: relative; color: transparent !important; pointer-events: none; }
.us-btn.is-loading::after, .woocommerce .button.loading::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 20px; height: 20px;
	border: 2px solid rgba(246, 238, 223, .5); border-top-color: #f6eedf; border-radius: 50%;
	animation: us-spin .7s linear infinite;
	top: 0; right: 0; font-family: inherit;
}
@keyframes us-spin { to { transform: rotate(360deg); } }

.us-iconbtn {
	display: inline-flex; align-items: center; justify-content: center; position: relative;
	width: 44px; height: 44px; padding: 0; background: none; border: 0; cursor: pointer; color: inherit;
}

.us-link {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--us-sc); font-weight: 600; font-size: 17px; letter-spacing: .2em; text-decoration: none;
}

/* Ornament: line — triskele — line */
.us-ornament { display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--us-gold); }
.us-ornament > span { display: block; width: 86px; height: 1px; background: currentColor; }

/* Emblem colours */
.us-emblem__ring { stroke: var(--us-terracotta); stroke-width: 3; }
.us-emblem__spiral { stroke: var(--us-olive); stroke-width: 2.6; }

.us-fern { color: var(--us-fern); }

/* Header ------------------------------------------------------------------ */
.us-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--us-soil); color: var(--us-on-dark);
	transition: box-shadow .25s var(--us-ease);
}
.admin-bar .us-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .us-header { top: 0; } }
.us-header.is-scrolled { box-shadow: 0 10px 30px rgba(10, 6, 2, .35); }

.us-header__inner {
	position: relative; display: flex; align-items: center; justify-content: center;
	height: var(--us-header-h); padding: 0 var(--us-gutter);
}

.us-nav {
	display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center;
	gap: clamp(24px, 3vw, 48px); width: 100%; max-width: calc(100% - 300px);
}
.us-nav__list {
	display: flex; align-items: center; gap: clamp(24px, 3vw, 48px);
	margin: 0; padding: 0; list-style: none;
	font-family: var(--us-sc); font-size: 18px; font-weight: 600; letter-spacing: .22em;
}
.us-nav__list--left { justify-content: flex-end; color: var(--us-gold-soft); }
.us-nav__list--right { justify-content: flex-start; color: var(--us-on-dark); }
.us-nav__list > li { position: relative; display: flex; align-items: center; gap: clamp(24px, 3vw, 48px); }
.us-nav__list--left > li::after,
.us-nav__list--right > li::before {
	content: ""; display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--us-terracotta); flex: none;
}
.us-nav__list a { display: block; padding: 10px 0; text-decoration: none; white-space: nowrap; }
.us-nav__list a:hover, .us-nav__list .current-menu-item > a { color: var(--us-gold); }

/* Desktop dropdowns (2nd level) */
.us-nav__list .sub-menu {
	position: absolute; top: 100%; left: -20px; z-index: 5; min-width: 220px;
	margin: 0; padding: 12px 20px; list-style: none; background: var(--us-soil);
	box-shadow: 0 18px 30px rgba(10, 6, 2, .4);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s var(--us-ease);
	letter-spacing: .16em; font-size: 16px; color: var(--us-on-dark);
}
.us-nav__list li:hover > .sub-menu, .us-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.us-nav__list .sub-menu li::before, .us-nav__list .sub-menu li::after { display: none; }

.us-header__brand { display: flex; align-items: center; justify-content: center; color: inherit; }
.us-header__emblem, .us-header__logo { width: 68px; height: 68px; object-fit: contain; }

.us-header__menu-btn { display: none; position: absolute; left: calc(var(--us-gutter) - 10px); color: var(--us-gold-soft); }
.us-header__tools { position: absolute; right: calc(var(--us-gutter) - 10px); display: flex; align-items: center; color: var(--us-gold-soft); }
.us-header__tools a:hover, .us-header__tools button:hover { color: var(--us-gold); }

.us-cart-badge {
	position: absolute; top: 3px; right: 0; min-width: 19px; height: 19px; padding: 0 5px;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--us-body); font-size: 12px; font-weight: 500; line-height: 1;
	color: #f6eedf; background: var(--us-terracotta); border-radius: 10px;
	transition: transform .25s var(--us-ease);
}
.us-cart-badge.is-empty { display: none; }
.us-cart-badge.is-bump { transform: scale(1.3); }

.us-search { padding: 0 var(--us-gutter) 20px; }
.us-search .us-searchform { max-width: 560px; margin: 0 auto; }

@media (max-width: 1099px) {
	.us-nav { display: flex; justify-content: center; max-width: none; }
	.us-nav__list { display: none; }
	.us-header__menu-btn { display: inline-flex; }
	.us-header__emblem, .us-header__logo { width: 46px; height: 46px; }
	.us-header__account { display: none; }
}

/* Search form */
.us-searchform { display: flex; align-items: stretch; }
.us-searchform__input {
	flex: 1; min-width: 0; height: 50px; padding: 0 16px;
	font: inherit; font-size: 17px; color: inherit;
	background: rgba(237, 230, 216, .08); border: 0; border-radius: 2px 0 0 2px;
}
.us-searchform__input::placeholder { color: var(--us-on-dark-muted); opacity: .8; }
.us-searchform__input:focus, .us-footer__form input:focus { outline: 2px solid var(--us-gold); outline-offset: 0; }
.us-light .us-page .us-searchform__input:focus { outline-color: var(--us-cta); }
.woocommerce select:focus { outline: 2px solid var(--us-cta); outline-offset: 0; }
.us-searchform__btn { width: 50px; border: 0; border-radius: 0 2px 2px 0; background: rgba(237, 230, 216, .08); color: inherit; cursor: pointer; }
.us-light .us-page .us-searchform__input, .us-light .us-page .us-searchform__btn { background: var(--us-cream-3); }
.us-light .us-page .us-searchform__input::placeholder { color: var(--us-muted); }

/* Hero -------------------------------------------------------------------- */
.us-hero { position: relative; background: var(--us-soil); color: var(--us-on-dark); }
.us-hero__top {
	position: relative; max-width: 1100px; margin: 0 auto; padding: clamp(12px, 2vw, 28px) var(--us-gutter) 0;
	display: flex; flex-direction: column; align-items: center; text-align: center;
}
.us-hero__emblem { position: relative; width: clamp(110px, 12vw, 170px); height: auto; }
.us-hero__emblem .us-emblem__ring { stroke-width: 2.4; }
.us-hero__emblem .us-emblem__spiral { stroke-width: 2.4; }
.us-hero__title {
	position: relative; margin: 0; padding-left: .2em;
	font-family: var(--us-sc); font-weight: 500; font-size: clamp(44px, 9vw, 132px); line-height: 1.1; letter-spacing: .2em;
	color: #efe3c8;
}
.us-hero__fern { position: absolute; color: var(--us-fern); }
.us-hero__fern--1 { width: 110px; left: 22%; top: 30px; transform: rotate(-24deg); }
.us-hero__fern--2 { width: 110px; right: 22%; top: 24px; transform: rotate(20deg) scaleX(-1); }
.us-hero__fern--3 { width: 70px; left: 1%; top: 90px; color: var(--us-fern-dark); transform: rotate(30deg); }
.us-hero__fern--4 { width: 70px; right: 1%; top: 80px; color: var(--us-fern-dark); transform: rotate(-28deg) scaleX(-1); }
.us-hero__fern--5 { width: 56px; left: 5%; top: 250px; color: var(--us-fern-dark); transform: rotate(-150deg); }
.us-hero__fern--6 { width: 56px; right: 5%; top: 240px; color: var(--us-fern-dark); transform: rotate(150deg) scaleX(-1); }

.us-hero__ground { display: block; margin-top: clamp(-30px, -2vw, -8px); }
.us-hero__img { width: 100%; height: auto; min-height: 240px; object-fit: cover; object-position: center; }
.us-hero__cta { display: flex; justify-content: center; padding: 28px var(--us-gutter) 40px; }

@media (max-width: 767px) {
	.us-hero__fern--1 { width: 64px; left: 4%; top: 24px; }
	.us-hero__fern--2 { width: 64px; right: 4%; top: 18px; }
	.us-hero__fern--3, .us-hero__fern--4, .us-hero__fern--5, .us-hero__fern--6 { display: none; }
	.us-hero__title { letter-spacing: .14em; padding-left: .14em; }
	.us-hero__cta .us-btn { width: 100%; max-width: 420px; }
}

/* Collection (front page products) ---------------------------------------- */
.us-collection {
	position: relative; background: var(--us-cream); color: var(--us-ink);
	padding: 30px clamp(16px, 3.8vw, 54px) clamp(48px, 5vw, 72px);
}
.us-collection__fern { position: absolute; top: 26px; width: 86px; color: #6e7a4a; }
.us-collection__fern--l { left: clamp(16px, 4.5vw, 64px); transform: rotate(-58deg); }
.us-collection__fern--r { right: clamp(16px, 4.5vw, 64px); transform: rotate(58deg) scaleX(-1); }

.us-tabs {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px clamp(28px, 4.2vw, 60px);
	padding: 20px 120px 44px;
	font-family: var(--us-sc); font-size: 18px; font-weight: 600; letter-spacing: .2em;
}
.us-tabs__tab {
	position: relative; display: inline-flex; flex-direction: column; align-items: center;
	padding: 10px 0 14px; text-decoration: none; white-space: nowrap;
}
.us-tabs__tab::after {
	content: ""; position: absolute; bottom: 0; left: 50%; width: 66px; height: 2px; margin-left: -33px;
	background: var(--us-terracotta); transform: scaleX(0); transition: transform .25s var(--us-ease);
}
.us-tabs__tab.is-active::after, .us-tabs__tab:hover::after { transform: scaleX(1); }
.us-tabs__tab:hover { color: inherit; }

.us-grid {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 22px;
	margin: 0; padding: 0; list-style: none;
}
.us-card[hidden] { display: none; }
.us-card__link { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; text-decoration: none; }
.us-card__media { display: block; width: 100%; aspect-ratio: 307 / 363; overflow: hidden; background: var(--us-cream-2); }
.us-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--us-ease); }
.us-card__link:hover .us-card__media img { transform: scale(1.03); }
.us-card__name { margin-top: 8px; font-family: var(--us-sc); font-size: 21px; font-weight: 600; letter-spacing: .22em; line-height: 1.3; }
.us-card__rule { display: block; width: 50px; height: 2px; background: var(--us-terracotta); margin: 0 auto; }
.us-card__price { font-size: 18px; color: var(--us-muted); }
.us-card__link:hover { color: inherit; }
.us-card__link:hover .us-card__name { color: var(--us-cta); }

.us-collection__more { text-align: center; margin: 24px 0 0; color: var(--us-muted); }
.us-collection__all { text-align: center; margin: 40px 0 0; }

@media (max-width: 1023px) {
	.us-tabs { padding: 12px 0 32px; }
	.us-collection__fern { display: none; }
}
@media (max-width: 767px) {
	.us-tabs {
		flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none;
		margin: 0 calc(-1 * clamp(16px, 3.8vw, 54px)); padding: 8px 20px 24px; gap: 28px; font-size: 16px;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 28px), transparent);
		mask-image: linear-gradient(90deg, transparent 0, #000 20px, #000 calc(100% - 28px), transparent);
	}
	.us-tabs::-webkit-scrollbar { display: none; }
	.us-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.us-card__name { font-size: 16px; letter-spacing: .14em; }
	.us-card__price { font-size: 16px; }
}

/* Values strip ------------------------------------------------------------ */
.us-values { position: relative; background: var(--us-umber); color: var(--us-on-dark); padding: 66px clamp(100px, 10vw, 150px); }
.us-values__side { position: absolute; top: 50%; width: 60px; margin-top: -40px; color: #a88a55; }
.us-values__side--l { left: clamp(16px, 4vw, 56px); transform: rotate(-10deg); }
.us-values__side--r { right: clamp(16px, 4vw, 56px); transform: rotate(10deg) scaleX(-1); }
.us-values__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 40px; margin: 0; padding: 0; list-style: none; }
.us-values__item { display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 0 20px; text-align: center; }
.us-values__item + .us-values__item { box-shadow: -1px 0 0 var(--us-line); }
.us-values__icon { display: flex; align-items: center; justify-content: center; height: 56px; color: var(--us-gold); }
.us-values__icon svg { width: 52px; height: 52px; }
.us-values__icon .us-values__fern { width: 40px; height: 54px; color: var(--us-gold); transform: rotate(20deg); }
.us-values__text { font-family: var(--us-sc); font-size: 16px; font-weight: 600; line-height: 1.6; letter-spacing: .24em; }

@media (max-width: 1023px) {
	.us-values { padding: 56px var(--us-gutter); }
	.us-values__side { display: none; }
	.us-values__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.us-values__item + .us-values__item { box-shadow: none; }
}
@media (max-width: 480px) {
	.us-values__text { font-size: 14px; letter-spacing: .16em; }
	.us-values__item { padding: 0 8px; }
}

/* Forest band ------------------------------------------------------------- */
.us-band { position: relative; overflow: hidden; min-height: clamp(320px, 25vw, 380px); display: flex; background: var(--us-soil); color: #f2ebdd; }
.us-band__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.us-band__inner { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; padding: 64px var(--us-gutter); text-align: center; }
.us-band__title { margin: 0; font-family: var(--us-sc); font-size: clamp(22px, 2.1vw, 30px); font-weight: 500; line-height: 1.45; letter-spacing: .26em; }
.us-band__link { font-family: var(--us-sc); font-size: 18px; font-weight: 600; letter-spacing: .26em; text-decoration: none; padding: 8px 0; }
.us-band__link:hover { color: var(--us-gold-soft); }
.us-band__arrow { color: #d07a4a; display: inline-block; transition: transform .2s var(--us-ease); }
.us-band__link:hover .us-band__arrow { transform: translateX(4px); }

/* Footer ------------------------------------------------------------------ */
.us-footer { position: relative; overflow: hidden; background: var(--us-soil); color: var(--us-on-dark); padding: 64px var(--us-gutter) 40px; }
.us-footer__fern { position: absolute; bottom: 24px; width: 70px; color: var(--us-fern-dark); }
.us-footer__fern--l { left: var(--us-gutter); transform: rotate(-20deg); }
.us-footer__fern--r { right: var(--us-gutter); transform: rotate(24deg) scaleX(-1); }
.us-footer__inner { position: relative; max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
.us-footer__newsletter { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 40px; width: 100%; }
.us-footer__title { margin: 0; font-family: var(--us-sc); font-weight: 600; font-size: 24px; letter-spacing: .14em; }
.us-footer__form { flex: 1 1 320px; max-width: 520px; text-align: left; }
.us-footer__form input[type="email"], .us-footer__form input[type="text"] {
	width: 100%; height: 48px; padding: 0 4px; font: inherit; font-size: 17px; color: inherit;
	background: rgba(237, 230, 216, .08); border: 0; border-radius: 2px;
}
.us-footer__form input::placeholder { color: var(--us-on-dark-muted); }
.us-footer__form button, .us-footer__form input[type="submit"] {
	min-height: 48px; padding: 0 22px; font-family: var(--us-sc); font-weight: 600; font-size: 16px; letter-spacing: .16em;
	color: #f6eedf; background: var(--us-cta); border: 0; border-radius: 2px; cursor: pointer;
}
.us-footer__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 28px; margin: 0; padding: 0; list-style: none; font-size: 16px; color: var(--us-on-dark-muted); }
.us-footer__list a { text-decoration: none; padding: 6px 0; display: inline-block; }
.us-footer__list a:hover { color: var(--us-gold-soft); }
.us-footer__copy { margin: 0; font-family: var(--us-sc); font-size: 18px; font-weight: 600; letter-spacing: .22em; }
@media (max-width: 767px) { .us-footer__fern { display: none; } }

/* Drawers (mini cart and mobile menu) -------------------------------------- */
.us-backdrop {
	position: fixed; inset: 0; z-index: 90; background: rgba(20, 12, 6, .62);
	opacity: 0; transition: opacity .3s var(--us-ease);
}
.us-backdrop.is-visible { opacity: 1; }

.us-drawer {
	position: fixed; top: 0; bottom: 0; z-index: 100;
	display: flex; flex-direction: column;
	width: min(440px, 100vw);
	transition: transform .35s var(--us-ease), visibility 0s linear .35s;
	visibility: hidden;
	overscroll-behavior: contain;
}
.us-drawer.is-open { transform: none; visibility: visible; transition: transform .35s var(--us-ease), visibility 0s; }
.us-drawer--right { right: 0; transform: translateX(100%); }
.us-drawer--left { left: 0; transform: translateX(-100%); width: min(380px, 88vw); }
.us-drawer.is-open { transform: none; }
.admin-bar .us-drawer { top: 32px; }
@media (max-width: 782px) { .admin-bar .us-drawer { top: 46px; } }

.us-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; padding: 10px 12px 10px 24px; }
.us-drawer__close { margin-right: -2px; }
.us-drawer__body { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
@media (prefers-reduced-motion: reduce) {
	.us-drawer, .us-backdrop, .us-cart-badge { transition: none !important; }
}

/* Mobile menu */
.us-mnav { background: var(--us-soil); color: var(--us-on-dark); }
.us-mnav__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-family: var(--us-sc); font-weight: 600; font-size: 20px; letter-spacing: .2em; }
.us-mnav .us-drawer__body { padding: 8px 24px 24px; }
.us-mnav__search { margin-bottom: 18px; }
.us-mnav__list { margin: 0; padding: 0; list-style: none; font-family: var(--us-sc); font-weight: 600; font-size: 22px; letter-spacing: .16em; }
.us-mnav__list li { position: relative; }
.us-mnav__list a { display: flex; align-items: center; min-height: 52px; padding: 6px 48px 6px 0; text-decoration: none; }
.us-mnav__list a:hover, .us-mnav__list .current-menu-item > a { color: var(--us-gold); }
.us-mnav__list .sub-menu { margin: 0 0 8px; padding: 0 0 0 16px; list-style: none; font-size: 18px; letter-spacing: .12em; color: var(--us-on-dark-muted); }
.us-mnav__list .sub-menu[hidden] { display: none; }
.us-mnav__list .sub-menu a { min-height: 44px; }
.us-subtoggle {
	position: absolute; right: -10px; top: 4px; width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	background: none; border: 0; color: var(--us-gold-soft); cursor: pointer;
}
.us-subtoggle svg { transition: transform .2s var(--us-ease); }
.us-subtoggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.us-mnav__cats { margin-top: 28px; }
.us-mnav__label { margin: 0 0 10px; font-family: var(--us-sc); font-size: 15px; font-weight: 600; letter-spacing: .22em; color: var(--us-gold); }
.us-mnav__cats ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.us-mnav__cats a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; background: var(--us-bark); text-decoration: none; font-size: 17px; border-radius: 2px; }
.us-mnav__cats a:hover { background: #4a3726; color: var(--us-on-dark); }
.us-mnav__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px calc(16px + env(safe-area-inset-bottom)); background: var(--us-umber); }
.us-mnav__account { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; text-decoration: none; font-size: 17px; }
.us-mnav__cart { position: relative; flex: 1; max-width: 220px; padding: 0 16px; font-size: 16px; letter-spacing: .1em; white-space: nowrap; }
.us-mnav__cart .us-cart-badge { position: static; margin-left: 2px; background: #f6eedf; color: var(--us-cta); }

/* Mini cart */
.us-minicart { background: var(--us-cream); color: var(--us-ink); box-shadow: -20px 0 40px rgba(10, 6, 2, .25); }
.us-minicart .us-drawer__head { background: var(--us-cream); }
.us-minicart__title { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--us-sc); font-weight: 600; font-size: 22px; letter-spacing: .18em; }
.us-minicart__title .us-cart-badge { position: static; }
.us-minicart__body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.us-mc-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 0 24px 24px; -webkit-overflow-scrolling: touch; }
.us-minicart__body.is-busy { opacity: .6; pointer-events: none; transition: opacity .15s; }

.us-ship { margin: 4px 0 20px; padding: 14px 16px; background: var(--us-cream-2); border-radius: 2px; }
.us-ship__text { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 16px; line-height: 1.4; }
.us-ship__bar { height: 6px; background: rgba(46, 33, 23, .12); border-radius: 3px; overflow: hidden; }
.us-ship__bar span { display: block; height: 100%; background: var(--us-olive); border-radius: 3px; transition: width .5s var(--us-ease); }
.us-ship.is-done .us-ship__text { color: #4c5a2a; font-weight: 500; }

.us-mc-items { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 20px; }
.us-mc-item { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
.us-mc-item__media { display: block; aspect-ratio: 1 / 1.1; overflow: hidden; background: var(--us-cream-2); }
.us-mc-item__media img { width: 100%; height: 100%; object-fit: cover; }
.us-mc-item__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.us-mc-item__name { margin: 0; font-size: 18px; font-weight: 500; line-height: 1.3; }
.us-mc-item__name a { text-decoration: none; }
.us-mc-item__meta { margin: 0; font-size: 15px; line-height: 1.4; color: var(--us-muted); }
.us-mc-item__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 6px; }
.us-mc-item__price { font-size: 17px; font-weight: 500; white-space: nowrap; }
.us-mc-item__remove { padding: 10px 0; background: none; border: 0; font-size: 15px; color: var(--us-muted); text-decoration: underline; cursor: pointer; }

.us-qty { display: inline-flex; align-items: center; background: var(--us-cream-2); border-radius: 2px; }
.us-qty__btn { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; background: none; border: 0; color: var(--us-ink); cursor: pointer; }
.us-qty__btn:hover { color: var(--us-cta); }
.us-qty__btn:disabled { opacity: .35; cursor: not-allowed; }
.us-qty__val { min-width: 24px; text-align: center; font-size: 17px; font-weight: 500; }

.us-mc-upsell { margin-top: 28px; }
.us-mc-upsell__title { margin: 0 0 10px; font-family: var(--us-sc); font-size: 16px; font-weight: 600; letter-spacing: .2em; color: var(--us-muted); }
.us-mc-upsell ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.us-mc-upsell__item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px; background: var(--us-cream-2); border-radius: 2px; }
.us-mc-upsell__media img { width: 56px; height: 56px; object-fit: cover; }
.us-mc-upsell__info { display: flex; flex-direction: column; font-size: 16px; line-height: 1.3; min-width: 0; }
.us-mc-upsell__info a { text-decoration: none; font-weight: 500; }
.us-mc-upsell__add {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px;
	font-family: var(--us-sc); font-weight: 600; font-size: 15px; letter-spacing: .14em; text-decoration: none;
	background: var(--us-cream); border-radius: 2px;
}
.us-mc-upsell__add.added { display: none; }
.us-mc-upsell .added_to_cart { display: none; }

.us-mc-foot { padding: 18px 24px calc(18px + env(safe-area-inset-bottom)); background: var(--us-cream-2); box-shadow: 0 -12px 24px rgba(46, 33, 23, .08); }
.us-mc-total { display: flex; align-items: baseline; justify-content: space-between; margin: 0; font-size: 18px; }
.us-mc-total strong { font-size: 21px; font-weight: 500; }
.us-mc-total--discount { font-size: 16px; color: #4c5a2a; }
.us-mc-foot__small { margin: 2px 0 14px; font-size: 15px; color: var(--us-muted); }
.us-mc-checkout { min-height: 56px; font-size: 19px; }
.us-mc-foot__links { display: flex; justify-content: space-between; margin-top: 10px; }
.us-mc-foot__links a, .us-mc-foot__links button { min-height: 44px; display: inline-flex; align-items: center; padding: 0; background: none; border: 0; font-size: 16px; color: var(--us-muted); text-decoration: underline; cursor: pointer; }
.us-mc-foot__note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 4px 0 0; font-size: 15px; font-style: italic; color: var(--us-muted); text-align: center; }

.us-mc-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 32px; text-align: center; }
.us-mc-empty__title { margin: 16px 0 0; font-family: var(--us-sc); font-size: 24px; font-weight: 600; letter-spacing: .14em; }
.us-mc-empty p { margin: 0 0 12px; }

/* Inner pages ------------------------------------------------------------- */
.us-page { max-width: 800px; margin: 0 auto; padding: clamp(40px, 6vw, 88px) var(--us-gutter) clamp(64px, 8vw, 120px); }
.us-page--wide { max-width: 1240px; }
.us-page--center { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.us-page--center .us-searchform { width: 100%; max-width: 480px; margin: 12px 0 20px; }
.us-page__head { margin-bottom: clamp(24px, 3vw, 40px); }
.us-page__title { margin: 0; font-family: var(--us-sc); font-weight: 600; font-size: clamp(34px, 4vw, 54px); letter-spacing: .1em; line-height: 1.15; }
.us-content > * + * { margin-top: 1em; }
.us-content h2 { font-size: 34px; margin-top: 1.6em; }
.us-content h3 { font-size: 26px; margin-top: 1.4em; }
.us-content img { height: auto; }

.us-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 40px 28px; }
.us-post__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.us-post__title { margin: 16px 0 6px; font-size: 28px; }
.us-post__title a { text-decoration: none; }

/* WooCommerce: shared ------------------------------------------------------ */
.us-shop { max-width: 1240px; margin: 0 auto; padding: clamp(28px, 4vw, 56px) var(--us-gutter) clamp(64px, 8vw, 120px); }

.woocommerce .woocommerce-breadcrumb { margin: 0 0 20px; font-size: 15px; color: var(--us-muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--us-muted); }

.woocommerce-products-header { text-align: center; }
.woocommerce-products-header__title.page-title { margin: 0 0 8px; font-family: var(--us-sc); font-weight: 600; font-size: clamp(34px, 4vw, 54px); letter-spacing: .14em; }
.term-description { max-width: 640px; margin: 0 auto; color: var(--us-muted); }
.us-tabs--shop { padding: 12px 0 32px; }

.woocommerce .woocommerce-result-count { margin: 0 0 24px; font-size: 16px; color: var(--us-muted); }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row select,
.woocommerce div.product form.cart .variations select {
	min-height: 48px; padding: 0 40px 0 14px; font: inherit; font-size: 17px; color: var(--us-ink);
	background: var(--us-cream-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232e2117' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 0; border-radius: 2px; -webkit-appearance: none; appearance: none;
}

.woocommerce ul.products {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 22px; margin: 0 0 32px; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; display: none; }
.woocommerce ul.products li.product {
	float: none !important; width: auto !important; margin: 0 !important;
	display: flex; flex-direction: column; align-items: center; text-align: center;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; align-items: center; width: 100%; text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 307 / 363; object-fit: cover; margin: 0 0 18px; background: var(--us-cream-2); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0; margin: 0 0 12px; font-family: var(--us-sc); font-size: 21px; font-weight: 600; letter-spacing: .2em; line-height: 1.3; color: var(--us-ink);
}
.woocommerce ul.products li.product .us-card__rule { margin-bottom: 10px; }
.woocommerce ul.products li.product .price { margin: 0; font-size: 18px; color: var(--us-muted); }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--us-cta); }
.woocommerce ul.products li.product .button { margin-top: 14px; min-height: 44px; font-size: 15px; }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	min-width: 0; min-height: 0; padding: 6px 12px; line-height: 1.2; border-radius: 2px; margin: 10px;
	font-family: var(--us-sc); font-weight: 600; font-size: 14px; letter-spacing: .14em; background: var(--us-cta); color: #f6eedf;
}
@media (max-width: 767px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; letter-spacing: .14em; }
	.woocommerce ul.products li.product .price { font-size: 16px; }
}

.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; padding: 12px; font-size: 17px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--us-ink); color: var(--us-cream); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
	background: var(--us-cream-2); color: var(--us-ink); border-top: 3px solid var(--us-olive); font-size: 17px;
}
.woocommerce-error, .woocommerce .woocommerce-error { border-top-color: var(--us-terracotta); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--us-olive); }
.woocommerce-error::before { color: var(--us-terracotta); }
.woocommerce-message .button { float: right; }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus,
.woocommerce-notices-wrapper:focus, .woocommerce-NoticeGroup:focus { outline: none; }

/* Forms */
.woocommerce form .form-row label { font-size: 16px; line-height: 1.5; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity .qty,
.woocommerce-page form .form-row input.input-text {
	min-height: 48px; padding: 10px 14px; font: inherit; font-size: 17px; color: var(--us-ink);
	background: var(--us-cream-3); border: 0; border-radius: 2px;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: 2px solid var(--us-cta); outline-offset: 0; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { background: #f2ddd2; }

/* Single product ---------------------------------------------------------- */
.woocommerce div.product { position: relative; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom: 48px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { z-index: 5; background: var(--us-cream); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 80px !important; float: none !important; }
.woocommerce div.product .product_title { margin: 0 0 8px; font-family: var(--us-display); font-weight: 500; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.05; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0 0 18px; font-size: 24px; color: var(--us-ink); }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; color: var(--us-cta); }
.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 24px; font-size: 19px; color: var(--us-bark); }

.woocommerce div.product form.cart { margin: 0 0 16px; }
.woocommerce div.product form.cart .variations { margin-bottom: 12px; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; border: 0; line-height: 1.4; }
.woocommerce div.product form.cart .variations th label { display: block; margin: 0 0 6px; font-family: var(--us-sc); font-size: 16px; font-weight: 600; letter-spacing: .18em; }
.woocommerce div.product form.cart .variations td { margin-bottom: 16px; }
.woocommerce div.product form.cart .variations select { width: 100%; max-width: 360px; margin: 0; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 15px; }
.woocommerce div.product .woocommerce-variation-price .price { margin-bottom: 12px; }

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .quantity .qty { width: 76px; text-align: center; }
.woocommerce div.product form.cart .button.single_add_to_cart_button {
	float: none; flex: 1 1 220px; max-width: 420px; height: 52px; min-height: 0; padding: 0 28px; font-size: 18px; align-self: flex-start;
}
.woocommerce div.product form.cart div.quantity .qty { height: 52px; min-height: 0; }
.woocommerce div.product .summary a:not(.button) { color: var(--us-ink); }
.woocommerce div.product .summary a:not(.button):hover { color: var(--us-cta); }

.us-form-error { width: 100%; margin: 4px 0 0; padding: 10px 14px; background: #f2ddd2; color: #7a2f12; font-size: 16px; }

.us-product-note { display: flex; align-items: center; gap: 8px; margin: 4px 0 20px; font-size: 16px; font-style: italic; color: var(--us-muted); }
.us-product-note .us-triskele { color: var(--us-terracotta); }

.woocommerce div.product .product_meta { font-size: 15px; color: var(--us-muted); }

.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 0 0 24px; padding: 0; overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li.active { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 0; font-family: var(--us-sc); font-size: 18px; font-weight: 600; letter-spacing: .18em; color: var(--us-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--us-ink); box-shadow: 0 2px 0 var(--us-terracotta); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }

.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2 {
	margin: 24px 0 28px; text-align: center; font-family: var(--us-sc); font-weight: 600; font-size: 28px; letter-spacing: .18em;
}

/* Sticky add to cart (phones only) */
.us-sticky-atc {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--us-soil); color: var(--us-on-dark);
	box-shadow: 0 -10px 24px rgba(10, 6, 2, .3);
	transform: translateY(110%); transition: transform .3s var(--us-ease);
}
.us-sticky-atc.is-shown { transform: none; }
.us-sticky-atc__info { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.us-sticky-atc__name { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.us-sticky-atc__price { font-size: 16px; color: var(--us-gold-soft); }
.us-sticky-atc__price del { opacity: .6; }
.us-sticky-atc .us-btn { flex: none; min-height: 48px; padding: 0 20px; font-size: 16px; }
@media (min-width: 768px) { .us-sticky-atc { display: none !important; } }

/* Cart and checkout (classic shortcodes and blocks) ----------------------- */
.woocommerce table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { font-family: var(--us-sc); font-weight: 600; letter-spacing: .14em; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border: 0; padding: 14px 10px; }
.woocommerce table.shop_table tbody tr:nth-child(even) td { background: rgba(46, 33, 23, .035); }
.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-family: var(--us-sc); font-weight: 600; letter-spacing: .14em; }
.woocommerce-checkout #payment { background: var(--us-cream-2); border-radius: 2px; }
.woocommerce-checkout #payment div.payment_box { background: var(--us-cream-3); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--us-cream-3); }
.woocommerce #place_order { width: 100%; min-height: 58px; font-size: 19px; }

.wc-block-components-button:not(.is-link).contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--us-cta) !important; color: #f6eedf !important; border-radius: 2px !important;
	font-family: var(--us-sc); font-weight: 600; letter-spacing: .14em; min-height: 56px;
}
.wc-block-components-button:not(.is-link).contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--us-cta-hover) !important; }
.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--us-sc) !important; letter-spacing: .14em; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--us-body); }

/* Login, register and lost password -------------------------------------- */
.us-auth .us-page { max-width: 1100px; }
.us-auth__head { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; margin-bottom: clamp(32px, 4vw, 52px); }
.us-auth__intro { max-width: 520px; margin: 0; font-size: 19px; color: var(--us-muted); }

.us-auth #customer_login {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch;
	box-shadow: 0 30px 60px rgba(46, 33, 23, .14);
}
.us-auth #customer_login::before, .us-auth #customer_login::after { display: none; }
.us-auth #customer_login .col-1,
.us-auth #customer_login .col-2 { float: none; width: auto; position: relative; overflow: hidden; padding: clamp(32px, 4vw, 56px); }
.us-auth #customer_login .col-1 { background: var(--us-cream-3); }
.us-auth #customer_login .col-2 { background: var(--us-umber); color: var(--us-on-dark); }

.us-auth .woocommerce h2 {
	margin: 0 0 24px; font-family: var(--us-sc); font-weight: 600; font-size: clamp(26px, 2.4vw, 32px); letter-spacing: .16em; line-height: 1.2;
}

.us-auth .woocommerce form.login,
.us-auth .woocommerce form.register,
.us-auth .woocommerce form.lost_reset_password { margin: 0; padding: 0; border: 0; border-radius: 0; }
.us-auth .woocommerce form .form-row { padding: 0; margin: 0 0 18px; }
.us-auth .woocommerce form .form-row label:not(.woocommerce-form__label-for-checkbox) {
	display: block; margin-bottom: 4px; font-family: var(--us-sc); font-size: 15px; font-weight: 600; letter-spacing: .16em; line-height: 1.5;
}
.us-auth .woocommerce form .form-row .required { color: var(--us-terracotta); }
.us-auth .woocommerce form .form-row input.input-text { width: 100%; background: #fff; }
.us-auth .woocommerce .password-input { display: block; position: relative; }

/* Remember me + button */
.us-auth .woocommerce .woocommerce-form-login .form-row:last-of-type { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 16px; }
.us-auth .woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.us-auth .woocommerce .woocommerce-form-register__submit,
.us-auth .woocommerce .lost_reset_password button.button {
	float: none; width: 100%; margin: 0; min-height: 56px; font-size: 18px;
	background: var(--us-cta); color: #f6eedf;
}
.us-auth .woocommerce .woocommerce-form-login__submit:hover,
.us-auth .woocommerce .woocommerce-form-register__submit:hover,
.us-auth .woocommerce .lost_reset_password button.button:hover { background: var(--us-cta-hover); color: #f6eedf; }
.us-auth .woocommerce .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 17px; cursor: pointer; }
.us-auth .woocommerce input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--us-cta); }
.us-auth .woocommerce .lost_password { margin: 4px 0 0; text-align: center; font-size: 16px; }
.us-auth .woocommerce .lost_password a { color: var(--us-muted); display: inline-block; padding: 10px 0; }
.us-auth .woocommerce .lost_password a:hover { color: var(--us-cta); }

/* Register panel (dark) */
.us-auth #customer_login .col-2 h2 { position: relative; color: #efe3c8; }
.us-auth #customer_login .col-2 form { position: static; }
.us-auth #customer_login .col-2 form .form-row label { color: var(--us-gold-soft); }
.us-auth #customer_login .col-2 form .form-row input.input-text {
	color: var(--us-on-dark); background: rgba(237, 230, 216, .08);
}
.us-auth #customer_login .col-2 form .form-row input.input-text:focus { outline-color: var(--us-gold-soft); }
.us-auth #customer_login .col-2 .show-password-input { filter: invert(.9); }
.us-auth #customer_login .col-2 p:not(.form-row) { color: var(--us-on-dark-muted); font-size: 16px; }
.us-auth #customer_login .col-2 a { color: var(--us-gold-soft); }
.us-auth #customer_login .col-2 .woocommerce-privacy-policy-text p { font-size: 15px; line-height: 1.5; }

.us-auth__perks { margin: -8px 0 28px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.us-auth__perks li { display: flex; align-items: flex-start; gap: 10px; font-size: 17px; line-height: 1.45; color: var(--us-on-dark); }
.us-auth__perks svg { flex: none; margin-top: 3px; color: var(--us-gold); }

.us-auth__fern { position: absolute; pointer-events: none; color: var(--us-fern); opacity: .5; }
.us-auth__fern--a { width: 64px; right: 10px; top: 14px; transform: rotate(200deg); }
.us-auth__fern--b { display: none; }

/* Only the login form (registration switched off) and the lost password pages */
.us-auth .woocommerce > h2,
.us-auth .woocommerce > form.login,
.us-auth .woocommerce > form.lost_reset_password { max-width: 520px; margin-left: auto; margin-right: auto; }
.us-auth .woocommerce > h2 { text-align: center; }
.us-auth .woocommerce > form.login,
.us-auth .woocommerce > form.lost_reset_password {
	padding: clamp(28px, 4vw, 48px); background: var(--us-cream-3); box-shadow: 0 30px 60px rgba(46, 33, 23, .14);
}
.us-auth .woocommerce form.lost_reset_password > p:first-of-type { margin-top: 0; font-size: 18px; color: var(--us-muted); }
.us-auth .woocommerce form.lost_reset_password .form-row-first,
.us-auth .woocommerce form.lost_reset_password .form-row-last { float: none; width: 100%; }
.us-auth .woocommerce .woocommerce-message,
.us-auth .woocommerce .woocommerce-info,
.us-auth .woocommerce .woocommerce-error { max-width: 1100px; margin-left: auto; margin-right: auto; }

@media (max-width: 767px) {
	.us-auth #customer_login { grid-template-columns: minmax(0, 1fr); }
	.us-auth #customer_login .col-1, .us-auth #customer_login .col-2 { padding: 32px 22px; }
	.us-auth .us-page { padding-left: 12px; padding-right: 12px; }
	.us-auth__head { padding: 0 8px; }
	.us-auth__fern { display: none; }
}

/* Standalone UI links without underlines (inline text links keep theirs). */
.us-mc-foot__links a, .us-mc-foot__links button, .us-mc-item__remove,
.us-auth .woocommerce .lost_password a, .woocommerce div.product form.cart .reset_variations {
	text-decoration: none; font-family: var(--us-sc); font-weight: 600; letter-spacing: .12em; font-size: 15px;
}
.us-mc-foot__links a:hover, .us-mc-foot__links button:hover, .us-mc-item__remove:hover { color: var(--us-cta); }
.us-header :focus-visible, .us-mnav :focus-visible { outline-color: var(--us-gold); }

/* Suggestions: mini cart and cart page ------------------------------------ */
.us-mc-upsell__item { grid-template-columns: 56px minmax(0, 1fr) auto; }
.us-mc-upsell__item .us-quickadd--variable { grid-column: 1 / -1; }
.us-quickadd { margin: 0; }
.us-quickadd__toggle, .us-quickadd__add {
	display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px;
	font-family: var(--us-sc); font-weight: 600; font-size: 15px; letter-spacing: .14em;
	color: var(--us-ink); background: var(--us-cream); border: 0; border-radius: 2px; cursor: pointer;
}
.us-quickadd__toggle:hover, .us-quickadd__add:hover { background: #fff; color: var(--us-cta); }
.us-quickadd__toggle[aria-expanded="true"] { background: var(--us-ink); color: var(--us-cream); }
.us-quickadd__add.is-loading { color: transparent; position: relative; }
.us-quickadd__add.is-loading::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px;
	border: 2px solid rgba(46, 33, 23, .3); border-top-color: var(--us-ink); border-radius: 50%; animation: us-spin .7s linear infinite;
}
.us-quickadd--variable { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }
.us-quickadd--variable[hidden] { display: none; }
.us-quickadd__field { flex: 1 1 120px; min-width: 0; }
.us-quickadd__select {
	width: 100%; min-height: 44px; padding: 0 34px 0 12px; font: inherit; font-size: 16px; color: var(--us-ink);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232e2117' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
	border: 0; border-radius: 2px; -webkit-appearance: none; appearance: none;
}
.us-quickadd__select:focus { outline: 2px solid var(--us-cta); outline-offset: 0; }
.us-quickadd__submit { flex: 1 1 100%; min-height: 46px; font-size: 16px; }
.us-quickadd .us-form-error { flex: 1 1 100%; margin: 0; font-size: 15px; }

.us-mc-scroll--empty { flex: none; }
.us-mc-scroll--empty .us-mc-upsell { margin-top: 0; }

.us-cart-upsell { margin-top: clamp(48px, 6vw, 88px); }
.us-cart-upsell__title { margin: 0 0 28px; text-align: center; font-family: var(--us-sc); font-weight: 600; font-size: clamp(24px, 2.4vw, 30px); letter-spacing: .18em; }
.us-cart-upsell__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 280px)); justify-content: center; gap: 32px 20px; margin: 0; padding: 0; list-style: none; }
.us-cart-upsell__item { display: flex; flex-direction: column; gap: 14px; }
.us-cart-upsell__item .us-card__name { font-size: 18px; }
.us-cart-upsell__add { display: flex; flex-direction: column; align-items: center; }
.us-cart-upsell__add .us-quickadd__toggle, .us-cart-upsell__add .us-quickadd__add { width: 100%; min-height: 46px; background: var(--us-cream-2); }
.us-cart-upsell__add .us-quickadd--simple { width: 100%; }
.us-cart-upsell__add .us-quickadd--variable { width: 100%; margin-top: 8px; }
.us-cart-upsell__add .us-quickadd__select { background-color: var(--us-cream-3); }

/* WooCommerce's cart block shows its own cross-sells; the theme's list replaces them. */
.wp-block-woocommerce-cart-cross-sells-block { display: none !important; }

@media (max-width: 767px) {
	.us-cart-upsell__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.us-cart-upsell__item .us-card__name { font-size: 15px; letter-spacing: .12em; }
}
