/* Bloque de suscripción y seguimiento (sección de contacto) */

.signup { max-width: 44rem; margin: 1.75rem auto 0; }
.signup__row { display: flex; gap: .65rem; flex-wrap: wrap; justify-content: center; }
.signup__input {
  flex: 1 1 14rem; min-width: 0;
  font-family: Lora, Georgia, serif; font-size: 1rem;
  padding: .85rem 1.1rem; border-radius: 999px;
  border: 1px solid rgba(248, 244, 236, .45);
  background: rgba(248, 244, 236, .08); color: #f8f4ec;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.signup__input::placeholder { color: rgba(248, 244, 236, .6); }
.signup__input:hover {
  border-color: rgba(248, 244, 236, .7);
  background: rgba(248, 244, 236, .12);
}
.signup__input:focus {
  outline: none;
  border-color: #f8f4ec;
  background: rgba(248, 244, 236, .15);
  box-shadow: 0 0 0 4px rgba(248, 244, 236, .16);
}
.signup .btn {
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease;
}
.signup .btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0, 0, 0, .3); }
.signup .btn:active { transform: translateY(0); box-shadow: none; }

.signup__consent {
  display: flex; gap: .55rem; align-items: flex-start;
  font-family: Lora, Georgia, serif; font-size: .86rem; line-height: 1.55;
  color: rgba(248, 244, 236, .85);
  max-width: 34rem; margin: 1rem auto 0; text-align: left;
}
.signup__consent input {
  margin-top: .22rem; flex: 0 0 auto;
  width: 1.05rem; height: 1.05rem; accent-color: #f8f4ec;
}
.signup__consent a { color: #f8f4ec; }

.follow { margin-top: 2.75rem; border-top: 1px solid rgba(248, 244, 236, .22); padding-top: 1.75rem; }
.follow__title { font-family: Lora, Georgia, serif; font-size: 1rem; color: #f8f4ec; margin: 0 0 1rem; }
.follow__note {
  font-family: Lora, Georgia, serif; font-size: .88rem; line-height: 1.6;
  color: rgba(248, 244, 236, .78); max-width: 34rem; margin: 1rem auto 0;
}

.cta__text--small {
  font-size: .88rem !important; margin-top: 2.5rem !important;
  color: rgba(248, 244, 236, .8);
}
.cta__text--small a { color: #f8f4ec; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Descarga directa en la ficha del libro gratuito */
.book__dl {
  font-family: Lora, Georgia, serif; font-size: .82rem;
  color: #8a7f6d; margin: .35rem 0 0;
}
.book__dl a { color: #191613; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 620px) {
  .signup__row { flex-direction: column; }
  .signup__input { flex: 0 0 auto; width: 100%; }
  .signup .btn { width: 100%; }
}

/* Mensaje de confirmación tras enviar el formulario */
.signup__ok {
  font-family: Lora, Georgia, serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #f8f4ec;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 6px;
  padding: 1.1rem 1.3rem;
  margin: 0;
}
.signup__ok strong { font-weight: 700; }
/* Si el envío falla, se avisa en vez de dar por hecho la suscripción */
.signup__error {
  color: #ffe4e0;
  background: rgba(138, 43, 48, .30);
  border-color: rgba(255, 255, 255, .38);
}
.signup__error a { color: #fff; }
