/* ========== FXBG.market Core Styles ========== */
:root{
  --green-900:#0f3a2f;
  --green-800:#164b3f;
  --green-700:#1b5b4c;
  --green-600:#1f6c59;
  --green-500:#2a8a72;
  --green-400:#3aa388;
  --leaf:#1f4c3b;
  --cream:#f6f1e9;
  --paper:#fbf7ef;
  --card:#ffffff;
  --ink:#1b1f22;
  --ink-2:#34414a;
  --muted:#6b7780;
  --ring: rgba(31,108,89,.35);
  --shadow: 0 10px 30px rgba(0,0,0,.12);
  --radius: 16px;
  --radius-sm: 12px;
  --radius-xs: 10px;
  --container: 1200px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font: 16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:var(--paper);
}

/* Containers & layout helpers */
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.flex{display:flex;gap:12px}
.center-y{align-items:center}
.between{justify-content:space-between}
.grid{display:grid}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gap-md{gap:18px}
.gap-lg{gap:28px}
.w-full{width:100%}

/* Buttons */
.btn{
  --bg: var(--green-700);
  --fg: #fff;
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;border-radius:999px;
  background:var(--bg);color:var(--fg);text-decoration:none;font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  transition:.15s ease-in-out transform, .15s opacity;
  border:1px solid rgba(0,0,0,.04);
}
.btn:focus{outline:3px solid var(--ring);outline-offset:2px}
.btn:hover{transform:translateY(-1px)}
.btn-primary{--bg:var(--green-600)}
.btn-white{--bg:#fff;--fg:var(--green-800);border:1px solid rgba(0,0,0,.06)}
.btn-ghost{--bg:transparent;--fg:#fff;border:1px solid rgba(255,255,255,.4)}

/* Header */
.site-header{
  position:sticky;top:0;z-index:1000;background:var(--green-900);color:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.2)
}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand-logo{height:36px;width:auto;filter: drop-shadow(0 1px 0 #fff) drop-shadow(0 0 12px rgba(255,255,255,.35));}
.brand-text{font-weight:800;letter-spacing:.3px}
.main-nav{display:flex;gap:18px;align-items:center}
.main-nav a{color:#fff;text-decoration:none;opacity:.95}
.main-nav a:hover{opacity:1;text-decoration:underline}
.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px}
.nav-toggle span{display:block;height:3px;background:#fff;border-radius:2px;margin:6px 0}

.mobile-nav{display:none;flex-direction:column;gap:12px;padding:12px 20px;background:var(--green-800)}
.mobile-nav a{color:#fff;text-decoration:none}
.mobile-nav.open{display:flex}

/* Hero */
.hero{position:relative;isolation:isolate}
.hero-bg{
  width:100%;height:56vh;min-height:420px;max-height:620px;
  object-fit:cover;display:block;filter:brightness(.92) saturate(1.05)
}
.hero-inner{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff
}
.hero-logo-wrap{margin-bottom:16px}
.hero-logo{
  width:140px;height:auto;
  filter: drop-shadow(0 2px 0 #fff) drop-shadow(0 0 18px rgba(255,255,255,.6));
}
.hero-title{font-size:46px;line-height:1.1;margin:4px 0 6px}
.hero-sub{max-width:820px;opacity:.95}
.hero-ctas{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:0;margin:16px 0 0;list-style:none}
.hero-pills li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;padding:6px 12px;border-radius:999px}

/* Sections & cards */
.section{padding:46px 0}
.card{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:18px
}
.card-elevated{padding:22px}
.value{text-align:center}
.value-icon{font-size:26px;margin-bottom:8px}

/* Categories */
.categories .category{
  position:relative;display:block;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);text-decoration:none;color:#fff
}
.categories .category img{width:100%;height:180px;object-fit:cover;display:block;filter:brightness(.98)}
.categories .category span{
  position:absolute;left:14px;bottom:12px;background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.4);padding:6px 10px;border-radius:999px;font-weight:700
}

/* Vendor chips */
.vendor-chip{
  display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);
  background:#fff;border-radius:var(--radius);padding:10px 12px;box-shadow:var(--shadow)
}
.vendor-chip img{width:52px;height:52px;object-fit:contain;filter: drop-shadow(0 0 8px rgba(0,0,0,.08))}
.vendor-chip-body small{color:var(--muted)}

/* KPI cards (brighter) */
.kpis .kpi{
  text-align:center;background:linear-gradient(0deg,#ffffff, #ffffff);
  border:1px solid rgba(0,0,0,.06)
}
.kpi-big{font-size:38px;font-weight:900;color:var(--green-700);line-height:1;margin-bottom:4px}
.kpi-sub{color:var(--muted)}

/* Newsletter */
.newsletter{margin-top:8px}
.newsletter label{display:block;font-weight:700;margin-bottom:6px}
.newsletter-row{display:flex;gap:10px}
.newsletter-row input{
  flex:1;border:1px solid rgba(0,0,0,.14);border-radius:12px;padding:12px 14px;
  font-size:16px;outline:none
}
.newsletter-row input:focus{border-color:var(--green-500);box-shadow:0 0 0 3px var(--ring)}
.form-msg{margin-top:8px;color:var(--green-700);font-weight:700}

/* Vendor CTA image: no overlay/opacity */
.vendor-cta{display:block;overflow:hidden;padding:0}
.vendor-cta img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}

/* Footer */
.site-footer{background:var(--green-900);color:#dbe7e2;padding:38px 0 16px;margin-top:24px}
.site-footer h4{margin:0 0 10px;color:#fff}
.site-footer .list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.site-footer a{color:#eaf4f1;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.foot-brand{display:grid;gap:10px}
.brand-logo.small{height:30px;width:auto;filter: drop-shadow(0 1px 0 #fff) drop-shadow(0 0 10px rgba(255,255,255,.35))}
.foot-end{border-top:1px solid rgba(255,255,255,.16);margin-top:16px;padding-top:12px;text-align:center;color:#cfe4de}

/* Headings */
.h-section{font-size:28px;margin:0 0 14px 0}

/* Responsive */
@media (max-width: 980px){
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .hero-title{font-size:38px}
}
@media (max-width: 760px){
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .main-nav{display:none}
  .nav-toggle{display:inline-block}
}
