/*
Theme Name: Theme Vision Color
Theme URI: https://www.visioncolor.fr
Author: Vision Color
Description: Thème WordPress classique du site Vision Color — systèmes de peinture automobile européens.
Version: 7.10.5
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: themevisioncolor
Tags: one-column, custom-colors, translation-ready
*/

/* =============================================================
   FORMULAIRES VISION COLOR — v6.5
   Structure non destructive : aucun champ WPForms n'est déplacé,
   masqué ou supprimé. Le script ajoute seulement des classes de
   présentation à partir des libellés existants.
   ============================================================= */

.vc-native-form,
.vc-native-form *,
.vc-form-panel,
.vc-form-panel * {
    box-sizing: border-box;
}

.vc-native-form,
.vc-native-form .wpforms-container,
.vc-native-form .wpforms-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Cartes de formulaires : mêmes bordures, fond et rythme que le site. */
.vc-form-panel {
    border: 1px solid #e1e4e7 !important;
    background: #f5f6f7 !important;
    box-shadow: none !important;
}

.vc-form-panel--contact {
    padding: 28px 30px 26px !important;
}

.vc-form-panel--support {
    padding: 24px 26px 24px !important;
}

.vc-form-panel--distributeur {
    width: 100% !important;
    max-width: 760px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 26px 28px 25px !important;
}

.vc-form-panel > .vc-h3,
.vc-form-panel > .vc-h2 {
    margin-top: 0 !important;
}

/* Grille commune. Sans JavaScript, les champs restent simplement
   en pleine largeur : le formulaire demeure toujours utilisable. */
.vc-native-form .wpforms-field-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 11px !important;
    width: 100% !important;
}

.vc-native-form .wpforms-field-container > .wpforms-field {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vc-native-form .wpforms-field-container > .wpforms-field.vc-field-half {
    grid-column: span 1;
}

.vc-native-form .wpforms-field-container > .wpforms-field.vc-field-full {
    grid-column: 1 / -1;
}

/* Nom WPForms : les deux sous-champs restent côte à côte. */
.vc-native-form .wpforms-field-name .wpforms-field-row {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vc-native-form .wpforms-field-name .wpforms-field-row-block,
.vc-native-form .wpforms-field-name .wpforms-field-row > div {
    display: block !important;
    float: none !important;
    clear: none !important;
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Libellés : toujours présents et visibles. */
.vc-native-form .wpforms-field-label {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 0 !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: #4a4e54 !important;
}

.vc-native-form .wpforms-required-label {
    color: #d92027 !important;
}

.vc-native-form .wpforms-field-sublabel,
.vc-native-form .wpforms-field-description {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    margin: 4px 0 0 !important;
    font-family: "IBM Plex Sans", sans-serif !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
    color: #8b9096 !important;
}

/* Champs sobres et compacts. */
.vc-native-form input[type="text"],
.vc-native-form input[type="email"],
.vc-native-form input[type="tel"],
.vc-native-form input[type="number"],
.vc-native-form input[type="url"],
.vc-native-form select,
.vc-native-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid #d7dade !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #17191c !important;
    font-family: "IBM Plex Sans", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.vc-native-form input[type="text"],
.vc-native-form input[type="email"],
.vc-native-form input[type="tel"],
.vc-native-form input[type="number"],
.vc-native-form input[type="url"],
.vc-native-form select {
    height: 42px !important;
    min-height: 42px !important;
    padding: 9px 11px !important;
}

.vc-native-form select {
    padding-right: 34px !important;
}

.vc-native-form textarea {
    height: 92px !important;
    min-height: 92px !important;
    padding: 10px 11px !important;
    resize: vertical !important;
}

.vc-native-form input:focus,
.vc-native-form select:focus,
.vc-native-form textarea:focus {
    outline: none !important;
    border-color: #d92027 !important;
    box-shadow: 0 0 0 1px #d92027 !important;
}

.vc-native-form input::placeholder,
.vc-native-form textarea::placeholder {
    color: #94999f !important;
    opacity: 1 !important;
}

/* RGPD compact et lisible. */
.vc-native-form .wpforms-field-gdpr-checkbox ul,
.vc-native-form .wpforms-field-checkbox ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.vc-native-form .wpforms-field-gdpr-checkbox li,
.vc-native-form .wpforms-field-checkbox li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
}

.vc-native-form input[type="checkbox"] {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 2px 0 0 !important;
    accent-color: #d92027;
}

.vc-native-form .wpforms-field-gdpr-checkbox .wpforms-field-label-inline,
.vc-native-form .wpforms-field-checkbox .wpforms-field-label-inline {
    font-family: "IBM Plex Sans", sans-serif !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #4a4e54 !important;
}

/* Bouton pleine largeur, comme dans la maquette. */
.vc-native-form .wpforms-submit-container {
    width: 100% !important;
    margin: 13px 0 0 !important;
    padding: 0 !important;
}

.vc-native-form button[type="submit"],
.vc-native-form input[type="submit"] {
    display: block !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 11px 18px !important;
    border: 1px solid #d92027 !important;
    border-radius: 0 !important;
    background: #d92027 !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: "Archivo", sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.vc-native-form button[type="submit"]:hover,
.vc-native-form button[type="submit"]:focus,
.vc-native-form input[type="submit"]:hover,
.vc-native-form input[type="submit"]:focus {
    border-color: #17191c !important;
    background: #17191c !important;
}

.vc-native-form .wpforms-error,
.vc-native-form label.wpforms-error {
    margin-top: 4px !important;
    font-size: 10px !important;
    color: #b9181e !important;
}

.vc-native-form .wpforms-confirmation-container-full {
    margin: 0 !important;
    border: 1px solid #d9dce0 !important;
    border-left: 3px solid #d92027 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    padding: 17px 19px !important;
    color: #17191c !important;
}

/* Page Contact : on conserve l'équilibre validé avant v6.4. */
.vc-2col.vc-cols-085.vc-align-start {
    grid-template-columns: minmax(300px, .90fr) minmax(0, 1.28fr);
    gap: 44px;
    max-width: 1180px;
    margin-right: auto;
    margin-left: auto;
    align-items: start;
}

.vc-contact-infos {
    width: 100%;
}

.vc-contact-infos .vc-info-card {
    min-height: 76px;
    margin-bottom: 10px;
    padding: 18px 20px;
}

.vc-contact-infos + .vc-panel > .vc-h3 {
    margin: 0 0 18px !important;
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: -.02em;
}

/* Le support reste dans sa colonne éditoriale, mais sa hauteur diminue
   grâce aux paires de champs. */
.vc-form-panel--support > .vc-h3 {
    margin-bottom: 5px !important;
}

.vc-form-panel--support > .vc-small {
    margin-bottom: 18px !important;
}

@media (max-width: 980px) {
    .vc-2col.vc-cols-085.vc-align-start {
        grid-template-columns: 1fr;
        max-width: 720px;
        gap: 30px;
    }
}

@media (max-width: 700px) {
    .vc-native-form .wpforms-field-container {
        grid-template-columns: 1fr !important;
    }

    .vc-native-form .wpforms-field-container > .wpforms-field,
    .vc-native-form .wpforms-field-container > .wpforms-field.vc-field-half,
    .vc-native-form .wpforms-field-container > .wpforms-field.vc-field-full {
        grid-column: 1 !important;
    }

    .vc-native-form .wpforms-field-name .wpforms-field-row {
        flex-direction: column !important;
    }

    .vc-native-form .wpforms-field-name .wpforms-field-row-block,
    .vc-native-form .wpforms-field-name .wpforms-field-row > div {
        width: 100% !important;
        flex-basis: auto !important;
    }

    .vc-form-panel--contact,
    .vc-form-panel--support,
    .vc-form-panel--distributeur {
        padding: 22px 18px 21px !important;
    }

    .vc-native-form input[type="text"],
    .vc-native-form input[type="email"],
    .vc-native-form input[type="tel"],
    .vc-native-form input[type="number"],
    .vc-native-form input[type="url"],
    .vc-native-form select,
    .vc-native-form textarea {
        font-size: 16px !important;
    }
}
