
:root {
  --efs-emerald: #13C076;
  --efs-green: #06A15B;
  --efs-deep: #04683D;
  --efs-ink: #082F28;
  --efs-leaf: #6EC63C;
  --efs-mist: #F1F8F4;
  --efs-surface: #F7FAF8;
  --efs-white: #FFFFFF;
  --efs-text: #26332E;
  --efs-muted: #65736D;
  --efs-border: #DDE9E2;
  --efs-danger: #B42318;
  --efs-radius-sm: 10px;
  --efs-radius: 16px;
  --efs-radius-lg: 24px;
  --efs-shadow: 0 12px 32px rgba(8,47,40,.08);
  --efs-shadow-hover: 0 16px 38px rgba(8,47,40,.13);
  --efs-content: 1200px;
  --efs-transition: 180ms ease;
}

body { color: var(--efs-text); }
body, input, textarea, select, button { -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid rgba(19,192,118,.35); outline-offset: 3px; }

.efs-section { padding-top: clamp(64px,7vw,104px); padding-bottom: clamp(64px,7vw,104px); }
.efs-section--compact { padding-top: clamp(40px,5vw,64px); padding-bottom: clamp(40px,5vw,64px); }
.efs-section--soft { background: var(--efs-surface); }
.efs-section--mist { background: var(--efs-mist); }
.efs-section--dark { background: var(--efs-ink); color: var(--efs-white); }
.efs-container { width: min(90%, var(--efs-content)); margin-inline: auto; }

.efs-eyebrow {
  color: var(--efs-green);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.efs-lede { font-size: clamp(1.05rem,1.5vw,1.22rem); line-height: 1.7; color: var(--efs-muted); }
.efs-section--dark .efs-lede { color: rgba(255,255,255,.78); }

.efs-card {
  background: var(--efs-white);
  border: 1px solid var(--efs-border);
  border-radius: var(--efs-radius);
  padding: clamp(22px,3vw,32px);
  box-shadow: var(--efs-shadow);
  transition: transform var(--efs-transition), box-shadow var(--efs-transition), border-color var(--efs-transition);
  height: 100%;
}
.efs-card:hover { transform: translateY(-3px); box-shadow: var(--efs-shadow-hover); border-color: rgba(19,192,118,.35); }
.efs-loan-card .efs-loan-card__meta { color: var(--efs-muted); font-size: .92rem; }
.efs-loan-card .efs-loan-card__amount { color: var(--efs-deep); font-weight: 700; }

.efs-btn,
body .et_pb_button.efs-btn {
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: .78em 1.35em !important;
  transition: transform var(--efs-transition), box-shadow var(--efs-transition), background var(--efs-transition) !important;
}
.efs-btn:hover,
body .et_pb_button.efs-btn:hover { transform: translateY(-1px); }
.efs-btn--primary,
body .et_pb_button.efs-btn--primary {
  background: var(--efs-green) !important;
  border-color: var(--efs-green) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(6,161,91,.22);
}
.efs-btn--primary:hover,
body .et_pb_button.efs-btn--primary:hover { background: var(--efs-deep) !important; border-color: var(--efs-deep) !important; }
.efs-btn--secondary,
body .et_pb_button.efs-btn--secondary {
  background: transparent !important;
  border-color: var(--efs-deep) !important;
  color: var(--efs-deep) !important;
}
.efs-section--dark .efs-btn--secondary,
body .efs-section--dark .et_pb_button.efs-btn--secondary { border-color: rgba(255,255,255,.55)!important; color:#fff!important; }

.efs-trust-strip { display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; }
.efs-trust-item { display:flex; align-items:center; gap:9px; font-weight:600; color:var(--efs-deep); }
.efs-trust-dot { width:8px; height:8px; border-radius:50%; background:var(--efs-leaf); }

.efs-calculator,
.efs-form-shell {
  background: var(--efs-white);
  border: 1px solid var(--efs-border);
  border-radius: var(--efs-radius-lg);
  padding: clamp(22px,4vw,40px);
  box-shadow: var(--efs-shadow);
}
.efs-loanbit-embed { min-height: 320px; }
.efs-embed-placeholder {
  padding: 24px;
  border: 1px dashed var(--efs-border);
  border-radius: var(--efs-radius);
  background: var(--efs-surface);
  color: var(--efs-muted);
}

.efs-contact-actions { display:flex; flex-wrap:wrap; gap:12px; }
.efs-fineprint { font-size:.86rem; line-height:1.6; color:var(--efs-muted); }
.efs-legal-content { max-width: 860px; margin-inline:auto; }
.efs-legal-content h2 { margin-top: 2.1em; }
.efs-legal-content h3 { margin-top: 1.55em; }

.efs-faq .et_pb_toggle {
  border: 1px solid var(--efs-border);
  border-radius: var(--efs-radius-sm);
  margin-bottom: 12px;
  background: #fff;
}
.efs-faq .et_pb_toggle_title { font-weight: 700; }

.efs-site-footer a { color: inherit; }
.efs-site-footer .efs-footer-meta { color: rgba(255,255,255,.7); font-size:.9rem; }

@media (max-width: 980px) {
  .efs-hide-tablet { display:none!important; }
  .efs-section { padding-top: 64px; padding-bottom:64px; }
}
@media (max-width: 767px) {
  .efs-hide-mobile { display:none!important; }
  .efs-card { padding:22px; }
  .efs-contact-actions { flex-direction:column; align-items:stretch; }
  .efs-contact-actions .et_pb_button { text-align:center; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Brand logos served directly from the child theme (v3.2). */
.efs-brand-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  max-width: 100%;
}
.efs-brand-logo img {
  display: block;
  width: clamp(220px, 20vw, 280px);
  height: auto;
  max-width: 100%;
}
.efs-brand-logo--footer img {
  width: min(260px, 100%);
}
@media (max-width: 980px) {
  .efs-brand-logo img { width: clamp(190px, 34vw, 230px); }
}
@media (max-width: 767px) {
  .efs-brand-logo img { width: clamp(175px, 52vw, 215px); }
  .efs-brand-logo--footer img { width: min(220px, 100%); }
}

/* Emerald responsive header visibility — prevents FOUC between Divi headers. */
.efs-header-mobile { display: none !important; }
.efs-header-desktop { display: block !important; }
@media (max-width: 980px) {
  .efs-header-desktop { display: none !important; }
  .efs-header-mobile { display: block !important; }
}

/* =========================================================
   EMERALD SITE HEADER LAYOUT
   Shared centering/container behavior for desktop and mobile headers.
   Apply efs-site-header to the outermost Divi header Section.
   ========================================================= */
.efs-site-header {
  width: 100%;
}

.efs-site-header > .et_pb_row {
  width: 90%;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
}
