/* Agro-Plus Bogate — template styles */

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 400 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("../fonts/archivo-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 400 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("../fonts/archivo-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--ink: #141714;
	--ink-2: #3E4640;
	--muted: #4F5751;
	--muted-2: #5A615B;
	--ground: #F3F4F5;
	--surface: #FFFFFF;
	--line: #E1E3E5;
	--line-2: #ECEDEF;
	--dark: #0F1611;
	--dark-2: #18221B;
	--on-dark: #C9D1CA;
	--on-dark-muted: #9AA59C;
	--accent: #17803A;
	--accent-hover: #0F5E2A;
	--accent-on-dark: #8FD3A0;
	--df-box: #2A7B2A;
	--radius: 6px;
	--container: 1240px;
	--gutter: 24px;
	--font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
}

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

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--ground);
	color: var(--ink);
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
}

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

a { color: var(--accent); text-underline-offset: 2px; }
a:hover { color: var(--accent-hover); }

:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

.visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link {
	position: absolute; left: 16px; top: -100px; z-index: 100;
	background: var(--dark); color: #fff; padding: 12px 16px; border-radius: 4px;
}
.skip-link:focus { top: 12px; }

.container {
	max-width: var(--container);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}

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

h1, h2, h3, h4 { margin: 0 0 0.6em; line-height: 1.1; color: inherit; }

h1, .h1 {
	font-size: clamp(32px, 4vw, 54px);
	font-weight: 850;
	
	text-transform: uppercase;
	line-height: 1;
}

h2, .h2 {
	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 850;
	
	text-transform: uppercase;
	line-height: 1.05;
}

h3, .h3 { font-size: 20px; font-weight: 800; }
h4 { font-size: 17px; font-weight: 800; }

p { margin: 0 0 1em; }

.eyebrow {
	display: block;
	margin-bottom: 10px;
	color: var(--accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.lead { font-size: 18px; line-height: 1.6; color: var(--ink-2); }

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

.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 44px; padding: 12px 22px;
	border: 1.5px solid transparent; border-radius: 4px;
	font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.btn--primary { background: var(--accent); color: #fff; }
.btn--primary:hover { background: var(--accent-hover); color: #fff; }
.btn--outline { border-color: #B9B8B0; color: var(--ink); background: transparent; }
.btn--outline:hover { border-color: var(--ink); color: var(--ink); }
.btn--ghost-dark { border-color: #5D6A60; color: #fff; }
.btn--ghost-dark:hover { border-color: #fff; color: #fff; }
.btn--white { background: #fff; color: var(--dark); }
.btn--white:hover { background: var(--ground); color: var(--dark); }

/* ---------- Header ---------- */

.site-header {
	position: relative;
	z-index: 50;
	background: var(--surface);
	border-bottom: 1px solid var(--line);
}

.site-header__inner {
	position: relative;
	display: flex; align-items: center; justify-content: space-between; gap: 12px 28px;
	min-height: 76px;
	padding-right: calc(var(--gutter) + 116px);
}

.site-header__brand { flex: none; }
.site-header__brand img { width: 169px; height: 38px; }

.site-header__nav { display: flex; align-items: center; gap: 12px 24px; }

.site-header__nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 4px 18px; }
.site-header__nav li { position: relative; }
.site-header__nav nav a,
.site-header__nav .mega-toggle {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 0 7px;
	border: 0; border-bottom: 3px solid transparent;
	background: none;
	color: var(--ink);
	font: inherit; font-size: 15px; font-weight: 650;
	text-decoration: none;
	cursor: pointer;
}
.site-header__nav nav a:hover,
.site-header__nav .mega-toggle:hover { color: var(--accent); }
.site-header__nav .current > a,
.site-header__nav .active > a,
.site-header__nav .mega-toggle[aria-expanded="true"] { border-bottom-color: var(--accent); }
.mega-toggle svg { flex: none; transition: transform .15s; }
.mega-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.site-header__actions { display: flex; align-items: center; gap: 16px; }
.site-header__actions .btn { padding: 10px 16px; font-size: 14px; white-space: nowrap; }
.site-header__phone { color: var(--ink); font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; white-space: nowrap; }

.site-header__toggle {
	display: none;
	width: 44px; height: 44px;
	align-items: center; justify-content: center;
	border: 1.5px solid var(--line); border-radius: 4px;
	background: #fff; color: var(--ink); cursor: pointer;
}

.df-box {
	position: absolute; z-index: 3; top: 0; right: var(--gutter);
	width: 96px; height: 104px;
	display: flex; flex-direction: column; align-items: center; justify-content: space-between;
	padding: 12px 6px 8px;
	background: var(--df-box);
	box-shadow: 0 6px 18px rgba(15, 22, 17, .25);
	text-decoration: none;
}
.df-box img { width: 53px; height: 64px; }
.df-box span {
	color: #fff; font-size: 7.5px; font-weight: 700; letter-spacing: .06em;
	text-align: center; text-transform: uppercase; line-height: 1.25;
}

/* ---------- Mega menu ---------- */

.mega {
	position: absolute; left: 0; right: 0; top: 100%;
	background: var(--surface);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	box-shadow: 0 24px 48px rgba(15, 22, 17, .16);
}
.mega[hidden] { display: none; }

.mega__tabs { display: inline-flex; gap: 4px; padding: 4px; margin: 22px 0 0; background: #EDECE6; border-radius: 4px; }
.mega__tabs button {
	min-height: 40px; padding: 9px 16px; border: 0; border-radius: 3px;
	background: transparent; color: var(--muted);
	font: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
}
.mega__tabs button[aria-selected="true"] { background: #fff; color: var(--ink); }

.mega__body { display: flex; flex-wrap: wrap; gap: 32px; padding: 22px 0 30px; }
.mega__panel { display: contents; }
.mega__panel[hidden] { display: none; }

.mega__hero {
	flex: 1 1 280px; min-height: 300px; max-height: 380px; align-self: flex-start; position: relative; overflow: hidden;
	display: flex; flex-direction: column; justify-content: flex-end;
	border-radius: var(--radius); background: var(--dark);
	color: #fff; text-decoration: none;
}
.mega__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mega__hero-caption { position: relative; display: flex; align-items: flex-end; gap: 14px; padding: 20px; background: rgba(15, 22, 17, .82); }
.mega__hero-caption .df-mini { flex: none; padding: 8px 7px; background: var(--df-box); }
.mega__hero-caption .df-mini img { position: static; width: 35px; height: 42px; }
.mega__hero-caption small { display: block; color: var(--accent-on-dark); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mega__hero-caption strong { display: block; font-size: 20px; font-weight: 850; text-transform: uppercase; line-height: 1.05; }
.mega__hero:hover { color: #fff; }

.mega__col { flex: 1 1 300px; display: flex; flex-direction: column; gap: 20px; }
.mega__col--wide { flex: 1.4 1 400px; }
.mega__label { color: var(--accent); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.mega__series { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.mega__series a { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; color: var(--ink); font-size: 15px; font-weight: 650; text-decoration: none; }
.mega__series a:hover { color: var(--accent); }
.mega__series small { color: var(--muted-2); font-size: 13px; font-weight: 400; font-variant-numeric: tabular-nums; }

.mega__links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
.mega__links a { display: flex; flex-direction: column; gap: 2px; color: var(--ink); text-decoration: none; font-weight: 750; font-size: 15px; }
.mega__links small { color: var(--muted-2); font-size: 13px; font-weight: 400; }

.mega__brands { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.mega__brands a { height: 100%; display: flex; align-items: center; gap: 12px; padding: 6px; border-radius: 8px; color: var(--ink); text-decoration: none; transition: background .15s; }
.mega__brands a:hover { background: var(--ground); }
.mega__logo { flex: none; width: 60px; height: 60px; display: grid; place-items: center; padding: 7px; background: #fff; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.mega__brands a:hover .mega__logo { border-color: var(--accent); }
.mega__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.mega__mono { width: 100%; height: 100%; display: grid; place-items: center; border-radius: 5px; background: var(--dark); color: #fff; font-size: 17px; font-weight: 850; letter-spacing: .02em; }
.mega__brand { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mega__brand strong { font-size: 15px; font-weight: 750; line-height: 1.2; }
.mega__brand small { color: var(--muted-2); font-size: 12.5px; line-height: 1.3; }

.mega__cats { list-style: none; margin: 10px 0 0; padding: 0; flex: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); align-content: start; gap: 6px 22px; }
.mega__cats a { display: flex; align-items: center; gap: 12px; padding: 8px 0; color: var(--ink); text-decoration: none; }
.mega__cats img { width: 64px; height: 48px; flex: none; object-fit: contain; border-radius: 3px; background: #fff; }
.mega__cats img.is-photo { object-fit: cover; }
.mega__cats strong { display: block; font-size: 15px; font-weight: 750; }
.mega__cats small { display: block; color: var(--muted-2); font-size: 12.5px; line-height: 1.35; }

.mega__foot { background: var(--ground); border-top: 1px solid var(--line); }
.mega__foot .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 14px; padding-bottom: 14px; color: var(--ink-2); font-size: 15px; }
.mega__foot a { font-weight: 700; text-decoration: none; }

/* ---------- Hero ---------- */

.hero { background: var(--dark); color: #fff; }
.hero__inner { display: flex; flex-wrap: wrap; min-height: 540px; }
.hero__text {
	flex: 1 1 460px; display: flex; align-items: center;
	padding: 72px max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));
	padding-right: 56px;
}
.hero__text > div { display: flex; flex-direction: column; gap: 20px; max-width: 520px; }
.hero__text h1 { margin: 0; }
.hero__text p { margin: 0; color: var(--on-dark); font-size: 18px; line-height: 1.55; }
.hero__text .eyebrow { margin: 0; color: var(--accent-on-dark); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 4px; }
.hero__media { flex: 1 1 560px; min-height: 340px; position: relative; }
.hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.page-hero { background: var(--dark); color: #fff; }
.page-hero .hero__inner { min-height: 380px; }

/* ---------- Sections ---------- */

.section { padding: 72px 0; }
.section--white { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section--tight { padding: 48px 0; }
.section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 40px; margin-bottom: 28px; }
.section__head h2 { margin: 0; }
.section__head p { margin: 0; color: var(--muted); }
.more-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; text-decoration: none; }

/* Cards (series, categories, news, listings) */

.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.cards--cats { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }

.card {
	display: flex; flex-direction: column; height: 100%;
	background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
	overflow: hidden; color: var(--ink); text-decoration: none;
}
.card:hover { color: var(--ink); border-color: #CFCEC6; box-shadow: 0 6px 20px rgba(15, 22, 17, .07); }
.card__media { position: relative; aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; background: #fff; overflow: hidden; }
.card__media img { width: 86%; height: 86%; object-fit: contain; }
.card__media--photo img { width: 100%; height: 100%; object-fit: cover; }
.card__badge { position: absolute; top: 12px; left: 12px; padding: 5px 9px; border-radius: 3px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.card__body { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 18px 16px; border-top: 1px solid var(--line-2); }
.card__body--stack { flex-direction: column; align-items: stretch; gap: 4px; }
.card__title { font-size: 18px; font-weight: 800; text-transform: uppercase; line-height: 1.2; }
.card__meta { color: var(--muted); font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.card__text { color: var(--muted-2); font-size: 13px; line-height: 1.35; }

/* Services strip */

.services { background: var(--surface); border-bottom: 1px solid var(--line); }
.services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); list-style: none; margin: 0; padding: 0; }
.services__grid a { display: flex; flex-direction: column; gap: 8px; padding: 32px 28px 32px 0; color: var(--ink); text-decoration: none; }
.services__grid b { color: var(--accent); font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.services__grid strong { font-size: 19px; font-weight: 800; text-transform: uppercase; }
.services__grid span { color: var(--muted); font-size: 15px; line-height: 1.5; }

/* Brands grid */

.brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.brands a { min-height: 120px; padding: 18px 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: var(--surface); border-radius: var(--radius); color: var(--ink); text-decoration: none; text-align: center; }
.brands .brands__logo { height: 40px; display: flex; align-items: center; justify-content: center; }
.brands img { max-height: 36px; max-width: 132px; width: auto; height: auto; object-fit: contain; }
.brands strong { font-size: 17px; font-weight: 850; line-height: 1.1; }
.brands small { max-width: 132px; color: #6B716C; font-size: 11.5px; line-height: 1.3; }

/* Split section (text + full-bleed image) */

.split { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.split__inner { display: flex; flex-wrap: wrap; min-height: 460px; }
.split__text {
	flex: 1 1 460px; display: flex; align-items: center;
	padding: 64px 56px 64px max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));
}
.split__text > div { display: flex; flex-direction: column; gap: 16px; max-width: 500px; }
.split__text h2, .split__text p { margin: 0; }
.split__text p { color: var(--ink-2); font-size: 17px; }
.split__media { flex: 1 1 560px; min-height: 340px; position: relative; }
.split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.award { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.award img { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; flex: none; }
.award strong { display: block; font-size: 15px; }
.award span { display: block; color: var(--muted-2); font-size: 14px; line-height: 1.4; }

/* Contact block */

.contact-block { display: flex; flex-wrap: wrap; gap: 40px; }
.contact-block__data { flex: 1 1 360px; }
.contact-block__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 22px; font-size: 16px; line-height: 1.6; }
.contact-block__grid h3 { margin: 0 0 6px; color: var(--muted-2); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-block__map { flex: 1 1 480px; min-height: 300px; border-radius: var(--radius); overflow: hidden; background: #E7E6DF; }
.contact-block__map iframe { width: 100%; height: 100%; min-height: 300px; border: 0; }

/* ---------- Content (articles, categories) ---------- */

.site-main__body { padding-top: 14px; padding-bottom: 72px; }

.mod-breadcrumbs, .breadcrumb {
	display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 14px; padding: 0;
	color: var(--muted-2); font-size: 14px;
}
.mod-breadcrumbs__item + .mod-breadcrumbs__item::before,
.breadcrumb-item + .breadcrumb-item::before { content: "/"; margin-right: 6px; color: #B9B8B0; }
.mod-breadcrumbs__divider, .mod-breadcrumbs__here { display: none; }

.com-content-article,
.com-content-category-blog,
.com-content-featured { max-width: 100%; }

.com-content-article__body,
.item-page .article-body { font-size: 17px; line-height: 1.7; color: var(--ink-2); }
.com-content-article__body h2,
.com-content-article__body h3 { color: var(--ink); margin-top: 1.6em; }
.com-content-article__body img { border-radius: var(--radius); }
.com-content-article__body ul { padding-left: 1.2em; }

.article-info, .com-content-article .article-info { display: none; }

.page-header h1, .page-header h2 { margin-bottom: 18px; }

table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.table-wrap, .com-content-article__body table { display: block; overflow-x: auto; }
.com-content-article__body table { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); font-size: 15px; }
th, td { padding: 10px 14px; border-top: 1px solid var(--line-2); text-align: left; vertical-align: top; }
thead th, thead td { background: var(--dark); color: #fff; border-top: 0; }

/* Article hero: full-width dark band, content in the container */

body { overflow-x: clip; }
.article-hero-band {
	position: relative; left: 50%; width: 100vw; margin: 0 0 40px -50vw;
	background: var(--dark); color: #fff;
}
.article-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; padding-top: 32px; padding-bottom: 36px; }
.article-hero__text { flex: 1 1 400px; min-width: 0; }
.article-hero__text h1 { margin-bottom: 10px; color: #fff; font-size: clamp(28px, 3.2vw, 44px); }
.article-hero__text .lead { margin: 0 0 18px; color: var(--on-dark); font-size: 16px; line-height: 1.55; }
.article-hero__text .series-claim { margin: 0 0 12px; color: var(--accent-on-dark); }
.article-hero__text .series-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 18px; background: #263028; border-color: #263028; }
.article-hero__text .series-facts div { background: var(--dark-2); }
.article-hero__text .series-facts dt { color: var(--on-dark-muted); }
.article-hero__text .series-facts dd { color: #fff; font-size: 16px; }
.article-hero__text .series-facts div { padding: 10px 12px; }
.article-hero__text .series-facts dt { font-size: 11px; }
.article-hero__text .series-cta { margin: 0; }
.article-hero__text .series-cta .btn--outline, .article-hero__text .btn--outline { background: transparent; border-color: #5D6A60; color: #fff; }
.article-hero__text .btn--outline:hover { border-color: #fff; color: #fff; }
.article-hero__media { flex: 1.1 1 440px; min-width: 0; margin: 0; aspect-ratio: 16 / 10; max-height: 440px; overflow: hidden; border-radius: var(--radius); background: var(--dark-2); }
.article-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.article-hero__media--studio { background: #fff; }
.article-hero__media--studio img { object-fit: contain; padding: 6%; }
.site-main__body .mod-breadcrumbs + * .article-hero-band, .site-main__body > .article-hero-band { margin-top: 0; }

/* Series pages (Deutz-Fahr import) */

.series-claim { margin: -6px 0 18px; color: var(--accent); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.series-intro { max-width: 820px; }
.series-intro h2 { margin-top: 0; font-size: clamp(20px, 2vw, 26px); text-transform: none; line-height: 1.25; }
.series-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; margin: 28px 0; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.series-facts div { background: #fff; padding: 14px 18px; }
.series-facts dt { color: var(--muted-2); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.series-facts dd { margin: 2px 0 0; color: var(--ink); font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }
.series-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 8px; }
.series-cta .btn--outline { background: #fff; }
.series-feature { display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: flex-start; }
.series-feature > div { flex: 1 1 380px; min-width: 0; }
.series-feature h3 { margin-top: 0; font-size: 19px; line-height: 1.3; }
.series-feature figure { flex: 1 1 320px; margin: 0; }
.series-feature figure img { width: 100%; height: auto; border-radius: var(--radius); background: #fff; }

.edition-pills { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 16px 0 32px; }
.edition-pills > div { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; }
.edition-pills h4 { margin: 0 0 8px; color: var(--accent); text-transform: uppercase; letter-spacing: .06em; font-size: 14px; }
.edition-pills ul { margin: 0; padding-left: 1.1em; font-size: 15px; }
.edition-colors { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 16px 0 32px; }
.edition-colors figure { margin: 0; }
.edition-colors img, .com-content-article__body figure img { width: 100%; height: auto; }

/* Series grids on producer / category pages */

.series-group { margin: 48px 0 0; }
.series-group:first-child { margin-top: 8px; }
.series-group h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: clamp(20px, 2vw, 26px); }
.series-group h2 small { color: var(--muted); font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.com-content-article__body .cards img { border-radius: 0; }
.com-content-article__body ul.cards,
.com-content-article__body ul.ap-gallery { padding-left: 0; }

/* Current Deutz-Fahr logo: white mark on the brand green (manufacturer requirement — never the old blue/green logo) */
.logo-df { display: inline-flex; padding: 6px 7px; background: var(--df-box); border-radius: 2px; }
.logo-df img { width: auto; height: 40px; border-radius: 0 !important; }

/* Category pages: type -> producer -> product */

.cat-brand { margin: 20px 0 0; padding: 28px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.cat-brand:first-child { margin-top: 8px; }
.cat-brand__head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-bottom: 22px; }
.cat-brand__head > div { flex: 1 1 260px; }
.com-content-article__body .cat-brand__head h2 { margin: 0 0 2px; font-size: clamp(20px, 1.8vw, 24px); }
.cat-brand__head p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
.cat-brand__head .more-link { flex: none; font-size: 15px; }
.cat-brand__logo { flex: none; width: 132px; height: 64px; display: flex; align-items: center; justify-content: center; background: var(--ground); border-radius: 8px; padding: 10px 14px; text-decoration: none; color: var(--ink); }
.cat-brand__logo img { max-width: 100%; max-height: 40px; width: auto; height: auto; border-radius: 0 !important; }
.cat-brand .cards { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.cat-brand .card { border-color: var(--line-2); }
.cat-brand .card__media { aspect-ratio: 16 / 10; }
.cat-brand .card__body { padding: 12px 16px 14px; align-items: center; }
.cat-brand .card__title { font-size: 16px; font-weight: 700; text-transform: none; line-height: 1.3; }
.cat-brand .card__body::after { content: "→"; color: var(--accent); font-weight: 700; }
.com-content-article__body ul.cat-links { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.cat-links li { display: flex; }
.cat-links a { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 12px 16px; background: var(--ground); border: 1px solid transparent; border-radius: 8px; color: var(--ink); font-size: 15px; font-weight: 650; line-height: 1.3; text-decoration: none; transition: border-color .15s, background .15s; }
.cat-links a::after { content: "→"; flex: none; color: var(--accent); font-weight: 700; transition: transform .15s; }
.cat-links a:hover { background: #fff; border-color: var(--accent); color: var(--ink); }
.cat-links a:hover::after { transform: translateX(3px); }
.cat-brand ~ .series-cta { margin-top: 32px; padding: 24px 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; background: var(--dark); border-radius: 10px; }
.cat-brand ~ .series-cta::before { content: "Nie wiesz, co wybrać? Doradzimy i sprawdzimy dostępność."; flex: 1 1 280px; color: #fff; font-size: 17px; font-weight: 700; }
.cat-brand ~ .series-cta .btn--outline { border-color: rgba(255,255,255,.35); color: #fff; }
.cat-brand ~ .series-cta .btn--outline:hover { border-color: #fff; color: #fff; }
@media (max-width: 600px) { .cat-brand { padding: 20px 16px; } .cat-brand__head .more-link { width: 100%; } }

/* Classified ads (Ogłoszenia) */

.listing__filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px 32px; margin: 24px 0 18px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.listing__filters fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.listing__filters legend, .listing__select { color: var(--muted-2); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.listing__filters legend { margin-bottom: 8px; }
.listing__filters input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.seg { display: inline-flex; gap: 4px; padding: 4px; background: #EDECE6; border-radius: 4px; }
.seg label { min-height: 40px; display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 3px; color: var(--muted); font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer; }
.seg label:has(input:checked) { background: #fff; color: var(--ink); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips label { min-height: 40px; display: inline-flex; align-items: center; padding: 8px 16px; border: 1.5px solid #CFCEC6; border-radius: 999px; background: #fff; color: var(--ink); font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer; }
.chips label:has(input:checked) { border-color: var(--accent); background: var(--accent); color: #fff; }
.seg label:has(input:focus-visible), .chips label:has(input:focus-visible) { outline: 3px solid var(--accent); outline-offset: 2px; }
.listing__select { display: flex; flex-direction: column; gap: 8px; }
.listing__select select { min-height: 44px; padding: 8px 12px; border: 1.5px solid #B9B8B0; border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; letter-spacing: 0; text-transform: none; }
.listing__count { margin: 0 0 16px; font-weight: 800; text-transform: uppercase; }
.listing__grid li[hidden] { display: none; }
.card__badge--light { background: #fff; color: var(--ink); }
.listing__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 16px 18px 18px; border-top: 1px solid var(--line-2); }
.listing__title { font-size: 18px; font-weight: 800; line-height: 1.25; }
.listing__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; color: var(--muted-2); font-size: 13px; }
.listing__meta strong { display: block; color: var(--ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.listing__price { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line-2); }
.listing__price strong { font-size: 20px; font-weight: 850; }
.listing__price span { color: var(--accent); font-size: 14px; font-weight: 700; }
.listing__empty { margin-top: 24px; font-size: 16px; }

/* Accordion replacement for legacy {slider} tags */

.ap-acc { border-top: 1px solid var(--line); }
.ap-acc:last-of-type { border-bottom: 1px solid var(--line); }
.ap-acc > summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 18px 2px; cursor: pointer; list-style: none;
	color: var(--ink); font-size: 18px; font-weight: 800; text-transform: uppercase;
}
.ap-acc > summary::-webkit-details-marker { display: none; }
.ap-acc > summary::after { content: "+"; color: var(--accent); font-size: 26px; font-weight: 500; line-height: 1; }
.ap-acc[open] > summary::after { content: "–"; }
.ap-acc__body { padding: 0 2px 24px; }

/* Gallery for legacy {gallery} tags */

.pgallery { margin: 24px 0; display: flex; flex-direction: column; gap: 10px; }
.pgallery__main { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; background: var(--line-2); cursor: zoom-in; }
.pgallery__main img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .3s; }
.pgallery__main:hover img { transform: scale(1.02); }
.com-content-article__body .pgallery__thumbs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.pgallery__thumbs button { display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 6px; background: var(--line-2); cursor: pointer; opacity: .7; transition: opacity .15s, border-color .15s; }
.pgallery__thumbs button:hover { opacity: 1; }
.pgallery__thumbs button[aria-current="true"] { border-color: var(--accent); opacity: 1; }
.pgallery__thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.intro-media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 48px; align-items: start; margin: 8px 0 16px; }
.intro-media .pgallery { margin: 0; position: sticky; top: 96px; }
.intro-media .series-intro > :first-child { margin-top: 0; }
@media (max-width: 900px) { .intro-media { grid-template-columns: 1fr; } .intro-media .pgallery { position: static; } .com-content-article__body .pgallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ap-lightbox { max-width: min(1200px, 94vw); max-height: 92vh; padding: 0; border: 0; border-radius: 6px; background: #000; }
.ap-lightbox::backdrop { background: rgba(10, 12, 11, .88); }
.ap-lightbox img { max-width: 100%; max-height: 86vh; margin: 0 auto; }
.ap-lightbox__close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; border-radius: 4px; background: rgba(255, 255, 255, .9); font-size: 24px; cursor: pointer; }

/* Pagination */

.pagination { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 32px 0 0; }
.pagination .page-link { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 4px; background: #fff; text-decoration: none; color: var(--ink); }
.pagination .active .page-link { background: var(--accent); border-color: var(--accent); color: #fff; }

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

.site-footer { background: var(--dark); color: var(--on-dark); font-size: 15px; }
.site-footer a { color: var(--on-dark); text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 48px; padding: 56px 0 36px; border-bottom: 1px solid #263028; }
.footer__about { max-width: 420px; }
.footer__about strong { display: block; margin-bottom: 10px; color: #fff; font-size: 24px; font-weight: 850; text-transform: uppercase; line-height: 1; }
.footer__about p { margin: 0; line-height: 1.55; }
.footer__depts { flex: 1 1 560px; max-width: 720px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.footer__depts a { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: var(--dark-2); border-radius: var(--radius); }
.footer__depts b { color: var(--accent-on-dark); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer__depts strong { color: #fff; font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; }
.footer__depts span { color: var(--on-dark-muted); font-size: 13px; }
.footer__branches { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px 28px; padding: 40px 0; border-bottom: 1px solid #263028; font-style: normal; }
.footer__branch { display: flex; flex-direction: column; gap: 10px; line-height: 1.55; }
.footer__branch b { color: var(--accent-on-dark); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer__branch h3 { margin: 0; color: #fff; font-size: 18px; font-weight: 850; text-transform: uppercase; }
.footer__branch .tel { color: #fff; font-weight: 650; font-variant-numeric: tabular-nums; }
.footer__branch .mail { color: var(--accent-on-dark); }
.footer__branch .hours { color: var(--on-dark-muted); font-size: 14px; }
.footer__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px 48px; padding: 36px 0; border-bottom: 1px solid #263028; }
.footer__menus { display: flex; flex-wrap: wrap; gap: 32px 64px; }
.footer__menus nav { display: flex; flex-direction: column; gap: 8px; }
.footer__menus h3 { margin: 0 0 4px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer__df { display: flex; align-items: center; gap: 14px; align-self: flex-start; }
.footer__df span:first-child { display: flex; padding: 10px 9px; background: var(--df-box); }
.footer__df img { width: 45px; height: 54px; }
.footer__df span:last-child { color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; line-height: 1.35; }
.footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 32px; padding: 20px 0 28px; color: var(--on-dark-muted); font-size: 13px; }
.footer__bottom a { color: var(--on-dark-muted); text-decoration: underline; }

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

@media (max-width: 1240px) {
	.site-header__phone { display: none; }
}

@media (max-width: 1180px) and (min-width: 1081px) {
	.site-header__inner { gap: 12px 18px; }
	.site-header__nav { gap: 12px 16px; }
	.site-header__nav ul { gap: 4px 13px; }
	.site-header__nav nav a, .site-header__nav .mega-toggle { font-size: 14px; }
}

@media (max-width: 1080px) {
	.site-header__inner { flex-wrap: wrap; padding-right: calc(var(--gutter) + 104px); }
	.site-header__toggle { display: inline-flex; order: 2; }
	.site-header__nav { display: none; order: 3; flex: 1 0 100%; flex-direction: column; align-items: stretch; margin-right: -104px; padding: 22px 0 16px; }
	.site-header__nav.is-open { display: flex; }
	.site-header__nav ul { flex-direction: column; gap: 0; }
	.site-header__nav nav a, .site-header__nav .mega-toggle { width: 100%; padding: 12px 0; border-bottom: 1px solid var(--line-2); }
	.site-header__actions { flex-direction: column; align-items: stretch; }
	.site-header__phone { display: block; padding: 8px 0; }
	.df-box { width: 80px; height: 90px; right: var(--gutter); }
	.df-box img { width: 44px; height: 53px; }
	.mega { position: static; box-shadow: none; }
	.mega__brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hero__text, .split__text { padding: 48px var(--gutter); }
	.section { padding: 56px 0; }
}

@media (max-width: 560px) {
	:root { --gutter: 16px; }
	.site-header__brand img { width: 142px; height: 32px; }
	.mega__series, .mega__links { grid-template-columns: 1fr; }
	.hero__inner { min-height: 0; }
	.hero__media { min-height: 240px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}
.ad-price { margin: 0 0 18px; color: #fff; font-size: clamp(24px, 2.6vw, 32px); font-weight: 850; font-variant-numeric: tabular-nums; }
.is-ad .article-hero h1 { font-size: clamp(26px, 3vw, 40px); line-height: 1.08; }

@media (max-width: 700px) { .article-hero__text .series-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Manufacturer website (short producer pages) */
.producer-site { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin: 40px 0 0; padding: 24px 28px; background: #fff; border: 1px solid var(--line); border-left: 0; border-radius: var(--radius); position: relative; }
.producer-site h2 { margin: 0 0 6px; font-size: clamp(20px, 2vw, 24px); }
.producer-site p { margin: 0; color: var(--muted); max-width: 620px; }
.producer-site__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.producer-site small { position: absolute; right: 16px; bottom: 6px; color: var(--muted-2); font-size: 12px; }
.ap-frame { width: min(1240px, 96vw); height: 90vh; max-height: 90vh; padding: 0; border: 0; border-radius: 8px; overflow: hidden; display: none; flex-direction: column; }
.ap-frame[open] { display: flex; }
.ap-frame::backdrop { background: rgba(10, 12, 11, .75); }
.ap-frame__bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 8px 8px 8px 18px; background: var(--dark); color: #fff; }
.ap-frame__bar span { display: flex; align-items: center; gap: 12px; }
.ap-frame__bar a { color: var(--accent-on-dark); font-weight: 700; text-decoration: none; }
.ap-frame__bar button { width: 44px; height: 44px; border: 0; border-radius: 4px; background: rgba(255, 255, 255, .12); color: #fff; font-size: 24px; cursor: pointer; }
.ap-frame iframe { flex: 1; width: 100%; border: 0; background: #fff; }

/* Service pages (Serwis / Części / Finansowanie): sections of tiles */
.page-section { margin: 44px 0 0; }
.page-section:first-child { margin-top: 8px; }
.com-content-article__body .page-section > h2 { margin: 0 0 18px; font-size: clamp(22px, 2.2vw, 28px); }
.page-section > p, .page-section__intro { max-width: 72ch; }
.tiles { list-style: none; margin: 0; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.tiles--two { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.tile { padding: 24px 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.tile svg { color: var(--accent); }
.com-content-article__body .tile h3 { margin: 12px 0 6px; font-size: 18px; line-height: 1.3; }
.tile p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.steps { list-style: none; margin: 0; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; counter-reset: step; }
.steps li { position: relative; padding: 22px 22px 22px 70px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); counter-increment: step; }
.steps li::before { content: counter(step); position: absolute; left: 22px; top: 22px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 800; font-size: 16px; }
.steps b { display: block; color: var(--ink); font-size: 17px; }
.steps span { display: block; margin-top: 4px; color: var(--muted); font-size: 15px; line-height: 1.5; }
.contact-tiles { list-style: none; margin: 0 0 20px; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.contact-tiles li { display: flex; flex-direction: column; gap: 4px; padding: 22px; background: var(--dark); border-radius: var(--radius); color: var(--on-dark); font-size: 15px; line-height: 1.45; }
.contact-tiles b { color: #fff; font-size: 17px; margin-bottom: 4px; }
.contact-tiles a { color: #fff; font-weight: 750; font-size: 18px; text-decoration: none; font-variant-numeric: tabular-nums; }
.contact-tiles a.mail { color: var(--accent-on-dark); font-size: 15px; font-weight: 600; }
.contact-tiles a:hover { text-decoration: underline; }
.contact-tiles span { margin-top: 6px; color: var(--on-dark-muted); font-size: 14px; }
.checklist { list-style: none; max-width: 72ch; margin: 0 0 12px; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px 24px; }
.checklist li { position: relative; padding-left: 28px; }
.checklist li::before { content: ""; position: absolute; left: 4px; top: .45em; width: 12px; height: 7px; border: solid var(--accent); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }

/* News list (Aktualności) */
.news__head { max-width: 760px; margin: 8px 0 28px; }
.news__head h1 { margin: 0 0 10px; font-size: clamp(28px, 3.2vw, 40px); }
.news__head p { margin: 0; color: var(--muted); font-size: 17px; }
.news__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px !important; }
.news__links a { padding: 7px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); font-size: 14px; font-weight: 650; text-decoration: none; }
.news__links a:hover { border-color: var(--ink); }
.news__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 20px; }
.news-card a { height: 100%; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; color: var(--ink); text-decoration: none; }
.news-card a:hover { border-color: #CFCEC6; box-shadow: 0 6px 20px rgba(15, 22, 17, .07); }
.news-card__media { aspect-ratio: 3 / 2; background: var(--line-2); overflow: hidden; }
.news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.news-card a:hover img { transform: scale(1.03); }
.news-card__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 20px; }
.news-card__meta { color: var(--muted-2); font-size: 13px; font-weight: 650; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.news-card strong { font-size: 18px; line-height: 1.3; }
.news-card__text { color: var(--muted); font-size: 15px; line-height: 1.5; }
.news__pages { margin: 36px 0 0; display: flex; justify-content: center; }
.news__pages .pagination { list-style: none; margin: 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.news__pages .page-item.disabled { display: none; }
.news__pages .page-link { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); font-size: 15px; font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; transition: border-color .15s, background .15s; }
.news__pages a.page-link:hover { border-color: var(--ink); }
.news__pages .active .page-link { background: var(--accent); border-color: var(--accent); color: #fff; pointer-events: none; }

/* Single news article: narrow reading column */
.is-news { max-width: 780px !important; margin: 0 auto; }
.news-article__head { margin: 8px 0 20px; }
.news-article__head .news-card__meta { margin: 0 0 8px; }
.news-article__head h1 { margin: 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.2; }
.news-article__media { margin: 0 0 24px; border-radius: var(--radius); overflow: hidden; background: var(--line-2); }
.news-article__media img { width: 100%; height: auto; max-height: 520px; object-fit: cover; }
.is-news .com-content-article__body img { max-width: 100%; height: auto; }
.news__pages [class^="icon-angle"]::before { font-weight: 700; }
.news__pages .icon-angle-left::before { content: "‹"; }
.news__pages .icon-angle-right::before { content: "›"; }
.news__pages .icon-angle-double-left::before { content: "«"; }
.news__pages .icon-angle-double-right::before { content: "»"; }
.news-card__media--empty { display: grid; place-items: center; background: var(--line-2) url(../../../../../images/agroplus/logo/agro-plus.webp) center / 40% auto no-repeat; }
.news__pages [class^="icon-angle"]::before { font-size: 20px; line-height: 1; }

/* Kontakt */
.dept-tiles { list-style: none; margin: 0; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.dept-tiles li { display: flex; flex-direction: column; gap: 4px; padding: 22px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); font-size: 15px; line-height: 1.45; }
.dept-tiles svg { color: var(--accent); margin-bottom: 8px; }
.dept-tiles b { color: var(--ink); font-size: 16px; }
.dept-tiles a { color: var(--ink); font-weight: 750; font-size: 19px; text-decoration: none; font-variant-numeric: tabular-nums; }
.dept-tiles small { color: var(--muted); font-size: 14px; }
.dept-tiles small a { font-size: 14px; font-weight: 700; }
.dept-tiles a.mail { margin-top: auto; padding-top: 8px; color: var(--accent); font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.dept-tiles a:hover { text-decoration: underline; }
.dept-note { margin: 14px 0 0; color: var(--muted); font-size: 14px; }
.branches { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.branch { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.branch header { padding: 20px 22px 16px; background: var(--dark); }
.branch header small { display: block; color: var(--accent-on-dark); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.com-content-article__body .branch h3 { margin: 2px 0 0; color: #fff; font-size: 22px; }
.branch__rows, .branch__people { list-style: none; margin: 0; padding: 18px 22px !important; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.45; }
.branch__rows li { display: flex; gap: 10px; align-items: flex-start; }
.branch__rows svg { flex: none; margin-top: 2px; color: var(--accent); }
.branch__rows a { color: var(--ink); font-weight: 700; text-decoration: none; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.branch__rows a:hover, .branch__people a:hover { text-decoration: underline; }
.branch__people { border-top: 1px solid var(--line-2); gap: 14px; }
.branch__people li { display: flex; flex-direction: column; }
.branch__people b { color: var(--ink); }
.branch__people small { color: var(--muted-2); font-size: 13px; }
.branch__people a { color: var(--ink-2); font-size: 14px; text-decoration: none; overflow-wrap: anywhere; }
.branch__map { margin-top: auto; padding: 14px 22px; border-top: 1px solid var(--line-2); color: var(--accent); font-size: 14px; font-weight: 700; text-decoration: none; }
.branch__map:hover { background: var(--ground); }
.company-data { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.company-data div { padding: 18px 22px; background: var(--surface); }
.company-data dt { color: var(--muted-2); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.company-data dd { margin: 6px 0 0; color: var(--ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.com-content-article__body .cat-brand ~ .series-cta .btn--outline { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; }
@media (max-width: 600px) { .cat-brand .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .cat-brand .card__body { padding: 10px 12px; } .cat-brand .card__title { font-size: 14px; } .cat-brand .card__body::after { display: none; } }
.cat-brand .card__body:has(.card__meta)::after { display: none; }
.branch-map { height: 420px; margin: 0 0 16px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--line-2); z-index: 0; }
.branch-map__pin { background: none; border: 0; }
.branch-map .leaflet-popup-content { font: 14px/1.5 var(--font); }
.branch-map .leaflet-popup-content a { color: var(--accent); font-weight: 700; }
@media (max-width: 600px) { .branch-map { height: 320px; } }

/* Limited editions (Deutz-Fahr) */
.ed-cards { list-style: none; margin: 8px 0 0; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.ed-cards a { height: 100%; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; color: var(--muted); text-decoration: none; font-size: 15px; line-height: 1.5; }
.ed-cards a:hover { border-color: var(--accent); box-shadow: 0 6px 20px rgba(15, 22, 17, .07); }
.com-content-article__body .ed-cards img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; background: var(--dark); }
.ed-cards span { display: flex; flex-direction: column; gap: 2px; padding: 18px 22px 22px; }
.ed-cards small, .ed-detail small { color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ed-cards b { color: var(--ink); font-size: 21px; margin-bottom: 4px; }
.ed-cards b::after { content: " ↓"; color: var(--accent); font-size: 17px; }
.ed-detail { margin: 48px 0 0; padding: 32px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; scroll-margin-top: 90px; }
.ed-detail__head { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px 40px; align-items: center; }
.com-content-article__body .ed-detail h2 { margin: 4px 0 10px; font-size: clamp(24px, 2.4vw, 32px); }
.ed-detail__head p { margin: 0; max-width: 60ch; color: var(--ink-2); }
.ed-detail figure { margin: 0; border-radius: 8px; overflow: hidden; background: var(--ground); }
.ed-detail figure.is-dark { background: #111; }
.com-content-article__body .ed-detail figure img { width: 100%; height: 300px; object-fit: contain; border-radius: 0; }
.kit { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin: 28px 0 0; }
.kit > div { padding: 18px 20px; background: var(--ground); border-radius: 8px; }
.com-content-article__body .kit h4 { margin: 0 0 10px; color: var(--ink); font-size: 15px; font-weight: 800; }
.com-content-article__body .kit ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.45; }
.kit li { position: relative; padding-left: 24px; }
.kit li::before { content: ""; position: absolute; left: 3px; top: .4em; width: 11px; height: 6px; border: solid var(--accent); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }
.ed-colors { margin: 24px 0 0; }
.com-content-article__body .ed-colors h3 { margin: 0 0 12px; font-size: 16px; }
.com-content-article__body .ed-colors ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ed-colors li { display: flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; font-weight: 650; color: var(--ink); }
.ed-colors i { width: 24px; height: 24px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); }
.cta-bar { margin: 40px 0 0; padding: 24px 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; background: var(--dark); border-radius: 10px; }
.com-content-article__body .cta-bar p { flex: 1 1 300px; margin: 0; color: #fff; font-size: 17px; font-weight: 700; }
.com-content-article__body .cta-bar .btn--outline { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; }
@media (max-width: 800px) { .ed-detail { padding: 20px 16px; } .ed-detail__head { grid-template-columns: 1fr; } .com-content-article__body .ed-detail figure img { height: 220px; } }
.com-content-article__body .ed-cards li:first-child img { background: #fff; object-fit: contain; padding: 12px 0 0; }
.ed-detail figure { background: #fff; }
.com-content-article__body > .pgallery, .page-section > .pgallery { max-width: 820px; }
.page-section:has(> p + .pgallery) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
.page-section:has(> p + .pgallery) > h2 { grid-column: 1 / -1; }
.page-section:has(> p + .pgallery) > p { grid-column: 1; }
.page-section:has(> p + .pgallery) > .pgallery { grid-column: 2; grid-row: 2 / span 6; margin: 0; }
@media (max-width: 900px) { .page-section:has(> p + .pgallery) { display: block; } .page-section:has(> p + .pgallery) > .pgallery { margin-top: 16px; } }
.ap-lightbox { overflow: hidden; }
.ap-lightbox__nav { position: absolute; top: 50%; width: 48px; height: 64px; margin-top: -32px; border: 0; border-radius: 6px; background: rgba(255, 255, 255, .88); color: var(--ink); font-size: 34px; line-height: 1; cursor: pointer; transition: background .15s; }
.ap-lightbox__nav:hover, .ap-lightbox__close:hover { background: #fff; }
.ap-lightbox__nav--prev { left: 10px; }
.ap-lightbox__nav--next { right: 10px; }
.ap-lightbox__count { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); padding: 4px 12px; border-radius: 999px; background: rgba(0, 0, 0, .6); color: #fff; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ap-lightbox.is-single .ap-lightbox__nav, .ap-lightbox.is-single .ap-lightbox__count { display: none; }
@media (max-width: 600px) { .ap-lightbox__nav { width: 40px; height: 52px; margin-top: -26px; font-size: 28px; } }
.article-hero__text .series-facts { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; display: inline-grid; min-width: min(100%, 320px); }
@media (max-width: 700px) { .article-hero__text .series-facts { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); display: grid; } }
.series-group h2 .more-link { margin-left: auto; font-size: 15px; letter-spacing: 0; text-transform: none; }

/* Technical data: one table, models side by side, horizontal scroll with the parameter column pinned */
.table-wrap:has(.spec-table) { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.com-content-article__body .spec-table { display: table; width: max-content; min-width: 100%; border: 0; border-radius: 0; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.spec-table th, .spec-table td { padding: 10px 14px; border-bottom: 1px solid var(--line-2); text-align: left; vertical-align: top; }
.spec-table td { min-width: 110px; max-width: 220px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.spec-table thead th { position: sticky; top: 0; background: var(--dark); color: #fff; font-weight: 750; white-space: nowrap; }
.spec-table tbody th { position: sticky; left: 0; z-index: 1; width: 240px; min-width: 200px; max-width: 260px; background: var(--ground); color: var(--ink); font-weight: 650; box-shadow: 1px 0 0 var(--line); }
.spec-table thead th:first-child { position: sticky; left: 0; z-index: 2; }
.spec-table tbody tr:hover td, .spec-table tbody tr:hover th { background: #EEF5EF; }
.spec-table tbody tr:last-child > * { border-bottom: 0; }
@media (max-width: 600px) { .spec-table tbody th { min-width: 140px; width: 150px; } .spec-table th, .spec-table td { padding: 8px 10px; } }

/* Mega menu on mobile: full-screen panel instead of the main menu */
.mega__bar { display: none; }
html.is-scroll-locked, html.is-scroll-locked body { overflow: hidden; }
@media (max-width: 1080px) {
	.mega.is-panel { position: fixed; inset: 0; z-index: 200; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border: 0; padding-bottom: env(safe-area-inset-bottom); }
	.mega.is-panel .mega__bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 0 var(--gutter); background: #fff; border-bottom: 1px solid var(--line); }
	.mega__bar strong { font-size: 17px; }
	.mega__back, .mega__close { min-width: 44px; height: 44px; padding: 0 6px; border: 0; background: none; color: var(--accent); font: inherit; font-weight: 750; font-size: 16px; cursor: pointer; }
	.mega__close { color: var(--ink); font-size: 28px; line-height: 1; }
	.mega.is-panel .mega__tabs { margin-top: 16px; }
}
.mega__brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
.mega__logo { width: 64px; height: 64px; }
.mega__brand strong { white-space: nowrap; }
@media (max-width: 560px) { .mega__brands { grid-template-columns: 1fr; } .mega__brand strong { white-space: normal; } }
/* Mobile header: the logo row keeps its 76px height when the menu opens below it (no jump) */
@media (max-width: 1080px) {
	.site-header__inner { align-items: flex-start; }
	.site-header__brand { height: 76px; display: flex; align-items: center; }
	.site-header__toggle { margin-top: 16px; }
}
/* DF box: breathing room between the Deutz-Fahr mark and "Autoryzowany dealer" */
.df-box { height: 112px; }
.df-box span { padding-top: 6px; }
@media (max-width: 1080px) { .df-box { height: 98px; } .df-box span { padding-top: 5px; } }

/* ---------- Mega menu v3: type -> list -> detail ---------- */
.mega3 { display: grid; grid-template-columns: 200px 300px minmax(0, 1fr); gap: 0; padding-top: 20px; padding-bottom: 20px; }
.mega3__types { display: flex; flex-direction: column; gap: 6px; padding-right: 20px; border-right: 1px solid var(--line-2); }
.mega3__types [role="tab"] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 14px; border: 0; border-radius: 8px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; font: inherit; transition: background .15s; }
.mega3__types [role="tab"] strong { font-size: 16px; }
.mega3__types [role="tab"] small { color: var(--muted-2); font-size: 12.5px; }
.mega3__types [role="tab"]:hover { background: var(--ground); }
.mega3__types [role="tab"][aria-selected="true"] { background: var(--dark); color: #fff; }
.mega3__types [role="tab"][aria-selected="true"] small { color: var(--on-dark-muted); }
.mega3__extra { list-style: none; margin: auto 0 0; padding: 14px 0 0; border-top: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 4px; }
.mega3__extra a { display: flex; flex-direction: column; padding: 8px 14px; border-radius: 8px; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.mega3__extra a:hover { background: var(--ground); }
.mega3__extra small { color: var(--muted-2); font-size: 12px; font-weight: 400; }

.mega3__list { padding: 0 12px; border-right: 1px solid var(--line-2); max-height: calc(100vh - 190px); overflow-y: auto; overscroll-behavior: contain; }
.mega3__list ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mega3__list a { display: flex; align-items: center; gap: 12px; padding: 5px 8px; border-radius: 8px; color: var(--ink); text-decoration: none; position: relative; }
.mega3__list a:hover, .mega3__list a[aria-current="true"] { background: var(--ground); }
.mega3__list a[aria-current="true"]::after { content: ""; position: absolute; right: 10px; top: 50%; width: 7px; height: 7px; border: solid var(--accent); border-width: 2px 2px 0 0; transform: translateY(-50%) rotate(45deg); }
.mega3__list .mega3__logo, .mega3__list .mega3__img { width: 46px; height: 46px; padding: 5px; }
.mega3__list .mega3__txt { padding-right: 18px; }

.mega3__logo, .mega3__img { flex: none; width: 64px; height: 64px; display: grid; place-items: center; padding: 6px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.mega3__logo img, .mega3__img--logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.mega3__img { padding: 0; }
.mega3__img img { width: 100%; height: 100%; object-fit: cover; }
.mega3__img--studio { padding: 2px; }
.mega3__img--studio img { object-fit: contain; }
.mega3__img--logo { padding: 7px; }
.mega3__logo .logo-df, .mega3__img--logo .logo-df { width: 100%; height: 100%; display: grid; place-items: center; border-radius: 5px; background: var(--df-box); }
.mega3__logo .logo-df img { width: auto; height: 70%; }
.mega3__mono { width: 100%; height: 100%; display: grid; place-items: center; border-radius: 5px; background: var(--dark); color: #fff; font-size: 16px; font-weight: 850; }
.mega3__txt { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mega3__txt strong { font-size: 14.5px; font-weight: 750; line-height: 1.25; }
.mega3__txt small { color: var(--muted-2); font-size: 12.5px; line-height: 1.3; }

.mega3__detail { min-width: 0; padding: 0 0 0 24px; max-height: calc(100vh - 190px); overflow-y: auto; overscroll-behavior: contain; }
.mega3__back { display: none; }
.mega3__head { display: flex; align-items: center; gap: 14px; padding: 4px 0 16px; margin-bottom: 14px; border-bottom: 1px solid var(--line-2); }
.mega3__head > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mega3__head strong { font-size: 20px; font-weight: 800; }
.mega3__head small { color: var(--muted); font-size: 14px; }
.mega3__all { flex: none; display: inline-flex; align-items: center; gap: 6px; color: var(--accent); font-weight: 750; font-size: 14px; text-decoration: none; }
.mega3__all:hover { text-decoration: underline; }
.mega3__group + .mega3__group { margin-top: 16px; }
.mega3__group-title { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; color: var(--muted-2); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
a.mega3__group-title:hover { color: var(--accent); }
.mega3__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px 10px; }
.mega3__tiles--wide { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.mega3__tiles a { display: flex; align-items: center; gap: 12px; padding: 5px; border-radius: 8px; color: var(--ink); text-decoration: none; transition: background .15s; }
.mega3__tiles a:hover { background: var(--ground); }
.mega3__tiles a:hover .mega3__img, .mega3__tiles a:hover .mega3__logo { border-color: var(--accent); }
.mega3__feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; align-items: center; color: var(--ink); text-decoration: none; }
.mega3__feature img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.mega3__feature span { display: flex; flex-direction: column; gap: 6px; }
.mega3__feature strong { font-size: 18px; }
.mega3__feature small { color: var(--muted); font-size: 14px; }
.mega3__feature em { display: inline-flex; align-items: center; gap: 6px; color: var(--accent); font-style: normal; font-weight: 750; }

@media (max-width: 1240px) { .mega3 { grid-template-columns: 170px 260px minmax(0, 1fr); } .mega3__tiles { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); } }
@media (max-width: 1080px) {
	.mega3 { display: block; padding-top: 14px; }
	.mega3__types { flex-direction: row; flex-wrap: wrap; padding: 0 0 12px; border: 0; }
	.mega3__types [role="tab"] { flex: 1; }
	.mega3__extra { flex: 1 0 100%; flex-direction: row; margin: 0; padding-top: 8px; }
	.mega3__extra a { flex: 1; background: var(--ground); }
	.mega3__list { max-height: none; padding: 0; border: 0; }
	.mega3__list a[aria-current="true"] { background: transparent; }
	.mega3__list a::after { content: ""; position: absolute; right: 12px; top: 50%; width: 7px; height: 7px; border: solid var(--muted-2); border-width: 2px 2px 0 0; transform: translateY(-50%) rotate(45deg); }
	.mega3__detail { display: none; max-height: none; padding: 0; }
	.mega3.is-detail .mega3__types, .mega3.is-detail .mega3__list { display: none; }
	.mega3.is-detail .mega3__detail { display: block; }
	.mega3__back { display: inline-flex; margin: 0 0 10px; padding: 8px 0; border: 0; background: none; color: var(--accent); font: inherit; font-weight: 750; cursor: pointer; }
	.mega3__head { flex-wrap: wrap; }
	.mega3__tiles, .mega3__tiles--wide { grid-template-columns: 1fr; }
	.mega3__feature { grid-template-columns: 1fr; }
}
.mega3__img.mega3__img--logo img { width: 100%; height: 100%; object-fit: contain; }
/* Mega menu: detail header stays visible while its column scrolls; quiet scrollbars */
.mega3__head { position: sticky; top: 0; z-index: 2; background: var(--surface); margin-top: 0; }
@media (max-width: 1080px) { .mega3__head { top: 60px; } }
.mega3__list, .mega3__detail, .mega.is-panel { scrollbar-width: thin; scrollbar-color: #D5D8DB transparent; }
.mega3__list::-webkit-scrollbar, .mega3__detail::-webkit-scrollbar, .mega.is-panel::-webkit-scrollbar { width: 6px; }
.mega3__list::-webkit-scrollbar-track, .mega3__detail::-webkit-scrollbar-track, .mega.is-panel::-webkit-scrollbar-track { background: transparent; }
.mega3__list::-webkit-scrollbar-thumb, .mega3__detail::-webkit-scrollbar-thumb, .mega.is-panel::-webkit-scrollbar-thumb { background: #D5D8DB; border-radius: 3px; }
.mega3__list:hover::-webkit-scrollbar-thumb, .mega3__detail:hover::-webkit-scrollbar-thumb { background: #BFC4C8; }
/* Producer logo in the hero of every producer page */
.brand-badge { display: inline-flex; align-items: center; height: 56px; margin: 0 0 16px; padding: 8px 14px; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
.brand-badge img { height: 40px; width: auto; max-width: 180px; object-fit: contain; }
.page-header .brand-badge { box-shadow: none; border: 1px solid var(--line); }
@media (max-width: 600px) { .brand-badge { height: 48px; padding: 6px 12px; } .brand-badge img { height: 34px; max-width: 150px; } }
.mega3__logo img, .mega__logo img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }
.mega3__logo, .mega3__img, .mega__logo { grid-template-rows: minmax(0, 1fr); grid-template-columns: minmax(0, 1fr); }
.spec-legend { margin: 8px 0 0; color: var(--muted-2); font-size: 13px; }
.ap-acc__body h3 + .checklist { margin-bottom: 20px; }
.mega3__arrow { display: inline-block; width: 7px; height: 7px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); margin-left: 2px; }

/* ---------- Error page (404) ---------- */
.error-hero { background: var(--dark); color: #fff; }
.error-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 32px 56px; align-items: center; padding-top: 48px; padding-bottom: 48px; }
.error-hero h1 { margin: 6px 0 14px; color: #fff; font-size: clamp(30px, 4vw, 52px); line-height: 1.08; }
.error-hero .lead { color: var(--on-dark); font-size: 17px; max-width: 54ch; }
.error-hero .series-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.error-hero .btn--outline { background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff; }
.error-hero .btn--outline:hover { border-color: #fff; color: #fff; }
.error-hero__media { position: relative; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--dark-2); }
.error-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) brightness(.62); }
.error-hero__code { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: clamp(90px, 15vw, 210px); font-weight: 900; letter-spacing: -.02em; line-height: 1; text-shadow: 0 8px 40px rgba(0, 0, 0, .45); }
.error-next { padding-top: 48px; padding-bottom: 64px; }
.error-next h2 { margin: 0 0 18px; font-size: clamp(22px, 2.2vw, 28px); }
.error-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.error-tiles a { height: 100%; display: flex; align-items: center; gap: 16px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.error-tiles a:hover { border-color: var(--accent); box-shadow: 0 6px 20px rgba(15, 22, 17, .07); }
.error-tiles svg { flex: none; width: 48px; height: 48px; padding: 11px; border-radius: 10px; background: var(--ground); color: var(--accent); }
.error-tiles span { display: flex; flex-direction: column; gap: 2px; }
.error-tiles strong { font-size: 17px; }
.error-tiles small { color: var(--muted); font-size: 14px; }
.error-debug { margin-top: 24px; padding: 14px; background: #fff; border: 1px solid var(--line); white-space: pre-wrap; font-size: 13px; }
@media (max-width: 900px) { .error-hero__inner { grid-template-columns: 1fr; padding-top: 32px; } .error-hero__media { order: -1; aspect-ratio: 16 / 7; } }
.error-hero .series-claim { color: var(--accent-on-dark); }
/* Stacked cards: the description wraps instead of being cut off */
.card__body--stack .card__meta { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
/* The open mega menu covers the part of the Deutz-Fahr box that hangs below the header */
.mega { z-index: 5; }
/* Header CTA: black button with a chevron (no phone number in the header) */
.site-header__cta { display: inline-flex; align-items: center; gap: 6px; background: var(--ink); border-color: var(--ink); color: #fff; white-space: nowrap; }
.site-header__cta:hover { background: #2B302C; border-color: #2B302C; color: #fff; }
.site-header__cta svg { flex: none; transition: transform .15s; }
.site-header__cta:hover svg { transform: translateX(2px); }
@media (max-width: 1080px) { .site-header__cta { justify-content: center; } }

/* Mega menu v3.1: type switch as pills on top, then two columns (list | detail) */
.mega3 { grid-template-columns: 320px minmax(0, 1fr); grid-template-rows: auto 1fr; }
.mega3__switch { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line-2); }
.mega3__types { flex-direction: row; gap: 4px; padding: 4px; border: 0; border-radius: 999px; background: var(--ground); }
.mega3__types [role="tab"] { flex-direction: row; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; font-size: 15px; font-weight: 750; }
.mega3__types [role="tab"] small { padding: 1px 7px; border-radius: 999px; background: rgba(0, 0, 0, .06); color: var(--muted); font-size: 12px; font-weight: 700; }
.mega3__types [role="tab"][aria-selected="true"] { background: var(--dark); color: #fff; }
.mega3__types [role="tab"][aria-selected="true"] small { background: rgba(255, 255, 255, .16); color: #fff; }
.mega3__extra { flex-direction: row; gap: 4px; margin: 0; padding: 0; border: 0; }
.mega3__extra a { flex-direction: row; padding: 8px 12px; font-size: 14px; color: var(--accent); }
.mega3__extra a::after { content: ""; width: 6px; height: 6px; margin: 0 0 0 8px; align-self: center; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.mega3__list { padding: 0 12px 0 0; }
.mega3__detail { overflow-x: hidden; }
/* Deutz-Fahr: twice the height of the other producers */
.mega3__featured a { min-height: 112px; padding: 10px; background: linear-gradient(90deg, rgba(55, 161, 55, .08), transparent); }
.mega3__list .mega3__featured .mega3__logo { width: 92px; height: 92px; padding: 8px; }
.mega3__featured .mega3__txt em { color: var(--accent); font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mega3__featured .mega3__txt strong { font-size: 19px; }
.mega3__featured + li { margin-top: 4px; }
@media (max-width: 1080px) {
	.mega3__switch { flex-direction: column; align-items: stretch; }
	.mega3__types [role="tab"] { justify-content: center; }
	.mega3__extra { justify-content: space-between; }
	.mega3__list { padding: 0; }
}
/* Detail column has more room in the two-column layout: larger tiles */
.mega3__detail .mega3__tiles { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px 14px; }
.mega3__detail .mega3__tiles--wide { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.mega3__detail .mega3__tiles a { gap: 16px; padding: 6px; }
.mega3__detail .mega3__tiles .mega3__img, .mega3__detail .mega3__tiles .mega3__logo { width: 88px; height: 88px; }
.mega3__detail .mega3__tiles .mega3__img--logo { padding: 10px; }
.mega3__detail .mega3__tiles .mega3__txt strong { font-size: 16px; }
.mega3__detail .mega3__tiles .mega3__txt small { font-size: 13.5px; }
.mega3__detail .mega3__head .mega3__logo { width: 72px; height: 72px; }
.mega3__detail .mega3__head strong { font-size: 22px; }
.mega3__detail .mega3__group + .mega3__group { margin-top: 22px; }
@media (max-width: 1080px) { .mega3__detail .mega3__tiles .mega3__img, .mega3__detail .mega3__tiles .mega3__logo { width: 72px; height: 72px; } }
/* Producer / category list: one size for all, slightly larger than before */
.mega3__list a { min-height: 72px; padding: 6px 8px; gap: 14px; }
.mega3__list .mega3__logo, .mega3__list .mega3__img { width: 60px; height: 60px; padding: 6px; }
.mega3__list .mega3__img { padding: 0; }
.mega3__list .mega3__img--studio { padding: 3px; }
.mega3__list .mega3__txt strong { font-size: 15.5px; }
.mega3__list .mega3__txt small { font-size: 13px; }
/* Open mega menu: the Deutz-Fahr box shrinks into the header (logo only), animated */
.df-box { transition: height .25s ease, padding .25s ease; overflow: hidden; }
.df-box img { transition: width .25s ease, height .25s ease; }
.df-box span { transition: opacity .15s ease, max-height .25s ease; max-height: 40px; }
.is-mega-open .df-box { height: 76px; padding: 9px 6px; justify-content: center; }
.is-mega-open .df-box img { width: 48px; height: 58px; }
.is-mega-open .df-box span { opacity: 0; max-height: 0; padding-top: 0; }
@media (prefers-reduced-motion: reduce) { .df-box, .df-box img, .df-box span { transition: none; } }
/* Deutz-Fahr in the mega menu: larger cards with a photo, power range and short description */
.mega3__cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.mega3__card { height: 100%; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; color: var(--ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.mega3__card:hover { border-color: var(--accent); box-shadow: 0 6px 18px rgba(15, 22, 17, .08); }
.mega3__card-img { aspect-ratio: 16 / 10; display: grid; place-items: center; padding: 8px 10px 0; }
.mega3__card-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.mega3__card:hover .mega3__card-img img { transform: scale(1.04); }
.mega3__card-txt { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px 14px; }
.mega3__card-txt strong { font-size: 16px; font-weight: 800; line-height: 1.25; }
.mega3__card-txt b { color: var(--accent); font-size: 13px; font-weight: 750; font-variant-numeric: tabular-nums; }
.mega3__card-txt small { margin-top: 2px; color: var(--muted); font-size: 13px; line-height: 1.4; }
@media (max-width: 1080px) { .mega3__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .mega3__card-txt { padding: 8px 10px 10px; } .mega3__card-txt strong { font-size: 14.5px; } }
/* Deutz-Fahr cards: horizontal — photo on the left, name and texts on the right */
.mega3__cards { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px 12px; }
.mega3__card { flex-direction: row; align-items: center; gap: 14px; padding: 8px; }
.mega3__card-img { flex: none; width: 128px; aspect-ratio: 4 / 3; padding: 0; border-radius: 6px; background: #fff; }
.mega3__card-txt { min-width: 0; padding: 0 6px 0 0; }
@media (max-width: 1080px) { .mega3__cards { grid-template-columns: 1fr; } .mega3__card-img { width: 104px; } }
/* /oferta/* brand blocks: square white logo box, as in the mega menu */
.cat-brand__logo { width: 84px; height: 84px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 10px; transition: border-color .15s; }
.cat-brand__logo:hover { border-color: var(--accent); }
.cat-brand__logo img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
@media (max-width: 600px) { .cat-brand__logo { width: 68px; height: 68px; padding: 8px; } }
/* Mobile panel: only the panel scrolls (inner columns are not scroll containers, otherwise they swallow the gesture) */
@media (max-width: 1080px) {
	.mega3__list, .mega3__detail { overflow: visible; overscroll-behavior: auto; max-height: none; }
	.mega.is-panel { overflow-x: hidden; }
	.mega3 { max-width: 100%; min-width: 0; }
	.mega3__switch, .mega3__extra { min-width: 0; }
	.mega3__extra { flex-wrap: wrap; }
	.mega3__extra li { flex: 1 1 auto; min-width: 0; }
	.mega3__extra a { justify-content: center; white-space: nowrap; }
}
/* Lightbox: the image is sized to the viewport (not the dialog), so the dialog never gets wider than the screen */
.ap-lightbox { width: fit-content; max-width: 94vw; margin: auto; }
.ap-lightbox img { display: block; width: auto; height: auto; max-width: 94vw; max-height: 86vh; object-fit: contain; }
@media (max-width: 600px) { .ap-lightbox { max-width: 100vw; border-radius: 0; } .ap-lightbox img { max-width: 100vw; max-height: 80vh; } .ap-lightbox__nav { opacity: .85; } }
/* Footer departments: never wider than the screen (flex-basis 560px pushed phones to 580px wide) */
.footer__depts { flex: 1 1 100%; min-width: 0; }
@media (min-width: 900px) { .footer__depts { flex: 1 1 560px; } }
@media (max-width: 600px) { .footer__depts { grid-template-columns: 1fr; } }
/* Feature videos (Merlo): YouTube thumbnail that opens the video, or a native player for hosted clips */
.video-embed a { position: relative; display: block; border-radius: var(--radius); overflow: hidden; color: #fff; text-decoration: none; }
.video-embed img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.video-embed span { position: absolute; left: 12px; bottom: 12px; padding: 8px 14px; border-radius: 999px; background: rgba(0, 0, 0, .72); font-size: 14px; font-weight: 700; }
.video-embed span::before { content: "▶ "; color: var(--accent-on-dark); }
.series-feature video { width: 100%; border-radius: var(--radius); background: #000; }

/* Open accordion section: white card */
.ap-acc { transition: background .2s; }
.ap-acc[open] { margin: 6px 0; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.ap-acc[open] + .ap-acc { border-top-color: transparent; }
.ap-acc[open] > summary { padding-left: 22px; padding-right: 22px; }
.ap-acc[open] > .ap-acc__body { padding: 4px 22px 26px; }
@media (max-width: 600px) { .ap-acc[open] > summary { padding-left: 14px; padding-right: 14px; } .ap-acc[open] > .ap-acc__body { padding: 0 14px 18px; } }

/* Text and image columns: vertically centred; the shorter one stays in view (sticky) while the longer one scrolls.
   --header-offset is the height of the header when it is shown on scroll up (set by template.js). */
.series-feature, .intro-media { align-items: center; }
.series-feature > div, .series-feature > figure, .intro-media > .series-intro, .intro-media .pgallery { position: sticky; top: calc(var(--header-offset, 0px) + 24px); transition: top .3s; }
@media (max-width: 900px) { .series-feature > div, .series-feature > figure, .intro-media > .series-intro { position: static; } }

/* Header: hidden while scrolling down, shown again when scrolling up */
.site-header { position: sticky; top: 0; transition: transform .3s ease; }
.site-header.is-hidden { transform: translateY(calc(-100% - 70px)); }
@media (prefers-reduced-motion: reduce) { .site-header { transition: none; } }
/* Gallery without a description next to it: centred, not stuck to one side */
.com-content-article__body > .pgallery { margin-left: auto; margin-right: auto; }
.com-content-article__body > .pgallery { max-width: 760px; }
.com-content-article__body > .pgallery .pgallery__main { aspect-ratio: 16 / 9; }

/* Accordion group: one white box around all sections (the open one is no longer a separate card) */
.ap-accs { margin: 8px 0 24px; padding: 0 24px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.ap-accs .ap-acc, .ap-accs .ap-acc[open] { margin: 0; background: transparent; border: 0; border-radius: 0; }
.ap-accs .ap-acc + .ap-acc { border-top: 1px solid var(--line-2); }
.ap-accs .ap-acc > summary, .ap-accs .ap-acc[open] > summary { padding: 20px 0; }
.ap-accs .ap-acc[open] > .ap-acc__body { padding: 0 0 26px; }
@media (max-width: 600px) { .ap-accs { padding: 0 14px; } }

/* Gallery: one row of thumbnails, scrollable, with prev/next buttons */
.pgallery__strip { display: flex; align-items: center; gap: 8px; }
.com-content-article__body .pgallery__strip .pgallery__thumbs { flex: 1; min-width: 0; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pgallery__strip .pgallery__thumbs::-webkit-scrollbar { display: none; }
.pgallery__strip .pgallery__thumbs li { flex: 0 0 calc((100% - 4 * 8px) / 5); scroll-snap-align: start; }
.pgallery__arrow { flex: none; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer; transition: border-color .15s, color .15s; }
.pgallery__arrow:hover { border-color: var(--accent); color: var(--accent); }
@media (max-width: 900px) { .pgallery__strip .pgallery__thumbs li { flex-basis: calc((100% - 3 * 8px) / 4); } }
/* Text column centred vertically; image / gallery column starts at the top (and stays sticky) */
.series-feature > div, .intro-media > .series-intro { align-self: center; }
.series-feature > figure, .intro-media .pgallery { align-self: flex-start; }
/* Homepage: Deutz-Fahr series cards with power range and short description */
.cards--series .card__media { aspect-ratio: 16 / 11; }
.cards--series .card__body { gap: 3px; padding: 14px 18px 18px; }
.cards--series .card__title { font-size: 18px; }
.card__power { color: var(--accent); font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.cards--series .card__text { margin-top: 3px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.section__more { display: flex; justify-content: center; margin: 32px 0 0; }
.section__more .btn { display: inline-flex; align-items: center; gap: 8px; }
.section__more { justify-content: flex-start; }
.btn--dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn--dark:hover { background: #2B302C; border-color: #2B302C; color: #fff; }
.section__intro { max-width: 72ch; margin: -12px 0 28px; color: var(--ink-2); font-size: 17px; line-height: 1.6; }
/* Brand logos: fixed box so SVGs without an intrinsic size (Meprozet) and the tall DF mark render properly */
.brands .brands__logo { width: 132px; height: 44px; }
.brands .brands__logo img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }

/* /oferta */
.offer-section { margin: 40px 0 0; }
.offer-section .section__head { margin-bottom: 20px; }
.com-content-article__body .offer-section h2 { margin: 0; }
.com-content-article__body ul.offer-brands { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.offer-brands a { height: 100%; display: flex; align-items: center; gap: 14px; padding: 12px 16px 12px 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.offer-brands a:hover { border-color: var(--accent); box-shadow: 0 6px 18px rgba(15, 22, 17, .07); }
.offer-brand__logo { flex: none; width: 96px; height: 56px; display: grid; place-items: center; padding: 6px; border: 1px solid var(--line-2); border-radius: 8px; background: #fff; }
.com-content-article__body .offer-brand__logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.offer-brand__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.offer-brand__txt strong { font-size: 16px; }
.offer-brand__txt small { color: var(--muted); font-size: 13.5px; line-height: 1.35; }
.offer-brands a > svg { flex: none; color: var(--accent); }
.offer-brand__logo { grid-template-rows: minmax(0, 1fr); grid-template-columns: minmax(0, 1fr); }
.com-content-article__body .offer-brand__logo img { max-width: 100%; max-height: 100%; }
.cards--cats .card__title { font-size: 16px; font-weight: 800; text-transform: none; }

/* Download lists (PDF brochures, manuals): buttons with a download icon instead of plain links */
.checklist:has(a[href$=".pdf"]) { display: flex; flex-wrap: wrap; gap: 10px; max-width: none; }
.checklist:has(a[href$=".pdf"]) li { padding: 0; }
.checklist:has(a[href$=".pdf"]) li::before { content: none; }
.checklist a[href$=".pdf"] { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 16px 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--ground); color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.3; text-decoration: none; transition: border-color .15s, background .15s; }
.checklist a[href$=".pdf"]::before { content: ""; flex: none; width: 32px; height: 32px; border-radius: 6px; background: var(--accent) no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M5 21h14'/%3E%3C/svg%3E"); }
.checklist a[href$=".pdf"]::after { content: "PDF"; margin-left: 4px; padding: 2px 6px; border-radius: 4px; background: #fff; color: var(--muted-2); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.checklist a[href$=".pdf"]:hover { border-color: var(--accent); background: #fff; color: var(--ink); }
@media (max-width: 600px) { .checklist:has(a[href$=".pdf"]) li, .checklist a[href$=".pdf"] { width: 100%; } }

/* Product pages: featured "Masz pytania?" card at the end */
.product-cta { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px 48px; align-items: center; margin: 48px 0 8px; padding: 40px 44px; border-radius: 14px; background: var(--dark); color: var(--on-dark); }
.product-cta::after { content: ""; position: absolute; right: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(55, 161, 55, .35), transparent 70%); pointer-events: none; }
.product-cta .series-claim { color: var(--accent-on-dark); margin: 0 0 6px; }
.com-content-article__body ~ .product-cta h2, .product-cta h2 { margin: 0 0 10px; color: #fff; font-size: clamp(24px, 2.4vw, 32px); }
.product-cta__text > p:not(.series-claim) { margin: 0; color: var(--on-dark); font-size: 16px; line-height: 1.6; max-width: 56ch; }
.product-cta__points { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.product-cta__points li { position: relative; padding-left: 24px; color: #fff; font-size: 14px; font-weight: 650; }
.product-cta__points li::before { content: ""; position: absolute; left: 3px; top: .38em; width: 11px; height: 6px; border: solid var(--accent-on-dark); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }
.product-cta__actions { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; }
.product-cta__phone { display: flex; flex-direction: column; padding: 14px 18px; border-radius: 10px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #fff; text-decoration: none; transition: background .15s; }
.product-cta__phone:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.product-cta__phone small { color: var(--on-dark-muted); font-size: 13px; }
.product-cta__phone strong { font-size: 26px; font-weight: 850; letter-spacing: .01em; font-variant-numeric: tabular-nums; }
.product-cta__actions .btn { justify-content: center; }
.product-cta .btn--outline { background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff; }
.product-cta .btn--outline:hover { border-color: #fff; color: #fff; }
@media (max-width: 860px) { .product-cta { grid-template-columns: 1fr; padding: 28px 22px; } }
.spec-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.spec-images a { display: block; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.com-content-article__body .spec-images img { width: 100%; height: auto; border-radius: 0; }
/* The header slide is short and small: keep it animated even when the system asks for reduced motion */
.site-header.is-ready, .site-header.is-ready.is-hidden { transition: transform .32s cubic-bezier(.2, .7, .2, 1), box-shadow .32s ease !important; will-change: transform; }
.site-header.is-ready:not(.is-hidden) { box-shadow: 0 6px 18px rgba(15, 22, 17, .06); }
@media (prefers-reduced-motion: reduce) { .site-header.is-ready, .site-header.is-ready.is-hidden { transition-duration: .22s !important; } }
/* Documents kept on the manufacturer's site (manuals, parts catalogues): same button, "↗ producent" tag */
.checklist:has(a[data-doc]) { display: flex; flex-wrap: wrap; gap: 10px; max-width: none; }
.checklist:has(a[data-doc]) li { padding: 0; }
.checklist:has(a[data-doc]) li::before { content: none; }
.checklist a[data-doc] { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 16px 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--ground); color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.3; text-decoration: none; transition: border-color .15s, background .15s; }
.checklist a[data-doc]::before { content: ""; flex: none; width: 32px; height: 32px; border-radius: 6px; background: var(--accent) no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 10l5 5 5-5M5 21h14'/%3E%3C/svg%3E"); }
.checklist a[data-doc="ext"]::before { background-color: var(--ink-2); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E"); }
.checklist a[data-doc]::after { content: "PDF"; margin-left: 4px; padding: 2px 6px; border-radius: 4px; background: #fff; color: var(--muted-2); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.checklist a[data-doc="ext"]::after { content: "↗ producent"; letter-spacing: 0; text-transform: none; }
.checklist a[data-doc]:hover { border-color: var(--accent); background: #fff; color: var(--ink); }
@media (max-width: 600px) { .checklist:has(a[data-doc]) li, .checklist a[data-doc] { width: 100%; } }
/* Mobile mega panel: full device height. The header's transform/will-change would make it the containing block of the fixed panel, so drop them while the panel is open */
@media (max-width: 1080px) {
	html.is-scroll-locked .site-header, html.is-scroll-locked .site-header.is-ready { transform: none !important; will-change: auto !important; }
	.mega.is-panel { top: 0; left: 0; width: 100%; height: 100vh; height: 100dvh; max-height: none; }
}
/* Mega detail header: compact lines (long producer names wrap tightly) */
.mega3__head strong { line-height: 1.15; }
.mega3__head small { line-height: 1.3; margin-top: 3px; }
.mega3__all { flex: none; }

/* Mobile main menu: full screen below the logo row, CTA hero pinned to the bottom */
.nav-cta { display: none; }
@media (max-width: 1080px) {
	.site-header__nav.is-open { position: fixed; top: var(--nav-top, 76px); left: 0; right: 0; bottom: 0; z-index: 150; margin: 0; padding: 8px var(--gutter) calc(20px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: var(--surface); border-top: 1px solid var(--line-2); }
	.site-header__nav.is-open nav a, .site-header__nav.is-open .mega-toggle { padding: 15px 0; font-size: 18px; font-weight: 700; }
	.site-header__nav.is-open nav li:last-child > a { border-bottom: 0; }
	.site-header__nav.is-open .site-header__actions { display: none; }
	.site-header__nav.is-open .nav-cta { display: block; margin-top: auto; padding: 26px 22px 22px; border-radius: 12px; color: #fff; background: linear-gradient(180deg, rgba(15,22,17,.55) 0%, rgba(15,22,17,.92) 62%), url(../../../../../images/agroplus/hero/strona-glowna-deutz-fahr-seria-8-800.webp) center 30% / cover, var(--dark); }
	.site-header__nav.is-open nav { margin-bottom: 24px; }
	.nav-cta__eyebrow { margin: 0 0 8px; color: var(--accent-on-dark); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
	.nav-cta__title { margin: 0 0 8px; font-size: 24px; font-weight: 800; line-height: 1.15; }
	.nav-cta__text { margin: 0 0 18px; color: var(--on-dark); font-size: 15px; line-height: 1.45; }
	.nav-cta__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
	.nav-cta__btn { flex: 1 1 160px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--accent); color: #fff; }
	.nav-cta__btn--ghost { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.35); }
	.is-nav-open .df-box { height: 76px; padding: 9px 6px; justify-content: center; }
	.is-nav-open .df-box img { width: 48px; height: 58px; }
	.is-nav-open .df-box span { opacity: 0; max-height: 0; padding-top: 0; }
}
/* The scroll lock makes body a scroll container, which breaks the sticky header: pin it while the mobile menu is open */
@media (max-width: 1080px) { .site-header.is-nav-open { position: fixed; top: 0; left: 0; right: 0; } }
/* Mobile mega detail header: "Cała oferta" wraps below the producer name */
@media (max-width: 1080px) {
	.mega3__head { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 6px; align-items: center; }
	.mega3__head .mega3__logo { grid-row: span 2; align-self: start; }
	.mega3__head .mega3__all { grid-column: 2; justify-self: start; padding: 2px 0; }
}
/* Sticky detail header on mobile: equal space above and below its content */
@media (max-width: 1080px) { .mega3__head { top: 60px; padding: 14px 0; margin-bottom: 10px; } .mega.is-panel .mega__bar { z-index: 5; } }
/* Text-only hero band (pages without an image, e.g. legal pages) */
.article-hero-band--plain .article-hero { padding-top: 44px; padding-bottom: 48px; }
.article-hero-band--plain .article-hero__text { flex-basis: 100%; max-width: 820px; }
.article-hero-band--plain + .com-content-article__body, .article-hero-band--plain ~ .com-content-article__body { margin-top: 40px; }
