/* Cozy Haven v3 page-scoped runtime CSS. Exact rules already present in critical CSS are removed at build time. */
.ch-category-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 1rem;
}
.ch-category-card {
	position: relative;
	grid-column: span 3;
	overflow: hidden;
	min-height: 390px;
	border-radius: var(--ch-radius-md);
	background: var(--ch-sky);
	color: var(--ch-white);
	text-decoration: none;
	box-shadow: var(--ch-shadow-sm);
}
.ch-category-card:first-child,
.ch-category-card:nth-child(6n) {
	grid-column: span 6;
}
.ch-category-card__image,
.ch-category-card__fallback,
.ch-category-card::after {
	position: absolute;
	inset: 0;
}
.ch-category-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.ch-category-card__fallback {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, var(--ch-blue-soft), var(--ch-sand));
	color: rgba(39, 53, 65, 0.35);
}
.ch-category-card__fallback svg {
	width: 100px;
	height: 100px;
}
.ch-category-card::after {
	background: linear-gradient(180deg, rgba(24, 37, 46, 0.04) 20%, rgba(24, 37, 46, 0.82) 100%);
	content: "";
}
.ch-category-card__content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem;
}
.ch-category-card h3,
.ch-category-card p {
	color: inherit;
}
.ch-category-card h3 {
	margin: 0;
	font-size: clamp(1.5rem, 2.5vw, 2.3rem);
}
.ch-category-card p {
	margin: 0.35rem 0 0;
	font-size: 0.8rem;
	opacity: 0.84;
}
.ch-category-card__arrow {
	display: grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(5px);
	transition: background var(--ch-transition), transform var(--ch-transition);
}
.ch-category-card__arrow svg {
	width: 19px;
	height: 19px;
}
.ch-category-card:hover {
	color: var(--ch-white);
}
.ch-category-card:hover .ch-category-card__image {
	transform: scale(1.045);
}
.ch-category-card:hover .ch-category-card__arrow {
	background: var(--ch-white);
	color: var(--ch-ink);
	transform: translateX(3px);
}
.ch-needs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}
.ch-need-card {
	position: relative;
	display: flex;
	min-height: 240px;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.3rem, 2.5vw, 2rem);
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-md);
	background: var(--ch-white);
	color: var(--ch-ink);
	text-decoration: none;
	transition: transform var(--ch-transition), box-shadow var(--ch-transition), border-color var(--ch-transition);
}
.ch-need-card:hover {
	border-color: rgba(84, 136, 177, 0.45);
	color: var(--ch-ink);
	box-shadow: var(--ch-shadow-md);
	transform: translateY(-5px);
}
.ch-need-card__icon {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	margin-bottom: auto;
	border-radius: 18px;
	background: var(--ch-blue-soft);
	color: var(--ch-blue-deep);
}
.ch-need-card:nth-child(2) .ch-need-card__icon,
.ch-need-card:nth-child(4) .ch-need-card__icon {
	background: var(--ch-cream);
	color: #866e5e;
}
.ch-need-card__icon svg {
	width: 28px;
	height: 28px;
}
.ch-need-card h3 {
	margin: 1.8rem 0 0.4rem;
	font-size: 1.55rem;
}
.ch-need-card p {
	margin: 0;
	color: var(--ch-ink-soft);
	font-size: 0.85rem;
}
.ch-need-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 1rem;
	color: var(--ch-blue-deep);
	font-size: 0.78rem;
	font-weight: 800;
}
.ch-need-card__link svg {
	width: 15px;
	height: 15px;
}
.ch-sale-showcase {
	border-top: 1px solid rgba(165, 71, 71, 0.12);
	border-bottom: 1px solid rgba(165, 71, 71, 0.12);
	background: linear-gradient(135deg, #fff8f5 0%, var(--ch-ivory) 46%, var(--ch-white) 100%);
}
.ch-sale-showcase .ch-eyebrow,
.ch-sale-showcase .ch-text-link {
	color: var(--ch-danger);
}
.ch-promo {
	position: relative;
	overflow: hidden;
	background: var(--ch-ink);
	color: var(--ch-white);
}
.ch-promo::before,
.ch-promo::after {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	content: "";
}
.ch-promo::before {
	top: -140px;
	right: -40px;
	width: 340px;
	height: 340px;
}
.ch-promo::after {
	bottom: -220px;
	left: -90px;
	width: 430px;
	height: 430px;
}
.ch-promo__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.4fr 0.8fr;
	align-items: center;
	gap: 2rem;
	padding-block: clamp(3rem, 5vw, 5rem);
}
.ch-promo .ch-eyebrow,
.ch-promo h2,
.ch-promo p {
	color: var(--ch-white);
}
.ch-promo h2 {
	max-width: 760px;
	margin-bottom: 0.55rem;
}
.ch-promo p {
	max-width: 680px;
	margin: 0;
	opacity: 0.74;
}
.ch-promo__offer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.9rem;
}
.ch-coupon {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	gap: 0.7rem;
	padding: 0.8rem 1rem;
	border: 1px dashed rgba(255, 255, 255, 0.52);
	border-radius: var(--ch-radius-sm);
	background: rgba(255, 255, 255, 0.08);
	color: var(--ch-white);
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.09em;
}
.ch-coupon button {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: var(--ch-white);
}
.ch-coupon svg {
	width: 15px;
	height: 15px;
}
.ch-story {
	display: grid;
	grid-template-columns: minmax(0, 0.93fr) minmax(0, 1.07fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
}
.ch-story__visual {
	position: relative;
	min-height: 560px;
}
.ch-story__visual::before {
	position: absolute;
	inset: 40px 10% 0 0;
	border-radius: 46% 46% 24px 24px;
	background: linear-gradient(145deg, var(--ch-blue-soft), var(--ch-cream));
	content: "";
}
.ch-story__mark {
	position: absolute;
	top: 50%;
	left: 45%;
	width: min(360px, 74%);
	filter: drop-shadow(0 20px 30px rgba(39, 53, 65, 0.09));
	transform: translate(-50%, -50%);
}
.ch-story__moon {
	position: absolute;
	right: 5%;
	bottom: 7%;
	display: grid;
	width: 120px;
	height: 120px;
	place-items: center;
	border: 8px solid var(--ch-white);
	border-radius: 50%;
	background: var(--ch-ink);
	color: var(--ch-gold);
	box-shadow: var(--ch-shadow-md);
}
.ch-story__moon svg {
	width: 48px;
	height: 48px;
}
.ch-story__copy h2 {
	max-width: 620px;
}
.ch-story__copy > p {
	color: var(--ch-ink-soft);
	font-size: 1.05rem;
}
.ch-story__values {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin: 2rem 0;
}
.ch-story__value {
	padding: 1rem;
	border-left: 2px solid var(--ch-blue);
	background: var(--ch-sky);
}
.ch-story__value strong,
.ch-story__value span {
	display: block;
}
.ch-story__value strong {
	font-size: 0.88rem;
}
.ch-story__value span {
	margin-top: 0.22rem;
	color: var(--ch-ink-soft);
	font-size: 0.76rem;
}
.ch-journal-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.15rem;
}
.ch-journal-card {
	overflow: hidden;
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-md);
	background: var(--ch-white);
	transition: transform var(--ch-transition), box-shadow var(--ch-transition);
}
.ch-journal-card:hover {
	box-shadow: var(--ch-shadow-md);
	transform: translateY(-4px);
}
.ch-journal-card__image {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1.55 / 1;
	background: var(--ch-blue-soft);
}
.ch-journal-card__fallback,
.ch-post-card__fallback {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	background: linear-gradient(145deg, var(--ch-blue-soft), var(--ch-cream));
	color: rgba(56, 107, 147, 0.42);
}
.ch-journal-card__fallback svg,
.ch-post-card__fallback svg {
	width: 62px;
	height: 62px;
}
.ch-journal-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}
.ch-journal-card:hover .ch-journal-card__image img {
	transform: scale(1.04);
}
.ch-journal-card__body {
	padding: 1.3rem;
}
.ch-journal-card__meta {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 0.75rem;
	color: var(--ch-blue-deep);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}
.ch-journal-card h3 {
	margin-bottom: 0.7rem;
	font-size: 1.5rem;
}
.ch-journal-card h3 a {
	color: var(--ch-ink);
	text-decoration: none;
}
.ch-journal-card p {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--ch-ink-soft);
	font-size: 0.85rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.ch-newsletter {
	padding-block: clamp(3.5rem, 6vw, 6rem);
	background: var(--ch-blue-soft);
}
.ch-newsletter__inner {
	display: grid;
	grid-template-columns: 1fr 0.9fr;
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
}
.ch-newsletter h2 {
	margin-bottom: 0.45rem;
}
.ch-newsletter p {
	max-width: 600px;
	margin: 0;
	color: var(--ch-ink-soft);
}
.ch-newsletter__form form,
.ch-newsletter__fallback {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}
.ch-newsletter input[type="email"] {
	width: 100%;
	min-height: 54px;
	padding: 0.8rem 1.1rem;
	border: 1px solid rgba(84, 136, 177, 0.35);
	border-radius: var(--ch-radius-pill);
	background: rgba(255, 255, 255, 0.78);
}
.site-footer {
	background: #202d37;
	color: rgba(255, 255, 255, 0.7);
}
.site-footer a {
	color: inherit;
	text-decoration: none;
}
.site-footer a:hover {
	color: var(--ch-white);
}
.site-footer__top {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 0.8fr);
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(4rem, 7vw, 6.5rem);
}
.site-footer__brand img {
	width: 125px;
	margin-bottom: 1.2rem;
}
.site-footer__brand p {
	max-width: 330px;
	font-size: 0.86rem;
}
.site-footer h2,
.site-footer h3 {
	color: var(--ch-white);
}
.site-footer h3 {
	margin-bottom: 1.15rem;
	font-family: var(--ch-font-body);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer li + li {
	margin-top: 0.58rem;
}
.site-footer li,
.site-footer p,
.site-footer address {
	font-size: 0.82rem;
	font-style: normal;
}
.site-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
}
.site-footer__contact svg {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	margin-top: 0.2rem;
	color: var(--ch-gold);
}
.site-footer__bottom {
	display: flex;
	min-height: 74px;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.74rem;
}
.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.2rem;
}
.site-footer__legal .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.2rem;
}
.site-footer__legal .menu li {
	margin: 0;
}
.ch-payment-badges {
	flex: 0 0 auto;
}
.ch-payment-badges img {
	display: block;
	width: 190px;
	max-width: 100%;
	height: auto;
}
.ch-back-to-top {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 80;
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--ch-ink);
	color: var(--ch-white);
	box-shadow: var(--ch-shadow-md);
	opacity: 0;
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity var(--ch-transition), transform var(--ch-transition), background var(--ch-transition);
}
.ch-back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.ch-back-to-top:hover {
	background: var(--ch-blue-deep);
}
.ch-back-to-top svg {
	width: 19px;
	height: 19px;
}
.ch-mobile-nav {
	display: none;
}
@media (prefers-reduced-motion: reduce){html {
		scroll-behavior: auto;
	}
*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}}
@media print{.ch-announcement,
	.site-header,
	.site-footer,
	.ch-mobile-nav,
	.ch-back-to-top,
	.ch-promo {
		display: none !important;
	}
body {
		padding: 0;
		background: #fff;
		color: #000;
	}}
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
	margin: 0;
	color: var(--ch-ink-soft);
	font-size: 0.75rem;
}
.woocommerce .woocommerce-breadcrumb a {
	color: inherit;
}
.ch-shop-hero {
	padding-block: clamp(3.8rem, 7vw, 6.5rem);
	background:
		radial-gradient(circle at 84% 22%, rgba(239, 185, 98, 0.16), transparent 25%),
		linear-gradient(130deg, var(--ch-ivory), var(--ch-blue-soft));
	text-align: center;
}
.ch-shop-hero .ch-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ch-shop-hero .ch-breadcrumbs {
	margin-bottom: 1.15rem;
}
.ch-shop-hero h1 {
	margin-bottom: 0.55rem;
	font-size: clamp(3rem, 6vw, 5.6rem);
}
.ch-shop-hero__description {
	max-width: 700px;
	color: var(--ch-ink-soft);
	font-size: 1.03rem;
}
.ch-shop-hero__description > *:last-child {
	margin-bottom: 0;
}
.ch-category-chips {
	display: flex;
	overflow-x: auto;
	gap: 0.55rem;
	padding-block: 1.25rem;
	scrollbar-width: none;
}
.ch-category-chips::-webkit-scrollbar {
	display: none;
}
.ch-category-chips a {
	flex: 0 0 auto;
	padding: 0.55rem 0.95rem;
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-pill);
	color: var(--ch-ink);
	font-size: 0.78rem;
	font-weight: 750;
	text-decoration: none;
	transition: border-color var(--ch-transition), background var(--ch-transition), color var(--ch-transition);
}
.ch-category-chips a:hover,
.ch-category-chips a.is-active {
	border-color: var(--ch-blue-deep);
	background: var(--ch-blue-deep);
	color: var(--ch-white);
}
.ch-shop-shell {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	padding-top: 2.2rem;
	padding-bottom: clamp(5rem, 8vw, 8rem);
}
.ch-shop-shell.has-sidebar {
	grid-template-columns: 255px minmax(0, 1fr);
	align-items: start;
}
.ch-shop-shell.has-sidebar > .ch-shop-sidebar {
	grid-column: 1;
	grid-row: 1;
}
.ch-shop-shell.has-sidebar > .ch-shop-content {
	grid-column: 2;
	grid-row: 1;
}
.ch-shop-sidebar {
	position: sticky;
	top: calc(var(--ch-header-height) + 24px);
	padding: 1.25rem;
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-md);
	background: var(--ch-white);
}
.ch-shop-sidebar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid var(--ch-border);
}
.ch-shop-sidebar__head strong {
	font-family: var(--ch-font-display);
	font-size: 1.25rem;
	font-weight: 600;
}
.ch-shop-sidebar__head button {
	display: none;
}
.ch-shop-sidebar .widget + .widget {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ch-border);
}
.ch-shop-sidebar .widget-title {
	margin-bottom: 0.9rem;
	font-family: var(--ch-font-body);
	font-size: 0.77rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}
.ch-shop-sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ch-shop-sidebar li + li {
	margin-top: 0.55rem;
}
.ch-shop-sidebar li a {
	color: var(--ch-ink-soft);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
}
.ch-shop-sidebar li a:hover {
	color: var(--ch-blue-deep);
}
.ch-shop-sidebar .wc-block-product-categories-list-item-count,
.ch-shop-sidebar .count {
	color: var(--ch-ink-soft);
	font-size: 0.7rem;
}
.ch-button.ch-filter-toggle,
.ch-filter-backdrop {
	display: none;
}
.ch-shop-content {
	min-width: 0;
}
.woocommerce .woocommerce-result-count {
	margin: 0.7rem 0 1.5rem;
	color: var(--ch-ink-soft);
	font-size: 0.79rem;
}
.woocommerce .woocommerce-ordering {
	margin: 0 0 1.5rem;
}
.woocommerce .woocommerce-ordering select {
	min-width: 210px;
	min-height: 44px;
	padding: 0.55rem 2.4rem 0.55rem 0.8rem;
	border-color: var(--ch-border);
	border-radius: var(--ch-radius-pill);
	background-color: var(--ch-white);
	color: var(--ch-ink);
	font-size: 0.78rem;
}
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	clear: both;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
}
.ch-shop-shell.has-sidebar .woocommerce ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	float: none;
	width: auto;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	margin: 0;
	padding: 0 0 1.15rem;
	overflow: hidden;
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-md);
	background: var(--ch-white);
	transition: transform var(--ch-transition), box-shadow var(--ch-transition), border-color var(--ch-transition);
}
.woocommerce ul.products li.product:hover {
	border-color: rgba(84, 136, 177, 0.35);
	box-shadow: var(--ch-shadow-md);
	transform: translateY(-4px);
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	height: 100%;
	flex-direction: column;
	color: var(--ch-ink);
	text-decoration: none;
}
.woocommerce ul.products li.product a img {
	width: calc(100% - 16px);
	aspect-ratio: 1 / 1;
	margin: 8px 8px 1rem;
	border-radius: calc(var(--ch-radius-md) - 5px);
	background: var(--ch-ivory);
	object-fit: contain;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}
.woocommerce ul.products li.product:hover a img {
	transform: scale(1.025);
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	top: 18px;
	right: auto;
	left: 18px;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.48rem 0.65rem;
	border-radius: var(--ch-radius-pill);
	background: var(--ch-blue-deep);
	color: var(--ch-white);
	font-family: var(--ch-font-body);
	font-size: 0.67rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.woocommerce ul.products li.product .ch-product-card__category {
	display: block;
	margin: 0 1.15rem 0.4rem;
	color: var(--ch-blue-deep);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-transform: uppercase;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	overflow: hidden;
	min-height: 3.08em;
	margin: 0 1.15rem 0.55rem;
	padding: 0;
	color: var(--ch-ink);
	font-family: var(--ch-font-body);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.54;
	opacity: 1;
	visibility: visible;
	word-break: break-word;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link .woocommerce-loop-product__title {
	color: var(--ch-ink);
}
.woocommerce ul.products li.product .star-rating {
	margin: 0 1.15rem 0.55rem;
	font-size: 0.72rem;
}
.woocommerce .star-rating,
.woocommerce .star-rating::before {
	color: var(--ch-gold);
}
.woocommerce ul.products li.product .price {
	margin: auto 1.15rem 0.75rem;
	color: var(--ch-ink);
	font-size: 0.97rem;
	font-weight: 800;
}
.woocommerce ul.products li.product .price del {
	margin-right: 0.3rem;
	color: var(--ch-ink-soft);
	font-size: 0.78rem;
	opacity: 0.65;
}
.woocommerce ul.products li.product .price ins {
	color: var(--ch-danger);
	font-weight: 800;
	text-decoration: none;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin: 0 1.15rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--ch-border);
	border-radius: var(--ch-radius-pill);
	background: var(--ch-ivory);
	color: var(--ch-ink);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: background var(--ch-transition), border-color var(--ch-transition), color var(--ch-transition);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
	border-color: var(--ch-blue-deep);
	background: var(--ch-blue-deep);
	color: var(--ch-white);
}
.woocommerce ul.products li.product .added_to_cart {
	margin-top: 0.45rem;
	background: var(--ch-blue-soft);
}
.woocommerce ul.products li.product .button.loading {
	padding-right: 2.2rem;
}
.woocommerce ul.products li.product .button.added::after {
	margin-left: 0.45rem;
}
.woocommerce nav.woocommerce-pagination {
	margin-top: 3rem;
	text-align: center;
}
.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 0.4rem;
	margin: 0;
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	min-width: 42px;
	height: 42px;
	place-items: center;
	padding: 0.4rem;
	border: 1px solid var(--ch-border);
	border-radius: 50%;
	background: var(--ch-white);
	color: var(--ch-ink);
	font-size: 0.8rem;
	font-weight: 750;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--ch-blue-deep);
	background: var(--ch-blue-deep);
	color: var(--ch-white);
}
.woocommerce ul.products li.product img[data-ch-src]:not(.is-loaded),
.ch-product-grid img[data-ch-src]:not(.is-loaded) {
	background: rgba(84, 136, 177, 0.045);
}
.ch-shop-sidebar .widget_price_filter .price_slider{display:none!important;}
.ch-shop-sidebar .widget_price_filter .price_slider_amount{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end;}
.ch-shop-sidebar .widget_price_filter .price_slider_amount label{display:block;font-size:.78rem;font-weight:700;color:var(--ch-ink-soft);}
.ch-shop-sidebar .widget_price_filter input#min_price,
.ch-shop-sidebar .widget_price_filter input#max_price{display:block!important;width:100%;min-width:0;border:1px solid var(--ch-border);border-radius:10px;padding:10px 11px;background:#fff;color:var(--ch-ink);font:inherit;}
.ch-shop-sidebar .widget_price_filter .button{grid-column:1/-1;}
.ch-shop-sidebar .widget_price_filter .price_label{grid-column:1/-1;font-size:.84rem;color:var(--ch-ink-soft);}

/* === v3.0.3 Footer fluidity + cloud back-to-top === */
@media (min-width: 901px) {
	.site-footer__top {
		grid-template-columns: minmax(180px, 1.2fr) repeat(3, minmax(92px, 0.62fr)) minmax(210px, 1fr);
		column-gap: clamp(0.8rem, 1.8vw, 1.8rem);
		row-gap: 0;
		align-items: start;
	}

	.site-footer__brand,
	.site-footer__column,
	.site-footer__contact {
		min-width: 0;
		grid-column: auto;
	}

	.site-footer__brand p {
		max-width: 28rem;
	}

	.site-footer__contact a,
	.site-footer__contact span {
		overflow-wrap: anywhere;
	}
}

.ch-back-to-top {
	border: 1px solid rgba(255,255,255,.16);
	background: var(--ch-blue-deep);
	color: var(--ch-white);
}

.ch-back-to-top:hover,
.ch-back-to-top:focus-visible {
	background: var(--ch-gold);
	color: var(--ch-ink);
}

.ch-back-to-top svg {
	width: 23px;
	height: 23px;
	stroke-width: 1.85;
}


/* Professional sale discount tag — CSS-only, no query/runtime overhead. */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	top: 12px;
	left: 12px;
	right: auto;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.56rem 0.76rem;
	border: 2px solid rgba(255, 255, 255, 0.94);
	border-radius: 10px 10px 10px 3px;
	background: linear-gradient(135deg, #ef654f 0%, #d84639 100%);
	box-shadow: 0 7px 18px rgba(153, 48, 40, 0.28), 0 1px 2px rgba(39, 53, 65, 0.12);
	color: #fff;
	font-family: var(--ch-font-body);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.055em;
	text-shadow: 0 1px 1px rgba(97, 27, 23, 0.18);
	text-transform: uppercase;
	white-space: nowrap;
}

.woocommerce ul.products li.product:hover .onsale,
.woocommerce ul.products li.product:focus-within .onsale {
	box-shadow: 0 9px 22px rgba(153, 48, 40, 0.34), 0 1px 2px rgba(39, 53, 65, 0.12);
}

/* Cozy Haven v3.0 homepage sections */
.ch-home-v3{--ch-warm:#c9a876;--ch-soft-blue:#7fa8c9;--ch-cream-v3:#f5f1e8}
.ch-home-v3 .ch-section-head--center{justify-content:center;text-align:center}
.ch-home-v3 .ch-section-head--center .ch-section-head__copy{margin-inline:auto}
.ch-home-v3 .ch-section-head--center .ch-eyebrow{justify-content:center}
.ch-home-v3 .ch-category-grid--equal{grid-template-columns:repeat(3,1fr)}
.ch-home-v3 .ch-category-grid--equal .ch-category-card,.ch-home-v3 .ch-category-grid--equal .ch-category-card:first-child,.ch-home-v3 .ch-category-grid--equal .ch-category-card:nth-child(6n){grid-column:auto;min-height:330px}
.ch-home-v3 .ch-category-card{border-radius:24px}
.ch-home-v3 .ch-category-card::after{background:linear-gradient(180deg,rgba(28,33,36,.02) 30%,rgba(28,33,36,.76) 100%)}
.ch-home-v3 .ch-product-showcase--cream{background:linear-gradient(180deg,#fbf8f3 0%,#f5f1e8 100%)}
.ch-home-v3 .ch-product-showcase ul.products{gap:22px}
.ch-home-v3 .ch-product-showcase ul.products li.product{border:1px solid rgba(201,168,118,.22);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(54,63,70,.06);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.ch-home-v3 .ch-product-showcase ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(54,63,70,.11)}
.ch-home-v3 .ch-product-showcase ul.products li.product img{transition:transform .35s ease}
.ch-home-v3 .ch-product-showcase ul.products li.product:hover img{transform:scale(1.025)}
.ch-home-v3 .ch-product-shelf--best ul.products li.product::before{content:"Best Seller";position:absolute;z-index:4;top:12px;left:12px;padding:7px 10px;border-radius:999px;background:#c9a876;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.ch-home-v3 .ch-product-shelf--new ul.products li.product::before{content:"New";position:absolute;z-index:4;top:12px;left:12px;padding:7px 10px;border-radius:999px;background:#7fa8c9;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ch-home-v3 .ch-product-showcase ul.products li.product{position:relative}
.ch-home-v3 .ch-home-editorial{background:#fff}
.ch-home-v3 .ch-home-editorial__grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);align-items:center;gap:clamp(40px,7vw,90px)}
.ch-home-v3 .ch-home-editorial__art{position:relative;display:grid;place-items:center;min-height:430px;border-radius:40px;background:radial-gradient(circle at 50% 35%,#fff 0,#f5f1e8 50%,#e8d9c8 100%);overflow:hidden}
.ch-home-v3 .ch-home-editorial__art::before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(127,168,201,.35);border-radius:50%}
.ch-home-v3 .ch-home-editorial__art img{position:relative;z-index:1;width:min(76%,420px);filter:drop-shadow(0 18px 24px rgba(45,57,67,.12))}
.ch-home-v3 .ch-home-editorial__copy h2{max-width:700px}
.ch-home-v3 .ch-home-editorial__copy p{max-width:650px;color:var(--ch-ink-soft);font-size:1.08rem}
.ch-home-v3 .ch-sale-showcase{background:linear-gradient(135deg,#f7efe7 0%,#fff9f5 54%,#eef5fa 100%)}
.ch-home-v3 .ch-sale-banner{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;padding:clamp(26px,4vw,44px);border:1px solid rgba(201,168,118,.3);border-radius:28px;background:rgba(255,255,255,.78);box-shadow:0 14px 40px rgba(67,58,51,.06)}
.ch-home-v3 .ch-sale-banner h2{margin-bottom:.4rem}
.ch-home-v3 .ch-sale-banner p{margin:0;color:var(--ch-ink-soft)}
.ch-home-v3 .ch-testimonials{background:#f7fbfd}
.ch-home-v3 .ch-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ch-home-v3 .ch-testimonial{margin:0;padding:28px;border:1px solid rgba(127,168,201,.24);border-left:0;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(46,67,82,.05);font-family:var(--ch-font-body)}
.ch-home-v3 .ch-testimonial p{font-family:var(--ch-font-display);font-size:1.25rem;line-height:1.45;color:var(--ch-ink);margin:.8rem 0 1.2rem}
.ch-home-v3 .ch-testimonial cite{font-style:normal;color:var(--ch-ink-soft);font-size:.82rem;font-weight:700}
.ch-home-v3 .ch-stars{color:#d3a14e;letter-spacing:.12em}
.ch-home-v3 .ch-newsletter{position:relative;overflow:hidden;background:#273541;color:#fff}
.ch-home-v3 .ch-newsletter__inner{display:grid;grid-template-columns:160px 1fr minmax(320px,.9fr);align-items:center;gap:30px;padding-block:52px}
.ch-home-v3 .ch-newsletter__mark{display:grid;place-items:center;width:140px;height:140px;border-radius:50%;background:#f5f1e8}
.ch-home-v3 .ch-newsletter__mark img{width:112px;height:112px;object-fit:contain}
.ch-home-v3 .ch-newsletter h2,.ch-home-v3 .ch-newsletter p,.ch-home-v3 .ch-newsletter .ch-eyebrow{color:#fff}
.ch-home-v3 .ch-newsletter h2{margin-bottom:.35rem;font-size:clamp(2rem,3.5vw,3.2rem)}
.ch-home-v3 .ch-newsletter p{margin:0;opacity:.78}
.ch-home-v3 .ch-newsletter__form{display:flex;gap:10px}
.ch-home-v3 .ch-newsletter__form input{min-width:0;flex:1;min-height:54px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#fff;padding:0 20px;color:var(--ch-ink)}
.ch-home-v3 .ch-newsletter__form .ch-button{flex:0 0 auto;background:#7fa8c9;border-color:#7fa8c9}
.ch-home-v3 .ch-signup-message{grid-column:3;color:#fff;font-size:.88rem;margin-top:-16px}
@media(max-width:1000px){.ch-home-v3 .ch-category-grid--equal{grid-template-columns:repeat(2,1fr)}.ch-home-v3 .ch-home-editorial__grid{grid-template-columns:1fr 1fr}.ch-home-v3 .ch-newsletter__inner{grid-template-columns:120px 1fr}.ch-home-v3 .ch-newsletter__form{grid-column:1/-1}.ch-home-v3 .ch-signup-message{grid-column:1/-1}.ch-home-v3 .ch-testimonial-grid{grid-template-columns:1fr}}
@media(max-width:700px){.ch-home-v3 .ch-category-grid--equal{grid-template-columns:1fr}.ch-home-v3 .ch-category-grid--equal .ch-category-card{min-height:300px}.ch-home-v3 .ch-home-editorial__grid{grid-template-columns:1fr}.ch-home-v3 .ch-home-editorial__art{min-height:320px}.ch-home-v3 .ch-sale-banner{align-items:flex-start;flex-direction:column}.ch-home-v3 .ch-newsletter__inner{grid-template-columns:1fr;text-align:center}.ch-home-v3 .ch-newsletter__mark{margin-inline:auto}.ch-home-v3 .ch-newsletter .ch-eyebrow{justify-content:center}.ch-home-v3 .ch-newsletter__form{flex-direction:column}.ch-home-v3 .ch-newsletter__form .ch-button{width:100%}}
\n/* Cozy Haven v3.0.1 — latest blog section immediately before the footer. */\n.ch-home-v3 .ch-home-journal{position:relative;background:linear-gradient(180deg,#fff 0%,#fbf7f1 100%);border-top:1px solid rgba(201,168,118,.18)}\n.ch-home-v3 .ch-home-journal::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(127,168,201,.24),transparent)}\n.ch-home-v3 .ch-home-journal .ch-section-head{align-items:end}\n.ch-home-v3 .ch-home-journal__grid{gap:22px}\n.ch-home-v3 .ch-home-journal__card{border-color:rgba(201,168,118,.24);border-radius:24px;box-shadow:0 10px 30px rgba(54,63,70,.055)}\n.ch-home-v3 .ch-home-journal__card:hover{box-shadow:0 18px 42px rgba(54,63,70,.11)}\n.ch-home-v3 .ch-home-journal__card .ch-journal-card__image{aspect-ratio:1.62/1;background:linear-gradient(145deg,#eef5fa,#f5f1e8)}\n.ch-home-v3 .ch-home-journal__card .ch-journal-card__body{padding:1.45rem 1.45rem 1.55rem}\n.ch-home-v3 .ch-home-journal__card h3{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.15}\n.ch-home-v3 .ch-home-journal__card p{min-height:3.9em}\n.ch-home-v3 .ch-home-journal__read{margin-top:1rem}\n@media(max-width:1000px){.ch-home-v3 .ch-home-journal__grid{grid-template-columns:repeat(2,1fr)}.ch-home-v3 .ch-home-journal__card:last-child{grid-column:1/-1;max-width:calc(50% - 11px);width:100%;justify-self:center}}\n@media(max-width:700px){.ch-home-v3 .ch-home-journal .ch-section-head{align-items:flex-start}.ch-home-v3 .ch-home-journal__grid{grid-template-columns:1fr}.ch-home-v3 .ch-home-journal__card:last-child{grid-column:auto;max-width:none}}\n

/* Cozy Haven v3.0.2 — approved mockup-aligned homepage and footer. */
.ch-home-v302 .ch-hero__content{max-width:430px;padding:38px 34px 34px;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-radius:0 0 34px 0;box-shadow:0 18px 48px rgba(39,53,65,.08)}
.ch-home-v302 .ch-hero__title{font-size:clamp(3.2rem,5vw,5.5rem);line-height:.95;margin-bottom:8px}
.ch-home-v302 .ch-hero__title em{color:var(--ch-blue);font-style:normal}
.ch-home-v302 .ch-hero__tagline{font-size:2.1rem;font-family:var(--ch-font-body);font-weight:500;color:var(--ch-ink);margin:0 0 22px}
.ch-home-v302 .ch-hero__actions .ch-button{min-width:168px}
.ch-home-v302 .ch-trust-rail__grid{margin-top:-34px;position:relative;z-index:3;background:#fcf8f2;border:1px solid rgba(201,168,118,.24);border-radius:26px;box-shadow:0 18px 45px rgba(39,53,65,.06)}
.ch-home-v302 .ch-trust-item{display:flex;align-items:center;gap:16px;padding:22px 18px}
.ch-home-v302 .ch-trust-item strong{display:block;font-size:1.02rem;color:var(--ch-ink)}
.ch-home-v302 .ch-trust-item span span{display:block;font-weight:600;color:var(--ch-ink-soft)}
.ch-home-v302 .ch-trust-item small{display:block;color:#7b8892;font-size:.86rem;margin-top:2px}
.ch-home-v302 .ch-section-head{align-items:end;gap:18px}
.ch-home-v302 .ch-section-head__copy .ch-eyebrow{display:block;font-size:3rem;line-height:1;color:#bc8443;text-transform:none;letter-spacing:0;font-family:var(--ch-font-display);margin-bottom:8px}
.ch-home-v302 .ch-section-head__copy p{margin:0;color:#67737d;font-size:1rem}
.ch-pill-link{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(201,168,118,.45);background:#fff;border-radius:999px;color:var(--ch-ink);text-decoration:none;font-weight:700;box-shadow:0 8px 22px rgba(39,53,65,.04)}
.ch-pill-link:hover{border-color:var(--ch-blue);transform:translateY(-1px)}
.ch-home-v302 .ch-sale-heading-row{justify-content:space-between}
.ch-sale-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.ch-countdown{display:inline-flex;gap:10px}
.ch-countdown span{min-width:60px;padding:10px 8px;background:#fff;border:1px solid rgba(201,168,118,.22);border-radius:14px;text-align:center;box-shadow:0 8px 20px rgba(39,53,65,.035)}
.ch-countdown strong{display:block;font-size:1.35rem;line-height:1.1;color:var(--ch-ink)}
.ch-countdown small{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#7d8891}
.ch-review-band{background:#f4f8fb;padding-block:54px}
.ch-review-band__grid{display:grid;grid-template-columns:1.15fr 2.2fr .9fr;gap:22px;align-items:start}
.ch-review-band__intro h2{margin:.25rem 0 0;font-size:3.3rem;line-height:.96;color:var(--ch-blue);font-family:var(--ch-font-display)}
.ch-review-band__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ch-testimonial--compact{padding:22px 20px;border:1px solid rgba(201,168,118,.2);border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(39,53,65,.04);margin:0}
.ch-testimonial--compact p{font-size:1rem;line-height:1.7;margin:.7rem 0 .95rem;font-family:var(--ch-font-body)}
.ch-testimonial--compact cite{font-style:normal;font-size:.92rem;font-weight:700;color:#48555f}
.ch-review-band__promises{display:grid;gap:16px;padding-top:4px}
.ch-review-band__promises div{display:grid;grid-template-columns:28px 1fr;column-gap:12px;row-gap:2px;align-items:start;color:#48555f}
.ch-review-band__promises span{grid-row:1 / span 2;color:#bc8443}
.ch-review-band__promises strong{display:block;font-size:1rem}
.ch-review-band__promises small{display:block;color:#7b8790;font-size:.86rem}
.ch-home-social-signup{padding-top:28px;padding-bottom:36px}
.ch-home-social-signup__grid{display:grid;grid-template-columns:170px 1fr 320px;gap:18px;align-items:start}
.ch-home-social-signup__follow{padding:18px 8px 0 0}
.ch-home-social-signup__icon{display:inline-flex;width:38px;height:38px;border:1px solid rgba(127,168,201,.4);border-radius:50%;align-items:center;justify-content:center;color:var(--ch-blue);margin-bottom:12px}
.ch-home-social-signup__follow h2{font-size:1.25rem;line-height:1.35;margin:0 0 6px;color:var(--ch-ink)}
.ch-home-social-signup__follow p{margin:0;color:#67737d}
.ch-home-social-signup__gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ch-home-social-signup__tile{aspect-ratio:1 / 1;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(39,53,65,.06);background:#f5f1e8}
.ch-home-social-signup__tile img{width:100%;height:100%;object-fit:cover;display:block}
.ch-home-social-signup__newsletter{background:linear-gradient(135deg,#5e86b4 0%,#3c6590 100%);color:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 18px 40px rgba(54,89,128,.22)}
.ch-home-social-signup__newsletter .ch-eyebrow{display:block;font-family:var(--ch-font-body);font-size:1.25rem;line-height:1.25;color:#fff;text-transform:none;letter-spacing:0;margin-bottom:10px}
.ch-home-social-signup__newsletter p{margin:0 0 16px;color:rgba(255,255,255,.92);font-size:.96rem}
.ch-home-social-signup__form{display:flex;gap:10px;flex-wrap:wrap}
.ch-home-social-signup__form input{flex:1 1 170px;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#fff;color:var(--ch-ink)}
.ch-button--gold{background:#d8a55d;border-color:#d8a55d;color:#fff}
.ch-button--gold:hover{background:#c8944d;border-color:#c8944d}
.ch-home-journal--mockup{padding-top:10px;padding-bottom:56px}
.ch-home-v302 .ch-home-journal__grid--four{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ch-home-v302 .ch-home-journal__card{border:1px solid rgba(201,168,118,.2);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(39,53,65,.045);overflow:hidden}
.ch-home-v302 .ch-journal-card__image{aspect-ratio:1.38 / 1}
.ch-home-v302 .ch-journal-card__image img{width:100%;height:100%;object-fit:cover}
.ch-home-v302 .ch-journal-card__body{padding:14px 16px 18px}
.ch-home-v302 .ch-journal-card__meta{font-size:.84rem;color:#7a848d;margin-bottom:8px}
.ch-home-v302 .ch-journal-card__body h3{font-size:1.4rem;line-height:1.12;margin:0 0 10px}
.ch-home-v302 .ch-journal-card__body p{font-size:.96rem;color:#61707a;line-height:1.6;min-height:4.8em;margin:0 0 14px}
.site-footer--mockup{position:relative;background:linear-gradient(135deg,#24476f 0%,#355f93 55%,#274567 100%);color:#fff;padding-top:46px}
.site-footer--mockup .site-footer__wave{position:absolute;inset:0 0 auto;height:42px;background:radial-gradient(circle at 15% 0, transparent 36px, #fff 37px, #fff 43px, transparent 44px),radial-gradient(circle at 50% 0, transparent 46px, #fff 47px, #fff 53px, transparent 54px),radial-gradient(circle at 84% 0, transparent 38px, #fff 39px, #fff 45px, transparent 46px);background-size:33.4% 100%;background-repeat:repeat-x;transform:translateY(-100%)}
.site-footer--mockup .site-footer__top{display:grid;grid-template-columns:1.2fr .8fr .9fr .8fr 1fr;gap:28px;padding-block:0 32px}
.site-footer--mockup .site-footer__brand img{max-width:180px}
.site-footer--mockup .site-footer__brand p{max-width:260px;color:rgba(255,255,255,.86)}
.site-footer__socials{display:flex;gap:12px;margin-top:18px}
.site-footer__socials a{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);color:#fff;text-decoration:none}
.site-footer--mockup h3{font-size:1.1rem;margin:0 0 14px;color:#fff}
.site-footer--mockup ul,.site-footer--mockup .menu{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.site-footer--mockup a{color:rgba(255,255,255,.92)}
.site-footer--mockup a:hover{color:#fff}
.site-footer__payments .ch-payment-badges{background:rgba(255,255,255,.95);padding:12px;border-radius:14px;box-shadow:0 10px 24px rgba(19,30,46,.2)}
.site-footer__payments .ch-payment-badges img{display:block;width:100%;height:auto}
.site-footer--mockup .site-footer__bottom{border-top:1px solid rgba(255,255,255,.18);padding-block:18px 24px}
.site-footer--mockup .site-footer__legal{display:flex;gap:22px;flex-wrap:wrap;align-items:center;color:rgba(255,255,255,.85)}
@media (max-width:1200px){.ch-review-band__grid{grid-template-columns:1fr}.ch-review-band__cards{grid-template-columns:repeat(3,1fr)}.ch-home-social-signup__grid{grid-template-columns:1fr}.ch-home-social-signup__follow{padding:0}.ch-home-social-signup__gallery{grid-template-columns:repeat(4,1fr)}.site-footer--mockup .site-footer__top{grid-template-columns:1fr 1fr 1fr}.site-footer__payments{grid-column:1/-1;max-width:340px}}
@media (max-width:900px){.ch-home-v302 .ch-trust-rail__grid{grid-template-columns:repeat(2,1fr)}.ch-home-v302 .ch-home-journal__grid--four,.ch-review-band__cards{grid-template-columns:repeat(2,1fr)}.ch-home-social-signup__gallery{grid-template-columns:repeat(2,1fr)}.site-footer--mockup .site-footer__top{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ch-home-v302 .ch-hero__content{padding:28px 22px;max-width:none}.ch-home-v302 .ch-hero__tagline{font-size:1.6rem}.ch-home-v302 .ch-trust-rail__grid,.ch-home-v302 .ch-home-journal__grid--four,.ch-review-band__cards,.ch-home-social-signup__gallery,.site-footer--mockup .site-footer__top{grid-template-columns:1fr}.ch-sale-meta{justify-content:flex-start}.ch-countdown{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.site-footer--mockup .site-footer__legal{flex-direction:column;align-items:flex-start;gap:10px}}


/* Cozy Haven v3.0.6 — first-paint live shelf loading. */
.ch-live-shelf{min-height:360px;position:relative}
.ch-shelf-skeleton ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0!important;padding:0!important;list-style:none!important}
.ch-shelf-skeleton__card{display:block!important;margin:0!important;padding:0 0 16px!important;border:1px solid rgba(201,168,118,.18);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(39,53,65,.035)}
.ch-shelf-skeleton__image,.ch-shelf-skeleton__line,.ch-shelf-skeleton__button{display:block;background:linear-gradient(100deg,#f2eee8 20%,#faf8f4 38%,#f2eee8 56%);background-size:220% 100%;animation:chShelfShimmer 1.25s ease-in-out infinite}
.ch-shelf-skeleton__image{width:100%;aspect-ratio:1.25/1}
.ch-shelf-skeleton__line{height:12px;margin:14px 14px 0;border-radius:999px}
.ch-shelf-skeleton__line--title{width:76%}
.ch-shelf-skeleton__line--price{width:36%;margin-top:10px}
.ch-shelf-skeleton__button{width:92px;height:34px;margin:14px 14px 0;border-radius:10px}
@keyframes chShelfShimmer{0%{background-position:100% 0}100%{background-position:-120% 0}}
.ch-live-shelf__error,.ch-live-shelf__empty,.ch-live-shelf__noscript{padding:18px;border:1px solid rgba(201,168,118,.22);border-radius:14px;background:#fff;color:var(--ch-ink-soft)}
.ch-home-v302 .ch-review-band,.ch-home-v302 .ch-home-social-signup,.ch-home-v302 .ch-home-journal--mockup{content-visibility:auto;contain-intrinsic-size:700px}
@media(max-width:900px){.ch-shelf-skeleton ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-live-shelf{min-height:650px}}
@media(max-width:520px){.ch-shelf-skeleton ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ch-live-shelf{min-height:590px}.ch-shelf-skeleton__card{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.ch-shelf-skeleton__image,.ch-shelf-skeleton__line,.ch-shelf-skeleton__button{animation:none}}


/* Cozy Haven v3.0.17 — footer Talk to us contact block under the logo. */
.site-footer__talk{margin-top:20px;max-width:310px}
.site-footer--mockup .site-footer__talk h3,.site-footer__talk h3{margin:0 0 12px;color:#fff;font-size:1.1rem;font-weight:800}
.site-footer__talk-list{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:9px!important}
.site-footer__talk-list li{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;color:rgba(255,255,255,.9);line-height:1.45;min-width:0}
.site-footer__talk-list svg{width:18px;height:18px;flex:0 0 18px;margin-top:2px;color:#f0c178;stroke-width:1.8}
.site-footer__talk-list a,.site-footer__talk-list span{color:rgba(255,255,255,.92);text-decoration:none;overflow-wrap:anywhere}
.site-footer__talk-list a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.site-footer__brand-copy{margin-top:18px!important}
@media(max-width:900px){.site-footer__talk{max-width:none}.site-footer__talk-list{max-width:360px}}


/* Cozy Haven v3.0.18 — four featured category tiles above Customer Favorites. */
.ch-home-v302 .ch-featured-categories {
	padding-top: 46px;
	padding-bottom: 54px;
	background: #fff;
}
.ch-home-v302 .ch-featured-categories__head {
	margin-bottom: 20px;
}
.ch-home-v302 .ch-category-grid--featured-four {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card,
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card:first-child,
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card:nth-child(6n) {
	grid-column: auto;
	min-height: 285px;
	border-radius: 22px;
}
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card::after {
	background: linear-gradient(180deg, rgba(30,42,52,.015) 24%, rgba(30,42,52,.82) 100%);
}
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card__content {
	padding: 20px;
}
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card h3 {
	font-size: clamp(1.35rem, 1.8vw, 1.8rem);
	line-height: 1.08;
}
.ch-home-v302 .ch-category-grid--featured-four .ch-category-card p {
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .02em;
}
.ch-home-v302 .ch-category-card__fallback--brand {
	background: linear-gradient(145deg, #f7f1e7 0%, #e9f1f7 100%);
}
.ch-home-v302 .ch-category-card__fallback--brand img {
	width: min(58%, 165px);
	height: auto;
	object-fit: contain;
	opacity: .88;
}
@media (max-width: 1000px) and (min-width: 901px) {
	.ch-home-v302 .ch-category-grid--featured-four {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* v3.0.20 — live Deals rotation + truthful WooCommerce sale countdown. */
.ch-deal-timer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ch-deal-timer__label{font-size:.86rem;font-weight:800;color:#6b7781;white-space:nowrap}
.ch-countdown[hidden]{display:none!important}
.ch-countdown strong{font-variant-numeric:tabular-nums}
@media(max-width:640px){.ch-deal-timer{width:100%;align-items:flex-start;flex-direction:column}.ch-deal-timer__label{white-space:normal}}

/* v3.0.23 live lower homepage content. */
.ch-live-home-content[aria-busy="true"]{min-height:1px}
.ch-content-skeleton{position:relative;overflow:hidden;background:#f2eee8!important;border-color:#ebe3d9!important;min-height:150px}
.ch-content-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);animation:ch-content-skeleton 1.35s ease-in-out infinite}
.ch-home-social-signup__tile.ch-content-skeleton{aspect-ratio:1/1;min-height:0}
.ch-home-journal__card.ch-content-skeleton{aspect-ratio:1.08/1;min-height:240px}
@keyframes ch-content-skeleton{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.ch-content-skeleton::after{animation:none}}


/* v3.0.24 — homepage Deals media is intentionally network-throttled to 1–2 images at a time. */
.ch-home-v302 .ch-product-shelf--sale img[data-ch-src],
.ch-home-v302 .ch-product-shelf--sale img.is-loading-image{background:linear-gradient(135deg,#f7f2ea 0%,#eef5fa 100%)}
.ch-home-v302 .ch-product-shelf--sale img[data-ch-src]{opacity:.72}
.ch-home-v302 .ch-product-shelf--sale img.is-loaded{opacity:1;transition:opacity .22s ease}


/* v3.1.2 — WooCommerce-native Sale shortcode layouts. */
.ch-native-sale-shelf > .woocommerce{width:100%}
.ch-native-sale-shelf .woocommerce ul.products{margin:0}
.ch-native-sale-sync-note{margin:1rem 0 0;padding:12px 16px;border:1px solid rgba(201,168,118,.32);border-radius:14px;background:#fffaf4;color:var(--ch-ink-soft)}
.ch-shop-content .woocommerce.columns-4{width:100%}
.ch-shop-content .woocommerce.columns-4 ul.products{margin-top:0}


/* Cozy Haven v3.2.1 — dedicated Sale plugin homepage card integration.
 * The Sale plugin is deliberately theme-independent, so normalise both its
 * legacy bare UL output and its WooCommerce-wrapped output to the exact same
 * 4-column product-card presentation used by the other homepage shelves. */
.ch-plugin-sale-shelf{width:100%;min-width:0}
.ch-plugin-sale-shelf .ch-plugin-sale-woocommerce,
.ch-plugin-sale-shelf .afl-lse-woocommerce{width:100%;min-width:0}
.ch-home-v3 .ch-plugin-sale-shelf ul.products,
.ch-home-v3 .ch-plugin-sale-shelf ul.products.afl-lse-products{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr))!important;
	gap:22px!important;
	clear:both;
	width:100%;
	margin:0!important;
	padding:0!important;
	list-style:none!important;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products::before,
.ch-home-v3 .ch-plugin-sale-shelf ul.products::after{display:none!important;content:none!important}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product{
	position:relative!important;
	display:flex!important;
	float:none!important;
	width:auto!important;
	min-width:0!important;
	height:100%;
	flex-direction:column;
	margin:0!important;
	padding:0 0 1.15rem!important;
	overflow:hidden;
	border:1px solid rgba(201,168,118,.22);
	border-radius:22px;
	background:#fff;
	box-shadow:0 10px 30px rgba(54,63,70,.06);
	isolation:isolate;
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 42px rgba(54,63,70,.11);
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .woocommerce-LoopProduct-link{
	display:flex;
	height:100%;
	flex-direction:column;
	color:var(--ch-ink);
	text-decoration:none;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product a img{
	display:block;
	width:calc(100% - 16px)!important;
	max-width:none;
	aspect-ratio:1/1;
	margin:8px 8px 1rem!important;
	border:1px solid rgba(39,53,65,.055);
	border-radius:17px;
	background:linear-gradient(145deg,var(--ch-ivory),var(--ch-cream));
	object-fit:contain;
	transition:transform .35s ease;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product:hover a img{transform:scale(1.025)}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .woocommerce-loop-product__title{
	display:-webkit-box;
	overflow:hidden;
	min-height:3.08em;
	margin:0 1.15rem .55rem;
	padding:0;
	color:var(--ch-ink);
	font-family:var(--ch-font-body);
	font-size:.9rem;
	font-weight:700;
	line-height:1.54;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .star-rating{margin:0 1.15rem .55rem;font-size:.72rem}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .price{
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:.18rem;
	margin:auto 1.15rem .75rem;
	color:var(--ch-ink);
	font-size:.97rem;
	font-weight:800;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .price del{order:2;margin-right:.3rem;color:var(--ch-ink-soft);font-size:.78rem;opacity:.65}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .price ins{order:1;color:var(--ch-danger);font-weight:800;text-decoration:none}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .button,
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .added_to_cart{
	display:inline-flex;
	min-height:44px;
	align-items:center;
	justify-content:center;
	margin:0 1.15rem;
	padding:.7rem .85rem;
	border:1px solid var(--ch-blue-deep);
	border-radius:var(--ch-radius-pill);
	background:var(--ch-blue-deep);
	color:#fff;
	font-size:.78rem;
	font-weight:800;
	line-height:1;
	text-decoration:none;
}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .button:hover,
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .added_to_cart:hover{border-color:var(--ch-gold);background:var(--ch-gold);color:var(--ch-ink)}
.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .onsale{
	top:12px;left:12px;right:auto;z-index:5;
	min-width:0;min-height:0;margin:0;padding:.56rem .76rem;
	border:2px solid rgba(255,255,255,.94);border-radius:10px 10px 10px 3px;
	background:linear-gradient(135deg,#ef654f 0%,#d84639 100%);
	box-shadow:0 7px 18px rgba(153,48,40,.28);color:#fff;
	font-size:.72rem;font-weight:900;line-height:1;letter-spacing:.055em;text-transform:uppercase;
}
@media(max-width:900px){
	.ch-home-v3 .ch-plugin-sale-shelf ul.products,
	.ch-home-v3 .ch-plugin-sale-shelf ul.products.afl-lse-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
}
@media(max-width:520px){
	.ch-home-v3 .ch-plugin-sale-shelf ul.products,
	.ch-home-v3 .ch-plugin-sale-shelf ul.products.afl-lse-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
	.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product{border-radius:16px}
	.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .woocommerce-loop-product__title{margin-inline:.85rem;font-size:.82rem}
	.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .price{margin-inline:.85rem;font-size:.9rem}
	.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .button,
	.ch-home-v3 .ch-plugin-sale-shelf ul.products li.product .added_to_cart{margin-inline:.85rem;padding-inline:.55rem;font-size:.72rem}
}
