/* =========================================================
   CONTACT FORM 7
   STYLE GLOBAL PAPCO AVIATION
   Chargé seulement si Contact Form 7 est actif, après sa feuille de style.
   Valeurs en rem (1 rem = 16 px) ; pas de !important : les règles qui doivent
   l'emporter sur celles de Contact Form 7 ont un sélecteur plus précis.
   ========================================================= */


/* ---------------------------------------------------------
   CONTENEUR GÉNÉRAL
   --------------------------------------------------------- */

.wpcf7-form {
    width: 100%;
    box-sizing: border-box;

    background: var(--papco-white, #ffffff);
    color: var(--papco-text, #1e293b);

    padding: 1.25rem;

    border: 1px solid var(--papco-border, #d9e0e7);
    border-radius: 0.1875rem;
}


/* ---------------------------------------------------------
   PARAGRAPHES
   --------------------------------------------------------- */

.wpcf7-form p {
    margin-top: 0;
    margin-bottom: 0.75rem;
}


/* ---------------------------------------------------------
   TITRES DES CHAMPS
   --------------------------------------------------------- */

.wpcf7-form > p > label:not(.hp-message),
.wpcf7-form .form-group > p > label:not(.hp-message),
.wpcf7-form .form-group-cie > p > label:not(.hp-message),
.wpcf7-form .form-group-phone > p > label:not(.hp-message),
.wpcf7-form .form-group-email > p > label:not(.hp-message),
.wpcf7-form .form-group-question > p > label:not(.hp-message) {
    display: block;

    margin: 0 0 0.3125rem 0;

    color: var(--papco-navy, #0f1d3a);

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
}


/* Première lettre rouge et grasse */

.wpcf7-form > p > label:not(.hp-message)::first-letter,
.wpcf7-form .form-group > p > label:not(.hp-message)::first-letter,
.wpcf7-form .form-group-cie > p > label:not(.hp-message)::first-letter,
.wpcf7-form .form-group-phone > p > label:not(.hp-message)::first-letter,
.wpcf7-form .form-group-email > p > label:not(.hp-message)::first-letter,
.wpcf7-form .form-group-question > p > label:not(.hp-message)::first-letter {
    color: var(--papco-red, #b41412);
    font-weight: 700;
}


/* ---------------------------------------------------------
   STRUCTURE 3 COLONNES
   Title / First Name / Last Name
   --------------------------------------------------------- */

.wpcf7-form .form-group {
    display: inline-block;

    width: 30%;

    margin-right: 2%;

    vertical-align: top;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   STRUCTURE 2 COLONNES
   Company / Position
   Phone / Phone
   Email / Spare Parts
   --------------------------------------------------------- */

.wpcf7-form .form-group-phone,
.wpcf7-form .form-group-cie,
.wpcf7-form .form-group-email {
    display: inline-block;

    width: 48%;

    margin-right: 1%;

    vertical-align: top;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   CHAMP LARGE
   Question / Message
   --------------------------------------------------------- */

.wpcf7-form .form-group-question {
    display: inline-block;

    width: 98%;

    vertical-align: top;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   WRAPPER CONTACT FORM 7
   --------------------------------------------------------- */

.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}


/* ---------------------------------------------------------
   CHAMPS TEXTE
   --------------------------------------------------------- */

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="search"],
.wpcf7-form select,
.wpcf7-form textarea {

    display: block;

    width: 100%;
    max-width: 100%;

    box-sizing: border-box;

    margin: 0;

    padding: 0.625rem 0.75rem;

    background: var(--papco-white, #ffffff);

    color: var(--papco-text, #1e293b);

    border: 1px solid var(--papco-border, #d9e0e7);
    border-radius: 0.1875rem;

    box-shadow: none;

    font-family: inherit;
    font-size: 1rem;
    line-height: 1.4;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}


/* ---------------------------------------------------------
   FOCUS
   --------------------------------------------------------- */

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="number"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form input[type="search"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {

    outline: none;

    border-color: var(--papco-red, #b41412);

    box-shadow: 0 0 0 1px var(--papco-red, #b41412);
}


/* ---------------------------------------------------------
   TEXTAREA
   --------------------------------------------------------- */

.wpcf7-form textarea {
    min-height: 11.25rem;

    resize: vertical;

    line-height: 1.5;
}


/* ---------------------------------------------------------
   CHAMP PAYS
   Plugin Country Phone Field
   --------------------------------------------------------- */

.wpcf7-form .country-select,
.wpcf7-form .intl-tel-input {
    width: 100%;
}


/* ---------------------------------------------------------
   BOUTONS RADIO
   --------------------------------------------------------- */

.wpcf7-form .wpcf7-radio {
    display: flex;

    align-items: center;

    gap: 0.9375rem;

    min-height: 2.625rem;
}

.wpcf7-form .wpcf7-list-item {
    margin: 0;
}

.wpcf7-form input[type="radio"] {
    width: auto;

    margin: 0 0.3125rem 0 0;

    accent-color: var(--papco-red, #b41412);
}

.wpcf7-form .wpcf7-list-item-label {
    color: var(--papco-text, #1e293b);

    font-size: 0.95rem;
}


/* ---------------------------------------------------------
   CHAMP SPARE PART MIS EN AVANT
   Classe red présente dans certains formulaires
   --------------------------------------------------------- */

.wpcf7-form .form-group-email.red input.wpcf7-text {
    border: 0.125rem solid var(--papco-red, #b41412);
}


/* ---------------------------------------------------------
   BOUTON ENVOYER
   --------------------------------------------------------- */

.wpcf7-form .wpcf7-submit {
    display: inline-block;

    width: auto;

    margin-top: 1.25rem;

    padding: 0.625rem 1.25rem;

    background: var(--papco-red, #b41412);

    color: var(--papco-white, #ffffff);

    border: 1px solid var(--papco-red, #b41412);
    border-radius: 0.1875rem;

    box-shadow: none;

    cursor: pointer;

    font-family: inherit;

    font-size: 0.875rem;
    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.05em;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        opacity 0.15s ease;
}


/* ---------------------------------------------------------
   BOUTON AU SURVOL
   --------------------------------------------------------- */

.wpcf7-form .wpcf7-submit:hover,
.wpcf7-form .wpcf7-submit:focus {

    background: #95110f;

    color: var(--papco-white, #ffffff);

    border-color: #95110f;

    opacity: 1;
}


/* ---------------------------------------------------------
   SPINNER CONTACT FORM 7
   --------------------------------------------------------- */

.wpcf7-form .wpcf7-spinner {
    vertical-align: middle;
}


/* ---------------------------------------------------------
   ERREURS
   Sélecteur plus précis que celui des champs texte (au lieu de !important).
   --------------------------------------------------------- */

.wpcf7-form .wpcf7-form-control.wpcf7-not-valid {
    border-color: var(--papco-red, #b41412);
}

.wpcf7-form .wpcf7-not-valid-tip {
    display: block;

    margin-top: 0.25rem;

    color: var(--papco-red, #b41412);

    font-size: 0.75rem;
    font-weight: 500;
}


/* ---------------------------------------------------------
   MESSAGE APRÈS ENVOI
   « .wpcf7 form » : même précision que la règle de Contact Form 7,
   chargée avant ce fichier (au lieu de !important).
   --------------------------------------------------------- */

.wpcf7 form .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
    margin: 1rem 0 0 0;

    padding: 0.75rem 1rem;

    background: var(--papco-white, #ffffff);

    color: var(--papco-text, #1e293b);

    border: 1px solid var(--papco-red, #b41412);
    border-radius: 0.1875rem;

    font-size: 0.875rem;
}


/* ---------------------------------------------------------
   HONEYPOT
   Ne jamais appliquer le style visuel des labels
   --------------------------------------------------------- */

.wpcf7-form .hp-message {
    color: inherit;
    font-weight: inherit;
}


/* ---------------------------------------------------------
   FORMULAIRES DU THÈME PAPCO
   Neutralisation des anciennes règles plus spécifiques
   --------------------------------------------------------- */

.bs-contact-form .wpcf7-form {
    background: var(--papco-white, #ffffff);
    padding: 1.25rem;
    border: 1px solid var(--papco-border, #d9e0e7);
    border-radius: 0.1875rem;
}

.bs-contact-form .wpcf7-submit,
.bs-pro-form .wpcf7-submit {

    background: var(--papco-red, #b41412);

    color: var(--papco-white, #ffffff);

    border: 1px solid var(--papco-red, #b41412);

    border-radius: 0.1875rem;

    padding: 0.625rem 1.25rem;

    font-family: inherit;

    font-size: 0.875rem;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.05em;
}

.bs-contact-form .wpcf7-submit:hover,
.bs-pro-form .wpcf7-submit:hover {

    background: #95110f;

    color: var(--papco-white, #ffffff);

    border-color: #95110f;

    opacity: 1;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media screen and (max-width: 40rem) {

    .wpcf7-form {
        padding: 0.9375rem;
    }

    .wpcf7-form .form-group,
    .wpcf7-form .form-group-phone,
    .wpcf7-form .form-group-cie,
    .wpcf7-form .form-group-email,
    .wpcf7-form .form-group-question {

        display: block;

        width: 100%;

        margin-right: 0;

        margin-bottom: 0.75rem;
    }

    .wpcf7-form textarea {
        min-height: 8.75rem;
    }

    .wpcf7-form .wpcf7-submit {
        width: 100%;

        text-align: center;
    }
}
