:root {
	--cozy-cream: #f9f6f0;
	--cozy-terracotta: #b36a4f;
	--cozy-charcoal: #2c302e;
	--cozy-green: #2e4035;
	--cozy-paper: #fffaf2;
	--cozy-border: rgba(44, 48, 46, 0.14);
}

.cozy-container,
.wp-site-blocks > *:not(.alignfull) {
	width: min(1120px, calc(100% - 40px));
	margin-inline: auto;
}

.cozy-site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(249, 246, 240, 0.94);
	border-bottom: 1px solid var(--cozy-border);
	backdrop-filter: blur(14px);
}

.cozy-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: min(1240px, calc(100% - 40px));
	margin: 0 auto;
	padding: 18px 0;
}

.cozy-site-title {
	color: var(--cozy-charcoal);
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	text-decoration: none;
}

.cozy-main-navigation .menu {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cozy-main-navigation a {
	color: var(--cozy-charcoal);
	font-family: Arial, sans-serif;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
}

.cozy-main-navigation a:hover,
.cozy-site-title:hover {
	color: var(--cozy-terracotta);
}

.cozy-header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cozy-search-form {
	display: flex;
	align-items: center;
	gap: 8px;
}

.cozy-search-field {
	width: 190px;
	border: 1px solid var(--cozy-border);
	border-radius: 999px;
	background: #fff;
	color: var(--cozy-charcoal);
	padding: 10px 14px;
}

.cozy-search-submit,
.wp-block-button__link,
button,
input[type="submit"],
.cozy-icon-link {
	border: 0;
	border-radius: 999px;
	background: var(--cozy-terracotta);
	color: #fff;
	cursor: pointer;
	font-family: Arial, sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	padding: 10px 15px;
	text-decoration: none;
}

.cozy-icon-link {
	background: var(--cozy-paper);
	border: 1px solid var(--cozy-border);
	color: var(--cozy-charcoal);
}

.cozy-checkout-link {
	background: var(--cozy-green);
	color: #fff;
}

.cozy-entry {
	padding: 48px 0;
}

.cozy-page-main,
.cozy-woocommerce-main {
	width: min(1240px, calc(100% - 64px));
	margin-inline: auto;
	padding: 42px 0 0;
}

.home .cozy-page-main,
.page-template-default .cozy-page-main:has(.cozy-home-hero) {
	width: 100%;
	padding-top: 0;
}

.cozy-page-entry > .entry-content > *:not(.alignfull):not(.alignwide) {
	width: min(1120px, calc(100% - 64px));
	margin-inline: auto;
}

.cozy-page-entry > .entry-content > .alignwide {
	width: min(1180px, calc(100% - 64px));
	margin-inline: auto;
}

.entry-title,
.wp-block-heading {
	color: var(--cozy-charcoal);
	letter-spacing: -0.04em;
	line-height: 1.12;
}

.wp-block-cover {
	margin-bottom: 64px;
}

.wp-block-cover h1 {
	color: #fff;
	font-size: clamp(2.7rem, 7vw, 5.75rem);
	max-width: 900px;
	margin-inline: auto;
}

.wp-block-cover p {
	color: #fff;
	font-size: 1.2rem;
}

.cozy-home-hero {
	margin-top: 0;
}

.cozy-section-heading {
	margin-top: 70px;
	margin-bottom: 26px;
}

.cozy-section-heading p {
	max-width: 680px;
	margin-inline: auto;
}

.cozy-collection-grid {
	gap: 28px;
	margin-bottom: 54px;
}

.cozy-collection-grid .wp-block-column {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--cozy-border);
	border-radius: 30px;
	box-shadow: 0 20px 55px rgba(44, 48, 46, 0.08);
}

.cozy-collection-grid figure {
	margin: 0;
}

.cozy-collection-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 7 / 5;
	object-fit: cover;
}

.cozy-collection-grid h3,
.cozy-collection-grid p {
	padding-inline: 24px;
}

.cozy-collection-grid p {
	padding-bottom: 24px;
}

.cozy-feature-columns {
	gap: 28px;
	margin-top: 64px;
	margin-bottom: 64px;
}

.cozy-feature-columns .wp-block-column,
.cozy-contact-placeholder,
.cozy-shop-layout > .wp-block-column:first-child {
	background: var(--cozy-paper);
	border: 1px solid var(--cozy-border);
	border-radius: 28px;
	box-shadow: 0 18px 50px rgba(44, 48, 46, 0.08);
	padding: 28px;
}

.cozy-promo-banner {
	overflow: hidden;
	border-radius: 36px;
	margin-top: 72px;
}

.cozy-promo-banner h2 {
	color: #fff;
	font-size: clamp(2rem, 4vw, 4rem);
}

.cozy-shop-layout {
	width: min(1180px, calc(100% - 96px));
	margin: 48px auto 0;
	gap: 36px;
}

.cozy-shop-layout > .wp-block-column:first-child {
	align-self: flex-start;
	position: sticky;
	top: 110px;
}

.cozy-shop-search {
	margin-bottom: 26px;
}

.cozy-shop-search .wp-block-search__inside-wrapper {
	overflow: hidden;
	border: 1px solid var(--cozy-border);
	border-radius: 999px;
	background: #fff;
	padding: 4px;
}

.cozy-shop-search .wp-block-search__input {
	border: 0;
	background: transparent;
	padding-left: 14px;
}

.cozy-shop-search .wp-block-search__button {
	margin-left: 0;
}

.cozy-shop-layout ul,
.cozy-shop-layout ol {
	padding-left: 0;
	list-style: none;
}

.wp-block-woocommerce-filter-wrapper {
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid var(--cozy-border);
}

.cozy-site-footer {
	margin-top: 80px;
	background: var(--cozy-green);
	color: #fff;
}

.cozy-footer-inner {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
	padding: 54px 0;
}

.cozy-site-footer h2,
.cozy-site-footer h3,
.cozy-site-footer a {
	color: #fff;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
	background: #fff;
	border: 1px solid var(--cozy-border);
	border-radius: 24px;
	padding: 18px;
	text-align: center;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product img,
.wc-block-product img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 18px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--cozy-terracotta);
	border-radius: 999px;
	color: #fff;
}

@media (max-width: 920px) {
	.cozy-header-inner,
	.cozy-header-actions,
	.cozy-main-navigation .menu {
		align-items: stretch;
		flex-direction: column;
	}

	.cozy-search-form,
	.cozy-search-field {
		width: 100%;
	}

	.cozy-footer-inner {
		grid-template-columns: 1fr;
	}
}
