/* ── Bambino newsletter ─────────────────────────────────────────────── */
.bmb-news__inner { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.bmb-news__sub { max-width: 724px; }
.bmb-news__form { display: flex; flex-direction: column; align-items: center; }
.bmb-news__fields { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: center; }
.bmb-news__input {
  width: 377px; max-width: 100%; height: 50px;
  border: 2px solid var(--bambino-line); border-radius: 10px; padding: 0 20px;
  font-family: var(--bambino-font-body); font-weight: 600; font-size: 1rem; color: var(--bambino-ink);
  outline: none; background: #fff;
}
.bmb-news__input::placeholder { color: var(--bambino-muted); }
.bmb-news__input:focus { border-color: var(--bambino-teal); }
.bmb-news__btn {
  height: 50px; padding: 0 26px; border: none; cursor: pointer;
  background: var(--bambino-teal-deep); color: #f8f8f8; border-radius: 15px;
  font-family: var(--bambino-font-body); font-weight: 600; font-size: 1rem;
}
.bmb-news__btn:hover { filter: brightness(1.06); }
@media (max-width: 480px) { .bmb-news__input { width: 100%; } .bmb-news__form, .bmb-news__fields { width: 100%; } }

/* Inline signup feedback from newsletter.js (#351). [hidden] must win over
   any display rule so the messages stay out of sight until a submit. */
.bmb-news__success[hidden],
.bmb-news__error[hidden] { display: none !important; }
.bmb-news__success {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.bmb-news__error {
  display: inline-block;
  margin: 12px 0 0;
  padding-left: 10px;
  border-left: 3px solid #D93025;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}

/* Theme blocks (blocks/*.liquid). Every rule is opt-in: an untouched block matches none of them. */
.qm-contents { display: contents; }
.av-block-group { display: flex; flex-direction: column; gap: var(--av-group-gap, 12px); align-items: var(--av-group-align, stretch); }
.av-block-group--row { flex-direction: row; flex-wrap: wrap; justify-content: var(--av-group-justify, flex-start); align-items: var(--av-group-align, center); }
.av-block-text p, .av-block-text li { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }
