.ah-sf{
    border:1px solid rgba(0,0,0,.08);
    border-radius:1rem;
    background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.06);
    margin: 1rem 0rem 1rem;
}

.ah-sf .card-body{
    padding: 14px 14px 16px !important; 
}

.ah-sf__title{
    margin: 0 0 .3rem 0 !important;
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(0,0,0,.72);
}

.ah-sf__group + .ah-sf__group{
    margin-top:.75rem;
}

.ah-sf__label{
    margin: 0 0 .25rem !important;
    font-size: .82rem;
    font-weight: 700;
    color: rgba(0,0,0,.55);
}

.ah-sf__price-row{
    display:flex;
    align-items:center;
    gap:.5rem;
}

.ah-sf__input,
.ah-sf__select{
    height:40px;
    border-radius:8px;
    border:1px solid rgba(0,0,0,.12);
    background:#fff;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
    padding: .5rem;
    font-size:1rem;
}

.ah-sf__input:focus,
.ah-sf__select:focus{
    border-color:rgba(255,165,0,.45);
    box-shadow:0 0 0 .2rem rgba(255,165,0,.12);
}

.ah-sf__input{
    text-align:left;
}

.ah-sf__cents{
    max-width: 74px;
    text-align: center;
}

.ah-sf__sep,
.ah-sf__currency{
    font-size: .9rem;
    color: rgba(0,0,0,.55);
    font-weight: 700;
}

.ah-sf__divider{
    height:1px;
    background:rgba(0,0,0,.08);
    margin:14px 0;
}

.ah-sf__alert{
    display:none;
    margin-top:.9rem;
    border-radius:18px;
    border:0;
}

.ah-sf__alert.is-visible{
    display:block;
}

.ah-sf__submit{
    margin-top:.9rem;
    min-height:44px;
    border-radius: 999px !important;
    font-weight:800;
    border:1px solid rgba(255,165,0,.55);
    background:#f59f00;
    color:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    transition:transform .08s ease, box-shadow .15s ease, filter .15s ease;
}

.ah-sf__submit:hover{
    color:#fff;
    filter:brightness(.97);
    box-shadow:0 10px 24px rgba(0,0,0,.14);
}

.ah-sf__submit:active{
    transform:translateY(1px);
}

.ah-sf__submit:focus{
    color:#fff;
    box-shadow:0 0 0 .25rem rgba(255,165,0,.22), 0 10px 24px rgba(0,0,0,.14);
}

.ah-sf__select.is-selected{
    border-color:rgba(255,165,0,.55);
    box-shadow:0 0 0 .18rem rgba(255,165,0,.14), 0 1px 2px rgba(0,0,0,.06);
}

@media (max-width: 575.98px){
    .ah-sf .card-body{
        padding:14px 14px 12px;
    }

    .ah-sf__title{
        font-size:.98rem;
    }

    .ah-sf__price-row{
        grid-template-columns:minmax(0,1fr) auto 84px auto;
        gap:.45rem;
    }

    .ah-sf__sep,
    .ah-sf__currency{
        font-size:1.15rem;
    }
}