/* tcMailing newsletter opt-in (footer / news card / standalone page). Rows stay inline while they fit; flex-wrap stacks them only when space runs out. */
.tcm-sub {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 48px;
}
.tcm-sub .tcm-sub__text { flex: 1 1 320px; min-width: 0; }
.tcm-sub .tcm-sub__form { flex: 1 1 440px; min-width: 0; margin: 0; position: relative; }
.tcm-sub .tcm-sub__title { margin: 0 0 10px; }
.tcm-sub .tcm-sub__lead { margin: 0; }

.tcm-sub .tcm-sub__row { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.tcm-sub .tcm-sub__email.form-control {
  flex: 1 1 220px;
  width: auto;
  min-width: 0;
  height: 50px;
  padding: 0 16px;
  font-size: 16px;
  border-radius: 10px;
  box-shadow: none;
}
[dir="rtl"] .tcm-sub .tcm-sub__email.form-control { text-align: right; }
[dir="rtl"] .tcm-sub .tcm-sub__email.form-control:placeholder-shown { direction: rtl; }
.tcm-sub .tcm-sub__btn { flex: 0 0 auto; white-space: nowrap; }
.tcm-sub .tcm-sub__btn span { text-transform: uppercase; letter-spacing: .02em; }

.tcm-sub .tcm-sub__consent { margin: 12px 0 0; font-size: 14px; line-height: 1.5; }
.tcm-sub .tcm-sub__consent .form-check-input { cursor: pointer; }
.tcm-sub .tcm-sub__consent a { color: var(--accent-color); text-decoration: underline; }

.tcm-sub .tcm-sub__msg { margin-top: 12px; font-size: 15px; font-weight: 600; line-height: 1.4; }
.tcm-sub .tcm-sub__msg:empty { display: none; }
.tcm-sub .tcm-sub__msg.is-error { color: var(--error-color, #e65757); }
.tcm-sub .tcm-sub__form.is-done .tcm-sub__row,
.tcm-sub .tcm-sub__form.is-done .tcm-sub__consent { display: none; }
.tcm-sub .tcm-sub__form.is-done .tcm-sub__msg { margin-top: 0; }
.tcm-sub .tcm-sub__form.is-busy .tcm-sub__btn { opacity: .6; pointer-events: none; }

.tcm-sub__sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.tcm-sub__hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Footer: dark background */
.tcm-sub.tcm-sub--footer {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--dark-divider-color);
}
.tcm-sub--footer .tcm-sub__title { font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--white-color); }
.tcm-sub--footer .tcm-sub__lead,
.tcm-sub--footer .tcm-sub__consent { color: rgba(255, 255, 255, .75); }
.tcm-sub--footer .tcm-sub__email.form-control {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .25);
  color: var(--white-color);
}
.tcm-sub--footer .tcm-sub__email.form-control::placeholder { color: rgba(255, 255, 255, .55); }
.tcm-sub--footer .tcm-sub__email.form-control:focus { background: rgba(255, 255, 255, .1); border-color: var(--accent-color); color: var(--white-color); }
.tcm-sub--footer .form-check-input { background-color: transparent; border-color: rgba(255, 255, 255, .5); }
.tcm-sub--footer .form-check-input:checked { background-color: var(--accent-color); border-color: var(--accent-color); }
.tcm-sub--footer .tcm-sub__msg.is-ok { color: var(--white-color); }

/* News page / standalone page: light card */
.tcm-sub.tcm-sub--news,
.tcm-sub.tcm-sub--page {
  background: var(--secondary-color);
  border-radius: 30px;
  padding: clamp(24px, 4vw, 50px);
}
.tcm-sub.tcm-sub--news { margin: 50px 0 0; }
.tcm-sub.tcm-sub--page { margin: 0; }
.tcm-sub--news .tcm-sub__title,
.tcm-sub--page .tcm-sub__title {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--primary-color);
}
.tcm-sub--news .tcm-sub__lead,
.tcm-sub--page .tcm-sub__lead { font-size: 17px; line-height: 1.6; color: var(--text-color); }
.tcm-sub--news .tcm-sub__email.form-control,
.tcm-sub--page .tcm-sub__email.form-control { background: var(--white-color); border: 1px solid var(--divider-color); color: var(--primary-color); }
.tcm-sub--news .tcm-sub__email.form-control:focus,
.tcm-sub--page .tcm-sub__email.form-control:focus { border-color: var(--accent-color); }
.tcm-sub--news .tcm-sub__consent,
.tcm-sub--page .tcm-sub__consent { color: var(--text-color); }
.tcm-sub--news .tcm-sub__msg.is-ok,
.tcm-sub--page .tcm-sub__msg.is-ok { color: #1e7e34; }
