/*
Theme Name: Crave Locally One
Theme URI: 
Author: Crave Locally LLC
Author URI: 
Description: Theme inspired by warm local goodness
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 5.7
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: spectra-one
Text Domain: crave-locally-one
Tags: 
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
	--cl-cream: #FBF7EF;
	--cl-forest: #1F2A24;
	--cl-clay: #B4794F;
	--cl-sage: #8A9A7B;
	--cl-gold: #D3A24C;
	--cl-muted: #6B7268;
	--cl-border: rgba(31, 42, 36, 0.10);
	--cl-font-display: "Cormorant Garamond", Georgia, serif;
	--cl-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cl-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--cl-radius: 4px;
	--cl-radius-pill: 999px;
}

body,
.site,
.entry-content {
	background-color: var(--cl-cream);
	color: var(--cl-forest);
	font-family: var(--cl-font-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--cl-clay);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--cl-forest);
}

h1,
h2,
h3,
h4,
.entry-title,
.site-title,
.wp-block-site-title {
	color: var(--cl-forest);
	font-family: var(--cl-font-display);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.15;
}

h1,
.entry-title {
	font-size: clamp(2.25rem, 4.5vw, 4rem);
	font-style: italic;
}

h2 {
	font-size: clamp(1.75rem, 3vw, 2.75rem);
}

h3 {
	font-size: 1.5rem;
}

.cl-label,
.wp-block-post-terms,
.post-categories,
.tags-links {
	color: var(--cl-muted);
	font-family: var(--cl-font-mono);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.site-header,
header.site-header,
.wp-block-template-part[data-type="header"],
.cl-site-header {
	background: rgba(251, 247, 239, 0.85);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--cl-border);
	position: sticky;
	top: 0;
	z-index: 50;
}

.cl-site-header {
	padding-bottom: 0;
	padding-top: 0;
}

.cl-site-header .wp-block-group {
	min-height: 96px;
}

.custom-logo,
.site-logo img,
.wp-block-site-logo img {
	height: 52px;
	width: auto;
	object-fit: contain;
}

.site-title,
.site-title a,
.wp-block-site-title,
.wp-block-site-title a {
	color: var(--cl-forest);
	font-family: var(--cl-font-display);
	font-size: 2rem;
	font-style: italic;
	font-weight: 500 !important;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}

.site-title a:hover,
.site-title .cl-accent,
.wp-block-site-title a:hover {
	color: var(--cl-clay);
}

.wp-block-site-title a {
	font-size: 0;
}

.wp-block-site-title a::before,
.wp-block-site-title a::after {
	font-size: 2rem;
}

.wp-block-site-title a::before {
	color: var(--cl-forest);
	content: "Crave ";
}

.wp-block-site-title a::after {
	color: var(--cl-clay);
	content: "Locally";
}

.main-navigation a,
.wp-block-navigation a,
nav.primary-menu a {
	color: var(--cl-forest);
	font-family: var(--cl-font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: color 0.2s ease;
}

.wp-block-navigation {
	gap: 32px;
}

.wp-block-navigation .wp-block-navigation-item__content {
	padding: 0;
}

.main-navigation a:hover,
.wp-block-navigation a:hover,
.main-navigation .current-menu-item a {
	color: var(--cl-forest);
}

.cl-header-cta .wp-block-button__link {
	padding: 13px 24px;
}

header.wp-block-template-part {
	background: rgba(251, 247, 239, 0.92) !important;
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--cl-border);
	position: sticky;
	top: 0;
	z-index: 50;
}

header.wp-block-template-part > .wp-block-group.has-background {
	background-color: rgba(251, 247, 239, 0.92) !important;
	padding: 0 24px !important;
}

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

header.wp-block-template-part .wp-block-site-logo img.custom-logo {
	height: 52px !important;
	width: 52px !important;
}

header.wp-block-template-part .wp-block-site-title,
header.wp-block-template-part .wp-block-site-title a {
	color: var(--cl-forest) !important;
	font-family: var(--cl-font-display) !important;
	font-size: 0 !important;
	font-style: italic !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
}

header.wp-block-template-part .wp-block-site-title a::before,
header.wp-block-template-part .wp-block-site-title a::after {
	font-family: var(--cl-font-display);
	font-size: 2rem;
	font-style: italic;
	font-weight: 500;
}

header.wp-block-template-part .wp-block-site-title a::before {
	color: var(--cl-forest);
	content: "Crave ";
}

header.wp-block-template-part .wp-block-site-title a::after {
	color: var(--cl-clay);
	content: "Locally";
}

header.wp-block-template-part .wp-block-navigation a {
	color: var(--cl-forest) !important;
	font-family: var(--cl-font-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
}

@media (max-width: 782px) {
	.cl-site-header .wp-block-group {
		min-height: 76px;
	}

	.wp-block-site-logo img {
		height: 44px;
	}

	.wp-block-site-title a::before,
	.wp-block-site-title a::after {
		font-size: 1.65rem;
	}

	.wp-block-navigation {
		gap: 18px;
	}
}

.wp-block-button__link,
.button,
button,
input[type="submit"],
.sc-button,
sc-button::part(base) {
	background: var(--cl-forest);
	border: 1px solid var(--cl-forest);
	border-radius: var(--cl-radius-pill);
	color: var(--cl-cream);
	cursor: pointer;
	font-family: var(--cl-font-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.15em;
	padding: 12px 24px;
	text-transform: uppercase;
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.sc-button:hover,
sc-button::part(base):hover {
	background: var(--cl-clay);
	border-color: var(--cl-clay);
	color: var(--cl-cream);
}

.cl-button-outline {
	background: transparent;
	border: 1px solid var(--cl-forest);
	color: var(--cl-forest);
}

.cl-button-outline:hover {
	background: var(--cl-forest);
	color: var(--cl-cream);
}

.wp-block-post,
.wp-block-latest-posts__list li,
article.post,
.sc-card,
sc-card::part(base),
.surecart-checkout,
.surecart-cart,
.surecart {
	background: #fff;
	border: 1px solid var(--cl-border);
	border-radius: var(--cl-radius);
}

.wp-block-post,
.wp-block-latest-posts__list li,
article.post {
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-post:hover,
article.post:hover {
	box-shadow: 0 12px 32px -12px rgba(31, 42, 36, 0.15);
	transform: translateY(-2px);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select,
.sc-input,
sc-input::part(input),
sc-select::part(control),
sc-textarea::part(textarea) {
	background: #fff;
	border: 1px solid var(--cl-border);
	border-radius: var(--cl-radius);
	color: var(--cl-forest);
	font-family: var(--cl-font-sans);
	font-size: 15px;
	padding: 12px 14px;
}

input:focus,
textarea:focus,
select:focus,
sc-input::part(input):focus,
sc-select::part(control):focus,
sc-textarea::part(textarea):focus {
	border-color: var(--cl-clay);
	box-shadow: 0 0 0 3px rgba(180, 121, 79, 0.15);
	outline: none;
}

.site-footer {
	background: var(--cl-forest);
	color: var(--cl-cream);
	padding: 64px 0 32px;
}

.site-footer a {
	color: var(--cl-cream);
	opacity: 0.75;
}

.site-footer a:hover {
	color: var(--cl-gold);
	opacity: 1;
}
