/*
 * GDPR (RGPD) styling for the site's Contact Form 7 forms, matched to
 * marketing's mockups (GR_Form_Contacts.pdf, Form_SpontaneousSubmission.pdf,
 * 1920px, 1:1). Lives in the plugin because prod strips <p>/<style> from CF7
 * output and this keeps the styling versioned and deployed with the zip.
 *
 * Scoped by CF7 form ID: 16781 = Contact us, 16916 = Spontaneous Submission.
 * Layout/spacing only applies above the theme's 1400px breakpoint; below it
 * the theme's stacked layout is kept and only typography/checkboxes change.
 * !important where Elementor's page CSS (autoptimized) outranks these rules.
 */

/* The site self-hosts Montserrat 400/500/600/700 only. */
@font-face {
    font-family: "Montserrat"; font-style: normal; font-weight: 300; font-display: swap;
    src: url("../fonts/montserrat-latin-300-normal.woff2") format("woff2");
}

/* ---------- Shared: consent checkboxes, required note, notices ---------- */

[id^="wpcf7-f16781-"] .gdpr-consent,
[id^="wpcf7-f16916-"] .gdpr-consent { font-family: "Montserrat", sans-serif; }
[id^="wpcf7-f16781-"] .gdpr-consent .wpcf7-form-control-wrap,
[id^="wpcf7-f16781-"] .gdpr-consent .wpcf7-form-control,
[id^="wpcf7-f16781-"] .gdpr-consent .wpcf7-list-item,
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-form-control-wrap,
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-form-control,
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-list-item { display: block; margin: 0 !important; }
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-form-control-wrap + .wpcf7-form-control-wrap { margin-top: 12px !important; }
[id^="wpcf7-f16781-"] .gdpr-consent .wpcf7-list-item label,
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-list-item label { display: flex; align-items: flex-start; gap: 20px; margin: 0; cursor: pointer; }
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-list-item label { gap: 18px; }

[id^="wpcf7-f16781-"] .gdpr-consent input[type="checkbox"],
[id^="wpcf7-f16916-"] .gdpr-consent input[type="checkbox"],
[id^="wpcf7-f16916-"] .div6 input[type="checkbox"] {
    -webkit-appearance: none; appearance: none; margin: 4px 0 0; padding: 0;
    flex: 0 0 16px; width: 16px; height: 16px;
    border: 1px solid #000; border-radius: 0; background: #fff; cursor: pointer;
}
[id^="wpcf7-f16916-"] .gdpr-consent input[type="checkbox"] { flex-basis: 18px; width: 18px; height: 18px; margin-top: 3px; border-color: #666; }
[id^="wpcf7-f16916-"] .div6 input[type="checkbox"] { flex-basis: 22px; width: 22px; height: 22px; margin: 0; border: 1.2px solid #777; }
[id^="wpcf7-f16781-"] .gdpr-consent input[type="checkbox"]:checked,
[id^="wpcf7-f16916-"] .gdpr-consent input[type="checkbox"]:checked,
[id^="wpcf7-f16916-"] .div6 input[type="checkbox"]:checked {
    background: #000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5.2l2 2L8 3' fill='none' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") center / 100% no-repeat;
}
[id^="wpcf7-f16916-"] .gdpr-consent input[type="checkbox"]:checked { background-color: #666; }
[id^="wpcf7-f16916-"] .div6 input[type="checkbox"]:checked { background-color: #777; }
[id^="wpcf7-f16781-"] input[type="checkbox"]:focus-visible,
[id^="wpcf7-f16916-"] input[type="checkbox"]:focus-visible { outline: 2px solid #E6443B; outline-offset: 2px; }

[id^="wpcf7-f16781-"] .gdpr-consent .wpcf7-list-item-label,
[id^="wpcf7-f16916-"] .gdpr-consent .wpcf7-list-item-label { font-size: 18px !important; font-weight: 500 !important; line-height: 24px !important; color: #666 !important; }
[id^="wpcf7-f16781-"] .wpcf7-list-item-label::before, [id^="wpcf7-f16781-"] .wpcf7-list-item-label::after,
[id^="wpcf7-f16916-"] .wpcf7-list-item-label::before, [id^="wpcf7-f16916-"] .wpcf7-list-item-label::after { content: none !important; }
[id^="wpcf7-f16781-"] .gdpr-consent a,
[id^="wpcf7-f16916-"] .gdpr-consent a { color: inherit !important; font: inherit !important; text-decoration: underline !important; }

[id^="wpcf7-f16781-"] .gdpr-required,
[id^="wpcf7-f16916-"] .gdpr-required { font-family: "Montserrat", sans-serif; font-size: 18px !important; font-weight: 400 !important; line-height: 24px !important; color: #989898 !important; margin: 37px 0 0; }
[id^="wpcf7-f16916-"] .gdpr-required { color: #999 !important; margin-top: 27px; }

/* Text placed by Elementor below the form cards. */
.gdpr-dpo { margin: 52px 0 0 !important; text-align: center; font-family: "Montserrat", sans-serif; font-size: 18px !important; font-weight: 400 !important; line-height: 24px !important; color: #757575 !important; }
.gdpr-notice { margin: 42px 0 0 !important; text-align: center; font-family: "Montserrat", sans-serif; font-size: 16px !important; font-weight: 500 !important; line-height: 22px !important; color: #666 !important; }
.gdpr-notice a { color: inherit !important; text-decoration: underline !important; }

/* Light field text, as in the mockups. */
[id^="wpcf7-f16781-"] .contact input[type="text"], [id^="wpcf7-f16781-"] .contact input[type="email"],
[id^="wpcf7-f16781-"] .contact input[type="tel"], [id^="wpcf7-f16781-"] .contact textarea,
[id^="wpcf7-f16916-"] .contact input[type="text"], [id^="wpcf7-f16916-"] .contact input[type="email"],
[id^="wpcf7-f16916-"] .contact input[type="tel"] { font-weight: 300 !important; }
[id^="wpcf7-f16781-"] .contact ::placeholder,
[id^="wpcf7-f16916-"] .contact ::placeholder { font-weight: 300 !important; }

/* Contact us intro line (a <div>: prod strips <p> from CF7 output). */
[id^="wpcf7-f16781-"] .gdpr-intro { font-family: "Montserrat", sans-serif; font-size: 18px !important; font-weight: 500 !important; line-height: 24px !important; color: #000 !important; margin: 0 0 40px; }

/* Spontaneous: area-of-interest checkboxes and Upload CV button. */
[id^="wpcf7-f16916-"] .div6 .sti { display: block; font-family: "Montserrat", sans-serif; font-size: 22px !important; font-weight: 500 !important; color: #777 !important; margin: 0 0 38px; }
[id^="wpcf7-f16916-"] .div6 .wpcf7-checkbox { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 20px; }
[id^="wpcf7-f16916-"] .div6 .wpcf7-list-item { margin: 0 !important; }
[id^="wpcf7-f16916-"] .div6 .wpcf7-list-item label { display: flex; align-items: center; gap: 19px; cursor: pointer; }
[id^="wpcf7-f16916-"] .div6 .wpcf7-list-item-label { font-family: "Montserrat", sans-serif; font-size: 24px !important; font-weight: 300 !important; color: #565656 !important; }
[id^="wpcf7-f16916-"] .div7 { display: block; }
[id^="wpcf7-f16916-"] .div7 .input-file { display: block !important; float: none !important; }
[id^="wpcf7-f16916-"] .div7 .input-file label {
    float: none !important; display: inline-block !important; box-sizing: border-box;
    width: 161px !important; min-width: 0 !important; height: 48px; padding: 0 !important;
    line-height: 46px !important; text-align: center;
    font-family: "amplesoft", sans-serif !important; font-size: 23px !important; font-weight: 500 !important;
    color: #ee3432 !important; border: 1px solid #f92e2f !important; border-radius: 24px;
}
[id^="wpcf7-f16916-"] .gdpr-consent { margin-top: 48px; }
/* Outranks the theme's ".wpcf7-form h4 { color: #e6443b !important }". */
[id^="wpcf7-f16916-"] form.wpcf7-form h4 { color: #565656 !important; }

/* Keep the CF7 spinner from pushing the centred submit button sideways. */
[id^="wpcf7-f16781-"] .div9, [id^="wpcf7-f16916-"] .div9 { position: relative; }
[id^="wpcf7-f16781-"] .div9 .wpcf7-spinner,
[id^="wpcf7-f16916-"] .div9 .wpcf7-spinner { position: absolute; top: 50%; margin-top: -12px; }

/* ---------- Desktop layout (theme stacks the grid at 1400px) ---------- */
@media (min-width: 1401px) {
    /* Contact us */
    [id^="wpcf7-f16781-"] form.wpcf7-form { padding: 47px 100px 68px !important; }
    [id^="wpcf7-f16781-"] .gdpr-intro { margin-bottom: 6px; }
    [id^="wpcf7-f16781-"] .div5 { margin-top: 20px; }
    [id^="wpcf7-f16781-"] .div6 { margin-top: 12px; }
    [id^="wpcf7-f16781-"] .div6 textarea { height: 165px !important; }
    [id^="wpcf7-f16781-"] .gdpr-consent { margin-top: 14px; }
    [id^="wpcf7-f16781-"] .div8 { margin-top: -47px; }
    [id^="wpcf7-f16781-"] .div9 { margin-top: -47px; }
    [id^="wpcf7-f16781-"] .div9 input[type="submit"] {
        font-family: "amplesoft", sans-serif !important; font-size: 23px !important; font-weight: 500 !important;
        line-height: 28px !important; padding: 10px 20px !important; margin: 0 !important; width: auto !important; min-width: 0 !important;
    }

    /* Spontaneous Submission */
    [id^="wpcf7-f16916-"] form.wpcf7-form { width: 1525px; max-width: 100%; margin: 0 auto; box-sizing: border-box; padding: 53px 176px 47px !important; }
    [id^="wpcf7-f16916-"] h4 { margin-bottom: 60px !important; }
    [id^="wpcf7-f16916-"] .div3, [id^="wpcf7-f16916-"] .div4 { margin-top: 34px; }
    [id^="wpcf7-f16916-"] .div5 { margin-top: 13px; }
    [id^="wpcf7-f16916-"] .div6 { margin-top: 16px; }
    [id^="wpcf7-f16916-"] .div6 .wpcf7-checkbox { grid-template-columns: 323px 233px auto; grid-template-rows: auto auto; grid-auto-flow: column; gap: 23px 0; }
    [id^="wpcf7-f16916-"] .div7 { margin-top: 27px; }
    [id^="wpcf7-f16916-"] .div7 .input-file { margin-left: -14px; }
    [id^="wpcf7-f16916-"] .gdpr-consent { margin-top: 80px; }
    [id^="wpcf7-f16916-"] .div8 { margin-top: -47px; }
    [id^="wpcf7-f16916-"] .div9 { display: block !important; margin-top: -30px; text-align: center; }
    [id^="wpcf7-f16916-"] .div9 input[type="submit"] {
        font-family: "amplesoft", sans-serif !important; font-size: 28px !important; font-weight: 500 !important;
        line-height: 34px !important; padding: 12px 54px !important; margin: 0 !important; width: auto !important; min-width: 0 !important;
    }
}
