/*
 * Loam & Ember - storefront theme stylesheet (store v3 theme).
 * Source of truth: docs/STORE_DESIGN.md (alpha).
 *
 * Warm neutrals only, no accent colour. Sharp corners (radius 0), no shadows,
 * one soft hero overlay. 1px hairlines. Focus: 2px solid ink, 2px offset,
 * always visible. Quiet motion: 200ms links/buttons, 500ms image zoom, 300ms
 * menu fade, all disabled under prefers-reduced-motion. Zero third-party.
 */

/* tokens */

:root {
	--urumi-canvas: #FBFBF9;
	--urumi-surface-alt: #F4F2EC;
	--urumi-raised: #ECEAE4;
	--urumi-ink: #262525;
	--urumi-body: #333333;
	--urumi-n1: #999999;
	--urumi-n2: #B8B8B8;
	--urumi-n3: #3E3E3D;
	--urumi-n4: #4C4C4C;
	--urumi-taupe: #D2C5B7;
	--urumi-beige: #E8DFD0;
	--urumi-hairline: #E1E1E0;
	--urumi-hover-fill: #1A1A1A;
	--urumi-overlay: rgba(72, 64, 54, 0.20);
	--urumi-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* base */

html, body {
	/* clip (not hidden) so the sticky header keeps working: the closed Woo
	   mini-cart drawer sits translated off-canvas and must never widen the page */
	overflow-x: clip;
	background: var(--urumi-canvas);
	color: var(--urumi-body);
}

body {
	font-family: "Newsreader Variable", serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.35;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Newsreader Variable", serif;
	font-weight: 500;
	letter-spacing: -0.2px;
	color: var(--urumi-ink);
}

a {
	color: var(--urumi-ink);
	text-decoration: none;
	transition: color var(--urumi-fast, 200ms) var(--urumi-ease);
}

a:hover { text-decoration: underline; }

::selection { background: var(--urumi-beige); color: var(--urumi-ink); }

/* focus: always visible */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
details:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--urumi-ink) !important;
	outline-offset: 2px;
	border-radius: 0;
}

/* layout */

body .is-layout-constrained > .alignwide,
body .is-layout-constrained > .alignfull {
	max-width: 1360px;
}

.urumi-section {
	padding-top: clamp(56px, 8vw, 120px);
	padding-bottom: clamp(56px, 8vw, 120px);
}

.urumi-band--alt { background: var(--urumi-surface-alt); }

/* label-caps utility */

.urumi-search-label,
.urumi-flag,
.urumi-cat-tile__label,
.urumi-footer__title,
.urumi-pdp__meta,
.urumi-stock,
label,
.urumi-strip__title,
.woocommerce-breadcrumb {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.48px;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--urumi-n3);
}

.urumi-search-label {
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* buttons */

.urumi-btn,
.wp-block-button__link,
.wc-block-components-button,
.wc-block-cart__submit-button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
button.single_add_to_cart_button {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	line-height: 1.35;
	min-height: 44px;
	border-radius: 0;
	box-shadow: none;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 200ms var(--urumi-ease),
		color 200ms var(--urumi-ease),
		border-color 200ms var(--urumi-ease);
}

/* solid: Add to cart, Place order */
.urumi-btn--ink,
.urumi-btn--solid,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
button.single_add_to_cart_button,
.woocommerce button.button.alt {
	background: var(--urumi-body);
	color: var(--urumi-canvas);
	border: 1px solid var(--urumi-body);
	padding: 12px 24px;
}

.urumi-btn--ink:hover,
.urumi-btn--solid:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
button.single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
	background: var(--urumi-hover-fill);
	border-color: var(--urumi-hover-fill);
	color: var(--urumi-canvas);
}

/* outline */
.urumi-btn--outline,
.urumi-btn--ghost,
.woocommerce a.button {
	background: transparent;
	color: var(--urumi-body);
	border: 1px solid var(--urumi-body);
	padding: 12px 16px;
}

.urumi-btn--outline:hover,
.urumi-btn--ghost:hover,
.woocommerce a.button:hover {
	background: var(--urumi-hover-fill);
	border-color: var(--urumi-hover-fill);
	color: var(--urumi-canvas);
}

/* outline on the hero photo */
.urumi-btn--invert {
	border-color: var(--urumi-canvas);
	color: var(--urumi-canvas);
	background: rgba(26, 26, 26, 0.70);
	padding: 12px 16px;
}

.urumi-btn--invert:hover {
	border-color: var(--urumi-canvas);
	color: var(--urumi-canvas);
	background: rgba(26, 26, 26, 0.85);
}

/* text button */
.urumi-btn-text {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-body);
	padding: 7px 0;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	background: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 200ms ease;
}

.urumi-btn-text:hover {
	opacity: 0.7;
	text-decoration: underline;
}

/* header */

.urumi-site-header {
	background: var(--urumi-canvas);
	border-bottom: 1px solid var(--urumi-hairline);
	position: sticky;
	top: 0;
	z-index: 40;
}

.urumi-nav {
	display: flex;
	align-items: center;
	gap: 32px;
	min-height: 64px;
	width: 100%;
	max-width: 1360px;
	padding: 0 clamp(16px, 3vw, 32px);
}

.urumi-nav__logo {
	font-family: "Newsreader Variable", serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: -0.2px;
	color: var(--urumi-ink);
	margin-right: 16px;
	white-space: nowrap;
}

.urumi-nav__links {
	display: flex;
	align-items: center;
	gap: 28px;
	flex: 1;
}

.urumi-nav__links > a,
.urumi-nav__dropdown summary {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.15;
	color: var(--urumi-n3);
	list-style: none;
	cursor: pointer;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.urumi-nav__links > a:hover,
.urumi-nav__links a:hover,
.urumi-nav__dropdown summary:hover {
	color: var(--urumi-ink);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* collections dropdown: hairline panel, no shadow, no radius */

.urumi-nav__dropdown { position: relative; display: inline-flex; }
.urumi-nav__dropdown summary::-webkit-details-marker { display: none; }
.urumi-nav__dropdown summary { list-style: none; }

.urumi-nav__dropdown-menu {
	position: absolute;
	top: 100%;
	left: -16px;
	background: var(--urumi-canvas);
	border: 1px solid var(--urumi-hairline);
	padding: 8px 0;
	min-width: 200px;
	z-index: 50;
	display: flex;
	flex-direction: column;
}

.urumi-nav__dropdown-menu a {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: var(--urumi-n3);
	padding: 10px 20px;
	min-height: 0;
}

.urumi-nav__dropdown-menu a:hover {
	color: var(--urumi-ink);
	text-decoration: underline;
	background: var(--urumi-raised);
}

.urumi-nav__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.urumi-nav__search {
	position: relative;
	display: flex;
	align-items: center;
}

.urumi-nav__search input[type="search"] {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	border: 1px solid var(--urumi-n2);
	height: 44px;
	padding: 0 12px;
	background: transparent;
	border-radius: 0;
	width: 180px;
	color: var(--urumi-ink);
}

.urumi-nav__search input[type="search"]:focus {
	border-color: var(--urumi-ink);
	box-shadow: inset 0 0 0 1px rgb(235, 235, 235);
}

.urumi-nav__icon {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--urumi-n3);
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.urumi-nav__icon:hover { color: var(--urumi-ink); text-decoration: underline; }

/* mini-cart: plain text */

.wc-block-mini-cart__button {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--urumi-n3);
	background: none;
	border: none;
	box-shadow: none;
	padding: 8px 0;
	min-height: 44px;
	border-radius: 0;
}

.wc-block-mini-cart__amount,
.wc-block-mini-cart__tax-label { display: none; }

.wc-block-mini-cart__button:hover { color: var(--urumi-ink); }

/* mobile menu toggle + overlay */

.urumi-menu-toggle { position: absolute; opacity: 0; pointer-events: none; }

.urumi-menu-button {
	display: none;
	width: 44px;
	height: 44px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	cursor: pointer;
}

.urumi-menu-button span {
	display: block;
	width: 20px;
	height: 1.5px;
	background: var(--urumi-ink);
}

.urumi-menu-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: var(--urumi-canvas);
	z-index: 60;
	padding: 96px 24px 48px;
	overflow-y: auto;
	opacity: 0;
	transition: opacity 300ms var(--urumi-ease);
	flex-direction: column;
	gap: 4px;
}

.urumi-menu-overlay a {
	font-family: "Newsreader Variable", serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--urumi-ink);
	padding: 10px 0;
	border-bottom: 1px solid var(--urumi-hairline);
	text-decoration: none;
}

.urumi-menu-overlay__search { margin-bottom: 16px; }

.urumi-menu-overlay__search input[type="search"] {
	width: 100%;
	height: 44px;
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
	padding: 0 12px;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 16px;
	background: transparent;
}

.urumi-menu-toggle:checked ~ .urumi-menu-overlay {
	display: flex;
	opacity: 1;
}

body:has(.urumi-menu-toggle:checked) { overflow: hidden; }

@media (max-width: 1023px) {
	.urumi-nav__links { display: none; }
	.urumi-nav__actions .urumi-nav__search { display: none; }
	.urumi-menu-button { display: inline-flex; }
	.urumi-menu-overlay { display: none; }
	.urumi-menu-toggle:checked ~ .urumi-menu-overlay { display: flex; }
}

/* hero */

.urumi-hero {
	position: relative;
	width: 100%;
	min-height: 560px;
	max-height: 720px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	/* dark warm ground: white hero copy passes AA on it before a photograph
	   is attached; once a photo is present it covers the ground fully */
	background: #5C5142;
	margin-top: 0;
}

.urumi-hero__media { position: absolute; inset: 0; }

.urumi-hero__media .urumi-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.urumi-photo--fallback,
.urumi-photo--empty {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--urumi-beige);
}

/* Photo-absent hero ground: dark warm neutral so the white hero copy passes
   AA even before a photograph is attached (the 20 percent veil sits on top). */
.urumi-hero .urumi-photo--fallback {
	background: #5C5142;
}

.urumi-hero__veil {
	position: absolute;
	inset: 0;
	background: rgba(72, 64, 54, 0.20);
}

.urumi-hero__text {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 64px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.urumi-hero__title {
	font-family: "Newsreader Variable", serif;
	font-size: clamp(30px, 3vw, 40px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.2px;
	color: #FFFFFF;
	max-width: 560px;
	margin: 0;
	text-shadow: none;
}

.urumi-hero__sub {
	font-family: "Newsreader Variable", serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	color: #FFFFFF;
	max-width: 480px;
	margin: 0;
}

.urumi-hero .urumi-btn--invert { margin-top: 8px; }

/* sections */

.urumi-section-title {
	font-family: "Newsreader Variable", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--urumi-ink);
	margin: 0 0 24px;
}

.urumi-section-head { margin-bottom: 24px; }

/* intro statement */

.urumi-intro {
	text-align: center;
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(56px, 8vw, 120px) 16px;
}

.urumi-intro__text {
	font-family: "Newsreader Variable", serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-ink);
	margin: 0 0 16px;
}

.urumi-intro__cta { margin: 8px 0 0; }

/* details strip */

.urumi-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.urumi-strip li { display: flex; flex-direction: column; gap: 6px; }

.urumi-strip__title { font-weight: 500; color: var(--urumi-ink); }

.urumi-strip__note {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-body);
}

@media (max-width: 767px) {
	.urumi-strip { grid-template-columns: 1fr; gap: 20px; }
}

/* photo frames + hover zoom */

.urumi-frame {
	overflow: hidden;
	display: block;
	background: var(--urumi-beige);
}

.urumi-frame .urumi-photo,
.urumi-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--urumi-ease);
}

a:hover .urumi-frame img,
.urumi-frame:hover img {
	transform: scale(1.03);
}

/* category tiles */

.urumi-cat-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.urumi-cat-tile {
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-decoration: none;
}

.urumi-cat-tile__media {
	aspect-ratio: 4 / 5;
	width: 100%;
}

.urumi-cat-tile:hover .urumi-photo { transform: scale(1.03); }

.urumi-cat-tile__label {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.48px;
	text-transform: uppercase;
	color: var(--urumi-n3);
}

@media (max-width: 767px) {
	.urumi-cat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* product grid */

ul.urumi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.urumi-tile {
	display: flex;
	flex-direction: column;
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	list-style: none;
}

.urumi-tile__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--urumi-beige);
	display: block;
	position: relative;
}

.urumi-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 500ms var(--urumi-ease);
}

.urumi-tile__media:hover img { transform: scale(1.03); }

.urumi-tile__name {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-ink);
	text-decoration: none;
	margin-top: 12px;
}

.urumi-tile__name:hover { text-decoration: underline; }

.urumi-tile__price {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: var(--urumi-body);
	font-variant-numeric: tabular-nums;
}

/* Struck-through old prices: neutral-4, not neutral-1 - #999999 on canvas is
   2.75:1 and fails WCAG AA; the spec's contrast gate outranks the token note. */
.urumi-tile__price del {
	color: var(--urumi-n4);
	text-decoration: line-through;
	margin-right: 6px;
}

.urumi-price--sale { color: var(--urumi-body); font-weight: 500; }
.urumi-tile__from { font-size: 13px; color: var(--urumi-n3); }

.urumi-tile__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-top: 2px;
}

/* add-to-cart inside a tile: quiet text link */

.urumi-tile__add .button,
.urumi-tile__add .added_to_cart {
	background: none;
	border: none;
	box-shadow: none;
	padding: 7px 0;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-body);
	border-radius: 0;
	min-height: 0;
	line-height: 1.35;
}

.urumi-tile__add .button:hover,
.urumi-tile__add .added_to_cart:hover {
	text-decoration: underline;
	opacity: 0.7;
	background: none;
	color: var(--urumi-body);
}

/* flags: plain text, no fill, no colour */

.urumi-flags {
	display: flex;
	gap: 12px;
	margin-bottom: 8px;
}

.urumi-flag--sale { text-decoration: underline; }
.urumi-flag--oos { color: var(--urumi-n4); }
.urumi-flag--new { color: var(--urumi-ink); }

/* editorial split */

.urumi-editorial {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding: clamp(56px, 8vw, 120px) clamp(16px, 3vw, 32px);
	background: var(--urumi-surface-alt);
}

.urumi-editorial__media {
	aspect-ratio: 4 / 5;
	max-height: 640px;
}

.urumi-editorial__heading {
	font-family: "Newsreader Variable", serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--urumi-ink);
	margin: 0 0 16px;
}

.urumi-editorial__body {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-body);
	max-width: 460px;
	margin: 0 0 24px;
}

@media (max-width: 767px) {
	.urumi-editorial { grid-template-columns: 1fr; gap: 24px; }
}

/* archive */

.urumi-cat-banner {
	width: 100%;
	margin-bottom: clamp(20px, 3vw, 36px);
}

.urumi-cat-banner .urumi-photo {
	display: block;
	width: 100%;
	height: clamp(160px, 26vw, 360px);
	object-fit: cover;
}

.urumi-archive-head {
	padding-top: clamp(40px, 5vw, 72px);
	padding-bottom: 24px;
}

.urumi-archive-head .wp-block-query-title,
.urumi-archive-head h1 {
	font-family: "Newsreader Variable", serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.2px;
	color: var(--urumi-ink);
	margin: 0;
}

.urumi-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
	margin: 20px 0 12px;
}

.urumi-pill,
.urumi-pill--all {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-n3);
	background: none;
	border: none;
	border-radius: 0;
	padding: 7px 0;
	text-decoration: none;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.urumi-pill:hover { color: var(--urumi-ink); text-decoration: underline; }

.urumi-pill.is-active,
.urumi-pill--all[aria-current="page"] {
	color: var(--urumi-ink);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.urumi-sort-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid var(--urumi-hairline);
	border-bottom: 1px solid var(--urumi-hairline);
	padding: 4px 0;
	margin-bottom: 32px;
}

.urumi-sort-row select {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	color: var(--urumi-n3);
}

.urumi-collection .wc-block-layout {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px 24px;
}

.urumi-collection .wc-block-layout > * { min-width: 0; }

.urumi-collection .wp-block-post-title,
.urumi-tile-name {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-ink);
}

.urumi-tile-name a { color: var(--urumi-ink); text-decoration: none; }
.urumi-tile-name a:hover { text-decoration: underline; }

.urumi-tile-desc {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.26px;
	color: var(--urumi-n4);
	margin: 4px 0 0;
}

/* pagination: plain text */

.wp-block-query-pagination {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	margin-top: 40px;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	color: var(--urumi-n3);
	text-decoration: none;
	padding: 8px 10px;
	display: inline-block;
}

.wp-block-query-pagination a:hover { color: var(--urumi-ink); text-decoration: underline; }

.wp-block-query-pagination .current,
.wp-block-query-pagination .page-numbers.current {
	color: var(--urumi-ink);
	font-weight: 500;
	text-decoration: underline;
}

/* product */

.woocommerce-breadcrumb {
	margin: 24px 0;
}

.woocommerce-breadcrumb a { color: var(--urumi-n3); }
.woocommerce-breadcrumb a:hover { color: var(--urumi-ink); }

.urumi-pdp {
	align-items: flex-start;
	margin-top: 8px;
	gap: 40px;
}

/* gallery: vertical thumbnails on desktop, swipe strip on mobile */

.urumi-pdp__gallery { flex-basis: 55% !important; }

.woocommerce-product-gallery {
	display: flex;
	flex-direction: row-reverse;
	gap: 12px;
}

.woocommerce-product-gallery__wrapper { flex: 1; margin: 0; }

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	display: block;
}

.flex-control-thumbs {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 72px;
	order: -1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.flex-control-thumbs li { width: 72px; }

.flex-control-thumbs img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	display: block;
	opacity: 1;
	border: 1px solid transparent;
	border-radius: 0;
}

.flex-control-thumbs .flex-active,
.flex-control-thumbs img:hover {
	border-color: var(--urumi-ink);
	opacity: 1;
}

@media (max-width: 767px) {
	.woocommerce-product-gallery { flex-direction: column-reverse; }
	.flex-control-thumbs {
		flex-direction: row;
		width: 100%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
	.flex-control-thumbs li { width: 64px; flex: 0 0 auto; scroll-snap-align: start; }
}

.urumi-pdp__title {
	font-family: "Newsreader Variable", serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.2px;
	color: var(--urumi-ink);
	margin: 0 0 8px;
}

.urumi-pdp__price,
.urumi-pdp__price .woocommerce-Price-amount {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 16px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	color: var(--urumi-body);
}

.urumi-pdp__excerpt {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-body);
}

.urumi-pdp__meta { margin-top: 16px; }

/* forms: 44px controls, hairline borders, ink focus */

input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-select__select {
	height: 44px;
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
	background: transparent;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	color: var(--urumi-ink);
	padding: 0 12px;
	box-shadow: none;
	transition: border-color 200ms ease;
}

select { padding-right: 32px; }
textarea { min-height: 96px; padding: 12px; height: auto; }

input:focus,
select:focus,
textarea:focus {
	border-color: var(--urumi-ink);
	box-shadow: inset 0 0 0 1px rgb(235, 235, 235);
}

label,
.wc-block-components-text-input label {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 12px;
	letter-spacing: 0.48px;
	text-transform: uppercase;
	color: var(--urumi-n3);
}

.quantity .qty {
	height: 44px;
	border: 1px solid var(--urumi-n2);
}

/* accordions: plain, hairline-ruled */

.urumi-accordion,
.urumi-details {
	border-top: 1px solid var(--urumi-hairline);
	border-radius: 0;
}

.urumi-accordion summary,
.urumi-accordion summary h2 {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-ink);
	padding: 14px 0;
	cursor: pointer;
	list-style: none;
}

.urumi-accordion summary::-webkit-details-marker { display: none; }
.urumi-accordion summary::after { content: "+"; float: right; font-weight: 400; }
.urumi-accordion[open] summary::after { content: "\2212"; }

.urumi-accordion__body,
.urumi-details > * {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	line-height: 1.35;
}

.urumi-stock { margin: 0 0 12px; }

.urumi-stock--out { color: var(--urumi-ink); font-weight: 500; }

/* notices and errors: words, weight, underline. Ink left border. Never red. */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner,
.urumi-error {
	background: transparent;
	border: none;
	border-left: 1px solid var(--urumi-ink);
	border-radius: 0;
	color: var(--urumi-ink);
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	padding: 12px 0 12px 16px;
	margin: 16px 0;
	list-style: none;
	box-shadow: none;
}

.woocommerce-error::before,
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-block-components-error-message,
.wc-block-components-notice-banner.is-error { color: var(--urumi-ink); }

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

.urumi-error,
.form-row.woocommerce-invalid input {
	border-color: var(--urumi-ink);
}

.urumi-error::before { content: "Error: "; font-weight: 500; }

/* cart + checkout */

.urumi-cart-wrap,
.urumi-checkout-wrap { padding: clamp(32px, 4vw, 64px) 0; }

.woocommerce-cart-form table.shop_table,
table.shop_table,
.wc-block-cart-items {
	border: none;
	border-collapse: collapse;
	border-radius: 0;
	background: transparent;
}

table.shop_table th,
table.shop_table td,
.wc-block-cart-items th {
	border: none;
	border-bottom: 1px solid var(--urumi-hairline);
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	color: var(--urumi-n3);
	padding: 16px 8px;
	text-transform: uppercase;
}

table.shop_table img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	display: block;
}

table.shop_table td.product-name,
.wc-block-cart-item__product a {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--urumi-ink);
}

.cart_totals,
.wc-block-cart__totals,
.urumi-summary {
	background: var(--urumi-surface-alt);
	border: none;
	border-radius: 0;
	padding: 24px;
	font-family: "Hanken Grotesk Variable", sans-serif;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button {
	width: 100%;
}

/* order summary on surface-alt */
.wc-block-checkout__sidebar,
.wc-block-components-totals-wrapper {
	background: transparent;
}

.wc-block-components-totals-wrapper {
	border-radius: 0;
}

/* empty cart: calm sentence + text button */
.cart-empty,
.woocommerce-info.cart-empty {
	font-family: "Newsreader Variable", serif;
	font-size: 18px;
	color: var(--urumi-body);
	border: none;
	background: transparent;
	padding: 24px 0;
}

/* order received: hairline-ruled list */
.woocommerce-order-overview,
.woocommerce-order-overview {
	border: none;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
}

.woocommerce-order-overview li,
.woocommerce-order-overview li {
	border-bottom: 1px solid var(--urumi-hairline);
	padding: 12px 0;
	display: flex;
	justify-content: space-between;
}

.woocommerce-order-overview li strong { color: var(--urumi-ink); font-weight: 500; }

/* account, search, 404 */

.urumi-404 {
	padding: clamp(56px, 8vw, 120px) 16px;
	max-width: 560px;
	margin: 0 auto;
	text-align: left;
}

.urumi-404 h1 {
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 12px;
}

.urumi-404__search {
	display: flex;
	gap: 8px;
	margin: 24px 0;
}

.urumi-404__search input[type="search"] {
	flex: 1;
	height: 44px;
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
	padding: 0 12px;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	background: transparent;
}

.urumi-404__links { display: flex; gap: 16px; align-items: center; }

/* search results + account: same grid, minimal */

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--urumi-hairline);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-n3);
	display: block;
	padding: 14px 0;
	min-height: 44px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	color: var(--urumi-ink);
	text-decoration: underline;
}

/* footer */

.urumi-site-footer {
	background: var(--urumi-surface-alt);
	border-top: 1px solid var(--urumi-hairline);
	margin-top: 0;
	padding: clamp(40px, 6vw, 72px) 0 32px;
}

.urumi-footer {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 clamp(16px, 3vw, 32px);
}

.urumi-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 32px;
}

.urumi-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.urumi-footer__col a {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.26px;
	color: var(--urumi-n3);
	padding: 7px 0;
	display: inline-block;
}

.urumi-footer__col a:hover { color: var(--urumi-ink); text-decoration: underline; }

.urumi-footer__blurb {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--urumi-body);
	margin: 0 0 4px;
}

.urumi-footer__demo,
.urumi-footer__credits,
.urumi-footer__small {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.24px;
	color: var(--urumi-n3);
	margin: 4px 0;
}

.urumi-footer__credits a {
	color: var(--urumi-n3);
	text-decoration: underline;
}

.urumi-footer__small { margin-top: 16px; }

@media (max-width: 767px) {
	.urumi-footer__cols { grid-template-columns: 1fr 1fr; }
}

.urumi-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

/* search + 404 + account */

.urumi-404 {
	padding: clamp(56px, 8vw, 120px) 16px;
	max-width: 720px;
	margin: 0 auto;
}

.urumi-404__search {
	display: flex;
	gap: 8px;
	margin: 24px 0;
}

.urumi-404__search input[type="search"] {
	flex: 1;
	max-width: 360px;
	height: 44px;
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
	padding: 0 12px;
	background: transparent;
}

.urumi-search-results-grid ul.urumi-grid { margin-top: 24px; }

/* mini-cart drawer restyle (Woo block) */

.wc-block-mini-cart__drawer .components-drawer__content {
	background: var(--urumi-canvas);
}

.wc-block-components-drawer__header,
.wc-block-mini-cart__title {
	font-family: "Newsreader Variable", serif;
	font-size: 24px;
	font-weight: 500;
	color: var(--urumi-ink);
}

/* cut Woo SPA artifacts: no radius, no shadows anywhere */

.wc-block-components-panel,
.wc-block-components-express-payment,
.wc-block-components-totals-wrapper,
.wc-block-checkout__form,
.wc-block-cart,
.wc-block-components-product-image img,
.wc-block-components-text-input input,
.wc-block-components-select__select,
.wp-block-woocommerce-product-gallery,
.wc-block-components-quantity-selector,
.wc-block-components-drawer,
.wc-block-mini-cart__drawer,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-order-summary,
select,
input,
textarea,
button {
	border-radius: 0 !important;
	box-shadow: none;
}

.wc-block-components-radio-control__option {
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
}

.wc-block-components-radio-control__option {
	border-radius: 0;
}

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-radius: 0;
}

/* disabled */

button:disabled,
input:disabled,
.urumi-btn[aria-disabled="true"],
.wc-block-components-button[disabled] {
	opacity: 0.4;
	color: var(--urumi-n1);
	cursor: not-allowed;
}

/* motion off */

@media (prefers-reduced-motion: reduce) {
	.urumi-frame img,
	.urumi-frame .urumi-photo,
	.urumi-tile__media img,
	.urumi-cat-tile:hover .urumi-photo,
	.urumi-tile__media:hover img {
		transition: none;
		transform: none;
	}

	.urumi-menu-overlay { transition: none; }

	a, .urumi-btn, button, .urumi-btn-text { transition: none; }
}

/* responsive grids */

@media (max-width: 1023px) {
	ul.urumi-grid { grid-template-columns: repeat(3, 1fr); }
	.urumi-collection .wc-block-layout { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
	ul.urumi-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; }
	.urumi-collection .wc-block-layout { grid-template-columns: repeat(2, 1fr); }
	.urumi-nav { gap: 16px; }
}

/* touch targets and no horizontal scroll at 375 */

@media (max-width: 374px) {
	html, body { overflow-x: hidden; }
}

img { max-width: 100%; height: auto; }

/* screen-reader text (Woo core) stays hidden but focusable-reachable */

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

/* product */

.woocommerce-breadcrumb {
	margin: 24px 0;
}

.woocommerce-breadcrumb a { color: var(--urumi-n3); }
.woocommerce-breadcrumb a:hover { color: var(--urumi-ink); }

.urumi-pdp {
	align-items: flex-start;
	margin-top: 8px;
	gap: 40px;
}

/* gallery: vertical thumbnails on desktop, swipe strip on mobile */

.urumi-pdp__gallery { flex-basis: 55% !important; }

.woocommerce-product-gallery {
	display: flex;
	flex-direction: row-reverse;
	gap: 12px;
}

.woocommerce-product-gallery__wrapper { flex: 1; margin: 0; }

.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	display: block;
}

.flex-control-thumbs {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 72px;
	order: -1;
	list-style: none;
	margin: 0;
	padding: 0;
}

.flex-control-thumbs li { width: 72px; }

.flex-control-thumbs img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	display: block;
	opacity: 1;
	border: 1px solid transparent;
	border-radius: 0;
}

.flex-control-thumbs .flex-active,
.flex-control-thumbs img:hover {
	border-color: var(--urumi-ink);
	opacity: 1;
}

@media (max-width: 767px) {
	.woocommerce-product-gallery { flex-direction: column-reverse; }
	.flex-control-thumbs {
		flex-direction: row;
		width: 100%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
	.flex-control-thumbs li { width: 64px; flex: 0 0 auto; scroll-snap-align: start; }
}

.urumi-pdp__title {
	font-family: "Newsreader Variable", serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.2px;
	color: var(--urumi-ink);
	margin: 0 0 8px;
}

.urumi-pdp__price,
.urumi-pdp__price .woocommerce-Price-amount {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 16px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	color: var(--urumi-body);
}

.urumi-pdp__excerpt {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--urumi-body);
}

.urumi-pdp__meta { margin-top: 16px; }

/* forms: 44px controls, hairline borders, ink focus */

input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-select__select {
	height: 44px;
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
	background: transparent;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	color: var(--urumi-ink);
	padding: 0 12px;
	box-shadow: none;
	transition: border-color 200ms ease;
}

select { padding-right: 32px; }
textarea { min-height: 96px; padding: 12px; height: auto; }

input:focus,
select:focus,
textarea:focus {
	border-color: var(--urumi-ink);
	box-shadow: inset 0 0 0 1px rgb(235, 235, 235);
}

label,
.wc-block-components-text-input label {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 12px;
	letter-spacing: 0.48px;
	text-transform: uppercase;
	color: var(--urumi-n3);
}

.quantity .qty {
	height: 44px;
	border: 1px solid var(--urumi-n2);
}

/* accordions: plain, hairline-ruled */

.urumi-accordion,
.urumi-details {
	border-top: 1px solid var(--urumi-hairline);
	border-radius: 0;
}

.urumi-accordion summary,
.urumi-accordion summary h2 {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-ink);
	padding: 14px 0;
	cursor: pointer;
	list-style: none;
}

.urumi-accordion summary::-webkit-details-marker { display: none; }
.urumi-accordion summary::after { content: "+"; float: right; font-weight: 400; }
.urumi-accordion[open] summary::after { content: "\2212"; }

.urumi-accordion__body,
.urumi-details > * {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	line-height: 1.35;
}

.urumi-stock { margin: 0 0 12px; }

.urumi-stock--out { color: var(--urumi-ink); font-weight: 500; }

/* notices and errors: words, weight, underline. Ink left border. Never red. */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner,
.urumi-error {
	background: transparent;
	border: none;
	border-left: 1px solid var(--urumi-ink);
	border-radius: 0;
	color: var(--urumi-ink);
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	padding: 12px 0 12px 16px;
	margin: 16px 0;
	list-style: none;
	box-shadow: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

.form-row.woocommerce-invalid input { border-color: var(--urumi-ink); }

/* cart + checkout */

.woocommerce-cart-form table.shop_table,
table.shop_table,
.wc-block-cart-items {
	border: none;
	border-collapse: collapse;
	border-radius: 0;
	background: transparent;
}

table.shop_table th,
table.shop_table td,
.wc-block-cart-items th {
	border: none;
	border-bottom: 1px solid var(--urumi-hairline);
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	color: var(--urumi-n3);
	padding: 16px 8px;
	text-transform: uppercase;
}

table.shop_table img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	display: block;
}

table.shop_table td.product-name,
.wc-block-cart-item__product a {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--urumi-ink);
}

.cart_totals,
.wc-block-cart__totals,
.urumi-summary {
	background: var(--urumi-surface-alt);
	border: none;
	border-radius: 0;
	padding: 24px;
	font-family: "Hanken Grotesk Variable", sans-serif;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button {
	width: 100%;
}

/* empty cart: calm sentence, no fill */

.cart-empty,
.woocommerce-info.cart-empty {
	font-family: "Newsreader Variable", serif;
	font-size: 18px;
	color: var(--urumi-body);
	border: none;
	background: transparent;
	padding: 24px 0;
	box-shadow: none;
}

/* order received: hairline-ruled list */

.woocommerce-order-overview {
	border: none;
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
}

.woocommerce-order-overview li {
	border-bottom: 1px solid var(--urumi-hairline);
	padding: 12px 0;
	display: flex;
	justify-content: space-between;
}

.woocommerce-order-overview li strong { color: var(--urumi-ink); font-weight: 500; }

/* account */

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--urumi-hairline);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	letter-spacing: 0.26px;
	text-transform: uppercase;
	color: var(--urumi-n3);
	display: block;
	padding: 14px 0;
	min-height: 44px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
	color: var(--urumi-ink);
	text-decoration: underline;
}

/* 404 + search */

.urumi-404 {
	padding: clamp(56px, 8vw, 120px) 16px;
	max-width: 720px;
	margin: 0 auto;
}

.urumi-404 h1 {
	font-family: "Newsreader Variable", serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 12px;
}

.urumi-404__search {
	display: flex;
	gap: 8px;
	margin: 24px 0;
}

.urumi-404__search input[type="search"] {
	flex: 1;
	max-width: 360px;
	height: 44px;
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
	padding: 0 12px;
	background: transparent;
}

.urumi-404__links { display: flex; gap: 16px; align-items: center; }

/* footer */

.urumi-site-footer {
	background: var(--urumi-surface-alt);
	border-top: 1px solid var(--urumi-hairline);
	padding: clamp(40px, 6vw, 72px) 0 32px;
}

.urumi-footer {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 clamp(16px, 3vw, 32px);
}

.urumi-footer__cols {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 32px;
}

.urumi-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.urumi-footer__col a {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.26px;
	color: var(--urumi-n3);
	padding: 7px 0;
	display: inline-block;
}

.urumi-footer__col a:hover { color: var(--urumi-ink); text-decoration: underline; }

.urumi-footer__blurb {
	font-family: "Newsreader Variable", serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--urumi-body);
	margin: 0 0 4px;
}

.urumi-footer__demo,
.urumi-footer__credits,
.urumi-footer__small {
	font-family: "Hanken Grotesk Variable", sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.24px;
	color: var(--urumi-n3);
	margin: 4px 0;
}

.urumi-footer__credits a {
	color: var(--urumi-n3);
	text-decoration: underline;
}

.urumi-footer__small { margin-top: 16px; }

@media (max-width: 767px) {
	.urumi-footer__cols { grid-template-columns: 1fr 1fr; }
}

/* Woo block surfaces: radius 0, no shadows, ever */

.wc-block-components-panel,
.wc-block-components-express-payment,
.wc-block-components-totals-wrapper,
.wc-block-checkout__form,
.wc-block-cart,
.wc-block-components-product-image img,
.wc-block-components-text-input input,
.wc-block-components-select__select,
.wp-block-woocommerce-product-gallery,
.wc-block-components-quantity-selector,
.wc-block-components-drawer,
.wc-block-mini-cart__drawer,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-order-summary,
select,
input,
textarea {
	border-radius: 0 !important;
	box-shadow: none;
}

.wc-block-components-radio-control__option {
	border: 1px solid var(--urumi-n2);
	border-radius: 0;
}

/* checkout sidebar on surface-alt */

.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar {
	background: var(--urumi-surface-alt);
	padding: 16px;
}

/* disabled */

button:disabled,
input:disabled,
select:disabled,
.urumi-btn[aria-disabled="true"],
.wc-block-components-button[disabled] {
	opacity: 0.4;
	color: var(--urumi-n1);
	cursor: not-allowed;
}

/* reduced motion: zoom and fades off */

@media (prefers-reduced-motion: reduce) {
	.urumi-frame img,
	.urumi-frame .urumi-photo,
	.urumi-tile__media img,
	.urumi-cat-tile:hover .urumi-photo,
	.urumi-tile__media:hover img {
		transition: none;
		transform: none;
	}

	.urumi-menu-overlay { transition: none; }

	a,
	.urumi-btn,
	button,
	.urumi-btn-text {
		transition: none;
	}
}

/* responsive grids: 4 / 3 / 2 columns */

@media (max-width: 1023px) {
	ul.urumi-grid { grid-template-columns: repeat(3, 1fr); }
	.urumi-collection .wc-block-layout { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
	ul.urumi-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 16px; }
	.urumi-collection .wc-block-layout { grid-template-columns: repeat(2, 1fr); }
	.urumi-nav { gap: 16px; }
}

/* guards */

img { max-width: 100%; height: auto; }

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