.cj2-subs {
  box-sizing: border-box;
  width: 100%;
  padding: var(--cj2-section-padding-top) var(--cj2-section-padding-right) var(--cj2-section-padding-bottom) var(--cj2-section-padding-left);
  color: var(--cj2-text-color);
  background: var(--cj2-section-bg);
  font-family: Arial, Helvetica, sans-serif;
}
.cj2-subs *, .cj2-subs *::before, .cj2-subs *::after { box-sizing: border-box; }
.cj2-subs__inner { width: min(100%, var(--cj2-max-width)); margin: 0 auto; }
.cj2-subs .cj2-subs__section-title { margin: 0 0 var(--cj2-title-margin-bottom); padding: 0; color: var(--cj2-text-color); background: none; font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 800; line-height: 1.15; text-decoration: underline; text-underline-offset: 2px; }
.cj2-subs__subheading { margin: 0 0 var(--cj2-intro-margin-bottom); color: var(--cj2-label-color); opacity: .72; font-size: 15px; }
.cj2-subs__form { position: relative; margin: 0; padding: var(--cj2-card-padding); border: 1px solid var(--cj2-card-border); border-radius: var(--cj2-card-radius); background: var(--cj2-card-bg); box-shadow: 0 18px 28px rgb(0 0 0 / 22%); }
.cj2-subs .cj2-subs__heading { margin: 0 0 18px; padding: 0; color: var(--cj2-text-color); background: none; font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 3vw, 28px); font-weight: 800; line-height: 1.15; }
.cj2-subs__grid { display: grid; grid-template-columns: repeat(var(--cj2-columns), minmax(0, 1fr)); row-gap: var(--cj2-field-row-gap); column-gap: var(--cj2-field-column-gap); }
.cj2-subs__grid > .cj2-subs__field:last-child:nth-child(odd) { grid-column: 1 / -1; }
.cj2-subs .cj2-subs__field { display: grid; gap: 7px; margin: 0; padding: 0; color: var(--cj2-label-color); font-family: Georgia, "Times New Roman", serif; font-size: 13px; font-weight: 700; line-height: 1.25; }
.cj2-subs .cj2-subs__field input { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 40px; margin: 0; padding: 8px 12px; color: var(--cj2-input-text); border: 1px solid var(--cj2-input-border); border-radius: var(--cj2-input-radius); background-color: var(--cj2-input-bg); background-image: none; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.2; box-shadow: none; outline: 0; appearance: none; }
.cj2-subs .cj2-subs__field input:focus { border-color: var(--cj2-button-bg); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cj2-button-bg) 25%, transparent); }
.cj2-subs__consent { display: flex; align-items: flex-start; gap: 10px; margin: var(--cj2-consent-margin-top) 0 var(--cj2-consent-margin-bottom); color: var(--cj2-label-color); font-size: 12px; font-weight: 600; line-height: 1.35; }
.cj2-subs__consent input { flex: 0 0 auto; width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--cj2-button-bg); }
.cj2-subs .cj2-subs__submit { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin: var(--cj2-button-margin-top) 0 0; padding: 10px 20px; color: var(--cj2-button-text); border: 0; border-radius: var(--cj2-button-radius); background: var(--cj2-button-bg); font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.2; font-weight: 800; text-transform: none; cursor: pointer; box-shadow: none; appearance: none; transition: background-color .2s ease, transform .2s ease, opacity .2s ease; }
.cj2-subs__submit:hover, .cj2-subs__submit:focus { color: var(--cj2-button-text); background: var(--cj2-button-hover); transform: translateY(-1px); }
.cj2-subs__submit:disabled { cursor: wait; opacity: .68; transform: none; }
.cj2-subs__message { display: none; margin-top: 14px; padding: 11px 13px; border-radius: 8px; background: rgb(255 255 255 / 10%); color: var(--cj2-text-color); font-size: 14px; }
.cj2-subs__message.is-visible { display: block; }
.cj2-subs__message.is-error { background: rgb(180 25 25 / 24%); }
.cj2-subs__message.is-success { background: rgb(20 135 70 / 28%); }
.cj2-subs__trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 620px) {
  .cj2-subs__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .cj2-subs__submit { transition: none; } }
