/*
Theme Name: AgroÖrebro 2026
Author: AgroÖrebro
Description: Ett modernt, responsivt child theme för AgroÖrebro.
Version: 2.1.0
Template: astra
Text Domain: agroorebro
*/

:root {
	--agro-ink: #17352a;
	--agro-deep: #102b21;
	--agro-green: #24503b;
	--agro-lime: #cbdc6a;
	--agro-cream: #f3f0e7;
	--agro-sand: #ddd5c5;
	--agro-white: #fff;
	--agro-muted: #647269;
	--agro-border: #abb5ae;
	--agro-display: "Manrope", sans-serif;
	--agro-body: "DM Sans", sans-serif;
}

html { scroll-behavior: smooth; }
body.agro-2026 {
	margin: 0;
	background: var(--agro-cream);
	color: var(--agro-ink);
	font-family: var(--agro-body);
	font-size: 17px;
	line-height: 1.65;
}
.agro-2026 *, .agro-2026 *::before, .agro-2026 *::after { box-sizing: border-box; }
.agro-2026 h1, .agro-2026 h2, .agro-2026 h3, .agro-2026 h4 {
	color: inherit;
	font-family: var(--agro-display);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: 1.08;
}
.agro-2026 p { margin: 0 0 1.4em; }
.agro-2026 a { color: inherit; }
.agro-2026 img { display: block; max-width: 100%; }
.agro-container { width: min(1210px, calc(100% - 48px)); margin: 0 auto; }
.agro-section { padding: 120px 0; }
.agro-section--tight { padding: 82px 0; }
.agro-eyebrow {
	margin: 0 0 24px;
	color: #557064;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.agro-eyebrow--light { color: var(--agro-lime); }
.agro-display {
	margin: 0;
	font-size: clamp(42px, 5.2vw, 76px);
	font-weight: 600;
}
.agro-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 35px;
	margin-bottom: 58px;
}
.agro-section-head h2 { margin: 0; font-size: clamp(42px, 4.3vw, 68px); }
.agro-text-link {
	display: inline-flex;
	gap: 28px;
	align-items: center;
	padding-bottom: 7px;
	border-bottom: 1px solid #829188;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.agro-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin-top: .5cm;
	padding: 16px 23px;
	border: 1px solid transparent;
	border-radius: 3px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform .2s, background .2s, color .2s;
}
.agro-button:hover { transform: translateY(-2px); }
.agro-button--lime { background: var(--agro-lime); color: var(--agro-ink) !important; }
.agro-button--white { background: white; color: var(--agro-ink) !important; }
.agro-button--dark { background: var(--agro-ink); color: white !important; }
.agro-button--ghost { border-color: rgba(255,255,255,.6); color: white !important; }

/* Header */
.agro-header {
	position: absolute;
	z-index: 100;
	top: 0;
	right: 0;
	left: 0;
	height: 96px;
	border-bottom: 1px solid rgba(255,255,255,.23);
	color: white;
}
.admin-bar .agro-header { top: 32px; }
.agro-header.is-solid, body:not(.home) .agro-header {
	position: relative;
	background: var(--agro-deep);
}
.agro-header__inner {
	width: min(1380px, calc(100% - 48px));
	height: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.agro-logo { width: 160px; height: 65px; overflow: hidden; display: flex; align-items: center; }
.agro-logo img { width: 154px; filter: brightness(0) invert(1); }
.agro-nav { display: flex; align-items: center; gap: clamp(18px, 2.25vw, 36px); }
.agro-nav a { color: white; font-size: 14px; font-weight: 650; text-decoration: none; }
.agro-nav__cta { padding: 12px 19px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; }
.agro-menu-toggle { display: none; border: 0; background: transparent; color: white; }

/* Hero */
.agro-hero {
	position: relative;
	min-height: 820px;
	height: 94vh;
	max-height: 980px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--agro-deep);
	color: white;
}
.agro-hero__image, .agro-hero__shade { position: absolute; inset: 0; }
.agro-hero__image { width: 100%; height: 100%; object-fit: cover; }
.agro-hero__shade {
	background:
		linear-gradient(90deg, rgba(11,38,26,.92) 0%, rgba(15,45,31,.63) 47%, rgba(15,44,30,.08) 80%),
		linear-gradient(0deg, rgba(10,31,22,.38), transparent 50%);
}
.agro-hero__content {
	position: relative;
	z-index: 2;
	width: min(870px, 88vw);
	margin-left: max(24px, calc((100vw - 1210px) / 2));
	padding-top: 65px;
}
.agro-hero h1 {
	max-width: 870px;
	margin: 0 0 26px;
	font-size: clamp(54px, 7vw, 104px);
	font-weight: 600;
	line-height: .98;
}
.agro-hero__lead { max-width: 680px; color: rgba(255,255,255,.88); font-size: clamp(18px, 1.6vw, 23px); }
.agro-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 37px; }
.agro-actions .agro-button { margin-top: 0; }
.agro-scroll {
	position: absolute;
	z-index: 3;
	right: max(24px, calc((100vw - 1380px) / 2));
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 13px;
	color: white;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	text-decoration: none;
	text-transform: uppercase;
}
.agro-scroll span { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; display: grid; place-items: center; }

/* Homepage */
.agro-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 10vw; align-items: end; }
.agro-intro h2 { margin: 0; font-size: clamp(42px, 4.3vw, 68px); }
.agro-intro__copy { color: #53645c; font-size: 19px; }
.agro-focus { display: grid; grid-template-columns: repeat(3, 1fr); }
.agro-focus__item { min-height: 530px; padding: 45px; display: flex; flex-direction: column; justify-content: space-between; }
.agro-focus__item:nth-child(1) { background: #d7df82; }
.agro-focus__item:nth-child(2) { background: var(--agro-green); color: white; }
.agro-focus__item:nth-child(3) { background: var(--agro-sand); }
.agro-focus__number { font-family: var(--agro-display); font-size: 13px; opacity: .7; }
.agro-focus h3 { margin: 0 0 18px; font-size: clamp(29px, 2.2vw, 39px); }
.agro-focus p { opacity: .75; }
.agro-focus a { display: inline-flex; gap: 24px; margin-top: 18px; padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 700; text-decoration: none; }

/* Cards */
.agro-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.agro-grid--four { grid-template-columns: repeat(4, 1fr); gap: 17px; }
.agro-grid--four .agro-card__body { min-height: 225px; padding: 24px 22px; }
.agro-grid--four .agro-card h3 { font-size: 22px; }
.agro-filter-links { display: flex; flex-wrap: wrap; gap: 10px; margin: -28px 0 42px; }
.agro-filter-links a { padding: 9px 14px; border: 1px solid var(--agro-border); border-radius: 999px; background: rgba(255,255,255,.55); font-size: 13px; font-weight: 700; text-decoration: none; }
.agro-filter-links span { margin-left: 5px; color: var(--agro-muted); }
.agro-card { margin: 0; background: white; border: 0; }
.agro-card > a { display: block; height: 100%; color: inherit; text-decoration: none; }
.agro-card__media { position: relative; aspect-ratio: 1.3; overflow: hidden; background: var(--agro-green); }
.agro-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.agro-card:hover .agro-card__media img { transform: scale(1.04); }
.agro-card__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--agro-green), #7d986b); }
.agro-card__index, .agro-card__arrow { position: absolute; display: grid; place-items: center; border-radius: 50%; }
.agro-card__index { top: 18px; left: 18px; width: 42px; height: 42px; background: rgba(255,255,255,.94); font-size: 11px; font-weight: 800; }
.agro-card__arrow { right: 18px; bottom: 18px; width: 48px; height: 48px; background: var(--agro-lime); font-size: 20px; }
.agro-card__body { min-height: 260px; padding: 30px 29px; }
.agro-card__meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: #66776e; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.agro-card h3 { margin: 17px 0 13px; font-size: 27px; }
.agro-card p { color: var(--agro-muted); font-size: 15px; line-height: 1.6; }

/* Featured event */
.agro-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 690px; background: var(--agro-deep); color: white; }
.agro-feature__media { position: relative; min-height: 560px; background: #cadb78; }
.agro-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.agro-feature__date { position: absolute; top: 38px; left: 38px; min-width: 112px; padding: 22px 16px; background: var(--agro-lime); color: var(--agro-ink); text-align: center; }
.agro-feature__date strong { display: block; font-family: var(--agro-display); font-size: 40px; line-height: 1; }
.agro-feature__date span { font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.agro-feature__content { padding: clamp(60px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; }
.agro-feature h2 { margin: 0 0 25px; font-size: clamp(40px, 4vw, 64px); }
.agro-feature__content > p { color: rgba(255,255,255,.72); font-size: 18px; }

/* News rows */
.agro-news-list { border-top: 1px solid var(--agro-border); }
.agro-news-row {
	display: grid;
	grid-template-columns: .7fr 1.8fr auto;
	gap: 35px;
	align-items: center;
	min-height: 145px;
	border-bottom: 1px solid var(--agro-border);
	color: inherit;
	text-decoration: none;
}
.agro-news-row__meta { color: var(--agro-muted); font-size: 13px; }
.agro-news-row h3 { margin: 0; font-size: clamp(23px, 2vw, 31px); }
.agro-round-arrow { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid #94a399; border-radius: 50%; font-size: 20px; }

/* Page and single */
.agro-page-hero {
	padding: 130px 0 90px;
	background: var(--agro-deep);
	color: white;
}
.agro-page-hero .agro-eyebrow { margin-bottom: 18px; }
.agro-page-hero h1 { max-width: 1050px; margin: 0; font-size: clamp(48px, 6vw, 84px); }
.agro-page-hero p { max-width: 720px; margin-top: 24px; color: rgba(255,255,255,.7); font-size: 19px; }
.agro-content-wrap { width: min(880px, calc(100% - 48px)); margin: 0 auto; padding: 90px 0 120px; }
.agro-content-wrap--wide { width: min(1210px, calc(100% - 48px)); }
.agro-entry { font-size: 18px; line-height: 1.75; }
.agro-entry h2 { margin-top: 1.4em; font-size: clamp(34px, 3.3vw, 50px); }
.agro-entry h3 { margin-top: 1.5em; font-size: 28px; }
.agro-entry a { color: #2a6449; text-decoration: underline; text-underline-offset: 3px; }
.agro-entry img { border-radius: 2px; }
.agro-entry .elementor { margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); }
.agro-single-image { width: min(1210px, calc(100% - 48px)); max-height: 680px; margin: -45px auto 0; position: relative; }
.agro-single-image img { width: 100%; max-height: 680px; object-fit: cover; }
.agro-single-meta { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-top: 25px; color: var(--agro-lime); font-size: 13px; font-weight: 700; }
.agro-details { margin: 50px 0; padding: 30px; background: #e4dfd2; }
.agro-details dt { color: var(--agro-muted); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.agro-details dd { margin: 4px 0 20px; font-weight: 600; }
.agro-single-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 65px; align-items: start; }
.agro-single-facts { position: sticky; top: 30px; padding: 28px; background: #e4dfd2; }
.agro-single-facts h2 { margin: 0 0 22px; font-size: 24px; }
.agro-single-facts dl { margin: 0; }
.agro-single-facts dt { color: var(--agro-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.agro-single-facts dd { margin: 3px 0 18px; font-weight: 650; }
.agro-single-facts .agro-button { width: 100%; }
.agro-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 60px; }
.agro-pagination .page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--agro-border); text-decoration: none; }
.agro-pagination .current { background: var(--agro-ink); color: white; }
.agro-empty { padding: 45px; background: white; color: var(--agro-muted); }

/* Contact and CTA */
.agro-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-bottom: 55px; }
.agro-contact-card { padding: 38px; background: white; }
.agro-contact-card h2 { margin: 0 0 8px; font-size: 34px; }
.agro-contact-card p { color: var(--agro-muted); }
.agro-contact-card a { display: block; margin: 5px 0; color: var(--agro-green); text-decoration: none; }
.agro-cta { padding: 125px 24px; background: var(--agro-green); color: white; text-align: center; }
.agro-cta h2 { max-width: 940px; margin: 0 auto 40px; font-size: clamp(42px, 5vw, 74px); }

/* Footer */
.agro-footer { padding: 78px 0 28px; background: #0d271e; color: white; }
.agro-footer__funders { position: relative; display: flex; align-items: center; justify-content: center; min-height: 125px; margin-bottom: 58px; padding-bottom: 38px; border-bottom: 1px solid rgba(255,255,255,.13); }
.agro-footer__funders > span { position: absolute; left: 0; color: var(--agro-lime); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.agro-footer__funders > div { display: flex; align-items: center; justify-content: center; gap: 28px; }
.agro-footer__funders img { width: 132px; height: 90px; object-fit: contain; filter: grayscale(1) brightness(0) invert(1); opacity: .88; }
.agro-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1.4fr 1fr; gap: 50px; padding-bottom: 70px; }
.agro-footer__brand { font-family: var(--agro-display); font-size: 25px; font-weight: 800; }
.agro-footer__brand span { font-weight: 400; }
.agro-footer__about { max-width: 290px; margin-top: 22px; color: rgba(255,255,255,.58); font-size: 15px; }
.agro-footer h3 { margin: 0 0 18px; color: var(--agro-lime); font-family: var(--agro-body); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.agro-footer a { display: block; margin: 9px 0; color: rgba(255,255,255,.72); font-size: 14px; text-decoration: none; }
.agro-footer__bottom { padding-top: 26px; border-top: 1px solid rgba(255,255,255,.13); display: flex; justify-content: space-between; color: rgba(255,255,255,.42); font-size: 11px; }

/* Forms */
.agro-2026 input:not([type="submit"]), .agro-2026 textarea, .agro-2026 select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #a8b1aa;
	border-radius: 2px;
	background: white;
	color: var(--agro-ink);
}
.agro-2026 input[type="submit"], .agro-2026 button[type="submit"] {
	padding: 15px 24px;
	border: 0;
	border-radius: 2px;
	background: var(--agro-ink);
	color: white;
	font-weight: 700;
}

@media (max-width: 960px) {
	.agro-menu-toggle { display: block; width: 46px; height: 46px; font-size: 0; cursor: pointer; }
	.agro-menu-toggle::before, .agro-menu-toggle::after { content: ""; display: block; width: 27px; height: 1px; margin: 7px auto; background: white; }
	.agro-nav { position: absolute; top: 96px; right: 0; left: 0; display: none; padding: 30px 24px; background: var(--agro-deep); flex-direction: column; align-items: flex-start; }
	.agro-nav.is-open { display: flex; }
	.agro-intro { grid-template-columns: 1fr; gap: 35px; }
	.agro-focus { grid-template-columns: 1fr; }
	.agro-focus__item { min-height: 420px; padding: 35px 27px; }
	.agro-grid { grid-template-columns: 1fr 1fr; }
	.agro-grid--four { grid-template-columns: 1fr 1fr; }
	.agro-single-layout { grid-template-columns: 1fr; gap: 40px; }
	.agro-single-facts { position: static; }
	.agro-feature { grid-template-columns: 1fr; }
	.agro-feature__media { min-height: 520px; }
	.agro-footer__grid { grid-template-columns: 1fr 1fr; }
	.agro-footer__identity { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
	.admin-bar .agro-header { top: 46px; }
	.agro-container, .agro-header__inner, .agro-content-wrap, .agro-content-wrap--wide, .agro-single-image { width: min(100% - 34px, 1210px); }
	.agro-section { padding: 78px 0; }
	.agro-section-head { align-items: flex-start; flex-direction: column; }
	.agro-hero { min-height: 760px; }
	.agro-hero__content { width: auto; margin: 0 20px; }
	.agro-hero h1 { font-size: 50px; }
	.agro-scroll { display: none; }
	.agro-actions .agro-button { width: 100%; }
	.agro-grid, .agro-contact-grid { grid-template-columns: 1fr; }
	.agro-grid--four { grid-template-columns: 1fr; }
	.agro-feature__content { padding: 65px 20px; }
	.agro-feature__media { min-height: 450px; }
	.agro-news-row { grid-template-columns: 1fr auto; gap: 14px; padding: 25px 0; }
	.agro-news-row__meta { grid-column: 1; }
	.agro-news-row h3 { grid-column: 1; }
	.agro-news-row .agro-round-arrow { grid-column: 2; grid-row: 1 / 3; }
	.agro-footer__grid { grid-template-columns: 1fr; }
	.agro-footer__funders { justify-content: flex-start; flex-wrap: wrap; }
	.agro-footer__funders > span { position: static; flex-basis: 100%; }
	.agro-footer__funders > div { width: 100%; gap: 18px; }
	.agro-footer__funders img { width: calc((100% - 36px) / 3); height: 72px; }
	.agro-footer__identity { grid-column: auto; }
	.agro-footer__bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}
