/* ============================================================
   ✅ STEP & GENERAL FORM CONTAINER
============================================================ */
.step {
    display: none;
}

.step.active {
    display: block;
}

.cost-form-container {
    max-width: 600px !important;
    background-color: #FFCF01 !important;
    padding: 40px !important;
    border-radius: 5px !important;
    color: #000 !important;
}

@media only screen and (max-width: 768px) {
    .cost-form-container {
        padding: 30px 25px !important;
    }
}

.cost-notice {
    max-width: 600px !important;
    color: #000 !important;
    font-style: italic;
    font-size: 14px;
    margin-top: 0.5em !important;
}

/* ============================================================
   ✅ LABELS & TEXT
============================================================ */
.cost-form-container label {
    font-size: 18px !important;
    font-weight: 500 !important;
    margin-bottom: 0.5em;
}

.cost-form-container p {
    padding-top: 0.5em !important;
    font-size: 18px !important;
}

.cost-form-container .mt-3 {
    margin-top: 0px !important;
    margin-bottom: 0.5em !important;
}

label.form-check-label.mailchimp-accept {
    font-size: 15px !important;
    font-weight: 400 !important;
}

.cost-form-container .q5-label {
    margin-top: 0.5em !important;
}

.cost-form-container .step12-label-top {
    font-size: 28px !important;
}

.cost-form-container label.form-label-helper {
    gap: 6px;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4;
    flex-wrap: wrap;
    /* prevent overflow in smaller screens */
}

.cost-form-container .notice-message {
    color: #000 !important;
}

.cost-form-container .notice-message a {
    text-decoration: none !important;
    color: #4C97FF !important;
}




/* ============================================================
   ✅ INPUTS, SELECTS & TEXTAREAS
============================================================ */
/* Text & number inputs */
.cost-form-container input:not([type='checkbox']):not([type='radio']) {
    background: #fff !important;
    height: 3.2em;
    line-height: 3.2;
    border-radius: 50px;
    padding: .8em 1.2em;
    margin-bottom: 0.5em !important;
}



/* Selects (keep vertical alignment fix) */
.cost-form-container select {
    background: #fff !important;
    height: 3.2em;
    border-radius: 50px;
    padding: 0 1.2em !important;
    /* keeps text centered vertically */
    margin-bottom: 0.5em !important;

    -webkit-appearance: none !important;
    /* only affects select, not number */
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
}

/* Textareas */
.cost-form-container textarea {
    background: #fff !important;
    border-radius: 10px;
    padding: .8em 1.2em;
    margin-bottom: 0.5em !important;
}

/* Remove borders & focus outlines */
.cost-form-container input,
.cost-form-container textarea,
.cost-form-container select {
    border: none !important;
    box-shadow: none !important;
}

.cost-form-container input:focus,
.cost-form-container textarea:focus,
.cost-form-container select:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ============================================================
   ✅ BUTTONS
============================================================ */
.cost-form-container .btn {
    margin-top: 1em;
    border-radius: 50px !important;
}

/* Primary (Next buttons) */
.cost-form-container .btn-primary {
    background-color: #0D6EFD !important;
    border-color: #0D6EFD !important;
    color: #fff !important;
}

/* Secondary (Back buttons) */
.cost-form-container .btn-secondary {
    background-color: #858585 !important;
    border-color: #858585 !important;
    color: #fff !important;
}

/* Success (Submit / Final button) */
.cost-form-container .btn-success {
    background-color: #28A745 !important;
    border-color: #28A745 !important;
    color: #fff !important;
}

/* Disabled buttons */
.cost-form-container .btn:disabled,
.cost-form-container .btn[disabled] {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}