/* Newsletter Form Element Styles - ABSOLUTE MINIMAL RESET ONLY */
/* NO STYLING - All styling must be done through Bricks Builder */

.snl-newsletter-form,
.snl-newsletter-form *,
.snl-newsletter-form *::before,
.snl-newsletter-form *::after {
  box-sizing: border-box;
}

.snl-newsletter-form__title,
.snl-newsletter-form__description,
.snl-newsletter-form__form,
.snl-newsletter-form__field,
.snl-newsletter-form__input,
.snl-newsletter-form__button,
.snl-newsletter-form__message {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
}

.snl-newsletter-form__input,
.snl-newsletter-form__button {
  width: auto;
  display: inline-block;
}

.snl-newsletter-form__input:focus {
  outline: none;
}

.snl-newsletter-form__button {
  cursor: pointer;
}

.snl-newsletter-form__button:disabled {
  cursor: not-allowed;
}

.snl-newsletter-form__message {
  display: none;
}

.snl-newsletter-form__message--success,
.snl-newsletter-form__message--error {
  display: block;
}

/* Manage Preferences UI - Minimal resets only, style in Bricks */
.snl_manage * { box-sizing: border-box; }
.snl_manage__lists { display:flex; flex-direction:column; }
.snl_manage__list-item { display:flex; align-items:center; gap:8px; }
.snl_manage__posts { display:flex; flex-direction:column; }
.snl_manage__post-item { display:flex; align-items:center; justify-content: space-between; }
.snl_manage__actions { display:flex; gap:8px; }
.snl_manage__loader { margin: 8px 0; }
.snl_manage__loader::after { content:''; display:inline-block; width:16px; height:16px; border:2px solid #ccc; border-top-color: #000; border-radius:50%; animation: snl-spin 0.8s linear infinite; }
@keyframes snl-spin { to { transform: rotate(360deg); } }
.snl_manage__message { padding: 10px 12px; border-radius: 6px; font-size: 14px; margin-top: 10px; display: none; }
.snl_manage__message.snl_message--success { display: block; background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.snl_manage__message.snl_message--error { display: block; background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
