/* ─────────── Newsletter strip (form WhatsApp) ─────────── */
/* Pensato per essere incluso prima del footer in qualsiasi pagina
   pubblica. Eredita le CSS variables dalla pagina ospitante. */

.newsletter-strip{
  background:linear-gradient(180deg, transparent, rgba(214,177,106,.04));
  border-top:1px solid rgba(214,177,106,.12);
  padding:70px 100px;
  position:relative;z-index:5;
}
.newsletter-inner{
  max-width:var(--maxw, 1360px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:60px;
  align-items:start;
}
.newsletter-eyebrow{
  font-family:var(--sans);font-size:10px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:14px;display:flex;align-items:center;gap:14px;
}
.newsletter-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold)}
.newsletter-title{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(34px,3.8vw,52px);line-height:1;letter-spacing:-.01em;
  color:var(--cream);margin-bottom:20px;
}
.newsletter-title em{font-style:italic;color:var(--gold)}
.newsletter-lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:17px;line-height:1.55;
  color:rgba(246,231,207,.7);
  max-width:480px;
}
.newsletter-small{
  margin-top:18px;
  font-family:var(--sans);font-size:11px;letter-spacing:.04em;
  color:rgba(246,231,207,.45);text-transform:none;
}

/* ─── Form ─── */
.newsletter-form{display:flex;flex-direction:column;gap:14px}
.nl-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
.nl-fields input{
  padding:15px 18px;
  background:rgba(26,19,15,.5);
  border:1px solid rgba(214,177,106,.2);
  color:var(--cream);
  font-family:var(--sans);font-size:14px;font-weight:300;letter-spacing:.02em;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.nl-fields input::placeholder{color:rgba(246,231,207,.35)}
.nl-fields input:focus{outline:none;border-color:var(--gold);background:rgba(26,19,15,.7)}

.nl-consent{
  display:flex;align-items:flex-start;gap:12px;
  font-size:12px;line-height:1.55;
  color:rgba(246,231,207,.6);
  letter-spacing:.02em;text-transform:none;
  cursor:pointer;padding:4px 0;
}
.nl-consent input[type="checkbox"]{
  width:18px;height:18px;
  accent-color:var(--gold);
  flex-shrink:0;margin-top:1px;cursor:pointer;
}

.nl-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  align-self:flex-start;
  padding:15px 32px;
  background:var(--gold);color:var(--espresso);
  border:1px solid var(--gold);
  font-family:var(--sans);font-size:11px;letter-spacing:.32em;
  text-transform:uppercase;font-weight:400;
  cursor:pointer;
  transition:all .35s var(--ease);
}
.nl-submit:hover{background:var(--cream);border-color:var(--cream)}
.nl-submit:disabled{opacity:.6;cursor:wait}
.nl-submit svg{width:14px;height:14px;fill:currentColor}

.nl-feedback{
  font-family:var(--serif);font-style:italic;font-size:14px;
  padding:4px 0;min-height:18px;
  text-transform:none;letter-spacing:.01em;
}
.nl-feedback.is-ok{color:#a8c08a}
.nl-feedback.is-err{color:#e8a09a}

/* ─── Responsive ─── */
@media(max-width:1100px){
  .newsletter-strip{padding:60px}
  .newsletter-inner{grid-template-columns:1fr;gap:36px}
}
@media(max-width:760px){
  .newsletter-strip{padding:48px 24px}
  .nl-fields{grid-template-columns:1fr}
  .nl-submit{width:100%}
}
