.acc-ach-plan-block {
    width: min(100%, 520px);
    margin: 14px auto 18px;
    padding: 16px 18px;
    border: 1px solid #d7deea;
    border-radius: 10px;
    background: #f8fafc;
    text-align: center;
    box-sizing: border-box;
}
.acc-ach-plan-question {
    margin: 0 0 10px;
    color: #173b74;
    font-weight: 700;
    font-size: 15px;
}
.acc-ach-plan-button.button,
.acc-ach-submit.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 6px;
    background: #173b74;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
}
.acc-ach-plan-button.button:hover,
.acc-ach-plan-button.button:focus,
.acc-ach-submit.button:hover,
.acc-ach-submit.button:focus {
    background: #102b57;
    color: #fff;
}
.acc-ach-plan-note {
    margin: 9px 0 0;
    color: #556274;
    font-size: 12px;
    line-height: 1.45;
}
.acc-ach-form-wrap {
    max-width: 780px;
    margin: 30px auto;
}
.acc-ach-product-summary {
    padding: 22px;
    margin-bottom: 22px;
    border: 1px solid #d7deea;
    border-top: 5px solid #173b74;
    border-radius: 10px;
    background: #fff;
    text-align: center;
}
.acc-ach-product-summary > span {
    display: block;
    color: #667085;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.acc-ach-product-summary h2 {
    margin: 8px 0;
    color: #173b74;
    font-size: 24px;
}
.acc-ach-summary-price {
    margin: 0;
    color: #173b74;
    font-size: 28px;
    font-weight: 800;
}
.acc-ach-request-form {
    padding: 24px;
    border: 1px solid #d7deea;
    border-radius: 10px;
    background: #fff;
}
.acc-ach-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.acc-ach-request-form .form-row {
    margin: 0;
}
.acc-ach-request-form label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}
.acc-ach-request-form input[type="text"],
.acc-ach-request-form input[type="email"],
.acc-ach-request-form input[type="tel"],
.acc-ach-request-form textarea {
    width: 100%;
    box-sizing: border-box;
}
.acc-ach-full {
    grid-column: 1 / -1;
}
.acc-ach-consent {
    margin: 20px 0;
    padding: 14px;
    border-left: 4px solid #d4aa22;
    background: #fffaf0;
    font-size: 14px;
    line-height: 1.55;
}
.acc-ach-consent label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0;
    font-weight: 400;
}
.acc-ach-consent input {
    margin-top: 4px;
}
.acc-ach-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.acc-ach-success {
    max-width: 700px;
    margin: 40px auto;
    padding: 28px;
    border: 1px solid #badbcc;
    border-radius: 10px;
    background: #d1e7dd;
    color: #0f5132;
    text-align: center;
}
@media (max-width: 680px) {
    .acc-ach-grid { grid-template-columns: 1fr; }
    .acc-ach-full { grid-column: auto; }
    .acc-ach-request-form { padding: 18px; }
    .acc-ach-product-summary h2 { font-size: 21px; }
}
.acc-ach-footer-fallback[hidden] { display: none !important; }

/* The block is hidden until JavaScript confirms its correct position next to
   the main purchase button. This prevents it from appearing at the page end. */
.acc-ach-plan-block.acc-ach-placement-pending {
    display: none !important;
}

.acc-ach-plan-block[data-acc-positioned="yes"] {
    clear: both;
}
