/* Shared design tokens and reusable components. */
:root {
  --nef-green: #123D2A;
  --nef-lime: #A8C93A;
  --nef-cream: #FFF8E8;
  --nef-charcoal: #222222;
  --nef-white: #ffffff;
  --nef-muted: #6d746f;
  --nef-border: #e8e5da;
  --nef-radius: 22px;
  --nef-shadow: 0 14px 40px rgba(18,61,42,.08);
}

body { color: var(--nef-charcoal); background: #fff; }
a { color: var(--nef-green); }
.nef-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.nef-section { padding: 80px 0; }
.nef-section--cream { background: var(--nef-cream); }
.nef-eyebrow { color: var(--nef-green); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; }
.nef-title { color: var(--nef-green); font-size: clamp(2rem, 4vw, 4rem); line-height: 1.02; margin: 10px 0 20px; }
.nef-subtitle { color: var(--nef-muted); font-size: 1.08rem; line-height: 1.7; max-width: 650px; }
.nef-btn { display: inline-flex; align-items:center; justify-content:center; min-height:48px; padding: 0 22px; border-radius: 999px; background: var(--nef-green); color: #fff !important; text-decoration:none; font-weight:700; border:2px solid var(--nef-green); transition:.2s ease; cursor:pointer; }
.nef-btn:hover { transform: translateY(-1px); }
.nef-btn--lime { background: var(--nef-lime); color: var(--nef-charcoal)!important; border-color: var(--nef-lime); }
.nef-btn--ghost { background: transparent; color: var(--nef-green)!important; }

.nef-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nef-card { background:#fff; border:1px solid var(--nef-border); border-radius:var(--nef-radius); padding:28px; box-shadow:0 8px 24px rgba(18,61,42,.04); }
.nef-card h3 { color:var(--nef-green); margin-top:12px; }
.nef-icon { width:50px; height:50px; border-radius:16px; display:grid; place-items:center; background:rgba(168,201,58,.18); font-size:1.5rem; }

/* Product order panel */
.nef-order-panel { margin-top:28px; padding:26px; background:var(--nef-cream); border:1px solid #eee3c8; border-radius:22px; }
.nef-order-panel h3 { color:var(--nef-green); margin-top:0; }
.nef-bank-box { background:#fff; border-radius:16px; padding:18px; margin:16px 0 22px; border:1px solid var(--nef-border); }
.nef-bank-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 22px; }
.nef-field { margin-bottom:16px; }
.nef-field label { display:block; font-weight:700; margin-bottom:7px; color:var(--nef-charcoal); }
.nef-field input,.nef-field textarea,.nef-field select { width:100%; min-height:48px; border:1px solid #d8d8d2; border-radius:12px; padding:10px 13px; background:#fff; }
.nef-field textarea { min-height:130px; }
.nef-help { color:var(--nef-muted); font-size:.9rem; }
.nef-notice { padding:14px 16px; border-radius:12px; margin:15px 0; }
.nef-notice--success { background:#eaf6dd; color:#244715; }
.nef-notice--error { background:#ffe6e3; color:#82261d; }

.nef-page-hero { padding:72px 0; }
.nef-section-title { color:var(--nef-green); font-size:clamp(2rem,3vw,3.2rem); line-height:1.08; margin:10px 0 30px; }
.nef-content { line-height:1.8; }

@media (max-width:900px) {
  .nef-grid-3 { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .nef-container { width:min(100% - 24px,1180px); }
  .nef-section { padding:56px 0; }
  .nef-grid-3 { grid-template-columns:1fr; }
  .nef-bank-grid { grid-template-columns:1fr; }
  .nef-title { font-size:2.5rem; }
  .nef-page-hero { padding:54px 0; }
}
