/* =========================================================
   BROKERSTRIDE ENQUIRY FORM POPUP CARD
   ========================================================= */

.brokerstride-form {

    --bs-navy: #10283F;
    --bs-olive: #4E5A2A;
    --bs-gold: #EFC73C;
    --bs-gold-hover: #DDB52F;
    --bs-slate: #53616D;
    --bs-border: #DCE2E5;
    --bs-placeholder: #88929A;
    --bs-white: #FFFFFF;


    /* Popup container */

    background: #FFFFFF;

    border: 1px solid #E3E7EA;

    border-radius: 24px;

    padding: 45px;

    width: 100%;

    max-width: 620px;

    margin: 0 auto;

    box-shadow:
        0 20px 50px rgba(16,40,63,0.12);

}


.brokerstride-form,
.brokerstride-form * {

    box-sizing:border-box;

}


/* CF7 wrapper */

.wpcf7 {

    width:100%;

}


.wpcf7 form {

    background:transparent;

}



/* =========================================================
   HEADER
   ========================================================= */


.brokerstride-form .bs-form-header h2 {

    margin:0 0 12px;

    color:#10283F;

    font-size:30px;

    font-weight:700;

    line-height:1.25;

}



.brokerstride-form .bs-form-header p {

    margin:0 0 30px;

    color:#53616D;

    font-size:15px;

    line-height:1.7;

}



/* =========================================================
   GRID
   ========================================================= */


.brokerstride-form .bs-form-grid {

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:18px;

}



.brokerstride-form .bs-field {

    min-width:0;

}



.brokerstride-form .bs-full {

    grid-column:1 / -1;

}



/* =========================================================
   LABELS
   ========================================================= */


.brokerstride-form label {

    display:block;

    margin-bottom:7px;

    color:#10283F;

    font-size:13px;

    font-weight:600;

}



.brokerstride-form .bs-required {

    color:#EFC73C;

}



/* =========================================================
   INPUTS
   ========================================================= */


.brokerstride-form input[type="text"],
.brokerstride-form input[type="email"],
.brokerstride-form input[type="url"],
.brokerstride-form select,
.brokerstride-form textarea {


    width:100%;

    border:1px solid #DCE2E5;

    border-radius:10px;

    background:#FFFFFF;

    color:#10283F;

    font-size:14px;

    padding:12px 14px;

    transition:.2s ease;

}



.brokerstride-form input[type="text"],
.brokerstride-form input[type="email"],
.brokerstride-form input[type="url"],
.brokerstride-form select {


    height:48px;

}



.brokerstride-form textarea {

    min-height:130px;

    resize:none;

}



/* Placeholder */


.brokerstride-form input::placeholder,
.brokerstride-form textarea::placeholder {

    color:#88929A;

}



/* Focus */


.brokerstride-form input:focus,
.brokerstride-form textarea:focus,
.brokerstride-form select:focus {


    outline:none;

    border-color:#4E5A2A;

    box-shadow:

    0 0 0 3px rgba(78,90,42,.12);

}



/* =========================================================
   PRIVACY
   ========================================================= */


.brokerstride-form .bs-consent {

    margin:18px 0;

    color:#53616D;

    font-size:12px;

    line-height:1.5;

}



.brokerstride-form .bs-consent a {

    color:#4E5A2A;

    font-weight:600;

    text-decoration:underline;

}



/* =========================================================
   BUTTON
   ========================================================= */


.brokerstride-form .wpcf7-submit.bs-submit {


    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;


    height:50px;

    padding:0 24px;


    border:none;

    border-radius:10px;


    background:#EFC73C;


    color:#10283F;


    font-size:15px;

    font-weight:700;


    cursor:pointer;


    background-image:

    radial-gradient(

    circle at 28px center,

    rgba(16,40,63,.12) 0,

    rgba(16,40,63,.12) 20px,

    transparent 21px

    );


    transition:.2s ease;


}



.brokerstride-form .wpcf7-submit.bs-submit:hover {


    background:#DDB52F;

    transform:translateY(-2px);

    box-shadow:

    0 10px 20px rgba(16,40,63,.15);

}



/* =========================================================
   MOBILE
   ========================================================= */


@media(max-width:767px){


    .brokerstride-form {


        padding:28px;

        border-radius:18px;

    }



    .brokerstride-form .bs-form-header h2 {


        font-size:24px;

    }



    .brokerstride-form .bs-form-grid {


        grid-template-columns:1fr;

    }



    .brokerstride-form .bs-full {


        grid-column:auto;

    }



    .brokerstride-form .wpcf7-submit.bs-submit {


        width:100%;

    }


}
/* ======================================================
   BROKERSTRIDE CONTACT FORM SUCCESS MESSAGE
   ====================================================== */


.brokerstride-form .wpcf7-response-output {

    margin:25px 0 0 !important;

    padding:28px 25px !important;

    border:1px solid #DCE2E5 !important;

    border-radius:16px;

    background:#FFFFFF;

    color:#10283F;

    font-family:inherit;

    font-size:15px;

    line-height:1.6;

    text-align:center;

    box-shadow:
    0 10px 30px rgba(16,40,63,0.08);

}


/* Successful submission */

.brokerstride-form form.sent .wpcf7-response-output {

    border-color:#4E5A2A !important;

    background:
    linear-gradient(
        180deg,
        rgba(78,90,42,0.08),
        rgba(255,255,255,1)
    );

}


/* Add icon before message */

.brokerstride-form form.sent .wpcf7-response-output::before {

    content:"✓";

    display:flex;

    align-items:center;

    justify-content:center;

    width:42px;

    height:42px;

    margin:0 auto 14px;


    border-radius:50%;

    background:#4E5A2A;

    color:#FFFFFF;

    font-size:24px;

    font-weight:700;

}


/* Error messages */

.brokerstride-form form.invalid .wpcf7-response-output,
.brokerstride-form form.failed .wpcf7-response-output {

    border-color:#B84040 !important;

    background:rgba(184,64,64,0.06);

}
/* ======================================================
   BROKERSTRIDE HEADER CONTRAST FIX
   ====================================================== */

.brokerstride-header-bar {
    background: rgba(16, 40, 63, 0.78) !important;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    border: 1px solid rgba(255, 255, 255, 0.10);

    box-shadow: 0 8px 24px rgba(16, 40, 63, 0.18);
}