/* Altitude Forms: layout only. Input, label and button styles come from the Altitude theme (.alt-form, .alt-btn). */
.altf { text-align: left; }
.altf__form { display: grid; gap: 16px; }
.altf__form p { margin: 0; }
.altf__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.altf__form textarea { resize: vertical; min-height: 140px; }
.altf__form input:focus, .altf__form textarea:focus { outline: 2px solid #a562df; outline-offset: 2px; }
.altf__consent { display: grid !important; grid-template-columns: 18px 1fr; gap: 12px; align-items: start; font-size: 12.5px !important; line-height: 18px !important; color: #838383 !important; }
.altf__consent input { margin: 2px 0 0; width: 16px; height: 16px; accent-color: #a562df; }
.altf__consent a { color: #a562df; }
.altf__form .alt-btn { justify-self: start; border: 1px solid #a562df; cursor: pointer; }
.altf__trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.altf__notice { border-radius: 8px; padding: 20px 24px; margin-bottom: 16px; }
.altf__notice b { display: block; font-weight: 500; font-size: 20px; line-height: 28px; color: #fff; margin-bottom: 4px; }
.altf__notice span { color: #efeeec; }
.altf__notice--ok { background: #0e0e0e; border: 1px solid #a562df; }
.altf__notice--error { background: #9e1f1f; color: #fff; }
@media (max-width: 781px) { .altf__row { grid-template-columns: 1fr; } }

/* Budgeting Kit form */
.altf-kit { max-width: 640px; margin: 24px auto 0; text-align: left; }
.altf-kit__fields { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.altf-kit__fields p { margin: 0; }
.altf-kit__fields .alt-btn { border: 1px solid #a562df; cursor: pointer; min-height: 38px; white-space: nowrap; }
.altf-kit__fine { margin: 12px 0 0; font-size: 13px; color: #838383 !important; text-align: center; }
.altf-kit__fine a { color: #a562df; }
.altf-kit__done { text-align: center; padding: 8px 0; }
.altf-kit__done b { display: block; font-weight: 500; font-size: 22px; color: #fff; margin-bottom: 4px; }
.altf-kit__done span { color: #efeeec; }
.altf-kit__error { margin-top: 12px; padding: 12px 16px; border-radius: 8px; background: #9e1f1f; color: #fff; }
.altf-kit [hidden] { display: none !important; }
@media (max-width: 781px) { .altf-kit__fields { grid-template-columns: 1fr; } .altf-kit__fields .alt-btn { justify-self: start; } }
/* The theme centres paragraphs inside .alt-cta-band with auto margins; field wrappers must stay full width. */
.altf-kit .altf-kit__fields p { margin: 0; max-width: none; width: 100%; }
.altf-kit .altf-kit__fine { max-width: none; margin: 12px 0 0; }
@media (max-width: 781px) { .altf-kit .altf-kit__fields .alt-btn { justify-self: stretch; width: 100%; } }
