.after-form { width:100%; max-width:1100px; margin:0 auto; }
.after-form-progress { display:flex; align-items:center; gap:var(--af-progress-gap,8px); margin:0 0 28px; padding:2px 0; }
.after-form-progress-item { flex:1; position:relative; display:flex; align-items:center; justify-content:center; min-width:0; }
.after-form-progress-item::after { content:""; position:absolute; z-index:0; top:calc(var(--af-progress-number-size,34px) / 2); left:50%; right:calc(-50% - (var(--af-progress-gap,8px) / 2)); height:var(--af-progress-line-height,3px); background:var(--af-progress-line-color,#e1e6ec); border-radius:999px; transform:translateY(-50%); transition:background .25s ease; }
.after-form-progress-item:last-child::after { display:none; }
.after-form-progress-item.is-complete::after { background:var(--af-progress-active-line,#2271b1); }
.after-form-progress-dot { position:relative; z-index:2; display:grid; place-items:center; width:var(--af-progress-number-size,34px); height:var(--af-progress-number-size,34px); border-radius:var(--af-progress-radius,50%); background:var(--af-progress-number-bg,#eef1f5); color:var(--af-progress-number-text,#566170); font-family:var(--af-progress-font-family,system-ui,sans-serif); font-size:var(--af-progress-font-size,12px); font-weight:700; box-shadow:0 0 0 4px rgba(255,255,255,.9); transition:background .25s ease,color .25s ease,transform .25s ease; }
.after-form-progress-item.is-active .after-form-progress-dot, .after-form-progress-item.is-complete .after-form-progress-dot { background:var(--af-progress-active-bg,#2271b1); color:var(--af-progress-active-text,#fff); }
.after-form-progress-item.is-active .after-form-progress-dot { transform:scale(1.04); }
.after-form-native { margin:0; }
.after-form-step { display:none; }
.after-form-step.is-active { display:flex; flex-direction:column; min-height:var(--af-step-min-height,600px); box-sizing:border-box; }
.after-form-step-content { min-height:80px; flex:0 0 auto; }
.after-form-navigation {
    display: flex;
    align-items: center;
    justify-content: var(--af-btn-justify, flex-end);
    gap: 12px;
    margin-top: auto;
    padding-top: 28px;
}
.after-form-button { appearance:none; box-sizing:border-box; width:var(--af-btn-width,120px); height:var(--af-btn-height,44px); min-height:var(--af-btn-height,44px); margin:var(--af-btn-margin,0); padding:var(--af-btn-padding,11px 20px); border:0; border-radius:var(--af-btn-radius,8px); cursor:pointer; font-family:var(--af-btn-font-family,system-ui,sans-serif); font-size:var(--af-btn-font-size,15px); font-weight:600; line-height:1; text-align:center; background:var(--af-btn-bg,#2271b1); color:var(--af-btn-text,#fff); box-shadow:var(--af-btn-shadow,0 4px 12px rgba(0,0,0,.12)); transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease; }
.after-form-button:hover { background:var(--af-btn-hover-bg,#185a91); color:var(--af-btn-hover-text,#fff); }
.after-form-button:active { transform:translateY(1px); }
.after-form-back, .after-form-next, .after-form-submit { margin-left:0; background:var(--af-btn-bg,#2271b1); color:var(--af-btn-text,#fff); }
.after-form-back:hover, .after-form-next:hover, .after-form-submit:hover { background:var(--af-btn-hover-bg,#185a91); color:var(--af-btn-hover-text,#fff); }
.after-form-button:disabled, .after-form-button.is-after-form-disabled { background:var(--af-btn-disabled-bg,#b8c0ca) !important; color:var(--af-btn-disabled-text,#fff) !important; cursor:not-allowed; opacity:1; transform:none; box-shadow:none; }
.after-form-button:disabled:hover, .after-form-button.is-after-form-disabled:hover { background:var(--af-btn-disabled-bg,#b8c0ca) !important; color:var(--af-btn-disabled-text,#fff) !important; }

/* SelectAfterForm */
.SelectAfterForm {
    position:relative;
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
}

.SelectAfterForm.is-after-form-selected {
    outline:2px solid #2271b1;
    outline-offset:-2px;
}

/* Live total shortcode */
.after-form-total {
    display:inline-block;
}


/* ============================================================
   After-Form Conditional Containers
   ============================================================ */

.AfterFormShow {
    display: none !important;
}

.AfterFormShow.is-after-form-visible {
    display: flex !important;
}

/* ============================================================
   After Form Text Box
   ============================================================ */

.after-form-text-box {
    display: block;
    box-sizing: border-box;

    width: 400px;

    min-height: 60px;

    margin: 0;

    padding: 12px 14px;

    border: 1px solid #dcdfe4;

    border-radius: 8px;

    background-color: #ffffff;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;

    resize: none;

    overflow: hidden;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.after-form-text-box:focus {
    border-color: #2271b1;

    box-shadow:
        0 0 0 2px rgba(34, 113, 177, 0.12);
}