/*
 * Homepage, header, and footer presentation for the approved storefront shell.
 * Fixture classes are visual placeholders only; domain behavior belongs to
 * WooCommerce, the commerce plugin, or the editorial plugin.
 */

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

/* Shared header. */
.cc-header__brand {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	margin: 0;
	gap: 0;
	align-content: center;
}

.cc-header__logo {
	grid-column: 1;
	grid-row: 1;
	width: min(100%, 17rem);
	margin: 0;
}

.cc-header__logo a {
	display: block;
}

.cc-header__logo img {
	width: auto;
	max-width: 100%;
	max-height: 6.2rem;
	height: auto;
	object-fit: contain;
	object-position: left center;
	/*
	 * Keep the crow, branch, and wordmark from the approved transparent asset
	 * while removing only its lower-right raster tagline. The editable native
	 * Site Tagline occupies that same visual line below.
	 */
	clip-path: polygon(0 0, 100% 0, 100% 70%, 35% 70%, 35% 100%, 0 100%);
}

.cc-header__tagline {
	z-index: 1;
	grid-column: 1;
	grid-row: 2;
	max-width: 68%;
	margin: -1.45rem 0 0 32%;
	color: var(--cc-bronze);
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: clamp(0.48rem, 0.72vw, 0.62rem);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.cc-header__mobile-title {
	display: none;
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}

.cc-header__mobile-title a {
	display: inline-flex;
	min-width: var(--cc-control-min);
	min-height: var(--cc-control-min);
	align-items: center;
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-header__actions {
	max-width: 100%;
	gap: clamp(0.55rem, 1.4vw, 1.25rem);
}

.cc-header-action {
	display: grid;
	min-width: var(--cc-control-min);
	min-height: calc(var(--cc-control-min) + 1rem);
	grid-template-rows: var(--cc-control-min) 1rem;
	justify-items: center;
	align-content: center;
	gap: 0.1rem;
	margin: 0;
	color: var(--cc-ink);
}

.cc-header-action > * {
	margin: 0;
}

.cc-header-action__icon {
	display: inline-grid;
	min-width: var(--cc-control-min);
	min-height: var(--cc-control-min);
	place-items: center;
	font-family: Georgia, serif;
	font-size: 2rem;
	line-height: 1;
}

.cc-header-action__label {
	display: grid;
	max-width: 100%;
	height: 1rem;
	grid-row: 2;
	align-items: center;
	margin: 0;
	color: var(--cc-ink);
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1rem;
	text-align: center;
	white-space: nowrap;
}

.cc-header__favorite-slot {
	min-height: var(--cc-control-min);
}

.cc-header-favorites {
	position: relative;
	display: grid !important;
	min-width: var(--cc-control-min);
	min-height: calc(var(--cc-control-min) + 1rem);
	grid-row: 1 / -1;
	grid-template-rows: var(--cc-control-min) 1rem;
	place-items: center;
	gap: 0.1rem;
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-header-favorites > span:first-child {
	display: inline-grid;
	width: 1.25rem;
	height: 1.25rem;
	grid-row: 1;
	place-items: center;
	overflow: visible;
	line-height: 1;
}

.cc-header-favorites > span:nth-child(2) {
	display: grid;
	max-width: 100%;
	height: 1rem;
	grid-row: 2;
	align-items: center;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1rem;
	white-space: nowrap;
}

.cc-header__account > .wp-block-woocommerce-customer-account,
.cc-header__cart > :where(
	.wp-block-woocommerce-mini-cart,
	.wc-block-mini-cart,
	.wc-block-mini-cart__button
) {
	grid-row: 1;
}

.cc-header__actions :where(
	.wp-block-woocommerce-customer-account,
	.wc-block-customer-account__account-icon,
	.wc-block-mini-cart,
	.wc-block-mini-cart__button
) {
	align-self: center;
	justify-self: center;
}

.cc-header__actions :where(
	.wc-block-customer-account__account-icon,
	.wc-block-mini-cart__icon
) {
	width: 1.25rem;
	height: 1.25rem;
	overflow: visible;
}

.cc-site-header .cc-header__actions .cc-header__cart .cc-header-cart-fallback__icon {
	display: block;
	width: 1.25rem !important;
	height: 1.25rem !important;
	min-width: 1.25rem !important;
	min-height: 1.25rem !important;
	max-width: 1.25rem !important;
	max-height: 1.25rem !important;
	flex: 0 0 1.25rem !important;
	margin: 0 !important;
	aspect-ratio: 1;
	overflow: visible;
}

.cc-header-favorites__count {
	position: absolute;
	inset-block-start: 0.1rem;
	inset-inline-end: 0.1rem;
	display: inline-grid;
	min-width: 1.25rem;
	min-height: 1.25rem;
	padding-inline: 0.25rem;
	border-radius: 999px;
	background: var(--cc-gold);
	color: var(--cc-paper);
	font-size: 0.72rem;
	line-height: 1;
	place-items: center;
}

.cc-header__cart .wc-block-mini-cart__badge {
	min-width: 1.25rem;
	min-height: 1.25rem;
	font-size: 0.72rem;
	line-height: 1;
}

/* Homepage composition. */
.cc-homepage {
	padding-block: clamp(0.6rem, 1.2vw, 1rem) 0;
}

.cc-homepage-pattern {
	display: grid;
	gap: clamp(0.8rem, 1.5vw, 1.25rem);
	width: 100%;
}

.cc-home-hero {
	min-height: clamp(17.5rem, 25vw, 21rem) !important;
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-md);
	background: var(--cc-paper);
	box-shadow: 0 0.25rem 1.1rem rgb(24 22 18 / 8%);
	overflow: hidden;
}

.cc-home-hero .wp-block-cover__image-background {
	object-position: center center;
}

.cc-home-hero__picture {
	position: absolute;
	inset: 0;
}

.cc-home-hero .wp-block-cover__inner-container {
	display: flex;
	min-height: inherit;
	align-items: center;
}

.cc-home-hero__copy {
	width: min(51%, 39rem);
	margin-inline: 0 auto;
	padding: clamp(1.4rem, 3.5vw, 3.2rem);
	background: linear-gradient(90deg, rgb(254 252 247 / 96%) 0 62%, rgb(254 252 247 / 70%) 82%, transparent 100%);
}

.cc-home-hero__title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(2rem, 3.6vw, 3.25rem);
	line-height: 0.98;
}

.cc-home-hero__intro {
	max-width: 39ch;
	margin-block: 1rem 1.25rem;
	color: var(--cc-muted);
	font-size: clamp(0.9rem, 1.3vw, 1rem);
	line-height: 1.45;
}

.cc-home-hero__actions {
	gap: 0.7rem;
}

.cc-home-hero__actions .wp-block-button__link {
	min-width: var(--cc-control-min);
	min-height: var(--cc-control-min);
	padding: 0.7rem 1.2rem;
}

.cc-home-hero__actions .is-style-outline .wp-block-button__link {
	border-color: var(--cc-bronze-light);
	background: rgb(254 252 247 / 80%);
	color: var(--cc-ink);
}

.cc-home-hero__dots {
	display: none;
	justify-content: center;
	gap: 0.45rem;
	margin-block: -0.25rem 0;
}

.cc-home-hero__dots span {
	width: 0.38rem;
	height: 0.38rem;
	border-radius: 999px;
	background: var(--cc-sand);
}

.cc-home-hero__dots .is-active {
	background: var(--cc-bronze-light);
}

.cc-home-section {
	min-width: 0;
	margin: 0;
}

/*
 * Inserter-ready page sections remain ordinary native blocks. Editors can
 * move, duplicate, hide, or remove the named outer Group in List View.
 */
.cc-composable-section {
	display: grid;
	width: min(100%, var(--wp--style--global--wide-size, 80rem));
	min-width: 0;
	gap: clamp(0.75rem, 1.8vw, 1.25rem);
	margin-block: clamp(2rem, 5vw, 4.5rem);
	margin-inline: auto;
	padding-block: clamp(1.25rem, 3vw, 2rem);
	border-block: 1px solid var(--cc-sand);
}

.cc-composable-section > * {
	margin-block: 0;
}

.cc-composable-section .cc-section-heading {
	margin-block-end: 0;
}

.cc-section-heading {
	position: relative;
	min-height: 2.1rem;
	gap: 1rem;
	margin-block-end: 0.6rem;
	padding-block-end: 0.45rem;
	border-bottom: 1px solid var(--cc-sand);
}

.cc-section-heading::after {
	position: absolute;
	inset-inline-start: 6rem;
	inset-block-end: -0.2rem;
	width: 0.4rem;
	height: 0.4rem;
	border: 1px solid var(--cc-bronze-light);
	background: var(--cc-paper);
	content: "";
	transform: rotate(45deg);
}

.cc-section-heading > * {
	margin: 0;
}

.cc-section-heading h2 {
	font-size: clamp(1.1rem, 1.7vw, 1.35rem) !important;
}

.cc-section-heading__link,
.cc-cupboard-promo__link,
.cc-story-fixture__link {
	display: inline-flex;
	min-width: var(--cc-control-min);
	min-height: var(--cc-control-min);
	align-items: center;
	color: var(--cc-bronze);
	font-size: 0.75rem;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.cc-section-heading__link:hover,
.cc-cupboard-promo__link:hover,
.cc-story-fixture__link:hover {
	text-decoration: underline;
}

/* Live WooCommerce category cards. */
.cc-category-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.6rem, 1.2vw, 1rem);
	align-items: stretch;
}

.cc-category-grid--homepage {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(0, 1fr);
}

.cc-category-grid--homepage[data-cc-category-count="0"] {
	grid-template-columns: minmax(0, 1fr);
}

.cc-category-grid--homepage[data-cc-category-count="0"] .cc-category-card {
	width: min(100%, 18rem);
	justify-self: center;
}

.cc-category-card {
	display: grid;
	position: relative;
	height: 100%;
	grid-template-rows: minmax(0, 1fr);
	gap: 0;
	min-width: 0;
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-sm);
	background: var(--cc-paper);
	box-shadow: 0 0.15rem 0.55rem rgb(24 22 18 / 4%);
	overflow: hidden;
}

.cc-category-card > *,
.cc-category-card__body > * {
	margin: 0;
}

.cc-category-card .wp-block-image,
.cc-category-card__media {
	display: block;
	width: 100%;
}

.cc-category-card__primary {
	display: grid;
	height: 100%;
	min-width: 0;
	min-height: var(--cc-control-min);
	grid-template-rows: auto minmax(0, 1fr);
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-category-card__primary:hover {
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-category-card__primary:focus-visible {
	z-index: 1;
	border-radius: calc(var(--cc-radius-sm) - 1px);
	outline: 3px solid var(--cc-bronze);
	outline-offset: -3px;
}

.cc-category-card:has(> .cc-category-card__primary:hover),
.cc-category-card:has(> .cc-category-card__primary:focus-visible) {
	border-color: var(--cc-bronze-light);
	box-shadow: var(--cc-shadow-card);
}

.cc-category-card__media {
	aspect-ratio: 3 / 2;
	background: var(--cc-commerce-soft, #f7f1e6);
	overflow: hidden;
}

.cc-category-card img,
.cc-category-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 5.6rem;
	object-fit: cover;
}

.cc-category-card__image--fallback img {
	padding: clamp(0.45rem, 1.4vw, 0.9rem);
	object-fit: contain;
}

.cc-category-card__body {
	display: flex;
	gap: 0.18rem;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	padding-block-end: 0.35rem;
}

.cc-category-card h3,
.cc-category-card h4,
.cc-category-card p {
	padding-inline: 0.75rem;
}

.cc-category-card h3,
.cc-category-card h4 {
	display: flex;
	min-height: var(--cc-control-min);
	align-items: center;
	margin: 0;
	font-size: clamp(0.92rem, 1.25vw, 1.08rem) !important;
}

.cc-category-card :is(h3, h4) a {
	display: inline-flex;
	min-height: var(--cc-control-min);
	align-items: center;
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-category-card :is(h3, h4) a:hover {
	color: var(--cc-bronze);
	text-decoration: underline;
}

.cc-category-card__primary:hover :is(h3, h4),
.cc-category-card__primary:focus-visible :is(h3, h4) {
	color: var(--cc-bronze);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.cc-category-card p {
	color: var(--cc-bronze);
	font-size: 0.72rem !important;
	font-weight: 650;
}

.cc-category-card .cc-category-card__count {
	color: var(--cc-muted);
	font-weight: 500;
}

.cc-category-card__breadcrumb {
	padding: 0.35rem 0.75rem 0;
}

.cc-category-card__breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 0.3rem;
	padding: 0;
	margin: 0;
	color: var(--cc-muted);
	font-size: 0.67rem;
	line-height: 1.25;
	list-style: none;
}

.cc-category-card__breadcrumb li {
	display: inline-flex;
	min-width: 0;
	align-items: center;
}

.cc-category-card__breadcrumb li + li::before {
	margin-inline-end: 0.3rem;
	color: var(--cc-bronze-light);
	content: "/";
}

.cc-category-card__breadcrumb :where(a, span) {
	display: inline-flex;
	min-height: var(--cc-control-min);
	align-items: center;
	color: inherit;
	text-decoration: none;
	text-wrap: pretty;
	overflow-wrap: anywhere;
}

.cc-category-card__breadcrumb a:hover {
	color: var(--cc-bronze);
	text-decoration: underline;
}

.cc-category-card__breadcrumb--static {
	display: flex;
	min-height: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.15rem 0.3rem;
	color: var(--cc-muted);
	font-size: 0.67rem !important;
	font-weight: 500 !important;
	line-height: 1.25;
}

.cc-category-card__breadcrumb--static > span {
	display: inline;
	min-height: 0;
}

.cc-category-card__breadcrumb-separator {
	color: var(--cc-bronze-light);
}

.cc-category-card__cue {
	display: inline-flex;
	min-height: var(--cc-control-min);
	align-items: center;
	margin-block-start: auto;
	padding-inline: 0.75rem;
	color: var(--cc-bronze);
	font-size: 0.72rem;
	font-weight: 650;
}

.cc-category-card__link {
	display: inline-flex;
	min-width: var(--cc-control-min);
	min-height: var(--cc-control-min);
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.cc-category-card__link:hover {
	text-decoration: underline;
}

.cc-category-card__modes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: 0;
	border-top: 1px solid var(--cc-sand);
}

.cc-category-card__modes a {
	display: inline-flex;
	min-width: 0;
	min-height: var(--cc-control-min);
	align-items: center;
	justify-content: center;
	padding: 0.45rem 0.25rem;
	border-inline-start: 1px solid var(--cc-sand);
	color: var(--cc-ink);
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.cc-category-card__modes a:first-child {
	border-inline-start: 0;
}

.cc-category-card__modes a:hover {
	background: var(--cc-commerce-soft, #f7f1e6);
	color: var(--cc-bronze);
	text-decoration: underline;
}

.cc-category-directory {
	gap: clamp(1rem, 2vw, 1.5rem);
}

/*
 * WordPress's constrained layout adds block margins beside this grid's gap.
 * Keep one intentional rhythm so the live directory begins near its intro.
 */

.cc-category-directory > * {
	margin-block: 0 !important;
}

.cc-category-directory__listing {
	display: grid;
	width: 100%;
	max-width: none !important;
	gap: clamp(0.65rem, 1.2vw, 1rem);
}

.cc-category-directory__listing > * {
	margin-block: 0 !important;
}

.cc-category-directory__listing-intro {
	max-width: 62ch;
	color: var(--cc-muted);
	font-size: 0.85rem;
	line-height: 1.45;
}

.cc-category-directory__hero {
	width: 100%;
	max-width: none !important;
}

.cc-category-directory__grid {
	display: grid;
	width: 100%;
	max-width: none !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
	grid-auto-rows: minmax(0, 1fr);
	gap: clamp(0.75rem, 1.7vw, 1.25rem);
	align-items: stretch;
	margin-block-start: clamp(1rem, 3vw, 1.75rem);
}

.cc-category-directory__groups {
	display: grid;
	width: 100%;
	max-width: none !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
	gap: clamp(0.75rem, 1.5vw, 1.15rem);
	align-items: start;
	margin-block: 0 !important;
	margin-inline: 0 !important;
}

.cc-category-directory__group {
	display: grid;
	min-width: 0;
	gap: clamp(0.75rem, 1.8vw, 1.1rem);
	align-content: start;
	padding: clamp(0.75rem, 2vw, 1.25rem);
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-md);
	background: color-mix(in srgb, var(--cc-paper) 82%, var(--cc-cream));
}

.cc-category-directory__group-heading {
	display: flex;
	min-width: 0;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	padding-block-end: 0.6rem;
	border-block-end: 1px solid var(--cc-sand);
}

.cc-category-directory__group-heading :where(h3, p) {
	margin: 0;
}

.cc-category-directory__group-heading h3 {
	font-size: clamp(1.1rem, 2vw, 1.45rem) !important;
}

.cc-category-directory__group-heading a {
	display: inline-flex;
	min-height: var(--cc-control-min);
	align-items: center;
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-category-directory__group-heading a:hover {
	color: var(--cc-bronze);
	text-decoration: underline;
}

.cc-category-directory__group-heading p {
	flex: 0 0 auto;
	color: var(--cc-muted);
	font-size: 0.75rem;
}

.cc-category-directory__group .cc-category-directory__grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr));
	margin-block-start: 0;
}

.cc-category-directory__grid .cc-category-card {
	min-height: 100%;
}

.cc-category-directory__empty {
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px dashed var(--cc-bronze-light);
	border-radius: var(--cc-radius-sm);
	color: var(--cc-muted);
	text-align: center;
}

.cc-home-category-products {
	margin-block-start: clamp(1.25rem, 3vw, 2rem);
}

/* The three compact feature panels mirror the desktop homepage reference. */
.cc-home-market-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1.8fr) minmax(15rem, 1.2fr) minmax(13rem, 0.9fr);
	gap: clamp(0.75rem, 1.4vw, 1.2rem);
	align-items: stretch;
}

.cc-home-market-row > .cc-home-section {
	padding-inline-end: clamp(0.4rem, 1vw, 0.9rem);
	border-inline-end: 1px solid var(--cc-sand);
}

.cc-home-market-row > .cc-home-section:last-child {
	padding-inline-end: 0;
	border-inline-end: 0;
}

.cc-product-fixture-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.45rem;
}

.cc-product-fixture {
	position: relative;
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0 0.35rem 0.4rem;
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-sm);
	background: var(--cc-paper);
	overflow: hidden;
}

.cc-product-fixture > * {
	margin: 0;
}

.cc-product-fixture .wp-block-image {
	width: calc(100% + 0.7rem);
	margin-inline: -0.35rem;
}

.cc-product-fixture img {
	width: 100%;
	min-height: 5rem;
	object-fit: cover;
}

.cc-product-fixture h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.7rem !important;
	font-weight: 650;
	line-height: 1.25;
}

.cc-product-fixture__favorite {
	position: absolute;
	z-index: 1;
	inset-block-start: 0.3rem;
	inset-inline-end: 0.3rem;
	display: grid;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	place-items: center;
	background: rgb(24 22 18 / 64%);
	color: var(--cc-paper);
	font-size: 1.15rem;
}

.cc-product-fixture__price {
	font-size: 0.82rem;
	font-weight: 750;
}

.cc-product-fixture__meta {
	margin-block-start: auto;
	color: var(--cc-muted);
	font-size: 0.58rem !important;
	line-height: 1.25;
}

.cc-product-fixture__action,
.cc-auction-fixture__action {
	min-height: 1.65rem;
	margin-block-start: 0.25rem;
	padding: 0.3rem 0.45rem;
	border: 1px solid var(--cc-bronze-light);
	border-radius: var(--cc-radius-sm);
	color: var(--cc-ink);
	font-size: 0.62rem;
	font-weight: 650;
	line-height: 1.2;
	text-align: center;
}

.cc-auction-fixture {
	display: grid !important;
	grid-template-columns: minmax(7rem, 0.85fr) minmax(8rem, 1.15fr);
	gap: 0.8rem;
	height: calc(100% - 2.7rem);
	min-height: 12.8rem;
	padding: 0.55rem;
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-sm);
	background: var(--cc-paper);
}

.cc-auction-fixture > .wp-block-image,
.cc-auction-fixture > .wp-block-image img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.cc-auction-fixture > .wp-block-image img {
	min-height: 10rem;
	object-fit: cover;
}

.cc-auction-fixture__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.22rem;
}

.cc-auction-fixture__copy > * {
	margin: 0;
}

.cc-auction-fixture__copy h3 {
	font-size: clamp(0.9rem, 1.3vw, 1.05rem) !important;
}

.cc-auction-fixture__badge {
	width: fit-content;
	padding: 0.18rem 0.38rem;
	border-radius: 999px;
	background: var(--cc-bronze-light);
	color: var(--cc-ink);
	font-size: 0.62rem !important;
	font-weight: 700;
}

.cc-auction-fixture__price {
	font-size: 1.05rem;
	font-weight: 750;
}

.cc-auction-fixture__meta {
	color: var(--cc-bronze);
	font-size: 0.7rem !important;
}

.cc-auction-fixture__action {
	margin-block-start: auto;
	border-color: var(--cc-ink);
	background: var(--cc-ink);
	color: var(--cc-paper);
}

.cc-cupboard-promo {
	position: relative;
	min-height: 15.5rem;
	padding: 0.25rem 0.2rem 0;
	overflow: hidden;
}

.cc-cupboard-promo > :not(.cc-cupboard-promo__art) {
	position: relative;
	z-index: 1;
}

.cc-cupboard-promo h2,
.cc-cupboard-promo p {
	margin-block: 0 0.65rem;
}

.cc-cupboard-promo h2 {
	font-size: clamp(1.1rem, 1.7vw, 1.35rem) !important;
}

.cc-cupboard-promo p:not(.cc-cupboard-promo__link) {
	font-size: 0.76rem;
	line-height: 1.45;
}

.cc-cupboard-promo__art {
	position: absolute;
	inset-inline-end: -1rem;
	inset-block-end: -1.2rem;
	width: min(72%, 13rem);
	margin: 0;
	mix-blend-mode: multiply;
}

.cc-cupboard-promo__art img {
	width: 100%;
}

/* Live homepage collections and Editorial queries. */
.cc-cupboard-promo--wide {
	min-height: clamp(12rem, 20vw, 15.5rem);
	padding: clamp(1.25rem, 3vw, 2rem) min(30%, 20rem) clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-md);
	background: var(--cc-paper);
}

.cc-collection-slot,
.cc-home-story-query,
.cc-home-product-collection {
	min-width: 0;
}

.cc-collection-slot__placeholder,
.cc-home-empty-state {
	padding: 1rem;
	border: 1px dashed var(--cc-bronze-light);
	border-radius: var(--cc-radius-sm);
	color: var(--cc-muted);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}

.cc-collection-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.7vw, 1.25rem);
}

.cc-collection-card {
	min-width: 0;
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-md);
	background: var(--cc-paper);
	overflow: hidden;
}

.cc-collection-card :where(img, picture) {
	width: 100%;
	height: auto;
}

.cc-story-fixture-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.65rem, 1.3vw, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cc-story-fixture-grid > .wp-block-post {
	min-width: 0;
	margin: 0;
}

.cc-story-fixture {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(6.5rem, 0.8fr) minmax(0, 1.5fr);
	gap: 0.75rem;
	min-width: 0;
	border: 1px solid var(--cc-sand);
	border-radius: var(--cc-radius-sm);
	background: var(--cc-paper);
	overflow: hidden;
}

.cc-story-fixture:focus-within {
	outline: 3px solid var(--cc-bronze);
	outline-offset: 3px;
}

.cc-story-fixture > :where(.wp-block-image, .wp-block-post-featured-image),
.cc-story-fixture > :where(.wp-block-image, .wp-block-post-featured-image) img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.cc-story-fixture > :where(.wp-block-image, .wp-block-post-featured-image) img {
	min-height: 7.2rem;
	object-fit: cover;
}

.cc-story-fixture__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 0.55rem 0.65rem 0.55rem 0;
}

.cc-story-fixture__copy > * {
	margin: 0.15rem 0;
}

.cc-story-fixture__copy h3 {
	font-size: clamp(0.82rem, 1.15vw, 1rem) !important;
	line-height: 1.2;
}

.cc-story-fixture__link {
	color: var(--cc-ink);
	text-decoration: none;
}

.cc-story-fixture__link:hover {
	color: var(--cc-bronze);
	text-decoration: underline;
}

.cc-story-fixture__copy .has-small-font-size {
	color: var(--cc-muted);
	font-size: 0.65rem !important;
}

.cc-story-fixture__link {
	margin-block-start: auto;
}

.cc-story-fixture__link::after {
	position: absolute;
	inset: 0;
	content: "";
}

/* Newsletter is a disabled visual fixture until an approved provider owns it. */
.cc-newsletter {
	display: grid !important;
	grid-template-columns: minmax(18rem, 1fr) minmax(20rem, 1.2fr);
	gap: 1rem;
	align-items: center;
	padding: 0.65rem clamp(0.8rem, 2vw, 1.5rem);
	border-block: 1px solid var(--cc-sand);
	background: var(--cc-paper);
}

.cc-newsletter__copy {
	gap: 0.7rem;
}

.cc-newsletter__copy > * {
	margin: 0;
}

.cc-newsletter__copy p {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(0.9rem, 1.35vw, 1.05rem);
	font-weight: 600;
}

.cc-newsletter__icon {
	font-size: 1.15rem;
}

.cc-newsletter__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0;
}

.cc-newsletter__form input,
.cc-newsletter__form button {
	min-height: var(--cc-control-min);
	opacity: 1;
}

.cc-newsletter__form input {
	border-start-end-radius: 0;
	border-end-end-radius: 0;
}

.cc-newsletter__form button {
	padding-inline: 1.4rem;
	border: 1px solid var(--cc-ink);
	border-radius: 0 var(--cc-radius-sm) var(--cc-radius-sm) 0;
	background: var(--cc-ink);
	color: var(--cc-paper);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 650;
}

.cc-home__editor-content:empty {
	display: none;
}

/* Full footer. */
.cc-site-footer {
	position: relative;
	margin-block-start: 0;
	padding-block: clamp(1.6rem, 3.5vw, 2.6rem) 1rem;
	background: var(--cc-cream);
	background: color-mix(in srgb, var(--cc-sand) 25%, var(--cc-cream));
	overflow: hidden;
}

.cc-footer__shell {
	position: relative;
	min-height: 12rem;
}

.cc-footer__columns {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: calc(100% - clamp(7rem, 14vw, 12rem));
	gap: clamp(1rem, 3vw, 3rem);
}

.cc-footer__columns.cc-footer__columns--services-empty {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cc-footer__column {
	min-width: 0;
}

.cc-footer__column > * {
	margin-block: 0 0.55rem;
}

.cc-footer__column h2 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem !important;
	font-weight: 750;
}

.cc-footer__navigation {
	font-size: 0.73rem;
	line-height: 1.2;
}

.cc-footer__navigation .wp-block-navigation__container {
	align-items: flex-start;
	gap: 0;
}

.cc-footer__crow {
	position: absolute;
	z-index: 0;
	inset-inline-end: -1rem;
	inset-block-end: -3.5rem;
	width: clamp(9rem, 16vw, 14rem);
	margin: 0;
	mix-blend-mode: multiply;
}

.cc-footer__crow img {
	width: 100%;
}

@media (max-width: 64rem) {
	.cc-header__logo {
		width: min(100%, 14.5rem);
	}

	.cc-header__actions {
		gap: 0.35rem;
	}

	.cc-home-market-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cc-new-arrivals {
		grid-column: 1 / -1;
	}

	.cc-home-market-row > .cc-new-arrivals {
		padding-inline-end: 0;
		border-inline-end: 0;
	}

	.cc-story-fixture-grid {
		grid-template-columns: 1fr;
	}

	.cc-story-fixture {
		grid-template-columns: minmax(9rem, 0.55fr) minmax(0, 1.45fr);
	}
}

@media (max-width: 52rem) {
	.cc-header__logo {
		width: min(100%, 13rem);
	}

	.cc-home-hero__copy {
		width: min(59%, 31rem);
		padding: clamp(1.25rem, 4vw, 2.3rem);
	}

	.cc-category-card img {
		min-height: 4.8rem;
	}

	.cc-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: calc(100% - 8rem);
	}

	.cc-footer__columns.cc-footer__columns--services-empty {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * At the two-row tablet header breakpoint the brand grid column grows to fill
 * the space before the actions. Keep the editable Site Tagline measured from
 * the actual wordmark instead of that expanded grid column.
 */
@media (min-width: 37.501rem) and (max-width: 52rem) {
	.cc-header__brand {
		width: min(100%, 13rem);
		justify-self: start;
	}

	.cc-header__tagline {
		width: 68%;
		max-width: 68%;
		margin-block-start: -1rem;
		margin-inline: 32% 0;
		font-size: 0.625rem;
		letter-spacing: 0.07em;
		line-height: 1.25;
		text-wrap: balance;
	}
}

@media (max-width: 48rem) {
	.cc-homepage {
		padding-block-start: 0.45rem;
	}

	.cc-homepage-pattern {
		gap: 0.9rem;
	}

	.cc-home-hero {
		min-height: clamp(15rem, 63vw, 19rem) !important;
	}

	.cc-home-hero .wp-block-cover__image-background {
		object-position: 58% center;
	}

	.cc-home-hero__copy {
		width: min(66%, 26rem);
		padding: clamp(1rem, 4.5vw, 1.6rem);
		background: linear-gradient(90deg, rgb(254 252 247 / 97%) 0 58%, rgb(254 252 247 / 76%) 80%, transparent 100%);
	}

	.cc-home-hero__title {
		max-width: 15ch;
		font-size: clamp(1.35rem, 5.5vw, 1.85rem);
		line-height: 1.02;
	}

	.cc-home-hero__intro {
		max-width: 31ch;
		margin-block: 0.65rem 0.8rem;
		font-size: clamp(0.72rem, 2.5vw, 0.88rem);
	}

	.cc-home-hero__actions {
		gap: 0.4rem;
	}

	.cc-home-hero__actions .wp-block-button__link {
		padding: 0.55rem 0.75rem;
		font-size: 0.68rem;
	}

	.cc-home-hero__dots {
		display: flex;
	}

	.cc-category-grid,
	.cc-product-fixture-grid {
		display: grid !important;
		grid-auto-flow: column;
		grid-auto-columns: minmax(7.2rem, 1fr);
		grid-template-columns: none;
		padding-block-end: 0.35rem;
		overflow-x: auto;
		scroll-snap-type: inline proximity;
	}

	.cc-category-card,
	.cc-product-fixture {
		scroll-snap-align: start;
	}

	.cc-category-grid {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow-x: visible;
		scroll-snap-type: none;
	}

	.cc-category-grid--homepage .cc-category-card h3,
	.cc-category-grid--homepage .cc-category-card p {
		padding-inline: 0.5rem;
	}

	.cc-category-grid--homepage .cc-category-card h3 {
		font-size: 0.8rem !important;
	}

	.cc-home-market-row {
		grid-template-columns: 1fr;
	}

	.cc-home-market-row > .cc-home-section {
		padding: 0 0 0.9rem;
		border-inline-end: 0;
		border-block-end: 1px solid var(--cc-sand);
	}

	.cc-home-market-row > .cc-home-section:last-child {
		padding-block-end: 0;
		border-block-end: 0;
	}

	.cc-product-fixture-grid {
		grid-auto-columns: minmax(8.6rem, 42%);
	}

	.cc-product-fixture__action {
		display: none;
	}

	.cc-auction-fixture {
		height: auto;
		min-height: 0;
	}

	.cc-cupboard-promo {
		min-height: 13rem;
		padding-inline-end: 40%;
	}

	.cc-cupboard-promo__art {
		width: min(52%, 12rem);
	}

	.cc-story-fixture {
		grid-template-columns: minmax(7.5rem, 0.7fr) minmax(0, 1.3fr);
	}

	.cc-collection-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cc-newsletter {
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.cc-footer__columns {
		width: calc(100% - 6rem);
	}

	.cc-footer__crow {
		inset-inline-end: -2.5rem;
		width: 10rem;
	}
}

@media (max-width: 37.5rem) {
	.cc-header__logo {
		display: block;
		width: min(100%, clamp(9.6rem, 50vw, 10.5rem));
	}

	.cc-header__logo a {
		display: inline-flex;
		min-width: var(--cc-control-min);
		min-height: var(--cc-control-min);
		align-items: center;
		justify-content: center;
	}

	.cc-header__logo img {
		max-height: 4.25rem;
		object-position: center;
	}

	.cc-header__tagline {
		max-width: 70%;
		margin-block-start: -1rem;
		margin-inline-start: 30%;
		font-size: clamp(0.42rem, 1.7vw, 0.54rem);
		letter-spacing: 0.055em;
	}

	.cc-header__mobile-title {
		display: none;
	}

	.cc-header-action__label,
	.cc-header-favorites > span:nth-child(2) {
		display: grid;
		width: 100%;
		height: 1rem;
		align-items: center;
		max-width: none;
		font-size: clamp(0.52rem, 2.2vw, 0.62rem);
		line-height: 1rem;
		overflow: visible;
		text-align: center;
		white-space: nowrap;
	}

	.cc-header__actions {
		gap: 0;
	}

	.cc-header__account > .wp-block-woocommerce-customer-account,
	.cc-header__account :where(
		.wc-block-customer-account__link,
		.wc-block-customer-account__toggle
	),
	.cc-header__account .wc-block-customer-account__account-icon,
	.cc-header__account :where(
		.wc-block-customer-account__link,
		.wc-block-customer-account__toggle
	) > svg {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1;
	}

	.cc-header__account :where(
		.wc-block-customer-account__link,
		.wc-block-customer-account__toggle
	) {
		width: var(--cc-control-min);
		height: var(--cc-control-min);
		align-items: center;
		justify-content: center;
		color: var(--cc-ink);
	}

	.cc-header__account .wc-block-customer-account__account-icon,
	.cc-header__account .wc-block-customer-account__account-icon svg,
	.cc-header__account :where(
		.wc-block-customer-account__link,
		.wc-block-customer-account__toggle
	) > svg {
		width: 1.25rem;
		height: 1.25rem;
		flex: 0 0 1.25rem;
		overflow: visible;
		fill: currentcolor;
	}

	.cc-header-action,
	.cc-header-favorites {
		width: clamp(3.2rem, 16vw, 3.75rem);
		min-width: var(--cc-control-min);
		min-height: calc(var(--cc-control-min) + 1rem);
		grid-template-rows: var(--cc-control-min) 1rem;
	}

	.cc-header-action__icon {
		font-size: 1.25rem;
	}

	.cc-category-grid.cc-category-grid--homepage {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cc-category-grid.cc-category-grid--homepage[data-cc-category-count="0"] {
		grid-template-columns: minmax(0, 1fr);
	}

	.cc-section-heading h2 {
		font-size: 1rem !important;
	}

	.cc-section-heading__link {
		font-size: 0.66rem;
	}

	.cc-category-grid--homepage .cc-category-card h3,
	.cc-category-grid--homepage .cc-category-card p {
		padding-inline: 0.25rem;
	}

	.cc-category-grid--homepage .cc-category-card h3 {
		font-size: 0.78rem !important;
		hyphens: none;
		overflow-wrap: normal;
		word-break: normal;
	}

	.cc-category-grid--homepage .cc-category-card p {
		font-size: 0.72rem !important;
	}

	.cc-category-directory__group-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.15rem;
	}

	.cc-category-directory__groups {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.75rem;
	}

	.cc-category-directory__grid,
	.cc-category-directory__group .cc-category-directory__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cc-footer__columns {
		width: 100%;
	}

	.cc-footer__shell {
		padding-block-end: 7rem;
	}

	.cc-footer__crow {
		inset-inline-end: 0;
		inset-block-end: -2.5rem;
		width: 9rem;
	}
}

@media (max-width: 24rem) {
	.cc-home-hero {
		min-height: 15.5rem !important;
	}

	.cc-home-hero .wp-block-cover__image-background {
		object-position: 62% center;
	}

	.cc-home-hero__copy {
		width: 72%;
		padding: 0.9rem;
	}

	.cc-home-hero__title {
		font-size: 1.25rem;
	}

	.cc-home-hero__intro {
		font-size: 0.7rem;
		line-height: 1.35;
	}

	.cc-home-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cc-home-hero__actions .wp-block-button,
	.cc-home-hero__actions .wp-block-button__link {
		width: 100%;
	}

	.cc-category-grid {
		gap: 0.3rem;
	}

	.cc-category-grid--homepage .cc-category-card h3,
	.cc-category-grid--homepage .cc-category-card p {
		padding-inline: 0.25rem;
		overflow-wrap: normal;
		word-break: normal;
	}

	.cc-category-grid--homepage .cc-category-card h3 {
		font-size: 0.72rem !important;
		hyphens: none;
		line-height: 1.12;
	}

	.cc-category-grid--homepage .cc-category-card p {
		font-size: 0.68rem !important;
	}

	.cc-auction-fixture {
		grid-template-columns: 1fr;
	}

	.cc-auction-fixture > .wp-block-image img {
		max-height: 10rem;
	}

	.cc-cupboard-promo {
		padding-inline-end: 30%;
	}

	.cc-story-fixture {
		grid-template-columns: 1fr;
	}

	.cc-collection-card-grid {
		grid-template-columns: 1fr;
	}

	.cc-story-fixture > :where(.wp-block-image, .wp-block-post-featured-image) img {
		max-height: 9rem;
	}

	.cc-story-fixture__copy {
		padding: 0.65rem;
	}

	.cc-newsletter__form {
		grid-template-columns: 1fr;
		gap: 0.4rem;
	}

	.cc-newsletter__form input,
	.cc-newsletter__form button {
		border-radius: var(--cc-radius-sm);
	}

	.cc-footer__columns {
		grid-template-columns: 1fr;
	}

	.cc-footer__columns.cc-footer__columns--services-empty {
		grid-template-columns: 1fr;
	}
}

@media (prefers-contrast: more) {
	.cc-category-card,
	.cc-product-fixture,
	.cc-auction-fixture,
	.cc-collection-card,
	.cc-story-fixture,
	.cc-home-hero {
		border-color: var(--cc-ink);
	}
}

/*
 * Keep the three mobile utility actions in one visible, aligned row. This
 * contract is intentionally last: WooCommerce block styles and saved global
 * styles must not remove the Account action from the mobile header.
 */
@media (max-width: 37.5rem) {
	.cc-site-header .cc-header__actions .cc-header__account {
		display: grid !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		width: clamp(3.2rem, 16vw, 3.75rem);
		min-width: var(--cc-control-min);
		min-height: calc(var(--cc-control-min) + 1rem);
		grid-template-rows: var(--cc-control-min) 1rem;
		place-items: center;
		zoom: 1;
	}

	.cc-site-header .cc-header__actions .cc-header__account > .wp-block-woocommerce-customer-account,
	.cc-site-header .cc-header__actions .cc-header__account :where(
		.wc-block-customer-account__link,
		.wc-block-customer-account__toggle
	) {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		width: var(--cc-control-min) !important;
		height: var(--cc-control-min) !important;
		min-width: var(--cc-control-min) !important;
		min-height: var(--cc-control-min) !important;
		align-items: center;
		justify-content: center;
		overflow: visible !important;
		color: var(--cc-ink) !important;
		pointer-events: auto !important;
		zoom: 1;
	}

	.cc-site-header .cc-header__actions .cc-header__account .wc-block-customer-account__account-icon {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		width: 1.25rem !important;
		height: 1.25rem !important;
		min-width: 1.25rem !important;
		min-height: 1.25rem !important;
		flex: 0 0 1.25rem;
		overflow: visible !important;
		color: currentcolor;
		fill: currentcolor !important;
		pointer-events: none;
		zoom: 1;
	}

	.cc-site-header .cc-header__actions .cc-header__account .wc-block-customer-account__account-icon > path {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		fill: currentcolor !important;
		fill-opacity: 1 !important;
		filter: none !important;
		clip: auto !important;
		clip-path: none !important;
		mask: none !important;
	}

	.cc-site-header .cc-header__actions .cc-header__account > .cc-header-action__label {
		display: grid !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		width: 100%;
		height: 1rem;
		grid-row: 2;
		align-items: center;
		margin: 0;
		font-size: clamp(0.52rem, 2.2vw, 0.62rem);
		line-height: 1rem;
		text-align: center;
		white-space: nowrap;
		zoom: 1;
	}
}
