@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-latin-variable.woff2") format("woff2-variations");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--cn-forest: #173b2b;
	--cn-forest-dark: #0d2b1d;
	--cn-forest-soft: #e8efe9;
	--cn-terracotta: #c9470e;
	--cn-terracotta-dark: #a73509;
	--cn-orange-soft: #fff0e7;
	--cn-ink: #17271f;
	--cn-muted: #59665f;
	--cn-paper: #fbfaf7;
	--cn-warm: #f5f0e9;
	--cn-white: #ffffff;
	--cn-line: #dedbd4;
	--cn-success: #176b3a;
	--cn-error: #a92724;
	--cn-radius: 14px;
	--cn-shadow: 0 14px 34px rgba(23, 39, 31, 0.1);
	--cn-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 148px;
	background: var(--cn-paper);
	scrollbar-color: var(--cn-forest) var(--cn-warm);
	scrollbar-width: thin;
}

html::-webkit-scrollbar {
	width: 10px;
}

html::-webkit-scrollbar-track {
	background: var(--cn-warm);
}

html::-webkit-scrollbar-thumb {
	background: var(--cn-forest);
	border: 2px solid var(--cn-warm);
	border-radius: 8px;
}

body {
	margin: 0;
	color: var(--cn-ink);
	background: var(--cn-paper);
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
	font-family: "Inter", sans-serif;
}

body.admin-bar .cn-header {
	top: 32px;
}

::selection {
	color: var(--cn-white);
	background: var(--cn-terracotta);
}

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.24em;
}

a:hover {
	color: var(--cn-terracotta);
}

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

svg {
	width: 1.25em;
	height: 1.25em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid var(--cn-terracotta);
	outline-offset: 3px;
}

[hidden] {
	display: none !important;
}

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

.cn-skip-link {
	position: fixed;
	z-index: 10000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	color: var(--cn-white);
	background: var(--cn-terracotta);
	border-radius: 10px;
	font-weight: 800;
}

.cn-container {
	width: min(1460px, calc(100% - 64px));
	margin-inline: auto;
}

.cn-site {
	min-height: 100vh;
	overflow: clip;
}

.cn-main {
	min-height: 52vh;
}

.cn-announcement {
	position: relative;
	display: flex;
	align-items: start;
	z-index: 60;
	min-height: 34px;
	overflow: hidden;
	color: #f8fff9;
	background: var(--cn-forest-dark);
	font-size: 0.72rem;
	font-weight: 650;
}

.cn-announcement-viewport {
	width: 100%;
	overflow: hidden;
}

.cn-announcement-track {
	display: flex;
	width: max-content;
	animation: cn-announcement-marquee 28s linear infinite;
	will-change: transform;
}

.cn-announcement-copy {
	display: block;
	flex: 0 0 auto;
	min-width: 50vw;
	padding-right: 5rem;
	color: inherit;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	line-height: 34px;
	text-transform: uppercase;
	white-space: nowrap;
}

.cn-header {
	position: sticky;
	z-index: 50;
	top: 0;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 1px 0 rgba(23, 39, 31, 0.09);
	transition: box-shadow 220ms ease;
}

.cn-header.is-compact {
	box-shadow: 0 10px 28px rgba(23, 39, 31, 0.1);
}

.cn-header-main {
	display: grid;
	grid-template-columns: 260px minmax(320px, 680px) 260px;
	align-items: center;
	justify-content: space-between;
	min-height: 82px;
	gap: 28px;
}

.cn-brand a,
.cn-footer-brand strong {
	display: inline-flex;
	align-items: baseline;
	gap: 0.32em;
	color: var(--cn-forest-dark);
	text-decoration: none;
	font-size: 1.43rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	line-height: 1;
}

.cn-brand a span {
	color: var(--cn-terracotta);
}

.custom-logo-link {
	display: inline-block;
}

.custom-logo {
	width: auto;
	max-height: 54px;
}

.cn-search-wrap {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
}

.cn-search-wrap input[type="search"] {
	width: 100%;
	height: 46px;
	padding: 0 54px 0 18px;
	color: var(--cn-ink);
	background: #f8f8f6;
	border: 1px solid #d8d9d5;
	border-radius: 10px;
	font-size: 0.86rem;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
	-webkit-appearance: none;
}

.cn-search-wrap input[type="search"]::placeholder {
	color: #6a746f;
	opacity: 1;
}

.cn-search-wrap input[type="search"]:focus {
	background: var(--cn-white);
	border-color: var(--cn-forest);
	box-shadow: 0 0 0 3px rgba(23, 59, 43, 0.12);
}

.cn-search-wrap button {
	position: absolute;
	right: 5px;
	display: grid;
	place-items: center;
	width: 38px;
	height: 36px;
	padding: 0;
	color: var(--cn-forest);
	background: transparent;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
}

.cn-search-wrap button:hover {
	color: var(--cn-white);
	background: var(--cn-terracotta);
}

.cn-search-suggestions {
	position: absolute;
	z-index: 100;
	top: calc(100% + 9px);
	right: 0;
	left: 0;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.99);
	border: 1px solid rgba(23, 59, 43, 0.16);
	border-radius: 15px;
	box-shadow: 0 22px 52px rgba(13, 43, 29, 0.18);
	transform-origin: top center;
	animation: cn-search-reveal 180ms var(--cn-ease) both;
}

.cn-search-suggestions[hidden] {
	display: none;
}

.cn-search-suggestions-list {
	display: grid;
	max-height: min(430px, calc(100vh - 160px));
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: #9aac9f var(--cn-warm);
	scrollbar-width: thin;
}

.cn-search-suggestion {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) auto;
	align-items: center;
	gap: 13px;
	min-height: 84px;
	padding: 8px 14px 8px 9px;
	color: var(--cn-ink);
	border-bottom: 1px solid #ece9e2;
	text-decoration: none;
	transition: background 160ms ease, opacity 160ms ease;
}

.cn-search-suggestion:last-child {
	border-bottom: 0;
}

.cn-search-suggestion:hover,
.cn-search-suggestion:focus-visible,
.cn-search-suggestion.is-active {
	color: var(--cn-ink);
	background: #f7f3ed;
	outline: 0;
}

.cn-search-suggestion:focus-visible {
	box-shadow: inset 0 0 0 2px var(--cn-terracotta);
}

.cn-search-suggestion-thumb {
	display: block;
	width: 68px;
	height: 68px;
	overflow: hidden;
	background: var(--cn-warm);
	border-radius: 11px;
}

.cn-search-suggestion-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cn-search-suggestion-details {
	display: grid;
	align-content: center;
	gap: 5px;
	min-width: 0;
}

.cn-search-suggestion-name {
	overflow: hidden;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cn-search-suggestion-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	color: var(--cn-forest);
	font-size: 0.78rem;
	font-weight: 560;
}

.cn-search-suggestion-price del {
	color: #7c8580;
	font-size: 0.68rem;
	font-weight: 500;
}

.cn-search-suggestion-stock {
	padding: 5px 8px;
	color: var(--cn-error);
	background: #fff0ee;
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 650;
	white-space: nowrap;
}

.cn-search-suggestion.is-out-of-stock {
	opacity: 0.56;
}

.cn-search-suggestion.is-out-of-stock:hover,
.cn-search-suggestion.is-out-of-stock:focus-visible,
.cn-search-suggestion.is-out-of-stock.is-active {
	opacity: 0.7;
}

.cn-search-suggestion-state {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 82px;
	padding: 18px;
	color: var(--cn-muted);
	font-size: 0.76rem;
	font-weight: 500;
	text-align: center;
}

.cn-search-suggestion-state.is-loading::before {
	width: 16px;
	height: 16px;
	margin-right: 10px;
	border: 2px solid rgba(23, 59, 43, 0.18);
	border-top-color: var(--cn-terracotta);
	border-radius: 50%;
	content: "";
	animation: cn-search-spin 650ms linear infinite;
}

.cn-search-suggestion-state.is-error {
	color: var(--cn-error);
	background: #fff8f6;
}

@keyframes cn-search-reveal {
	from { opacity: 0; transform: translateY(-5px) scale(0.99); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes cn-search-spin {
	to { transform: rotate(360deg); }
}

.cn-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 26px;
}

.cn-header-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cn-ink);
	text-decoration: none;
	font-size: 0.76rem;
	font-weight: 650;
	white-space: nowrap;
}

.cn-header-action svg {
	width: 22px;
	height: 22px;
}

.cn-cart-count {
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding-inline: 5px;
	color: var(--cn-white);
	background: var(--cn-terracotta);
	border-radius: 999px;
	font-size: 0.65rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.cn-cart-quick-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.cn-cart-quick-wrap::after {
	position: absolute;
	top: 100%;
	right: -10px;
	width: calc(100% + 20px);
	height: 18px;
	content: "";
	pointer-events: none;
}

.cn-cart-quick-wrap.is-open::after {
	pointer-events: auto;
}

.cn-cart-link {
	transition: color 180ms ease, transform 180ms var(--cn-ease);
}

.cn-cart-link:hover,
.cn-cart-link:focus-visible,
.cn-cart-quick-wrap.is-open .cn-cart-link {
	color: var(--cn-terracotta);
}

.cn-cart-quick-wrap.is-open .cn-cart-link {
	transform: translateY(-1px);
}

.cn-mini-cart {
	position: absolute;
	z-index: 120;
	top: calc(100% + 14px);
	right: -8px;
	display: flex;
	width: min(400px, calc(100vw - 28px));
	max-height: min(600px, calc(100vh - 150px));
	min-height: 190px;
	flex-direction: column;
	overflow: hidden;
	color: var(--cn-ink);
	background: rgba(255, 255, 255, 0.985);
	border: 1px solid rgba(23, 59, 43, 0.15);
	border-radius: 20px;
	box-shadow: 0 28px 70px rgba(13, 43, 29, 0.22), 0 8px 22px rgba(13, 43, 29, 0.08);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-10px) scale(0.975);
	transform-origin: top right;
	transition: opacity 210ms ease, transform 260ms var(--cn-ease), visibility 0s linear 260ms;
	backdrop-filter: blur(16px);
}

.cn-mini-cart::before {
	position: absolute;
	z-index: 2;
	top: -7px;
	right: 28px;
	width: 14px;
	height: 14px;
	background: var(--cn-white);
	border-top: 1px solid rgba(23, 59, 43, 0.15);
	border-left: 1px solid rgba(23, 59, 43, 0.15);
	content: "";
	transform: rotate(45deg);
}

.cn-cart-quick-wrap.is-open .cn-mini-cart {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition-delay: 0s;
}

.cn-mini-cart-content {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	transition: opacity 160ms ease, filter 160ms ease;
}

.cn-mini-cart-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 20px 21px 17px;
	background: linear-gradient(135deg, #f8f5ef, #ffffff 62%);
	border-bottom: 1px solid #ebe8e1;
}

.cn-mini-cart-heading div {
	display: grid;
	gap: 2px;
}

.cn-mini-cart-heading small {
	color: var(--cn-terracotta);
	font-size: 0.58rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.cn-mini-cart-heading strong {
	color: var(--cn-forest-dark);
	font-size: 1.08rem;
	font-weight: 780;
	letter-spacing: -0.025em;
}

.cn-mini-cart-heading > span {
	padding: 5px 9px;
	color: var(--cn-forest);
	background: var(--cn-forest-soft);
	border-radius: 999px;
	font-size: 0.61rem;
	font-weight: 700;
	white-space: nowrap;
}

.cn-mini-cart-items {
	display: grid;
	min-height: 0;
	max-height: min(370px, calc(100vh - 335px));
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-color: rgba(23, 59, 43, 0.45) transparent;
	scrollbar-width: thin;
}

.cn-mini-cart-items::-webkit-scrollbar {
	width: 7px;
}

.cn-mini-cart-items::-webkit-scrollbar-track {
	background: transparent;
}

.cn-mini-cart-items::-webkit-scrollbar-thumb {
	background: rgba(23, 59, 43, 0.34);
	border: 2px solid var(--cn-white);
	border-radius: 999px;
}

.cn-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) 28px;
	align-items: start;
	gap: 13px;
	padding: 15px 16px;
	border-bottom: 1px solid #eeebe5;
}

.cn-mini-cart-item:last-child {
	border-bottom: 0;
}

.cn-mini-cart-thumb {
	display: block;
	width: 68px;
	height: 68px;
	overflow: hidden;
	background: var(--cn-warm);
	border-radius: 14px;
	box-shadow: inset 0 0 0 1px rgba(23, 59, 43, 0.06);
}

.cn-mini-cart-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cn-mini-cart-item-copy {
	display: grid;
	align-content: start;
	gap: 4px;
	min-width: 0;
}

.cn-mini-cart-name {
	display: -webkit-box;
	overflow: hidden;
	color: var(--cn-forest-dark);
	font-size: 0.74rem;
	font-weight: 690;
	line-height: 1.32;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cn-mini-cart-name:hover,
.cn-mini-cart-name:focus-visible {
	color: var(--cn-terracotta);
}

.cn-mini-cart-item-copy .variation {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
	margin: 0;
	color: var(--cn-muted);
	font-size: 0.58rem;
}

.cn-mini-cart-item-copy .variation dt,
.cn-mini-cart-item-copy .variation dd,
.cn-mini-cart-item-copy .variation p {
	margin: 0;
}

.cn-mini-cart-line-price {
	color: var(--cn-terracotta-dark);
	font-size: 0.7rem;
	font-weight: 760;
}

.cn-mini-cart-quantity {
	display: inline-grid;
	grid-template-columns: 27px 30px 27px;
	align-items: center;
	justify-self: start;
	margin-top: 3px;
	overflow: hidden;
	background: #f6f3ed;
	border: 1px solid #e4dfd6;
	border-radius: 9px;
}

.cn-mini-cart-quantity button {
	display: grid;
	place-items: center;
	width: 27px;
	height: 27px;
	padding: 0;
	color: var(--cn-forest);
	background: transparent;
	border: 0;
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 750;
}

.cn-mini-cart-quantity button:hover,
.cn-mini-cart-quantity button:focus-visible {
	color: var(--cn-white);
	background: var(--cn-forest);
	outline: 0;
}

.cn-mini-cart-quantity button:disabled {
	cursor: not-allowed;
	opacity: 0.3;
}

.cn-mini-cart-quantity > span {
	font-size: 0.66rem;
	font-weight: 760;
	text-align: center;
}

.cn-mini-cart-remove {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	padding: 0;
	color: #8a948e;
	background: transparent;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
}

.cn-mini-cart-remove svg {
	width: 16px;
	height: 16px;
}

.cn-trash-icon {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cn-mini-cart-remove:hover,
.cn-mini-cart-remove:focus-visible {
	color: var(--cn-error);
	background: #fff0ee;
	outline: 0;
}

.cn-mini-cart-footer {
	display: grid;
	gap: 13px;
	padding: 16px 20px 19px;
	background: #faf8f3;
	border-top: 1px solid #e8e3da;
}

.cn-mini-cart-footer > div:first-child {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 15px;
}

.cn-mini-cart-footer span {
	color: var(--cn-muted);
	font-size: 0.68rem;
	font-weight: 650;
}

.cn-mini-cart-footer strong {
	color: var(--cn-forest-dark);
	font-size: 1rem;
	font-weight: 800;
}

.cn-mini-cart-actions {
	display: grid;
	grid-template-columns: 0.86fr 1.14fr;
	gap: 9px;
}

.cn-mini-cart-actions a,
.cn-mini-cart-empty > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 13px;
	color: var(--cn-forest);
	background: var(--cn-white);
	border: 1px solid #ced8d0;
	border-radius: 11px;
	font-size: 0.66rem;
	font-weight: 740;
	text-align: center;
	text-decoration: none;
	transition: border-color 170ms ease, background 170ms ease, color 170ms ease, transform 170ms var(--cn-ease);
}

.cn-mini-cart-actions a:hover,
.cn-mini-cart-actions a:focus-visible,
.cn-mini-cart-empty > a:hover,
.cn-mini-cart-empty > a:focus-visible {
	border-color: var(--cn-forest);
	transform: translateY(-1px);
}

.cn-mini-cart-actions a.is-primary,
.cn-mini-cart-empty > a {
	color: var(--cn-white);
	background: var(--cn-terracotta);
	border-color: var(--cn-terracotta);
}

.cn-mini-cart-actions a.is-primary:hover,
.cn-mini-cart-actions a.is-primary:focus-visible,
.cn-mini-cart-empty > a:hover,
.cn-mini-cart-empty > a:focus-visible {
	background: var(--cn-terracotta-dark);
	border-color: var(--cn-terracotta-dark);
}

.cn-mini-cart-empty {
	display: grid;
	place-items: center;
	align-content: center;
	min-height: 250px;
	padding: 28px;
	text-align: center;
}

.cn-mini-cart-empty > span {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 13px;
	color: var(--cn-terracotta);
	background: var(--cn-orange-soft);
	border-radius: 17px;
}

.cn-mini-cart-empty svg {
	width: 27px;
	height: 27px;
}

.cn-mini-cart-empty strong {
	color: var(--cn-forest-dark);
	font-size: 0.9rem;
}

.cn-mini-cart-empty p {
	max-width: 28ch;
	margin: 6px 0 16px;
	color: var(--cn-muted);
	font-size: 0.68rem;
	line-height: 1.5;
}

.cn-mini-cart-empty > a {
	min-width: 165px;
}

.cn-cart-quick-wrap.is-updating .cn-mini-cart-content {
	filter: saturate(0.65);
	opacity: 0.48;
	pointer-events: none;
}

.cn-cart-quick-wrap.is-updating .cn-mini-cart::after {
	position: absolute;
	z-index: 4;
	top: 50%;
	left: 50%;
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
	border: 3px solid rgba(23, 59, 43, 0.15);
	border-top-color: var(--cn-terracotta);
	border-radius: 50%;
	content: "";
	animation: cn-search-spin 650ms linear infinite;
}

.cn-navigation-row {
	border-top: 1px solid #eeece7;
}

.cn-navigation-row > .cn-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 43px;
	gap: 24px;
}

.cn-category-nav {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.5vw, 42px);
	overflow: hidden;
}

.cn-category-nav a,
.cn-offers-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 12px;
	color: var(--cn-ink);
	text-decoration: none;
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
	isolation: isolate;
	overflow: hidden;
	border-radius: 8px;
	transition: color 180ms ease, transform 180ms var(--cn-ease);
}

.cn-category-nav a::before,
.cn-offers-link::before {
	position: absolute;
	inset: -2px -4px 0;
	z-index: -1;
	content: "";
	background: var(--cn-nav-paint, var(--cn-forest));
	clip-path: polygon(0 14%, 11% 7%, 22% 13%, 34% 5%, 47% 12%, 59% 6%, 73% 13%, 86% 5%, 100% 11%, 100% 100%, 0 100%);
	transform: translateY(105%);
	transition: transform 380ms var(--cn-ease);
}

.cn-category-nav a:hover,
.cn-category-nav a:focus-visible,
.cn-offers-link:hover,
.cn-offers-link:focus-visible {
	color: var(--cn-white);
	transform: translateY(-1px);
}

.cn-category-nav a:hover::before,
.cn-category-nav a:focus-visible::before,
.cn-offers-link:hover::before,
.cn-offers-link:focus-visible::before {
	transform: translateY(0);
}

.cn-offers-link {
	--cn-nav-paint: var(--cn-terracotta);
	color: var(--cn-terracotta);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.cn-menu-toggle {
	display: none;
}

.cn-icon-button {
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	color: var(--cn-forest);
	background: var(--cn-white);
	border: 1px solid var(--cn-line);
	border-radius: 10px;
	cursor: pointer;
}

.cn-mobile-drawer {
	position: fixed;
	z-index: 100;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(390px, 90vw);
	padding: 24px;
	background: var(--cn-white);
	box-shadow: 12px 0 34px rgba(15, 37, 27, 0.2);
	transform: translateX(-105%);
	transition: transform 320ms var(--cn-ease);
}

.cn-mobile-drawer.is-open {
	transform: translateX(0);
}

.cn-mobile-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 26px;
	color: var(--cn-forest);
	letter-spacing: 0.12em;
}

.cn-mobile-search {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 6px;
	padding: 3px;
	margin-bottom: 24px;
	background: #fff;
	border: 1px solid var(--cn-border);
	border-radius: 999px;
}

.cn-mobile-search input[type="search"] {
	width: 100%;
	min-width: 0;
	padding: 10px 8px 10px 16px;
	color: var(--cn-forest);
	background: transparent;
	border: 0;
	outline: 0;
}

.cn-mobile-search input[type="search"]::placeholder {
	color: #67756e;
}

.cn-mobile-search button {
	display: grid;
	width: 40px;
	height: 40px;
	padding: 0;
	color: #fff;
	place-items: center;
	background: var(--cn-terracotta);
	border: 0;
	border-radius: 50%;
}

.cn-mobile-drawer .cn-mobile-search {
	margin-bottom: 24px;
}

.cn-mobile-search .cn-search-suggestions {
	top: calc(100% + 8px);
	border-radius: 13px;
}

.cn-mobile-drawer nav ul {
	display: grid;
	gap: 4px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.cn-mobile-drawer nav a,
.cn-mobile-account {
	display: block;
	padding: 13px 4px;
	border-bottom: 1px solid var(--cn-line);
	text-decoration: none;
	font-weight: 700;
}

.cn-mobile-overlay {
	position: fixed;
	z-index: 90;
	inset: 0;
	background: rgba(8, 28, 18, 0.58);
}

.cn-menu-open {
	overflow: hidden;
}

.cn-hero {
	display: grid;
	grid-template-columns: minmax(340px, 38%) 1fr;
	min-height: 428px;
	margin-top: 20px;
	overflow: hidden;
	background: var(--cn-forest);
	border-radius: var(--cn-radius);
	box-shadow: var(--cn-shadow);
}

.cn-hero-copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(42px, 5vw, 76px);
	color: var(--cn-white);
	background: var(--cn-forest);
}

.cn-hero-copy h1 {
	max-width: 11ch;
	margin: 0 0 18px;
	color: inherit;
	font-size: clamp(2.4rem, 4.1vw, 4.8rem);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.cn-hero-copy h1::first-line {
	color: inherit;
}

.cn-hero-copy p {
	max-width: 46ch;
	margin: 0 0 28px;
	color: #e8f1eb;
	font-size: clamp(0.95rem, 1.15vw, 1.1rem);
	line-height: 1.55;
}

.cn-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.cn-button,
.cn-products-grid .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.2rem;
	color: var(--cn-white);
	background: var(--cn-terracotta);
	border: 0;
	border-radius: 9px;
	box-shadow: 0 8px 18px rgba(169, 53, 9, 0.22);
	text-decoration: none;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.1;
	cursor: pointer;
	transition: color 180ms ease, background 180ms ease, transform 180ms var(--cn-ease), box-shadow 180ms ease;
}

.cn-button:hover,
.cn-products-grid .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wp-element-button:hover {
	color: var(--cn-white);
	background: var(--cn-terracotta-dark);
	box-shadow: 0 10px 22px rgba(169, 53, 9, 0.28);
	transform: translateY(-2px);
}

.cn-button:active,
.cn-products-grid .button:active,
.woocommerce a.button:active,
.woocommerce button.button:active {
	transform: translateY(0);
}

.cn-button svg {
	width: 18px;
	margin-left: 8px;
	transition: transform 180ms var(--cn-ease);
}

.cn-button:hover svg {
	transform: translateX(4px);
}

.cn-button-light {
	color: var(--cn-forest-dark);
	background: var(--cn-white);
	box-shadow: none;
}

.cn-button-light:hover {
	color: var(--cn-forest-dark);
	background: #fff5ec;
}

.cn-text-link {
	color: var(--cn-white);
	font-size: 0.78rem;
	font-weight: 750;
}

.cn-text-link:hover {
	color: #ffd1b7;
}

.cn-hero-promises {
	display: flex;
	gap: 20px;
	margin-top: 34px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	color: #f3faf5;
	font-size: 0.7rem;
	font-weight: 650;
}

.cn-hero-promises span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.cn-hero-promises svg {
	width: 18px;
	height: 18px;
	color: #ff8f5a;
}

.cn-hero-media {
	position: relative;
	min-width: 0;
	background: #203f2d;
}

.cn-hero-media::after {
	position: absolute;
	inset: 0 auto 0 0;
	width: 10%;
	content: "";
	background: linear-gradient(90deg, rgba(23, 59, 43, 0.46), transparent);
	pointer-events: none;
}

.cn-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% center;
}

.cn-home-section {
	padding-top: 58px;
}

.cn-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

.cn-section-heading h2 {
	margin: 0;
	color: var(--cn-forest-dark);
	font-size: clamp(1.55rem, 2.4vw, 2.35rem);
	font-weight: 820;
	line-height: 1.06;
	letter-spacing: -0.028em;
	text-wrap: balance;
}

.cn-section-heading p {
	max-width: 64ch;
	margin: 8px 0 0;
	color: var(--cn-muted);
	font-size: 0.79rem;
}

.cn-section-heading > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 3px;
	color: var(--cn-forest);
	text-decoration: none;
	font-size: 0.75rem;
	font-weight: 800;
	white-space: nowrap;
}

.cn-section-heading > a svg {
	width: 18px;
	transition: transform 180ms var(--cn-ease);
}

.cn-section-heading > a:hover svg {
	transform: translateX(4px);
}

.cn-category-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.cn-category-card {
	position: relative;
	display: block;
	overflow: hidden;
	color: var(--cn-ink);
	background: var(--cn-white);
	border-radius: var(--cn-radius);
	box-shadow: 0 8px 20px rgba(23, 39, 31, 0.08);
	text-decoration: none;
	transition: color 180ms ease, box-shadow 220ms ease, transform 220ms var(--cn-ease);
}

.cn-category-card:hover {
	color: var(--cn-forest);
	box-shadow: 0 16px 30px rgba(23, 39, 31, 0.14);
	transform: translateY(-4px);
}

.cn-category-image {
	aspect-ratio: 1.28 / 1;
	overflow: hidden;
	background: var(--cn-warm);
}

.cn-category-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 480ms var(--cn-ease);
}

.cn-category-card:hover .cn-category-image img {
	transform: scale(1.04);
}

.cn-category-card > span {
	display: grid;
	gap: 2px;
	padding: 13px 38px 14px 14px;
}

.cn-category-card strong {
	font-size: 0.76rem;
	line-height: 1.25;
}

.cn-category-card small {
	color: var(--cn-muted);
	font-size: 0.61rem;
}

.cn-category-card > svg {
	position: absolute;
	right: 13px;
	bottom: 18px;
	width: 17px;
	height: 17px;
	color: var(--cn-terracotta);
}

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

ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

ul.products li.product,
.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	float: none;
	flex-direction: column;
	width: auto;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	color: var(--cn-ink);
	background: var(--cn-white);
	border-radius: 18px;
	box-shadow: 0 9px 28px rgba(23, 39, 31, 0.11);
	transition: box-shadow 220ms ease, transform 220ms var(--cn-ease);
}

ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
	box-shadow: 0 18px 36px rgba(23, 39, 31, 0.15);
	transform: translateY(-4px);
}

ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

ul.products li.product img,
.woocommerce ul.products li.product a img {
	width: 100%;
	margin: 0;
	aspect-ratio: 1.16 / 1;
	object-fit: cover;
	background: var(--cn-warm);
}

ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 51px;
	padding: 19px 20px 7px;
	margin: 0;
	color: var(--cn-ink);
	font-size: clamp(0.94rem, 1.15vw, 1.08rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.025em;
}

ul.products li.product .price,
.woocommerce ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	min-height: 48px;
	padding: 10px 15px;
	margin: 5px 20px 0;
	color: var(--cn-forest-dark);
	background: var(--cn-warm);
	border-radius: 13px;
	font-size: clamp(1.08rem, 1.45vw, 1.35rem);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}

ul.products li.product .price del,
.woocommerce ul.products li.product .price del {
	order: -1;
	color: #4f5c55;
	font-size: 0.76rem;
	font-weight: 600;
	opacity: 1;
}

ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins {
	color: var(--cn-terracotta-dark);
	text-decoration: none;
}

ul.products li.product .cn-card-discount,
.woocommerce ul.products li.product .cn-card-discount {
	margin-left: auto;
	color: var(--cn-error);
	font-size: 0.7rem;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

ul.products li.product .cn-card-stock,
.woocommerce ul.products li.product .cn-card-stock {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 13px 20px 10px;
	font-size: 0.75rem;
	font-weight: 500;
}

.cn-card-stock::before {
	width: 7px;
	height: 7px;
	content: "";
	background: currentColor;
	border-radius: 50%;
}

.cn-card-stock.is-in-stock {
	color: var(--cn-success);
}

.cn-card-stock.is-out-of-stock {
	color: var(--cn-error);
}

.woocommerce div.product p.stock {
	color: var(--cn-success);
	font-weight: 700;
}

ul.products li.product .button,
.woocommerce ul.products li.product .button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	width: auto;
	min-height: 44px;
	margin: auto 20px 18px;
	border-radius: 11px;
	box-shadow: none;
	font-size: 0.83rem;
	font-weight: 500 !important;
}

ul.products li.product .cn-card-add::before,
.woocommerce ul.products li.product .cn-card-add::before,
ul.products li.product a.add_to_cart_button::before,
.woocommerce ul.products li.product a.add_to_cart_button::before {
	width: 18px;
	height: 18px;
	margin-right: 9px;
	content: "";
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8h12l1 13H5L6 8Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M9 9V6a3 3 0 0 1 6 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8h12l1 13H5L6 8Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M9 9V6a3 3 0 0 1 6 0v3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	flex: 0 0 auto;
}

ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .added_to_cart {
	margin: -7px 17px 16px;
	color: var(--cn-forest);
	font-size: 0.7rem;
	font-weight: 750;
	text-align: center;
}

.cn-card-badge,
.woocommerce span.onsale {
	position: absolute;
	z-index: 3;
	top: 13px;
	left: 13px;
	display: inline-flex;
	align-items: center;
	min-width: 0;
	min-height: 28px;
	padding: 5px 10px;
	color: var(--cn-white);
	background: var(--cn-forest);
	border-radius: 9px;
	font-size: 0.63rem;
	font-weight: 850;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cn-card-badge.is-sale,
.woocommerce span.onsale {
	background: var(--cn-terracotta);
}

.cn-promo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 36px;
	min-height: 166px;
	padding: 30px clamp(30px, 5vw, 72px);
	margin-top: 62px;
	color: var(--cn-white);
	background: var(--cn-terracotta);
	border-radius: var(--cn-radius);
	box-shadow: 0 16px 34px rgba(169, 53, 9, 0.22);
}

.cn-promo h2 {
	max-width: 18ch;
	margin: 0;
	color: inherit;
	font-size: clamp(1.6rem, 2.6vw, 2.8rem);
	font-weight: 840;
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.cn-promo p {
	max-width: 60ch;
	margin: 10px 0 0;
	color: #ffffff;
	font-size: 0.79rem;
}

.cn-promo-code {
	display: grid;
	min-width: 210px;
	padding: 15px 20px;
	color: var(--cn-forest-dark);
	background: #ffe9dc;
	border: 1px dashed rgba(23, 59, 43, 0.5);
	border-radius: 10px;
	text-align: center;
}

.cn-promo-code small {
	font-size: 0.6rem;
	font-weight: 750;
	letter-spacing: 0.12em;
}

.cn-promo-code strong {
	font-size: 1.05rem;
	letter-spacing: 0.05em;
}

.cn-contact-band {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 20px;
	padding: 28px 34px;
	margin-block: 62px;
	color: var(--cn-white);
	background: var(--cn-forest-dark);
	border-radius: var(--cn-radius);
}

.cn-contact-band-icon {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	color: #ffb18b;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 12px;
}

.cn-contact-band-icon svg {
	width: 26px;
	height: 26px;
}

.cn-contact-band h2 {
	margin: 0;
	color: inherit;
	font-size: clamp(1.15rem, 1.8vw, 1.6rem);
	font-weight: 790;
	letter-spacing: -0.02em;
}

.cn-contact-band p {
	margin: 4px 0 0;
	color: #dce9e0;
	font-size: 0.75rem;
}

.cn-footer {
	padding-top: 56px;
	color: #e8f1eb;
	background: var(--cn-forest-dark);
}

.cn-footer-grid {
	display: grid;
	grid-template-columns: 1.45fr repeat(3, 1fr);
	gap: clamp(34px, 5vw, 84px);
	padding-bottom: 52px;
}

.cn-footer-brand strong {
	color: var(--cn-white);
	font-size: 1.08rem;
}

.cn-footer-brand p {
	max-width: 36ch;
	margin: 18px 0 0;
	color: #b8c8be;
	font-size: 0.75rem;
}

.cn-footer h2 {
	margin: 0 0 16px;
	color: var(--cn-white);
	font-size: 0.72rem;
	font-weight: 820;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.cn-footer ul {
	display: grid;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.cn-footer li,
.cn-footer p,
.cn-footer a {
	color: #c9d7ce;
	font-size: 0.71rem;
	line-height: 1.5;
}

.cn-footer a {
	text-decoration: none;
}

.cn-footer a:hover {
	color: #ffb18b;
	text-decoration: underline;
}

.cn-social-links {
	display: flex;
	gap: 14px;
}

.cn-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 64px;
	color: #aebfb4;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	font-size: 0.65rem;
}

/* Store, product and content surfaces */
.cn-store-main,
.cn-content-main {
	padding-block: 34px 72px;
}

.cn-store-shell {
	min-height: 55vh;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
	margin: 0 0 28px;
	color: var(--cn-muted);
	font-size: 0.69rem;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--cn-forest);
	font-weight: 700;
}

.woocommerce-products-header,
.cn-entry-header {
	margin: 0 0 30px;
}

.woocommerce-products-header__title,
.cn-entry-header h1,
.woocommerce div.product .product_title {
	margin: 0;
	color: var(--cn-forest-dark);
	font-size: clamp(2rem, 4vw, 4rem);
	font-weight: 840;
	line-height: 1.02;
	letter-spacing: -0.036em;
	text-wrap: balance;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 24px;
	color: var(--cn-muted);
	font-size: 0.75rem;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.cn-entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cn-entry-content textarea,
.cn-entry-content select {
	min-height: 46px;
	padding: 10px 13px;
	color: var(--cn-ink);
	background: var(--cn-white);
	border: 1px solid #cfd3ce;
	border-radius: 9px;
	outline: none;
}

.woocommerce .woocommerce-ordering select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--cn-forest);
	box-shadow: 0 0 0 3px rgba(23, 59, 43, 0.12);
}

.woocommerce nav.woocommerce-pagination {
	margin-top: 38px;
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	margin: 0 3px;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0;
	background: var(--cn-white);
	border-radius: 8px;
	font-weight: 700;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	color: var(--cn-white);
	background: var(--cn-forest);
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
	gap: clamp(40px, 6vw, 86px);
	padding-top: 12px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce div.product div.images img {
	background: var(--cn-warm);
	border-radius: var(--cn-radius);
}

.woocommerce div.product div.summary {
	padding-top: 20px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin: 24px 0;
	color: var(--cn-forest-dark);
	font-size: 1.9rem;
	font-weight: 840;
	font-variant-numeric: tabular-nums;
}

.woocommerce div.product p.price del {
	color: var(--cn-muted);
	font-size: 0.95rem;
	opacity: 1;
}

.woocommerce div.product p.price ins {
	color: var(--cn-terracotta-dark);
	text-decoration: none;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	max-width: 66ch;
	color: var(--cn-muted);
	font-size: 0.92rem;
}

.woocommerce div.product form.cart {
	display: flex;
	gap: 10px;
	margin: 28px 0 18px;
}

.woocommerce div.product form.cart .button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce #place_order {
	color: var(--cn-white) !important;
	background: var(--cn-terracotta) !important;
	border-radius: 9px;
	box-shadow: 0 8px 18px rgba(169, 53, 9, 0.22);
}

.woocommerce div.product form.cart .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce #place_order:hover {
	color: var(--cn-white) !important;
	background: var(--cn-terracotta-dark) !important;
}

.woocommerce .quantity .qty {
	width: 76px;
	min-height: 44px;
	border: 1px solid #cfd3ce;
	border-radius: 9px;
	font-weight: 750;
}

body.single-product.woocommerce div.product form.cart .quantity {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px;
	grid-template-rows: repeat(2, 1fr);
	width: 108px;
	height: 58px;
	overflow: hidden;
	background: var(--cn-white);
	border: 1px solid #cfd8d1;
	border-radius: 15px;
	box-shadow: 0 5px 16px rgba(23, 59, 43, 0.07);
	perspective: 140px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.single-product.woocommerce div.product form.cart .quantity:focus-within {
	border-color: var(--cn-terracotta);
	box-shadow: 0 0 0 3px rgba(201, 71, 14, 0.16), 0 6px 16px rgba(23, 59, 43, 0.08);
}

body.single-product.woocommerce div.product form.cart .quantity .qty {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 100% !important;
	height: 56px !important;
	min-height: 56px !important;
	padding: 0 6px !important;
	color: var(--cn-forest-dark);
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 1.08rem;
	font-weight: 800;
	text-align: center;
	transform-origin: center;
	-moz-appearance: textfield;
}

body.single-product.woocommerce div.product form.cart .quantity .qty.is-rolling-up {
	animation: cn-quantity-reel-up 360ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

body.single-product.woocommerce div.product form.cart .quantity .qty.is-rolling-down {
	animation: cn-quantity-reel-down 360ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

body.single-product.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button,
body.single-product.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button {
	display: grid;
	grid-column: 2;
	place-items: center;
	width: 34px;
	height: 28px;
	padding: 0;
	color: var(--cn-forest-dark);
	background: #f5f8f6;
	border: 0;
	border-left: 1px solid #dce4df;
	font-size: 0;
	cursor: pointer;
	transition: color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button.is-plus {
	grid-row: 1;
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button.is-minus {
	grid-row: 2;
	border-top: 1px solid #dce4df;
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button::before {
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: '';
	transition: transform 160ms var(--cn-ease);
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button.is-plus::before {
	transform: translateY(2px) rotate(-45deg);
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button.is-minus::before {
	transform: translateY(-2px) rotate(135deg);
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button:hover,
body.single-product.woocommerce div.product form.cart .cn-quantity-button:focus-visible {
	color: var(--cn-terracotta-dark);
	background: #fff2ea;
	box-shadow: inset 0 0 0 1px rgba(201, 71, 14, 0.1);
	outline: 0;
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button.is-plus:active::before {
	transform: translateY(2px) rotate(-45deg) scale(0.82);
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button.is-minus:active::before {
	transform: translateY(-2px) rotate(135deg) scale(0.82);
}

body.single-product.woocommerce div.product form.cart .cn-quantity-button:disabled {
	color: #aab5af;
	background: #f7f9f8;
	cursor: not-allowed;
}

@keyframes cn-quantity-reel-up {
	0% { opacity: 0.2; transform: translateY(48%) rotateX(-68deg); }
	62% { opacity: 1; transform: translateY(-7%) rotateX(8deg); }
	100% { opacity: 1; transform: translateY(0) rotateX(0); }
}

@keyframes cn-quantity-reel-down {
	0% { opacity: 0.2; transform: translateY(-48%) rotateX(68deg); }
	62% { opacity: 1; transform: translateY(7%) rotateX(-8deg); }
	100% { opacity: 1; transform: translateY(0) rotateX(0); }
}

.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	padding-top: 30px;
}

/* Keep every product collection full-width inside the single-product grid. */
.woocommerce div.product > section.related.products,
.woocommerce div.product > section.upsells.products {
	grid-column: 1 / -1;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.woocommerce div.product > section.related.products > h2,
.woocommerce div.product > section.upsells.products > h2 {
	margin: 0 0 22px;
	color: var(--cn-forest-dark);
	font-size: clamp(1.55rem, 2.4vw, 2.35rem);
	font-weight: 820;
	line-height: 1.06;
	letter-spacing: -0.028em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	border-bottom: 1px solid var(--cn-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 18px 0 0;
	background: transparent;
	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: 12px 0;
	font-size: 0.76rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--cn-terracotta);
	box-shadow: inset 0 -2px var(--cn-terracotta);
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes {
	width: 100%;
	margin: 0;
	border: 1px solid var(--cn-line);
	border-collapse: collapse;
	font-size: 0.86rem;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
	padding: 16px 20px;
	border: 0;
	border-bottom: 1px solid var(--cn-line);
	text-align: left;
	vertical-align: middle;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:last-child th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:last-child td {
	border-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes th {
	width: min(220px, 30%);
	color: var(--cn-forest-dark);
	background: var(--cn-white);
	font-weight: 780;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
	color: var(--cn-ink);
	background: var(--cn-white);
	font-style: normal;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:nth-child(even) th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:nth-child(even) td {
	background: #edf3ef;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:hover th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes tr:hover td {
	background: #e3ece6;
}

.woocommerce div.product .woocommerce-tabs table.shop_attributes td p {
	margin: 0;
	padding: 0;
	font-style: normal;
}

.woocommerce table.shop_table {
	overflow: hidden;
	background: var(--cn-white);
	border: 0;
	border-radius: var(--cn-radius);
	box-shadow: 0 10px 26px rgba(23, 39, 31, 0.08);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 16px;
	border-color: var(--cn-line);
	font-size: 0.77rem;
}

.woocommerce-cart table.cart img {
	width: 76px;
	border-radius: 9px;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	padding: 24px;
	background: var(--cn-white);
	border: 0;
	border-radius: var(--cn-radius);
	box-shadow: 0 10px 26px rgba(23, 39, 31, 0.08);
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	padding: 17px 20px 17px 54px;
	color: var(--cn-ink);
	background: var(--cn-white);
	border: 0;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(23, 39, 31, 0.08);
	font-size: 0.77rem;
}

.woocommerce-message {
	box-shadow: inset 4px 0 var(--cn-success), 0 8px 20px rgba(23, 39, 31, 0.08);
}

.woocommerce-info {
	box-shadow: inset 4px 0 var(--cn-forest), 0 8px 20px rgba(23, 39, 31, 0.08);
}

.woocommerce-error {
	box-shadow: inset 4px 0 var(--cn-error), 0 8px 20px rgba(23, 39, 31, 0.08);
}

.cn-content-narrow {
	max-width: 900px;
}

.cn-entry,
.cn-post-card {
	padding: clamp(24px, 5vw, 58px);
	background: var(--cn-white);
	border-radius: var(--cn-radius);
	box-shadow: 0 10px 26px rgba(23, 39, 31, 0.08);
}

.cn-entry-content {
	max-width: 75ch;
}

.cn-entry-content h2,
.cn-entry-content h3 {
	margin: 2.1em 0 0.65em;
	color: var(--cn-forest-dark);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.cn-entry-content p,
.cn-entry-content li {
	color: #3e4b44;
}

.cn-entry-content a {
	color: var(--cn-terracotta-dark);
	font-weight: 700;
}

.cn-search-results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.cn-search-results .cn-post-card h2 {
	margin-top: 0;
}

@media (max-width: 1180px) {
	.cn-container {
		width: min(100% - 40px, 1320px);
	}

	.cn-header-main {
		grid-template-columns: 220px minmax(280px, 1fr) 220px;
		gap: 18px;
	}

	.cn-header-actions {
		gap: 14px;
	}

	.cn-category-nav {
		gap: 20px;
	}

	.cn-hero {
		grid-template-columns: minmax(330px, 43%) 1fr;
		min-height: 390px;
	}

	.cn-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cn-category-image {
		aspect-ratio: 1.6 / 1;
	}
}

@media (max-width: 960px) {
	body.admin-bar .cn-header {
		top: 46px;
	}

	.cn-header-main {
		grid-template-columns: auto 1fr auto;
		min-height: 72px;
	}

	.cn-menu-toggle {
		display: grid;
	}

	.cn-brand {
		justify-self: start;
	}

	.cn-brand a {
		font-size: 1.12rem;
	}

	.cn-search-wrap {
		grid-column: 1 / -1;
		grid-row: 2;
		padding-bottom: 12px;
	}

	.cn-header-main {
		padding-top: 8px;
	}

	.cn-header-actions .cn-header-action > span:not(.cn-cart-count) {
		display: none;
	}

	.cn-navigation-row {
		display: none;
	}

	.cn-hero {
		grid-template-columns: 1fr;
	}

	.cn-hero-copy {
		min-height: 340px;
	}

	.cn-hero-copy h1 {
		max-width: 13ch;
	}

	.cn-hero-media {
		min-height: 360px;
	}

	ul.products,
	.woocommerce ul.products,
	.cn-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cn-promo {
		grid-template-columns: 1fr auto;
	}

	.cn-promo-code {
		grid-row: 1 / 3;
		grid-column: 2;
	}

	.cn-promo > .cn-button {
		justify-self: start;
	}

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

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

@media (max-width: 680px) {
	html {
		scroll-padding-top: 118px;
	}

	.cn-container {
		width: min(100% - 24px, 620px);
	}

	.cn-announcement {
		min-height: 31px;
	}

	.cn-announcement-copy {
		min-width: 50vw;
		padding-right: 3.5rem;
		font-size: 0.68rem;
		line-height: 31px;
	}

	.cn-header-main {
		gap: 10px;
	}

	.cn-brand a {
		font-size: 0.93rem;
		letter-spacing: 0.1em;
	}

	.cn-header-actions {
		gap: 7px;
	}

	.cn-mini-cart {
		right: -4px;
		width: min(372px, calc(100vw - 24px));
		max-height: calc(100vh - 125px);
		border-radius: 17px;
	}

	.cn-mini-cart-heading {
		padding: 17px 17px 14px;
	}

	.cn-mini-cart-items {
		max-height: calc(100vh - 315px);
	}

	.cn-mini-cart-item {
		grid-template-columns: 58px minmax(0, 1fr) 26px;
		gap: 10px;
		padding: 13px 12px;
	}

	.cn-mini-cart-thumb {
		width: 58px;
		height: 58px;
		border-radius: 11px;
	}

	.cn-mini-cart-footer {
		padding: 14px 15px 16px;
	}

	.cn-header-actions > .cn-header-action:first-child {
		display: none;
	}

	.cn-search-suggestions-list {
		max-height: min(355px, calc(100vh - 150px));
	}

	.cn-search-suggestion {
		grid-template-columns: 56px minmax(0, 1fr) auto;
		gap: 10px;
		min-height: 70px;
		padding: 7px 10px 7px 7px;
	}

	.cn-search-suggestion-thumb {
		width: 56px;
		height: 56px;
		border-radius: 9px;
	}

	.cn-search-suggestion-name {
		font-size: 0.72rem;
	}

	.cn-search-suggestion-price {
		font-size: 0.7rem;
	}

	.cn-search-suggestion-stock {
		padding: 4px 6px;
		font-size: 0.55rem;
	}

	.cn-hero {
		position: relative;
		display: block;
		min-height: 450px;
		margin-top: 12px;
		border-radius: 12px;
	}

	.cn-hero-copy {
		min-height: 450px;
		padding: 38px 26px;
	}

	.cn-hero-copy h1 {
		font-size: clamp(2.35rem, 12vw, 3.6rem);
	}

	.cn-hero-promises {
		flex-direction: column;
		gap: 8px;
		min-height: 0;
		margin-top: 26px;
		padding: 18px 0 0;
	}

	.cn-hero-media {
		display: none;
	}

	.cn-hero-media img {
		object-position: 68% center;
	}

	.cn-hero-media::after {
		display: none;
	}

	.cn-home-section {
		padding-top: 46px;
	}

	.cn-section-heading {
		align-items: start;
	}

	.cn-section-heading p {
		display: none;
	}

	.cn-section-heading > a {
		margin-top: 5px;
	}

	.cn-category-grid {
		display: flex;
		overflow-x: auto;
		gap: 12px;
		padding: 2px 2px 14px;
		scroll-snap-type: x mandatory;
	}

	.cn-category-card {
		flex: 0 0 76%;
		scroll-snap-align: start;
	}

	ul.products,
	.woocommerce ul.products,
	.cn-products-grid {
		gap: 12px;
	}

	ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding: 13px 12px 4px;
		font-size: 0.76rem;
	}

	ul.products li.product .price,
	.woocommerce ul.products li.product .price {
		min-height: 40px;
		padding: 8px 9px;
		margin: 6px 12px 0;
		font-size: 0.91rem;
	}

	ul.products li.product .cn-card-stock,
	.woocommerce ul.products li.product .cn-card-stock {
		padding: 9px 12px 7px;
		font-size: 0.61rem;
	}

	ul.products li.product .button,
	.woocommerce ul.products li.product .button {
		min-height: 40px;
		margin: auto 12px 12px;
		padding-inline: 7px;
	}

	.cn-card-badge {
		top: 8px;
		left: 8px;
		min-height: 25px;
		padding: 4px 7px;
	}

	.cn-promo {
		grid-template-columns: 1fr;
		gap: 22px;
		min-height: 0;
		padding: 30px 24px;
		margin-top: 46px;
	}

	.cn-promo-code {
		grid-row: auto;
		grid-column: auto;
		width: 100%;
	}

	.cn-contact-band {
		grid-template-columns: auto 1fr;
		padding: 24px;
		margin-block: 46px;
	}

	.cn-contact-band .cn-button {
		grid-column: 1 / -1;
		width: 100%;
	}

	.cn-footer {
		padding-top: 42px;
	}

	.cn-footer-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.cn-footer-bottom {
		align-items: start;
		flex-direction: column;
		justify-content: center;
		padding-block: 18px;
	}

	.cn-store-main,
	.cn-content-main {
		padding-block: 24px 52px;
	}

	.cn-entry,
	.cn-post-card {
		padding: 24px;
	}

	.cn-search-results {
		grid-template-columns: 1fr;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
	}

	.woocommerce .woocommerce-ordering select {
		width: 100%;
	}

	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		padding: 12px;
	}

	.woocommerce div.product form.cart {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce div.product form.cart .button {
		width: 100%;
	}
}

/* Form system 2026: calm spacing, consistent controls and clearer hierarchy. */
.woocommerce form .form-row,
.cn-entry-content form p {
	margin-bottom: 20px;
}

.woocommerce form .form-row label,
.cn-entry-content form label {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--cn-forest-dark);
	font-size: 16px;
	font-weight: 720;
	line-height: 1.35;
}

.woocommerce form .form-row .required {
	color: var(--cn-terracotta);
	font-weight: 800;
}

.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="date"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="number"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="url"],
.woocommerce form .form-row select,
.cn-entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.cn-entry-content select {
	width: 100%;
	height: 56px;
	min-height: 56px;
	padding: 0 18px;
	color: var(--cn-ink);
	background: var(--cn-white);
	border: 1px solid #cbd4ce;
	border-radius: 14px;
	box-shadow: 0 1px 0 rgba(13, 43, 29, 0.02);
	font-size: 1rem;
	font-weight: 520;
	line-height: 1.2;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.woocommerce form .form-row textarea,
.cn-entry-content textarea {
	width: 100%;
	min-height: 138px;
	padding: 15px 18px;
	color: var(--cn-ink);
	background: var(--cn-white);
	border: 1px solid #cbd4ce;
	border-radius: 14px;
	box-shadow: 0 1px 0 rgba(13, 43, 29, 0.02);
	font-size: 1rem;
	font-weight: 520;
	line-height: 1.55;
	resize: vertical;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.woocommerce .woocommerce-ordering select:hover,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]):hover,
.woocommerce form .form-row select:hover,
.woocommerce form .form-row textarea:hover,
.cn-entry-content input:not([type="checkbox"]):not([type="radio"]):hover,
.cn-entry-content select:hover,
.cn-entry-content textarea:hover {
	border-color: #9daf9f;
}

.woocommerce .woocommerce-ordering select:focus,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]):focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus,
.cn-entry-content input:not([type="checkbox"]):not([type="radio"]):focus,
.cn-entry-content select:focus,
.cn-entry-content textarea:focus {
	border-color: var(--cn-forest);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(23, 59, 43, 0.11), 0 8px 22px rgba(23, 59, 43, 0.06);
	outline: 0;
}

.woocommerce form .form-row input::placeholder,
.woocommerce form .form-row textarea::placeholder,
.cn-entry-content input::placeholder,
.cn-entry-content textarea::placeholder {
	color: #87938c;
	opacity: 1;
}

.cn-site input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	flex: 0 0 22px;
	width: 22px;
	min-width: 22px;
	height: 22px;
	min-height: 22px;
	padding: 0;
	margin: 0 9px 0 0;
	vertical-align: -6px;
	background-color: var(--cn-white);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 13px 10px;
	border: 1.5px solid #9daca2;
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(13, 43, 29, 0.08);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms var(--cn-ease);
}

.cn-site input[type="checkbox"]:hover {
	border-color: var(--cn-forest);
	box-shadow: 0 0 0 3px rgba(23, 59, 43, 0.08);
}

.cn-site input[type="checkbox"]:checked {
	background-color: var(--cn-forest-dark);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1 5l4 4 8-8' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E");
	border-color: var(--cn-forest-dark);
	box-shadow: 0 3px 8px rgba(13, 43, 29, 0.18);
}

.cn-site input[type="checkbox"]:active {
	transform: scale(0.92);
}

.cn-site input[type="checkbox"]:focus-visible {
	background-color: var(--cn-white);
	border-color: var(--cn-terracotta);
	box-shadow: 0 0 0 4px rgba(201, 71, 14, 0.18);
	outline: 0;
}

.cn-site input[type="checkbox"]:checked:focus-visible {
	background-color: var(--cn-forest-dark);
}

.cn-site input[type="checkbox"]:disabled {
	opacity: 0.48;
	cursor: not-allowed;
}

.cn-site input[type="radio"] {
	width: 19px;
	min-width: 19px;
	height: 19px;
	min-height: 19px;
	padding: 0;
	margin: 0 8px 0 0;
	accent-color: var(--cn-forest);
	vertical-align: -4px;
}

.woocommerce .select2-container .select2-selection--single {
	height: 56px;
	border: 1px solid #cbd4ce;
	border-radius: 14px;
	background: var(--cn-white);
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 48px 0 18px;
	color: var(--cn-ink);
	font-size: 1rem;
	line-height: 54px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 14px;
	right: 14px;
}

.woocommerce .select2-container--open .select2-selection--single {
	border-color: var(--cn-forest);
	box-shadow: 0 0 0 4px rgba(23, 59, 43, 0.11);
}

.select2-dropdown {
	overflow: hidden;
	border-color: #cbd4ce;
	border-radius: 14px;
	box-shadow: 0 18px 46px rgba(13, 43, 29, 0.15);
}

.select2-search--dropdown {
	padding: 10px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	height: 44px;
	padding: 0 13px;
	border: 1px solid #cbd4ce;
	border-radius: 10px;
	font-family: "Inter", sans-serif;
}

.select2-results__option {
	padding: 11px 14px;
	font-family: "Inter", sans-serif;
	font-size: 0.88rem;
}

/* Casa Nativa date picker shared by the storefront and the merchant panel. */
.cn-datepicker-field {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.cn-datepicker-field .cn-datepicker-display {
	width: 100% !important;
	padding-right: 54px !important;
	cursor: pointer;
	caret-color: transparent;
}

.cn-datepicker-trigger {
	position: absolute;
	top: 50%;
	right: 8px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	color: var(--cn-forest);
	background: transparent;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	transform: translateY(-50%);
	transition: color 160ms ease, background 160ms ease;
}

.cn-datepicker-trigger:hover,
.cn-datepicker-trigger:focus-visible {
	color: var(--cn-terracotta);
	background: var(--cn-orange-soft);
	outline: 0;
}

.cn-datepicker-trigger svg {
	width: 19px;
	height: 19px;
}

.cn-datepicker-popover {
	position: fixed;
	z-index: 100100;
	width: min(338px, calc(100vw - 24px));
	padding: 16px;
	color: var(--cn-ink);
	background: rgba(255, 255, 255, 0.985);
	border: 1px solid #d7dfd9;
	border-radius: 20px;
	box-shadow: 0 24px 70px rgba(13, 43, 29, 0.22), 0 4px 14px rgba(13, 43, 29, 0.08);
	font-family: "Inter", sans-serif;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-5px) scale(0.985);
	transform-origin: top center;
	transition: opacity 160ms ease, transform 200ms var(--cn-ease), visibility 0s linear 200ms;
	backdrop-filter: blur(18px);
}

.cn-datepicker-popover.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition-delay: 0s;
}

.cn-datepicker-header {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) 40px;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.cn-datepicker-month {
	margin: 0;
	color: var(--cn-forest-dark);
	font-size: 0.98rem;
	font-weight: 780;
	letter-spacing: -0.02em;
	text-align: center;
}

.cn-datepicker-nav {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	color: var(--cn-forest);
	background: #f3f7f4;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	font-size: 1.25rem;
	line-height: 1;
	transition: color 160ms ease, background 160ms ease, transform 160ms var(--cn-ease);
}

.cn-datepicker-nav:hover,
.cn-datepicker-nav:focus-visible {
	color: #fff;
	background: var(--cn-forest);
	outline: 0;
	transform: translateY(-1px);
}

.cn-datepicker-weekdays,
.cn-datepicker-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}

.cn-datepicker-weekdays {
	margin-bottom: 5px;
}

.cn-datepicker-weekdays span {
	padding: 4px 0;
	color: #7a877f;
	font-size: 0.68rem;
	font-weight: 760;
	text-align: center;
	text-transform: uppercase;
}

.cn-datepicker-day {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1;
	min-height: 38px;
	padding: 0;
	color: var(--cn-ink);
	background: transparent;
	border: 0;
	border-radius: 11px;
	cursor: pointer;
	font-size: 0.82rem;
	font-weight: 650;
	line-height: 1;
	transition: color 140ms ease, background 140ms ease, transform 140ms var(--cn-ease);
}

.cn-datepicker-day:hover,
.cn-datepicker-day:focus-visible {
	color: var(--cn-forest-dark);
	background: var(--cn-forest-soft);
	outline: 0;
	transform: scale(1.05);
}

.cn-datepicker-day.is-outside {
	color: #aab2ad;
}

.cn-datepicker-day.is-today {
	box-shadow: inset 0 0 0 1px #9fb0a5;
}

.cn-datepicker-day.is-selected,
.cn-datepicker-day.is-selected:hover,
.cn-datepicker-day.is-selected:focus-visible {
	color: #fff;
	background: var(--cn-forest);
	box-shadow: 0 7px 16px rgba(23, 59, 43, 0.23);
}

.cn-datepicker-day:disabled {
	color: #c5cbc7;
	background: transparent;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

.cn-datepicker-footer {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 13px;
	padding-top: 13px;
	border-top: 1px solid #e7ece8;
}

.cn-datepicker-footer button {
	min-height: 38px;
	padding: 0 12px;
	color: var(--cn-forest);
	background: transparent;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.76rem;
	font-weight: 760;
}

.cn-datepicker-footer button:hover,
.cn-datepicker-footer button:focus-visible {
	background: var(--cn-forest-soft);
	outline: 0;
}

.cn-datepicker-footer .cn-datepicker-clear {
	color: var(--cn-terracotta-dark);
}

@media (max-width: 680px) {
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row select,
	.cn-entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
	.cn-entry-content select,
	.woocommerce .select2-container .select2-selection--single {
		height: 54px;
		min-height: 54px;
	}

	.cn-datepicker-popover {
		padding: 14px;
		border-radius: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cn-datepicker-popover,
	.cn-datepicker-day,
	.cn-datepicker-nav {
		transition: none;
	}
}

@media (max-width: 390px) {
	.cn-brand a {
		font-size: 0.82rem;
	}

	.cn-icon-button {
		width: 38px;
		height: 38px;
	}

	.cn-cart-count {
		position: absolute;
		top: -8px;
		right: -7px;
	}

	ul.products,
	.woocommerce ul.products,
	.cn-products-grid {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product {
		width: 100%;
		margin: 0;
	}

	ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 0.88rem;
	}

	ul.products li.product .price,
	.woocommerce ul.products li.product .price {
		font-size: 1.02rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* Approved Impeccable storefront direction: compact editorial retail. */
.cn-brand a {
	align-items: flex-start;
	flex-direction: column;
	gap: 5px;
}

.cn-brand a strong {
	display: inline-flex;
	gap: 0.32em;
	font: inherit;
}

.cn-brand a small {
	color: #56645d;
	font-size: 0.48rem;
	font-weight: 760;
	letter-spacing: 0.28em;
	line-height: 1;
	text-transform: uppercase;
}

.cn-demo-label {
	color: #ffe2d1;
}

.cn-hero {
	grid-template-columns: minmax(300px, 30%) minmax(0, 1fr) minmax(180px, 16%);
	min-height: 322px;
	margin-top: 14px;
	overflow: visible;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	gap: 12px;
}

.cn-hero-copy,
.cn-hero-media,
.cn-hero-deal {
	min-height: 322px;
	overflow: hidden;
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(23, 39, 31, 0.08);
}

.cn-hero-copy {
	justify-content: center;
	padding: clamp(28px, 3.2vw, 48px);
	color: var(--cn-forest-dark);
	background: #f7f3ed;
}

.cn-hero-copy h1 {
	max-width: 12ch;
	margin-bottom: 12px;
	font-size: clamp(2.15rem, 3.25vw, 3.55rem);
	line-height: 0.98;
}

.cn-hero-copy p {
	max-width: 34ch;
	margin-bottom: 18px;
	color: #394940;
	font-size: clamp(0.78rem, 0.9vw, 0.94rem);
	line-height: 1.45;
}

.cn-hero-copy .cn-text-link {
	color: var(--cn-forest);
}

.cn-hero-copy .cn-text-link:hover {
	color: var(--cn-terracotta-dark);
}

.cn-hero-promises {
	gap: 16px;
	margin-top: 20px;
	padding-top: 14px;
	color: var(--cn-forest-dark);
	border-top-color: #d7d0c6;
	font-size: 0.61rem;
}

.cn-hero-media::after {
	display: none;
}

.cn-hero-media {
	background-image: var(--cn-hero-image);
	background-position: 56% center;
	background-size: cover;
}

.cn-hero-mobile-slices {
	display: none;
}

.cn-hero-media img {
	object-position: 56% center;
}

.cn-hero-deal {
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	padding: 28px 24px;
	color: #fff;
	background: linear-gradient(150deg, #d95717 0%, #c33d08 100%);
}

.cn-hero-deal::after {
	position: absolute;
	right: -34px;
	bottom: -46px;
	width: 136px;
	height: 136px;
	content: "";
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.16), transparent 62%);
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 50%;
}

.cn-hero-deal small {
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.1em;
}

.cn-hero-deal > strong {
	display: grid;
	margin: 14px 0 8px;
	font-size: clamp(2.3rem, 3.4vw, 3.7rem);
	font-weight: 880;
	line-height: 0.78;
	letter-spacing: -0.04em;
}

.cn-hero-deal > strong span {
	font-size: 0.58em;
	line-height: 1;
}

.cn-hero-deal p {
	max-width: 18ch;
	margin: 4px 0 20px;
	font-size: 0.7rem;
	font-weight: 650;
	line-height: 1.4;
}

.cn-hero-deal .cn-button {
	position: relative;
	z-index: 1;
	min-height: 38px;
	padding: 0.64rem 1rem;
	font-size: 0.67rem;
}

.cn-home-section {
	padding-top: 30px;
}

.cn-section-heading {
	margin-bottom: 12px;
}

.cn-section-heading h2 {
	font-size: clamp(1.25rem, 1.7vw, 1.75rem);
}

.cn-section-heading p {
	margin-top: 4px;
	font-size: 0.7rem;
}

.cn-category-grid {
	gap: 12px;
}

.cn-category-card {
	border-radius: 11px;
}

.cn-category-image {
	aspect-ratio: 1.82 / 1;
}

.cn-category-card > span {
	padding: 10px 34px 10px 12px;
}

.cn-category-card strong {
	font-size: 0.68rem;
}

.cn-category-card > svg {
	right: 11px;
	bottom: 14px;
	width: 15px;
}

body.home ul.cn-products-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

body.home ul.cn-products-grid li.product {
	min-height: 0;
	border-radius: 18px;
}

body.home ul.cn-products-grid li.product > a.woocommerce-LoopProduct-link {
	display: flex;
	min-height: 0;
	padding-bottom: 0;
}

body.home ul.cn-products-grid li.product img {
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 1.16 / 1;
	object-fit: cover;
}

body.home ul.cn-products-grid li.product .woocommerce-loop-product__title {
	min-height: 51px;
	padding: 19px 20px 7px;
	font-size: clamp(0.94rem, 1.15vw, 1.08rem);
	line-height: 1.25;
}

body.home ul.cn-products-grid li.product .price {
	min-height: 48px;
	padding: 10px 15px;
	margin: 5px 20px 0;
	border-radius: 13px;
	font-size: clamp(1.08rem, 1.45vw, 1.35rem);
}

body.home ul.cn-products-grid li.product .price del {
	font-size: 0.76rem;
}

body.home ul.cn-products-grid li.product .cn-card-stock {
	padding: 13px 20px 10px;
	font-size: 0.75rem;
}

body.home ul.cn-products-grid li.product > .button {
	position: static;
	width: auto;
	min-height: 44px;
	padding: 0.75rem 1.2rem;
	margin: auto 20px 18px;
	border-radius: 11px;
	font-size: 0.83rem;
}

body.home ul.cn-products-grid .cn-card-badge {
	top: 15px;
	left: 15px;
	min-height: 28px;
	padding: 5px 10px;
	font-size: 0.63rem;
}

.cn-seasonal {
	position: relative;
	min-height: 176px;
	margin-top: 30px;
	overflow: hidden;
	background: #f3ede4;
	border-radius: 13px;
	box-shadow: 0 8px 22px rgba(23, 39, 31, 0.08);
}

.cn-seasonal picture,
.cn-seasonal img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cn-seasonal img {
	object-fit: cover;
	object-position: center;
}

.cn-seasonal-copy {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	width: 38%;
	min-height: 176px;
	padding: 24px 32px;
	background: linear-gradient(90deg, rgba(250,247,242,0.98) 0%, rgba(250,247,242,0.9) 72%, transparent 100%);
}

.cn-seasonal h2 {
	margin: 0;
	color: var(--cn-forest-dark);
	font-size: clamp(1.35rem, 2vw, 2rem);
	line-height: 1.05;
}

.cn-seasonal p {
	max-width: 34ch;
	margin: 7px 0 12px;
	color: #3e4b44;
	font-size: 0.7rem;
	line-height: 1.45;
}

.cn-seasonal .cn-button {
	min-height: 36px;
	padding: 0.58rem 0.9rem;
	font-size: 0.65rem;
}

.cn-newsletter {
	margin-top: 34px;
	color: #fff;
	background: var(--cn-forest-dark);
}

.cn-newsletter-inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
	align-items: center;
	min-height: 88px;
	gap: 36px;
	padding-block: 16px;
}

.cn-newsletter h2 {
	margin: 0;
	color: #fff;
	font-size: 1rem;
}

.cn-newsletter p {
	margin: 4px 0 0;
	color: #dce9e1;
	font-size: 0.68rem;
}

.cn-newsletter form {
	display: grid;
	grid-template-columns: 1fr auto;
	padding: 3px;
	background: #fff;
	border-radius: 8px;
}

.cn-newsletter input[type="email"] {
	min-width: 0;
	min-height: 40px;
	padding: 8px 13px;
	color: var(--cn-ink);
	background: #fff;
	border: 0;
	border-radius: 6px;
	outline: 0;
}

.cn-newsletter input[type="email"]:focus {
	box-shadow: inset 0 0 0 2px var(--cn-terracotta);
}

.cn-newsletter button {
	min-height: 40px;
	padding: 0 20px;
	color: #fff;
	background: var(--cn-terracotta);
	border: 0;
	border-radius: 6px;
	font-size: 0.65rem;
	font-weight: 820;
	text-transform: uppercase;
}

.cn-newsletter-status {
	position: absolute;
	right: 0;
	bottom: 2px;
}

.cn-contact-band {
	min-height: 90px;
	margin-top: 26px;
	margin-bottom: 26px;
}

@media (max-width: 1180px) {
	.cn-hero {
		grid-template-columns: minmax(290px, 34%) minmax(0, 1fr) minmax(165px, 18%);
	}
}

@media (max-width: 960px) {
	.cn-brand a small {
		display: none;
	}

	.cn-hero {
		grid-template-columns: minmax(280px, 40%) minmax(0, 1fr);
	}

	.cn-hero-deal {
		grid-column: 1 / -1;
		min-height: 112px;
		align-items: center;
		flex-direction: row;
		justify-content: space-between;
		padding: 18px 24px;
	}

	.cn-hero-deal > strong {
		display: flex;
		align-items: baseline;
		gap: 8px;
		margin: 0;
		font-size: 2.4rem;
	}

	.cn-hero-deal p {
		margin: 0;
	}

	body.home ul.cn-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cn-newsletter-inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 680px) {
	.cn-container {
		width: min(100% - 24px, 1460px);
	}

	.cn-hero {
		grid-template-columns: 1fr;
		gap: 8px;
		min-height: 0;
		margin-top: 10px;
	}

	.cn-hero-copy,
	.cn-hero-media,
	.cn-hero-deal {
		min-height: 0;
		border-radius: 11px;
	}

	.cn-hero-copy {
		padding: 20px 22px;
	}

	.cn-hero-copy h1 {
		max-width: 10ch;
		font-size: clamp(2rem, 9vw, 2.45rem);
	}

	.cn-hero-copy p {
		margin-bottom: 16px;
		font-size: 0.78rem;
	}

	.cn-hero-promises {
		margin-top: 12px;
		padding-top: 10px;
	}

	.cn-hero-media {
		display: block;
		height: 150px;
		background-image: none;
	}

	.cn-hero-mobile-slices {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		height: 100%;
	}

	.cn-hero-mobile-slices span {
		display: block;
		width: 100%;
		height: 100%;
		background-image: var(--cn-hero-mobile-image);
		background-repeat: no-repeat;
		background-size: 300% 100%;
	}

	.cn-hero-mobile-slices span:nth-child(1) {
		background-position: left center;
	}

	.cn-hero-mobile-slices span:nth-child(2) {
		background-position: center;
	}

	.cn-hero-mobile-slices span:nth-child(3) {
		background-position: right center;
	}

	.cn-hero-deal {
		grid-column: 1;
		align-items: center;
		flex-direction: row;
		min-height: 78px;
		padding: 10px 16px;
	}

	.cn-hero-deal small {
		font-size: 0.56rem;
	}

	.cn-hero-deal > strong {
		display: grid;
		gap: 0;
		font-size: 1.65rem;
	}

	.cn-hero-deal p {
		display: none;
	}

	.cn-hero-deal .cn-button {
		min-height: 36px;
		font-size: 0.75rem;
	}

	.cn-announcement,
	.cn-hero-promises,
	.cn-category-card strong,
	.cn-category-card small,
	body.home ul.cn-products-grid li.product .woocommerce-loop-product__title,
	.cn-seasonal p,
	.cn-seasonal .cn-button,
	.cn-newsletter p,
	.cn-newsletter button,
	.cn-footer li,
	.cn-footer p,
	.cn-footer a,
	.cn-footer-bottom {
		font-size: 0.75rem;
	}

	.cn-home-section {
		padding-top: 26px;
	}

	.cn-category-grid,
	body.home ul.cn-products-grid {
		display: grid;
		grid-auto-flow: column;
		grid-template-columns: none;
		gap: 10px;
		padding: 2px 2px 14px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.cn-category-grid {
		grid-auto-columns: minmax(210px, 76vw);
	}

	body.home ul.cn-products-grid {
		grid-auto-columns: minmax(270px, 80vw);
	}

	.cn-category-card,
	body.home ul.cn-products-grid li.product {
		scroll-snap-align: start;
	}

	body.home ul.cn-products-grid li.product {
		min-height: 0;
	}

	body.home ul.cn-products-grid li.product > a.woocommerce-LoopProduct-link {
		min-height: 0;
	}

	body.home ul.cn-products-grid li.product img {
		min-height: 0;
	}

	body.home ul.cn-products-grid li.product .woocommerce-loop-product__title {
		min-height: 50px;
		padding: 16px 16px 6px;
		font-size: 0.95rem;
	}

	body.home ul.cn-products-grid li.product .price {
		min-height: 48px;
		padding: 10px 13px;
		margin: 5px 16px 0;
		font-size: 1.12rem;
	}

	body.home ul.cn-products-grid li.product .cn-card-stock {
		padding: 12px 16px 9px;
		font-size: 0.7rem;
	}

	body.home ul.cn-products-grid li.product > .button {
		width: auto;
		min-height: 44px;
		margin: auto 16px 16px;
		font-size: 0.78rem;
	}

	body.home ul.cn-products-grid .cn-card-badge {
		top: 13px;
		left: 13px;
	}

	.cn-seasonal {
		min-height: 260px;
		margin-top: 22px;
	}

	.cn-seasonal img {
		object-position: 60% center;
	}

	.cn-seasonal-copy {
		width: 70%;
		min-height: 260px;
		padding: 24px 20px;
		background: linear-gradient(90deg, rgba(250,247,242,0.98) 0%, rgba(250,247,242,0.86) 72%, transparent 100%);
	}

	.cn-newsletter-inner {
		grid-template-columns: 1fr;
		gap: 12px;
		padding-block: 20px;
	}

	.cn-newsletter-status {
		position: static;
		grid-column: 1;
	}
}

@media (max-width: 390px) {
	body.home ul.cn-products-grid {
		grid-template-columns: none;
	}
}

/* Cart: reference-driven split layout with a viewport-safe checkout summary. */
body.woocommerce-cart .cn-content-main {
	padding-block: clamp(20px, 2vw, 28px) 42px;
}

body.woocommerce-cart .cn-content-main > .cn-content-narrow {
	width: min(calc(100% - 32px), 1540px);
	max-width: none;
}

body.woocommerce-cart .cn-entry {
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

body.woocommerce-cart .cn-entry-header {
	margin: 0 0 clamp(14px, 2.2vh, 24px);
	padding-inline: 2px;
}

body.woocommerce-cart .cn-entry-header h1 {
	font-size: clamp(3rem, 5vw, 4.65rem);
	line-height: 0.98;
	letter-spacing: -0.055em;
}

body.woocommerce-cart .cn-entry-content {
	max-width: none;
}

body.woocommerce-cart .cn-entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(600px, 2.15fr) minmax(340px, 1fr);
	align-items: start;
	gap: clamp(18px, 2.5vw, 38px);
}

body.woocommerce-cart .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

body.woocommerce-cart .woocommerce-notices-wrapper:empty {
	display: none;
}

body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) {
	position: fixed;
	z-index: 9500;
	top: 174px;
	right: 22px;
	display: grid;
	width: min(420px, calc(100vw - 44px));
	gap: 10px;
	pointer-events: none;
}

body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) > * {
	margin: 0;
	padding: 14px 18px 14px 48px;
	box-shadow: 0 16px 44px rgba(21, 48, 35, 0.17);
	pointer-events: auto;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form {
	max-height: calc(100vh - 246px);
	overflow: auto;
	background: var(--cn-white);
	border: 1px solid rgba(36, 65, 50, 0.06);
	border-radius: 22px;
	box-shadow: 0 16px 44px rgba(23, 39, 31, 0.08);
	scrollbar-color: rgba(31, 71, 50, 0.28) transparent;
	scrollbar-width: thin;
}

body.woocommerce-cart .woocommerce-cart-form::-webkit-scrollbar {
	width: 8px;
}

body.woocommerce-cart .woocommerce-cart-form::-webkit-scrollbar-thumb {
	background: rgba(31, 71, 50, 0.25);
	border: 2px solid transparent;
	border-radius: 999px;
	background-clip: padding-box;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table {
	width: 100%;
	margin: 0;
	overflow: visible;
	border-radius: 0;
	box-shadow: none;
	table-layout: fixed;
}

body.woocommerce-cart table.cart th {
	padding: 20px 10px;
	color: var(--cn-forest-dark);
	font-size: 0.88rem;
	font-weight: 780;
	text-align: left;
	white-space: nowrap;
}

body.woocommerce-cart table.cart td {
	padding: 18px 10px;
	color: var(--cn-ink);
	font-size: 0.91rem;
	vertical-align: middle;
}

body.woocommerce-cart table.cart .product-remove {
	width: 58px;
	padding-left: 18px;
	text-align: center;
}

body.woocommerce-cart table.cart .product-thumbnail {
	width: 104px;
}

body.woocommerce-cart table.cart .product-price,
body.woocommerce-cart table.cart .product-subtotal {
	width: 122px;
}

body.woocommerce-cart table.cart .product-quantity {
	width: 150px;
}

body.woocommerce-cart table.cart .product-name a {
	color: var(--cn-terracotta-dark);
	font-weight: 760;
	line-height: 1.35;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

body.woocommerce-cart table.cart img {
	width: 84px;
	height: 84px;
	object-fit: cover;
	border-radius: 13px;
	box-shadow: 0 5px 15px rgba(23, 39, 31, 0.08);
}

body.woocommerce-cart table.cart .product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 36px;
	color: #56625b !important;
	background: transparent !important;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	transition: color 180ms ease, transform 180ms ease;
}

body.woocommerce-cart table.cart .product-remove a.remove svg {
	width: 22px;
	height: 22px;
}

body.woocommerce-cart table.cart .product-remove a.remove:hover,
body.woocommerce-cart table.cart .product-remove a.remove:focus-visible {
	color: #b7352e !important;
	background: transparent !important;
	box-shadow: none;
	transform: translateY(-1px) scale(1.06);
}

body.woocommerce-cart table.cart .product-remove a.remove:focus-visible {
	outline: 2px solid rgba(183, 53, 46, 0.35);
	outline-offset: 3px;
}

body.woocommerce-cart table.cart .quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 136px;
	height: 52px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #cfd8d1;
	border-radius: 13px;
}

body.woocommerce-cart table.cart .quantity .qty {
	width: 50px !important;
	height: 50px !important;
	min-height: 50px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 0.95rem;
	font-weight: 720;
	-moz-appearance: textfield;
}

body.woocommerce-cart table.cart .quantity .qty::-webkit-inner-spin-button,
body.woocommerce-cart table.cart .quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.woocommerce-cart .cn-quantity-button {
	display: grid;
	place-items: center;
	width: 42px;
	height: 50px;
	padding: 0;
	color: var(--cn-forest-dark);
	background: transparent;
	border: 0;
	font: inherit;
	font-size: 1.4rem;
	font-weight: 500;
	cursor: pointer;
	transition: color 160ms ease, background 160ms ease;
}

body.woocommerce-cart .cn-quantity-button:hover,
body.woocommerce-cart .cn-quantity-button:focus-visible {
	color: var(--cn-terracotta-dark);
	background: #fff4ed;
	outline: 0;
}

body.woocommerce-cart .woocommerce-cart-form .actions {
	position: sticky;
	z-index: 3;
	bottom: 0;
	padding: 18px !important;
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 -12px 26px rgba(23, 39, 31, 0.05);
	text-align: left;
	backdrop-filter: blur(10px);
}

body.woocommerce-cart .woocommerce-cart-form .coupon {
	position: relative;
	display: flex;
	width: min(100%, 480px);
	vertical-align: middle;
	flex-wrap: nowrap;
	gap: 12px;
}

body.woocommerce-cart .woocommerce-cart-form .coupon::before {
	position: absolute;
	z-index: 1;
	top: 27px;
	left: 18px;
	width: 21px;
	height: 21px;
	content: "";
	background: #78867e;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 12 9-9h7l2 2v7l-9 9-9-9Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='16.5' cy='7.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 12 9-9h7l2 2v7l-9 9-9-9Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='16.5' cy='7.5' r='1.3'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
	transform: translateY(-50%);
}

body.woocommerce-cart .woocommerce-cart-form .coupon .input-text {
	flex: 1 1 210px;
	min-width: 0;
	height: 54px;
	min-height: 54px;
	box-sizing: border-box;
	padding: 0 16px 0 54px !important;
	border-radius: 13px;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button,
body.woocommerce-cart .woocommerce-cart-form .actions > button {
	min-height: 54px;
	padding-inline: 22px;
	border-radius: 12px;
	font-size: 0.86rem;
	font-weight: 760;
}

body.woocommerce-cart .woocommerce-cart-form .coupon button {
	color: #fff;
	background: linear-gradient(135deg, #e44b0c, var(--cn-terracotta-dark));
	box-shadow: 0 9px 20px rgba(201, 71, 14, 0.2);
}

body.woocommerce-cart .woocommerce-cart-form .actions > button {
	float: right;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--cn-forest-dark);
	background: #fff;
	border: 1px solid #c9d2cb;
	box-shadow: none;
}

body.woocommerce-cart .woocommerce-cart-form .actions > button::before {
	width: 20px;
	height: 20px;
	content: "";
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 7v5h-5M4 17v-5h5M6.1 8.2A7 7 0 0 1 18.7 7L20 12M4 12l1.3 5A7 7 0 0 0 18 15.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 7v5h-5M4 17v-5h5M6.1 8.2A7 7 0 0 1 18.7 7L20 12M4 12l1.3 5A7 7 0 0 0 18 15.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	position: sticky;
	top: 174px;
	max-height: calc(100vh - 194px);
	padding: clamp(18px, 2vw, 28px);
	overflow: hidden;
	background: var(--cn-white);
	border: 1px solid rgba(36, 65, 50, 0.06);
	border-radius: 22px;
	box-shadow: 0 16px 44px rgba(23, 39, 31, 0.08);
}

body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 16px;
	font-size: clamp(1.75rem, 2.6vw, 2.45rem);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

body.woocommerce-cart .cart_totals .shop_table {
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e1e5e1;
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(23, 39, 31, 0.045);
}

body.woocommerce-cart .cart_totals .shop_table th,
body.woocommerce-cart .cart_totals .shop_table td {
	padding: 16px 14px;
	font-size: 0.88rem;
	vertical-align: top;
}

body.woocommerce-cart .cart_totals .shop_table th {
	width: 34%;
	color: var(--cn-forest-dark);
	font-weight: 780;
}

body.woocommerce-cart .cart_totals .shop_table td {
	text-align: right;
}

body.woocommerce-cart .cart_totals #shipping_method {
	display: grid;
	margin: -3px 0 4px;
	gap: 9px;
	text-align: left;
}

body.woocommerce-cart .cart_totals #shipping_method li {
	display: flex;
	align-items: flex-start;
	margin: 0;
	line-height: 1.35;
}

body.woocommerce-cart .cart_totals #shipping_method input {
	width: 18px;
	height: 18px;
	min-height: 18px;
	margin: 1px 8px 0 0;
	accent-color: var(--cn-terracotta);
}

body.woocommerce-cart .cart_totals #shipping_method label {
	color: #44534b;
	font-size: 0.86rem;
	cursor: pointer;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
	margin: 10px 0 0;
	font-size: 0.79rem;
	line-height: 1.45;
	text-align: left;
}

body.woocommerce-cart .cart_totals .shipping-calculator-button {
	color: var(--cn-terracotta-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	padding-block: 18px;
	font-size: 1rem;
	vertical-align: middle;
}

body.woocommerce-cart .cart_totals .order-total .amount {
	color: var(--cn-forest-dark);
	font-size: 1.45rem;
	font-weight: 820;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
	padding: 0;
}

body.woocommerce-cart .cart_totals .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 64px;
	margin: 16px 0 0;
	gap: 13px;
	color: #fff !important;
	background: linear-gradient(135deg, #ee4f0a 0%, #cf3c05 100%) !important;
	border-radius: 13px;
	box-shadow: 0 12px 25px rgba(207, 60, 5, 0.27);
	font-size: 1rem;
	font-weight: 780;
	transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

body.woocommerce-cart .cart_totals .checkout-button::before {
	width: 24px;
	height: 24px;
	content: "";
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8h14l1 13H4L5 8Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M9 9V6a3 3 0 0 1 6 0v3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 8h14l1 13H4L5 8Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M9 9V6a3 3 0 0 1 6 0v3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-cart .cart_totals .checkout-button:hover,
body.woocommerce-cart .cart_totals .checkout-button:focus-visible {
	box-shadow: 0 16px 30px rgba(207, 60, 5, 0.34);
	filter: saturate(1.08);
	transform: translateY(-2px);
}

.cn-route-progress {
	position: fixed;
	z-index: 100000;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--cn-terracotta), #f4a36f, var(--cn-forest));
	box-shadow: 0 2px 10px rgba(201, 71, 14, 0.28);
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left;
	pointer-events: none;
}

.cn-route-loading .cn-route-progress {
	opacity: 1;
	animation: cn-route-progress 1.1s var(--cn-ease) infinite;
}

@keyframes cn-announcement-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@keyframes cn-route-progress {
	0% { transform: scaleX(0); transform-origin: left; }
	62% { transform: scaleX(0.78); transform-origin: left; }
	100% { transform: scaleX(1); transform-origin: right; }
}

@media (prefers-reduced-motion: reduce) {
	.cn-announcement-track {
		animation: none;
	}

	.cn-route-loading .cn-route-progress {
		animation: none;
		transform: scaleX(0.82);
	}
}

@media (min-width: 961px) and (max-height: 800px) {
	body.woocommerce-cart .cn-content-main {
		padding-top: clamp(18px, 2.2vh, 22px);
	}

	body.woocommerce-cart .cn-entry-header {
		margin-bottom: 12px;
	}

	body.woocommerce-cart .cn-entry-header h1 {
		font-size: clamp(2.65rem, 4.5vw, 3.5rem);
	}

	body.woocommerce-cart .woocommerce-cart-form {
		max-height: calc(100vh - 224px);
	}

	body.woocommerce-cart table.cart th {
		padding-block: 13px;
	}

	body.woocommerce-cart table.cart td {
		padding-block: 11px;
	}

	body.woocommerce-cart table.cart img {
		width: 72px;
		height: 72px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		top: 162px;
		max-height: calc(100vh - 174px);
		padding: 18px;
	}

	body.woocommerce-cart .cart_totals h2 {
		margin-bottom: 11px;
		font-size: 1.8rem;
	}

	body.woocommerce-cart .cart_totals .shop_table th,
	body.woocommerce-cart .cart_totals .shop_table td {
		padding: 10px 12px;
	}

	body.woocommerce-cart .cart_totals #shipping_method {
		gap: 5px;
	}

	body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
	body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
		margin-top: 6px;
	}

	body.woocommerce-cart .cart_totals .order-total th,
	body.woocommerce-cart .cart_totals .order-total td {
		padding-block: 12px;
	}

	body.woocommerce-cart .cart_totals .checkout-button {
		min-height: 54px;
		margin-top: 11px;
	}
}

@media (max-width: 960px) {
	body.woocommerce-cart .cn-content-main > .cn-content-narrow {
		width: min(calc(100% - 24px), 1460px);
	}

	body.woocommerce-cart .cn-entry {
		padding: 0;
	}

	body.woocommerce-cart .cn-entry-content > .woocommerce {
		display: block;
	}

	body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty) {
		position: static;
		width: 100%;
		margin-bottom: 16px;
	}

	body.woocommerce-cart .woocommerce-cart-form {
		max-height: none;
		overflow: visible;
	}

	body.woocommerce-cart .cart-collaterals {
		margin-top: 24px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		position: static;
		max-height: none;
	}
}

@media (max-width: 680px) {
	body.woocommerce-cart .cn-entry {
		padding: 0;
	}

	body.woocommerce-cart .cn-entry-header h1 {
		font-size: 2.8rem;
	}

	body.woocommerce-cart table.cart .cart_item {
		position: relative;
		padding: 18px 16px;
	}

	body.woocommerce-cart table.cart .product-remove {
		position: absolute;
		z-index: 2;
		top: 14px;
		right: 14px;
		width: auto;
		padding: 0;
	}

	body.woocommerce-cart table.cart .product-thumbnail {
		display: block;
		width: 100%;
		padding-right: 62px;
		text-align: left !important;
	}

	body.woocommerce-cart table.cart .product-thumbnail::before {
		display: none;
	}

	body.woocommerce-cart table.cart img {
		width: 94px;
		height: 94px;
	}

	body.woocommerce-cart table.cart .product-price,
	body.woocommerce-cart table.cart .product-subtotal,
	body.woocommerce-cart table.cart .product-quantity {
		width: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form .actions {
		display: block;
		position: static;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon,
	body.woocommerce-cart .woocommerce-cart-form .coupon .input-text,
	body.woocommerce-cart .woocommerce-cart-form .coupon button,
	body.woocommerce-cart .woocommerce-cart-form .actions > button {
		width: 100%;
		flex-basis: 100%;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon {
		flex-wrap: wrap;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon::before {
		top: 27px;
	}

	body.woocommerce-cart .woocommerce-cart-form .actions > button {
		float: none;
		margin-top: 10px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		padding: 20px 16px;
	}

	body.woocommerce-cart .cart_totals h2 {
		font-size: 1.9rem;
	}
}

/* Shared add-to-cart controls used by every catalogue card. */
ul.products li.product .cn-card-actions,
.woocommerce ul.products li.product .cn-card-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: start;
	gap: 0 10px;
	width: auto;
	margin: auto 20px 10px;
}

ul.products li.product .cn-card-stock,
.woocommerce ul.products li.product .cn-card-stock {
	padding-bottom: 8px;
}

ul.products li.product .cn-card-actions.is-active,
.woocommerce ul.products li.product .cn-card-actions.is-active {
	grid-template-columns: minmax(0, 1fr) 112px;
}

ul.products li.product .cn-card-actions > .button,
.woocommerce ul.products li.product .cn-card-actions > .button {
	grid-row: 1;
	grid-column: 1;
	align-self: start;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	min-height: 44px;
	padding-inline: 12px;
	margin: 0 !important;
	transition: background-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

ul.products li.product .cn-card-actions > .button:hover,
ul.products li.product .cn-card-actions > .button:focus-visible,
.woocommerce ul.products li.product .cn-card-actions > .button:hover,
.woocommerce ul.products li.product .cn-card-actions > .button:focus-visible {
	transform: none;
}

ul.products li.product .cn-card-actions.is-active > .cn-card-add::after,
.woocommerce ul.products li.product .cn-card-actions.is-active > .cn-card-add::after {
	width: 16px;
	height: 16px;
	margin-left: 9px;
	content: "";
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	flex: 0 0 auto;
}

ul.products li.product .cn-card-quantity,
.woocommerce ul.products li.product .cn-card-quantity {
	display: grid;
	grid-row: 1;
	grid-column: 2;
	grid-template-columns: 34px 44px 34px;
	align-items: stretch;
	align-self: start;
	box-sizing: border-box;
	min-width: 112px;
	height: 44px;
	overflow: hidden;
	background: var(--cn-warm);
	border: 1px solid #ded5ca;
	border-radius: 11px;
}

ul.products li.product .cn-card-quantity[hidden],
.woocommerce ul.products li.product .cn-card-quantity[hidden] {
	display: none;
}

ul.products li.product .cn-card-quantity button,
.woocommerce ul.products li.product .cn-card-quantity button {
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 0;
	padding: 0;
	margin: 0;
	color: var(--cn-forest-dark);
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font: inherit;
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
}

ul.products li.product .cn-card-quantity button:hover,
ul.products li.product .cn-card-quantity button:focus-visible,
.woocommerce ul.products li.product .cn-card-quantity button:hover,
.woocommerce ul.products li.product .cn-card-quantity button:focus-visible {
	color: var(--cn-white);
	background: var(--cn-forest);
}

ul.products li.product .cn-card-quantity button:disabled,
.woocommerce ul.products li.product .cn-card-quantity button:disabled {
	cursor: wait;
	opacity: 0.45;
}

ul.products li.product .cn-card-quantity output,
.woocommerce ul.products li.product .cn-card-quantity output {
	display: grid;
	place-items: center;
	min-width: 0;
	color: var(--cn-ink);
	background: var(--cn-white);
	border-right: 1px solid #ded5ca;
	border-left: 1px solid #ded5ca;
	font-size: 0.82rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

ul.products li.product .cn-card-actions > .added_to_cart,
.woocommerce ul.products li.product .cn-card-actions > .added_to_cart {
	display: block;
	grid-row: 2;
	grid-column: 1 / -1;
	padding-top: 10px;
	margin: 0;
	color: var(--cn-forest-dark);
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}

ul.products li.product .cn-card-actions.is-loading,
.woocommerce ul.products li.product .cn-card-actions.is-loading {
	opacity: 0.72;
}

ul.products li.product .cn-card-actions.is-loading > .cn-card-add,
.woocommerce ul.products li.product .cn-card-actions.is-loading > .cn-card-add {
	cursor: wait;
}

@media (max-width: 680px) {
	ul.products li.product .cn-card-actions,
	.woocommerce ul.products li.product .cn-card-actions {
		gap: 0 8px;
		margin: auto 12px 12px;
	}

	body.home ul.cn-products-grid li.product .cn-card-actions {
		margin: auto 16px 16px;
	}

	ul.products li.product .cn-card-actions.is-active,
	.woocommerce ul.products li.product .cn-card-actions.is-active {
		grid-template-columns: minmax(0, 1fr) 82px;
	}

	ul.products li.product .cn-card-quantity,
	.woocommerce ul.products li.product .cn-card-quantity {
		grid-template-columns: 24px 34px 24px;
		min-width: 82px;
		height: 44px;
	}

	ul.products li.product .cn-card-actions > .button,
	.woocommerce ul.products li.product .cn-card-actions > .button {
		height: 44px;
		min-height: 44px;
		padding-inline: 6px;
	}

	ul.products li.product .cn-card-actions.is-active > .cn-card-add::before,
	.woocommerce ul.products li.product .cn-card-actions.is-active > .cn-card-add::before {
		margin-right: 5px;
	}

	ul.products li.product .cn-card-actions.is-active > .cn-card-add::after,
	.woocommerce ul.products li.product .cn-card-actions.is-active > .cn-card-add::after {
		display: none;
	}
}

/* Mobile commerce system: dense, touch-first and consistent across the full purchase flow. */
.cn-mobile-commerce-nav {
	display: none;
}

@media (max-width: 680px) {
	:root {
		--cn-mobile-gutter: 10px;
		--cn-mobile-dock-height: 64px;
	}

	html {
		scroll-padding-top: 108px;
	}

	body {
		padding-bottom: calc(var(--cn-mobile-dock-height) + 16px + env(safe-area-inset-bottom));
	}

	body.woocommerce-checkout,
	body.woocommerce-cart,
	body.single-product {
		padding-bottom: 0;
	}

	.cn-container,
	body.woocommerce-cart .cn-content-main > .cn-content-narrow {
		width: calc(100% - (var(--cn-mobile-gutter) * 2));
	}

	.cn-announcement {
		min-height: 26px;
	}

	.cn-announcement-copy {
		min-width: 72vw;
		padding-right: 2.75rem;
		font-size: 0.58rem;
		letter-spacing: 0.11em;
		line-height: 26px;
	}

	.cn-header-main {
		grid-template-columns: 40px minmax(0, 1fr) 48px;
		min-height: 56px;
		padding-block: 7px 8px;
		column-gap: 9px;
		row-gap: 7px;
	}

	.cn-menu-toggle,
	.cn-icon-button {
		width: 38px;
		height: 38px;
		border-radius: 11px;
	}

	.cn-brand {
		min-width: 0;
	}

	.cn-brand a {
		gap: 0;
		font-size: clamp(0.82rem, 4vw, 1rem);
		letter-spacing: 0.11em;
	}

	.cn-brand a small {
		display: none;
	}

	.cn-header-actions {
		gap: 0;
	}

	.cn-header-actions > .cn-header-action:first-child {
		display: none;
	}

	.cn-cart-link {
		justify-content: center;
		width: 44px;
		height: 40px;
		gap: 0;
	}

	.cn-cart-link > span:not(.cn-cart-count) {
		display: none;
	}

	.cn-cart-link svg {
		width: 23px;
		height: 23px;
	}

	.cn-cart-link .cn-cart-count {
		position: absolute;
		top: -3px;
		right: -1px;
		min-width: 18px;
		height: 18px;
		font-size: 0.58rem;
	}

	.cn-search-wrap {
		grid-column: 1 / -1;
		max-height: 42px;
		overflow: visible;
		opacity: 1;
		transform: translateY(0);
		transition: max-height 200ms ease, opacity 160ms ease, transform 200ms var(--cn-ease);
	}

	.cn-search-wrap input[type="search"] {
		height: 40px;
		padding-inline: 14px 46px;
		border-radius: 11px;
		font-size: 0.76rem;
	}

	.cn-search-wrap button {
		width: 36px;
		height: 34px;
	}

	.cn-header.is-compact .cn-search-wrap {
		max-height: 0;
		opacity: 0;
		transform: translateY(-7px);
		pointer-events: none;
	}

	.cn-navigation-row {
		display: none;
	}

	.cn-mobile-drawer {
		width: min(89vw, 360px);
		padding: 16px;
		overflow-y: auto;
		color: #f5fbf7;
		background: linear-gradient(165deg, #123f2d 0%, #082d20 100%);
		box-shadow: 18px 0 48px rgba(5, 24, 15, 0.34);
		overscroll-behavior: contain;
	}

	.cn-mobile-drawer-head {
		margin-bottom: 12px;
		color: #fff;
	}

	.cn-mobile-drawer-head .cn-menu-close {
		color: #f7fff9;
		background: rgba(255, 255, 255, 0.09);
		border-color: rgba(255, 255, 255, 0.13);
	}

	.cn-mobile-search {
		margin-bottom: 14px;
	}

	.cn-mobile-drawer .menu {
		gap: 4px;
	}

	.cn-mobile-drawer .menu a {
		min-height: 42px;
		padding: 9px 12px;
		color: #f5fbf7;
		border-bottom-color: rgba(255, 255, 255, 0.12);
		border-radius: 10px;
	}

	.cn-mobile-drawer .menu a:hover,
	.cn-mobile-drawer .menu a:focus-visible {
		color: #fff;
		background: rgba(255, 255, 255, 0.1);
	}

	.cn-mobile-drawer .cn-mobile-account {
		margin-top: 14px;
		color: #ffe0cf;
		border-bottom-color: rgba(255, 255, 255, 0.12);
	}

	.cn-mobile-drawer-categories {
		margin-top: 16px;
		padding-top: 16px;
		border-top: 1px solid rgba(255, 255, 255, 0.13);
	}

	.cn-mobile-drawer-categories h2 {
		margin: 0 0 10px;
		color: #b9cdc0;
		font-size: 0.65rem;
		font-weight: 800;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.cn-mobile-category-list {
		display: flex;
		flex-direction: column;
	}

	.cn-mobile-category-list a {
		display: block;
		min-height: 45px;
		padding: 13px 4px 12px;
		color: #f5fbf7;
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 0;
		text-decoration: none;
		font-size: 0.92rem;
		font-weight: 720;
		line-height: 1.25;
		letter-spacing: -0.015em;
		box-shadow: none;
		transition: color 160ms ease, border-color 160ms ease;
	}

	.cn-mobile-category-list a:hover,
	.cn-mobile-category-list a:focus-visible {
		color: #ffe0cf;
		background: transparent;
		border-bottom-color: rgba(255, 224, 207, 0.42);
		outline: 0;
		text-decoration: underline;
		text-decoration-color: rgba(255, 199, 170, 0.8);
		text-decoration-thickness: 2px;
		text-underline-offset: 5px;
	}

	.cn-mobile-category-list a:active {
		color: #ffc7aa;
	}

	.cn-mobile-commerce-nav {
		position: fixed;
		z-index: 80;
		bottom: max(8px, env(safe-area-inset-bottom));
		left: 50%;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		width: min(calc(100% - 20px), 460px);
		height: var(--cn-mobile-dock-height);
		padding: 5px;
		background: rgba(255, 255, 255, 0.96);
		border: 1px solid rgba(23, 59, 43, 0.14);
		border-radius: 18px;
		box-shadow: 0 14px 38px rgba(13, 43, 29, 0.22);
		opacity: 1;
		transform: translateX(-50%) translateY(0);
		transition: opacity 180ms ease, transform 220ms var(--cn-ease);
		backdrop-filter: blur(18px);
	}

	.cn-mobile-commerce-nav.is-hidden {
		opacity: 0;
		transform: translateX(-50%) translateY(calc(100% + 18px));
		pointer-events: none;
	}

	body.woocommerce-checkout .cn-mobile-commerce-nav,
	body.woocommerce-cart .cn-mobile-commerce-nav,
	body.single-product .cn-mobile-commerce-nav {
		display: none;
	}

	body.woocommerce-cart .cn-mini-cart,
	body.single-product .cn-mini-cart {
		bottom: 12px;
	}

	.cn-mobile-commerce-nav a,
	.cn-mobile-commerce-nav button {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 0;
		min-height: 52px;
		padding: 4px;
		gap: 3px;
		color: #66736c;
		background: transparent;
		border: 0;
		border-radius: 13px;
		font: inherit;
		font-size: 0.58rem;
		font-weight: 720;
		line-height: 1;
		text-decoration: none;
		flex-direction: column;
		cursor: pointer;
		transition: color 160ms ease, background 160ms ease, transform 160ms var(--cn-ease);
	}

	.cn-mobile-commerce-nav a.is-current,
	.cn-mobile-commerce-nav a:active,
	.cn-mobile-commerce-nav button:active,
	.cn-mobile-commerce-nav button[aria-expanded="true"] {
		color: var(--cn-terracotta-dark);
		background: var(--cn-orange-soft);
		transform: scale(0.96);
	}

	.cn-mobile-commerce-nav svg {
		width: 21px;
		height: 21px;
	}

	.cn-mobile-commerce-nav .cn-cart-count {
		position: absolute;
		top: 2px;
		right: calc(50% - 24px);
		min-width: 17px;
		height: 17px;
		font-size: 0.52rem;
	}

	.cn-cart-link.is-cart-updated,
	.cn-mobile-commerce-cart.is-cart-updated {
		animation: cn-mobile-cart-confirm 560ms var(--cn-ease);
	}

	html.cn-mini-cart-open body::before {
		position: fixed;
		z-index: 45;
		inset: 0;
		content: "";
		background: rgba(10, 31, 21, 0.34);
		backdrop-filter: blur(2px);
	}

	.cn-cart-quick-wrap::after,
	.cn-mini-cart::before {
		display: none;
	}

	.cn-mini-cart {
		position: fixed;
		top: auto;
		right: 10px;
		bottom: calc(var(--cn-mobile-dock-height) + 18px + env(safe-area-inset-bottom));
		left: 10px;
		width: auto;
		max-height: min(72dvh, 620px);
		border-radius: 20px;
		transform: translateY(18px) scale(0.985);
		transform-origin: bottom center;
	}

	.cn-cart-quick-wrap.is-open .cn-mini-cart {
		transform: translateY(0) scale(1);
	}

	.cn-mini-cart-heading {
		padding: 14px 16px 12px;
	}

	.cn-mini-cart-items {
		max-height: min(43dvh, 360px);
		scrollbar-width: none;
	}

	.cn-mini-cart-items::-webkit-scrollbar {
		display: none;
	}

	.cn-mini-cart-item {
		grid-template-columns: 58px minmax(0, 1fr) 26px;
		gap: 10px;
		padding: 11px 13px;
	}

	.cn-mini-cart-thumb {
		width: 58px;
		height: 58px;
		border-radius: 11px;
	}

	.cn-mini-cart-footer {
		padding: 12px 14px 14px;
		gap: 10px;
	}

	.cn-main {
		padding-top: 0;
	}

	.cn-hero {
		display: grid;
		grid-template-columns: minmax(0, 1.08fr) minmax(132px, 0.92fr);
		min-height: 0;
		margin-top: 8px;
		gap: 7px;
	}

	.cn-hero-copy,
	.cn-hero-media {
		min-height: 230px;
		border-radius: 13px;
	}

	.cn-hero-copy {
		grid-column: 1;
		padding: 14px;
	}

	.cn-hero-copy h1 {
		max-width: 9ch;
		margin-bottom: 8px;
		font-size: clamp(1.58rem, 7.4vw, 1.92rem);
		line-height: 0.98;
	}

	.cn-hero-copy p {
		margin-bottom: 10px;
		font-size: 0.67rem;
		line-height: 1.38;
	}

	.cn-hero-actions {
		display: grid;
		gap: 7px;
	}

	.cn-hero-actions .cn-button {
		width: 100%;
		min-height: 39px;
		padding-inline: 10px;
		font-size: 0.66rem;
	}

	.cn-hero-actions .cn-text-link {
		justify-self: start;
		font-size: 0.63rem;
	}

	.cn-hero-media {
		grid-column: 2;
		height: auto;
		background-image: var(--cn-hero-mobile-image);
		background-position: center;
		background-size: cover;
	}

	.cn-hero-mobile-slices {
		display: none;
	}

	.cn-hero-deal {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: auto minmax(0, 1fr) auto;
		min-height: 62px;
		padding: 8px 10px;
		gap: 9px;
	}

	.cn-hero-deal small {
		font-size: 0.51rem;
	}

	.cn-hero-deal > strong {
		display: block;
		margin: 0;
		font-size: 1.48rem;
		line-height: 1;
	}

	.cn-hero-deal p {
		display: none;
	}

	.cn-hero-deal .cn-button {
		min-height: 38px;
		padding-inline: 11px;
		font-size: 0.62rem;
	}

	.cn-home-section {
		padding-top: 20px;
	}

	.cn-section-heading {
		align-items: end;
		margin-bottom: 9px;
		gap: 8px;
	}

	.cn-section-heading h2 {
		font-size: 1.18rem;
		line-height: 1.05;
	}

	.cn-section-heading > a {
		min-height: 32px;
		font-size: 0.62rem;
	}

	.cn-category-grid,
	body.home ul.cn-products-grid,
	ul.products,
	.woocommerce ul.products,
	.cn-products-grid,
	.woocommerce ul.products[class*="columns-"] {
		display: grid;
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-columns: auto;
		gap: 8px;
		padding: 0;
		overflow: visible;
		scroll-snap-type: none;
	}

	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product,
	body.home ul.cn-products-grid li.product,
	ul.products li.product,
	.woocommerce ul.products li.product {
		float: none;
		width: auto !important;
		min-width: 0;
		min-height: 0;
		margin: 0 !important;
		border-radius: 13px;
		box-shadow: 0 5px 16px rgba(23, 39, 31, 0.075);
		scroll-snap-align: none;
		transition: box-shadow 180ms ease, transform 180ms var(--cn-ease);
	}

	ul.products li.product:active,
	.woocommerce ul.products li.product:active,
	.cn-category-card:active {
		box-shadow: 0 3px 10px rgba(23, 39, 31, 0.1);
		transform: scale(0.985);
	}

	.cn-category-card {
		min-width: 0;
		border-radius: 12px;
		scroll-snap-align: none;
	}

	.cn-category-image {
		aspect-ratio: 1.55 / 1;
	}

	.cn-category-card > span {
		min-height: 48px;
		padding: 8px 26px 8px 9px;
	}

	.cn-category-card strong {
		font-size: 0.68rem;
		line-height: 1.2;
	}

	.cn-category-card small {
		font-size: 0.56rem;
	}

	.cn-category-card > svg {
		right: 8px;
		bottom: 16px;
		width: 13px;
	}

	body.home ul.cn-products-grid li.product > a.woocommerce-LoopProduct-link,
	ul.products li.product > a.woocommerce-LoopProduct-link,
	.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
		display: flex;
		min-height: 0;
		padding-bottom: 0;
	}

	body.home ul.cn-products-grid li.product img,
	ul.products li.product img,
	.woocommerce ul.products li.product a img {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 1.08 / 1;
		object-fit: cover;
	}

	body.home ul.cn-products-grid li.product .woocommerce-loop-product__title,
	ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		display: -webkit-box;
		min-height: 43px;
		padding: 10px 10px 4px;
		overflow: hidden;
		font-size: 0.72rem;
		line-height: 1.28;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	body.home ul.cn-products-grid li.product .price,
	ul.products li.product .price,
	.woocommerce ul.products li.product .price {
		min-height: 36px;
		padding: 7px 8px;
		margin: 2px 8px 0;
		gap: 4px;
		border-radius: 9px;
		font-size: 0.82rem;
		line-height: 1.1;
	}

	body.home ul.cn-products-grid li.product .price del,
	ul.products li.product .price del,
	.woocommerce ul.products li.product .price del {
		font-size: 0.55rem;
	}

	ul.products li.product .cn-card-discount,
	.woocommerce ul.products li.product .cn-card-discount {
		font-size: 0.56rem;
	}

	body.home ul.cn-products-grid li.product .cn-card-stock,
	ul.products li.product .cn-card-stock,
	.woocommerce ul.products li.product .cn-card-stock {
		min-height: 24px;
		padding: 6px 9px 4px;
		font-size: 0.58rem;
	}

	.cn-card-stock::before {
		width: 5px;
		height: 5px;
		margin-right: 4px;
	}

	body.home ul.cn-products-grid .cn-card-badge,
	ul.products li.product .cn-card-badge,
	.woocommerce ul.products li.product .cn-card-badge {
		top: 7px;
		left: 7px;
		min-height: 22px;
		padding: 4px 7px;
		font-size: 0.51rem;
	}

	body.home ul.cn-products-grid li.product .cn-card-actions,
	ul.products li.product .cn-card-actions,
	.woocommerce ul.products li.product .cn-card-actions {
		width: auto;
		margin: auto 8px 8px;
		gap: 0 6px;
	}

	ul.products li.product .cn-card-actions > .button,
	.woocommerce ul.products li.product .cn-card-actions > .button,
	body.home ul.cn-products-grid li.product .cn-card-actions > .button {
		min-height: 42px;
		height: 42px;
		padding-inline: 6px;
		border-radius: 9px;
		font-size: 0.65rem;
	}

	ul.products li.product .cn-card-actions > .button::before,
	.woocommerce ul.products li.product .cn-card-actions > .button::before {
		width: 16px;
		height: 16px;
		margin-right: 5px;
	}

	ul.products li.product .cn-card-actions.is-active,
	.woocommerce ul.products li.product .cn-card-actions.is-active {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	ul.products li.product .cn-card-actions.is-active > .cn-card-add,
	.woocommerce ul.products li.product .cn-card-actions.is-active > .cn-card-add {
		font-size: 0;
	}

	ul.products li.product .cn-card-actions.is-active > .cn-card-add::before,
	.woocommerce ul.products li.product .cn-card-actions.is-active > .cn-card-add::before {
		width: 18px;
		height: 18px;
		margin: 0;
	}

	ul.products li.product .cn-card-quantity,
	.woocommerce ul.products li.product .cn-card-quantity {
		grid-template-columns: minmax(24px, 1fr) 30px minmax(24px, 1fr);
		width: 100%;
		min-width: 0;
		height: 42px;
		border-radius: 9px;
	}

	ul.products li.product .cn-card-actions > .added_to_cart,
	.woocommerce ul.products li.product .cn-card-actions > .added_to_cart {
		display: none;
	}

	.cn-seasonal {
		min-height: 182px;
		margin-top: 18px;
		border-radius: 13px;
	}

	.cn-seasonal-copy {
		width: 64%;
		min-height: 182px;
		padding: 17px 14px;
	}

	.cn-seasonal h2 {
		font-size: 1.22rem;
	}

	.cn-seasonal p {
		margin-block: 6px 9px;
		font-size: 0.64rem;
	}

	.cn-seasonal .cn-button {
		display: inline-flex;
		min-height: 36px;
		font-size: 0.62rem;
	}

	.cn-newsletter {
		margin-top: 22px;
	}

	.cn-newsletter-inner {
		gap: 9px;
		padding-block: 14px;
	}

	.cn-newsletter form {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.cn-newsletter button {
		display: block;
		padding-inline: 12px;
		font-size: 0.58rem;
	}

	.cn-contact-band {
		grid-template-columns: 42px minmax(0, 1fr);
		margin-block: 14px;
		padding: 14px;
		gap: 10px;
	}

	.cn-contact-band .cn-button {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 40px;
	}

	.woocommerce-products-header,
	.woocommerce-products-header__title,
	.woocommerce .page-title {
		margin-bottom: 8px;
		font-size: 1.55rem;
		line-height: 1.05;
	}

	.woocommerce .woocommerce-result-count {
		float: none;
		margin: 0 0 7px;
		font-size: 0.62rem;
	}

	.woocommerce .woocommerce-ordering {
		float: none;
		width: 100%;
		margin: 0 0 10px;
	}

	.woocommerce .woocommerce-ordering select {
		width: 100%;
		height: 40px;
		padding-inline: 11px 34px;
		border-radius: 10px;
		font-size: 0.68rem;
	}

	.woocommerce nav.woocommerce-pagination {
		margin-top: 16px;
	}

	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span {
		min-width: 38px;
		height: 38px;
		padding: 10px;
	}

	.single-product .cn-store-shell,
	.tax-product_cat .cn-store-shell,
	.post-type-archive-product .cn-store-shell {
		padding-top: 8px;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none !important;
		width: 100% !important;
		min-width: 0;
	}

	.woocommerce .woocommerce-breadcrumb {
		margin-bottom: 8px;
		overflow-x: auto;
		font-size: 0.58rem;
		white-space: nowrap;
		scrollbar-width: none;
	}

	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product .summary {
		margin-bottom: 14px;
	}

	.woocommerce div.product .product_title {
		font-size: 1.62rem;
		line-height: 1.05;
	}

	.woocommerce div.product p.price,
	.woocommerce div.product span.price {
		font-size: 1.36rem;
	}

	.woocommerce div.product form.cart {
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr);
		width: 100%;
		align-items: stretch;
		gap: 8px;
	}

	body.single-product.woocommerce div.product form.cart .quantity {
		float: none;
		grid-column: 1;
		grid-row: 1;
		width: 88px;
		margin: 0;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button {
		float: none !important;
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		min-height: 46px;
		padding-inline: 12px;
		margin: 0 !important;
		white-space: nowrap;
	}

	.woocommerce div.product form.cart .variations,
	.woocommerce div.product form.cart .woocommerce-variation,
	.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
		grid-column: 1 / -1;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs {
		display: flex;
		padding: 0;
		overflow-x: auto;
		white-space: nowrap;
		scrollbar-width: none;
	}

	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		padding: 10px 12px;
		font-size: 0.67rem;
	}

	.woocommerce div.product .woocommerce-tabs .panel h2,
	.woocommerce div.product > section.related.products > h2,
	.woocommerce div.product > section.upsells.products > h2 {
		font-size: 1.28rem;
	}

	.woocommerce div.product > section.related.products,
	.woocommerce div.product > section.upsells.products {
		margin-top: 22px;
	}

	body.woocommerce-cart .cn-content-main {
		padding-block: 14px 24px;
	}

	body.woocommerce-cart .cn-entry-header {
		margin-bottom: 9px;
	}

	body.woocommerce-cart .cn-entry-header h1 {
		font-size: 2.25rem;
	}

	body.woocommerce-cart .woocommerce-message,
	body.woocommerce-cart .woocommerce-info,
	body.woocommerce-cart .woocommerce-error {
		padding: 12px 12px 12px 36px;
		margin-bottom: 10px;
		border-radius: 12px;
		font-size: 0.68rem;
	}

	body.woocommerce-cart .woocommerce-message .button {
		min-height: 38px;
		padding-inline: 12px;
		font-size: 0.64rem;
	}

	body.woocommerce-cart .woocommerce-cart-form {
		padding: 8px;
		overflow: visible;
		border-radius: 15px;
	}

	body.woocommerce-cart .woocommerce-cart-form .shop_table,
	body.woocommerce-cart .woocommerce-cart-form .shop_table tbody {
		display: grid;
		gap: 8px;
	}

	body.woocommerce-cart table.cart thead {
		display: none;
	}

	body.woocommerce-cart table.cart .cart_item {
		display: grid;
		position: relative;
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto;
		padding: 10px;
		gap: 6px 10px;
		background: #fff;
		border: 1px solid #e6e7e2;
		border-radius: 13px;
		box-shadow: 0 4px 12px rgba(23, 39, 31, 0.045);
	}

	body.woocommerce-cart table.cart .cart_item td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		text-align: left !important;
	}

	body.woocommerce-cart table.cart .cart_item td::before {
		display: none;
	}

	body.woocommerce-cart table.cart .product-remove {
		position: absolute;
		top: 7px;
		right: 7px;
		width: 32px;
	}

	body.woocommerce-cart table.cart .product-remove a.remove {
		width: 32px;
		height: 32px;
	}

	body.woocommerce-cart table.cart .product-remove a.remove svg {
		width: 19px;
		height: 19px;
	}

	body.woocommerce-cart table.cart .product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1 / 4;
		width: 76px;
		padding: 0;
	}

	body.woocommerce-cart table.cart img {
		width: 76px;
		height: 76px;
		border-radius: 11px;
	}

	body.woocommerce-cart table.cart .product-name {
		grid-column: 2 / 4;
		grid-row: 1;
		padding-right: 30px;
	}

	body.woocommerce-cart table.cart .product-name a {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.76rem;
		line-height: 1.25;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	body.woocommerce-cart table.cart .product-price {
		grid-column: 2 / 4;
		grid-row: 2;
		color: #6c7771;
		font-size: 0.64rem;
	}

	body.woocommerce-cart table.cart .product-quantity {
		grid-column: 2;
		grid-row: 3;
	}

	body.woocommerce-cart table.cart .quantity {
		width: 108px;
		height: 40px;
		border-radius: 10px;
	}

	body.woocommerce-cart table.cart .quantity .qty {
		width: 38px;
		height: 38px;
		min-height: 38px;
	}

	body.woocommerce-cart .cn-quantity-button {
		width: 34px;
		height: 38px;
		font-size: 1.05rem;
	}

	body.woocommerce-cart table.cart .product-subtotal {
		grid-column: 3;
		grid-row: 3;
		align-self: center;
		color: var(--cn-forest-dark);
		font-size: 0.78rem;
		font-weight: 780;
		text-align: right !important;
	}

	body.woocommerce-cart .woocommerce-cart-form .actions {
		display: grid;
		position: static;
		grid-template-columns: minmax(0, 1fr);
		padding: 8px 0 0 !important;
		gap: 8px;
		background: transparent;
		box-shadow: none;
		backdrop-filter: none;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon {
		display: grid;
		float: none !important;
		grid-template-columns: minmax(0, 1fr) 118px;
		width: 100%;
		gap: 7px;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon .input-text,
	body.woocommerce-cart .woocommerce-cart-form .coupon button {
		float: none !important;
		width: 100% !important;
		min-height: 44px;
		height: 44px;
		margin: 0 !important;
		font-size: 0.67rem;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon .input-text {
		float: none !important;
		width: 100% !important;
		padding-left: 45px !important;
		margin: 0 !important;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon::before {
		top: 22px;
		left: 14px;
		width: 18px;
		height: 18px;
	}

	body.woocommerce-cart .woocommerce-cart-form .coupon button {
		padding-inline: 8px;
	}

	body.woocommerce-cart .woocommerce-cart-form .actions > button {
		width: 100%;
		min-height: 42px;
		margin: 0;
		justify-content: center;
		font-size: 0.66rem;
	}

	body.woocommerce-cart .cart-collaterals {
		margin-top: 10px;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		padding: 13px;
		border-radius: 15px;
		box-shadow: 0 8px 24px rgba(23, 39, 31, 0.08);
	}

	body.woocommerce-cart .cart_totals h2 {
		margin-bottom: 9px;
		font-size: 1.45rem;
	}

	body.woocommerce-cart .cart_totals .shop_table th,
	body.woocommerce-cart .cart_totals .shop_table td {
		padding: 10px;
		font-size: 0.72rem;
	}

	body.woocommerce-cart .cart_totals .shop_table th {
		width: 27%;
	}

	body.woocommerce-cart .cart_totals #shipping_method {
		gap: 6px;
	}

	body.woocommerce-cart .cart_totals #shipping_method label {
		font-size: 0.7rem;
	}

	body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
	body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
		margin-top: 7px;
		font-size: 0.66rem;
	}

	body.woocommerce-cart .cart_totals .order-total .amount {
		font-size: 1.18rem;
	}

	body.woocommerce-cart .cart_totals .checkout-button {
		min-height: 52px;
		margin-top: 10px;
		font-size: 0.82rem;
	}

	body.woocommerce-checkout .cn-content-main,
	body.woocommerce-account .cn-content-main {
		padding-block: 8px 22px;
	}

	body.woocommerce-checkout .cn-content-narrow,
	body.woocommerce-account .cn-content-narrow {
		width: calc(100% - 20px);
	}

	body.woocommerce-checkout .cn-entry,
	body.woocommerce-account .cn-entry {
		padding: 12px;
		border-radius: 14px;
	}

	body.woocommerce-checkout .cn-entry-header h1,
	body.woocommerce-account .cn-entry-header h1 {
		font-size: 1.6rem;
	}

	body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
	body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
		padding: 10px 10px 10px 36px;
		margin-bottom: 8px;
		border-radius: 10px;
		font-size: 0.62rem;
	}

	body.woocommerce-checkout form.checkout h3,
	body.woocommerce-checkout #order_review_heading {
		margin-block: 14px 9px;
		font-size: 0.95rem;
	}

	body.woocommerce-checkout form .form-row {
		margin-bottom: 8px;
	}

	body.woocommerce-checkout form .form-row label {
		margin-bottom: 4px;
		font-size: 0.61rem;
	}

	body.woocommerce-checkout form .form-row input.input-text,
	body.woocommerce-checkout form .form-row select,
	body.woocommerce-checkout .select2-container .select2-selection--single {
		height: 46px;
		min-height: 46px;
		padding-block: 8px;
		border-radius: 10px;
		font-size: 0.74rem;
	}

	body.woocommerce-checkout #order_review {
		padding: 10px;
		border-radius: 13px;
	}

	body.woocommerce-checkout table.shop_table th,
	body.woocommerce-checkout table.shop_table td {
		padding: 8px 7px;
		font-size: 0.62rem;
		line-height: 1.35;
	}

	body.woocommerce-checkout #shipping_method {
		display: grid;
		gap: 5px;
	}

	body.woocommerce-checkout #payment {
		padding: 8px;
		border-radius: 12px;
	}

	body.woocommerce-checkout #payment ul.payment_methods {
		padding: 8px;
	}

	body.woocommerce-checkout #payment div.payment_box {
		padding: 10px;
		margin-top: 7px;
		font-size: 0.65rem;
	}

	body.woocommerce-checkout #payment .form-row.place-order {
		padding: 10px 0 0;
	}

	body.woocommerce-checkout #place_order {
		width: 100%;
		min-height: 52px;
		font-size: 0.75rem;
	}

	.cn-footer {
		padding-top: 26px;
	}

	.cn-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 16px;
		padding-bottom: 24px;
	}

	.cn-footer-brand {
		grid-column: 1 / -1;
	}

	.cn-footer-brand p {
		max-width: 46ch;
		margin-top: 8px;
	}

	.cn-footer h2 {
		margin-bottom: 9px;
		font-size: 0.63rem;
	}

	.cn-footer ul {
		gap: 5px;
	}

	.cn-footer li,
	.cn-footer p,
	.cn-footer a {
		font-size: 0.64rem;
		line-height: 1.45;
	}

	.cn-footer-bottom {
		padding-block: 13px calc(16px + env(safe-area-inset-bottom));
		gap: 5px;
		font-size: 0.58rem;
	}
}

/* Merchant-managed Home imagery. */
.cn-hero-deal.has-background-image {
	background-image: linear-gradient(150deg, rgba(88, 29, 9, 0.82), rgba(134, 42, 7, 0.7)), var(--cn-deal-image);
	background-position: center;
	background-size: cover;
}

.cn-hero-deal.has-background-image > * {
	position: relative;
	z-index: 1;
}

.cn-contact-band-image {
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 8px 20px rgba(23, 59, 43, 0.14);
}

.cn-contact-band-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 680px) {
	.cn-contact-band-image {
		width: 42px;
		height: 42px;
		border-radius: 12px;
	}
}

@keyframes cn-mobile-cart-confirm {
	0%, 100% { transform: scale(1); }
	38% { color: var(--cn-terracotta-dark); transform: scale(1.14) rotate(-3deg); }
	70% { transform: scale(0.96) rotate(2deg); }
}

/* Quantity changes are persisted automatically; the legacy manual action is intentionally absent. */
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] {
	display: none !important;
}

@media (max-width: 360px) {
	.cn-hero {
		grid-template-columns: minmax(0, 1.06fr) minmax(116px, 0.94fr);
	}

	.cn-hero-copy {
		padding: 12px;
	}

	.cn-hero-copy h1 {
		font-size: 1.48rem;
	}

	.cn-category-grid,
	body.home ul.cn-products-grid,
	ul.products,
	.woocommerce ul.products,
	.cn-products-grid {
		gap: 6px;
	}

	body.home ul.cn-products-grid li.product .woocommerce-loop-product__title,
	ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding-inline: 8px;
		font-size: 0.68rem;
	}

	body.home ul.cn-products-grid li.product .price,
	ul.products li.product .price,
	.woocommerce ul.products li.product .price {
		margin-inline: 6px;
		font-size: 0.76rem;
	}

	body.home ul.cn-products-grid li.product .cn-card-actions,
	ul.products li.product .cn-card-actions,
	.woocommerce ul.products li.product .cn-card-actions {
		margin-inline: 6px;
	}
}

/* Mercado Libre-style product zoom for desktop pointers. */
.cn-product-zoom-lens,
.cn-product-zoom-panel {
	display: none;
}

@media (min-width: 961px) and (hover: hover) and (pointer: fine) {
	body.single-product .woocommerce-product-gallery img.zoomImg {
		display: none !important;
	}

	body.single-product .woocommerce-product-gallery__image {
		cursor: crosshair;
	}

	.cn-product-zoom-lens,
	.cn-product-zoom-panel {
		position: fixed;
		display: block;
		pointer-events: none;
		opacity: 0;
		visibility: hidden;
		transition: opacity 120ms ease, visibility 120ms ease;
	}

	.cn-product-zoom-lens.is-visible,
	.cn-product-zoom-panel.is-visible {
		opacity: 1;
		visibility: visible;
	}

	.cn-product-zoom-lens {
		z-index: 68;
		background: rgba(19, 55, 39, 0.2);
		border: 1px solid rgba(19, 55, 39, 0.48);
		border-radius: 10px;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
	}

	.cn-product-zoom-panel {
		z-index: 69;
		overflow: hidden;
		background-color: #fff;
		background-repeat: no-repeat;
		border: 1px solid rgba(23, 59, 43, 0.14);
		border-radius: var(--cn-radius);
		box-shadow: 0 18px 48px rgba(17, 45, 32, 0.18);
	}
}

/* Keep the complete product overview inside the initial viewport at 100% zoom. */
@media (min-width: 961px) {
	body.single-product .cn-store-main {
		padding-top: clamp(18px, 2.4vh, 26px);
	}

	body.single-product .woocommerce-breadcrumb {
		margin-bottom: clamp(12px, 1.8vh, 20px);
	}

	body.single-product.woocommerce div.product {
		grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
		align-items: start;
		column-gap: clamp(32px, 4vw, 62px);
		row-gap: clamp(20px, 3vh, 32px);
		padding-top: 8px;
	}

	body.single-product.woocommerce div.product div.images,
	body.single-product.woocommerce div.product div.summary {
		align-self: start;
	}

	body.single-product.woocommerce div.product div.summary {
		padding-top: clamp(4px, 1vh, 10px);
	}

	body.single-product.woocommerce div.product p.price,
	body.single-product.woocommerce div.product span.price {
		margin-block: 16px;
	}

	body.single-product.woocommerce div.product form.cart {
		margin-block: 20px 14px;
	}

	body.single-product.woocommerce div.product .woocommerce-tabs {
		padding-top: 0;
	}
}

@media (min-width: 961px) and (max-height: 900px) {
	body.single-product .woocommerce-product-gallery {
		height: min(560px, calc(100dvh - 260px));
		min-height: 320px;
		overflow: hidden;
		background: var(--cn-warm);
		border-radius: var(--cn-radius);
	}

	body.single-product .woocommerce-product-gallery__wrapper,
	body.single-product .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery__image > a {
		display: block;
		height: 100%;
	}

	body.single-product.woocommerce div.product div.images img {
		width: 100%;
		height: 100% !important;
		object-fit: contain;
	}
}

@media (min-width: 681px) and (max-width: 960px) {
	body.single-product .cn-store-main {
		padding-top: 18px;
	}

	body.single-product .woocommerce-breadcrumb {
		margin-bottom: 12px;
	}

	body.single-product.woocommerce div.product {
		grid-template-columns: minmax(0, 0.9fr) minmax(300px, 1.1fr);
		align-items: start;
		gap: 24px;
		padding-top: 6px;
	}

	body.single-product .woocommerce-product-gallery {
		height: min(460px, calc(100dvh - 230px));
		min-height: 300px;
		overflow: hidden;
		background: var(--cn-warm);
		border-radius: var(--cn-radius);
	}

	body.single-product .woocommerce-product-gallery__wrapper,
	body.single-product .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery__image > a {
		display: block;
		height: 100%;
	}

	body.single-product.woocommerce div.product div.images img {
		width: 100%;
		height: 100% !important;
		object-fit: contain;
	}

	body.single-product.woocommerce div.product div.summary {
		padding-top: 0;
	}

	body.single-product.woocommerce div.product p.price,
	body.single-product.woocommerce div.product span.price {
		margin-block: 14px;
	}

	body.single-product.woocommerce div.product form.cart {
		margin-block: 16px 12px;
	}

	body.single-product.woocommerce div.product .woocommerce-tabs {
		padding-top: 0;
	}
}

@media (max-width: 680px) {
	body.single-product .cn-store-main {
		padding-top: 8px;
		padding-bottom: 32px;
	}

	body.single-product .woocommerce-breadcrumb {
		margin-bottom: 6px;
	}

	body.single-product.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 10px;
		padding-top: 4px;
	}

	body.single-product.woocommerce div.product div.images,
	body.single-product.woocommerce div.product div.summary {
		width: 100% !important;
		margin-bottom: 0;
	}

	body.single-product .woocommerce-product-gallery {
		height: clamp(190px, 30dvh, 260px);
		min-height: 0;
		overflow: hidden;
		background: var(--cn-warm);
		border-radius: 14px;
	}

	body.single-product .woocommerce-product-gallery__wrapper,
	body.single-product .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery__image > a {
		display: block;
		height: 100%;
	}

	body.single-product.woocommerce div.product div.images img {
		width: 100%;
		height: 100% !important;
		object-fit: contain;
		border-radius: 14px;
	}

	body.single-product.woocommerce div.product div.summary {
		padding-top: 0;
	}

	body.single-product.woocommerce div.product .product_title {
		font-size: clamp(1.35rem, 7vw, 1.62rem);
		line-height: 1.02;
	}

	body.single-product.woocommerce div.product p.price,
	body.single-product.woocommerce div.product span.price {
		margin-block: 8px;
		font-size: 1.22rem;
	}

	body.single-product .woocommerce-product-details__short-description,
	body.single-product .woocommerce-product-details__short-description p {
		margin: 0;
		font-size: 0.72rem;
		line-height: 1.35;
	}

	body.single-product.woocommerce div.product p.stock {
		margin-block: 7px;
		font-size: 0.72rem;
	}

	body.single-product.woocommerce div.product form.cart {
		margin-block: 9px 8px;
	}

	body.single-product.woocommerce div.product .product_meta {
		font-size: 0.61rem;
		line-height: 1.4;
	}

	body.single-product.woocommerce div.product .woocommerce-tabs {
		padding-top: 4px;
	}
}

/* PhotoSwipe hides its native top bar after inactivity; keep the exit action permanent. */
.pswp .pswp__button--close,
.pswp .pswp__button--fs {
	display: none !important;
}

.pswp .pswp__button--zoom {
	position: absolute !important;
	right: 84px !important;
}

.pswp .cn-pswp-close {
	position: absolute;
	top: max(18px, env(safe-area-inset-top));
	right: max(18px, env(safe-area-inset-right));
	z-index: 10000;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 999px;
	background: rgba(15, 31, 24, 0.86);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
	color: #fff;
	cursor: pointer;
	opacity: 1;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pswp .cn-pswp-close::before,
.pswp .cn-pswp-close::after {
	position: absolute;
	width: 23px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	content: "";
}

.pswp .cn-pswp-close::before {
	transform: rotate(45deg);
}

.pswp .cn-pswp-close::after {
	transform: rotate(-45deg);
}

.pswp .cn-pswp-close:hover {
	border-color: #fff;
	background: var(--cn-terracotta);
	transform: scale(1.05);
}

.pswp .cn-pswp-close:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 680px) {
	.pswp .pswp__button--zoom {
		right: 70px !important;
	}

	.pswp .cn-pswp-close {
		top: max(12px, env(safe-area-inset-top));
		right: max(12px, env(safe-area-inset-right));
		width: 46px;
		height: 46px;
	}
}

/* Customer access: balanced sign-in and real WooCommerce registration. */
body.woocommerce-account:not(.logged-in) .cn-content-narrow {
	max-width: 1220px;
}

body.woocommerce-account:not(.logged-in) #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after {
	display: none;
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 {
	float: none;
	width: auto;
	min-width: 0;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--cn-line);
	border-radius: 20px;
	background: var(--cn-white);
	box-shadow: 0 14px 38px rgba(23, 39, 31, 0.075);
}

body.woocommerce-account:not(.logged-in) #customer_login h2 {
	margin: 0 0 20px;
	color: var(--cn-forest-dark);
	font-size: clamp(1.4rem, 2vw, 1.8rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.woocommerce-account:not(.logged-in) #customer_login form.register {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px 14px;
}

body.woocommerce-account:not(.logged-in) #customer_login form .form-row {
	min-width: 0;
	margin: 0 0 15px;
}

body.woocommerce-account:not(.logged-in) #customer_login form.register .form-row {
	float: none;
	width: auto;
	margin: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login form.register > .cn-register-intro,
body.woocommerce-account:not(.logged-in) #customer_login form.register > .form-row-wide,
body.woocommerce-account:not(.logged-in) #customer_login form.register > .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in) #customer_login form.register > .cn-account-website {
	grid-column: 1 / -1;
}

.cn-register-intro {
	display: grid;
	gap: 5px;
	margin-bottom: 3px;
	padding: 14px 16px;
	border: 1px solid #dce7df;
	border-radius: 13px;
	background: #f2f7f3;
}

.cn-register-intro strong {
	color: var(--cn-forest-dark);
	font-size: 0.86rem;
}

.cn-register-intro span {
	color: var(--cn-muted);
	font-size: 0.71rem;
	line-height: 1.45;
}

.cn-account-website {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

body.woocommerce-account:not(.logged-in) #customer_login form label {
	display: block;
	margin-bottom: 7px;
	color: var(--cn-forest-dark);
	font-size: 0.72rem;
	font-weight: 730;
}

body.woocommerce-account:not(.logged-in) #customer_login form input.input-text {
	width: 100%;
	height: 56px;
	min-height: 56px;
	padding: 0 15px;
	border: 1px solid #cad5cd;
	border-radius: 14px;
	background: #fff;
	color: var(--cn-ink);
	font-family: inherit;
	font-size: 16px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.woocommerce-account:not(.logged-in) #customer_login form input.input-text:focus {
	border-color: var(--cn-forest);
	box-shadow: 0 0 0 4px rgba(31, 80, 57, 0.1);
	outline: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	width: 100%;
	min-height: 24px;
	margin: 0 0 15px !important;
	gap: 10px;
	line-height: 1.2;
	cursor: pointer;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form-login__rememberme input[type="checkbox"] {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin: 0 !important;
	accent-color: var(--cn-terracotta);
	cursor: pointer;
}

body.woocommerce-account:not(.logged-in) #customer_login form.login .woocommerce-form-login__rememberme span {
	display: block;
	margin: 0;
	line-height: 1.2;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit {
	min-height: 48px;
	margin: 0;
	padding-inline: 22px;
	border-radius: 12px;
}

body.woocommerce-account:not(.logged-in) #customer_login form.register > p:last-child {
	grid-column: 1 / -1;
	margin-top: 3px;
}

@media (max-width: 900px) {
	body.woocommerce-account:not(.logged-in) #customer_login,
	body.woocommerce-account:not(.logged-in) #customer_login form.register {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-account:not(.logged-in) #customer_login form.register > * {
		grid-column: 1;
	}
}

@media (max-width: 680px) {
	body.woocommerce-account:not(.logged-in) #customer_login {
		gap: 14px;
	}

	body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
	body.woocommerce-account:not(.logged-in) #customer_login .u-column2 {
		padding: 20px 16px;
		border-radius: 15px;
	}

	body.woocommerce-account:not(.logged-in) #customer_login form input.input-text {
		font-size: 16px;
	}
}

/* My Account: quiet, useful and intentionally limited to profile, orders and logout. */
body.woocommerce-account.logged-in .cn-content-main {
	padding-block: clamp(28px, 4vw, 54px) clamp(60px, 7vw, 100px);
	background:
		radial-gradient(circle at 8% 2%, rgba(201, 71, 14, 0.08), transparent 24rem),
		radial-gradient(circle at 92% 12%, rgba(23, 59, 43, 0.1), transparent 26rem),
		var(--cn-paper);
}

body.woocommerce-account.logged-in .cn-content-narrow {
	max-width: 1280px;
}

body.woocommerce-account.logged-in .cn-entry {
	position: relative;
	overflow: hidden;
	padding: clamp(26px, 4vw, 54px);
	border: 1px solid rgba(23, 59, 43, 0.09);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 24px 70px rgba(13, 43, 29, 0.09);
}

body.woocommerce-account.logged-in .cn-entry::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, var(--cn-terracotta) 0 28%, var(--cn-forest) 28% 100%);
	content: "";
}

body.woocommerce-account.logged-in .cn-entry-header {
	margin-bottom: clamp(24px, 3.2vw, 42px);
}

body.woocommerce-account.logged-in .cn-entry-header::before {
	display: block;
	margin-bottom: 8px;
	color: var(--cn-terracotta);
	content: "CASA NATIVA · TU CUENTA";
	font-size: 0.67rem;
	font-weight: 820;
	letter-spacing: 0.18em;
}

body.woocommerce-account.logged-in .cn-entry-header h1 {
	font-size: clamp(2.15rem, 4vw, 3.85rem);
	line-height: 0.98;
}

body.woocommerce-account.logged-in .cn-entry-content {
	max-width: none;
}

body.woocommerce-account.logged-in .cn-entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(250px, 305px) minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: 16px 30px;
	align-items: start;
}

body.woocommerce-account.logged-in .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.cn-account-identity {
	display: flex;
	grid-column: 1;
	grid-row: 2;
	align-items: center;
	min-width: 0;
	padding: 21px;
	gap: 14px;
	color: #fff;
	border-radius: 20px 20px 8px 8px;
	background:
		linear-gradient(140deg, rgba(255, 255, 255, 0.09), transparent 45%),
		var(--cn-forest-dark);
	box-shadow: 0 15px 32px rgba(13, 43, 29, 0.16);
}

.cn-account-avatar {
	display: grid;
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 17px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 1.24rem;
	font-weight: 850;
}

.cn-account-identity-copy {
	display: grid;
	min-width: 0;
	line-height: 1.25;
}

.cn-account-identity-copy small {
	margin-bottom: 4px;
	color: #d8e4dd;
	font-size: 0.57rem;
	font-weight: 790;
	letter-spacing: 0.14em;
}

.cn-account-identity-copy strong {
	overflow: hidden;
	font-size: 1rem;
	font-weight: 780;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cn-account-identity-copy > span {
	overflow: hidden;
	margin-top: 4px;
	color: #b9cbc0;
	font-size: 0.65rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	float: none;
	grid-column: 1;
	grid-row: 3;
	width: auto;
	padding: 10px;
	border: 1px solid #dce5df;
	border-radius: 8px 8px 20px 20px;
	background: #f3f7f4;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
	display: grid;
	margin: 0;
	padding: 0;
	gap: 6px;
	list-style: none;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
	margin: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	min-height: 52px;
	padding: 7px 11px;
	gap: 10px;
	color: #415248;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 0.74rem;
	font-weight: 720;
	text-decoration: none;
	transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::before {
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	color: var(--cn-forest);
	border-radius: 10px;
	background: #e3ece6;
	content: "01";
	font-size: 0.61rem;
	font-weight: 850;
	letter-spacing: -0.02em;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::after {
	color: #92a198;
	content: "→";
	font-size: 1rem;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--orders a::before {
	content: "02";
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--customer-logout a::before {
	color: var(--cn-terracotta-dark);
	background: #fbe7dd;
	content: "03";
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:focus-visible {
	color: var(--cn-forest-dark);
	border-color: #d8e2db;
	background: #fff;
	box-shadow: 0 7px 18px rgba(13, 43, 29, 0.07);
	transform: translateX(2px);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a::before {
	color: #fff;
	background: var(--cn-terracotta);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	float: none;
	grid-column: 2;
	grid-row: 2 / span 2;
	min-width: 0;
	width: auto;
	min-height: 390px;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid #e2e6e2;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(13, 43, 29, 0.06);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > p:first-child {
	color: var(--cn-muted);
	font-size: 0.8rem;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error {
	min-height: 68px;
	margin: 0 0 18px;
	padding: 18px 20px 18px 54px;
	border: 1px solid #e1e7e2;
	border-radius: 16px;
	box-shadow: none;
	font-size: 0.75rem;
	line-height: 1.55;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message .button {
	min-height: 42px;
	margin: -5px -4px -5px 18px;
	padding: 11px 17px;
	border-radius: 11px;
	font-size: 0.69rem;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm .form-row {
	float: none;
	width: auto;
	margin: 0;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm .form-row-wide,
body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset,
body.woocommerce-account.logged-in .woocommerce-EditAccountForm > p:last-child {
	grid-column: 1 / -1;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm label {
	display: block;
	margin-bottom: 7px;
	color: var(--cn-forest-dark);
	font-size: 0.69rem;
	font-weight: 760;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm input.input-text {
	width: 100%;
	height: 54px;
	padding: 0 15px;
	border-color: #cad6ce;
	border-radius: 13px;
	background: #fbfcfb;
	font-size: 16px;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm input.input-text:focus {
	border-color: var(--cn-forest);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(23, 59, 43, 0.09);
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 8px 0 0;
	padding: 21px;
	gap: 16px;
	border: 1px solid #dfe7e1;
	border-radius: 16px;
	background: #f5f8f6;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset legend {
	grid-column: 1 / -1;
	padding: 0 8px;
	color: var(--cn-forest-dark);
	font-size: 0.76rem;
	font-weight: 800;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset .form-row:first-of-type {
	grid-column: 1 / -1;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm button[type="submit"] {
	min-width: 190px;
	min-height: 50px;
	margin-top: 2px;
	border-radius: 13px;
}

body.woocommerce-account.logged-in .woocommerce-orders-table {
	overflow: hidden;
	margin: 0;
	border: 1px solid #dfe5e0;
	border-radius: 16px;
	border-collapse: separate;
	border-spacing: 0;
	box-shadow: none;
}

body.woocommerce-account.logged-in .woocommerce-orders-table thead {
	background: #f1f5f2;
}

body.woocommerce-account.logged-in .woocommerce-orders-table th,
body.woocommerce-account.logged-in .woocommerce-orders-table td {
	padding: 15px 14px;
	border: 0;
	border-bottom: 1px solid #e8ece9;
	font-size: 0.7rem;
}

body.woocommerce-account.logged-in .woocommerce-orders-table th {
	color: var(--cn-forest-dark);
	font-weight: 790;
}

body.woocommerce-account.logged-in .woocommerce-orders-table tbody tr:last-child td {
	border-bottom: 0;
}

body.woocommerce-account.logged-in .woocommerce-orders-table .button {
	min-height: 38px;
	padding: 9px 13px;
	border-radius: 10px;
	font-size: 0.65rem;
}

/* The access screen uses the same visual language before authentication. */
body.woocommerce-account:not(.logged-in) .cn-content-main {
	background:
		radial-gradient(circle at 12% 0, rgba(201, 71, 14, 0.08), transparent 24rem),
		radial-gradient(circle at 90% 5%, rgba(23, 59, 43, 0.09), transparent 28rem),
		var(--cn-paper);
}

body.woocommerce-account:not(.logged-in) .cn-entry {
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid rgba(23, 59, 43, 0.08);
	border-radius: 28px;
	box-shadow: 0 24px 70px rgba(13, 43, 29, 0.08);
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column1::before,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: var(--cn-forest);
	content: "";
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column2::before {
	background: var(--cn-terracotta);
}

@media (max-width: 900px) {
	body.woocommerce-account.logged-in .cn-entry-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.cn-account-identity,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		grid-column: 1;
	}

	.cn-account-identity {
		grid-row: 2;
		border-radius: 18px 18px 8px 8px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		grid-row: 3;
		border-radius: 8px 8px 18px 18px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
		grid-template-columns: 32px minmax(0, 1fr);
		min-height: 50px;
		padding: 7px 9px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::before {
		width: 32px;
		height: 32px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::after {
		display: none;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		grid-row: 4;
		min-height: 0;
	}
}

@media (max-width: 600px) {
	body.woocommerce-account.logged-in .cn-content-main {
		padding-block: 14px 48px;
	}

	body.woocommerce-account.logged-in .cn-entry {
		padding: 22px 14px 16px;
		border-radius: 19px;
	}

	body.woocommerce-account.logged-in .cn-entry-header {
		margin-bottom: 20px;
		padding-inline: 3px;
	}

	body.woocommerce-account.logged-in .cn-entry-header::before {
		font-size: 0.57rem;
	}

	.cn-account-identity {
		padding: 17px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
		grid-template-columns: 32px minmax(0, 1fr) auto;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::after {
		display: block;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		padding: 18px 14px;
		border-radius: 17px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
		gap: 12px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info::before,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message::before,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error::before {
		display: none;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info .button,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message .button {
		float: none;
		order: 2;
		width: 100%;
		margin: 0;
		text-align: center;
	}

	body.woocommerce-account.logged-in .woocommerce-EditAccountForm,
	body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-account.logged-in .woocommerce-EditAccountForm > *,
	body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset > *,
	body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset .form-row:first-of-type {
		grid-column: 1;
	}

	body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset {
		padding: 17px 14px;
	}

	body.woocommerce-account.logged-in .woocommerce-EditAccountForm button[type="submit"] {
		width: 100%;
	}
}

/* Desktop pointer motion for the Home hero and category cards. */
@media (min-width: 961px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	body.home .cn-hero-copy,
	body.home .cn-hero-media,
	body.home .cn-hero-deal,
	body.home .cn-category-card {
		--cn-motion-rotate-x: 0deg;
		--cn-motion-rotate-y: 0deg;
		--cn-motion-shift-x: 0px;
		--cn-motion-shift-y: 0px;
		--cn-motion-image-x: 0px;
		--cn-motion-image-y: 0px;
		--cn-motion-lift: 0px;
		transform: perspective(1000px) translate3d(var(--cn-motion-shift-x), calc(var(--cn-motion-shift-y) + var(--cn-motion-lift)), 0) rotateX(var(--cn-motion-rotate-x)) rotateY(var(--cn-motion-rotate-y));
		transform-style: preserve-3d;
		transition: color 180ms ease, box-shadow 260ms ease, transform 180ms cubic-bezier(0.2, 0.72, 0.24, 1);
		will-change: transform;
	}

	body.home .cn-hero-copy.is-pointer-active,
	body.home .cn-hero-media.is-pointer-active,
	body.home .cn-hero-deal.is-pointer-active {
		--cn-motion-lift: -3px;
		box-shadow: 0 18px 42px rgba(23, 39, 31, 0.16);
	}

	body.home .cn-hero-copy > *,
	body.home .cn-hero-deal > * {
		transform: translateZ(18px);
		transition: transform 240ms cubic-bezier(0.2, 0.72, 0.24, 1);
	}

	body.home .cn-hero-copy.is-pointer-active > *,
	body.home .cn-hero-deal.is-pointer-active > * {
		transform: translateZ(28px);
	}

	body.home .cn-hero-media {
		background-position: calc(56% + var(--cn-motion-image-x)) calc(50% + var(--cn-motion-image-y));
		background-size: 102%;
		transition: background-position 160ms ease-out, background-size 420ms var(--cn-ease), box-shadow 260ms ease, transform 180ms cubic-bezier(0.2, 0.72, 0.24, 1);
	}

	body.home .cn-hero-media.is-pointer-active {
		background-size: 106%;
	}

	body.home .cn-hero-deal::after {
		transform: translate3d(var(--cn-motion-shift-x), var(--cn-motion-shift-y), 0) scale(1);
		transition: transform 320ms cubic-bezier(0.2, 0.72, 0.24, 1);
	}

	body.home .cn-hero-deal.is-pointer-active::after {
		transform: translate3d(var(--cn-motion-shift-x), var(--cn-motion-shift-y), 0) scale(1.12);
	}

	body.home .cn-hero-actions .cn-button:hover,
	body.home .cn-hero-deal .cn-button:hover {
		transform: translateY(-3px) scale(1.025);
	}

	body.home .cn-hero-actions .cn-text-link,
	body.home .cn-section-heading > a {
		text-decoration-thickness: 1px;
		text-underline-offset: 4px;
		transition: color 180ms ease, transform 180ms var(--cn-ease);
	}

	body.home .cn-hero-actions .cn-text-link:hover,
	body.home .cn-section-heading > a:hover {
		transform: translateX(4px);
	}

	body.home .cn-category-card:hover,
	body.home .cn-category-card.is-pointer-active {
		--cn-motion-lift: -6px;
		color: var(--cn-forest);
		box-shadow: 0 18px 36px rgba(23, 39, 31, 0.17);
	}

	body.home .cn-category-card .cn-category-image img {
		transform: translate3d(var(--cn-motion-image-x), var(--cn-motion-image-y), 0) scale(1.045);
		transition: transform 220ms cubic-bezier(0.2, 0.72, 0.24, 1);
		will-change: transform;
	}

	body.home .cn-category-card:hover .cn-category-image img,
	body.home .cn-category-card.is-pointer-active .cn-category-image img {
		transform: translate3d(var(--cn-motion-image-x), var(--cn-motion-image-y), 0) scale(1.105);
	}

	body.home .cn-category-card > svg {
		transition: transform 180ms var(--cn-ease);
	}

	body.home .cn-category-card:hover > svg,
	body.home .cn-category-card.is-pointer-active > svg {
		transform: translateX(4px);
	}
}

/* Checkout/account controls: keep native fields and Select2 text optically centered. */
.woocommerce .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 0;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 48px 0 18px;
	line-height: 1.25;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: calc(50% + 2px);
	right: 14px;
	width: 24px;
	height: 24px;
	transform: translateY(-50%);
}

.woocommerce form .form-row select {
	box-sizing: border-box;
	padding-block: 0;
	line-height: 1.25;
}

@media (max-width: 680px) {
	body.woocommerce-checkout .select2-container .select2-selection--single,
	body.woocommerce-account .select2-container .select2-selection--single {
		height: 54px;
		min-height: 54px;
		padding: 0;
	}

	body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
	body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
		height: 100%;
		padding: 0 44px 0 16px;
		font-size: 1rem;
		line-height: 1.25;
	}
}

/* Checkout coupon: visible, optional and handled by WooCommerce's native AJAX. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	display: none !important;
}

body.woocommerce-checkout .cn-checkout-coupon {
	display: grid;
	grid-template-columns: minmax(190px, 0.72fr) minmax(360px, 1.28fr);
	align-items: center;
	padding: 18px 20px;
	margin: 0 0 22px;
	gap: 22px;
	background: linear-gradient(135deg, #fff 0%, #fbf8f3 100%);
	border: 1px solid rgba(23, 59, 43, 0.1);
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(23, 39, 31, 0.07);
}

body.woocommerce-checkout .cn-checkout-coupon-copy label {
	display: grid;
	gap: 5px;
	cursor: text;
}

body.woocommerce-checkout .cn-checkout-coupon-copy {
	grid-column: 1;
	grid-row: 1;
}

body.woocommerce-checkout .cn-checkout-coupon-copy strong {
	color: var(--cn-forest-dark);
	font-size: 0.86rem;
	font-weight: 810;
	line-height: 1.2;
}

body.woocommerce-checkout .cn-checkout-coupon-copy strong span {
	display: inline-flex;
	padding: 4px 7px;
	margin-left: 5px;
	color: var(--cn-terracotta-dark);
	background: #fff0e8;
	border-radius: 999px;
	font-size: 0.54rem;
	font-weight: 820;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	vertical-align: 2px;
}

body.woocommerce-checkout .cn-checkout-coupon-copy small {
	color: var(--cn-muted);
	font-size: 0.66rem;
	line-height: 1.4;
}

body.woocommerce-checkout .cn-checkout-coupon form.checkout_coupon {
	display: grid !important;
	grid-column: 2;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-row: 1;
	align-items: start;
	padding: 0;
	margin: 0;
	gap: 10px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.woocommerce-checkout .cn-checkout-coupon > .woocommerce-error,
body.woocommerce-checkout .cn-checkout-coupon > .woocommerce-info,
body.woocommerce-checkout .cn-checkout-coupon > .woocommerce-message {
	grid-column: 1 / -1;
	grid-row: 2;
	padding-block: 13px;
	margin: -2px 0 0;
}

body.woocommerce-checkout .cn-checkout-coupon form.checkout_coupon .form-row {
	float: none;
	width: auto;
	padding: 0;
	margin: 0;
}

body.woocommerce-checkout .cn-checkout-coupon .input-text,
body.woocommerce-checkout .cn-checkout-coupon .button {
	width: 100%;
	height: 48px;
	min-height: 48px;
	box-sizing: border-box;
	margin: 0;
	border-radius: 11px;
}

body.woocommerce-checkout .cn-checkout-coupon .input-text {
	padding: 0 15px;
	color: var(--cn-ink);
	background: #fff;
	border: 1px solid #dce4df;
	font-size: 0.76rem;
}

body.woocommerce-checkout .cn-checkout-coupon .input-text:focus {
	border-color: var(--cn-forest);
	box-shadow: 0 0 0 3px rgba(23, 59, 43, 0.1);
	outline: 0;
}

body.woocommerce-checkout .cn-checkout-coupon .input-text.has-error {
	border-color: var(--cn-error);
}

body.woocommerce-checkout .cn-checkout-coupon .coupon-error-notice {
	display: block;
	margin: 7px 2px 0;
	color: var(--cn-error);
	font-size: 0.62rem;
	font-weight: 650;
	line-height: 1.35;
}

body.woocommerce-checkout .cn-checkout-coupon .button {
	padding-inline: 18px;
	color: #fff;
	background: var(--cn-forest);
	box-shadow: 0 8px 18px rgba(23, 59, 43, 0.18);
	font-size: 0.72rem;
	font-weight: 790;
	white-space: nowrap;
}

body.woocommerce-checkout .cn-checkout-coupon .button:hover {
	color: #fff;
	background: var(--cn-forest-dark);
	transform: translateY(-2px);
}

@media (max-width: 680px) {
	body.woocommerce-checkout .cn-checkout-coupon {
		grid-template-columns: minmax(0, 1fr);
		padding: 14px;
		margin-bottom: 12px;
		gap: 12px;
		border-radius: 13px;
	}

	body.woocommerce-checkout .cn-checkout-coupon form.checkout_coupon {
		grid-column: 1;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-row: 2;
		gap: 7px;
	}

	body.woocommerce-checkout .cn-checkout-coupon > .woocommerce-error,
	body.woocommerce-checkout .cn-checkout-coupon > .woocommerce-info,
	body.woocommerce-checkout .cn-checkout-coupon > .woocommerce-message {
		grid-row: 3;
	}

	body.woocommerce-checkout .cn-checkout-coupon .input-text,
	body.woocommerce-checkout .cn-checkout-coupon .button {
		height: 44px;
		min-height: 44px;
	}

	body.woocommerce-checkout .cn-checkout-coupon .button {
		padding-inline: 10px;
		font-size: 0.64rem;
	}
}
