.custom-subscribe-form {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.custom-subscribe-form,
.custom-subscribe-form * {
  box-sizing: border-box !important;
}

.custom-subscribe-form__inner {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}

/* Title */
.custom-subscribe-form__title {
  margin: 0 0 22px !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
}

/* Description above form */
.custom-subscribe-form__description {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto 14px !important;
  padding: 0 15px !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.custom-subscribe-form__description p {
  margin: 0 !important;
}

.custom-subscribe-form .legal-consent-container .hs-richtext p a{
  font-size: 12px!important;
}

/* Form wrapper */
.custom-subscribe-form__form {
  width: 100% !important;
  text-align: left;
}

.custom-subscribe-form__form form,
.custom-subscribe-form__form .hs-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
}

/* Email field */
.custom-subscribe-form__form .hs_email,
.custom-subscribe-form__form .hs-email,
.custom-subscribe-form__form .hs-form-field.hs_email {
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.custom-subscribe-form__form .hs_email > label,
.custom-subscribe-form__form .hs-email > label {
  display: none !important;
}

.custom-subscribe-form__form .input {
  margin: 0 !important;
}

/* Email input */
.custom-subscribe-form__form input[type="email"],
.custom-subscribe-form__form input[name="email"] {
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  line-height: 40px !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Submit */
.custom-subscribe-form__form .hs_submit,
.custom-subscribe-form__form .hs-submit {
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.custom-subscribe-form__form .actions {
  margin: 0 !important;
  padding: 0 !important;
}

.custom-subscribe-form__form input[type="submit"],
.custom-subscribe-form__form button[type="submit"] {
  display: block !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fbe800 !important;
  color: #000 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* Error messages */
.custom-subscribe-form__form .hs-error-msgs {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.custom-subscribe-form__form .hs-error-msg,
.custom-subscribe-form__form .hs-error-msgs label {
  display: block !important;
  color: #ff3b30 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

/* Consent block */
.custom-subscribe-form__form .legal-consent-container {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  max-width: 780px !important;
  margin: 18px auto 0 !important;
  padding: 0 15px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.custom-subscribe-form__form .legal-consent-container span {
  margin: 0 !important;
}

.custom-subscribe-form__form .legal-consent-container p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
}

.custom-subscribe-form__form .legal-consent-container a {
  text-decoration: underline !important;
}

/* Keep HubSpot inputs list compact, scoped to this module */
.body-wrapper .custom-subscribe-form form.hs-form .hs-form-field ul.inputs-list,
.custom-subscribe-form form.hs-form .hs-form-field ul.inputs-list,
.body-wrapper .custom-subscribe-form .hs-form-field ul.inputs-list,
.custom-subscribe-form .hs-form-field ul.inputs-list {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Checkbox span margin, scoped to this module */
.body-wrapper .custom-subscribe-form [type="checkbox"]:checked + span:not(.slider),
.body-wrapper .custom-subscribe-form [type="checkbox"]:not(:checked) + span:not(.slider),
.custom-subscribe-form [type="checkbox"]:checked + span:not(.slider),
.custom-subscribe-form [type="checkbox"]:not(:checked) + span:not(.slider) {
  margin: 0 !important;
  padding-left: 30px !important;
}

/* Checkbox: scoped POWER checkbox override */
.body-wrapper .custom-subscribe-form [type="checkbox"] + span:not(.slider):before,
.custom-subscribe-form [type="checkbox"] + span:not(.slider):before {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  border: 1px solid #fbe800 !important;
  box-sizing: border-box !important;
}

/* Dark mode checkbox visible state */
.body-wrapper .custom-subscribe-form.custom-subscribe-form--dark [type="checkbox"] + span:not(.slider):before,
.custom-subscribe-form.custom-subscribe-form--dark [type="checkbox"] + span:not(.slider):before {
  border: 1px solid #fbe800 !important;
  border-radius: 0;!important;
}

/* Checked mark sizing, scoped */
.body-wrapper .custom-subscribe-form [type="checkbox"]:checked + span:not(.slider):after,
.custom-subscribe-form [type="checkbox"]:checked + span:not(.slider):after {
  width: 10px !important;
  height: 10px !important;
  left: 2px !important;
}

/* Light mode */
.custom-subscribe-form.custom-subscribe-form--light,
.custom-subscribe-form.custom-subscribe-form--light * {
  color: #000 !important;
}

.custom-subscribe-form--light .custom-subscribe-form__form input[type="email"],
.custom-subscribe-form--light .custom-subscribe-form__form input[name="email"] {
  color: #000 !important;
  border: 0 !important;
  background: #f2f2f2 !important;
}

/* Dark mode */
.custom-subscribe-form.custom-subscribe-form--dark,
.custom-subscribe-form.custom-subscribe-form--dark * {
  color: #fff !important;
}

.custom-subscribe-form--dark .custom-subscribe-form__form input[type="email"],
.custom-subscribe-form--dark .custom-subscribe-form__form input[name="email"] {
  color: #fff !important;
  border: 1px solid #fbe800 !important;
  background: transparent !important;
}

/* Dark mode placeholder */
.custom-subscribe-form--dark .custom-subscribe-form__form input[type="email"]::placeholder,
.custom-subscribe-form--dark .custom-subscribe-form__form input[name="email"]::placeholder {
  color: #8a8a8a !important;
  opacity: 1 !important;
}

/* Button always black text */
.custom-subscribe-form input[type="submit"],
.custom-subscribe-form button[type="submit"],
.custom-subscribe-form.custom-subscribe-form--dark input[type="submit"],
.custom-subscribe-form.custom-subscribe-form--dark button[type="submit"] {
  color: #000 !important;
  background: #fbe800 !important;
}

/* Errors always red */
.custom-subscribe-form .hs-error-msg,
.custom-subscribe-form .hs-error-msgs label,
.custom-subscribe-form.custom-subscribe-form--dark .hs-error-msg,
.custom-subscribe-form.custom-subscribe-form--dark .hs-error-msgs label {
  color: #ff3b30 !important;
}

/* Submitted message */
.custom-subscribe-form__form .submitted-message {
  width: 100% !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Mobile */
@media (max-width: 767px) {
  .custom-subscribe-form__inner,
  .custom-subscribe-form__form form,
  .custom-subscribe-form__form .hs-form {
    max-width: 300px !important;
  }

  .custom-subscribe-form__inner {
    padding: 0 !important;
  }

  .custom-subscribe-form__title {
    margin-bottom: 14px !important;
    font-size: 14px !important;
    letter-spacing: normal !important;
  }

  .custom-subscribe-form__description {
    margin-bottom: 12px !important;
    padding: 0 !important;
    font-size: 13px !important;
  }

  .custom-subscribe-form__form input[type="email"],
  .custom-subscribe-form__form input[name="email"] {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    line-height: 36px !important;
  }

  .custom-subscribe-form__form input[type="submit"],
  .custom-subscribe-form__form button[type="submit"] {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
    line-height: 36px !important;
    letter-spacing: 1px !important;
  }

  .custom-subscribe-form__form .legal-consent-container {
    max-width: 300px !important;
    margin-top: 16px !important;
    padding: 0 15px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .custom-subscribe-form__form .legal-consent-container span {
    margin: 0 !important;
  }

  .custom-subscribe-form__form .legal-consent-container p {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
}