/* Auto-generated by Farmsurge_Assets::build() — edit the source files in
   assets/css/*.css instead, this file is overwritten on every build. */

/* ==== variables.css ==== */
/* ==========================================================================
   Farmsurge design tokens
   Palette: honey amber / deep forest green / warm cream / charcoal
   Edit values here to re-theme the whole site — nothing below this file
   should hardcode a color that already has a token.
   ========================================================================== */
:root{
  --fs-amber:#E2A310;
  --fs-amber-dark:#B87E0A;
  --fs-amber-light:#FCEFD1;
  --fs-forest:#274D3B;
  --fs-forest-dark:#173226;
  --fs-forest-light:#3E7259;
  --fs-cream:#FFFBF2;
  --fs-cream-dark:#FBF1DC;
  --fs-charcoal:#211C14;
  --fs-text-muted:#645C4C;
  --fs-border:#E8DEC8;
}

/* ==== base.css ==== */
/* ---- global resets / typography rhythm ---- */
body{ background:var(--fs-cream); color:var(--fs-charcoal); font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; }
.entry-content, .site-content{ background:var(--fs-cream); }
.entry-header, .ast-archive-title{ display:none !important; }
.ast-container{ padding-top:0 !important; }
#primary{ margin-top:0 !important; padding-top:0 !important; }
.ast-single-post .entry-content, .page .entry-content{ margin-top:0; }

.fs-eyebrow{
  display:inline-block; font-family:'Inter',sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--fs-amber-dark); margin-bottom:.6em;
}
.fs-eyebrow.on-dark{ color:var(--fs-amber); }
h1,h2,h3{ color:var(--fs-forest-dark); font-family:'Newsreader',Georgia,serif; font-weight:600; letter-spacing:-.01em; }
p, li, label, input, textarea, select, button, .wp-block-button__link{ font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; }
.fs-section{ padding:4.5rem 0; }
.fs-section.tight{ padding:2.75rem 0; }
.fs-center{ text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }

/* ---- section dividers / labels (reused by several component files) ---- */
.fs-band-cream{ background:var(--fs-cream-dark); }
.fs-band-forest{ background:var(--fs-forest-dark); color:#EDE8DA; }
.fs-band-forest h2, .fs-band-forest h3{ color:#fff; }
.fs-band-forest p{ color:#CFCABB; }

/* ==== header.css ==== */
/* ---- header (floating / sticky) ---- */
.ast-header-break-point .site-header, .site-header{
  background:rgba(255,251,242,.92) !important;
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid var(--fs-border); border-radius:16px;
  box-shadow:0 10px 30px rgba(23,20,15,.09);
  position:sticky !important; top:14px; z-index:200;
  margin:14px 20px 0; transition:box-shadow .2s ease;
}
.main-header-bar{ background:transparent !important; }
.site-title a, .site-title{ color:var(--fs-forest-dark) !important; font-weight:600 !important; font-family:'Newsreader',Georgia,serif !important; font-size:1.45rem !important; letter-spacing:-.01em; }
.site-description{ color:var(--fs-amber-dark) !important; font-size:.78rem !important; letter-spacing:.02em; font-family:'Inter',sans-serif; }
.main-navigation .menu-item a, .ast-desktop-only .menu-link{ color:var(--fs-charcoal) !important; font-weight:600 !important; font-size:.92rem !important; font-family:'Inter',sans-serif !important; }
.ast-container{ max-width:1290px !important; }
.main-header-bar-navigation .current-menu-item > .menu-link, .main-navigation a:hover{ color:var(--fs-forest) !important; }
.ast-header-button .ast-button-wrap a{
  background:var(--fs-amber) !important; color:var(--fs-charcoal) !important; border-radius:999px !important; font-weight:700 !important;
  font-family:'Inter',sans-serif !important;
}
/* Tighten nav spacing only above Astra's mobile breakpoint (~921px), so the 9-item desktop
   menu fits on one line without touching the off-canvas mobile menu's own comfortable spacing. */
@media (min-width:922px){
  .main-header-bar-navigation .menu-item{ margin:0 !important; }
  .main-header-bar-navigation .menu-link{ padding:0 11px !important; }
}

/* ==== hero.css ==== */
/* ---- hero ---- */
.fs-hero{
  background:linear-gradient(135deg,var(--fs-forest-dark) 0%, var(--fs-forest) 62%, #2E5A44 100%);
  color:#fff; padding:5.5rem 2rem 4.5rem; border-radius:0; position:relative; overflow:hidden;
}
.fs-hero::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 82% 18%, rgba(226,163,16,.20), transparent 46%);
  pointer-events:none;
}
.fs-hero h1{ color:#fff; font-size:clamp(2.1rem,4vw,3.2rem); line-height:1.12; max-width:820px; margin:0 auto .9rem; }
.fs-hero p{ color:#EDE8DA; font-size:1.15rem; max-width:680px; margin:0 auto 1.8rem; line-height:1.6; }
.fs-hero .fs-eyebrow{ color:var(--fs-amber); }

.fs-badge-bar{
  background:var(--fs-forest-dark); color:#EDE8DA; padding:.75rem 1rem; text-align:center;
  font-size:.82rem; letter-spacing:.03em;
}
.fs-badge-bar strong{ color:var(--fs-amber); }

/* ==== buttons.css ==== */
/* ---- buttons ---- */
.wp-block-buttons .wp-block-button__link{
  border-radius:999px !important; font-weight:600 !important; padding:.85em 1.7em !important;
  transition:transform .15s ease, box-shadow .15s ease;
}
.wp-block-button__link:hover{ transform:translateY(-1px); }
.fs-btn-amber .wp-block-button__link{ background:var(--fs-amber) !important; color:var(--fs-charcoal) !important; }
.fs-btn-amber .wp-block-button__link:hover{ background:var(--fs-amber-dark) !important; }
.fs-btn-outline .wp-block-button__link{
  background:transparent !important; color:#fff !important; border:1.5px solid rgba(255,255,255,.55) !important;
}
.fs-btn-outline .wp-block-button__link:hover{ border-color:#fff !important; background:rgba(255,255,255,.08) !important; }
.fs-btn-forest .wp-block-button__link{ background:var(--fs-forest) !important; color:#fff !important; }
.fs-btn-forest .wp-block-button__link:hover{ background:var(--fs-forest-dark) !important; }

/* ==== cards.css ==== */
/* ---- trust / stat bar ---- */
.fs-trust-bar{ background:var(--fs-cream-dark); border-top:1px solid var(--fs-border); border-bottom:1px solid var(--fs-border); }
.fs-stat-card{ text-align:center; padding:1.4rem 1rem; }
.fs-stat-card .fs-stat-num{ font-size:2.1rem; font-weight:800; color:var(--fs-forest); display:block; line-height:1.1; }
.fs-stat-card .fs-stat-num .amber{ color:var(--fs-amber-dark); }
.fs-stat-card p{ margin:.4rem 0 0; font-size:.92rem; color:var(--fs-text-muted); }

/* ---- cards / grids ---- */
.fs-card{
  background:#fff; border:1px solid var(--fs-border); border-radius:14px; padding:1.9rem 1.7rem;
  box-shadow:0 1px 2px rgba(33,28,20,.04);
}
/* Only stretch to fill the column when it's the sole card in a grid column (e.g. Core Solutions).
   Stacked sidebar cards (e.g. Contact page) must NOT stretch to the tall column height. */
.wp-block-column > .fs-card:only-child{ height:100%; }
.fs-card .fs-icon{ font-size:1.9rem; margin-bottom:.7rem; display:block; }
.fs-card h3{ font-size:1.12rem; margin:0 0 .5rem; }
.fs-card p{ color:var(--fs-text-muted); font-size:.96rem; line-height:1.55; margin:0; }

.fs-step-card{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16);
  color:#EDE8DA; border-radius:14px; padding:1.8rem 1.6rem; height:100%; position:relative;
}
.fs-step-card .fs-step-num{
  font-size:2.3rem; font-weight:800; color:var(--fs-amber); display:block; margin-bottom:.3rem; line-height:1;
}
.fs-step-card h3{ color:#fff; font-size:1.05rem; margin:0 0 .5rem; }
.fs-step-card p{ font-size:.9rem; color:#CFCABB; margin:0 0 .6rem; line-height:1.5; }
.fs-step-card .fs-deliverable{
  font-size:.78rem; color:var(--fs-amber); border-top:1px solid rgba(255,255,255,.15); padding-top:.55rem; margin-top:.6rem;
}

/* ---- testimonial ---- */
.fs-testimonial{
  background:var(--fs-amber-light); border-radius:16px; padding:2.4rem 2.2rem; max-width:820px; margin:0 auto;
  border-left:5px solid var(--fs-amber);
}
.fs-testimonial p{ font-size:1.12rem; font-style:italic; color:var(--fs-charcoal); line-height:1.6; margin:0 0 1rem; }
.fs-testimonial cite{ font-style:normal; font-weight:700; color:var(--fs-forest); font-size:.92rem; }

/* ---- product spec panel ---- */
.fs-product-head{
  background:var(--fs-cream-dark); border:1px solid var(--fs-border); border-radius:16px; padding:2rem;
}
.fs-tag-list span{
  display:inline-block; background:var(--fs-forest); color:#fff; font-size:.76rem; font-weight:600;
  padding:.3rem .75rem; border-radius:999px; margin:0 .4rem .4rem 0; letter-spacing:.02em;
}

/* ==== tables.css ==== */
/* ---- tables ---- */
.fs-table-wrap{ overflow-x:auto; border:1px solid var(--fs-border); border-radius:12px; }
.fs-table-wrap table{ width:100%; border-collapse:collapse; font-size:.92rem; }
.fs-table-wrap th{
  background:var(--fs-forest); color:#fff; text-align:left; padding:.85rem 1rem; font-weight:600; font-size:.85rem;
  letter-spacing:.02em;
}
.fs-table-wrap td{ padding:.8rem 1rem; border-top:1px solid var(--fs-border); color:var(--fs-charcoal); vertical-align:top; }
.fs-table-wrap tr:nth-child(even) td{ background:var(--fs-cream-dark); }

/* ==== cta.css ==== */
/* ---- CTA band ---- */
.fs-cta-band{
  background:linear-gradient(120deg,var(--fs-forest) 0%,var(--fs-forest-dark) 100%); color:#fff;
  border-radius:20px; padding:3.2rem 2rem; text-align:center;
}
.fs-cta-band h2{ color:#fff; margin:0 0 .6rem; }
.fs-cta-band p{ color:#DCD7C6; max-width:600px; margin:0 auto 1.5rem; }

/* ==== footer.css ==== */
/* ---- footer ---- */
.site-footer, footer.site-footer, #colophon,
.site-primary-footer-wrap, .site-below-footer-wrap,
.ast-builder-footer-grid-columns{ background:var(--fs-forest-dark) !important; color:#CFCABB !important; }
.site-footer a{ color:#EDE8DA !important; }
.site-footer a:hover{ color:var(--fs-amber) !important; }
.site-below-footer-wrap{ border-top:1px solid rgba(255,255,255,.1) !important; }
.fs-footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.2rem;
  padding:3rem 1.5rem 1.5rem; max-width:1200px; margin:0 auto; text-align:left;
}
@media (max-width:782px){ .fs-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .fs-footer-grid{ grid-template-columns:1fr; } }
.fs-footer-col h4{ color:#fff; font-size:.95rem; letter-spacing:.03em; margin-bottom:.8rem; }
.fs-footer-col ul{ list-style:none; margin:0; padding:0; }
.fs-footer-col li{ margin-bottom:.45rem; font-size:.88rem; }
.fs-footer-col p{ font-size:.88rem; line-height:1.6; color:#B9B49F; }
.footer-copyright, .fs-copyright{ color:#9E9880 !important; font-size:.8rem; text-align:center; padding:1.2rem 0; border-top:1px solid rgba(255,255,255,.08); }

/* ==== forms.css ==== */
/* ---- contact form styling ---- */
.fs-form-wrap{ background:#fff; border:1px solid var(--fs-border); border-radius:16px; padding:2.2rem; }
.fs-form-wrap .wpcf7-form-control-wrap{ display:block; margin-bottom:1.1rem; }
.fs-form-wrap label{ display:block; font-weight:600; font-size:.88rem; margin-bottom:.35rem; color:var(--fs-forest-dark); }
.fs-form-wrap input[type=text], .fs-form-wrap input[type=email], .fs-form-wrap input[type=tel],
.fs-form-wrap input[type=number], .fs-form-wrap select, .fs-form-wrap textarea{
  width:100%; border:1px solid var(--fs-border); border-radius:9px; padding:.7rem .85rem; font-size:.94rem;
  background:var(--fs-cream); font-family:inherit;
}
.fs-form-wrap input:focus, .fs-form-wrap select:focus, .fs-form-wrap textarea:focus{
  outline:none; border-color:var(--fs-amber); background:#fff;
}
.fs-form-wrap .wpcf7-checkbox .wpcf7-list-item{ display:block; margin:0 0 .4rem; font-size:.92rem; }
.fs-form-wrap .wpcf7-submit{
  background:var(--fs-amber) !important; color:var(--fs-charcoal) !important; border:none !important;
  border-radius:999px !important; padding:.85em 2em !important; font-weight:700 !important; cursor:pointer;
  font-size:.98rem !important;
}
.fs-form-wrap .wpcf7-submit:hover{ background:var(--fs-amber-dark) !important; }
.fs-form-wrap fieldset{ border:none; padding:0; margin:0 0 1.1rem; }
.fs-form-wrap legend{ font-weight:600; font-size:.88rem; margin-bottom:.4rem; color:var(--fs-forest-dark); padding:0; }
.wpcf7-not-valid-tip{ color:#B3372C; font-size:.82rem; margin-top:.25rem; }
.wpcf7-response-output{ border-radius:10px !important; }

/* ==== responsive.css ==== */
/* ---- responsive ---- */
/* Must load LAST in the bundle: these are override media queries for rules defined
   in the other partials. */
@media (max-width:781px){
  .fs-hero p{ font-size:1.02rem; }
  .fs-stat-card{ padding:1.1rem .75rem; }
  .fs-card{ padding:1.5rem 1.4rem; }
  .fs-step-card{ padding:1.5rem 1.4rem; }
  .fs-testimonial{ padding:1.8rem 1.5rem; }
  .fs-product-head{ padding:1.5rem; }
}
@media (max-width:600px){
  .ast-header-break-point .site-header, .site-header{ margin:8px 10px 0; top:8px; border-radius:12px; }
  .fs-hero{ padding:3.5rem 1.2rem 3rem; }
  .fs-hero h1{ font-size:2rem; }
  .fs-section{ padding:3rem 0; }
  .fs-section.tight{ padding:2rem 0; }
  .fs-cta-band{ padding:2.4rem 1.4rem; }
  .wp-block-buttons{ flex-direction:column; align-items:stretch !important; }
  .wp-block-buttons .wp-block-button{ width:100%; }
  .wp-block-buttons .wp-block-button__link{ text-align:center; display:block; }
  .fs-badge-bar{ font-size:.74rem; line-height:1.7; }
  .fs-form-wrap{ padding:1.5rem 1.2rem; }
  .fs-footer-grid{ padding-top:2.2rem; }
}

