/* ===== base ===== */
.nxs-bd{
  background:#fff;
}

/* containers */
.nxs-bd-hero__wrap,
.nxs-bd-form__wrap,
.nxs-bd-steps__wrap,
.nxs-bd-faq__wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.nxs-bd-h2{
  margin: 0 0 10px;
  font-size: 40px;
  line-height: 1.08;
  font-weight: 900;
  color:#111;
}
.nxs-bd-h2--center{ text-align:center; }
.nxs-bd-lead{
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  color:#2c2c2c;
  opacity:.95;
}
.nxs-bd-lead--center{
  text-align:center;
  max-width: 78ch;
  margin-left:auto;
  margin-right:auto;
}

/* ===== Section 1: HERO (title + desc + banner) ===== */
.nxs-bd-hero{
  padding: 54px 0 34px;
  background:#fff;
}
.nxs-bd-hero__wrap{
  display:grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 38px;
  align-items: start;
}

.nxs-bd-hero__kicker{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a7a7a;
  font-weight:900;
}
.nxs-bd-hero__title{
  margin:0 0 14px;
  font-size: 56px;
  line-height: 1.02;
  font-weight: 900;
  color:#111;
}
.nxs-bd-hero__desc{
  margin:0 0 18px;
  font-size: 18px;
  line-height: 1.7;
  color:#2c2c2c;
  max-width: 70ch;
}

.nxs-bd-hero__cta{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap: wrap;
}
.nxs-bd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 10px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.2px;
}
.nxs-bd-btn:hover{ opacity:.9; }

.nxs-bd-link{
  color:#111;
  text-decoration:none;
  font-weight:900;
}
.nxs-bd-link:hover{ text-decoration:underline; }

/* Banner (dreapta) */
.nxs-bd-banner{
  border:1px solid #e3e3e3;
  border-radius: 14px;
  overflow:hidden;
  background:#fff;
}
.nxs-bd-banner__media img{
  width:100%;
  height: 320px;
  object-fit: cover;
  display:block;
}
.nxs-bd-banner__body{
  padding: 18px 18px 16px;
}
.nxs-bd-banner__tag{
  display:inline-flex;
  font-weight:900;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#2d7d46;
  margin-bottom: 10px;
}
.nxs-bd-banner__title{
  font-size: 22px;
  font-weight: 900;
  color:#111;
  margin-bottom: 8px;
}
.nxs-bd-banner__text{
  font-size: 15px;
  line-height: 1.65;
  color:#2c2c2c;
  opacity: .92;
  margin-bottom: 14px;
}
.nxs-bd-banner__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-weight: 900;
  color:#111;
  border-bottom: 2px solid rgba(17,17,17,.2);
  padding-bottom: 2px;
}
.nxs-bd-banner__btn:hover{ border-bottom-color: rgba(17,17,17,.65); }

/* ===== Section 2: FORM ===== */
.nxs-bd-form{
  padding: 46px 0 56px;
  background:#fff;
  border-top: 1px solid #eee;
}
.nxs-bd-form__top{
  text-align:center;
  margin-bottom: 22px;
}
.nxs-bd-form__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  align-items: start;
}
.nxs-bd-form__panel{
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius: 14px;
  padding: 18px;
}

.nxs-bd-f__row{ margin-bottom: 14px; }
.nxs-bd-f__row--2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.nxs-bd-f__label{
  display:block;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
  color:#111;
  margin: 0 0 6px;
}
.nxs-bd-f__input{
  width:100%;
  border: 1px solid #e1e1e1;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
  outline: none;
  background:#fff;
}
.nxs-bd-f__input:focus{
  border-color:#111;
}
.nxs-bd-f__textarea{
  min-height: 110px;
  resize: vertical;
}

.nxs-bd-f__submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 10px;
  border:0;
  background:#22c55e;
  color:#fff;
  font-weight: 900;
  letter-spacing:.2px;
  cursor:pointer;
}
.nxs-bd-f__submit:hover{ opacity:.9; }

.nxs-bd-f__note{
  margin: 12px 0 0;
  font-size: 12px;
  color:#555;
}

.nxs-bd-form__image{
  border-radius: 14px;
  overflow:hidden;
  border:1px solid #e8e8e8;
  background:#f3f3f3;
}
.nxs-bd-form__image img{
  width:100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display:block;
}

/* ===== Section 3: STEPS ===== */
.nxs-bd-steps{
  padding: 56px 0 60px;
  background:#fff;
}
.nxs-bd-steps__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 26px;
}
.nxs-step{
  text-align:center;
  padding: 10px 6px;
}
.nxs-step__ico{
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background:#ffdd00;
  margin: 0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nxs-step__ico svg{
  width: 26px;
  height: 26px;
  fill: #256c3c;
}
.nxs-step__title{
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 900;
  color:#111;
}
.nxs-step__text{
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color:#2c2c2c;
  opacity:.92;
}

/* ===== Section 4: FAQ (dark) ===== */
.nxs-bd-faq{
  background:#256c3c;
  padding: 66px 0 74px;
}
.nxs-bd-faq__kicker{
  margin:0 0 8px;
  color:#ffdd00;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size: 14px;
  text-align:center;
}
.nxs-bd-faq__title{
  margin:0 0 26px;
  color:#fff;
  font-weight: 900;
  font-size: 38px;
  text-align:center;
}

/* Accordion */
.nxs-acc{
  border-top: 1px solid rgba(255,255,255,.2);
}
.nxs-acc__item{
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.nxs-acc__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  background:transparent;
  border:0;
  padding: 18px 0;
  cursor:pointer;
  text-align:left;
}
.nxs-acc__q{
  color:#fff;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.35;
}
.nxs-acc__plus{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background:#ffdd00;
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 22px;
  flex: 0 0 40px;
}
.nxs-acc__panel{
  display:none;
  padding: 0 0 18px;
}
.nxs-acc__panel.is-open{ display:block; }
.nxs-acc__a{
  color: rgba(255,255,255,.86);
  font-size: 14px;
  line-height: 1.75;
  max-width: 95ch;
}
.nxs-acc__item.is-open .nxs-acc__plus{
  transform: rotate(45deg);
}

/* ===== Responsive ===== */
@media (max-width: 1024px){
  .nxs-bd-hero__wrap{ grid-template-columns: 1fr; }
  .nxs-bd-hero__title{ font-size: 46px; }
  .nxs-bd-banner__media img{ height: 280px; }

  .nxs-bd-form__grid{ grid-template-columns: 1fr; }
  .nxs-bd-form__image img{ min-height: 320px; }

  .nxs-bd-steps__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px){
  .nxs-bd-hero{ padding: 40px 0 24px; }
  .nxs-bd-hero__title{ font-size: 38px; }

  .nxs-bd-f__row--2{ grid-template-columns: 1fr; }

  .nxs-bd-steps__grid{ grid-template-columns: 1fr; }
  .nxs-step{ text-align:left; display:grid; grid-template-columns: 64px 1fr; gap: 14px; align-items:start; }
  .nxs-step__ico{ margin: 0; }
}

/* FIX REAL – Steps mobile: forteaza titlu + text in coloana 2 */
@media (max-width: 640px){

  .nxs-step{
    display:grid !important;
    grid-template-columns: 64px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items:start !important;
    text-align:left !important;
  }

  /* icon pe coloana 1, pe inaltimea cardului */
  .nxs-step__ico{
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
  }

  /* titlu + text pe coloana 2 */
  .nxs-step__title{
    grid-column: 2 !important;
    margin: 0 !important;
  }

  .nxs-step__text,
  .nxs-step_text{
    grid-column: 2 !important;
    display:block !important;
    margin: 0 !important;
    overflow-wrap:anywhere !important;
  }
}

/* =========================================
   BUTTON STYLE – ca .nxs-sup__btn (galben)
========================================= */

/* HERO primary button */
.nxs-bd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  min-height:auto;
  border-radius:14px;
  background:#ffd000;
  color:#111;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:0;
  transition: all .18s ease;
}

.nxs-bd-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}


/* Banner button */
.nxs-bd-banner__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border-radius:14px;
  background:#ffd000;
  color:#111;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  border:0;
  transition: all .18s ease;
}

.nxs-bd-banner__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}


/* Form submit */
.nxs-bd-f__submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  min-height:auto;
  border-radius:14px;
  background:#ffd000;
  color:#111;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:0;
  cursor:pointer;
  transition: all .18s ease;
}

.nxs-bd-f__submit:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* =========================================================
   FORM POLISH + FIX OVERFLOW (nxs-bd)
========================================================= */

/* 1) Fix universal: nimic din form nu mai iese din container */
.nxs-bd-form__panel,
.nxs-bd-form__panel *{
  box-sizing: border-box;
}

.nxs-bd-form__panel{
  overflow: hidden; /* safety net */
}

/* 2) Panel mai premium */
.nxs-bd-form__panel{
  border: 1px solid #ececec;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  background: #fff;
}

/* 3) Spacing între rânduri */
.nxs-bd-f__row{ 
  margin-bottom: 14px; 
}

/* 4) Labels mai curate */
.nxs-bd-f__label{
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 900;
  color: #111;
  margin: 0 0 8px;
}

/* 5) Inputs / textarea – stil modern + fix width */
.nxs-bd-f__input{
  width: 100%;
  max-width: 100%;
  display: block;

  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 14px;

  background: #fbfbfb;
  color: #111;

  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.nxs-bd-f__input::placeholder{
  color: #8a8a8a;
  opacity: 1;
}

/* Textarea */
.nxs-bd-f__textarea{
  min-height: 120px;
  resize: vertical;
}

/* Focus: mai elegant */
.nxs-bd-f__input:focus{
  border-color: rgba(17,17,17,.55);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 208, 0, .25); /* glow galben */
}

/* 6) 2 coloane – asigură că nu depășește */
.nxs-bd-f__row--2{
  gap: 12px;
}
.nxs-bd-f__row--2 > *{
  min-width: 0; /* CRUCIAL în grid/flex ca să nu împingă în afară */
}

/* 7) Submit – full look, consistent cu butonul galben */
.nxs-bd-f__submit{
  width: auto;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 14px 18px;
  border-radius: 14px;
  border: 0;

  background: #ffd000;
  color: #111;

  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;

  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.nxs-bd-f__submit:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

/* 8) Nota sub buton */
.nxs-bd-f__note{
  margin-top: 12px;
  font-size: 12px;
  color: #666;
  line-height: 1.5;
}

/* 9) Mobile: padding un pic mai mic */
@media (max-width: 640px){
  .nxs-bd-form__panel{ padding: 16px; }
}

/* =========================================
   FIX iOS AUTO ZOOM ON INPUT FOCUS
========================================= */

@media (max-width: 768px){

  .nxs-bd-f__input,
  .nxs-bd-f__textarea{
    font-size: 16px !important;
  }

}
