/*
Theme Name: Agro Kabashi
Theme URI: https://agrokabashi.com
Author: Agro Kabashi 1970
Description: Custom lightweight block theme for Agro Kabashi 1970 — seedling nursery, fresh vegetables and Perivita pickles. Bilingual (Albanian / English) via Polylang.
Version: 1.3.7
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: agrokabashi
*/

/* ---------- Tokens ---------- */
:root {
	--ak-forest: var(--wp--preset--color--forest, #0F3B2C);
	--ak-green: var(--wp--preset--color--green, #1C5E45);
	--ak-leaf: var(--wp--preset--color--leaf, #4C8B5E);
	--ak-sage: var(--wp--preset--color--sage, #DCE6D3);
	--ak-cream: var(--wp--preset--color--cream, #FBF8F1);
	--ak-parchment: var(--wp--preset--color--parchment, #F2ECDF);
	--ak-sand: var(--wp--preset--color--sand, #E2D3B5);
	--ak-soil: var(--wp--preset--color--soil, #5B4331);
	--ak-tomato: var(--wp--preset--color--tomato, #B9472A);
	--ak-ink: var(--wp--preset--color--ink, #1D2621);
	--ak-muted: var(--wp--preset--color--muted, #56645B);
	--ak-radius: 20px;
	--ak-radius-sm: 12px;
	--ak-shadow: 0 1px 2px rgba(15, 59, 44, .06), 0 12px 32px -12px rgba(15, 59, 44, .18);
	--ak-header-h: 76px;
	--ak-wide: var(--wp--style--global--wide-size, 1240px);
	--ak-gutter: clamp(1rem, 4vw, 2.5rem);
	--ak-section-y: clamp(3.5rem, 8vw, 6.5rem);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--ak-header-h) + 1rem); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { height: auto; }
:where(a) { text-underline-offset: .18em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--ak-leaf); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--ak-sage); color: var(--ak-forest); }
.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; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ak-main { padding-bottom: 0; }
.ak-main .wp-block-post-content > .alignfull,
.ak-main > .alignfull { margin-block: 0; }
.ak-main .wp-block-post-content > .alignfull + .alignfull { margin-top: 0; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------- Small type helpers ---------- */
.ak-eyebrow {
	display: inline-flex; align-items: center; gap: .65rem;
	margin: 0 0 .9rem; font-size: .78rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase;
	color: var(--ak-leaf);
}
.ak-eyebrow::before { content: ""; width: 1.75rem; height: 2px; border-radius: 2px; background: currentColor; opacity: .8; }
.ak-lead { font-size: clamp(1.075rem, 1.4vw, 1.2rem); line-height: 1.65; color: var(--ak-muted); }
.has-text-align-center.ak-eyebrow, .ak-intro--center .ak-eyebrow { justify-content: center; }

/* ---------- Buttons ---------- */
.ak-btn,
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.ak-btn {
	padding: .95rem 1.6rem; border-radius: 999px; background: var(--ak-green); color: var(--ak-cream);
	font-weight: 600; font-size: 1rem; line-height: 1.2; text-decoration: none; border: 0; cursor: pointer; font-family: inherit;
}
.ak-btn:hover { background: var(--ak-forest); color: var(--ak-cream); }
.ak-btn--small { padding: .7rem 1.2rem; font-size: .925rem; }
.wp-block-button__link:hover, .ak-btn:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--ak-green); border: 2px solid currentColor; padding: calc(.95rem - 2px) calc(1.6rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--ak-green); color: var(--ak-cream); border-color: var(--ak-green); }
.wp-block-button.is-style-light > .wp-block-button__link { background: var(--ak-cream); color: var(--ak-forest); }
.wp-block-button.is-style-light > .wp-block-button__link:hover { background: #fff; color: var(--ak-forest); }
.ak-link-arrow a, a.ak-link-arrow { font-weight: 600; text-decoration: none; color: var(--ak-green); }
.ak-link-arrow a::after, a.ak-link-arrow::after { content: " →"; transition: margin .2s; }
.ak-link-arrow a:hover::after { margin-left: .2rem; }

/* ---------- Header ---------- */
.ak-site-header {
	position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100;
	border-bottom: 1px solid transparent; transition: box-shadow .25s, border-color .25s;
}
/* Blur lives on a pseudo-element: backdrop-filter on the header itself would become the
   containing block for the fixed mobile menu and collapse it. */
.ak-site-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(251, 248, 241, .9); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px);
}
.ak-menu-open .ak-site-header::before { background: var(--ak-cream); }
.ak-scrolled .ak-site-header { border-color: rgba(15, 59, 44, .08); box-shadow: 0 6px 24px -12px rgba(15, 59, 44, .25); }
.ak-header__inner {
	max-width: calc(var(--ak-wide) + 2 * var(--ak-gutter)); margin: 0 auto; padding: .7rem var(--ak-gutter);
	min-height: var(--ak-header-h); display: flex; align-items: center; gap: 1.5rem;
}
.ak-brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--ak-forest); flex-shrink: 0; }
.ak-brand__logo { width: 52px; height: 52px; display: block; }
.ak-brand__text { display: flex; flex-direction: column; line-height: 1.05; }
.ak-brand__name { font-family: var(--wp--preset--font-family--serif); font-size: 1.3rem; font-weight: 620; letter-spacing: -.01em; }
.ak-brand__year { font-size: .68rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; color: var(--ak-leaf); margin-top: .3rem; }
.ak-nav { margin-left: auto; }
.ak-nav__list { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(1rem, 2vw, 2rem); }
.ak-nav__list a { color: var(--ak-ink); text-decoration: none; font-weight: 520; font-size: .975rem; padding: .4rem 0; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.ak-nav__list a:hover { color: var(--ak-green); }
.ak-nav__list a[aria-current="page"] { color: var(--ak-green); border-color: var(--ak-leaf); }
.ak-nav__mobile-extra { display: none; }
.ak-header__actions { display: flex; align-items: center; gap: 1rem; }
.ak-lang { list-style: none; display: flex; gap: .2rem; margin: 0; padding: .2rem; border-radius: 999px; background: rgba(15, 59, 44, .06); }
.ak-lang a { display: block; padding: .3rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 650; letter-spacing: .06em; color: var(--ak-muted); text-decoration: none; }
.ak-lang a:hover { color: var(--ak-forest); }
.ak-lang a[aria-current="true"] { background: var(--ak-cream); color: var(--ak-forest); box-shadow: 0 1px 3px rgba(15, 59, 44, .15); }
.ak-burger { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(15, 59, 44, .06); cursor: pointer; position: relative; }
.ak-burger__lines, .ak-burger__lines::before, .ak-burger__lines::after {
	position: absolute; left: 50%; width: 20px; height: 2px; margin-left: -10px; border-radius: 2px; background: var(--ak-forest); transition: transform .25s, opacity .2s;
}
.ak-burger__lines { top: 50%; margin-top: -1px; }
.ak-burger__lines::before, .ak-burger__lines::after { content: ""; left: 0; margin: 0; }
.ak-burger__lines::before { transform: translateY(-6px); }
.ak-burger__lines::after { transform: translateY(6px); }
.ak-menu-open .ak-burger__lines { background: transparent; }
.ak-menu-open .ak-burger__lines::before { transform: rotate(45deg); background: var(--ak-forest); }
.ak-menu-open .ak-burger__lines::after { transform: rotate(-45deg); background: var(--ak-forest); }

@media (max-width: 1023px) {
	.ak-burger { display: block; }
	.ak-header__actions { margin-left: auto; }
	.ak-nav {
		position: fixed; inset: calc(var(--ak-header-h) + var(--wp-admin--admin-bar--height, 0px)) 0 0 0; margin: 0;
		background: var(--ak-cream); padding: 1.5rem var(--ak-gutter) 2.5rem; overflow-y: auto;
		opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s, transform .25s, visibility .25s;
		border-top: 1px solid rgba(15, 59, 44, .08);
	}
	.ak-menu-open .ak-nav { opacity: 1; visibility: visible; transform: none; }
	.ak-menu-open body { overflow: hidden; }
	.ak-nav__list { flex-direction: column; gap: 0; }
	.ak-nav__list a { display: block; padding: 1rem 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; font-weight: 500; color: var(--ak-forest); border-bottom: 1px solid rgba(15, 59, 44, .08); }
	.ak-nav__list a[aria-current="page"] { color: var(--ak-leaf); border-color: rgba(15, 59, 44, .08); }
	.ak-nav__mobile-extra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
}
@media (max-width: 639px) {
	:root { --ak-header-h: 66px; }
	.ak-header__actions .ak-lang, .ak-header__actions .ak-btn { display: none; }
	.ak-brand__logo { width: 44px; height: 44px; }
	.ak-brand__name { font-size: 1.15rem; }
}

/* ---------- Sections ---------- */
.ak-section { padding-block: var(--ak-section-y); position: relative; }
.ak-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }
.ak-section--parchment { background: var(--ak-parchment); }
.ak-section--sage { background: var(--ak-sage); }
.ak-section--white { background: #fff; }
.ak-section--forest { background: var(--ak-forest); color: #D5E2D0; }
.ak-section--forest :where(h1, h2, h3, h4) { color: var(--ak-cream); }
.ak-section--forest .ak-eyebrow { color: #A8CC9C; }
.ak-section--forest .ak-lead { color: #C3D4BE; }
.ak-section--forest a:not(.wp-block-button__link) { color: var(--ak-cream); }
.ak-section--forest .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--ak-cream); }
.ak-section--forest .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--ak-cream); color: var(--ak-forest); border-color: var(--ak-cream); }
.ak-section--perivita { background: #EEEDE2; --ak-pv: #62633F; --ak-pv-dark: #344B2B; }
.ak-section--perivita .ak-eyebrow { color: #62633F; }
.ak-section--perivita .wp-block-button__link { background: #4F5132; }
.ak-section--perivita .wp-block-button__link:hover { background: #344B2B; }
.ak-section--perivita .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #4F5132; }
.ak-section--perivita .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #4F5132; color: #fff; border-color: #4F5132; }

/* Leaf texture on forest sections */
.ak-section--forest::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .06;
	background: radial-gradient(circle at 85% 15%, #fff 0, transparent 40%), radial-gradient(circle at 10% 90%, #fff 0, transparent 35%);
}

.ak-intro { margin-bottom: clamp(2rem, 4vw, 3rem); max-width: 760px; }
.ak-intro > * { margin-block: 0; }
.ak-intro > * + * { margin-top: 1rem; }
.ak-intro--center { margin-inline: auto !important; text-align: center; }
.ak-intro--center .ak-eyebrow { justify-content: center; }
.ak-intro h2 { margin-top: 0; }

/* ---------- Hero (front page) ---------- */
.ak-hero {
	position: relative; overflow: hidden; color: var(--ak-cream);
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px)); display: flex; flex-direction: column; justify-content: flex-end;
	padding-block: clamp(7rem, 16vh, 10rem) clamp(3.5rem, 9vh, 6rem);
	background: var(--ak-forest);
}
.ak-hero > .ak-hero__media { position: absolute; inset: 0; margin: 0 !important; max-width: none !important; z-index: 0; }
.ak-hero > .ak-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.ak-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(8, 33, 24, .82) 0%, rgba(8, 33, 24, .55) 45%, rgba(8, 33, 24, .1) 80%),
		linear-gradient(0deg, rgba(8, 33, 24, .7) 0%, rgba(8, 33, 24, 0) 45%);
}
.ak-hero > .ak-hero__content { position: relative; z-index: 2; width: 100%; }
.ak-hero__content > * { max-width: 720px; }
.ak-hero h1 { color: var(--ak-cream); margin: 0; font-size: clamp(2.6rem, 6.4vw, 4.9rem); line-height: 1.02; letter-spacing: -.025em; }
.ak-hero h1 em { font-style: italic; font-weight: 420; color: #BFDDB0; }
.ak-hero .ak-eyebrow { color: #BFDDB0; }
.ak-hero .ak-lead { color: rgba(251, 248, 241, .86); margin-top: 1.25rem; }
.ak-hero .wp-block-buttons { margin-top: 2rem; }
.ak-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--ak-cream); }
.ak-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--ak-cream); color: var(--ak-forest); border-color: var(--ak-cream); }

/* ---------- Page hero (inner pages) ---------- */
.ak-page-hero {
	position: relative; overflow: hidden; background: var(--ak-forest); color: var(--ak-cream);
	padding-block: clamp(5.5rem, 13vw, 9rem) clamp(3rem, 6vw, 4.5rem); margin-block: 0 !important;
}
.ak-page-hero > .ak-page-hero__bg { position: absolute; inset: 0; margin: 0 !important; max-width: none !important; z-index: 0; height: 100%; }
.ak-page-hero > .ak-page-hero__bg img { width: 100%; height: 100% !important; object-fit: cover; }
.ak-page-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(90deg, rgba(8, 33, 24, .88) 0%, rgba(8, 33, 24, .6) 55%, rgba(8, 33, 24, .3) 100%), linear-gradient(0deg, rgba(8, 33, 24, .55), rgba(8, 33, 24, 0) 60%);
}
.ak-page-hero__inner { position: relative; z-index: 2; }
.ak-page-hero .wp-block-post-title { color: var(--ak-cream); margin: .75rem 0 0; font-size: clamp(2.4rem, 5.5vw, 4.25rem); letter-spacing: -.02em; }
.ak-page-hero__lead { max-width: 640px; margin-top: 1rem; }
.ak-page-hero__lead p { margin: 0; font-size: clamp(1.075rem, 1.5vw, 1.25rem); color: rgba(251, 248, 241, .85); }
.ak-breadcrumb { display: flex; gap: .6rem; font-size: .85rem; color: rgba(251, 248, 241, .7); }
.ak-breadcrumb a { color: rgba(251, 248, 241, .85); text-decoration: none; }
.ak-breadcrumb a:hover { color: #fff; text-decoration: underline; }

/* ---------- Grids (stats, cards, values) ---------- */
.wp-block-columns.ak-grid { display: grid !important; gap: clamp(1rem, 2vw, 1.75rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.wp-block-columns.ak-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.wp-block-columns.ak-grid > .wp-block-column { margin: 0 !important; min-width: 0; }

.ak-stats { border-top: 1px solid rgba(15, 59, 44, .12); padding-top: 2rem; }
.ak-stat > * { margin: 0; }
.ak-stat__num { font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 520; line-height: 1; color: var(--ak-green); letter-spacing: -.02em; }
.ak-stat__label { margin-top: .5rem !important; color: var(--ak-muted); font-size: .95rem; line-height: 1.45; }

.ak-card {
	height: 100%; display: flex; flex-direction: column; background: #fff; border-radius: var(--ak-radius); overflow: hidden;
	box-shadow: var(--ak-shadow); transition: transform .3s ease, box-shadow .3s ease;
}
.ak-card:hover { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(15, 59, 44, .06), 0 22px 44px -16px rgba(15, 59, 44, .3); }
.ak-card > .wp-block-image { margin: 0; overflow: hidden; }
.ak-card > .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
.ak-card:hover > .wp-block-image img { transform: scale(1.04); }
.ak-card__body { padding: 1.5rem 1.5rem 1.75rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.ak-card__body > * { margin: 0 !important; }
.ak-card__body h3 { font-size: 1.5rem; }
.ak-card__body p { color: var(--ak-muted); font-size: .98rem; line-height: 1.6; }
.ak-card__body .ak-link-arrow { margin-top: auto !important; padding-top: .5rem; }
.ak-card--plain { background: transparent; box-shadow: none; border: 1px solid rgba(15, 59, 44, .14); }
.ak-card--plain:hover { box-shadow: none; transform: none; }
.ak-section--forest .ak-card--plain { border-color: rgba(220, 230, 211, .2); }
.ak-section--forest .ak-card__body p { color: #C3D4BE; }
.ak-card--perivita { background: #fff; border-top: 4px solid #62633F; }
.ak-card__tag { font-size: .75rem !important; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; color: #62633F !important; }

.ak-value > * { margin: 0; }
.ak-value { padding-top: 1.25rem; border-top: 2px solid var(--ak-sand); }
.ak-section--forest .ak-value { border-color: rgba(220, 230, 211, .25); }
.ak-value h3 { font-size: 1.3rem; margin-bottom: .5rem !important; display: flex; align-items: center; gap: .6rem; }
.ak-value h3::before {
	content: ""; width: 1.4rem; height: 1.4rem; flex-shrink: 0; background: var(--ak-leaf);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5S8 2.5 4.6 10.2c-1.5 3.4-.4 6.6.9 8.3L3.3 20.7a1 1 0 1 0 1.4 1.4l2.2-2.2c1.7 1.3 4.9 2.4 8.3.9C22.9 17.4 20.5 3.5 20.5 3.5z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5S8 2.5 4.6 10.2c-1.5 3.4-.4 6.6.9 8.3L3.3 20.7a1 1 0 1 0 1.4 1.4l2.2-2.2c1.7 1.3 4.9 2.4 8.3.9C22.9 17.4 20.5 3.5 20.5 3.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ak-section--forest .ak-value h3::before { background: #A8CC9C; }
.ak-value p { color: var(--ak-muted); font-size: .98rem; }
.ak-section--forest .ak-value p { color: #C3D4BE; }

/* ---------- Split (image + text) ---------- */
.ak-split { gap: clamp(2rem, 6vw, 5.5rem) !important; align-items: center !important; }
.ak-split > .wp-block-column > :first-child { margin-top: 0; }
.ak-split .wp-block-image { margin: 0; }
.ak-split .wp-block-image img { width: 100%; border-radius: var(--ak-radius); aspect-ratio: 5 / 4; object-fit: cover; box-shadow: var(--ak-shadow); }
.ak-split .ak-img-tall img { aspect-ratio: 4 / 5; }
@media (min-width: 782px) {
	.ak-split--reverse { flex-direction: row-reverse; }
}

/* Two overlapping photos */
.ak-stack { position: relative; padding: 0 0 18% 0; }
.ak-stack > .wp-block-image:first-child img { aspect-ratio: 4 / 3.4; }
.ak-stack > .wp-block-image:last-child {
	position: absolute; right: -4%; bottom: 0; width: 52%; margin: 0;
}
.ak-stack > .wp-block-image:last-child img { aspect-ratio: 1; border: 6px solid var(--ak-cream); box-shadow: var(--ak-shadow); }
.ak-section--forest .ak-stack > .wp-block-image:last-child img { border-color: var(--ak-forest); }
.ak-section--parchment .ak-stack > .wp-block-image:last-child img { border-color: var(--ak-parchment); }
@media (max-width: 781px) { .ak-stack > .wp-block-image:last-child { right: 0; } }

/* ---------- Lists ---------- */
ul.ak-checks, .wp-block-list.is-style-checks { list-style: none; padding-left: 0; display: grid; gap: .8rem; }
ul.ak-checks li, .wp-block-list.is-style-checks li { position: relative; padding-left: 2.1rem; line-height: 1.55; }
ul.ak-checks li::before, .wp-block-list.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .1rem; width: 1.35rem; height: 1.35rem; border-radius: 50%;
	background: var(--ak-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C5E45' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.ak-section--forest ul.ak-checks li::before { background-color: rgba(168, 204, 156, .2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8CC9C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E"); }
.ak-section--forest ul.ak-checks li { color: #E3ECDF; }

ol.ak-steps { list-style: none; counter-reset: ak-step; padding: 0; margin: 0; display: grid; gap: 0; }
ol.ak-steps > li {
	counter-increment: ak-step; position: relative; padding: 1.4rem 0 1.4rem 4.25rem; border-top: 1px solid rgba(15, 59, 44, .12);
}
ol.ak-steps > li:last-child { border-bottom: 1px solid rgba(15, 59, 44, .12); }
ol.ak-steps > li::before {
	content: counter(ak-step, decimal-leading-zero); position: absolute; left: 0; top: 1.15rem;
	font-family: var(--wp--preset--font-family--serif); font-size: 2rem; line-height: 1; color: var(--ak-leaf); font-weight: 400;
}
ol.ak-steps strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; font-weight: 560; color: var(--ak-forest); margin-bottom: .2rem; }
.ak-section--forest ol.ak-steps > li { border-color: rgba(220, 230, 211, .18); color: #C3D4BE; }
.ak-section--forest ol.ak-steps strong { color: var(--ak-cream); }
.ak-section--forest ol.ak-steps > li::before { color: #A8CC9C; }
.ak-section--perivita ol.ak-steps > li::before { color: #62633F; }

/* ---------- Product rows ---------- */
.ak-product { gap: clamp(2rem, 6vw, 5rem) !important; align-items: center !important; }
.ak-product + .ak-product { margin-top: clamp(3.5rem, 8vw, 6rem) !important; }
.ak-product .wp-block-image { margin: 0; }
.ak-product .wp-block-image img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--ak-radius); box-shadow: var(--ak-shadow); }
.ak-product__num { font-family: var(--wp--preset--font-family--serif); font-size: 1rem; font-weight: 500; color: var(--ak-tomato); letter-spacing: .08em; margin: 0 0 .25rem !important; }
.ak-product h3 { font-size: clamp(2rem, 3.5vw, 2.6rem); margin-top: 0; }
@media (min-width: 782px) {
	.ak-product:nth-of-type(even) { flex-direction: row-reverse; }
}

/* ---------- CTA band ---------- */
.ak-cta { text-align: center; }
.ak-cta h2 { max-width: 820px; margin-inline: auto; }
.ak-cta .ak-lead { max-width: 620px; margin-inline: auto; }
.ak-cta .wp-block-buttons { justify-content: center; margin-top: 2rem; }

/* ---------- Note / callout ---------- */
.ak-note { padding: 1.25rem 1.5rem; border-radius: var(--ak-radius-sm); background: var(--ak-parchment); border-left: 4px solid var(--ak-leaf); color: var(--ak-ink); }
.ak-section--parchment .ak-note { background: #fff; }

/* ---------- Gallery ---------- */
.ak-gallery.wp-block-gallery { gap: clamp(.6rem, 1.4vw, 1rem); }
.ak-gallery.wp-block-gallery .wp-block-image img { border-radius: var(--ak-radius-sm); }
.ak-gallery.wp-block-gallery .wp-block-image { overflow: hidden; border-radius: var(--ak-radius-sm); }

/* ---------- Contact ---------- */
.ak-contact-card {
	background: var(--ak-forest); color: #D5E2D0; border-radius: var(--ak-radius); padding: clamp(1.75rem, 4vw, 2.5rem);
	height: 100%;
}
.ak-contact-card :where(h2, h3) { color: var(--ak-cream); margin-top: 0; }
.ak-contact-card a { color: var(--ak-cream); }
.ak-contact-card .ak-contact-item { margin: 0; padding: 1rem 0; border-top: 1px solid rgba(220, 230, 211, .16); }
.ak-contact-card .ak-contact-item strong { display: block; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: #A8CC9C; font-weight: 650; margin-bottom: .2rem; }
.ak-map { margin-top: 0; }
.ak-map iframe { display: block; width: 100%; height: clamp(320px, 45vw, 460px); border: 0; border-radius: var(--ak-radius); filter: saturate(.85); }

.ak-form { display: grid; gap: 1rem; background: #fff; border-radius: var(--ak-radius); padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--ak-shadow); }
.ak-form p { margin: 0; }
.ak-form__row { display: grid; gap: 1rem; }
@media (min-width: 640px) { .ak-form__row { grid-template-columns: 1fr 1fr; } }
.ak-field label { display: block; font-size: .875rem; font-weight: 600; color: var(--ak-forest); margin-bottom: .4rem; }
.ak-field input, .ak-field select, .ak-field textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--ak-ink);
	padding: .85rem 1rem; border: 1px solid #D8CFBC; border-radius: var(--ak-radius-sm); background: var(--ak-cream);
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.ak-field textarea { resize: vertical; min-height: 140px; }
.ak-field input:focus, .ak-field select:focus, .ak-field textarea:focus { outline: none; border-color: var(--ak-leaf); background: #fff; box-shadow: 0 0 0 4px rgba(76, 139, 94, .18); }
.ak-form__hint { font-size: .85rem; color: var(--ak-muted); }
.ak-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ak-form__notice { padding: 1rem 1.25rem; border-radius: var(--ak-radius-sm); font-weight: 550; }
.ak-form__notice--ok { background: var(--ak-sage); color: var(--ak-forest); }
.ak-form__notice--error { background: #F8E1DA; color: #7A2915; }
.ak-form .ak-btn { width: 100%; }
@media (min-width: 640px) { .ak-form .ak-btn { width: auto; } }

/* ---------- Footer ---------- */
.ak-site-footer { background: var(--ak-forest); color: #BFD0BA; margin-top: 0; }
.ak-footer__inner {
	max-width: calc(var(--ak-wide) + 2 * var(--ak-gutter)); margin: 0 auto; padding: clamp(3.5rem, 7vw, 5rem) var(--ak-gutter) 2.5rem;
	display: grid; gap: 2.5rem; grid-template-columns: 1fr;
}
@media (min-width: 782px) { .ak-footer__inner { grid-template-columns: 1.6fr 1fr 1.2fr; gap: 3rem; } }
.ak-brand--footer { color: var(--ak-cream); }
.ak-brand--footer .ak-brand__logo { width: 64px; height: 64px; }
.ak-brand--footer .ak-brand__year { color: #A8CC9C; }
.ak-footer__brand p { max-width: 380px; margin-top: 1.25rem; font-size: .95rem; line-height: 1.65; }
.ak-footer__title { font-family: var(--wp--preset--font-family--sans); font-size: .75rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; color: #A8CC9C; margin: .5rem 0 1rem; }
.ak-footer__links, .ak-footer__contact { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.ak-site-footer a { color: var(--ak-cream); text-decoration: none; }
.ak-site-footer a:hover { text-decoration: underline; }
.ak-footer__contact li { display: flex; gap: .75rem; align-items: flex-start; font-size: .95rem; }
.ak-icon { width: 1.15rem; height: 1.15rem; flex-shrink: 0; fill: currentColor; margin-top: .2rem; }
.ak-footer__contact .ak-icon { color: #A8CC9C; }
.ak-footer__bottom {
	max-width: calc(var(--ak-wide) + 2 * var(--ak-gutter)); margin: 0 auto; padding: 1.5rem var(--ak-gutter) 2rem;
	border-top: 1px solid rgba(220, 230, 211, .14); display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; font-size: .85rem;
}
.ak-footer__bottom p { margin: 0; }
.ak-lang--footer { background: rgba(220, 230, 211, .1); }
.ak-lang--footer a { color: #BFD0BA; }
.ak-lang--footer a[aria-current="true"] { background: var(--ak-cream); color: var(--ak-forest); }

/* ---------- Plain pages / 404 ---------- */
.ak-main--plain { padding-block: clamp(3rem, 8vw, 6rem); }
.ak-notfound { text-align: center; padding-block: 3rem; }
.ak-notfound .ak-eyebrow { justify-content: center; }

/* ---------- Reveal ---------- */
.ak-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.ak-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Editor tweaks ---------- */
.editor-styles-wrapper .ak-reveal { opacity: 1; transform: none; }
.editor-styles-wrapper .ak-hero { min-height: 560px; }

/* ---------- Utilities ---------- */
.wp-block-buttons.ak-center { justify-content: center; margin-top: clamp(2rem, 4vw, 3rem); }
.ak-site-footer { background: #0A2C21; }
.ak-stats.wp-block-columns.ak-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); row-gap: 2rem; }
@media (max-width: 599px) { .ak-stats.wp-block-columns.ak-grid { grid-template-columns: 1fr 1fr; } }

/* ---------- Transparent header over hero images ---------- */
.ak-has-hero .ak-site-header { position: fixed; left: 0; right: 0; }
.ak-site-header::before { transition: opacity .3s ease; }
.ak-has-hero:not(.ak-scrolled):not(.ak-menu-open) .ak-site-header,
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-site-header { border-color: transparent; box-shadow: none; }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-site-header::before { opacity: 0; }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-brand { color: var(--ak-cream); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-brand__year { color: #BFDDB0; }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-nav__list a { color: rgba(251, 248, 241, .92); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-nav__list a:hover { color: #fff; }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-nav__list a[aria-current="page"] { color: #fff; border-color: #BFDDB0; }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-header__actions .ak-lang { background: rgba(251, 248, 241, .14); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-header__actions .ak-lang a { color: rgba(251, 248, 241, .85); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-header__actions .ak-lang a[aria-current="true"] { background: var(--ak-cream); color: var(--ak-forest); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-header__actions .ak-btn { background: var(--ak-cream); color: var(--ak-forest); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-burger { background: rgba(251, 248, 241, .16); }
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-burger__lines,
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-burger__lines::before,
html:not(.ak-scrolled):not(.ak-menu-open) .ak-has-hero .ak-burger__lines::after { background: var(--ak-cream); }
.ak-brand, .ak-brand__year, .ak-nav__list a, .ak-lang, .ak-lang a, .ak-header__actions .ak-btn, .ak-burger { transition: color .3s, background-color .3s, border-color .3s; }
/* Darken the top of hero photos so the light header text stays readable. */
.ak-hero::before, .ak-page-hero::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 220px; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(8, 33, 24, .6) 0%, rgba(8, 33, 24, 0) 100%);
}
.ak-page-hero { padding-top: calc(var(--ak-header-h) + clamp(3.5rem, 9vw, 6.5rem)); }
.wp-block-image.ak-img-top img { object-position: center 20%; }

/* ---------- Perivita brand + captions ---------- */
.wp-block-image.ak-logo-pv { margin: 0 0 1.5rem; }
.wp-block-image.ak-logo-pv img { width: 170px; height: auto; aspect-ratio: 640 / 415; border-radius: 0; box-shadow: none; }
.ak-split .wp-block-image.ak-logo-pv img { width: 170px; aspect-ratio: 640 / 415; border-radius: 0; box-shadow: none; }
.ak-split .wp-block-image figcaption, .ak-product .wp-block-image figcaption { margin-top: .85rem; font-size: .9rem; line-height: 1.5; color: var(--ak-muted); text-align: left; }
.ak-split .wp-block-image figcaption strong { color: var(--ak-forest); }
/* 3-up grids stay at exactly 3 columns on desktop (9 seedlings = 3 even rows). */
@media (min-width: 900px) { .wp-block-columns.ak-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 600px) and (max-width: 899px) { .wp-block-columns.ak-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ak-card img.wp-image-graft, .ak-card .wp-block-image img[src*="nursery-grafted-seedling"] { object-position: center 35%; }
/* Brand card: logo fills the image slot on a tinted panel (homepage Perivita card) */
.ak-card--brand > .wp-block-image { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; background: #EEEDE2; }
.ak-card--brand > .wp-block-image img { width: 52%; height: auto; aspect-ratio: 640 / 415; object-fit: contain; }
.ak-card--brand:hover > .wp-block-image img { transform: scale(1.03); }
/* Note: lazy images get sizes="auto", and browsers then force `contain: size` on them; their height
   comes only from aspect-ratio. Never set `aspect-ratio: auto` on images — give a real ratio instead. */
