/*
Theme Name: Agro Capital Investment
Theme URI: https://agffcapital.com/
Author: Agro Capital Investment
Author URI: https://agffcapital.com/
Description: A clean, professional investment landing theme for Agro Capital Investment. Designed to pair with the "Agro Capital Investment" plugin (v1.2.0+): investment plan cards, hero banner, how-it-works steps, withdrawal payout schedule and minimum, Telegram community group, trust and compliance sections. Green and gold palette, fully responsive, and the "Invest Now" buttons route into the plugin's investor dashboard.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: agro-capital-investment
Tags: business, finance, portfolio, custom-logo, custom-menu, featured-images, translation-ready, one-column, full-width-template, right-sidebar
*/

/* ==========================================================================
   1. Design tokens
   ========================================================================== */

:root {
  /* Greens */
  --agf-green-950: #071c12;
  --agf-green-900: #0d3b26;
  --agf-green-800: #12502f;
  --agf-green-700: #14603b;
  --agf-green-600: #1d7a4d;
  --agf-green-500: #22915c;
  --agf-green-400: #34a06a;
  --agf-green-100: #e6f3ec;
  --agf-green-50:  #f3faf6;

  /* Gold */
  --agf-gold-700: #a87c1c;
  --agf-gold-600: #c99a2e;
  --agf-gold-500: #e9c25c;
  --agf-gold-300: #f7dc84;
  --agf-gold-100: #fdf5e0;

  /* Neutrals */
  --agf-ink:      #0b1a12;
  --agf-body:     #46564e;
  --agf-muted:    #6d7d75;
  --agf-line:     #dfe7e2;
  --agf-surface:  #ffffff;
  --agf-surface-2:#f6f9f6;

  /* Feedback */
  --agf-success: #1d7a4d;
  --agf-danger:  #b3261e;

  /* Radii & shadow */
  --agf-radius:    14px;
  --agf-radius-sm: 9px;
  --agf-radius-lg: 22px;
  --agf-shadow-sm: 0 1px 2px rgba(11, 26, 18, .06), 0 1px 3px rgba(11, 26, 18, .05);
  --agf-shadow:    0 4px 12px rgba(11, 26, 18, .07), 0 2px 4px rgba(11, 26, 18, .04);
  --agf-shadow-lg: 0 18px 40px rgba(11, 26, 18, .13), 0 6px 14px rgba(11, 26, 18, .06);

  --agf-container: 1200px;
  --agf-header-h:  76px;

  --agf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

/* ==========================================================================
   2. Base / reset (scoped to theme wrappers so plugin styles are never reset)
   ========================================================================== */

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

body {
  margin: 0;
  background: var(--agf-surface);
  color: var(--agf-body);
  font-family: var(--agf-font);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.agf-main { display: block; width: 100%; min-width: 0; }

/* The header and footer render OUTSIDE `<main class="agf-wrap">`, so they need
   the same border-box reset in their own right — without it their
   `.agf-container` is `width:100%` PLUS its horizontal padding, which pushes
   the page wider than the viewport and creates a horizontal scrollbar on
   phones. */
.agf-wrap,
.agf-wrap *,
.agf-wrap *::before,
.agf-wrap *::after,
.agf-header,
.agf-header *,
.agf-header *::before,
.agf-header *::after,
.agf-footer,
.agf-footer *,
.agf-footer *::before,
.agf-footer *::after { box-sizing: border-box; }

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

.agf-wrap h1,
.agf-wrap h2,
.agf-wrap h3,
.agf-wrap h4,
.agf-wrap h5 {
  margin: 0 0 .5em;
  color: var(--agf-ink);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.agf-wrap h1 { font-size: clamp(2rem, 5vw, 3.35rem); }
.agf-wrap h2 { font-size: clamp(1.6rem, 3.4vw, 2.35rem); }
.agf-wrap h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
.agf-wrap h4 { font-size: 1.075rem; }
.agf-wrap p  { margin: 0 0 1.1em; }

.agf-wrap a { color: var(--agf-green-600); text-decoration: none; }
.agf-wrap a:hover { color: var(--agf-green-800); }

.agf-wrap ul,
.agf-wrap ol { margin: 0 0 1.1em; padding-left: 1.25em; }

.agf-wrap :focus-visible {
  outline: 3px solid var(--agf-gold-500);
  outline-offset: 2px;
  border-radius: 4px;
}

.agf-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.agf-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  background: var(--agf-green-900);
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 var(--agf-radius-sm) 0;
  font-weight: 700;
}
.agf-skip-link:focus { left: 0; color: #fff; }

/* ==========================================================================
   3. Layout helpers
   ========================================================================== */

.agf-container {
  width: 100%;
  max-width: var(--agf-container);
  min-width: 0;
  margin-inline: auto;
  padding-inline: 20px;
}

.agf-section { padding: clamp(56px, 8vw, 104px) 0; }
.agf-section--tight { padding: clamp(40px, 5vw, 64px) 0; }
.agf-section--surface { background: var(--agf-surface-2); }
.agf-section--dark {
  background: linear-gradient(160deg, var(--agf-green-950) 0%, var(--agf-green-900) 55%, var(--agf-green-800) 100%);
  color: rgba(255, 255, 255, .84);
}
.agf-section--dark h2,
.agf-section--dark h3,
.agf-section--dark h4 { color: #fff; }

.agf-center { text-align: center; }

.agf-head { max-width: 720px; margin: 0 auto clamp(32px, 4vw, 56px); text-align: center; }
.agf-head p { margin: 0; font-size: 1.0625rem; color: var(--agf-muted); }
.agf-section--dark .agf-head p { color: rgba(255, 255, 255, .74); }

.agf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--agf-gold-700);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.agf-section--dark .agf-eyebrow { color: var(--agf-gold-500); }
.agf-eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}

/* ==========================================================================
   4. Buttons
   ========================================================================== */

.agf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 26px;
  border: 2px solid transparent;
  border-radius: 100px;
  font-family: inherit;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.agf-btn--primary {
  background: linear-gradient(135deg, var(--agf-green-600), var(--agf-green-800));
  color: #fff;
  box-shadow: 0 6px 16px rgba(13, 59, 38, .22);
}
.agf-btn--primary:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(13, 59, 38, .3);
}

.agf-btn--gold {
  background: linear-gradient(135deg, var(--agf-gold-500), var(--agf-gold-600));
  color: var(--agf-green-950);
  box-shadow: 0 6px 16px rgba(201, 154, 46, .3);
}
.agf-btn--gold:hover {
  color: var(--agf-green-950);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(201, 154, 46, .38);
}

.agf-btn--ghost {
  background: transparent;
  color: var(--agf-green-800);
  border-color: rgba(13, 59, 38, .22);
}
.agf-btn--ghost:hover {
  background: var(--agf-green-50);
  border-color: var(--agf-green-600);
  color: var(--agf-green-900);
  transform: translateY(-2px);
}

.agf-btn--on-dark {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border-color: rgba(255, 255, 255, .34);
  backdrop-filter: blur(4px);
}
.agf-btn--on-dark:hover {
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .6);
  color: #fff;
  transform: translateY(-2px);
}

.agf-btn--block { display: flex; width: 100%; }
.agf-btn--sm { padding: 10px 20px; font-size: .875rem; }
.agf-btn--lg { padding: 16px 34px; font-size: 1rem; }

/*
   Inline SVG icons carry no width/height attributes, so an unsized icon inside
   a flex button expands to the SVG default of 300x150 and stretches the button
   to ~140px tall. Pin the icon to its intended size and stop it shrinking.
 */
.agf-btn svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   Specificity guard for button colours.
   Content links are styled with `.agf-wrap a` (specificity 0,1,1), which
   outranks the single-class button colour rules (0,1,0). Inside <main> that
   repainted every button label `--agf-green-600`, so the light button in the
   CTA band became green text on a dark green panel — effectively invisible.
   Doubling the class raises these to (0,2,0) so they always win, in both the
   header/footer (outside .agf-wrap) and the main content area.
   -------------------------------------------------------------------------- */
.agf-btn.agf-btn--primary,
.agf-btn.agf-btn--primary:hover { color: #fff; }

.agf-btn.agf-btn--gold,
.agf-btn.agf-btn--gold:hover { color: var(--agf-green-950); }

.agf-btn.agf-btn--ghost { color: var(--agf-green-800); }
.agf-btn.agf-btn--ghost:hover { color: var(--agf-green-900); }

.agf-btn.agf-btn--on-dark,
.agf-btn.agf-btn--on-dark:hover { color: #fff; }

/* ==========================================================================
   5. Site header
   ========================================================================== */

.agf-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--agf-line);
  backdrop-filter: saturate(160%) blur(10px);
  transition: box-shadow .2s ease;
}
.agf-header.is-stuck { box-shadow: 0 4px 20px rgba(11, 26, 18, .09); }

.agf-header__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
  min-height: var(--agf-header-h);
}

.agf-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  margin-right: auto;
  color: var(--agf-green-900);
  font-weight: 800;
  text-decoration: none;
}
.agf-brand:hover { color: var(--agf-green-900); }
.agf-brand img,
.agf-brand svg { width: 40px; height: 40px; flex: 0 0 auto; }
.agf-brand__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.agf-brand__name {
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -.015em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.agf-brand__tag { font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--agf-gold-700); }

.agf-nav ul {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.agf-nav a {
  display: block;
  padding: 9px 14px;
  border-radius: 100px;
  color: var(--agf-ink);
  font-size: .9375rem;
  font-weight: 600;
}
.agf-nav a:hover { background: var(--agf-green-50); color: var(--agf-green-800); }
.agf-nav .current-menu-item > a,
.agf-nav .current_page_item > a { color: var(--agf-green-700); background: var(--agf-green-50); }

.agf-nav .menu-item-has-children { position: relative; }
.agf-nav .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 20;
  display: block;
  min-width: 220px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius);
  box-shadow: var(--agf-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.agf-nav .menu-item-has-children:hover > .sub-menu,
.agf-nav .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.agf-nav .sub-menu a { border-radius: var(--agf-radius-sm); }

.agf-header__cta { display: flex; align-items: center; gap: 10px; }

.agf-navtoggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--agf-line);
  border-radius: 12px;
  cursor: pointer;
}
.agf-navtoggle span {
  display: block;
  width: 19px;
  height: 2px;
  margin: 4px auto;
  background: var(--agf-green-900);
  border-radius: 2px;
  transition: transform .22s ease, opacity .18s ease;
}
.agf-navtoggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.agf-navtoggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.agf-navtoggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ==========================================================================
   6. Hero
   ========================================================================== */

.agf-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: min(660px, 82vh);
  padding: clamp(64px, 9vw, 120px) 0;
  background: var(--agf-green-950);
  color: #fff;
  overflow: hidden;
}
/* Scoped one level deeper than `.agf-wrap img` so the theme's image reset
   (which sets height:auto) cannot override the full-bleed hero background. */
.agf-hero .agf-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
}
.agf-hero__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg, rgba(5, 20, 13, .95) 0%, rgba(7, 28, 18, .88) 38%, rgba(9, 38, 24, .58) 68%, rgba(9, 38, 24, .34) 100%),
    linear-gradient(180deg, rgba(5, 20, 13, .3) 0%, rgba(5, 20, 13, .12) 45%, rgba(5, 20, 13, .72) 100%);
}
.agf-hero__inner { position: relative; z-index: 2; max-width: 760px; }

.agf-hero h1 {
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(2.15rem, 5.2vw, 3.7rem);
  line-height: 1.08;
  letter-spacing: -.028em;
}
.agf-hero h1 em {
  font-style: normal;
  background: linear-gradient(120deg, var(--agf-gold-300), var(--agf-gold-600));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--agf-gold-500);
}
.agf-hero__lede {
  max-width: 620px;
  margin-bottom: 32px;
  color: rgba(255, 255, 255, .84);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
}
.agf-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }

.agf-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.agf-hero__pills li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, .8);
  font-size: .875rem;
  font-weight: 600;
}
.agf-hero__pills svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--agf-gold-500); }

/* ==========================================================================
   7. Stat band
   ========================================================================== */

.agf-stats {
  position: relative;
  z-index: 3;
  margin-top: -46px;
}
.agf-stats__card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  padding: 30px clamp(16px, 3vw, 38px);
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius-lg);
  box-shadow: var(--agf-shadow-lg);
}
.agf-stat { padding: 8px 12px; text-align: center; }
.agf-stat + .agf-stat { border-left: 1px solid var(--agf-line); }
.agf-stat__num {
  display: block;
  color: var(--agf-green-800);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
}
.agf-stat__num .agf-stat__suffix { color: var(--agf-gold-600); }
.agf-stat__label {
  display: block;
  margin-top: 4px;
  color: var(--agf-muted);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ==========================================================================
   8. Plan cards
   ========================================================================== */

.agf-plans__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
  gap: 24px;
  align-items: stretch;
}

/*
   Eight plans read cleanly as 4 + 4 on a wide viewport. auto-fill alone left
   a ragged seventh and eighth card, so the column count is pinned at the two
   breakpoints where four (or two) cards fit without squeezing the content.
   Below that the grid falls back to a single column.
 */
@media (min-width: 1024px) {
  .agf-plans__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 640px) and (max-width: 1023.98px) {
  .agf-plans__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.agf-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px 20px 20px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius-lg);
  box-shadow: var(--agf-shadow-sm);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.agf-plan::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  border-radius: var(--agf-radius-lg) var(--agf-radius-lg) 0 0;
  background: linear-gradient(90deg, var(--agf-green-600), var(--agf-gold-500));
  opacity: .9;
}
.agf-plan:hover {
  transform: translateY(-6px);
  border-color: rgba(34, 145, 92, .35);
  box-shadow: var(--agf-shadow-lg);
}

.agf-plan__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 18px;
  border-bottom: 1px dashed var(--agf-line);
}
.agf-plan__name { margin: 0; font-size: 1.185rem; font-weight: 800; }

.agf-plan__tagline {
  margin: 10px 0 0;
  color: var(--agf-body);
  font-size: .875rem;
  line-height: 1.5;
}

.agf-plan__badge {
  flex: 0 0 auto;
  padding: 5px 11px;
  background: var(--agf-gold-100);
  border: 1px solid rgba(201, 154, 46, .35);
  border-radius: 100px;
  color: var(--agf-gold-700);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.agf-plan__price {
  margin: 16px 0 4px;
  color: var(--agf-ink);
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
}
.agf-plan__price small {
  display: block;
  margin-top: 7px;
  color: var(--agf-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.agf-plan__rows {
  margin: 16px 0 18px;
  padding: 0;
  list-style: none;
}
.agf-plan__rows li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(223, 231, 226, .7);
  font-size: .8125rem;
}
.agf-plan__rows li:last-child { border-bottom: 0; }
.agf-plan__rows dt,
.agf-plan__rows .agf-plan__k {
  min-width: 0;
  color: var(--agf-muted);
  font-weight: 600;
  line-height: 1.3;
}
.agf-plan__rows dd,
.agf-plan__rows .agf-plan__v {
  flex: 0 0 auto;
  margin: 0;
  color: var(--agf-ink);
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}
.agf-plan__rows .agf-plan__v--gold { color: var(--agf-green-700); }

/* Quantity annotation, e.g. "10 plots" or "100 chicks". Sits inline beside the
   label rather than on its own line, which otherwise doubled the height of
   three rows per card and pushed each card past 1,100px. */
.agf-plan__rows .agf-plan__qty {
  display: block;
  margin-top: 1px;
  color: var(--agf-muted);
  font-size: .6875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
}

/* The subtotal rule under "Total investment" separates inputs from outcomes. */
.agf-plan__rows .agf-plan__rows--total {
  margin-top: 2px;
  border-top: 1px solid var(--agf-line);
  border-bottom: 1px solid var(--agf-line);
}
.agf-plan__rows .agf-plan__rows--total .agf-plan__k { color: var(--agf-ink); font-weight: 800; }

/* Net-profit headline: the figure the visitor scans for first. */
.agf-plan__roi {
  margin: 12px 0 2px;
  padding: 10px 12px;
  background: linear-gradient(135deg, var(--agf-green-50), var(--agf-green-100));
  border: 1px solid rgba(34, 145, 92, .2);
  border-radius: var(--agf-radius);
}
.agf-plan__roi strong {
  display: block;
  color: var(--agf-green-900);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
}
.agf-plan__roi span {
  display: block;
  margin-top: 2px;
  color: var(--agf-green-700);
  font-size: .75rem;
  font-weight: 700;
}

.agf-plan__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding: 14px 16px;
  background: linear-gradient(135deg, var(--agf-green-50), var(--agf-green-100));
  border: 1px solid rgba(34, 145, 92, .2);
  border-radius: var(--agf-radius);
}
.agf-plan__total span { color: var(--agf-green-800); font-size: .8rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.agf-plan__total strong { color: var(--agf-green-900); font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; }

.agf-plan__cta { margin-top: auto; }
.agf-plan__note {
  margin: 12px 0 0;
  color: var(--agf-body);
  font-size: .8125rem;
  text-align: center;
}
.agf-plan__note a { font-weight: 700; }

.agf-plans__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 34px;
  padding: 20px 24px;
  background: var(--agf-surface-2);
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius);
  text-align: center;
}
.agf-plans__foot p { margin: 0; color: var(--agf-body); font-size: .9375rem; }

/* ==========================================================================
   9. Split (about) section
   ========================================================================== */

.agf-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(330px, 100%), 1fr));
  gap: clamp(30px, 5vw, 62px);
  align-items: center;
}
.agf-split__media { position: relative; }
.agf-split__media img {
  width: 100%;
  border-radius: var(--agf-radius-lg);
  box-shadow: var(--agf-shadow-lg);
}
.agf-split__media::after {
  content: "";
  position: absolute;
  inset: 14px -14px -14px 14px;
  z-index: -1;
  border-radius: var(--agf-radius-lg);
  background: linear-gradient(135deg, var(--agf-green-100), var(--agf-gold-100));
}
.agf-split__badge {
  position: absolute;
  right: -8px;
  bottom: 24px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius);
  box-shadow: var(--agf-shadow-lg);
  text-align: center;
}
.agf-split__badge strong {
  display: block;
  color: var(--agf-green-700);
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
}
.agf-split__badge span {
  display: block;
  margin-top: 4px;
  color: var(--agf-muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.agf-split__body > p { font-size: 1.0625rem; }

.agf-checklist { margin: 24px 0 30px; padding: 0; list-style: none; }
.agf-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 7px 0;
  color: var(--agf-ink);
  font-weight: 600;
  font-size: .9375rem;
}
.agf-checklist svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 3px; color: var(--agf-green-500); }

/* ==========================================================================
   10. How it works
   ========================================================================== */

.agf-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: 24px;
  counter-reset: agfstep;
}
.agf-step {
  position: relative;
  padding: 34px 26px 28px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--agf-radius-lg);
  transition: transform .22s ease, background-color .22s ease, border-color .22s ease;
}
.agf-step:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, .09);
  border-color: rgba(233, 194, 92, .5);
}
.agf-step__num {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  background: linear-gradient(135deg, var(--agf-gold-500), var(--agf-gold-600));
  border-radius: 14px;
  color: var(--agf-green-950);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.agf-step h3 { margin-bottom: 8px; font-size: 1.1rem; }
.agf-step p { margin: 0; color: rgba(255, 255, 255, .76); font-size: .9375rem; }

/* ==========================================================================
   11. Feature / trust grid
   ========================================================================== */

.agf-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 24px;
}
.agf-feature {
  padding: 30px 26px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius-lg);
  transition: transform .22s ease, box-shadow .22s ease;
}
.agf-feature:hover { transform: translateY(-5px); box-shadow: var(--agf-shadow-lg); }
.agf-feature__ico {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 18px;
  background: var(--agf-green-50);
  border: 1px solid rgba(34, 145, 92, .22);
  border-radius: 14px;
  color: var(--agf-green-600);
}
.agf-feature__ico svg { width: 24px; height: 24px; }
.agf-feature h3 { font-size: 1.09rem; }
.agf-feature p { margin: 0; color: var(--agf-muted); font-size: .9375rem; }

/* ==========================================================================
   12. Logo / trust strip
   ========================================================================== */

.agf-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.agf-strip li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--agf-muted);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.agf-strip svg { width: 20px; height: 20px; color: var(--agf-green-500); }

/* ==========================================================================
   13. FAQ
   ========================================================================== */

.agf-faq { max-width: 860px; margin: 0 auto; }
.agf-faq__item {
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius);
  overflow: hidden;
}
.agf-faq__item[open] { border-color: rgba(34, 145, 92, .32); box-shadow: var(--agf-shadow); }
.agf-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px;
  color: var(--agf-ink);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.agf-faq__q::-webkit-details-marker { display: none; }
.agf-faq__q::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--agf-green-600);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  transition: transform .2s ease;
}
.agf-faq__item[open] .agf-faq__q::after { transform: rotate(45deg); }
.agf-faq__a { padding: 0 20px 19px; color: var(--agf-muted); font-size: .9375rem; }
.agf-faq__a p:last-child { margin-bottom: 0; }

/* ==========================================================================
   14. CTA band
   ========================================================================== */

.agf-cta {
  position: relative;
  padding: clamp(44px, 6vw, 72px) clamp(24px, 5vw, 64px);
  background: linear-gradient(135deg, var(--agf-green-900), var(--agf-green-700) 55%, var(--agf-green-800));
  border-radius: var(--agf-radius-lg);
  color: #fff;
  text-align: center;
  overflow: hidden;
}
.agf-cta::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -60px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(233, 194, 92, .3), transparent 68%);
  pointer-events: none;
}
.agf-cta > * { position: relative; }
.agf-cta h2 { color: #fff; max-width: 720px; margin-inline: auto; }
.agf-cta p { max-width: 620px; margin-inline: auto; color: rgba(255, 255, 255, .84); }
.agf-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 26px;
}

/* ==========================================================================
   15. Footer
   ========================================================================== */

.agf-footer {
  padding: clamp(46px, 6vw, 74px) 0 0;
  background: linear-gradient(180deg, var(--agf-green-950), #05130c);
  color: rgba(255, 255, 255, .7);
}
.agf-footer h3,
.agf-footer h4 { color: #fff; }
.agf-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) repeat(auto-fit, minmax(150px, 1fr));
  gap: 34px 30px;
}
.agf-footer__brand { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.agf-footer__brand img,
.agf-footer__brand svg { width: 42px; height: 42px; }
.agf-footer__brand span { color: #fff; font-size: 1.1rem; font-weight: 800; letter-spacing: -.015em; }
.agf-footer__about { max-width: 380px; font-size: .9375rem; }
.agf-footer__domain {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  color: var(--agf-gold-500);
  font-size: .9rem;
  font-weight: 700;
}
.agf-footer__domain:hover { color: var(--agf-gold-300); }

.agf-footer__note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 380px;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .62);
  font-size: .875rem;
  font-weight: 600;
}
.agf-footer__note svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 4px; color: var(--agf-gold-500); }

.agf-footer__col ul { margin: 0; padding: 0; list-style: none; }
.agf-footer__col li { margin-bottom: 10px; }
.agf-footer__col a { color: rgba(255, 255, 255, .72); font-size: .9375rem; }
.agf-footer__col a:hover { color: var(--agf-gold-500); }
.agf-footer__title {
  margin-bottom: 18px;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.agf-footer__contact { margin: 0; padding: 0; list-style: none; }
.agf-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  font-size: .9375rem;
}
.agf-footer__contact svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 4px; color: var(--agf-gold-500); }
.agf-footer__contact a { color: rgba(255, 255, 255, .78); }
.agf-footer__contact a:hover { color: var(--agf-gold-500); }

.agf-footer__social { display: flex; gap: 10px; margin-top: 18px; }
.agf-footer__social a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 11px;
  color: rgba(255, 255, 255, .8);
}
.agf-footer__social a:hover { background: var(--agf-gold-500); border-color: var(--agf-gold-500); color: var(--agf-green-950); }
.agf-footer__social svg { width: 18px; height: 18px; }

.agf-footer__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: clamp(34px, 5vw, 56px);
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: .85rem;
}
.agf-footer__bar p { margin: 0; }
.agf-footer__bar a { color: rgba(255, 255, 255, .72); }
.agf-footer__bar a:hover { color: var(--agf-gold-500); }

.agf-risk {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, .58);
  font-size: .8125rem;
  line-height: 1.7;
}

/* ==========================================================================
   15b. Withdrawals facts + Telegram call-out
   ========================================================================== */

.agf-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr));
  gap: 24px;
  margin-bottom: 30px;
}
.agf-fact {
  padding: 30px 26px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius-lg);
  box-shadow: var(--agf-shadow-sm);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.agf-fact:hover {
  transform: translateY(-5px);
  border-color: rgba(34, 145, 92, .32);
  box-shadow: var(--agf-shadow-lg);
}
.agf-fact__ico {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin-bottom: 18px;
  background: linear-gradient(135deg, var(--agf-green-50), var(--agf-green-100));
  border: 1px solid rgba(34, 145, 92, .22);
  border-radius: 14px;
  color: var(--agf-green-600);
}
.agf-fact__ico svg { width: 24px; height: 24px; }
.agf-fact h3 { margin-bottom: 8px; font-size: 1.09rem; }
.agf-fact p { margin: 0; color: var(--agf-muted); font-size: .9375rem; }

.agf-callout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding: 26px 28px;
  background: linear-gradient(135deg, var(--agf-green-50), var(--agf-gold-100));
  border: 1px solid rgba(34, 145, 92, .22);
  border-radius: var(--agf-radius-lg);
}
.agf-callout__ico {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  background: #fff;
  border: 1px solid rgba(34, 145, 92, .2);
  border-radius: 16px;
  color: var(--agf-green-600);
  box-shadow: var(--agf-shadow-sm);
}
.agf-callout__ico svg { width: 26px; height: 26px; }
.agf-callout__body { flex: 1 1 320px; min-width: 0; }
.agf-callout__body h3 { margin: 0 0 6px; font-size: 1.15rem; }
.agf-callout__body p { margin: 0; color: var(--agf-body); font-size: .9375rem; }
.agf-callout .agf-btn { flex: 0 0 auto; }

/* ==========================================================================
   16. Content pages (page.php / index.php / 404)
   ========================================================================== */

.agf-page-head {
  padding: clamp(46px, 6vw, 78px) 0 clamp(34px, 4vw, 52px);
  background: linear-gradient(160deg, var(--agf-green-950), var(--agf-green-900));
  color: rgba(255, 255, 255, .82);
  text-align: center;
}
.agf-page-head h1 { color: #fff; margin-bottom: 10px; }
.agf-page-head p { max-width: 660px; margin: 0 auto; color: rgba(255, 255, 255, .76); }
.agf-page-head a { color: var(--agf-gold-500); }

.agf-content { padding: clamp(44px, 6vw, 78px) 0; }
.agf-content__inner { max-width: 860px; margin-inline: auto; }
.agf-content__inner h2 { margin-top: 1.6em; }
.agf-content__inner h3 { margin-top: 1.4em; }
.agf-content__inner img { border-radius: var(--agf-radius); }
.agf-content__inner blockquote {
  margin: 1.6em 0;
  padding: 6px 0 6px 22px;
  border-left: 4px solid var(--agf-gold-500);
  color: var(--agf-ink);
  font-size: 1.0625rem;
  font-style: italic;
}
.agf-content__inner table { width: 100%; border-collapse: collapse; margin-bottom: 1.4em; }
.agf-content__inner th,
.agf-content__inner td { padding: 11px 14px; border: 1px solid var(--agf-line); text-align: left; }
.agf-content__inner th { background: var(--agf-surface-2); font-weight: 700; color: var(--agf-ink); }
.agf-content__inner pre {
  padding: 18px;
  background: var(--agf-green-950);
  border-radius: var(--agf-radius);
  color: #e7f3ec;
  overflow-x: auto;
  font-size: .875rem;
}
.agf-content__inner code { font-size: .9em; }

.agf-entry__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 22px;
  color: var(--agf-muted);
  font-size: .85rem;
  font-weight: 600;
}

.agf-posts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(305px, 100%), 1fr));
  gap: 26px;
}
.agf-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: var(--agf-radius-lg);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease;
}
.agf-card:hover { transform: translateY(-5px); box-shadow: var(--agf-shadow-lg); }
.agf-card__media { aspect-ratio: 16 / 10; background: var(--agf-green-100); }
.agf-card__media img { width: 100%; height: 100%; object-fit: cover; }
.agf-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px 22px; }
.agf-card__body h2,
.agf-card__body h3 { font-size: 1.15rem; margin-bottom: 8px; }
.agf-card__body h2 a,
.agf-card__body h3 a { color: var(--agf-ink); }
.agf-card__body h2 a:hover,
.agf-card__body h3 a:hover { color: var(--agf-green-700); }
.agf-card__body p { color: var(--agf-muted); font-size: .9375rem; }
.agf-card__more { margin-top: auto; font-weight: 700; font-size: .9rem; }

.agf-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 44px;
}
.agf-pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: 11px;
  color: var(--agf-ink);
  font-weight: 700;
  font-size: .9rem;
}
.agf-pagination .page-numbers:hover { border-color: var(--agf-green-500); color: var(--agf-green-700); }
.agf-pagination .page-numbers.current {
  background: var(--agf-green-800);
  border-color: var(--agf-green-800);
  color: #fff;
}

.agf-searchform {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 520px;
  margin: 0 auto;
}
.agf-searchform__input {
  flex: 1 1 220px;
  min-width: 0;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid var(--agf-line);
  border-radius: 100px;
  color: var(--agf-ink);
  font-family: inherit;
  font-size: .9375rem;
}
.agf-searchform__input:focus {
  border-color: var(--agf-green-500);
  outline: none;
  box-shadow: 0 0 0 3px rgba(34, 145, 92, .16);
}
.agf-searchform .agf-btn { flex: 0 0 auto; }

.agf-content--landing { padding: 0; }

.agf-404 { padding: clamp(60px, 9vw, 110px) 0; text-align: center; }
.agf-404 h1 { font-size: clamp(3rem, 9vw, 5.5rem); letter-spacing: -.04em; color: var(--agf-green-800); margin-bottom: 6px; }
.agf-404 p { max-width: 540px; margin: 0 auto 28px; font-size: 1.0625rem; }

/* ==========================================================================
   17. Responsive
   ========================================================================== */

/* Nav wraps onto its own full-width row when the row is too narrow for the
   brand, the account buttons and the menu (small phones / tablets). */
@media (max-width: 1199px) {
  .agf-nav { flex: 1 1 100%; order: 4; }
  .agf-nav ul { flex-wrap: wrap; row-gap: 2px; }
}

@media (max-width: 991px) {
  .agf-navtoggle { display: block; order: 3; flex: 0 0 auto; }

  .agf-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    max-height: calc(100vh - var(--agf-header-h));
    overflow-y: auto;
    padding: 12px 20px 22px;
    background: #fff;
    border-bottom: 1px solid var(--agf-line);
    box-shadow: var(--agf-shadow-lg);
  }
  .agf-nav.is-open { display: block; }

  .agf-nav ul { flex-direction: column; align-items: stretch; gap: 2px; }
  .agf-nav a { padding: 13px 14px; border-radius: var(--agf-radius-sm); font-size: 1rem; }
  .agf-nav .sub-menu {
    position: static;
    min-width: 0;
    padding: 0 0 6px 14px;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .agf-nav .sub-menu a { padding-left: 24px; color: var(--agf-muted); }
  .agf-header__cta .agf-btn { padding: 10px 18px; font-size: .875rem; }
  .agf-header__cta .agf-btn--ghost { display: none; }
}

@media (max-width: 767px) {
  .agf-stats { margin-top: -28px; }
  .agf-stats__card { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 20px 10px; }
  .agf-stat { padding: 14px 8px; }
  .agf-stat:nth-child(odd) { border-left: 0; }
  .agf-stat:nth-child(n + 3) { border-top: 1px solid var(--agf-line); }
  .agf-brand__tag { display: none; }
  .agf-header__cta .agf-btn--primary { display: none; }
  .agf-split__media::after { display: none; }
  .agf-split__badge { right: 12px; bottom: 12px; padding: 12px 16px; }
  .agf-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .agf-footer__bar { justify-content: center; text-align: center; }
  .agf-plans__foot { flex-direction: column; }
}

@media (max-width: 479px) {
  .agf-container { padding-inline: 16px; }
  .agf-callout { padding: 22px 20px; }
  .agf-callout .agf-btn { width: 100%; }
  .agf-plan { padding: 26px 20px 22px; }
  .agf-hero { min-height: 0; padding: 56px 0 60px; }
  .agf-hero__actions .agf-btn { width: 100%; }
  .agf-cta__actions .agf-btn { width: 100%; }
  .agf-cta { padding-inline: 20px; }
  .agf-cta::before { width: 200px; height: 200px; right: -80px; }
}

/* ==========================================================================
   18. Motion preferences
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .agf-wrap *,
  .agf-wrap *::before,
  .agf-wrap *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   19. Print
   ========================================================================== */

@media print {
  .agf-header,
  .agf-navtoggle,
  .agf-footer__social,
  .agf-cta { display: none !important; }
  .agf-wrap { color: #000; }
  .agf-plan { break-inside: avoid; border: 1px solid #999; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; }
}

/* ==========================================================================
   20. Plugin (Agro Capital v1.2.0+) co-existence
   The plugin owns every `.agi-*` class. The theme never styles those, and the
   plugin never styles `.agf-*`. The rules below only stop the two layouts
   fighting when the plugin shortcode sits on a theme page.
   ========================================================================== */

.agf-wrap .agi-wrap { margin: 0; max-width: none; }

/* The plugin's landing template ships its own header/footer chrome; on a
   theme-rendered page that would duplicate the site header, so hide the
   plugin's duplicate chrome when it renders inside a theme template.
   Remove this rule if you deliberately want the plugin's own header. */
.agf-wrap .agi-siteheader { display: none; }

/* Hand element-level typography and colour back to the plugin inside its own
   wrapper. The plugin styles every component itself through `.agi-*` classes,
   so the theme must not impose its own element defaults on top of them. */
.agf-wrap .agi-wrap a { color: inherit; }
.agf-wrap .agi-wrap h1,
.agf-wrap .agi-wrap h2,
.agf-wrap .agi-wrap h3,
.agf-wrap .agi-wrap h4,
.agf-wrap .agi-wrap h5 { color: inherit; }