:root {
	--sunxi-paper: #f7f2e9;
	--sunxi-paper-deep: #ece2d2;
	--sunxi-ink: #27231e;
	--sunxi-soft-ink: #6e6459;
	--sunxi-line: #d9cdbc;
	--sunxi-crimson: #8d302e;
	--sunxi-gold: #9c742e;
	--sunxi-wood: #527057;
	--sunxi-fire: #a7483d;
	--sunxi-earth: #aa7c35;
	--sunxi-metal: #6d6b67;
	--sunxi-water: #365c73;
}

html { scroll-behavior: smooth; }

body,
.wp-site-blocks {
	background: var(--sunxi-paper);
	color: var(--sunxi-ink);
}

body:not(.wp-admin) {
	font-family: Georgia, "Times New Roman", serif;
}

body:not(.wp-admin) :where(h1, h2, h3, h4, h5, h6) {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: 1.15;
}

body:not(.wp-admin) :where(p, li) {
	line-height: 1.7;
}

body:not(.wp-admin) a {
	text-underline-offset: .15em;
}

body:not(.wp-admin) :where(button, input, select, textarea, .wp-element-button, .wp-block-button__link) {
	font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

body:not(.wp-admin) :where(.wp-element-button, .wp-block-button__link, button[type="submit"], input[type="submit"]) {
	border: 1px solid var(--sunxi-crimson);
	border-radius: 2px;
	background: var(--sunxi-crimson);
	color: #fffaf3;
	font-size: .86rem;
	font-weight: 600;
	letter-spacing: .015em;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

body:not(.wp-admin) :where(.wp-element-button, .wp-block-button__link, button[type="submit"], input[type="submit"]):hover {
	border-color: var(--sunxi-ink);
	background: var(--sunxi-ink);
	color: #fffaf3;
	transform: translateY(-1px);
}

body:not(.wp-admin) :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select) {
	border: 1px solid var(--sunxi-line);
	border-radius: 2px;
	background: #fffaf3;
	color: var(--sunxi-ink);
}

body:not(.wp-admin) :where(input, textarea, select):focus-visible,
body:not(.wp-admin) a:focus-visible,
body:not(.wp-admin) button:focus-visible {
	outline: 2px solid var(--sunxi-crimson);
	outline-offset: 3px;
}

header.wp-block-template-part {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid var(--sunxi-line);
	background: var(--sunxi-paper);
}

header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part .wp-block-group.has-background {
	background-color: var(--sunxi-paper) !important;
	background-image: none !important;
}

header.wp-block-template-part .wp-block-group.alignwide,
header.wp-block-template-part .wp-block-group.alignfull {
	min-height: 78px;
}

header.wp-block-template-part .wp-block-site-logo img {
	width: auto;
	max-height: 58px;
	object-fit: contain;
}

header.wp-block-template-part .wp-block-site-title,
header.wp-block-template-part .wp-block-site-title a {
	color: var(--sunxi-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	text-decoration: none;
}

header.wp-block-template-part .wp-block-navigation,
header.wp-block-template-part .wp-block-navigation a {
	color: var(--sunxi-ink);
	font: 600 .8rem/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
}

header.wp-block-template-part .wp-block-navigation a:hover {
	color: var(--sunxi-crimson);
}

header.wp-block-template-part .wp-block-woocommerce-customer-account,
header.wp-block-template-part .wp-block-woocommerce-cart-link {
	color: var(--sunxi-ink);
}

footer.wp-block-template-part {
	background: var(--sunxi-ink);
	color: var(--sunxi-paper);
	font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

footer.wp-block-template-part > .wp-block-group {
	padding-top: 66px !important;
	padding-bottom: 34px !important;
}

footer.wp-block-template-part :where(p, .wp-block-site-tagline, .wp-block-navigation, .wp-block-navigation a) {
	color: var(--sunxi-paper);
}

footer.wp-block-template-part .wp-block-site-tagline {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2vw, 1.85rem);
	font-weight: 400;
}

footer.wp-block-template-part .wp-block-navigation a {
	font: 500 .83rem/1.7 system-ui, -apple-system, "Segoe UI", sans-serif;
	text-decoration: none;
}

footer.wp-block-template-part .wp-block-navigation a:hover {
	color: #dfc5a3;
}

footer.wp-block-template-part .has-small-font-size {
	color: #c6b9a9;
	font-size: .72rem;
}

body:not(.sunxicraft-editorial-article) .woocommerce-breadcrumb {
	color: var(--sunxi-soft-ink);
	font: 500 .76rem/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
	letter-spacing: .035em;
}

body:not(.sunxicraft-editorial-article) .woocommerce-breadcrumb a {
	color: var(--sunxi-crimson);
}

body.woocommerce-shop .wp-site-blocks main,
body.tax-product_cat .wp-site-blocks main,
body.single-product .wp-site-blocks main {
	padding-top: 42px;
	padding-bottom: 90px;
}

body.home .nfd-wb-hero__hero-1 h1 {
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
	font-size: clamp(2.8rem, 5.7vw, 5.9rem) !important;
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: 1.05;
}

body.home .nfd-wb-hero__hero-1 p {
	max-width: 740px;
	margin-right: auto;
	margin-left: auto;
	font-size: 1.12rem;
}

body.home .nfd-wb-hero__hero-1 .wp-block-buttons {
	justify-content: center;
}

body.home .nfd-wb-hero__hero-1 .wp-block-button__link {
	border-radius: 2px;
}

body.woocommerce-shop .wp-site-blocks main h1,
body.tax-product_cat .wp-site-blocks main h1 {
	margin: 28px 0 16px;
	font-size: clamp(3rem, 5.8vw, 5.5rem);
	letter-spacing: -.045em;
}

body.woocommerce-shop .wp-block-term-description,
body.tax-product_cat .wp-block-term-description {
	max-width: 740px;
	color: var(--sunxi-soft-ink);
	font-size: 1.09rem;
}

.wp-block-woocommerce-product-collection .wc-block-product-template,
.wp-block-woocommerce-product-collection .products {
	gap: 30px 21px;
}

.wp-block-woocommerce-product-collection .wc-block-product {
	padding: 0 0 24px;
	border-bottom: 1px solid var(--sunxi-line);
	background: #fffaf3;
	transition: transform .2s ease, box-shadow .2s ease;
}

.wp-block-woocommerce-product-collection .wc-block-product:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgb(39 35 30 / 7%);
}

.wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-image {
	margin-bottom: 17px;
	background: var(--sunxi-paper-deep);
}

.wp-block-woocommerce-product-collection .wc-block-product img {
	object-fit: cover;
}

.wp-block-woocommerce-product-collection .wc-block-product .wp-block-post-title,
.wp-block-woocommerce-product-collection .wc-block-product .wp-block-post-title a {
	color: var(--sunxi-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1rem, 1.45vw, 1.28rem);
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
}

.wp-block-woocommerce-product-collection .wc-block-product .wp-block-post-title,
.wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-price,
.wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-button {
	margin-right: 17px;
	margin-left: 17px;
}

.wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-price {
	color: var(--sunxi-crimson);
	font: 600 .84rem/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-button__button {
	width: 100%;
	padding: 10px 12px;
}

body.single-product .wp-block-post-title {
	max-width: 740px;
	font-size: clamp(2.2rem, 3.5vw, 4.1rem);
	letter-spacing: -.04em;
	line-height: 1.12;
}

body.single-product .woocommerce-product-gallery {
	background: var(--sunxi-paper-deep);
}

body.single-product .woocommerce-product-gallery img {
	object-fit: contain;
}

body.single-product .wp-block-woocommerce-product-price {
	color: var(--sunxi-crimson);
	font: 600 1.2rem/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

body.single-product .wp-block-post-excerpt,
body.single-product .wp-block-post-content,
body.single-product .woocommerce-Tabs-panel {
	color: var(--sunxi-soft-ink);
	font-size: 1.03rem;
	line-height: 1.76;
}

body.single-product .woocommerce-tabs {
	margin-top: 72px;
	border-top: 1px solid var(--sunxi-line);
}

body.single-product .woocommerce-tabs .tabs {
	font: 600 .83rem/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
	letter-spacing: .06em;
	text-transform: uppercase;
}

body.single-product .woocommerce-tabs .tabs a {
	color: var(--sunxi-ink);
}

body.single-product .woocommerce-tabs .tabs .active a {
	color: var(--sunxi-crimson);
}

body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main {
	padding-top: 45px;
	padding-bottom: 90px;
}

body.woocommerce-cart main h1,
body.woocommerce-checkout main h1,
body.woocommerce-account main h1 {
	font-size: clamp(2.8rem, 5vw, 4.8rem);
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-account .woocommerce-MyAccount-content {
	border: 1px solid var(--sunxi-line);
	background: #fffaf3;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
	padding: 25px;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	padding: 27px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	color: var(--sunxi-crimson);
	font: 600 .84rem/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.sunxicraft-account-intro {
	max-width: 1120px;
	margin: 0 auto 50px;
	padding: 55px 38px;
	background: var(--sunxi-paper-deep);
}

.sunxicraft-account-intro p:first-child {
	margin: 0 0 15px;
	color: var(--sunxi-crimson);
	font: 600 .73rem/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sunxicraft-account-intro h1 {
	margin: 0 0 15px;
	font-size: clamp(2.8rem, 5vw, 4.8rem);
	letter-spacing: -.04em;
}

.sunxicraft-account-intro p:last-child {
	max-width: 660px;
	margin: 0;
	color: var(--sunxi-soft-ink);
	font-size: 1.05rem;
}

@media (max-width: 850px) {
	header.wp-block-template-part .wp-block-group.alignwide,
	header.wp-block-template-part .wp-block-group.alignfull {
		min-height: 65px;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		max-height: 48px;
	}

	footer.wp-block-template-part > .wp-block-group {
		padding-top: 48px !important;
	}

	.sunxicraft-account-intro {
		padding: 40px 25px;
	}

	body.woocommerce-shop .wp-site-blocks main,
	body.tax-product_cat .wp-site-blocks main,
	body.single-product .wp-site-blocks main {
		padding-top: 24px;
		padding-bottom: 60px;
	}
}
