#loader{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.85);
    z-index: 99999;
    display: none;
}

.sniper-loader{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 60px;
    height: 60px;
    margin-left: -30px;
    margin-top: -30px;
    border: 5px solid #d9d9d9;
    border-top: 5px solid #c9a24a;
    border-radius: 50%;
    animation: sniperSpin 0.8s linear infinite;
}

@keyframes sniperSpin{
    0%{
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(360deg);
    }
}

/* Smooth in-page navigation */
html { scroll-behavior: smooth; }
#intake-form,
#about,
#how-it-works,
#what-we-help,
#notice { scroll-margin-top: 20px; }

/* ---- Multi-step intake form additions ---- */
/* Lock the pane to a fixed minimum height and use flex column so the
   button row always sits at the same vertical position regardless of
   which step is active or whether conditional fields are expanded. */
.form-step-pane {
    display: none;
    min-height: 440px;
    flex-direction: column;
    box-sizing: border-box;
}
.form-step-pane.active { display: flex; }
.form-step-pane .step-buttons { margin-top: auto; }

/* Date of Birth: drop the calender.png background and let the browser's
   native HTML5 date-picker icon render. Also tighten the right padding
   that was previously reserved for the PNG icon. */
.sky-form .form-group-cus2 .input input[type="date"] {
    background-image: none;
    padding: 5px 20px;
}
.sky-form .form-group-cus2 .input input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    padding: 4px;
}

/* Selects styled to match the existing .form-group-cus .input input look */
.sky-form .form-group-cus .select select {
    display: block;
    width: 100%;
    padding: 5px 58px 5px 20px;
    height: 58px;
    outline: none;
    border: solid 2px #fff;
    border-radius: 5px;
    background-color: #fff;
    font-size: 18px;
    font-weight: normal;
    color: #353535;
    margin-bottom: 20px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath fill='none' stroke='%23353535' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 22px center;
    cursor: pointer;
    line-height: 1.2;
}

/* Use :invalid to give the placeholder option a lighter (placeholder-like) color */
.sky-form .form-group-cus .select select:invalid {
    color: #888;
}
.sky-form .form-group-cus .select select option {
    color: #353535;
}
.sky-form .form-group-cus .select select option[disabled] {
    color: #888;
}

/* Hide the sky-forms default <i> arrow since we use a background SVG */
.sky-form .form-group-cus .select i {
    display: none;
}

/* Conditional / Other text input */
.other-text-input {
    width: 100%;
    padding: 12px 20px;
    height: 58px;
    border: solid 2px #fff;
    border-radius: 5px;
    background: #fff;
    font-size: 18px;
    color: #353535;
    margin-bottom: 20px;
    margin-top: -8px;
    display: none;
    outline: none;
    box-sizing: border-box;
}
.other-text-input.visible { display: block; }

.conditional-field { display: none; }
.conditional-field.visible { display: block; }

/* Consent block sits on the dark form background */
.consent-block {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    padding: 16px 18px;
    border-radius: 6px;
    margin-bottom: 18px;
}
.consent-block label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 12px;
    cursor: pointer;
    font-weight: 400;
}
.consent-block label:last-child { margin-bottom: 0; }
.consent-block input[type="checkbox"] {
    margin-top: 4px;
    width: 16px;
    height: 16px;
    accent-color: #c9a24a;
    flex-shrink: 0;
    cursor: pointer;
}

/* Step button row */
.step-buttons {
    display: flex;
    gap: 12px;
    margin-top: 4px;
}
.step-buttons .btn-back-step {
    flex: 0 0 auto;
    padding: 0 28px;
    height: 64px;
    background: transparent;
    color: #fff;
    border: solid 2px #fff;
    border-radius: 5px;
    font-weight: 500;
    font-size: 18px;
    cursor: pointer;
    letter-spacing: .5px;
    transition: all .15s ease;
}
.step-buttons .btn-back-step:hover {
    background: #fff;
    color: #1f2a44;
}
.step-buttons .btn-search { flex: 1 1 auto; }

/* Mobile tweaks */
@media (max-width: 600px) {
    .sky-form .form-group-cus .select select {
        font-size: 16px;
        height: 52px;
        padding: 5px 48px 5px 16px;
        background-position: right 16px center;
    }
    .other-text-input {
        height: 52px;
        font-size: 16px;
        padding: 10px 16px;
    }
    .step-buttons {
        flex-direction: column-reverse;
        gap: 10px;
    }
    .step-buttons .btn-back-step,
    .step-buttons .btn-search {
        width: 100%;
        height: 56px;
        font-size: 17px;
    }
    .consent-block { padding: 14px; }
    .consent-block label { font-size: 13px; }
}
