/*
Theme URI: https://mcdoutdoor.com
Theme Name: MCD Outdoor
Author: MCD Outdoor
Author URI: https://mcdoutdoor.com
Description: Custom WordPress block theme for the MCD Outdoor digital ecosystem.
Requires at least: 7.0
Requires PHP: 8.3
Version: 0.1.0
License: Proprietary
Text Domain: mcd-outdoor
Tags: full-site-editing, block-patterns, accessibility-ready
*/

/* ==========================================================================
   MCD Outdoor — Global Theme Styles
   ========================================================================== */

/* --------------------------------------------------------------------------
   Root and document
   -------------------------------------------------------------------------- */

:root {
	--mcd-page-padding: 1rem;
	--mcd-content-width: 760px;
	--mcd-wide-width: 1440px;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	margin: 0;
	overflow-x: hidden;
}

.wp-site-blocks {
	min-height: 100vh;
	overflow-x: clip;
}

.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
	width: 100%;
}

/* --------------------------------------------------------------------------
   Accessibility
   -------------------------------------------------------------------------- */

:focus-visible {
	outline:
		var(--wp--custom--mcd--focus--width, 3px)
		solid
		var(--wp--preset--color--forest-700, #285a40);
	outline-offset: var(--wp--custom--mcd--focus--offset, 3px);
}

.skip-link {
	position: absolute;
	top: -1000px;
	left: 1rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background-color: #ffffff;
	color: #173326;
	font-weight: 600;
	text-decoration: none;
}

.skip-link:focus {
	top: 1rem;
}

:where(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	[id]
) {
	scroll-margin-top: calc(
		var(--wp--custom--mcd--header--height, 72px) + 2rem
	);
}

/* --------------------------------------------------------------------------
   Links
   -------------------------------------------------------------------------- */

a {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

a:hover {
	text-decoration-thickness: 0.12em;
}

/* --------------------------------------------------------------------------
   Media
   -------------------------------------------------------------------------- */

img,
picture,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   Header and primary navigation
   -------------------------------------------------------------------------- */

.mcd-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	border-bottom: 1px solid #d7e0da;
	background-color: rgba(255, 255, 255, 0.98);
	color: #173326;
	box-shadow: 0 1px 0 rgba(23, 51, 38, 0.04);
}

.admin-bar .mcd-site-header {
	top: 32px;
}

.mcd-site-header__inner {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding, 1rem))),
		var(--mcd-wide-width, 1440px)
	);
	min-height: var(--wp--custom--mcd--header--height, 72px);
	margin-inline: auto;
	gap: 1.5rem;
}

.mcd-site-header__brand {
	flex: 0 0 auto;
	margin: 0;
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.mcd-site-header__brand a {
	color: #173326;
	text-decoration: none;
}

.mcd-site-header__brand a:hover {
	color: #285a40;
}

/* Desktop navigation */

.mcd-site-header .wp-block-navigation {
	margin-inline-start: auto;
}

.mcd-site-header .wp-block-navigation .wp-block-navigation__container {
	gap: clamp(1rem, 2vw, 2rem);
}

.mcd-site-header .wp-block-navigation .wp-block-navigation-item {
	margin: 0;
	padding: 0;
}

.mcd-site-header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.5rem 0;
	color: #173326;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition:
		color var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

.mcd-site-header .wp-block-navigation .wp-block-navigation-item__content::after {
	position: absolute;
	right: 0;
	bottom: 0.25rem;
	left: 0;
	height: 2px;
	background-color: #285a40;
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition:
		transform var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

.mcd-site-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.mcd-site-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	color: #285a40;
}

.mcd-site-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.mcd-site-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible::after,
.mcd-site-header .wp-block-navigation
	.current-menu-item
	> .wp-block-navigation-item__content::after,
.mcd-site-header .wp-block-navigation
	.current-menu-ancestor
	> .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

.mcd-site-header .wp-block-navigation
	.current-menu-item
	> .wp-block-navigation-item__content,
.mcd-site-header .wp-block-navigation
	.current-menu-ancestor
	> .wp-block-navigation-item__content,
.mcd-site-header .wp-block-navigation
	.wp-block-navigation-item__content[aria-current="page"] {
	color: #285a40;
}

/* Reliable desktop interaction indicator for top-level navigation */
@media (min-width: 783px) {
	.mcd-site-header .wp-block-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content {
		text-decoration-line: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.5rem;
		transition:
			color var(--wp--custom--mcd--motion--normal, 200ms) ease,
			text-decoration-color var(--wp--custom--mcd--motion--normal, 200ms) ease;
	}

	.mcd-site-header .wp-block-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:hover
		> .wp-block-navigation-item__content,
	.mcd-site-header .wp-block-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item:focus-within
		> .wp-block-navigation-item__content,
	.mcd-site-header .wp-block-navigation
		.wp-block-navigation__container
		> .current-menu-item
		> .wp-block-navigation-item__content,
	.mcd-site-header .wp-block-navigation
		.wp-block-navigation__container
		> .current-menu-ancestor
		> .wp-block-navigation-item__content,
	.mcd-site-header .wp-block-navigation
		.wp-block-navigation__container
		> .wp-block-navigation-item
		> .wp-block-navigation-item__content[aria-current="page"] {
		color: #285a40;
		text-decoration-color: #285a40;
	}
}

/* Desktop submenu */

.mcd-site-header .wp-block-navigation .wp-block-navigation-submenu {
	position: relative;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation-submenu
	.wp-block-navigation__submenu-icon {
	width: 1rem;
	height: 1rem;
	margin-inline-start: 0.375rem;
	color: currentColor;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation-submenu
	.wp-block-navigation__submenu-container {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	min-width: 220px;
	padding: 0.5rem;
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--medium,
		0 8px 24px rgba(23, 51, 38, 0.12)
	);
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item {
	width: 100%;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
	width: 100%;
	min-height: 44px;
	padding: 0.75rem;
	border-radius: var(--wp--preset--border-radius--small, 0.25rem);
	font-size: 0.9375rem;
	white-space: nowrap;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content::after {
	display: none;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:hover,
.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:focus-visible {
	background-color: #edf1ee;
	color: #173326;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.current-menu-item
	> .wp-block-navigation-item__content,
.mcd-site-header .wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content[aria-current="page"] {
	background-color: #dfe8e2;
	color: #173326;
	font-weight: 700;
}

/* Mobile menu buttons */

.mcd-site-header .wp-block-navigation .wp-block-navigation__responsive-container-open,
.mcd-site-header .wp-block-navigation .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
	background-color: transparent;
	color: #173326;
	cursor: pointer;
}

.mcd-site-header .wp-block-navigation .wp-block-navigation__responsive-container-open:hover,
.mcd-site-header .wp-block-navigation .wp-block-navigation__responsive-container-close:hover {
	background-color: #edf1ee;
	color: #285a40;
}

/* Mobile overlay */

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: 0;
	z-index: 9999;
	width: 100vw;
	height: 100dvh;
	padding:
		clamp(1rem, 4vw, 2rem)
		var(--mcd-page-padding, 1rem);
	overflow-y: auto;
	background-color: #ffffff;
	color: #173326;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
	padding-block-start: 4rem;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
	width: 100%;
	align-items: stretch;
	gap: 0;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid #d7e0da;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
	width: 100%;
	min-height: 52px;
	padding: 0.875rem 0;
	font-size: 1.125rem;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content::after {
	display: none;
}

/* Mobile submenu */

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu {
	display: block;
	width: 100%;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-icon {
	width: 44px;
	height: 44px;
	margin-inline-start: auto;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container {
	position: static;
	width: 100%;
	min-width: 0;
	padding: 0 0 0.5rem 1rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item {
	border-bottom: 0;
}

.mcd-site-header .wp-block-navigation
	.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
	min-height: 44px;
	padding: 0.625rem 0;
	font-size: 1rem;
	font-weight: 500;
}

/* --------------------------------------------------------------------------
   Main layout
   -------------------------------------------------------------------------- */

main.wp-block-group:not(.mcd-homepage) {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding))),
		var(--mcd-wide-width)
	);
	margin-inline: auto;
	padding-block: clamp(2rem, 5vw, 4rem);
}

main.wp-block-group > :where(
	p,
	ul,
	ol,
	blockquote,
	.wp-block-heading,
	.wp-block-query
) {
	max-width: var(--mcd-content-width);
}

/* --------------------------------------------------------------------------
   Typography hierarchy
   -------------------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block-start: 0;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

h1 {
	font-size: clamp(2.25rem, 1.5rem + 3vw, 4.5rem);
}

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

h3 {
	font-size: clamp(1.4rem, 1.15rem + 0.9vw, 2rem);
}

h4 {
	font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.5rem);
}

h5 {
	font-size: 1.125rem;
}

h6 {
	font-size: 1rem;
	letter-spacing: 0.02em;
}

p,
li {
	text-wrap: pretty;
}

/* --------------------------------------------------------------------------
   Editorial content
   -------------------------------------------------------------------------- */

/* Content links */

main a:not(.wp-element-button):not(.wp-block-button__link) {
	color: #285a40;
	font-weight: 500;
	text-decoration-line: underline;
	text-decoration-color: rgba(40, 90, 64, 0.45);
	text-underline-offset: 0.2em;
	transition:
		color var(--wp--custom--mcd--motion--normal, 200ms) ease,
		text-decoration-color var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

main a:not(.wp-element-button):not(.wp-block-button__link):hover {
	color: #173326;
	text-decoration-color: currentColor;
}

/* Lists */

main ul,
main ol {
	padding-inline-start: 1.5rem;
}

main li {
	padding-inline-start: 0.25rem;
}

main li + li {
	margin-block-start: 0.5rem;
}

main li::marker {
	color: #285a40;
	font-weight: 600;
}

/* Blockquote */

.wp-block-quote {
	margin-inline: 0;
	padding: 1.5rem;
	border-inline-start: 4px solid #4e7a5f;
	border-radius:
		0
		var(--wp--preset--border-radius--medium, 0.5rem)
		var(--wp--preset--border-radius--medium, 0.5rem)
		0;
	background-color: #f3f6f4;
	color: #173326;
}

.wp-block-quote p {
	margin-block-start: 0;
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-size: clamp(1.125rem, 1rem + 0.4vw, 1.375rem);
	font-weight: 500;
	line-height: 1.6;
}

.wp-block-quote cite {
	display: block;
	margin-block-start: 1rem;
	color: #526158;
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
}

/* Pullquote */

.wp-block-pullquote {
	padding-block: clamp(2rem, 5vw, 4rem);
	border-block: 1px solid #aebdb3;
}

.wp-block-pullquote blockquote {
	margin: 0;
}

.wp-block-pullquote p {
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.25rem);
	font-weight: 600;
	line-height: 1.35;
}

/* Tables */

.wp-block-table {
	overflow-x: auto;
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	background-color: #ffffff;
}

.wp-block-table th,
.wp-block-table td {
	padding: 0.875rem 1rem;
	border: 1px solid #d7e0da;
	text-align: start;
	vertical-align: top;
}

.wp-block-table th {
	background-color: #edf1ee;
	color: #173326;
	font-weight: 700;
}

.wp-block-table tbody tr:nth-child(even) {
	background-color: #f8faf8;
}

.wp-block-table figcaption {
	margin-block-start: 0.75rem;
	color: #526158;
	font-size: 0.875rem;
	text-align: start;
}

/* Images and captions */

.wp-block-image img {
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
}

.wp-block-image figcaption,
.wp-block-gallery figcaption,
.wp-element-caption {
	margin-block-start: 0.625rem;
	color: #526158;
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: start;
}

/* Separator */

.wp-block-separator {
	width: 100%;
	height: 1px;
	margin-block: clamp(2rem, 5vw, 4rem);
	border: 0;
	background-color: #d7e0da;
	opacity: 1;
}

.wp-block-separator.is-style-wide {
	width: 100%;
}

.wp-block-separator.is-style-dots {
	height: auto;
	background: none;
	color: #4e7a5f;
}

/* Code */

.wp-block-code,
pre {
	overflow-x: auto;
	padding: 1rem;
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
	background-color: #f3f6f4;
	color: #173326;
	font-family: Consolas, Monaco, "Courier New", monospace;
	font-size: 0.9375rem;
	line-height: 1.6;
}

code {
	font-family: Consolas, Monaco, "Courier New", monospace;
}

:not(pre) > code {
	padding: 0.15em 0.35em;
	border-radius: 0.25rem;
	background-color: #edf1ee;
	color: #173326;
	font-size: 0.9em;
}

/* --------------------------------------------------------------------------
   Single post and archive templates
   -------------------------------------------------------------------------- */

.mcd-single,
.mcd-archive {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.mcd-single__header {
	margin-block-end: 2rem;
}

.mcd-single__header .wp-block-post-title,
.mcd-archive > .wp-block-query-title {
	max-width: 960px;
}

.mcd-post-meta {
	gap: 0.5rem;
	margin-block-start: 1rem;
	color: #526158;
	font-size: 0.9375rem;
}

.mcd-post-meta p {
	margin: 0;
}

.mcd-post-categories {
	margin-block-end: 0.75rem;
	color: #285a40;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mcd-post-categories a,
.mcd-post-tags a {
	color: inherit;
}

.mcd-single__featured-image {
	margin-block: 0 2.5rem;
}

.mcd-single__featured-image img {
	border-radius: var(--wp--preset--border-radius--large, 1rem);
}

.mcd-post-tags {
	color: #526158;
	font-size: 0.9375rem;
}

.mcd-post-navigation {
	gap: 1.5rem;
	margin-block-start: 2rem;
}

.mcd-post-navigation a {
	font-weight: 600;
}

/* Archive cards */

.mcd-archive-query {
	margin-block-start: 2.5rem;
}

.mcd-archive-query .wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin: 0;
	padding: 0;
}

.mcd-archive-card {
	height: 100%;
	padding: 1.25rem;
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--small,
		0 1px 2px rgba(23, 51, 38, 0.08)
	);
	transition:
		transform var(--wp--custom--mcd--motion--normal, 200ms) ease,
		box-shadow var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

.mcd-archive-card:hover {
	transform: translateY(-2px);
	box-shadow: var(
		--wp--preset--shadow--medium,
		0 8px 24px rgba(23, 51, 38, 0.12)
	);
}

.mcd-archive-card .wp-block-post-featured-image {
	margin-block: 0 1.25rem;
}

.mcd-archive-card .wp-block-post-featured-image img {
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
}

.mcd-archive-card .wp-block-post-title {
	margin-block: 0.5rem;
	font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
}

.mcd-archive-card .wp-block-post-date {
	color: #526158;
	font-size: 0.875rem;
}

.mcd-archive-card .wp-block-post-excerpt {
	margin-block-end: 0;
}

.mcd-archive-card .wp-block-post-excerpt__more-link {
	font-weight: 700;
}

.mcd-archive-query .wp-block-query-pagination {
	gap: 1rem;
	margin-block-start: 3rem;
}

/* --------------------------------------------------------------------------
   Search and error templates
   -------------------------------------------------------------------------- */

.mcd-error-page,
.mcd-search-results {
	padding-block: clamp(3rem, 8vw, 7rem);
}

.mcd-error-page {
	display: flex;
	align-items: center;
	min-height: calc(
		100vh - var(--wp--custom--mcd--header--height, 72px)
	);
}

.mcd-error-page__content {
	width: min(100%, 760px);
	text-align: center;
}

.mcd-error-page__content > * {
	margin-inline: auto;
}

.mcd-error-page__code {
	margin-block: 0;
	color: #4e7a5f;
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-size: clamp(5rem, 3rem + 10vw, 10rem);
	font-weight: 700;
	line-height: 0.9;
}

.mcd-error-page h1 {
	margin-block: 1.5rem 1rem;
}

.mcd-error-page .wp-block-search {
	max-width: 640px;
	margin-block: 2rem;
}

.mcd-error-page .wp-block-buttons,
.mcd-no-results .wp-block-buttons {
	justify-content: center;
}

/* Search form */

.mcd-search-form {
	max-width: 760px;
	margin-block: 2rem 3rem;
}

.wp-block-search__inside-wrapper {
	min-height: 48px;
	padding: 0;
	overflow: hidden;
	border: 1px solid #aebdb3;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
	background-color: #ffffff;
}

.wp-block-search__input {
	min-width: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.wp-block-search__input:focus {
	border: 0;
	box-shadow: inset 0 0 0 2px #285a40;
}

.wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background-color: #285a40;
	color: #ffffff;
	cursor: pointer;
}

.wp-block-search__button:hover {
	background-color: #173326;
	color: #ffffff;
}

/* Search results */

.mcd-search-query {
	margin-block-start: 2rem;
}

.mcd-search-query .wp-block-post-template {
	margin: 0;
	padding: 0;
}

.mcd-search-result {
	padding-block: 1.75rem;
	border-bottom: 1px solid #d7e0da;
}

.mcd-search-result:first-child {
	border-top: 1px solid #d7e0da;
}

.mcd-search-result .wp-block-post-type {
	margin-block-end: 0.5rem;
	color: #4e7a5f;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mcd-search-result .wp-block-post-title {
	margin-block: 0.25rem 0.75rem;
	font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.875rem);
}

.mcd-search-result .wp-block-post-date {
	color: #526158;
	font-size: 0.875rem;
}

.mcd-search-result .wp-block-post-excerpt {
	margin-block-end: 0;
}

.mcd-search-query .wp-block-query-pagination {
	gap: 1rem;
	margin-block-start: 3rem;
}

.mcd-no-results {
	max-width: 760px;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #f3f6f4;
	text-align: center;
}

/* --------------------------------------------------------------------------
   Homepage and blog templates
   -------------------------------------------------------------------------- */

.mcd-homepage {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Hero */

.mcd-home-hero {
	padding-block: clamp(4rem, 10vw, 8rem);
	background:
		linear-gradient(
			135deg,
			rgba(23, 51, 38, 0.98),
			rgba(40, 90, 64, 0.92)
		);
	color: #ffffff;
}

.mcd-home-hero__inner {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding, 1rem))),
		var(--mcd-wide-width, 1440px)
	);
	margin-inline: auto;
}

.mcd-home-hero__inner > * {
	max-width: 900px;
}

.mcd-home-hero__eyebrow,
.mcd-blog-page__eyebrow {
	margin-block: 0 1rem;
	color: #a9c7b2;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mcd-home-hero__title {
	margin-block: 0;
	color: #ffffff;
}

.mcd-home-hero__description {
	max-width: 720px;
	margin-block: 1.5rem 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(1.125rem, 1rem + 0.45vw, 1.375rem);
	line-height: 1.7;
}

.mcd-home-hero__actions {
	gap: 1rem;
	margin-block-start: 2rem;
}

.mcd-home-hero .is-style-outline .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, 0.75);
	background-color: transparent;
	color: #ffffff;
}

.mcd-home-hero .is-style-outline .wp-block-button__link:hover {
	border-color: #ffffff;
	background-color: #ffffff;
	color: #173326;
}

/* Homepage intro */

.mcd-home-intro {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding, 1rem))),
		var(--mcd-wide-width, 1440px)
	);
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.mcd-home-intro > * {
	max-width: 900px;
	margin-inline: auto;
}

/* Homepage category section */

.mcd-home-sections {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding, 1rem))),
		var(--mcd-wide-width, 1440px)
	);
	margin-inline: auto;
	padding-block: 0 clamp(3rem, 6vw, 5rem);
}

.mcd-home-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	margin: 0;
}

.mcd-home-cards > .wp-block-column {
	min-width: 0;
	margin: 0;
}

.mcd-home-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--small,
		0 1px 2px rgba(23, 51, 38, 0.08)
	);
}

.mcd-home-card h3 {
	margin-block: 0 1rem;
	font-size: clamp(1.5rem, 1.3rem + 0.7vw, 2rem);
	line-height: 1.2;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.mcd-home-card p {
	max-width: none;
}

.mcd-home-card p:last-child {
	margin-block-start: auto;
	margin-block-end: 0;
	padding-block-start: 1rem;
}

/* Latest articles */

.mcd-home-latest {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding, 1rem))),
		var(--mcd-wide-width, 1440px)
	);
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.mcd-section-heading {
	gap: 1rem;
	margin-block-end: 2rem;
}

.mcd-section-heading h2,
.mcd-section-heading p {
	margin: 0;
}

/* Homepage and blog cards */

.mcd-home-query .wp-block-post-template,
.mcd-blog-query .wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin: 0;
	padding: 0;
}

.mcd-home-post-card,
.mcd-blog-card {
	height: 100%;
	padding: 1.25rem;
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--small,
		0 1px 2px rgba(23, 51, 38, 0.08)
	);
	transition:
		transform var(--wp--custom--mcd--motion--normal, 200ms) ease,
		box-shadow var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

.mcd-home-post-card:hover,
.mcd-blog-card:hover {
	transform: translateY(-2px);
	box-shadow: var(
		--wp--preset--shadow--medium,
		0 8px 24px rgba(23, 51, 38, 0.12)
	);
}

.mcd-home-post-card .wp-block-post-featured-image,
.mcd-blog-card .wp-block-post-featured-image {
	margin-block: 0 1.25rem;
}

.mcd-home-post-card .wp-block-post-featured-image img,
.mcd-blog-card .wp-block-post-featured-image img {
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
}

.mcd-home-post-card .wp-block-post-title,
.mcd-blog-card .wp-block-post-title {
	margin-block: 0.5rem;
	font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.mcd-home-post-card .wp-block-post-date,
.mcd-blog-card .wp-block-post-date {
	color: #526158;
	font-size: 0.875rem;
}

.mcd-home-post-card .wp-block-post-excerpt,
.mcd-blog-card .wp-block-post-excerpt {
	margin-block-end: 0;
}

/* Blog page */

.mcd-blog-page {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.mcd-blog-page__header {
	margin-block-end: 3rem;
}

.mcd-blog-page__header > * {
	max-width: 860px;
}

.mcd-blog-query .wp-block-query-pagination {
	gap: 1rem;
	margin-block-start: 3rem;
}

/* --------------------------------------------------------------------------
   Standard and wide page templates
   -------------------------------------------------------------------------- */

.mcd-page {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.mcd-page__header {
	width: min(100%, 960px);
	margin-inline: auto;
	margin-block-end: clamp(2rem, 5vw, 3.5rem);
}

.mcd-page__header .wp-block-post-title {
	margin-block: 0;
}

.mcd-page__featured-image {
	width: min(100%, 1200px);
	margin-inline: auto;
	margin-block: 0 clamp(2.5rem, 6vw, 4rem);
}

.mcd-page__featured-image img {
	width: 100%;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	object-fit: cover;
}

.mcd-page__content {
	width: min(100%, var(--mcd-content-width, 760px));
	margin-inline: auto;
}

.mcd-page__content > .wp-block-post-content {
	width: 100%;
}

/* Wide page */

.mcd-page--wide .mcd-page__header {
	width: min(100%, 1100px);
}

.mcd-page__featured-image--wide {
	width: min(100%, var(--mcd-wide-width, 1440px));
}

.mcd-page__content--wide {
	width: 100%;
	max-width: var(--mcd-wide-width, 1440px);
}

.mcd-page__content--wide
	.wp-block-post-content
	> :where(
		p,
		ul,
		ol,
		blockquote,
		h1,
		h2,
		h3,
		h4,
		h5,
		h6
	) {
	max-width: var(--mcd-content-width, 760px);
	margin-inline: auto;
}

.mcd-page__content--wide
	.wp-block-post-content
	> :where(
		.wp-block-columns,
		.wp-block-group.alignwide,
		.wp-block-gallery,
		.wp-block-cover
	) {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}

.mcd-page__content--wide
	.wp-block-post-content
	> .alignfull {
	width: 100vw;
	max-width: none;
	margin-inline:
		calc(50% - 50vw);
}

/* Page content spacing */

.mcd-page__content .wp-block-post-content > * {
	margin-block-start: 0;
	margin-block-end: 1.5rem;
}

.mcd-page__content .wp-block-post-content > * + h2 {
	margin-block-start: clamp(3rem, 6vw, 5rem);
}

.mcd-page__content .wp-block-post-content > * + h3 {
	margin-block-start: clamp(2rem, 4vw, 3rem);
}

.mcd-page__content .wp-block-post-content > *:last-child {
	margin-block-end: 0;
}


/* --------------------------------------------------------------------------
   About page
   -------------------------------------------------------------------------- */

.mcd-about {
	width: 100%;
}

.mcd-about__intro {
	max-width: 900px;
	margin-inline: auto;
	padding-block-end: clamp(3rem, 7vw, 6rem);
	text-align: center;
}

.mcd-eyebrow {
	margin-block: 0 1rem;
	color: #4e7a5f;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mcd-about__intro h2 {
	margin-block-end: 1.5rem;
}

.mcd-about__story {
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-about__statement {
	padding: clamp(1.75rem, 4vw, 3rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #173326;
	color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--medium,
		0 8px 24px rgba(23, 51, 38, 0.12)
	);
}

.mcd-about__statement h3,
.mcd-about__statement p {
	color: #ffffff;
}

.mcd-about__statement-label {
	margin-block: 0 1rem;
	color: #a9c7b2 !important;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mcd-about__values {
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-about__values > .mcd-section-heading {
	max-width: 840px;
	margin-inline: auto;
	margin-block-end: 2.5rem;
	text-align: center;
}

.mcd-value-grid {
	gap: 1.5rem;
	margin-block: 0 1.5rem;
}

.mcd-value-card {
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
}

.mcd-value-card h3 {
	margin-block: 0 0.75rem;
	font-size: 1.375rem;
}

.mcd-value-card p:last-child {
	margin-block-end: 0;
}

.mcd-about__cta {
	padding: clamp(2rem, 6vw, 4rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #f3f6f4;
	text-align: center;
}

.mcd-about__cta > * {
	max-width: 820px;
	margin-inline: auto;
}

.mcd-about__cta-actions {
	justify-content: center;
	gap: 1rem;
	margin-block-start: 2rem;
}

.mcd-about__cta .is-style-outline .wp-block-button__link {
	border: 1px solid #285a40;
	background-color: transparent;
	color: #285a40;
}

.mcd-about__cta .is-style-outline .wp-block-button__link:hover {
	background-color: #173326;
	color: #ffffff;
}

@media (max-width: 767px) {
	.mcd-about__cta-actions {
		align-items: stretch;
	}

	.mcd-about__cta-actions .wp-block-button,
	.mcd-about__cta-actions .wp-block-button__link {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Contact page
   -------------------------------------------------------------------------- */

.mcd-contact {
	width: 100%;
}

.mcd-contact__intro {
	max-width: 900px;
	margin-inline: auto;
	padding-block-end: clamp(3rem, 7vw, 5rem);
	text-align: center;
}

.mcd-contact__intro h2 {
	margin-block-end: 1.5rem;
}

.mcd-contact__layout {
	gap: clamp(2rem, 6vw, 5rem);
	align-items: flex-start;
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-contact__details h2,
.mcd-contact__form-card h2 {
	margin-block-end: 1.5rem;
}

.mcd-contact__note {
	margin-block-start: 2rem;
	padding: 1.5rem;
	border-inline-start: 4px solid #4e7a5f;
	border-radius:
		0
		var(--wp--preset--border-radius--medium, 0.5rem)
		var(--wp--preset--border-radius--medium, 0.5rem)
		0;
	background-color: #f3f6f4;
}

.mcd-contact__note h3 {
	margin-block: 0 0.75rem;
	font-size: 1.25rem;
}

.mcd-contact__note p:last-child {
	margin-block-end: 0;
}

.mcd-contact__form-card {
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--medium,
		0 8px 24px rgba(23, 51, 38, 0.12)
	);
}

.mcd-contact-form {
	width: 100%;
}

.mcd-contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.25rem;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.mcd-contact-form__consent input {
	flex: 0 0 auto;
	margin-block-start: 0.2rem;
}

.mcd-contact-form__consent span {
	line-height: 1.5;
}

.mcd-contact__alternative {
	padding: clamp(2rem, 6vw, 4rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #173326;
	color: #ffffff;
	text-align: center;
}

.mcd-contact__alternative > * {
	max-width: 820px;
	margin-inline: auto;
}

.mcd-contact__alternative h2,
.mcd-contact__alternative p {
	color: #ffffff;
}

.mcd-contact__alternative .wp-block-buttons {
	justify-content: center;
	margin-block-start: 2rem;
}

@media (max-width: 767px) {
	.mcd-contact__form-card {
		padding: 1.25rem;
	}

	.mcd-contact-form .wp-element-button {
		width: 100%;
	}

	.mcd-contact__alternative .wp-block-button,
	.mcd-contact__alternative .wp-block-button__link {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Guides page
   -------------------------------------------------------------------------- */

.mcd-guides {
	width: 100%;
}

.mcd-guides__intro {
	max-width: 940px;
	margin-inline: auto;
	padding-block-end: clamp(3rem, 7vw, 5rem);
	text-align: center;
}

.mcd-guides__intro h2 {
	margin-block-end: 1.5rem;
}

.mcd-guides__categories {
	gap: 1.5rem;
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-guides__categories > .wp-block-column {
	min-width: 0;
}

.mcd-guide-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--small,
		0 1px 2px rgba(23, 51, 38, 0.08)
	);
	transition:
		transform var(--wp--custom--mcd--motion--normal, 200ms) ease,
		box-shadow var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

.mcd-guide-card:hover {
	transform: translateY(-3px);
	box-shadow: var(
		--wp--preset--shadow--medium,
		0 8px 24px rgba(23, 51, 38, 0.12)
	);
}

.mcd-guide-card__number {
	margin-block: 0 1.25rem;
	color: #4e7a5f;
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.mcd-guide-card h3 {
	margin-block: 0 1rem;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.mcd-guide-card ul {
	margin-block-end: 1.5rem;
}

.mcd-guide-card__link {
	margin-block-start: auto;
	margin-block-end: 0;
	padding-block-start: 1rem;
	font-weight: 700;
}

.mcd-guides__process {
	margin-block-end: clamp(4rem, 9vw, 7rem);
	padding: clamp(2rem, 6vw, 4rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #f3f6f4;
}

.mcd-guides__process > .mcd-section-heading {
	max-width: 900px;
	margin-inline: auto;
	margin-block-end: 2.5rem;
	text-align: center;
}

.mcd-guides__steps {
	gap: 1.5rem;
}

.mcd-guide-step {
	height: 100%;
	padding: 1.5rem;
	border-top: 3px solid #4e7a5f;
	background-color: #ffffff;
}

.mcd-guide-step__label {
	margin-block: 0 0.75rem;
	color: #4e7a5f;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mcd-guide-step h3 {
	margin-block: 0 0.75rem;
	font-size: 1.375rem;
}

.mcd-guide-step p:last-child {
	margin-block-end: 0;
}

.mcd-guides__latest {
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-guides-query .wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin: 0;
	padding: 0;
}

.mcd-guide-post-card {
	height: 100%;
	padding: 1.25rem;
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
	box-shadow: var(
		--wp--preset--shadow--small,
		0 1px 2px rgba(23, 51, 38, 0.08)
	);
}

.mcd-guide-post-card .wp-block-post-featured-image {
	margin-block: 0 1.25rem;
}

.mcd-guide-post-card .wp-block-post-featured-image img {
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
}

.mcd-guide-post-card .wp-block-post-title {
	margin-block: 0.5rem;
	font-size: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
}

.mcd-guide-post-card .wp-block-post-date {
	color: #526158;
	font-size: 0.875rem;
}

.mcd-guides__cta {
	padding: clamp(2rem, 6vw, 4rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #173326;
	color: #ffffff;
	text-align: center;
}

.mcd-guides__cta > * {
	max-width: 820px;
	margin-inline: auto;
}

.mcd-guides__cta h2,
.mcd-guides__cta p {
	color: #ffffff;
}

.mcd-guides__cta .wp-block-buttons {
	justify-content: center;
	margin-block-start: 2rem;
}

@media (min-width: 700px) {
	.mcd-guides-query .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.mcd-guides-query .wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.mcd-guides__cta .wp-block-button,
	.mcd-guides__cta .wp-block-button__link {
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Guide hub pages
   -------------------------------------------------------------------------- */

.mcd-guide-hub {
	width: 100%;
}

.mcd-guide-hub__intro {
	max-width: 940px;
	margin-inline: auto;
	padding-block-end: clamp(3rem, 7vw, 5rem);
	text-align: center;
}

.mcd-guide-hub__intro h2 {
	margin-block-end: 1.5rem;
}

.mcd-guide-hub__overview {
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-guide-hub__checklist {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #173326;
	color: #ffffff;
}

.mcd-guide-hub__checklist,
.mcd-guide-hub__checklist li {
	color: #ffffff;
}

.mcd-guide-hub__checklist li::marker {
	color: #a9c7b2;
}

.mcd-guide-hub__checklist-label {
	margin-block: 0 1rem;
	color: #a9c7b2;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mcd-guide-hub__topics,
.mcd-guide-hub__articles {
	margin-block-end: clamp(4rem, 9vw, 7rem);
}

.mcd-guide-hub__topics > .mcd-section-heading {
	max-width: 840px;
	margin-inline: auto;
	margin-block-end: 2.5rem;
	text-align: center;
}

.mcd-guide-topic-grid {
	gap: 1.5rem;
}

.mcd-guide-topic-card {
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #ffffff;
}

.mcd-guide-topic-card__number {
	margin-block: 0 1rem;
	color: #4e7a5f;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.mcd-guide-topic-card h3 {
	margin-block: 0 0.75rem;
}

.mcd-guide-topic-card p:last-child {
	margin-block-end: 0;
}

.mcd-guide-hub-query .wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin: 0;
	padding: 0;
}

.mcd-guide-hub__cta {
	padding: clamp(2rem, 6vw, 4rem);
	border-radius: var(--wp--preset--border-radius--large, 1rem);
	background-color: #f3f6f4;
	text-align: center;
}

.mcd-guide-hub__cta > * {
	max-width: 820px;
	margin-inline: auto;
}

.mcd-guide-hub__cta .wp-block-buttons {
	justify-content: center;
	margin-block-start: 2rem;
}

@media (min-width: 700px) {
	.mcd-guide-hub-query .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.mcd-guide-hub-query .wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.mcd-guide-hub__cta .wp-block-button,
	.mcd-guide-hub__cta .wp-block-button__link {
		width: 100%;
	}
}



/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.mcd-site-footer {
	width: 100%;
	padding-block: 2rem;
	background-color: #173326;
	color: #ffffff;
}

.mcd-site-footer > .wp-block-group {
	width: min(
		calc(100% - (2 * var(--mcd-page-padding))),
		var(--mcd-wide-width)
	);
	margin-inline: auto;
}

.mcd-site-footer,
.mcd-site-footer *,
.mcd-site-footer p,
.mcd-site-footer a,
.mcd-site-footer span,
.mcd-site-footer strong {
	color: #ffffff;
}

.mcd-site-footer a {
	text-decoration-color: currentColor;
}

.mcd-site-footer .wp-block-group {
	margin-block-start: 0;
}

.mcd-site-footer p {
	margin-block: 0.5rem;
}

.mcd-site-footer__title {
	margin-block: 0 0.75rem;
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.wp-element-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.75rem 1.25rem;
	border: 0;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
	background-color: #285a40;
	color: #ffffff;
	font-family: "Inter", system-ui, sans-serif;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--wp--custom--mcd--motion--normal, 200ms) ease,
		color var(--wp--custom--mcd--motion--normal, 200ms) ease,
		box-shadow var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background-color: #173326;
	color: #ffffff;
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid #4e7a5f;
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

label {
	display: inline-block;
	margin-block-end: 0.5rem;
	color: #173326;
	font-weight: 600;
	line-height: 1.4;
}

input,
select,
textarea,
button {
	font: inherit;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: 0.75rem 1rem;
	border: 1px solid #aebdb3;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
	background-color: #ffffff;
	color: #173326;
	line-height: 1.5;
	transition:
		border-color var(--wp--custom--mcd--motion--normal, 200ms) ease,
		box-shadow var(--wp--custom--mcd--motion--normal, 200ms) ease,
		background-color var(--wp--custom--mcd--motion--normal, 200ms) ease;
}

textarea {
	min-height: 8rem;
	resize: vertical;
}

select {
	padding-right: 2.75rem;
	cursor: pointer;
}

input::placeholder,
textarea::placeholder {
	color: #66756b;
	opacity: 1;
}

/* Hover */

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):hover,
select:hover,
textarea:hover {
	border-color: #4e7a5f;
}

/* Focus */

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
select:focus,
textarea:focus {
	border-color: #285a40;
	outline: none;
	box-shadow: 0 0 0 3px rgba(40, 90, 64, 0.18);
}

/* Checkbox and radio */

input[type="checkbox"],
input[type="radio"] {
	width: 1.125rem;
	height: 1.125rem;
	margin: 0 0.5rem 0 0;
	accent-color: #285a40;
	vertical-align: middle;
	cursor: pointer;
}

/* Disabled */

input:disabled,
select:disabled,
textarea:disabled,
button:disabled,
.wp-element-button:disabled,
.wp-block-button__link[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
}

input:disabled,
select:disabled,
textarea:disabled {
	background-color: #edf1ee;
	color: #66756b;
}

/* Validation */

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"],
.has-error input,
.has-error select,
.has-error textarea {
	border-color: #b42318;
}

input[aria-invalid="true"]:focus,
select[aria-invalid="true"]:focus,
textarea[aria-invalid="true"]:focus,
.has-error input:focus,
.has-error select:focus,
.has-error textarea:focus {
	box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.16);
}

.mcd-form-error {
	display: block;
	margin-block-start: 0.375rem;
	color: #b42318;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
}

.mcd-form-help {
	display: block;
	margin-block-start: 0.375rem;
	color: #526158;
	font-size: 0.875rem;
	line-height: 1.4;
}

/* Form spacing */

form p,
.mcd-form-field {
	margin-block: 0 1.25rem;
}

fieldset {
	margin: 0 0 1.5rem;
	padding: 1.25rem;
	border: 1px solid #d7e0da;
	border-radius: var(--wp--preset--border-radius--medium, 0.5rem);
}

legend {
	padding-inline: 0.5rem;
	color: #173326;
	font-family: "Poppins", "Inter", system-ui, sans-serif;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Responsive breakpoints
   -------------------------------------------------------------------------- */

@media (max-width: 782px) {
	.admin-bar .mcd-site-header {
		top: 46px;
	}
}

@media (max-width: 767px) {
	.mcd-site-header__inner {
		min-height: 64px;
	}

	.mcd-site-header__brand {
		max-width: calc(100vw - 100px);
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.mcd-home-hero__actions {
		align-items: stretch;
	}

	.mcd-home-hero__actions .wp-block-button {
		width: 100%;
	}

	.mcd-home-hero__actions .wp-block-button__link {
		width: 100%;
	}
}

@media (min-width: 480px) {
	:root {
		--mcd-page-padding: 1.25rem;
	}
}

@media (min-width: 700px) {
	.mcd-home-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mcd-home-query .wp-block-post-template,
	.mcd-blog-query .wp-block-post-template,
	.mcd-archive-query .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	:root {
		--mcd-page-padding: 2rem;
	}
}

@media (min-width: 1100px) {
	.mcd-home-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mcd-home-query .wp-block-post-template,
	.mcd-blog-query .wp-block-post-template,
	.mcd-archive-query .wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	:root {
		--mcd-page-padding: 3rem;
	}
}

@media (min-width: 1536px) {
	:root {
		--mcd-page-padding: 4rem;
	}
}

/* =========================================================
   MCD Outdoor — Editorial callouts
   ========================================================= */

.mcd-callout {
    margin-block: 2rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid #cbd5cf;
    border-left-width: 5px;
    border-radius: 8px;
    background: #f5f7f5;
}

.mcd-callout > :first-child {
    margin-top: 0;
}

.mcd-callout > :last-child {
    margin-bottom: 0;
}

.mcd-callout strong:first-child {
    display: inline-block;
    margin-bottom: 0.375rem;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
}

.mcd-callout-safety {
    border-left-color: #9a6700;
    background: #fff8e6;
}

.mcd-callout-beginner {
    border-left-color: #2563a6;
    background: #eff6ff;
}

.mcd-callout-decision {
    border-left-color: #3f6b52;
    background: #edf4ef;
}

.mcd-callout-regional {
    border-left-color: #6b5b95;
    background: #f5f1fa;
}

.mcd-callout-field {
    border-left-color: #64748b;
    background: #f4f6f8;
}

.mcd-callout-emergency {
    border-color: #b42318;
    border-left-color: #b42318;
    background: #fff1f0;
}

/* =========================================================
   MCD Outdoor — Editorial tables
   ========================================================= */

.mcd-article-table {
    margin-block: 2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.mcd-article-table table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d8dfda;
    font-size: 0.9375rem;
}

.mcd-article-table thead {
    background: #244c3a;
    color: #ffffff;
}

.mcd-article-table th {
    padding: 0.875rem 1rem;
    border: 1px solid #244c3a;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    text-align: left;
    vertical-align: top;
}

.mcd-article-table td {
    padding: 0.875rem 1rem;
    border: 1px solid #d8dfda;
    text-align: left;
    vertical-align: top;
}

.mcd-article-table tbody tr:nth-child(even) {
    background: #f6f8f6;
}

.mcd-article-table tbody tr:hover {
    background: #eef3ef;
}

@media (max-width: 600px) {
    .mcd-callout {
        padding: 1rem;
    }

    .mcd-article-table table {
        min-width: 640px;
        font-size: 0.875rem;
    }

    .mcd-article-table th,
    .mcd-article-table td {
        padding: 0.75rem;
    }
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
