/* HBT client form (local trial) — extracted from client zip, restyled to site theme */
#offer_form {
    max-width: 700px;
    margin-bottom: 10px;
}
#offer_form .panel { display: none; }
#offer_form .panel.show { display: block; }
#offer_form .panel input[type=text],
#offer_form .panel input[type=search],
#offer_form .panel input[type=email],
#offer_form .panel input[type=tel],
#offer_form .panel select {
    width: 100%;
    padding: 0.8rem 1rem;
    border-radius: 0.9rem;
    border: 2px solid #cbd5e0;
    font-family: inherit;
    font-size: 1rem;
    margin: 10px 0;
    background: #fff;
    color: var(--blue, #1e3a5f);
    box-sizing: border-box;
}
#offer_form .full { width: 100%; }
#offer_form .input-group {
    display: flex;
    gap: 0.5rem;
    align-items: stretch;
}
#offer_form .input-group .form-control { flex: 1; min-width: 0; }
#offer_form .input-group-append { display: flex; }
#offer_form .btn-holder-x {
    display: flex;
    gap: 0.6rem;
    margin-top: 0.75rem;
}
#offer_form .btn-holder-x .btn { flex: 1; }
#offer_form .btn,
#offer_form input[type=submit].btn {
    border: none;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.8rem 1.5rem;
    cursor: pointer;
    font-size: 0.9rem;
}
#offer_form .btn-blue,
#offer_form .next-btn {
    background: var(--yellow, #f7c948);
    color: var(--blue, #1e3a5f);
}
#offer_form .btn-orange { background: #e8821e; color: #fff; }
#offer_form .back-btn { background: #107abb; color: #fff; }
#offer_form .back-btn:hover { color: #fff; filter: brightness(1.05); }
#offer_form .error { border: 2px solid red !important; }
.form-done, .form-fail {
    display: none;
    margin-bottom: 20px;
    border-radius: 0.9rem;
    padding: 1.25rem 1.5rem;
}
.form-done { background: rgba(34,197,94,.12); border: 1px solid rgba(34,197,94,.4); }
.form-fail { background: rgba(220,38,38,.1); border: 1px solid rgba(220,38,38,.4); }
.form-done h2 { margin-top: 0; color: var(--blue, #1e3a5f); }
.mousetype {
    font-size: 9px;
    text-align: justify;
    font-family: Helvetica, Arial, sans-serif;
    margin: 8px 0;
    color: rgba(30,58,95,.75);
}
.mousetype .link { color: inherit; text-decoration: underline; }

/* Progress steps */
.form-progress-container { margin: 10px 0 60px; }
ul.form-progress { padding: 0; margin: 0; overflow: hidden; }
.form-progress li {
    list-style-type: none;
    width: 25%;
    float: left;
    font-size: 11px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    color: var(--blue, #00356c);
}
.form-progress li:before {
    width: 30px;
    height: 30px;
    content: counter(step);
    counter-increment: step;
    line-height: 30px;
    border: 2px solid #808080;
    display: block;
    text-align: center;
    margin: 0 auto 5px auto;
    border-radius: 50%;
    background-color: #c4dff3;
}
.form-progress { counter-reset: step; }
.form-progress li:after {
    width: 100%;
    height: 2px;
    content: '';
    position: absolute;
    background-color: #808080;
    top: 15px;
    left: -50%;
    z-index: 0;
}
.form-progress li:first-child:after { content: none; }
.form-progress li.active:before { border-color: var(--blue, #00356c); }
.form-progress li.active + li:after { background-color: var(--blue, #00356c); }

@media screen and (max-width: 980px) {
    #offer_form .input-group { flex-direction: column; }
    #offer_form .input-group-append { width: 100%; }
    #offer_form .input-group-append .btn { width: 100%; border-radius: 10px; }
    #offer_form .btn-holder-x { flex-direction: column-reverse; gap: 5px; }
    #offer_form .back-btn { width: 100%; border-radius: 10px; }
    #offer_form .full { width: 100%; }
}
@media screen and (max-width: 576px) {
    #offer_form { padding-top: 10px; }
}
