/* ===========================================================================
   Fluent Forms - "services form" (#3) restyled to the dark + gold theme.
   Scoped to .fluent_form_3 so other Fluent Forms are left untouched.
   =========================================================================== */
.fluent_form_3 {
    --ff-accent: #bd9a5f;
    --ff-field-bg: rgba(255, 255, 255, .05);
    --ff-field-border: rgba(255, 255, 255, .14);
    --ff-field-border-hover: rgba(255, 255, 255, .26);
    --ff-text: #ffffff;
    --ff-muted: rgba(255, 255, 255, .52);
}

/* ---------- Labels ---------- */
.fluent_form_3 .ff-el-input--label,
.fluent_form_3 .ff-el-input--label label {
    color: rgba(255, 255, 255, .9) !important;
    font-weight: 600; font-size: 14px; letter-spacing: .2px; margin-bottom: 8px;
}
.fluent_form_3 .ff-el-input--label.ff-el-is-required label:after,
.fluent_form_3 .ff-el-is-required label:after { color: var(--ff-accent) !important; }

/* ---------- Inputs / textarea / select ---------- */
.fluent_form_3 .ff-el-form-control {
    background-color: var(--ff-field-bg) !important;
    border: 1px solid var(--ff-field-border) !important;
    border-radius: 12px !important;
    color: var(--ff-text) !important;
    height: auto !important; min-height: 54px;
    padding: 14px 18px !important;
    box-shadow: none !important;
    -webkit-appearance: none; appearance: none;
    transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.fluent_form_3 textarea.ff-el-form-control { min-height: 140px; padding-top: 14px !important; resize: vertical; }
.fluent_form_3 .ff-el-form-control:focus {
    border-color: var(--ff-accent) !important;
    background-color: rgba(255, 255, 255, .03) !important;
    box-shadow: 0 0 0 3px rgba(189, 154, 95, .2) !important;
    outline: none !important;
}
.fluent_form_3 .ff-el-form-control::placeholder { color: var(--ff-muted) !important; opacity: 1; }
.fluent_form_3 .ff-el-form-control:-ms-input-placeholder { color: var(--ff-muted) !important; }

/* ---------- Select (native) ---------- */
.fluent_form_3 select.ff-el-form-control { padding-right: 46px !important; cursor: pointer; }
.fluent_form_3 select.ff-el-form-control option { background: #141414; color: #fff; }
/* Gold chevron drawn on the wrapper (sidesteps the select background-image cascade) */
.fluent_form_3 .ff-el-input--content:has(select.ff-el-form-control) { position: relative; }
.fluent_form_3 .ff-el-input--content:has(select.ff-el-form-control)::after {
    content: ""; position: absolute; right: 18px; top: 27px; margin-top: -5px;
    width: 10px; height: 10px; pointer-events: none;
    border-right: 2.4px solid var(--ff-accent); border-bottom: 2.4px solid var(--ff-accent);
    transform: rotate(45deg);
}

/* ---------- File upload ---------- */
.fluent_form_3 .ff_file_upload_holder,
.fluent_form_3 .ff-upload-progress-inline { background: transparent !important; }
.fluent_form_3 .ff_upload_btn.ff-btn {
    display: inline-block; background: transparent !important;
    border: 1.5px solid var(--ff-accent) !important; border-radius: 100px !important;
    color: var(--ff-accent) !important; font-weight: 600; letter-spacing: .3px;
    padding: 10px 26px !important; box-shadow: none !important;
    transition: background-color .3s ease, color .3s ease;
}
.fluent_form_3 .ff_upload_btn.ff-btn:hover { background: var(--ff-accent) !important; color: #fff !important; }
.fluent_form_3 .ff-el-progress { background: rgba(255, 255, 255, .12) !important; }
.fluent_form_3 .ff-el-progress-bar { background: var(--ff-accent) !important; }
.fluent_form_3 .ff-el-progress-status,
.fluent_form_3 .ff_file_upload_holder .ff-uploaded-list li,
.fluent_form_3 .ff-uploaded-list .ff-upload-preview { color: var(--ff-text) !important; }
.fluent_form_3 .ff-uploaded-list .ff-upload-preview { background: rgba(255, 255, 255, .05) !important; border: 1px solid var(--ff-field-border) !important; border-radius: 10px !important; }

/* ---------- Submit button (override theme olive <button> leak) ---------- */
.fluent_form_3 .ff-btn-submit,
.fluent_form_3 button.ff-btn-submit,
.fluent_form_3 .ff_btn_style {
    background: var(--ff-accent) !important; background-color: var(--ff-accent) !important;
    color: #fff !important; border: 0 !important; border-radius: 100px !important;
    padding: 15px 44px !important; min-height: 54px;
    font-weight: 600 !important; font-size: 15px !important; letter-spacing: .4px; line-height: 1 !important;
    cursor: pointer; display: inline-flex !important; align-items: center; justify-content: center;
    box-shadow: 0 16px 34px -14px rgba(189, 154, 95, .7) !important;
    transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease !important;
}
.fluent_form_3 .ff-btn-submit:hover,
.fluent_form_3 button.ff-btn-submit:hover {
    background: #a07f45 !important; background-color: #a07f45 !important; color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 22px 44px -16px rgba(189, 154, 95, .8) !important;
}

/* ---------- Validation ---------- */
.fluent_form_3 .ff-el-is-error .ff-el-form-control,
.fluent_form_3 .ff-el-form-control.error { border-color: rgba(255, 120, 120, .6) !important; }
.fluent_form_3 .error,
.fluent_form_3 .text-danger,
.fluent_form_3 .ff-el-is-error .text-danger { color: #ff8f8f !important; font-size: 12.5px; }

/* ---------- Spacing ---------- */
.fluent_form_3 .ff-el-group { margin-bottom: 20px; }
