/*
 * Nigel's Kitchen Table — final brand alignment layer.
 *
 * This file is loaded last so the website, archive, homepage and completed
 * recipe template all share one visual system. Keep the canonical decisions
 * documented in docs/brand-master.md.
 */

:root {
	--color-cream: #faf7f2;
	--color-white: #fdfcf9;
	--color-linen: #e7e1d8;
	--color-sage: #a7b397;
	--color-olive: #66785f;
	--color-olive-dark: #465443;
	--color-copper: #b87546;
	--color-charcoal: #2e2e2e;
	--color-muted: #596158;
	--color-border: #e7e1d8;
	--shadow: 0 22px 60px rgba(46, 46, 46, .09);
	--shadow-soft: 0 12px 36px rgba(46, 46, 46, .07);
}

body {
	background:
		radial-gradient(circle at 10% 0%, rgba(184, 117, 70, .045), transparent 30rem),
		linear-gradient(180deg, var(--color-white) 0%, var(--color-cream) 100%);
	color: var(--color-charcoal);
}

body,
button,
input,
select,
textarea,
.button,
.primary-menu,
.footer-menu {
	font-family: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.footer-logo,
.recipe-card__title,
.category-card__name {
	color: var(--color-charcoal);
	font-family: "Cormorant Garamond", Georgia, serif;
}

p,
li,
input,
select,
textarea {
	color: inherit;
}

a {
	text-decoration-color: rgba(184, 117, 70, .45);
	text-underline-offset: .18em;
}

a:hover,
a:focus-visible {
	color: var(--color-olive-dark);
	text-decoration-color: var(--color-copper);
}

.eyebrow,
.recipe-card__category,
.archive-card__category,
.nkt-recipe-hero__brandline,
.nkt-recipe-hero__categories,
.nkt-recipe-story-label {
	color: var(--color-copper);
	font-family: "Source Sans 3", system-ui, sans-serif;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.site-header {
	background: rgba(253, 252, 249, .94);
	border-bottom-color: rgba(231, 225, 216, .88);
	box-shadow: 0 8px 28px rgba(46, 46, 46, .035);
}

.primary-menu a {
	color: var(--color-charcoal);
}

.primary-menu a:hover,
.primary-menu a:focus-visible,
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
	color: var(--color-olive-dark);
}

.button,
button,
input[type="submit"] {
	border-radius: 5px;
	font-weight: 700;
	letter-spacing: .075em;
	text-transform: uppercase;
}

.button-primary,
.newsletter-button,
input[type="submit"] {
	background: var(--color-olive-dark);
	border-color: var(--color-olive-dark);
	color: var(--color-white);
}

.button-primary:hover,
.button-primary:focus-visible,
.newsletter-button:hover,
.newsletter-button:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible {
	background: var(--color-olive);
	border-color: var(--color-olive);
	color: #fff;
}

.button-secondary {
	background: rgba(253, 252, 249, .76);
	border-color: var(--color-olive);
	color: var(--color-olive-dark);
}

.button-secondary:hover,
.button-secondary:focus-visible {
	background: var(--color-white);
	border-color: var(--color-olive-dark);
	color: var(--color-olive-dark);
}

.text-link {
	color: var(--color-copper);
	font-weight: 700;
}

input:not([type="submit"]),
select,
textarea {
	background: var(--color-white);
	border-color: var(--color-linen);
	color: var(--color-charcoal);
}

input:not([type="submit"]):focus,
select:focus,
textarea:focus {
	border-color: var(--color-copper);
	box-shadow: 0 0 0 3px rgba(184, 117, 70, .14);
	outline: 0;
}

.recipe-card,
.category-card,
.newsletter-panel,
.recipe-sidebar__card {
	border-color: var(--color-linen);
	box-shadow: var(--shadow-soft);
}

.recipe-card,
.category-card {
	background: var(--color-white);
}

.recipe-card__title a,
.category-card__name {
	color: var(--color-charcoal);
}

.recipe-card__title a:hover,
.recipe-card__title a:focus-visible {
	color: var(--color-olive-dark);
}

.home-newsletter .newsletter-panel,
.site-footer,
.single-recipe .nkt-recipe-standards {
	background: var(--color-olive-dark);
}

.site-footer,
.site-footer h2,
.site-footer .footer-logo,
.site-footer a,
.site-footer p {
	color: var(--color-white);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: #f0d5bc;
}

.footer-domain {
	color: rgba(253, 252, 249, .66) !important;
}

.single-recipe {
	--recipe-panel: var(--color-white);
	--recipe-soft-sage: #edf0e9;
	--recipe-soft-copper: #f2e3d6;
	--recipe-ink-muted: var(--color-muted);
}

.single-recipe .nkt-recipe-hero {
	background:
		radial-gradient(circle at 9% 18%, rgba(184, 117, 70, .12), transparent 24rem),
		radial-gradient(circle at 94% 84%, rgba(167, 179, 151, .22), transparent 30rem),
		linear-gradient(145deg, var(--color-white) 0%, var(--color-cream) 64%, #f2ece4 100%);
}

.single-recipe .nkt-recipe-hero__media {
	background: var(--recipe-soft-sage);
	border-color: rgba(253, 252, 249, .88);
}

.single-recipe .nkt-recipe-hero__stamp,
.single-recipe .nkt-recipe-standards {
	background: var(--color-olive-dark);
}

.single-recipe .nkt-disclosure {
	background: var(--recipe-soft-copper);
	border-left-color: var(--color-copper);
}

.single-recipe .recipe-content > p:first-of-type,
.single-recipe .nkt-recipe-hero .recipe-intro,
.nkt-tip,
.wp-block-quote {
	font-family: "Instrument Serif", Georgia, serif;
}

:focus-visible {
	outline: 3px solid var(--color-copper);
	outline-offset: 4px;
}

::selection {
	background: rgba(184, 117, 70, .25);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
