/* ==========================================================================
   Nergy - Lead Capture Layer
   Growth Brief (email nurture) + Growth Opportunity (monthly application)
   Loaded by wp-content/novamira-sandbox/nergy-20-growth-capture.php
   Tokens mirror nergy-motion.css / nergy_diag_tokens(). Do not fork them.
   ========================================================================== */

.nergy-gb,
.nergy-go-pop{
  --ngc-dark:#0b2b1b; --ngc-green:#1d6b3f; --ngc-yellow:#ffc220;
  --ngc-text:#12261c; --ngc-body:#46564c; --ngc-muted:#5c6b61;
  --ngc-border:#e8ebe7; --ngc-tint:#f4f6f3; --ngc-white:#fff;
  --ngc-ease:cubic-bezier(.22,.68,.32,1);
}

/* ==========================================================================
   1. GROWTH BRIEF BAND
   ========================================================================== */

.nergy-gb{ font-family:'DM Sans',sans-serif; color:var(--ngc-body); }
.nergy-gb *{ box-sizing:border-box; }

.nergy-gb-inner{
  display:flex; gap:40px; align-items:center;
  background:var(--ngc-tint);
  border:1px solid var(--ngc-border);
  border-radius:12px;
  padding:30px 32px;
}

.nergy-gb-copy{ flex:1 1 54%; min-width:0; }
.nergy-gb-form{ flex:0 1 380px; min-width:0; }

.nergy-gb-eyebrow{
  font-size:11px; font-weight:700; letter-spacing:1.6px; line-height:1.4;
  color:var(--ngc-green); text-transform:uppercase; margin:0 0 10px;
}

.nergy-gb-title{
  font-family:'Poppins',sans-serif;
  font-size:26px; line-height:1.25; font-weight:700;
  color:var(--ngc-text); margin:0 0 10px;
}

.nergy-gb-sub{ font-size:15.5px; line-height:1.6; color:var(--ngc-body); margin:0; }

.nergy-gb-meta{
  font-size:12.5px; line-height:1.5; color:var(--ngc-muted);
  margin:12px 0 0; display:flex; flex-wrap:wrap; gap:6px 16px;
}
.nergy-gb-meta span{ display:inline-flex; align-items:center; gap:6px; }
.nergy-gb-meta span::before{
  content:""; width:5px; height:5px; border-radius:50%;
  background:var(--ngc-green); flex:0 0 auto;
}

/* --- Fluent Forms reset inside the band ---------------------------------- */

.nergy-gb-form .frm-fluent-form{ margin:0; }
.nergy-gb-form .ff-el-group{ margin:0 0 10px; }
.nergy-gb-form .ff-el-input--label{ display:none; }
.nergy-gb-form .ff-el-form-control{
  width:100%; height:46px; padding:0 14px;
  font-family:'DM Sans',sans-serif; font-size:15px; color:var(--ngc-text);
  background:var(--ngc-white);
  border:1px solid var(--ngc-border); border-radius:8px;
  box-shadow:none; transition:border-color .2s var(--ngc-ease), box-shadow .2s var(--ngc-ease);
}
.nergy-gb-form .ff-el-form-control::placeholder{ color:#9aa79f; }
.nergy-gb-form .ff-el-form-control:focus{
  outline:none; border-color:var(--ngc-green);
  box-shadow:0 0 0 3px rgba(29,107,63,.14);
}

.nergy-gb-form .ff-btn-submit,
.nergy-gb-form .ff_btn_style{
  width:100%; height:48px; padding:0 22px; margin:2px 0 0;
  font-family:'Poppins',sans-serif; font-size:14.5px; font-weight:600;
  letter-spacing:.2px; color:var(--ngc-white);
  background:var(--ngc-dark); border:0; border-radius:8px; cursor:pointer;
  transition:transform .18s var(--ngc-ease), background-color .18s var(--ngc-ease), box-shadow .18s var(--ngc-ease);
}
.nergy-gb-form .ff-btn-submit:hover,
.nergy-gb-form .ff_btn_style:hover{
  background:var(--ngc-green); transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(11,43,27,.18);
}
.nergy-gb-form .ff-btn-submit:focus-visible{ outline:3px solid var(--ngc-yellow); outline-offset:2px; }

.nergy-gb-form .ff-el-is-error .ff-el-form-control{ border-color:#b4472e; }
.nergy-gb-form .error.text-danger,
.nergy-gb-form .ff-el-is-error .text-danger{
  font-size:12.5px; line-height:1.45; color:#b4472e; margin-top:5px;
}
.nergy-gb-form .ff-message-success{
  font-size:15px; line-height:1.6; color:var(--ngc-text);
  background:var(--ngc-white); border:1px solid var(--ngc-border);
  border-left:3px solid var(--ngc-green);
  border-radius:8px; padding:16px 18px;
}
.nergy-gb-form .ff-message-success p{ margin:0; }

.nergy-gb-note{ font-size:12px; line-height:1.5; color:var(--ngc-muted); margin:10px 0 0; }

/* --- In-post variant ------------------------------------------------------ */

.nergy-gb--post{ margin:44px 0 8px; }
.nergy-gb--post .nergy-gb-inner{ flex-direction:column; align-items:stretch; gap:20px; }
.nergy-gb--post .nergy-gb-title{ font-size:23px; }
.nergy-gb--post .nergy-gb-form{ flex:1 1 auto; max-width:460px; }

/* --- Responsive ----------------------------------------------------------- */

@media (max-width:880px){
  .nergy-gb-inner{ flex-direction:column; align-items:stretch; gap:22px; padding:26px 22px; }
  .nergy-gb-title{ font-size:23px; }
  .nergy-gb-form{ flex:1 1 auto; }
}
@media (max-width:600px){
  .nergy-gb-inner{ padding:22px 18px; border-radius:10px; }
  .nergy-gb-title{ font-size:21px; }
  .nergy-gb-sub{ font-size:15px; }
}

/* ==========================================================================
   2. GROWTH OPPORTUNITY POPUP
   Hidden by default at the attribute level so it can never flash before JS.
   ========================================================================== */

.nergy-go-pop[hidden]{ display:none !important; }

.nergy-go-pop{
  position:fixed; inset:0; z-index:99990;
  display:flex; align-items:center; justify-content:center;
  padding:24px; font-family:'DM Sans',sans-serif;
}

.nergy-go-pop__overlay{
  position:absolute; inset:0;
  background:rgba(8,33,15,.62);
  opacity:0; transition:opacity .3s ease;
}
.nergy-go-pop.is-open .nergy-go-pop__overlay{ opacity:1; }

.nergy-go-pop__box{
  position:relative; z-index:1;
  width:100%; max-width:540px; max-height:88vh; overflow-y:auto;
  background:var(--ngc-white); border-radius:14px;
  padding:38px 40px 34px;
  box-shadow:0 26px 70px rgba(8,33,15,.34);
  opacity:0; transform:translateY(18px) scale(.985);
  transition:opacity .34s ease, transform .34s var(--ngc-ease);
  border-top:4px solid var(--ngc-yellow);
}
.nergy-go-pop.is-open .nergy-go-pop__box{ opacity:1; transform:none; }

.nergy-go-pop__x{
  position:absolute; top:12px; right:12px;
  width:34px; height:34px; padding:0; line-height:1;
  font-size:22px; color:var(--ngc-muted);
  background:transparent; border:0; border-radius:8px; cursor:pointer;
  transition:background-color .18s ease, color .18s ease;
}
.nergy-go-pop__x:hover{ background:var(--ngc-tint); color:var(--ngc-text); }
.nergy-go-pop__x:focus-visible{ outline:3px solid var(--ngc-yellow); outline-offset:2px; }

.nergy-go-pop__eyebrow{
  font-size:11px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase;
  color:var(--ngc-green); margin:0 0 12px;
}

.nergy-go-pop__title{
  font-family:'Poppins',sans-serif;
  font-size:28px; line-height:1.22; font-weight:700;
  color:var(--ngc-text); margin:0 0 14px;
}

.nergy-go-pop__body{ font-size:16px; line-height:1.6; color:var(--ngc-body); margin:0 0 14px; }

.nergy-go-pop__note{
  display:inline-block; font-size:13px; font-weight:600; line-height:1.4;
  color:var(--ngc-dark); background:rgba(255,194,32,.22);
  border-radius:99px; padding:7px 14px; margin:0 0 22px;
}

.nergy-go-pop__cta{
  display:block; width:100%; text-align:center;
  font-family:'Poppins',sans-serif; font-size:15.5px; font-weight:600; letter-spacing:.2px;
  color:var(--ngc-white); text-decoration:none;
  background:var(--ngc-dark); border-radius:9px;
  padding:16px 22px;
  transition:transform .18s var(--ngc-ease), background-color .18s var(--ngc-ease), box-shadow .18s var(--ngc-ease);
}
.nergy-go-pop__cta:hover,
.nergy-go-pop__cta:focus{
  color:var(--ngc-white); background:var(--ngc-green);
  transform:translateY(-1px); box-shadow:0 10px 24px rgba(11,43,27,.22);
}
.nergy-go-pop__cta:focus-visible{ outline:3px solid var(--ngc-yellow); outline-offset:2px; }

.nergy-go-pop__dismiss{
  display:block; width:100%; margin:14px 0 0; padding:6px;
  font-family:'DM Sans',sans-serif; font-size:13.5px; color:var(--ngc-muted);
  background:transparent; border:0; cursor:pointer; text-decoration:underline;
  text-underline-offset:3px;
}
.nergy-go-pop__dismiss:hover{ color:var(--ngc-text); }
.nergy-go-pop__dismiss:focus-visible{ outline:3px solid var(--ngc-yellow); outline-offset:2px; }

@media (max-width:600px){
  .nergy-go-pop{ padding:16px; align-items:flex-end; }
  .nergy-go-pop__box{ padding:30px 22px 26px; border-radius:14px; max-height:84vh; }
  .nergy-go-pop__title{ font-size:23px; }
  .nergy-go-pop__body{ font-size:15px; }
  .nergy-go-pop.is-open .nergy-go-pop__box{ transform:none; }
}

@media (prefers-reduced-motion:reduce){
  .nergy-go-pop__box,
  .nergy-go-pop__overlay,
  .nergy-gb-form .ff-btn-submit,
  .nergy-go-pop__cta{ transition:none !important; transform:none !important; }
}

/* Body lock while the popup is open. */
html.nergy-go-locked,
html.nergy-go-locked body{ overflow:hidden; }

/* ==========================================================================
   3. GROWTH OPPORTUNITY APPLICATION FORM (page /growth-opportunity/)
   ========================================================================== */

.nergy-go-form{ font-family:'DM Sans',sans-serif; color:var(--ngc-body);
  --ngc-dark:#0b2b1b; --ngc-green:#1d6b3f; --ngc-yellow:#ffc220;
  --ngc-text:#12261c; --ngc-body:#46564c; --ngc-muted:#5c6b61;
  --ngc-border:#e8ebe7; --ngc-tint:#f4f6f3; --ngc-white:#fff;
  --ngc-ease:cubic-bezier(.22,.68,.32,1);
}
.nergy-go-form *{ box-sizing:border-box; }
.nergy-go-form .frm-fluent-form{ margin:0; }
.nergy-go-form .ff-el-group{ margin:0 0 20px; }
.nergy-go-form .ff-el-input--label label{
  font-family:'Poppins',sans-serif; font-size:15.5px; line-height:1.4; font-weight:600;
  color:var(--ngc-text); margin-bottom:8px; display:block;
}
.nergy-go-form .ff-el-input--label.ff-el-is-required label:after{ color:#b4472e; }
.nergy-go-form .ff-el-help-message{ font-size:13px; line-height:1.5; color:var(--ngc-muted); margin-top:6px; }
.nergy-go-form .ff-el-form-control{
  width:100%; padding:13px 14px;
  font-family:'DM Sans',sans-serif; font-size:15.5px; color:var(--ngc-text);
  background:var(--ngc-white);
  border:1px solid var(--ngc-border); border-radius:8px; box-shadow:none;
  transition:border-color .2s var(--ngc-ease), box-shadow .2s var(--ngc-ease);
}
.nergy-go-form textarea.ff-el-form-control{ min-height:110px; line-height:1.6; resize:vertical; }
.nergy-go-form .ff-el-form-control:focus{
  outline:none; border-color:var(--ngc-green);
  box-shadow:0 0 0 3px rgba(29,107,63,.14);
}
.nergy-go-form .ff-el-is-error .ff-el-form-control{ border-color:#b4472e; }
.nergy-go-form .error.text-danger{ font-size:13px; color:#b4472e; margin-top:6px; }

.nergy-go-form .ff-btn-submit,
.nergy-go-form .ff_btn_style{
  min-width:280px; padding:16px 30px; margin-top:6px;
  font-family:'Poppins',sans-serif; font-size:15.5px; font-weight:600; letter-spacing:.2px;
  color:var(--ngc-white); background:var(--ngc-dark);
  border:0; border-radius:9px; cursor:pointer;
  transition:transform .18s var(--ngc-ease), background-color .18s var(--ngc-ease), box-shadow .18s var(--ngc-ease);
}
.nergy-go-form .ff-btn-submit:hover{
  background:var(--ngc-green); transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(11,43,27,.2);
}
.nergy-go-form .ff-btn-submit:focus-visible{ outline:3px solid var(--ngc-yellow); outline-offset:2px; }

.nergy-go-form .ff-message-success{
  font-size:16px; line-height:1.65; color:var(--ngc-text);
  background:var(--ngc-tint); border:1px solid var(--ngc-border);
  border-left:4px solid var(--ngc-green);
  border-radius:10px; padding:24px 26px;
}
.nergy-go-form .ff-message-success p{ margin:0 0 12px; }
.nergy-go-form .ff-message-success p:last-child{ margin:0; }
.nergy-go-form .ff-message-success a{ color:var(--ngc-green); font-weight:600; }

@media (max-width:600px){
  .nergy-go-form .ff-btn-submit,
  .nergy-go-form .ff_btn_style{ width:100%; min-width:0; }
}
