﻿/*!
Theme Name: MijnDagPlan - Farm Daily Planner
Theme URI: https://mijndagplan.nl
Author: MijnDagPlan
Author URI: https://mijndagplan.nl
Description: Professional WordPress theme for farm daily planning software sales
Version: 1.0.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: dions-thema
Tags: custom-background, custom-logo, custom-menu, featured-images, one-column
This theme is designed for selling a professional farm daily planning application.
It features modern, clean design optimized for conversion and product presentation.
Based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# CSS Variables & Theming
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
# Layouts
	- Site structure
	- Spacing & Containers
# Components
	- Header & Navigation
	- Hero Block
	- Buttons
	- Forms
	- Feature Sections
	- CTA Sections
	- Footer
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# Utilities
	- Accessibility
	- Alignments
	- Responsive
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# CSS Variables & Theming
--------------------------------------------------------------*/
:root {
	/* Color Palette */
	--farm-primary: #1F6F54;      /* Forest Leaf */
	--farm-secondary: #2FBF71;    /* Meadow Green */
	--farm-accent: #145C7E;       /* River Blue */
	--farm-light: #BEE9E8;        /* Sky Mist */
	--farm-sun: #FFC857;          /* Honey Yellow */
	--farm-berry: #7B2CBF;        /* Berry Purple */
	--farm-warning: #E85D75;      /* Berry Red */
	--farm-success: #2A9D8F;      /* Teal Green */
	--farm-background: #F4FAF6;   /* Soft Mint Background */
	--farm-white: #FFFFFF;
	--farm-text-dark: #102A1F;    /* Deep evergreen text */
	--farm-text-light: #3E5A4E;   /* Muted green-gray text */
	--farm-border: #D7E7DD;       /* Soft border */
	--farm-shadow: 0 2px 10px rgba(16, 42, 31, 0.08);
	--farm-shadow-lg: 0 16px 40px rgba(16, 42, 31, 0.12);

	/* Gradients */
	--farm-gradient-hero: linear-gradient(135deg, var(--farm-primary) 0%, var(--farm-accent) 55%, var(--farm-berry) 120%);
	--farm-gradient-sunrise: linear-gradient(135deg, rgba(255, 200, 87, 0.85), rgba(47, 191, 113, 0.75));
	--farm-gradient-footer: linear-gradient(135deg, #0B1F17 0%, #0F2C21 40%, #0C2B3A 100%);

	/* Typography */
	--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--font-mono: "Courier 10 Pitch", courier, monospace;
	--font-code: monospace;
	/* Spacing */
	--spacing-xs: 0.5rem;
	--spacing-sm: 1rem;
	--spacing-md: 1.5rem;
	--spacing-lg: 2rem;
	--spacing-xl: 3rem;
	--spacing-2xl: 4rem;
	--spacing-3xl: 5rem;
	/* Border Radius */
	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 16px;
	--radius-xl: 24px;
	/* Transitions */
	--transition-fast: 150ms ease-in-out;
	--transition-normal: 250ms ease-in-out;
	--transition-slow: 350ms ease-in-out;
	/* Line Heights */
	--line-height-tight: 1.25;
	--line-height-normal: 1.5;
	--line-height-relaxed: 1.75;
}
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	max-width: 100vw;
	min-height: 100vh;
	overflow-x: hidden;
	margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}
/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}
/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}
/* Box sizing
--------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: inherit;
}
html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--farm-text-dark);
	font-family: var(--font-primary);
	font-size: 1rem;
	line-height: var(--line-height-normal);
}
html {
	font-size: 16px;
}
body {
	background:
		radial-gradient(900px 360px at 15% 0%, rgba(47, 191, 113, 0.18) 0%, transparent 65%),
		radial-gradient(720px 280px at 85% 0%, rgba(255, 200, 87, 0.20) 0%, transparent 60%),
		radial-gradient(900px 340px at 50% 100%, rgba(190, 233, 232, 0.25) 0%, transparent 70%),
		var(--farm-background);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin-top: 0;
	margin-bottom: var(--spacing-md);
	font-weight: 700;
	line-height: var(--line-height-tight);
	color: var(--farm-text-dark);
}
h1 {
	font-size: 2.5rem;
	letter-spacing: -0.5px;
}
h2 {
	font-size: 2rem;
	letter-spacing: -0.25px;
}
h3 {
	font-size: 1.75rem;
}
h4 {
	font-size: 1.5rem;
}
h5 {
	font-size: 1.25rem;
}
h6 {
	font-size: 1rem;
	font-weight: 600;
}
p {
	margin: 0 0 var(--spacing-md) 0;
	color: var(--farm-text-light);
	line-height: var(--line-height-relaxed);
}
p.intro,
p.lead {
	font-size: 1.125rem;
	line-height: var(--line-height-relaxed);
	color: var(--farm-text-dark);
	margin-bottom: var(--spacing-lg);
}
dfn,
cite,
em,
i {
	font-style: italic;
}
blockquote {
	margin: var(--spacing-lg) var(--spacing-md);
	padding-left: var(--spacing-md);
	border-left: 4px solid var(--farm-secondary);
	color: var(--farm-text-light);
	font-style: italic;
}
address {
	margin: 0 0 var(--spacing-md) 0;
}
pre {
	background: #f4f4f4;
	font-family: var(--font-mono);
	line-height: var(--line-height-normal);
	margin-bottom: var(--spacing-md);
	max-width: 100%;
	overflow: auto;
	padding: var(--spacing-md);
	border-radius: var(--radius-md);
	border: 1px solid var(--farm-border);
}
code,
kbd,
tt,
var {
	font-family: var(--font-code);
	font-size: 0.875rem;
	background: #f4f4f4;
	padding: 2px 4px;
	border-radius: var(--radius-sm);
}
abbr,
acronym {
	border-bottom: 1px dotted var(--farm-text-light);
	cursor: help;
}
mark,
ins {
	background: #fff3cd;
	text-decoration: none;
	padding: 2px 4px;
	border-radius: var(--radius-sm);
}
big {
	font-size: 125%;
}
small {
	font-size: 0.875rem;
	color: var(--farm-text-light);
}
/* Elements
--------------------------------------------- */
/* Body background is defined in Typography. Keep the page surface on .site. */
hr {
	background-color: var(--farm-border);
	border: 0;
	height: 1px;
	margin-bottom: var(--spacing-lg);
}
ul,
ol {
	margin: 0 0 var(--spacing-md) var(--spacing-lg);
	padding-left: var(--spacing-lg);
}
ul {
	list-style: disc;
}
ul ul {
	list-style: circle;
}
ul ul ul {
	list-style: square;
}
ol {
	list-style: decimal;
}
ol ol {
	list-style: lower-alpha;
}
ol ol ol {
	list-style: lower-roman;
}
li {
	margin-bottom: var(--spacing-xs);
	color: var(--farm-text-light);
	line-height: var(--line-height-relaxed);
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: var(--spacing-md);
}
dt {
	font-weight: 700;
	margin-top: var(--spacing-md);
}
dd {
	margin: var(--spacing-sm) 0 var(--spacing-md) var(--spacing-lg);
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}
img {
	height: auto;
	max-width: 100%;
	display: block;
}
figure {
	margin: var(--spacing-lg) 0;
}
table {
	margin: 0 0 var(--spacing-lg);
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--farm-border);
}
table thead {
	background-color: var(--farm-background);
}
table th,
table td {
	padding: var(--spacing-sm);
	border: 1px solid var(--farm-border);
	text-align: left;
}
table th {
	font-weight: 700;
	color: var(--farm-text-dark);
}
/* Links
--------------------------------------------- */
a {
	color: var(--farm-secondary);
	text-decoration: none;
	transition: color var(--transition-fast), text-decoration var(--transition-fast);
}
a:visited {
	color: var(--farm-primary);
}
a:focus,
a:active {
	color: var(--farm-accent);
}
a:focus {
	outline: 2px solid var(--farm-light);
	outline-offset: 2px;
}
/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.btn,
.wp-element-button,
.wp-block-button__link {
	border: none;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, var(--farm-secondary), var(--farm-primary));
	color: var(--farm-white);
	line-height: 1;
	padding: var(--spacing-sm) var(--spacing-md);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: filter var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
	box-shadow: var(--farm-shadow);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus,
.btn:active,
.btn:focus,
.wp-element-button:active,
.wp-element-button:focus,
.wp-block-button__link:active,
.wp-block-button__link:focus {
	background: linear-gradient(135deg, var(--farm-accent), var(--farm-primary));
	outline: none;
	box-shadow: 0 0 0 3px rgba(31, 111, 84, 0.22), var(--farm-shadow);
}
button:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled {
	background: #ccc;
	cursor: not-allowed;
	transform: none;
}
button.button-primary,
input[type="button"].button-primary,
input[type="submit"].button-primary {
	background: linear-gradient(135deg, var(--farm-secondary), var(--farm-primary));
}
button.button-secondary,
input[type="button"].button-secondary,
input[type="submit"].button-secondary {
	background: linear-gradient(135deg, rgba(255, 200, 87, 0.95), rgba(190, 233, 232, 0.65));
	color: var(--farm-text-dark);
}

button.button-outline,
input[type="button"].button-outline,
input[type="submit"].button-outline {
	background: transparent;
	color: var(--farm-secondary);
	border: 2px solid var(--farm-secondary);
}

.wp-block-button__link {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--farm-primary);
	border: 2px solid rgba(31, 111, 84, 0.55);
	box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: rgba(47, 191, 113, 0.10);
	border-color: rgba(31, 111, 84, 0.75);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
	background-color: var(--farm-white);
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-md);
	color: var(--farm-text-dark);
	padding: var(--spacing-sm);
	font-family: var(--font-primary);
	font-size: 1rem;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	width: 100%;
	max-width: 100%;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
	border-color: var(--farm-secondary);
	box-shadow: 0 0 0 3px rgba(64, 145, 108, 0.1);
	outline: none;
}
input[type="checkbox"],
input[type="radio"] {
	margin-right: var(--spacing-xs);
	cursor: pointer;
}
label {
	display: block;
	margin-bottom: var(--spacing-xs);
	font-weight: 600;
	color: var(--farm-text-dark);
}
textarea {
	resize: vertical;
	min-height: 120px;
}
select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232FBF71' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right var(--spacing-sm) center;
	background-size: 1.5em;
	padding-right: 2.5rem;
}

/* Gutena Forms (Contact)
--------------------------------------------- */
.wp-block-gutena-forms.gutena-forms-contact-form {
	/* Override Gutena's CSS variables so the plugin uses theme tokens */
	--wp--gutena-forms--placeholder-color: rgba(16, 42, 31, 0.55);
	--wp--gutena-forms--label-color: var(--farm-text-dark);
	--wp--gutena-forms--input-bg-color: var(--farm-white);
	--wp--gutena-forms--input-border-color: rgba(16, 42, 31, 0.18);
	--wp--gutena-forms--input-focus-border-color: var(--farm-secondary);
	--wp--gutena-forms--input-border-width: 1px;
	--wp--gutena-forms--input-border-radius: var(--radius-md);

	max-width: 760px;
	margin: 48px auto 64px auto;
	padding: var(--spacing-xl);
	border-radius: var(--radius-xl);
	border: 1px solid rgba(16, 42, 31, 0.10);
	box-shadow: 0 18px 55px rgba(16, 42, 31, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

@media (max-width: 640px) {
	.wp-block-gutena-forms.gutena-forms-contact-form {
		padding: var(--spacing-lg);
		border-radius: var(--radius-lg);
	}
}

.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-field-group {
	margin-bottom: var(--spacing-md);
}

.wp-block-gutena-forms.gutena-forms-contact-form label {
	margin-bottom: 0.35rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

/* Gutena adds borders to the wrapper, not the input itself */
.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-form-field {
	background: rgba(255, 255, 255, 0.94);
	border-radius: var(--radius-md);
	box-shadow: 0 1px 0 rgba(16, 42, 31, 0.04);
	transition: box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-form-field:focus-within {
	border-color: var(--farm-secondary);
	box-shadow: 0 0 0 3px rgba(64, 145, 108, 0.16), 0 10px 25px rgba(16, 42, 31, 0.10);
	transform: translateY(-1px);
}

.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-field {
	/* Gutena already sets width/padding; keep it consistent with theme */
	color: var(--farm-text-dark);
}

.wp-block-gutena-forms.gutena-forms-contact-form textarea.gutena-forms-field {
	min-height: 160px;
}

.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-field::placeholder {
	color: rgba(16, 42, 31, 0.55);
}

.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-submit-buttons {
	margin-top: var(--spacing-lg);
}

.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-submit-button,
.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-submit-button .wp-block-button__link {
	width: 100%;
}

.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-submit-button .wp-block-button__link {
	padding: var(--spacing-md) var(--spacing-lg);
	font-size: 1.05rem;
}

.wp-block-gutena-forms.gutena-forms-contact-form .gutena-forms-field-error-msg {
	margin-top: 0.5rem;
	color: #c51919;
	font-weight: 600;
}

.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-form-confirm-msg .wp-block-group,
.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-form-error-msg .wp-block-group {
	border-radius: var(--radius-md) !important;
	border: 1px solid rgba(16, 42, 31, 0.08);
	box-shadow: 0 10px 30px rgba(16, 42, 31, 0.08);
}

.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-form-confirm-msg .wp-block-group {
	background-color: rgba(47, 191, 113, 0.14) !important;
	border-left: 4px solid rgba(47, 191, 113, 0.65);
}

.wp-block-gutena-forms.gutena-forms-contact-form .wp-block-gutena-form-error-msg .wp-block-group {
	background-color: rgba(197, 25, 25, 0.12) !important;
	border-left: 4px solid rgba(197, 25, 25, 0.55);
}

.wp-block-gutena-forms.gutena-forms-contact-form .form-message-icon {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.wp-block-gutena-forms.gutena-forms-contact-form .form-message-icon img {
	width: 20px;
	height: 20px;
}
/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* Site Structure
 --------------------------------------------- */
.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background-color: transparent;
}
.site-header {
	background: rgba(255, 255, 255, 0.92);
	border-bottom: 1px solid rgba(16, 42, 31, 0.10);
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 10px 30px rgba(16, 42, 31, 0.08);
	padding: var(--spacing-sm) 0;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.site-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--farm-secondary), var(--farm-sun), var(--farm-accent));
	opacity: 0.9;
}
.admin-bar .site-header {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-lg);
}
main {
	flex: 1;
}
.site-footer {
	background: var(--farm-gradient-footer);
	color: rgba(255, 255, 255, 0.92);
	margin-top: auto;
	padding: var(--spacing-3xl) 0;
	border-top: 4px solid var(--farm-sun);
	position: relative;
	overflow: hidden;
}
.site-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(12px 12px at 12% 20%, rgba(255, 200, 87, 0.18) 0%, transparent 70%),
		radial-gradient(16px 16px at 78% 32%, rgba(190, 233, 232, 0.12) 0%, transparent 70%),
		radial-gradient(18px 18px at 30% 78%, rgba(47, 191, 113, 0.12) 0%, transparent 70%);
	opacity: 0.85;
	pointer-events: none;
}
.site-footer .container {
	position: relative;
	z-index: 1;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--spacing-2xl);
	margin-bottom: var(--spacing-2xl);
}
.site-footer__title {
	margin: 0 0 var(--spacing-sm);
	color: rgba(255, 255, 255, 0.96);
	letter-spacing: -0.02em;
}
.site-footer__heading {
	margin: 0 0 var(--spacing-sm);
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(255, 255, 255, 0.82);
}
.site-footer__text {
	margin: 0 0 var(--spacing-md);
	color: rgba(255, 255, 255, 0.82);
	max-width: 42ch;
	line-height: var(--line-height-relaxed);
}
.site-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}
.site-footer__list a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	border-radius: 999px;
	padding: 0.25rem 0.5rem;
	margin-left: -0.5rem;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	transition: background-color var(--transition-fast), color var(--transition-fast);
}
.site-footer__list a:focus-visible {
	color: rgba(255, 255, 255, 0.98);
	background: rgba(255, 200, 87, 0.14);
}
.site-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: var(--spacing-sm);
}
.site-footer__social-link {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(190, 233, 232, 0.20);
	color: rgba(255, 255, 255, 0.92);
	transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.site-footer__social-link:focus-visible {
	background: rgba(47, 191, 113, 0.18);
	border-color: rgba(255, 200, 87, 0.35);
}
.site-footer__bottom {
	border-top: 1px solid rgba(190, 233, 232, 0.18);
	padding-top: var(--spacing-xl);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: center;
	text-align: center;
}
.site-footer__fineprint {
	margin: 0;
	font-size: 0.92rem;
	color: rgba(255, 255, 255, 0.82);
}
.site-footer__fineprint--muted {
	font-size: 0.84rem;
	color: rgba(255, 255, 255, 0.70);
}
@media (min-width: 768px) {
	.site-footer__bottom {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}
/* Containers & Spacing
--------------------------------------------- */
.container {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}
.site-content {
	max-width: 1200px;
	width: 100%;
	margin: var(--spacing-lg) auto var(--spacing-3xl);
	--content-pad-x: var(--spacing-md);
	padding: var(--spacing-xl) var(--content-pad-x) 10px;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--spacing-2xl);
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(215, 231, 221, 0.75);
	border-radius: var(--radius-xl);
	box-shadow: var(--farm-shadow-lg);
}
.site-main,
.widget-area {
	min-width: 0;
}
.container.narrow {
	max-width: 800px;
}
.container.wide {
	max-width: 1400px;
}
.section {
	padding: var(--spacing-3xl) 0;
}
.section.hero {
	padding: var(--spacing-3xl) 0;
	background: var(--farm-gradient-hero);
	color: var(--farm-white);
}
.section.features {
	background-color: var(--farm-background);
}
.section.cta {
	background: var(--farm-gradient-sunrise);
	color: var(--farm-white);
	text-align: center;
}
/* Hero Block Styles
--------------------------------------------- */
.dion-hero {
	margin: 0 0 3rem;
	padding: 4rem var(--content-pad-x, var(--spacing-md));
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-xl);
	/* Fallback for when the block doesn't output an inline background style. */
	background-color: #2D6A4F;
	color: var(--dion-hero-text, var(--farm-white));
}
@media (max-width: 1023px) {
	.dion-hero {
		margin-left: calc(-1 * var(--content-pad-x, var(--spacing-md)));
		margin-right: calc(-1 * var(--content-pad-x, var(--spacing-md)));
	}
}
@media (min-width: 1024px) {
	.no-sidebar .dion-hero {
		margin-left: calc(-1 * var(--content-pad-x, var(--spacing-md)));
		margin-right: calc(-1 * var(--content-pad-x, var(--spacing-md)));
	}
}
.dion-hero__content {
	position: relative;
	z-index: 1;
	max-width: 1000px;
	width: 100%;
}
.dion-hero__title {
	font-size: clamp(1.75rem, 5vw, 3rem);
	font-weight: 800;
	margin-bottom: var(--spacing-md);
	line-height: var(--line-height-tight);
	color: inherit;
}
.dion-hero__subtitle {
	font-size: clamp(1rem, 2vw, 1.5rem);
	opacity: 0.95;
	line-height: var(--line-height-relaxed);
	margin-bottom: 0;
	color: inherit;
}
.dion-hero__actions {
	margin-top: var(--spacing-lg);
}
/* Feature Grid
--------------------------------------------- */
.features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--spacing-lg);
	margin: var(--spacing-xl) 0;
}
.feature-card {
	background: var(--farm-white);
	padding: var(--spacing-lg);
	border-radius: var(--radius-lg);
	border: 1px solid var(--farm-border);
	box-shadow: var(--farm-shadow);
	text-align: center;
}

.feature-card__icon {
	font-size: 3rem;
	margin-bottom: var(--spacing-md);
	color: var(--farm-secondary);
}
.feature-card__title {
	font-size: 1.25rem;
	margin-bottom: var(--spacing-sm);
	color: var(--farm-text-dark);
}
.feature-card__text {
	color: var(--farm-text-light);
	line-height: var(--line-height-relaxed);
}

/* Custom Block - Callout
--------------------------------------------- */
.dion-callout {
	--callout-accent: var(--farm-accent);
	--callout-border: rgba(20, 92, 126, 0.25);
	--callout-bg: rgba(190, 233, 232, 0.28);
	margin: var(--spacing-xl) 0;
	padding: var(--spacing-lg);
	border-radius: var(--radius-lg);
	border: 1px solid var(--callout-border);
	border-left-width: 6px;
	border-left-color: var(--callout-accent);
	background: var(--callout-bg);
	position: relative;
	overflow: hidden;
}
.dion-callout::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(480px 170px at 12% 20%, rgba(255, 200, 87, 0.22) 0%, transparent 60%),
		radial-gradient(520px 180px at 88% 18%, rgba(47, 191, 113, 0.14) 0%, transparent 65%);
	opacity: 0.9;
	pointer-events: none;
}
.dion-callout__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-md);
}
.dion-callout__icon {
	width: 44px;
	height: 44px;
	flex: 0 0 auto;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.66);
	border: 1px solid rgba(0, 0, 0, 0.06);
	color: var(--callout-accent);
}
.dion-callout__icon svg {
	width: 22px;
	height: 22px;
	display: block;
}
.dion-callout__body {
	min-width: 0;
}
.dion-callout__title {
	margin: 0 0 var(--spacing-xs);
	font-weight: 800;
	color: var(--farm-text-dark);
}
.dion-callout__content > :first-child {
	margin-top: 0;
}
.dion-callout__content > :last-child {
	margin-bottom: 0;
}
.dion-callout--note {
	--callout-accent: var(--farm-accent);
	--callout-border: rgba(20, 92, 126, 0.28);
	--callout-bg: rgba(190, 233, 232, 0.30);
}
.dion-callout--tip {
	--callout-accent: var(--farm-secondary);
	--callout-border: rgba(31, 111, 84, 0.22);
	--callout-bg: rgba(47, 191, 113, 0.12);
}
.dion-callout--warning {
	--callout-accent: var(--farm-sun);
	--callout-border: rgba(255, 200, 87, 0.50);
	--callout-bg: rgba(255, 200, 87, 0.16);
}
.dion-callout--success {
	--callout-accent: var(--farm-primary);
	--callout-border: rgba(31, 111, 84, 0.28);
	--callout-bg: rgba(47, 191, 113, 0.10);
}

/* Custom Block - Feature Card
--------------------------------------------- */
.dion-feature-card {
	--dion-card-accent: var(--farm-secondary);
	text-align: left;
	position: relative;
	overflow: hidden;
	border-left: 6px solid var(--dion-card-accent);
}
.dion-feature-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(420px 170px at 12% 18%, rgba(255, 200, 87, 0.18) 0%, transparent 65%),
		radial-gradient(520px 210px at 92% 22%, rgba(190, 233, 232, 0.14) 0%, transparent 70%);
	opacity: 0.8;
	pointer-events: none;
}
.dion-feature-card > * {
	position: relative;
	z-index: 1;
}
.dion-feature-card .feature-card__icon {
	color: var(--dion-card-accent);
	line-height: 0;
}
.dion-feature-card__cta {
	margin: var(--spacing-md) 0 0;
}
.dion-feature-card__link {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	color: var(--dion-card-accent);
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 3px;
}
.dion-feature-card__link:focus-visible {
	outline: 2px solid rgba(31, 111, 84, 0.22);
	outline-offset: 3px;
	border-radius: 6px;
}
.dion-feature-card--accent-green {
	--dion-card-accent: var(--farm-secondary);
}
.dion-feature-card--accent-blue {
	--dion-card-accent: var(--farm-accent);
}
.dion-feature-card--accent-sun {
	--dion-card-accent: var(--farm-sun);
}
.dion-feature-card--accent-berry {
	--dion-card-accent: var(--farm-berry);
}

/* Custom Block - Img + Text
--------------------------------------------- */
.dion-img-text {
	--img-text-border: rgba(215, 231, 221, 0.75);
	--img-text-surface: var(--farm-white);
	--img-text-media-bg: var(--farm-background);
	--dion-img-text-media: 50%;
	--dion-img-text-content: 50%;
	margin: var(--spacing-2xl) 0;
	display: grid;
	grid-template-columns: var(--dion-img-text-media) var(--dion-img-text-content);
	grid-template-areas: "media content";
	align-items: stretch;
	background: var(--img-text-surface);
	border: 1px solid var(--img-text-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--farm-shadow);
	overflow: hidden;
}
.dion-img-text--order-text-image {
	grid-template-columns: var(--dion-img-text-content) var(--dion-img-text-media);
	grid-template-areas: "content media";
}
.dion-img-text--ratio-30-70 {
	--dion-img-text-media: 30%;
	--dion-img-text-content: 70%;
}
.dion-img-text--ratio-50-50 {
	--dion-img-text-media: 50%;
	--dion-img-text-content: 50%;
}
.dion-img-text--ratio-70-30 {
	--dion-img-text-media: 70%;
	--dion-img-text-content: 30%;
}
.dion-img-text--no-media {
	grid-template-columns: 1fr;
	grid-template-areas: "content";
}
.dion-img-text__media {
	grid-area: media;
	min-width: 0;
	min-height: 240px;
	background: var(--img-text-media-bg);
	display: flex;
	align-items: center;
	justify-content: center;
}
.dion-img-text__content {
	grid-area: content;
	min-width: 0;
	padding: var(--spacing-xl) var(--spacing-lg);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.dion-img-text__img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.dion-img-text--fit-contain .dion-img-text__img {
	object-fit: contain;
}
.dion-img-text__content > :first-child {
	margin-top: 0;
}
.dion-img-text__content > :last-child {
	margin-bottom: 0;
}
.dion-img-text__content h2,
.dion-img-text__content h3,
.dion-img-text__content h4 {
	color: var(--farm-primary);
	margin-bottom: var(--spacing-md);
}
@media (max-width: 782px) {
	.dion-img-text {
		grid-template-columns: 1fr;
		grid-template-areas:
			"content"
			"media";
	}
	.dion-img-text__media {
		min-height: 220px;
	}
	.dion-img-text--no-media {
		grid-template-areas: "content";
	}
}
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Header & Navigation
--------------------------------------------- */
.site-branding {
	padding: var(--spacing-xs) 0;
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
}
.site-branding a {
	color: var(--farm-text-dark);
	text-decoration: none;
}
.site-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.25px;
	color: var(--farm-primary);
	line-height: 1.2;
}
.site-title a {
	color: inherit;
}
.site-description {
	margin: 0;
	color: var(--farm-text-light);
	font-size: 0.875rem;
	opacity: 0.8;
}
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	margin-right: var(--spacing-md);
}
.custom-logo {
	max-width: 50px;
	height: auto;
	display: block;
	border-radius: var(--radius-sm);
}
/* Main Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
	width: fit-content;
}
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}
.main-navigation ul ul {
	box-shadow: var(--farm-shadow-lg);
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
	background: var(--farm-white);
	min-width: 220px;
}
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}
.main-navigation ul li.focus > ul {
	left: auto;
}
.main-navigation li {
	position: relative;
}
.main-navigation a {
	display: block;
	text-decoration: none;
	padding: 0.65rem 1.1rem;
	color: var(--farm-text-dark);
	font-weight: 500;
	font-size: 0.95rem;
	border-radius: 999px;
	transition: color var(--transition-fast), background-color var(--transition-fast);
}
.main-navigation a:focus-visible {
	color: var(--farm-primary);
	background: rgba(47, 191, 113, 0.12);
}
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--farm-primary);
	background: rgba(255, 200, 87, 0.20);
}
.main-navigation li.focus > a {
	color: var(--farm-secondary);
}
.menu-toggle {
	display: inline-block;
	margin-left: auto;
	background: linear-gradient(135deg, var(--farm-secondary), var(--farm-primary));
	color: var(--farm-white);
	border: none;
	padding: 0.5rem 1rem;
	border-radius: var(--radius-md);
	font-weight: 600;
	cursor: pointer;
	font-size: 0.9rem;
	transition: background-color var(--transition-fast);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 48em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: flex !important;
		gap: var(--spacing-xs);
	}
	.site-branding {
		flex: 1;
	}
}
.main-navigation.toggled ul {
	display: block;
	background: var(--farm-white);
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	box-shadow: var(--farm-shadow-lg);
	padding: var(--spacing-md) 0;
	z-index: 999;
}
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
	background: var(--farm-background);
	padding: var(--spacing-md);
	border-radius: var(--radius-md);
	border-left: 4px solid var(--farm-secondary);
	margin-bottom: var(--spacing-lg);
}
.post,
.page {
	margin: 0 0 var(--spacing-lg);
}
.post-header,
.page-header {
	margin-bottom: var(--spacing-lg);
	padding-bottom: var(--spacing-lg);
	border-bottom: 1px solid var(--farm-border);
}
.entry-title {
	margin: 0 0 var(--spacing-md) 0;
	display: none;
}
.posted-on,
.byline {
	color: var(--farm-text-light);
	font-size: 0.9rem;
	margin-right: var(--spacing-md);
}
.entry-meta {
	color: var(--farm-text-light);
	font-size: 0.9rem;
	margin-bottom: var(--spacing-lg);
}
.updated:not(.published) {
	display: none;
}
.page-content,
.entry-content,
.entry-summary {
	margin: var(--spacing-md) 0 0;
	line-height: var(--line-height-relaxed);
}
.page-links {
	clear: both;
	margin: var(--spacing-lg) 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-sm);
}
.page-links a,
.page-links span {
	display: inline-block;
	padding: var(--spacing-xs) var(--spacing-sm);
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	color: var(--farm-secondary);
}

.page-links span {
	background: var(--farm-background);
	color: var(--farm-text-light);
}
/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}
.bypostauthor {
	display: block;
}
.comments-area {
	margin: var(--spacing-2xl) 0;
	padding: var(--spacing-lg);
	background: var(--farm-background);
	border-radius: var(--radius-lg);
}
.comment-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.comment-body {
	margin-bottom: var(--spacing-lg);
	padding: var(--spacing-md);
	background: var(--farm-white);
	border-radius: var(--radius-md);
	border: 1px solid var(--farm-border);
}
.comment-author {
	font-weight: 700;
	margin-bottom: var(--spacing-xs);
}
.comment-author a {
	color: var(--farm-secondary);
}
.comment-awaiting-moderation {
	color: var(--farm-warning);
	font-style: italic;
}
.comment-form {
	margin-top: var(--spacing-lg);
}
.comment-form-comment {
	margin-bottom: var(--spacing-md);
}
.form-submit {
	margin-top: var(--spacing-md);
}
/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 var(--spacing-lg);
	padding: var(--spacing-lg);
	background: var(--farm-white);
	border-radius: var(--radius-lg);
	border: 1px solid var(--farm-border);
}
.widget-title {
	font-size: 1.25rem;
	margin-top: 0;
	margin-bottom: var(--spacing-md);
	padding-bottom: var(--spacing-md);
	border-bottom: 2px solid var(--farm-secondary);
	color: var(--farm-accent);
}
.widget select {
	max-width: 100%;
}
.widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.widget li {
	margin-bottom: var(--spacing-sm);
	padding-bottom: var(--spacing-sm);
	border-bottom: 1px solid var(--farm-border);
}
.widget li:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.widget a {
	color: var(--farm-secondary);
}
/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
.custom-logo-link {
	display: inline-block;
}
/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: var(--spacing-lg);
	max-width: 100%;
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.wp-caption .wp-caption-text {
	margin: var(--spacing-md);
	font-size: 0.9rem;
	color: var(--farm-text-light);
}
.wp-caption-text {
	text-align: center;
}
/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: var(--spacing-lg);
	display: grid;
	grid-gap: var(--spacing-md);
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--farm-shadow);
}

.gallery-icon {
	position: relative;
	overflow: hidden;
	background: var(--farm-background);
	aspect-ratio: 1;
}
.gallery-icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}
.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}
.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}
.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}
.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}
.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}
.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}
.gallery-caption {
	display: none;
}
/* Navigation
--------------------------------------------- */
.comment-navigation,
.posts-navigation,
.post-navigation {
	margin: var(--spacing-lg) 0 var(--spacing-2xl);
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
	width: 100%;
	gap: var(--spacing-lg);
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}
.nav-links a {
	display: inline-block;
	padding: var(--spacing-sm) var(--spacing-md);
	background: var(--farm-secondary);
	color: var(--farm-white);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background-color var(--transition-fast), color var(--transition-fast);
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}
.infinity-end.neverending .site-footer {
	display: block;
}
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: var(--farm-light);
	border-radius: var(--radius-md);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: var(--farm-accent);
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: var(--spacing-md);
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#primary[tabindex="-1"]:focus {
	outline: 0;
}
/* Alignments
--------------------------------------------- */
.alignleft {
	float: left;
	margin-right: var(--spacing-md);
	margin-bottom: var(--spacing-md);
}
.alignright {
	float: right;
	margin-left: var(--spacing-md);
	margin-bottom: var(--spacing-md);
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--spacing-md);
}
.alignwide {
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.alignfull {
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
/* Utility Classes
--------------------------------------------- */
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.text-muted {
	color: var(--farm-text-light);
}
.text-primary {
	color: var(--farm-primary);
}
.text-secondary {
	color: var(--farm-secondary);
}
.text-accent {
	color: var(--farm-accent);
}
.text-success {
	color: var(--farm-success);
}
.text-warning {
	color: var(--farm-warning);
}
.text-white {
	color: var(--farm-white);
}
.bg-primary {
	background-color: var(--farm-primary);
	color: var(--farm-white);
}
.bg-secondary {
	background-color: var(--farm-secondary);
	color: var(--farm-white);
}
.bg-accent {
	background-color: var(--farm-accent);
	color: var(--farm-white);
}
.bg-light {
	background-color: var(--farm-light);
}
.bg-white {
	background-color: var(--farm-white);
}
.bg-muted {
	background-color: var(--farm-background);
}
.badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	border-radius: 50px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.badge-primary {
	background-color: var(--farm-primary);
	color: var(--farm-white);
}
.badge-secondary {
	background-color: var(--farm-secondary);
	color: var(--farm-white);
}
.badge-success {
	background-color: var(--farm-success);
	color: var(--farm-white);
}
.badge-warning {
	background-color: var(--farm-warning);
	color: var(--farm-white);
}
/* Spacing Utilities */
.mt-0 { margin-top: 0; }
.mt-sm { margin-top: var(--spacing-sm); }
.mt-md { margin-top: var(--spacing-md); }
.mt-lg { margin-top: var(--spacing-lg); }
.mt-xl { margin-top: var(--spacing-xl); }
.mt-2xl { margin-top: var(--spacing-2xl); }
.mb-0 { margin-bottom: 0; }
.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }
.mb-xl { margin-bottom: var(--spacing-xl); }
.mb-2xl { margin-bottom: var(--spacing-2xl); }
.p-0 { padding: 0; }
.p-sm { padding: var(--spacing-sm); }
.p-md { padding: var(--spacing-md); }
.p-lg { padding: var(--spacing-lg); }
.p-xl { padding: var(--spacing-xl); }
.pt-lg { padding-top: var(--spacing-lg); }
.pb-lg { padding-bottom: var(--spacing-lg); }
/* Display Utilities */
.hidden {
	display: none !important;
}
.visible {
	display: block !important;
}
.inline-block {
	display: inline-block;
}
.flex {
	display: flex;
}
.grid {
	display: grid;
}
.d-flex {
	display: flex;
}
.flex-wrap {
	flex-wrap: wrap;
}
.gap-sm { gap: var(--spacing-sm); }
.gap-md { gap: var(--spacing-md); }
.gap-lg { gap: var(--spacing-lg); }
.justify-center {
	justify-content: center;
}
.justify-between {
	justify-content: space-between;
}
.align-center {
	align-items: center;
}
.align-start {
	align-items: flex-start;
}
.align-end {
	align-items: flex-end;
}
/* Border & Shadow Utilities */
.border {
	border: 1px solid var(--farm-border);
}
.border-top {
	border-top: 1px solid var(--farm-border);
}
.border-bottom {
	border-bottom: 1px solid var(--farm-border);
}
.border-primary {
	border-color: var(--farm-primary);
}
.rounded {
	border-radius: var(--radius-md);
}
.rounded-lg {
	border-radius: var(--radius-lg);
}
.shadow {
	box-shadow: var(--farm-shadow);
}
.shadow-lg {
	box-shadow: var(--farm-shadow-lg);
}
.shadow-none {
	box-shadow: none;
}
/* Typography Utilities */
.font-bold {
	font-weight: 700;
}
.font-semibold {
	font-weight: 600;
}
.text-sm {
	font-size: 0.875rem;
}
.text-lg {
	font-size: 1.25rem;
}
.text-xl {
	font-size: 1.5rem;
}
.text-2xl {
	font-size: 2rem;
}
.text-3xl {
	font-size: 2.5rem;
}
.uppercase {
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.capitalize {
	text-transform: capitalize;
}
.italic {
	font-style: italic;
}
.line-through {
	text-decoration: line-through;
}
/* Responsive Grid */
.grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-lg);
}
.grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-lg);
}
.grid-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacing-lg);
}
@media (max-width: 768px) {
	.grid-2,
	.grid-3,
	.grid-4 {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 1024px) {
	.grid-3,
	.grid-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
/* Responsive Utilities */
@media (max-width: 1024px) {
	.container {
		padding: 0 var(--spacing-md);
	}
	.site-content {
		--content-pad-x: var(--spacing-md);
		padding: var(--spacing-lg) var(--content-pad-x) var(--spacing-2xl);
	}
	.section {
		padding: var(--spacing-2xl) 0;
	}
	.site-title {
		font-size: 1.25rem;
	}
	h1 {
		font-size: 2.25rem;
	}
	h2 {
		font-size: 1.75rem;
	}
	h3 {
		font-size: 1.5rem;
	}
}
@media (max-width: 768px) {
	.hide-mobile {
		display: none !important;
	}
	.show-mobile {
		display: block !important;
	}
	.container {
		padding: 0 var(--spacing-sm);
	}
	.site-content {
		--content-pad-x: var(--spacing-sm);
		padding: var(--spacing-lg) var(--content-pad-x) var(--spacing-2xl);
	}
	.site-header {
		padding: var(--spacing-sm) 0;
	}
	.site-title {
		font-size: 1.125rem;
	}
	.site-description {
		display: none;
	}
	.main-navigation a {
		padding: var(--spacing-sm) var(--spacing-md);
	}
	.section {
		padding: var(--spacing-xl) 0;
	}
	h1 {
		font-size: 2rem;
	}
	h2 {
		font-size: 1.5rem;
	}
	h3 {
		font-size: 1.25rem;
	}
	/* Reduce feature grid columns */
	.features-grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
	}
	/* Stack navigation */
	.comment-navigation .nav-links,
	.posts-navigation .nav-links,
	.post-navigation .nav-links {
		flex-direction: column;
		gap: var(--spacing-sm);
	}
	.comment-navigation .nav-previous,
	.posts-navigation .nav-previous,
	.post-navigation .nav-previous,
	.comment-navigation .nav-next,
	.posts-navigation .nav-next,
	.post-navigation .nav-next {
		text-align: center;
		flex: 1 0 100%;
	}
}
@media (min-width: 769px) {
	.show-mobile {
		display: none !important;
	}
}
/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
	/* Larger touch targets */
	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.nav-links a,
	.menu-toggle {
		min-height: 44px;
		min-width: 44px;
		padding: var(--spacing-sm) var(--spacing-md);
	}
	/* Disable hover transforms on touch devices */


	/* Better form inputs for touch */
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="tel"],
	textarea,
	select {
		min-height: 44px;
		font-size: 16px;
	}
}
/* Hero Section Responsive - Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
	.dion-hero {
		padding-block: var(--spacing-2xl);
		padding-inline: var(--content-pad-x, var(--spacing-md));
	}
	.dion-hero__title {
		font-size: 2.25rem;
	}
	.dion-hero__subtitle {
		font-size: 1.25rem;
	}
}
/* Hero Section Responsive - Mobile */
@media (max-width: 768px) {
	.dion-hero {
		padding-block: var(--spacing-2xl);
		padding-inline: var(--content-pad-x, var(--spacing-sm));
		min-height: 300px;
	}
	.dion-hero__title {
		font-size: 1.875rem;
		line-height: 1.2;
	}
	.dion-hero__subtitle {
		font-size: 1.0625rem;
		line-height: 1.5;
	}
}
@media (max-width: 640px) {
	.dion-hero {
		padding-block: var(--spacing-xl);
		padding-inline: var(--content-pad-x, var(--spacing-sm));
		min-height: auto;
	}
	.dion-hero__title {
		font-size: 1.5rem;
	}
	.dion-hero__subtitle {
		font-size: 1rem;
	}
}
/* Very small screens */
@media (max-width: 480px) {
	.dion-hero {
		padding-block: var(--spacing-lg);
		padding-inline: var(--content-pad-x, var(--spacing-sm));
	}
	.dion-hero__title {
		font-size: 1.375rem;
		margin-bottom: var(--spacing-sm);
	}
	.dion-hero__subtitle {
		font-size: 0.9375rem;
	}
}
/* Form Responsive */
@media (max-width: 768px) {
	.form-row {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-md);
	}
	.form-row .form-group {
		width: 100%;
	}
}
/* Print Styles */
@media print {
	body,
	.site {
		background: white;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]::after {
		content: " (" attr(href) ")";
	}
	img {
		max-width: 100%;
	}
	@page {
		margin: 2cm;
	}
	.no-print,
	.site-header,
	.site-footer,
	.comment-form,
	.comment-respond {
		display: none;
	}
}
.entry-content {
	/* overflow-x: hidden; */
	word-wrap: break-word;
}
.entry-content > :first-child {
	margin-top: 0;
}
.entry-content > :last-child {
	margin-bottom: 0;
}
.entry-content img {
	max-width: 100%;
	height: auto;
}
/* WordPress Block Styles - Paragraphs
--------------------------------------------- */
.wp-block-paragraph {
	margin: 0 0 var(--spacing-lg) 0;
	color: var(--farm-text-light);
	line-height: var(--line-height-relaxed);
	font-size: 1.0625rem;
}
.wp-block-paragraph.has-large-font-size {
	font-size: 1.25rem;
	line-height: 1.6;
	color: var(--farm-text-dark);
}
.wp-block-paragraph.has-small-font-size {
	font-size: 0.9375rem;
}
/* WordPress Block Styles - Media & Text
--------------------------------------------- */
.wp-block-media-text {
	margin: 1.5rem 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--farm-shadow);
	background: var(--farm-white);
	border: 1px solid var(--farm-border);
}
.wp-block-media-text__content {
	padding: var(--spacing-xl) var(--spacing-lg);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.wp-block-media-text__content p {
	margin-bottom: var(--spacing-md);
	color: var(--farm-text-light);
	line-height: var(--line-height-relaxed);
}
.wp-block-media-text__content p:last-child {
	margin-bottom: 0;
}
.wp-block-media-text__content h2,
.wp-block-media-text__content h3,
.wp-block-media-text__content h4 {
	color: var(--farm-primary);
	margin-bottom: var(--spacing-md);
}
.wp-block-media-text__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--farm-background);
}
.wp-block-media-text__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-media-text.has-media-on-the-right {
	grid-template-columns: 1fr 50%;
}

/* WordPress Block Styles - Buttons
--------------------------------------------- */
.wp-block-buttons {
	gap: var(--spacing-sm);
}
.wp-block-button {
	margin: 0;
}

/* WordPress Block Styles - Groups & Columns
--------------------------------------------- */
.wp-block-group,
.wp-block-columns {
	margin: var(--spacing-2xl) 0;
}
.wp-block-group.has-background {
	padding: var(--spacing-xl);
	border-radius: var(--radius-xl);
	border: 1px solid rgba(16, 42, 31, 0.08);
	box-shadow: var(--farm-shadow);
}
.wp-block-group.has-background > :first-child {
	margin-top: 0;
}
.wp-block-group.has-background > :last-child {
	margin-bottom: 0;
}
.wp-block-columns {
	gap: var(--spacing-lg);
}

/* WordPress Block Styles - Cover
--------------------------------------------- */
.wp-block-cover,
.wp-block-cover-image {
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--farm-shadow-lg);
}
.wp-block-cover__inner-container {
	padding: var(--spacing-2xl) var(--spacing-xl);
}

/* WordPress Block Styles - Images & Captions
--------------------------------------------- */
.wp-block-image,
.wp-block-gallery {
	margin: var(--spacing-2xl) 0;
}
.wp-block-image img,
.wp-block-gallery img {
	border-radius: var(--radius-lg);
	box-shadow: var(--farm-shadow);
}
.wp-element-caption,
figcaption {
	margin-top: var(--spacing-sm);
	font-size: 0.92rem;
	color: var(--farm-text-light);
	text-align: center;
}

/* WordPress Block Styles - Quotes
--------------------------------------------- */
.wp-block-quote {
	margin: var(--spacing-2xl) 0;
	padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-lg) calc(var(--spacing-lg) + 0.5rem);
	border-left: 6px solid var(--farm-secondary);
	background: linear-gradient(135deg, rgba(47, 191, 113, 0.10), rgba(255, 200, 87, 0.08));
	border-radius: var(--radius-lg);
	box-shadow: var(--farm-shadow);
	position: relative;
}
.wp-block-quote::before {
	content: "❝";
	position: absolute;
	left: 0.9rem;
	top: 0.6rem;
	font-size: 2.25rem;
	line-height: 1;
	color: rgba(31, 111, 84, 0.25);
}
.wp-block-quote p {
	color: var(--farm-text-dark);
}
.wp-block-quote cite {
	display: inline-block;
	margin-top: var(--spacing-sm);
	font-style: normal;
	font-weight: 600;
	color: var(--farm-text-light);
}

.wp-block-pullquote {
	margin: var(--spacing-3xl) 0;
	padding: var(--spacing-2xl) var(--spacing-xl);
	border-radius: var(--radius-xl);
	background: rgba(190, 233, 232, 0.22);
	border: 1px solid rgba(20, 92, 126, 0.15);
	box-shadow: var(--farm-shadow);
}
.wp-block-pullquote blockquote {
	margin: 0;
	padding: 0;
	border: none;
}
.wp-block-pullquote p {
	font-size: clamp(1.25rem, 2.4vw, 1.75rem);
	line-height: 1.35;
	color: var(--farm-text-dark);
}

/* WordPress Block Styles - Separator
--------------------------------------------- */
.wp-block-separator {
	border: none;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(47, 191, 113, 0.55), rgba(255, 200, 87, 0.65), rgba(20, 92, 126, 0.55), transparent);
	margin: var(--spacing-2xl) auto;
	max-width: 46rem;
	border-radius: 999px;
}

/* WordPress Block Styles - Tables
--------------------------------------------- */
.wp-block-table {
	margin: var(--spacing-2xl) 0;
	overflow-x: auto;
}
.wp-block-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-table th,
.wp-block-table td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--farm-border);
}
.wp-block-table thead th {
	background: rgba(47, 191, 113, 0.12);
	color: var(--farm-text-dark);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.wp-block-table tbody tr:nth-child(even) td {
	background: rgba(190, 233, 232, 0.16);
}
.wp-block-table tbody tr:last-child td {
	border-bottom: none;
}

/* WordPress Block Styles - Code & Preformatted
--------------------------------------------- */
.wp-block-code,
.wp-block-preformatted {
	margin: var(--spacing-xl) 0;
	background: rgba(16, 42, 31, 0.06);
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-lg);
	padding: var(--spacing-md);
	box-shadow: var(--farm-shadow);
	overflow-x: auto;
}
.wp-block-code code {
	background: transparent;
	padding: 0;
}

/* WordPress Block Styles - File
--------------------------------------------- */
.wp-block-file {
	margin: var(--spacing-xl) 0;
	padding: var(--spacing-sm) var(--spacing-md);
	border-radius: var(--radius-lg);
	border: 1px solid var(--farm-border);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-sm);
}
.wp-block-file__button {
	text-decoration: none;
	border-radius: 999px;
	padding: 0.6rem 1rem;
	margin-left: auto;
	background: linear-gradient(135deg, var(--farm-secondary), var(--farm-primary));
	color: var(--farm-white);
	box-shadow: var(--farm-shadow);
	transition: filter var(--transition-fast);
}
.wp-block-file__button:focus-visible {
	filter: brightness(0.98) saturate(1.02);
}

/* WordPress Block Styles - Search
--------------------------------------------- */
.wp-block-search {
	margin: var(--spacing-2xl) 0;
}
.wp-block-search__inside-wrapper {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	padding: 0.35rem;
	border-radius: 999px;
	border: 1px solid var(--farm-border);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-search__input {
	border: none;
	background: transparent;
	padding: 0.65rem 0.9rem;
	margin: 0;
}
.wp-block-search__input:focus {
	box-shadow: none;
}
.wp-block-search__button {
	border-radius: 999px;
}

/* WordPress Block Styles - Lists
--------------------------------------------- */
.wp-block-list {
	margin: 0 0 var(--spacing-lg) var(--spacing-lg);
}
.wp-block-list li::marker {
	color: rgba(31, 111, 84, 0.75);
}

/* WordPress Block Styles - Latest Posts & Taxonomy Lists
--------------------------------------------- */
.wp-block-latest-posts__list,
.wp-block-categories-list,
.wp-block-archives-list {
	list-style: none;
	margin: var(--spacing-2xl) 0;
	padding: 0;
	display: grid;
	gap: var(--spacing-sm);
}
.wp-block-latest-posts__list li,
.wp-block-categories-list li,
.wp-block-archives-list li {
	margin: 0;
	padding: var(--spacing-md);
	border-radius: var(--radius-lg);
	border: 1px solid var(--farm-border);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-latest-posts__list a {
	font-weight: 700;
	color: var(--farm-text-dark);
}
.wp-block-latest-posts__post-date {
	display: block;
	margin-top: 0.35rem;
	color: var(--farm-text-light);
	font-size: 0.9rem;
}

/* WordPress Block Styles - Social Links
--------------------------------------------- */
.wp-block-social-links {
	gap: 0.6rem;
	margin: var(--spacing-xl) 0;
}
.wp-block-social-links .wp-social-link {
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid rgba(215, 231, 221, 0.75);
	box-shadow: var(--farm-shadow);
}
.wp-block-social-links .wp-social-link a {
	padding: 0.65rem;
}
.wp-block-social-links .wp-social-link:focus-within {
	box-shadow: var(--farm-shadow-lg);
}

/* WordPress Block Styles - Embeds & Media
--------------------------------------------- */
.wp-block-embed,
.wp-block-video,
.wp-block-audio {
	margin: var(--spacing-2xl) 0;
}
.wp-block-embed__wrapper {
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--farm-shadow);
	background: var(--farm-white);
}
.wp-block-video video,
.wp-block-audio audio {
	width: 100%;
	border-radius: var(--radius-lg);
	box-shadow: var(--farm-shadow);
}

/* WordPress Block Styles - Details, Calendar, Tags, RSS, Comments
--------------------------------------------- */
.wp-block-details {
	margin: var(--spacing-2xl) 0;
	padding: var(--spacing-md) var(--spacing-lg);
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-details summary {
	cursor: pointer;
	font-weight: 800;
	color: var(--farm-primary);
}
.wp-block-details summary:focus-visible {
	outline: 2px solid var(--farm-light);
	outline-offset: 4px;
	border-radius: var(--radius-md);
}
.wp-block-details > :not(summary) {
	margin-top: var(--spacing-md);
}

.wp-block-tag-cloud {
	margin: var(--spacing-2xl) 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.wp-block-tag-cloud a {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	border: 1px solid rgba(31, 111, 84, 0.18);
	background: rgba(47, 191, 113, 0.10);
	color: var(--farm-text-dark);
	font-weight: 700;
	text-decoration: none;
}

.wp-block-calendar {
	margin: var(--spacing-2xl) 0;
}
.wp-block-calendar table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-calendar caption {
	padding: var(--spacing-sm) var(--spacing-md);
	font-weight: 800;
	color: var(--farm-primary);
	background: rgba(47, 191, 113, 0.10);
}
.wp-block-calendar th,
.wp-block-calendar td {
	padding: 0.65rem 0.75rem;
	border-bottom: 1px solid var(--farm-border);
	text-align: center;
}
.wp-block-calendar th {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--farm-text-dark);
	background: rgba(190, 233, 232, 0.18);
}
.wp-block-calendar tfoot td {
	border-bottom: none;
}
.wp-block-calendar tfoot a {
	font-weight: 700;
}

.wp-block-rss {
	margin: var(--spacing-2xl) 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--spacing-md);
}
.wp-block-rss__item {
	padding: var(--spacing-md);
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-rss__item-title a {
	font-weight: 800;
	color: var(--farm-primary);
}
.wp-block-rss__item-publish-date {
	display: block;
	margin-top: 0.35rem;
	color: var(--farm-text-light);
	font-size: 0.9rem;
}

.wp-block-latest-comments {
	margin: var(--spacing-2xl) 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--spacing-md);
}
.wp-block-latest-comments__comment {
	padding: var(--spacing-md);
	border: 1px solid var(--farm-border);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--farm-shadow);
}
.wp-block-latest-comments__comment-meta {
	font-weight: 700;
	color: var(--farm-text-dark);
}
.wp-block-latest-comments__comment-date {
	display: block;
	margin-top: 0.25rem;
	color: var(--farm-text-light);
	font-size: 0.9rem;
}
/* Responsive adjustments for paragraph blocks - Tablet */
@media (max-width: 1024px) {
	.wp-block-paragraph {
		font-size: 1rem;
	}
	.wp-block-paragraph.has-large-font-size {
		font-size: 1.125rem;
	}
}
/* Responsive adjustments for media-text - Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
	.wp-block-media-text__content {
		padding: var(--spacing-lg) var(--spacing-md);
	}
	.wp-block-media-text {
		grid-template-columns: 45% 1fr;
	}
	.wp-block-media-text.has-media-on-the-right {
		grid-template-columns: 1fr 45%;
	}
}
/* Responsive adjustments for media-text - Mobile */
@media (max-width: 768px) {
	.wp-block-paragraph {
		font-size: 0.9375rem;
		margin: 0 0 var(--spacing-md) 0;
	}
	.wp-block-paragraph.has-large-font-size {
		font-size: 1.0625rem;
	}
	.wp-block-media-text {
		margin: var(--spacing-lg) 0;
		border-radius: var(--radius-md);
	}
	.wp-block-media-text__content {
		padding: var(--spacing-md);
	}
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
		display: block;
	}
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		min-height: 200px;
		max-height: 300px;
	}
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media img {
		height: 100%;
		width: 100%;
	}
	.wp-block-media-text__content h2 {
		font-size: 1.5rem;
	}
	.wp-block-media-text__content h3 {
		font-size: 1.25rem;
	}
}
/* Extra small mobile adjustments */
@media (max-width: 480px) {
	.wp-block-paragraph {
		font-size: 0.875rem;
	}
	.wp-block-media-text {
		margin: var(--spacing-md) 0;
		border-radius: var(--radius-sm);
	}
	.wp-block-media-text__content {
		padding: var(--spacing-sm);
	}
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		min-height: 180px;
		max-height: 250px;
	}
	.wp-block-media-text__content h2 {
		font-size: 1.25rem;
	}
	.wp-block-media-text__content h3 {
		font-size: 1.125rem;
	}
	/* Header adjustments for small screens */
	.site-header {
		padding: var(--spacing-xs) 0;
	}
	.site-title {
		font-size: 1rem;
	}
	.site-branding {
		gap: var(--spacing-xs);
	}
	.custom-logo {
		max-width: 40px;
	}
	/* Additional small screen adjustments */
	.container {
		padding: 0 var(--spacing-xs);
	}
	.site-content {
		--content-pad-x: var(--spacing-xs);
		padding: var(--spacing-md) var(--content-pad-x) var(--spacing-xl);
		gap: var(--spacing-xl);
	}
	.section {
		padding: var(--spacing-lg) 0;
	}
	h1 {
		font-size: 1.75rem;
		line-height: 1.2;
	}
	h4, h5, h6 {
		font-size: 1rem;
	}
}

entry-content:last-child {
	margin-bottom: 0;
}
