/* Newsletter editorial: reglas aplicadas a las clases reales del sitio. */
.next-step.newsletter-step,
.next-step.newsletter-step *{
  box-sizing:border-box;
}

.next-step.newsletter-step{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;
  gap:clamp(28px,5vw,54px)!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  padding:clamp(30px,4.5vw,42px)!important;
  overflow:hidden!important;
}

.next-step.newsletter-step > *,
.next-step.newsletter-step > div,
.next-step.newsletter-step .newsletter-form,
.next-step.newsletter-step .newsletter-form > *{
  min-width:0!important;
  max-width:100%!important;
}

.next-step.newsletter-step > div{
  width:100%;
  align-self:center;
}

.next-step.newsletter-step h2{
  max-width:12ch;
  margin:10px 0 14px!important;
  font-size:clamp(2rem,4.2vw,2.8rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.next-step.newsletter-step > div > p{
  max-width:43ch;
  line-height:1.62;
}

.next-step.newsletter-step .newsletter-form.compact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:start!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  gap:14px!important;
}

.next-step.newsletter-step .newsletter-form > label:first-child{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}

.next-step.newsletter-step .newsletter-form input:not([type="checkbox"]),
.next-step.newsletter-step .newsletter-form select,
.next-step.newsletter-step .newsletter-form textarea,
.next-step.newsletter-step .newsletter-form button{
  display:block!important;
  inline-size:100%!important;
  width:100%!important;
  min-width:0!important;
  max-inline-size:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
}

.next-step.newsletter-step .newsletter-form input[type="email"]{
  min-height:52px!important;
  padding:10px 0 12px!important;
}

.next-step.newsletter-step .newsletter-form button{
  min-height:58px!important;
  padding:14px 18px!important;
  border-radius:11px!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  text-align:center!important;
  line-height:1.2!important;
}

.next-step.newsletter-step .newsletter-form [data-newsletter-enhancement]{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:14px!important;
  margin:4px 0 0!important;
}

.next-step.newsletter-step .newsletter-form fieldset{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.next-step.newsletter-step .newsletter-topics{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

.next-step.newsletter-step .newsletter-topics legend{
  width:100%;
  margin-bottom:2px;
}

.next-step.newsletter-step .newsletter-topics label{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 1 auto;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
}

.next-step.newsletter-step .newsletter-topics input,
.next-step.newsletter-step .form-consent input{
  flex:0 0 auto;
}

.next-step.newsletter-step .form-consent{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  overflow-wrap:break-word!important;
}

.next-step.newsletter-step .newsletter-form > small{
  display:block;
  width:100%;
  min-width:0;
  margin-top:2px;
  line-height:1.5;
  overflow-wrap:break-word;
}

.next-step.newsletter-step .api-form-status{
  width:100%;
  min-width:0;
  margin:0;
}

@media (max-width:640px){
  .next-step.newsletter-step{
    gap:25px!important;
    padding:27px 21px!important;
    border-radius:18px!important;
  }

  .next-step.newsletter-step h2{
    max-width:none;
    font-size:clamp(2rem,11vw,2.65rem)!important;
  }

  .next-step.newsletter-step .newsletter-topics{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  .next-step.newsletter-step .newsletter-topics label{
    width:100%!important;
  }
}
