/* =========================================================================
   Forex Transfers currency block – quote form (GF 24) and thank-you pages
   Loaded by inc/forex-transfers.php
   ========================================================================= */

:root {
    --bmi-fx-navy: #141B4D;
    --bmi-fx-cyan: #29ABE2;
    --bmi-fx-cyan-soft: #E4F4FC;
    --bmi-fx-text: #3E4157;
    --bmi-fx-muted: #6E7286;
    --bmi-fx-line: #DADEEC;
    --bmi-fx-tint: #F4F5FB;
    --bmi-fx-gutter: 20px;
}

/* ---- Neutralise the old block styling in style.css ----------------------------------------
   style.css targets the old block by ID (#field_24_37 logo :before, 135px indent, min-height, and
   #gform_wrapper_24 .gfield_label display:block). IDs beat classes, so these overrides are ID-based too.
   They assume the intro/consent fields keep IDs 37/38 (BMI_FOREX_INTRO_FIELD_ID / BMI_FOREX_CONSENT_FIELD_ID). */
#field_24_37:before { content: none !important; display: none !important; }
#gform_wrapper_24 #field_24_37,
#gform_wrapper_24 #field_24_38 { min-height: 0 !important; }
#gform_wrapper_24 #field_24_37 { padding: 28px 28px 4px !important; }
#gform_wrapper_24 #field_24_38 { padding: 0 28px 26px !important; }
#gform_wrapper_24 #field_24_38 > .gfield_label { display: none !important; }

/* ---- Shared bits ------------------------------------------------------------------------ */
.bmi-fx-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--bmi-fx-cyan-soft);
    color: var(--bmi-fx-cyan);
    font-family: BrandingBold, BrandingMedium, sans-serif;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.4;
    margin: 0 0 14px;
}

.bmi-fx-heading {
    display: block;
    font-family: BrandingBold, BrandingMedium, sans-serif;
    font-weight: 400;
    color: var(--bmi-fx-navy);
    font-size: 26px;
    line-height: 1.2;
    margin: 0 0 12px;
    text-wrap: balance;
}

.bmi-fx-copy {
    display: block;
    color: var(--bmi-fx-text);
    font-size: 17px;
    line-height: 1.55;
    margin: 0 0 20px;
}

.bmi-fx-partner {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--bmi-fx-muted);
    font-size: 15px;
    line-height: 1.3;
}

.bmi-fx-partner:before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--bmi-fx-cyan);
    flex: 0 0 auto;
}

.bmi-fx-partner img {
    height: 34px;
    width: auto;
    flex: 0 0 auto;
    margin: 0;
}

/* ---- The qualifying question ------------------------------------------------------------ */
.contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx-question {
    clear: both;
    float: none;
    width: auto;
    list-style: none;
    margin: 10px var(--bmi-fx-gutter) 6px !important;
    padding: 22px 24px 24px !important;
    background: var(--bmi-fx-tint);
    border-radius: 12px;
}

.contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx-question .gfield_label {
    display: block !important;
    margin: 0 0 14px;
}

.bmi-fx-question .ginput_container_radio { margin: 0 !important; }

.bmi-fx-question ul.gfield_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.bmi-fx-question ul.gfield_radio li.gchoice {
    flex: 1 1 200px;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    overflow: visible !important;
}

.bmi-fx-question ul.gfield_radio li.gchoice input[type=radio] {
    position: absolute;
    top: 50%;
    left: 20px;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 !important;
    accent-color: var(--bmi-fx-navy);
    cursor: pointer;
    z-index: 1;
}

.bmi-fx-question ul.gfield_radio li.gchoice label {
    display: block;
    margin: 0 !important;
    padding: 16px 20px 16px 54px;
    max-width: none !important;
    width: auto !important;
    background: #fff;
    border: 1px solid #C8CCDD;
    border-radius: 10px;
    color: var(--bmi-fx-navy);
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.25;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}

.bmi-fx-question ul.gfield_radio li.gchoice input[type=radio]:hover + label,
.bmi-fx-question ul.gfield_radio li.gchoice input[type=radio]:focus-visible + label {
    border-color: var(--bmi-fx-navy);
}

.bmi-fx-question ul.gfield_radio li.gchoice input[type=radio]:checked + label {
    border-color: var(--bmi-fx-navy);
    box-shadow: inset 0 0 0 1px var(--bmi-fx-navy);
}

.bmi-fx-question .validation_message { margin-top: 10px; }

/* ---- The currency block (HTML field 37 + consent checkbox 38 = one card) ---------------- */
.contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx {
    clear: both;
    float: none;
    width: auto;
    list-style: none;
    position: relative;
    margin: 0 var(--bmi-fx-gutter) !important;
    padding: 0 28px !important;
    background: #fff;
    border: 1px solid var(--bmi-fx-line);
    border-left: 4px solid var(--bmi-fx-navy);
    font-size: 17px;
    color: var(--bmi-fx-text);
}

.contact-form-wrapper .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html.bmi-fx--intro {
    margin: 6px var(--bmi-fx-gutter) 0 !important;
    padding: 28px 28px 4px !important;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    line-height: 1.5;
}

.contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx--consent {
    margin: 0 var(--bmi-fx-gutter) 10px !important;
    padding: 0 28px 26px !important;
    border-top: 0;
    border-radius: 0 0 10px 10px;
}

.contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx--consent .gfield_label { display: none !important; }
.bmi-fx--consent .ginput_container_checkbox { margin: 0 !important; }

.bmi-fx--consent ul.gfield_checkbox {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.bmi-fx--consent ul.gfield_checkbox li.gchoice {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    overflow: visible !important;
}

.bmi-fx--consent ul.gfield_checkbox li.gchoice input[type=checkbox] {
    position: absolute;
    top: 22px;
    left: 20px;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    accent-color: var(--bmi-fx-navy);
    cursor: pointer;
    z-index: 1;
}

.bmi-fx--consent ul.gfield_checkbox li.gchoice label {
    display: block;
    margin: 0 !important;
    padding: 18px 20px 18px 60px;
    max-width: none !important;
    width: auto !important;
    background: var(--bmi-fx-tint);
    border: 1px solid var(--bmi-fx-line);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}

.bmi-fx--consent ul.gfield_checkbox li.gchoice input[type=checkbox]:checked + label {
    border-color: var(--bmi-fx-navy);
    box-shadow: inset 0 0 0 1px var(--bmi-fx-navy);
}

.bmi-fx-tick-title {
    display: block;
    font-family: BrandingBold, BrandingMedium, sans-serif;
    color: var(--bmi-fx-navy);
    font-size: 19px;
    line-height: 1.3;
}

.bmi-fx-tick-sub {
    display: block;
    color: var(--bmi-fx-muted);
    font-size: 16px;
    line-height: 1.4;
    margin-top: 4px;
}

.contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx--consent .gfield_description {
    padding: 14px 2px 0 !important;
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.5;
    color: var(--bmi-fx-muted);
}

.bmi-fx--consent .bmi-fx-note { display: block; }

.bmi-fx--consent .bmi-fx-partner {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--bmi-fx-line);
}

/* ---- Thank-you page card ------------------------------------------------------------------ */
.bmi-fx-card {
    box-sizing: border-box;
    max-width: 780px;
    margin: 28px auto 36px;
    padding: 32px 36px;
    background: #fff;
    border: 1px solid var(--bmi-fx-line);
    border-left: 4px solid var(--bmi-fx-navy);
    border-radius: 10px;
    text-align: left;
    color: var(--bmi-fx-text);
}

.bmi-fx-card h3.bmi-fx-heading { margin: 0 0 12px; font-size: 28px; }
.bmi-fx-card .bmi-fx-copy { margin-bottom: 24px; }

.bmi-fx-btn,
.bmi-fx-btn:visited {
    display: inline-block;
    padding: 14px 26px;
    border-radius: 4px;
    background: var(--bmi-fx-navy);
    color: #fff !important;
    font-family: BrandingBold, BrandingMedium, sans-serif;
    font-size: 16px;
    letter-spacing: .02em;
    text-decoration: none !important;
    transition: background .15s;
}

.bmi-fx-btn:hover,
.bmi-fx-btn:focus { background: #D41933; color: #fff !important; }

.bmi-fx-card .bmi-fx-partner {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--bmi-fx-line);
}

.bmi-fx-card--quote {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 24px;
    align-items: center;
}

.bmi-fx-card--quote .bmi-fx-logo {
    grid-row: 1 / 3;
    height: 72px;
    width: auto;
    margin: 0;
}

.bmi-fx-card--quote .bmi-fx-card__lead {
    margin: 0;
    font-family: BrandingBold, BrandingMedium, sans-serif;
    color: var(--bmi-fx-navy);
    font-size: 21px;
    line-height: 1.35;
}

.bmi-fx-card--quote .bmi-fx-partner {
    margin: 0;
    padding: 0;
    border: 0;
}

/* ---- Responsive: follow the theme's own gutters for this form ---------------------------- */
@media (max-width: 1024px) and (min-width: 768px) {
    :root { --bmi-fx-gutter: 5px; }
}

@media (max-width: 767px) {
    :root { --bmi-fx-gutter: 0px; }

    .contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx-question { padding: 18px 16px 20px !important; }
    .contact-form-wrapper .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html.bmi-fx--intro,
    #gform_wrapper_24 #field_24_37 { padding: 22px 18px 2px !important; }
    .contact-form-wrapper .gform_wrapper ul.gform_fields li.gfield.bmi-fx--consent,
    #gform_wrapper_24 #field_24_38 { padding: 0 18px 20px !important; }

    .bmi-fx-eyebrow { letter-spacing: .08em; font-size: 11px; }
    .bmi-fx-heading { font-size: 22px; }
    .bmi-fx-copy { font-size: 16px; }
    .bmi-fx-question ul.gfield_radio li.gchoice label { font-size: 17px !important; padding: 14px 16px 14px 50px; }
    .bmi-fx-question ul.gfield_radio li.gchoice input[type=radio] { left: 16px; }
    .bmi-fx-tick-title { font-size: 17px; }
    .bmi-fx-tick-sub { font-size: 15px; }

    .bmi-fx-card { padding: 24px 20px; }
    .bmi-fx-card h3.bmi-fx-heading { font-size: 23px; }
    .bmi-fx-card--quote { grid-template-columns: 1fr; }
    .bmi-fx-card--quote .bmi-fx-logo { grid-row: auto; height: 56px; }
}
