/* ============================================================================
   Pole (agro) — page styles layered on top of Blocksy.
   Scope: every page body is wrapped in .fp-page-<slug>. Shared component
   classes are fp-*. Built on CSS variables so palette stays in one place.
   Visual language mirrors the "Catering" starter (band rhythm), agro palette.
   ========================================================================== */

:root {
	--fp-green:      #1f5c3a;   /* deep agro green */
	--fp-green-700:  #17472d;
	--fp-lime:       #8cc63f;   /* accent */
	--fp-cream:      #f6f4ee;
	--fp-graphite:   #1c1c1c;
	--fp-ink:        #20271f;
	--fp-muted:      #6b7269;
	--fp-line:       rgba(0,0,0,.08);
	--fp-radius:     14px;
	--fp-maxw:       1180px;
	--fp-band-pad:   84px;
}

/* ---- full-width bands with a centred inner wrapper ----
   Break out of Blocksy's centred content container to span the viewport. */
[class^="fp-page-"], [class*=" fp-page-"] { overflow-x: clip; }
.fp-bleed {
	position: relative; left: 50%; right: 50%;
	width: 100vw; margin-left: -50vw; margin-right: -50vw;
}
.fp-inner {
	max-width: var(--fp-maxw);
	margin-inline: auto;
	padding-inline: 24px;
}
.fp-band { padding-block: var(--fp-band-pad); }
.fp-band--cream { background: var(--fp-cream); }
.fp-band--dark  { background: var(--fp-graphite); color: #e9e9e6; }
.fp-band--green { background: var(--fp-green); color: #fff; }

/* ---- typography helpers ---- */
.fp-eyebrow {
	display: inline-block;
	font-size: .8rem; letter-spacing: .18em; text-transform: uppercase;
	color: var(--fp-lime); font-weight: 700; margin-bottom: .8rem;
}
.fp-h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.12; margin: 0 0 .6rem; }
.fp-sub { color: var(--fp-muted); max-width: 640px; margin: 0 auto 2.6rem; text-align: center; }
.fp-section-head { text-align: center; }
.fp-band--dark .fp-sub { color: #b9bbb4; }

/* ---- buttons ---- */
.fp-btn {
	display: inline-block; padding: .85em 1.6em; border-radius: 8px;
	font-weight: 700; text-decoration: none; transition: .18s; cursor: pointer;
	background: var(--fp-lime); color: var(--fp-green-700); border: 2px solid var(--fp-lime);
}
.fp-btn:hover { background: #7cb434; border-color: #7cb434; }
.fp-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.fp-btn--ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.fp-btn--green { background: var(--fp-green); border-color: var(--fp-green); color: #fff; }
.fp-btn--green:hover { background: var(--fp-green-700); border-color: var(--fp-green-700); }

/* ---- image slots (placeholder gradient until real webp is wired) ---- */
.fp-img {
	background: linear-gradient(135deg, #2f6b46, #6ea63f);
	background-size: cover; background-position: center; border-radius: var(--fp-radius);
}
.fp-img--round { border-radius: 999px; }

/* ========================= HOME ========================= */

/* hero */
.fp-hero {
	position: relative; color: #fff; overflow: hidden;
	background-color: var(--fp-graphite);
	background-image: url(img/hero.webp);
	background-size: cover; background-position: center;
}
.fp-hero::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg, rgba(13,20,13,.9) 0%, rgba(13,20,13,.62) 46%, rgba(13,20,13,.22) 100%);
}
.fp-hero .fp-inner { position: relative; padding-block: 150px; }
.fp-hero__copy { max-width: 640px; }
.fp-hero h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1.05; margin: 0 0 1rem; }
.fp-hero p.lead { font-size: 1.12rem; color: #e6e9e0; max-width: 34em; margin: 0 0 1.8rem; }
.fp-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* trust band (green strip with icons) */
.fp-trust { background: var(--fp-green); color: #fff; }
.fp-trust .fp-inner { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; padding-block: 40px; }
.fp-trust__item { display: flex; gap: 16px; align-items: center; }
.fp-trust__ic {
	flex: none; width: 54px; height: 54px; border-radius: 999px;
	background: rgba(255,255,255,.14); display: grid; place-items: center; font-size: 1.5rem;
}
.fp-trust__item strong { display: block; font-size: 1.05rem; }
.fp-trust__item span { font-size: .9rem; color: #d8e6cf; }

/* card grid (round-image cards) */
.fp-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.fp-card { text-align: center; }
.fp-card .fp-img { width: 150px; height: 150px; margin: 0 auto 1.1rem; }
.fp-card h3 { font-size: 1.25rem; margin: 0 0 .5rem; }
.fp-card p { color: var(--fp-muted); margin: 0 0 1rem; }

/* story band (dark, media + text) */
.fp-story .fp-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.fp-story__media { aspect-ratio: 4/3; }
.fp-story h2 { font-size: clamp(1.6rem,3vw,2.3rem); margin: 0 0 1rem; }
.fp-story p { color: #b9bbb4; margin: 0 0 1rem; }

/* occasions (photo cards 2x2) */
.fp-occasions { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.fp-occasion { position: relative; aspect-ratio: 16/10; border-radius: var(--fp-radius); overflow: hidden; color: #fff; }
.fp-occasion .fp-img { position: absolute; inset: 0; border-radius: 0; }
.fp-occasion__cap {
	position: absolute; inset: auto 0 0 0; padding: 20px;
	background: linear-gradient(transparent, rgba(0,0,0,.7));
}
.fp-occasion__cap h3 { margin: 0; font-size: 1.2rem; }

/* price list (two columns, name · price) */
.fp-pricelist { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 56px; }
.fp-price { display: flex; align-items: baseline; gap: 10px; padding: 12px 0; border-bottom: 1px dashed var(--fp-line); }
.fp-band--dark .fp-price { border-color: rgba(255,255,255,.12); }
.fp-price__name { font-weight: 600; }
.fp-price__dots { flex: 1; border-bottom: 1px dotted currentColor; opacity: .35; transform: translateY(-4px); }
.fp-price__val { font-weight: 700; color: var(--fp-green); white-space: nowrap; }
.fp-band--dark .fp-price__val { color: var(--fp-lime); }
.fp-pricecat { margin: 0 0 1.6rem; font-size: 1.4rem; }

/* testimonials */
.fp-quotes { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.fp-quote { background: #fff; border: 1px solid var(--fp-line); border-radius: var(--fp-radius); padding: 26px; }
.fp-quote p { font-style: italic; color: var(--fp-ink); }
.fp-quote__who { margin-top: 14px; font-weight: 700; color: var(--fp-green); }

/* newsletter CTA */
.fp-newsletter { position: relative; background: var(--fp-graphite); color: #fff; text-align: center; }
.fp-newsletter::before { content:""; position:absolute; inset:0; background: linear-gradient(135deg,#1c2a1e,#14331f); opacity:.96; }
.fp-newsletter .fp-inner { position: relative; padding-block: 64px; }
.fp-newsletter h2 { font-size: clamp(1.5rem,3vw,2.2rem); margin: 0 0 1.4rem; }
.fp-form { display: flex; gap: 12px; max-width: 540px; margin: 0 auto; }
.fp-form input { flex: 1; padding: .9em 1.1em; border-radius: 8px; border: 0; font-size: 1rem; }

/* ===== shared inner-page pieces (used by other pages) ===== */
.fp-pagehero { position: relative; background: var(--fp-graphite); color: #fff; text-align: center; }
.fp-pagehero::before { content:""; position:absolute; inset:0; background: linear-gradient(135deg, rgba(20,28,20,.85), rgba(20,28,20,.7)), linear-gradient(135deg,#24402c,#16331f); }
.fp-pagehero .fp-inner { position: relative; padding-block: 90px; }
.fp-pagehero h1 { font-size: clamp(2rem,4vw,3rem); margin: 0; }
.fp-pagehero .crumbs { margin-top: .6rem; color: #b9c4b3; font-size: .9rem; }

/* stats band */
.fp-stats .fp-inner { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; padding-block: 52px; text-align: center; }
.fp-stat__num { font-size: clamp(2rem,4vw,2.8rem); font-weight: 800; line-height: 1; }
.fp-stat__label { color: #d8e6cf; margin-top: .4rem; font-size: .95rem; }

/* team grid */
.fp-team { display: grid; grid-template-columns: repeat(2,1fr); gap: 26px; }
.fp-member { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: center; }
.fp-member .fp-img { width: 120px; height: 120px; }
.fp-member h3 { margin: 0; font-size: 1.15rem; }
.fp-member span { color: var(--fp-green); font-weight: 600; }

/* faq */
.fp-faq { max-width: 820px; margin-inline: auto; }
.fp-faq details { border: 1px solid var(--fp-line); border-radius: 10px; margin-bottom: 12px; background: #fff; }
.fp-faq summary { cursor: pointer; padding: 18px 22px; font-weight: 700; list-style: none; }
.fp-faq summary::-webkit-details-marker { display: none; }
.fp-faq details[open] summary { color: var(--fp-green); }
.fp-faq p { padding: 0 22px 20px; color: var(--fp-muted); margin: 0; }

/* services / info cards */
.fp-icards { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.fp-icard { text-align: center; background: #fff; border: 1px solid var(--fp-line); border-radius: var(--fp-radius); padding: 34px 26px; }
.fp-icard__ic { width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 999px; background: rgba(31,92,58,.1); color: var(--fp-green); display: grid; place-items: center; font-size: 1.7rem; }
.fp-icard h3 { font-size: 1.2rem; margin: 0 0 .6rem; }
.fp-icard p { color: var(--fp-muted); margin: 0 0 1.1rem; }

/* green CTA strip */
.fp-ctastrip .fp-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 38px; flex-wrap: wrap; }
.fp-ctastrip h2 { margin: 0; font-size: clamp(1.3rem,2.5vw,1.8rem); max-width: 30ch; }

/* media + text split */
.fp-split .fp-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.fp-split__media { aspect-ratio: 1/1; max-width: 380px; }
.fp-split h2 { margin: 0 0 1rem; }

/* request / contact form band (dark) */
.fp-formband { background: var(--fp-graphite); color: #fff; }
.fp-formband .fp-inner { max-width: 840px; }
.fp-formgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fp-formgrid .full { grid-column: 1 / -1; }
.fp-formband input, .fp-formband textarea {
	width: 100%; padding: .85em 1em; border-radius: 8px; box-sizing: border-box;
	border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06);
	color: #fff; font-size: 1rem; font-family: inherit;
}
.fp-formband textarea { min-height: 120px; resize: vertical; }
.fp-formband ::placeholder { color: #9aa39a; }

/* partner logos strip */
.fp-logos { display: flex; flex-wrap: wrap; gap: 28px; justify-content: center; align-items: center; }
.fp-logo { font-weight: 800; letter-spacing: .04em; color: var(--fp-muted); font-size: 1.05rem; border: 1px dashed var(--fp-line); padding: 10px 18px; border-radius: 8px; }

/* posts grid (journal) */
.fp-posts { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.fp-post { background: #fff; border: 1px solid var(--fp-line); border-radius: var(--fp-radius); overflow: hidden; display: flex; flex-direction: column; }
.fp-post__media { aspect-ratio: 16/10; }
.fp-post__body { padding: 20px; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.fp-post__tag { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--fp-green); font-weight: 700; }
.fp-post h3 { margin: 0; font-size: 1.15rem; }
.fp-post p { color: var(--fp-muted); margin: 0; flex: 1; }
.fp-post a { color: var(--fp-green); font-weight: 700; text-decoration: none; align-self: start; }

/* contrast — Blocksy applies a fixed dark heading colour; force light text on
   our dark / green / hero surfaces (our rules load after the theme). */
.fp-hero h1,
.fp-hero .fp-eyebrow,
.fp-band--dark h2, .fp-band--dark h3,
.fp-story h2, .fp-story h3,
.fp-newsletter h2,
.fp-band--green h2, .fp-band--green h3,
.fp-pagehero h1,
.fp-ctastrip h2 { color: #fff; }
.fp-hero .fp-eyebrow { color: var(--fp-lime); }
.fp-hero h1 { text-shadow: 0 1px 24px rgba(0,0,0,.35); }
.fp-stat__num { color: #fff; }

/* image slots — real brand photos (firmapole.kz) + generated agro imagery.
   Paths are relative to this file (assets/custom.css → assets/img/). */
.fp-img--hero      { background-image: url(img/hero.webp); }
.fp-cat--biomats   { background-image: url(img/cat-biomats.webp); }
.fp-cat--hydro     { background-image: url(img/cat-hydro.webp); }
.fp-cat--mixes     { background-image: url(img/cat-mixes.webp); }
.fp-story--field   { background-image: url(img/story-field.webp); }
.fp-occ--industry  { background-image: url(img/occ-industry.webp); }
.fp-occ--roads     { background-image: url(img/occ-roads.webp); }
.fp-occ--oilgas    { background-image: url(img/occ-oilgas.webp); }
.fp-occ--city      { background-image: url(img/occ-city.webp); }
.fp-split--seeds   { background-image: url(img/split-seeds.webp); }
.fp-about--seeds   { background-image: url(img/about-seeds.webp); }
.fp-about--field   { background-image: url(img/about-field.webp); }
.fp-contact--field { background-image: url(img/contact-field.webp); }
.fp-rek--zones     { background-image: url(img/rek-zones.webp); }
.fp-otk--erosion   { background-image: url(img/otk-erosion.webp); }
.fp-post--1 { background-image: url(img/post-1.webp); }
.fp-post--2 { background-image: url(img/post-2.webp); }
.fp-post--3 { background-image: url(img/post-3.webp); }
.fp-post--4 { background-image: url(img/post-4.webp); }
.fp-post--5 { background-image: url(img/post-5.webp); }
.fp-post--6 { background-image: url(img/post-6.webp); }

/* header (desktop): tighten menu + logo so all 6 items fit (no Blocksy "More") */
@media (min-width: 1000px) {
	#header-menu-1 .ct-menu-link { padding-left: 11px; padding-right: 11px; font-size: 15px; }
	.site-logo-container img { max-height: 32px; width: auto; }
}

/* responsive */
@media (max-width: 860px) {
	:root { --fp-band-pad: 56px; }
	.fp-hero .fp-inner, .fp-story .fp-inner, .fp-split .fp-inner { grid-template-columns: 1fr; }
	.fp-split__media { justify-self: start; max-width: 320px; }
	.fp-hero .fp-inner { padding-block: 90px; }
	.fp-cards, .fp-icards, .fp-quotes { grid-template-columns: 1fr; }
	.fp-trust .fp-inner, .fp-occasions, .fp-pricelist, .fp-team, .fp-stats .fp-inner { grid-template-columns: 1fr; }
	.fp-stats .fp-inner { grid-template-columns: repeat(2,1fr); }
	.fp-posts { grid-template-columns: 1fr; }
	.fp-formgrid { grid-template-columns: 1fr; }
	.fp-member { grid-template-columns: 90px 1fr; }
	.fp-form { flex-direction: column; }
}

/* ===== city pages (delivery table, FAQ, notes) ===== */
.fp-deliverytable { width: 100%; border-collapse: collapse; font-size: .95rem; }
.fp-deliverytable th, .fp-deliverytable td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--fp-line); }
.fp-deliverytable thead th { background: var(--fp-green); color: #fff; font-weight: 700; }
.fp-deliverytable tbody tr:nth-child(even) { background: rgba(0,0,0,.02); }

.fp-note { margin-top: 1rem; font-size: .85rem; color: var(--fp-muted); max-width: 760px; }

.fp-faq { max-width: 820px; margin-inline: auto; }
.fp-faq details { border-bottom: 1px solid var(--fp-line); padding: 14px 0; }
.fp-faq summary { cursor: pointer; font-weight: 600; color: var(--fp-ink); list-style: none; }
.fp-faq summary::-webkit-details-marker { display: none; }
.fp-faq summary::after { content: "+"; float: right; color: var(--fp-green); font-weight: 700; }
.fp-faq details[open] summary::after { content: "–"; }
.fp-faq p { margin: .6rem 0 0; color: var(--fp-muted); }

/* ===== calculator (shortcode [pole_calculator]) ===== */
.fp-calc { max-width: 880px; margin-inline: auto; }
.fp-calc__grid { display: grid; grid-template-columns: 2fr 2fr 1.4fr 1fr; gap: 14px; }
.fp-calc__field { display: flex; flex-direction: column; gap: .35rem; }
.fp-calc__field span { font-size: .82rem; color: var(--fp-muted); font-weight: 600; }
.fp-calc__field select, .fp-calc__field input {
	padding: .7em .8em; border-radius: 8px; border: 1px solid var(--fp-line);
	background: #fff; font-size: 1rem; font-family: inherit;
}
.fp-calc__out { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 1.4rem; }
.fp-calc__metric { background: #fff; border: 1px solid var(--fp-line); border-radius: var(--fp-radius); padding: 18px; text-align: center; }
.fp-calc__metric span { display: block; font-size: clamp(1.4rem,3vw,2rem); font-weight: 800; color: var(--fp-green); line-height: 1.1; }
.fp-calc__metric small { color: var(--fp-muted); font-size: .8rem; }

/* ===== lead form (shortcode [pole_lead_form]) ===== */
.fp-leadform { margin-top: 1.4rem; }
.fp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fp-leadform select {
	width: 100%; padding: .85em 1em; border-radius: 8px; box-sizing: border-box;
	border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06);
	color: #fff; font-size: 1rem; font-family: inherit;
}
.fp-leadform option { color: #1c1c1c; }
.fp-consent { display: flex; align-items: center; gap: 10px; font-size: .9rem; color: #c9cdc6; }
.fp-consent input { width: auto; }
.fp-formnotice { max-width: 840px; margin: 0 auto 1.2rem; padding: 14px 18px; border-radius: 10px; font-weight: 600; }
.fp-formnotice--ok { background: rgba(140,198,63,.16); color: #d6efb4; border: 1px solid rgba(140,198,63,.4); }
.fp-formnotice--err { background: rgba(220,90,70,.16); color: #f0c4bc; border: 1px solid rgba(220,90,70,.4); }

/* ===== product specs + techcard steps ===== */
.fp-specs { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .5rem; }
.fp-specs li { padding-bottom: .5rem; border-bottom: 1px dashed var(--fp-line); }
.fp-steps { counter-reset: step; list-style: none; padding: 0; display: grid; gap: 18px; max-width: 820px; margin-inline: auto; }
.fp-step { position: relative; background: #fff; border: 1px solid var(--fp-line); border-radius: var(--fp-radius); padding: 22px 22px 22px 64px; }
.fp-step::before {
	counter-increment: step; content: counter(step);
	position: absolute; left: 18px; top: 22px; width: 32px; height: 32px;
	background: var(--fp-green); color: #fff; border-radius: 999px;
	display: grid; place-items: center; font-weight: 800;
}
.fp-step h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.fp-step p { margin: 0; color: var(--fp-muted); }
.fp-richtext { line-height: 1.7; }
.fp-richtext h2, .fp-richtext h3 { margin: 1.4rem 0 .6rem; }
.fp-richtext p { margin: 0 0 1rem; }

@media (max-width: 860px) {
	.fp-calc__grid { grid-template-columns: 1fr 1fr; }
	.fp-calc__out { grid-template-columns: 1fr; }
}
