/* Newsletter Platform · formularios incrustados v0.3
 * Estilos neutros: heredan la tipografía y los colores del tema.
 * Personalizables en Newsletter Popup → CSS (reglas que empiecen por .np-).
 */
.np-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Newsletter (solo se aplican si no se pasan clases del tema) */
.np-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.np-form__input { flex: 1 1 220px; min-width: 0; padding: 12px 14px; font: inherit; border: 1px solid currentColor; border-radius: 0; background: #fff; color: #111; }
.np-form__button { flex: 0 0 auto; padding: 12px 22px; font: inherit; font-weight: 600; border: 1px solid currentColor; background: #111; color: #fff; cursor: pointer; }
.np-form__button:disabled { opacity: .6; cursor: wait; }
.np-form__consent { flex: 1 1 100%; display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.45; }
.np-form__consent input { margin-top: 3px; flex: 0 0 auto; }
.np-form__message { margin: 10px 0 0; font-size: 14px; min-height: 1em; }
.np-form__message.is-error, .np-stock__message.is-error { color: #b42318; }

/* Final de los artículos */
.np-post { box-sizing: border-box; clear: both; margin: 2em 0; padding: 22px 22px 18px; border: 1px solid rgba(0,0,0,.14); border-top: 3px solid currentColor; background: rgba(0,0,0,.025); }
.np-post[hidden] { display: none !important; }
.np-post__title { margin: 0 0 6px !important; font-weight: 700; font-size: 1.25em; line-height: 1.25; }
.np-post__text { margin: 0 0 14px !important; font-size: .98em; line-height: 1.5; }
.np-post .np-form-wrap { margin: 0; }

/* Aviso de reposición */
.np-stock { box-sizing: border-box; margin: 18px 0; padding: 18px; border: 1px solid rgba(0,0,0,.15); background: rgba(0,0,0,.02); }
.np-stock[hidden] { display: none !important; }
.np-stock__title { margin: 0 0 4px; font-weight: 700; font-size: 1.05em; }
.np-stock__text { margin: 0 0 12px; font-size: .95em; line-height: 1.45; }
.np-stock__form { margin: 0; }
.np-stock__row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.np-stock__input { flex: 1 1 200px; min-width: 0; padding: 11px 12px; font: inherit; border: 1px solid rgba(0,0,0,.35); border-radius: 0; background: #fff; color: #111; }
.np-stock__button { flex: 0 0 auto; padding: 11px 18px; font: inherit; font-weight: 600; border: 1px solid #111; background: #111; color: #fff; cursor: pointer; }
.np-stock__button:disabled { opacity: .6; cursor: wait; }
.np-stock__check { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; }
.np-stock__check input { margin-top: 2px; flex: 0 0 auto; }
.np-stock__message { margin: 10px 0 0; font-size: 14px; }
.np-stock__message:empty, .np-form__message:empty { display: none; }
@media (max-width: 480px) {
  .np-stock__button, .np-form__button { flex: 1 1 100%; }
}
