/* =========================================================================
   Gravity Forms - feuille Marbres Design (charte Félix 2026)
   Thème Anthem : css/gravity-marbres-new.css
   -------------------------------------------------------------------------
   Même charte que l'Espace Félix (css/felix-ui.css, suivi des dossiers) :
   mêmes couleurs, rayons, focus et pastilles.

   Formulaire Gravity Forms 2.5+ (div/fieldset), thème Orbital.
   Le site est affiché en mode « quirks » (pas de DOCTYPE) : les tailles de
   police des champs sont donc fixées explicitement.

   Préfixe « body .gform_wrapper.gform_wrapper » : la classe répétée est
   volontaire, elle passe devant les sélecteurs du thème Orbital quel que
   soit l'ordre de chargement des feuilles.

   Classes personnalisées (onglet Apparence de chaque champ), toutes
   conservées :
     gsection / gsection1        grande rubrique (bandeau sombre numéroté)
     gsection + gfield_entete    sous-rubrique (Plans de travail, Crédences...)
     gfield_entete (champ HTML)  séparateur fin
     gfield_entete_cotes         encadré d'information (cotes en mm)
     gfield_sous_totaux          bandeau « Sous-total »
     gfield_visible / _red       case à cocher qui ouvre une rubrique
     gfield_visible_main         idem, niveau grande rubrique
     gfield_input                prix / montant calculé
     gfield_input2               valeur discrète (gris)
     gfield_input3               total TTC / reste à payer (mis en avant)
     gfield_input4               valeur affichée comme du texte (infos)
     gfield_input5               valeur invisible (texte blanc)
     gfield_designation          désignation de pièce
     gfield_textarea             zone de texte blanche
     gfield_label1 / _label3     libellé discret / libellé gras
     gfield_description / gfield_infos  notes et conditions
     gfield_align                contenu aligné à droite
     gf_list_inline              choix sur une ligne
     instruction                 texte d'aide
   ========================================================================= */


/* ---------- Jetons de la charte (identiques à felix-ui.css) ------------- */
body .gform_wrapper.gform_wrapper,
.mdf-form-nav {
    --mdf-encre: #22201e;
    --mdf-texte: #3b3734;
    --mdf-gris: #736b64;
    --mdf-gris-clair: #a39a92;
    --mdf-bord: #e4ded7;
    --mdf-bord-fort: #cfc6bd;
    --mdf-fond: #f7f5f2;
    --mdf-fond-2: #efebe6;
    --mdf-surface: #ffffff;
    --mdf-accent: #9f8953;
    --mdf-accent-fonce: #7d6b3f;
    --mdf-accent-doux: #f6f2e9;
    --mdf-accent-texte: #7d6b3f;   /* accent pour les textes : même teinte, plus lisible */
    --mdf-erreur: #b3261e;         /* erreurs de saisie : rouge, distinct de l'accent doré */
    --mdf-erreur-doux: #fbeceb;
    --mdf-focus: rgba(159, 137, 83, .32);
    --mdf-vert: #1b5e2f;
    --mdf-vert-doux: #e7f5e9;
    --mdf-info: #135e7d;
    --mdf-info-doux: #e5f3f9;
    --mdf-rayon: 10px;
    --mdf-ombre: 0 1px 2px rgba(34, 32, 30, .06), 0 2px 8px rgba(34, 32, 30, .05);
    --mdf-hauteur-nav: 52px;
}

/* Jetons du thème Orbital remplacés par ceux de la charte
   (cases, boutons radio, focus, sélecteur de date, bordures) */
body .gform_wrapper.gform-theme--orbital {
    --gf-color-primary: #9f8953 !important;
    --gf-color-primary-rgb: 159, 137, 83 !important;
    --gf-color-primary-darker: #7d6b3f !important;
    --gf-color-primary-lighter: #b8a476 !important;
    --gf-color-in-ctrl-primary: #9f8953 !important;
    --gf-color-in-ctrl-primary-rgb: 159, 137, 83 !important;
    --gf-color-in-ctrl-primary-darker: #7d6b3f !important;
    --gf-color-in-ctrl-primary-lighter: #b8a476 !important;
    --gf-color-in-ctrl-contrast: #3b3734 !important;
    --gf-color-in-ctrl-contrast-rgb: 59, 55, 52 !important;
    --gf-color-in-ctrl-dark-lighter: #cfc6bd !important;
    --gf-color-in-ctrl-light-lighter: #efebe6 !important;
    --gf-ctrl-border-color: #cfc6bd !important;
    --gf-ctrl-label-color-primary: #22201e !important;
    --gf-ctrl-label-color-secondary: #3b3734 !important;
    --gf-radius: 8px !important;
    --gf-font-size-secondary: 13px !important;
    --gf-font-size-tertiary: 12px !important;
}


/* ---------- Grille des champs ---------------------------------------- */
/* Formulaires en « balisage hérité » (ul / li, ex. gestion des promotions) : sans puces */
body .gform_wrapper.gform_legacy_markup_wrapper ul.gform_fields,
body .gform_wrapper.gform_legacy_markup_wrapper ul.gfield_radio,
body .gform_wrapper.gform_legacy_markup_wrapper ul.gfield_checkbox {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body .gform_wrapper.gform_legacy_markup_wrapper ul.gform_fields > li.gfield {
    list-style: none !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}
body .gform_wrapper.gform_legacy_markup_wrapper ul.gform_fields > li.gfield.gform_hidden,
body .gform_wrapper.gform_legacy_markup_wrapper ul.gform_fields > li.gfield.gfield_visibility_hidden {
    margin: 0 !important;
}
body .gform_wrapper.gform_wrapper {
    color: var(--mdf-texte);
    font-size: 14px;
}
body .gform_wrapper.gform_wrapper *,
body .gform_wrapper.gform_wrapper *::before,
body .gform_wrapper.gform_wrapper *::after {
    box-sizing: border-box;
}
body .gform_wrapper.gform_wrapper .gform_fields {
    row-gap: 16px;
    grid-row-gap: 16px;
    column-gap: 20px;
    grid-column-gap: 20px;
}
body .gform_wrapper.gform_wrapper .gform_fields .gfield {
    padding: 0;
    margin: 0;
    width: 100%;
    min-width: 0;
}
body .gform_wrapper.gform_wrapper .gfield.left_label,
body .gform_wrapper.gform_wrapper .gfield.right_label {
    padding-top: 0 !important;
}
body .gform_wrapper.gform_wrapper .gfield.gf_right_third {
    align-self: start;
    margin-bottom: 0;
}
body .gform_wrapper.gform_wrapper .gform_required_legend {
    margin: 0 0 6px;
    font-size: 12px;
    color: var(--mdf-gris);
}
body .gform_wrapper.gform_wrapper .gfield_required {
    color: var(--mdf-accent-texte);
}


/* ---------- En-tête de page (titre, retour, bas de page) ---------------- */
body .gform_wrapper.gform_wrapper .gfield--type-html h2 {
    margin: 0;
    padding: 0;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--mdf-encre);
}
body .gform_wrapper.gform_wrapper .gfield--type-html h2 b {
    font-weight: inherit;
}
body .gform_wrapper.gform_wrapper .gfield--type-html h5 {
    margin: 4px 0 0;
    padding: 0;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    color: var(--mdf-gris-clair);
}
/* Lien « Bas de page » (image scroll_bottom.png) : pastille ronde */
body .gform_wrapper.gform_wrapper .gfield_align a[href*="#baspage"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--mdf-bord);
    border-radius: 50%;
    background: var(--mdf-surface);
    box-shadow: var(--mdf-ombre);
    transition: border-color .15s, transform .15s;
}
body .gform_wrapper.gform_wrapper .gfield_align a[href*="#baspage"]:hover {
    border-color: var(--mdf-accent);
    transform: translateY(1px);
}
body .gform_wrapper.gform_wrapper .gfield_align a[href*="#baspage"] img {
    width: 24px !important;
    height: 24px;
    opacity: .75;
}
/* Lien « << Retour interface de Suivi de Dossier » : bouton discret.
   Le texte « << » placé avant le lien est masqué (font-size 0). */
body .gform_wrapper.gform_wrapper .gfield--type-html:has(> a[href*="suivi-dossier"]) {
    font-size: 0;
}
body .gform_wrapper.gform_wrapper .gfield--type-html > a[href*="suivi-dossier"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--mdf-texte);
    text-decoration: none;
    background: var(--mdf-surface);
    border: 1px solid var(--mdf-bord-fort);
    border-radius: 999px;
    padding: 7px 14px 7px 12px;
    transition: border-color .15s, color .15s;
}
body .gform_wrapper.gform_wrapper .gfield--type-html > a[href*="suivi-dossier"]::before {
    content: "\2190";
    font-size: 15px;
    line-height: 1;
    color: var(--mdf-accent-texte);
}
body .gform_wrapper.gform_wrapper .gfield--type-html > a[href*="suivi-dossier"]:hover {
    border-color: var(--mdf-accent);
    color: var(--mdf-accent-texte);
}


/* ---------- Grandes rubriques (sections) -------------------------------- */
/* Numérotation automatique des rubriques visibles (01, 02...) */
body .gform_wrapper.gform_wrapper .gform_fields {
    counter-reset: mdf-rubrique;
}
body .gform_wrapper.gform_wrapper .gfield.gsection {
    border: 0 !important;
    margin: 0;
    padding: 0 !important;
    background: none;
    scroll-margin-top: calc(var(--mdf-hauteur-nav) + 16px);
}
body .gform_wrapper.gform_wrapper .gsection:not(.gfield_entete):not(.gfield_visibility_hidden) {
    counter-increment: mdf-rubrique;
    margin-top: 22px !important;
    padding: 14px 20px !important;
    background: var(--mdf-encre);
    border-radius: var(--mdf-rayon);
    box-shadow: var(--mdf-ombre);
}
body .gform_wrapper.gform_wrapper .gsection_title {
    margin: 0 !important;
    padding: 0;
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 15px !important;
    line-height: 1.3;
    letter-spacing: .08em !important;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 12px;
}
body .gform_wrapper.gform_wrapper .gsection:not(.gfield_entete):not(.gfield_visibility_hidden) .gsection_title::before {
    content: counter(mdf-rubrique, decimal-leading-zero);
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 24px;
    padding: 0 6px;
    border-radius: 6px;
    background: var(--mdf-accent);
    color: #fff;
    font-size: 12px;
    letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
}
body .gform_wrapper.gform_wrapper .gsection_description {
    color: rgba(255, 255, 255, .75);
    font-size: 12px;
    padding: 4px 0 0;
}

/* Sous-rubriques (gsection + gfield_entete : Plans de travail, Crédences...) */
body .gform_wrapper.gform_wrapper .gsection.gfield_entete:not(.gfield_visibility_hidden) {
    margin-top: 10px !important;
    padding: 10px 16px !important;
    background: var(--mdf-fond-2);
    border-left: 4px solid var(--mdf-accent) !important;
    border-radius: 0 var(--mdf-rayon) var(--mdf-rayon) 0;
}
body .gform_wrapper.gform_wrapper .gsection.gfield_entete .gsection_title {
    color: var(--mdf-encre);
    font-size: 14px !important;
    letter-spacing: .03em !important;
    text-transform: none;
}

/* Séparateur fin (champ HTML vide portant la classe gfield_entete) */
body .gform_wrapper.gform_wrapper .gfield.gfield_entete.gfield--type-html:not(.gfield_sous_totaux) {
    margin: 2px 0;
    padding: 0;
    min-height: 0;
    background: none;
    border: 0;
    border-top: 1px dashed var(--mdf-bord-fort);
}

/* Titre intermédiaire dans un champ HTML gfield_entete
   (dossier SAV : « INFORMATIONS », « MATERIAUX »...) : même style
   qu'une sous-rubrique */
body .gform_wrapper.gform_wrapper .gfield.gfield_entete.gfield--type-html:not(.gfield_sous_totaux):has(> :is(h1, h2, h3, h4, h5, h6)) {
    margin-top: 10px;
    padding: 10px 16px;
    border: 0;
    border-left: 4px solid var(--mdf-accent);
    border-radius: 0 var(--mdf-rayon) var(--mdf-rayon) 0;
    background: var(--mdf-fond-2);
}
body .gform_wrapper.gform_wrapper .gfield.gfield_entete.gfield--type-html > :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    padding: 0;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3;
    letter-spacing: .03em !important;
    color: var(--mdf-encre);
}
/* Autres titres dans les champs HTML (« MODIFICATION / CONSULTATION »...) */
body .gform_wrapper.gform_wrapper .gfield--type-html:not(.gfield_entete) > :is(h3, h4) {
    margin: 4px 0 0;
    padding: 0;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    color: var(--mdf-encre);
}


/* ---------- Éléments affichés quand on modifie un dossier -------------- */
/* Fil des étapes « DEVIS > COMMANDE > MESURE... » (étape en cours en gras) */
body .gform_wrapper.gform_wrapper .gfield--type-html > div[style*="solid #000"] {
    border: 1px solid var(--mdf-bord) !important;
    border-radius: var(--mdf-rayon);
    background: var(--mdf-fond);
    padding: 10px 14px !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 2;
    color: var(--mdf-gris-clair);
}
body .gform_wrapper.gform_wrapper .gfield--type-html > div[style*="solid #000"] b {
    display: inline-block;
    line-height: 1.5;
    padding: 1px 10px;
    border-radius: 999px;
    background: var(--mdf-accent);
    color: #fff;
}
/* Pastille jaune « Type de chantier » */
body .gform_wrapper.gform_wrapper .gfield--type-html div[style*="#ffd662"] {
    display: inline-block;
    width: auto !important;
    margin-top: 6px;
    padding: 4px 12px !important;
    border-radius: 999px;
    background-color: #fdf3e1 !important;
    color: #8a5a00;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
body .gform_wrapper.gform_wrapper .gfield--type-html:has(> div[style*="#ffd662"]) {
    font-size: 13px;
    font-weight: 600;
    color: var(--mdf-encre);
}
/* Boutons dans les champs HTML (« Date de Mesure »...) et bouton
   « Sélectionner des fichiers » des téléversements multiples */
body .gform_wrapper.gform_wrapper .gfield--type-html input[type=button],
body .gform_wrapper.gform_wrapper .gform_button_select_files {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px !important;
    font-family: inherit;
    font-size: 13px !important;
    font-weight: 600;
    color: var(--mdf-encre) !important;
    background: var(--mdf-surface) !important;
    border: 1px solid var(--mdf-bord-fort) !important;
    border-radius: 8px !important;
    box-shadow: none;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}
body .gform_wrapper.gform_wrapper .gfield--type-html input[type=button]:hover,
body .gform_wrapper.gform_wrapper .gform_button_select_files:hover {
    border-color: var(--mdf-accent) !important;
    color: var(--mdf-accent-texte) !important;
}
/* Lien vers un document à télécharger (attestation TVA...) */
body .gform_wrapper.gform_wrapper .gfield--type-html p.attachment a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--mdf-accent-texte);
    text-decoration: none;
}
body .gform_wrapper.gform_wrapper .gfield--type-html p.attachment a::before {
    content: "\2193";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--mdf-accent-doux);
    font-weight: 700;
}
/* Textes en rouge saisis dans l'éditeur : rouge de la charte */
body .gform_wrapper.gform_wrapper .gfield--type-html [style*="color:red"],
body .gform_wrapper.gform_wrapper .gfield--type-html [style*="color: red"] {
    color: var(--mdf-erreur) !important;
}

/* Encadré d'information (cotes en millimètres) */
body .gform_wrapper.gform_wrapper .gfield.gfield_entete_cotes {
    margin: 6px 0 0;
    padding: 10px 14px 10px 40px;
    position: relative;
    background: var(--mdf-info-doux);
    color: var(--mdf-info);
    border: 0;
    border-radius: var(--mdf-rayon);
    font-size: 13px;
    line-height: 1.45;
}
body .gform_wrapper.gform_wrapper .gfield.gfield_entete_cotes::before {
    content: "i";
    position: absolute;
    left: 14px;
    top: 10px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--mdf-info);
    color: #fff;
    font: 700 12px/18px Georgia, serif;
    text-align: center;
}

/* Bandeau « Sous-total » */
body .gform_wrapper.gform_wrapper .gfield.gfield_sous_totaux {
    width: 100%;
    margin: 12px 0 -6px;
    padding: 12px 0 0;
    background: none;
    border: 0;
    border-top: 2px solid var(--mdf-encre);
}
body .gform_wrapper.gform_wrapper .gfield.gfield_sous_totaux h3 {
    margin: 0;
    padding: 0;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--mdf-gris);
}
/* Montant qui suit immédiatement le bandeau « Sous-total » */
body .gform_wrapper.gform_wrapper .gfield_sous_totaux + .gfield_input input,
body .gform_wrapper.gform_wrapper .gfield_sous_totaux + .gfield_input input[readonly] {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--mdf-encre) !important;
    background: var(--mdf-fond) !important;
    height: 46px !important;
}
body .gform_wrapper.gform_wrapper .gfield_sous_totaux + .gfield_input .gfield_label {
    color: var(--mdf-gris);
    font-weight: 500;
}

body .gform_wrapper.gform_wrapper .gfield.gfield_align {
    text-align: right;
}


/* ---------- Cases qui ouvrent une rubrique (gfield_visible*) ------------ */
body .gform_wrapper.gform_wrapper .gfield.gfield_visible,
body .gform_wrapper.gform_wrapper .gfield.gfield_visible_red,
body .gform_wrapper.gform_wrapper .gfield.gfield_visible_main {
    margin: 4px 0 0 !important;
    padding: 0 !important;
    background: var(--mdf-surface);
    color: var(--mdf-encre) !important;
    font-size: 14px !important;
    font-weight: 600;
    border: 1px solid var(--mdf-bord);
    border-radius: var(--mdf-rayon);
    box-shadow: var(--mdf-ombre);
    transition: border-color .15s, background-color .15s;
}
body .gform_wrapper.gform_wrapper .gfield.gfield_visible_main {
    margin-top: 22px !important;
    background: var(--mdf-encre);
    border-color: var(--mdf-encre);
    color: #fff !important;
}
body .gform_wrapper.gform_wrapper .gfield_visible:hover,
body .gform_wrapper.gform_wrapper .gfield_visible_red:hover {
    border-color: var(--mdf-bord-fort);
}
body .gform_wrapper.gform_wrapper .gfield_visible .gchoice,
body .gform_wrapper.gform_wrapper .gfield_visible_red .gchoice,
body .gform_wrapper.gform_wrapper .gfield_visible_main .gchoice {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
}
body .gform_wrapper.gform_wrapper .gfield_visible .gfield-choice-input,
body .gform_wrapper.gform_wrapper .gfield_visible_red .gfield-choice-input,
body .gform_wrapper.gform_wrapper .gfield_visible_main .gfield-choice-input {
    margin: 0 0 0 16px !important;
    flex: none;
}
/* Toute la ligne est cliquable (le libellé occupe la largeur) */
body .gform_wrapper.gform_wrapper .gfield_visible .gform-field-label--type-inline,
body .gform_wrapper.gform_wrapper .gfield_visible_red .gform-field-label--type-inline,
body .gform_wrapper.gform_wrapper .gfield_visible_main .gform-field-label--type-inline {
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 !important;
    padding: 13px 16px 13px 12px !important;
    background: none;
    color: inherit !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
}
body .gform_wrapper.gform_wrapper .gfield_visible_main .gform-field-label--type-inline {
    font-size: 15px !important;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
/* Indicateur « Afficher / Masquer » */
body .gform_wrapper.gform_wrapper .gfield_visible .gform-field-label--type-inline::after,
body .gform_wrapper.gform_wrapper .gfield_visible_red .gform-field-label--type-inline::after,
body .gform_wrapper.gform_wrapper .gfield_visible_main .gform-field-label--type-inline::after {
    content: "Afficher  +";
    white-space: pre;
    flex: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: none;
    color: var(--mdf-gris);
    background: var(--mdf-fond-2);
    border-radius: 999px;
    padding: 4px 10px;
}
body .gform_wrapper.gform_wrapper .gfield_visible_main .gform-field-label--type-inline::after {
    color: #fff;
    background: rgba(255, 255, 255, .14);
}
body .gform_wrapper.gform_wrapper :is(.gfield_visible, .gfield_visible_red, .gfield_visible_main) .gfield-choice-input:checked + .gform-field-label--type-inline::after {
    content: "Masquer  \2212";
}
/* Rubrique ouverte */
body .gform_wrapper.gform_wrapper .gfield_visible:has(.gfield-choice-input:checked),
body .gform_wrapper.gform_wrapper .gfield_visible_red:has(.gfield-choice-input:checked) {
    background: var(--mdf-accent-doux);
    border-color: var(--mdf-accent);
    box-shadow: inset 4px 0 0 var(--mdf-accent);
}
body .gform_wrapper.gform_wrapper .gfield_visible .gfield-choice-input:checked + .gform-field-label--type-inline::after,
body .gform_wrapper.gform_wrapper .gfield_visible_red .gfield-choice-input:checked + .gform-field-label--type-inline::after {
    color: var(--mdf-accent-texte);
    background: var(--mdf-surface);
}
body .gform_wrapper.gform_wrapper .gfield_visible_main:has(.gfield-choice-input:checked) {
    box-shadow: inset 4px 0 0 var(--mdf-accent), var(--mdf-ombre);
}
/* Rubrique indisponible (case désactivée, ex. promotion terminée) */
body .gform_wrapper.gform_wrapper .gfield_visible_red .gform-field-label--type-inline {
    color: var(--mdf-accent-fonce) !important;
}
body .gform_wrapper.gform_wrapper .gfield:has(.gfield-choice-input:disabled):is(.gfield_visible, .gfield_visible_red, .gfield_visible_main) {
    opacity: .55;
    box-shadow: none;
    background: var(--mdf-fond);
}
body .gform_wrapper.gform_wrapper .gfield-choice-input:disabled + .gform-field-label--type-inline {
    cursor: not-allowed;
}
body .gform_wrapper.gform_wrapper :is(.gfield_visible, .gfield_visible_red, .gfield_visible_main) .gfield-choice-input:disabled + .gform-field-label--type-inline::after {
    content: "Indisponible";
}


/* ---------- Libellés ------------------------------------------------- */
body .gform_wrapper.gform_wrapper .gfield_label,
body .gform_wrapper.gform_wrapper .top_label .gfield_label,
body .gform_wrapper.gform_wrapper :is(label, legend).gfield_label {
    display: block;
    margin: 0 0 6px;
    padding: 0;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--mdf-encre);
}
body .gform_wrapper.gform_wrapper .gfield.gfield_label1 .gfield_label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mdf-gris);
}
body .gform_wrapper.gform_wrapper .gfield.gfield_label3 .gfield_label {
    font-weight: 700;
}
/* Sous-libellés des champs composés (adresse, nom...) */
body .gform_wrapper.gform_wrapper .gform-field-label--type-sub {
    font-size: 11px;
    color: var(--mdf-gris);
    margin-top: 4px;
}
/* Champs réservés à l'administratif (classe ajoutée par felix-form.js) */
body .gform_wrapper.gform_wrapper .gfield.mdf-admin .gfield_label {
    color: var(--mdf-gris);
    font-weight: 500;
}
body .gform_wrapper.gform_wrapper .gfield.mdf-admin select,
body .gform_wrapper.gform_wrapper .gfield.mdf-admin input:not([type=checkbox]):not([type=radio]):not([readonly]) {
    border-style: dashed !important;
}


/* ---------- Descriptions et notes ------------------------------------ */
body .gform_wrapper.gform_wrapper .gfield_description {
    padding-top: 6px;
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: var(--mdf-gris);
}
body .gform_wrapper.gform_wrapper .gfield.gfield_description,
body .gform_wrapper.gform_wrapper .gfield.gfield_infos {
    padding: 0 0 0 12px;
    border-left: 2px solid var(--mdf-bord-fort);
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: var(--mdf-gris);
}
body .gform_wrapper.gform_wrapper .gfield.gfield_description:empty,
body .gform_wrapper.gform_wrapper .gfield.gfield_infos:empty {
    border-left: 0;
}
body .gform_wrapper.gform_wrapper .top_label .ginput_container {
    margin-top: 0 !important;
}
body .gform_wrapper.gform_wrapper .instruction {
    font-size: 12px;
    line-height: 1.4;
    color: var(--mdf-gris);
    clear: both;
    font-family: inherit;
    letter-spacing: normal;
}
body .gform_wrapper.gform_wrapper .gfield_html.gfield_no_follows_desc {
    margin-top: 0;
}
body .gform_wrapper.gform_wrapper .gfield--type-html {
    font-size: 13px;
    line-height: 1.5;
}
body .gform_wrapper.gform_wrapper .gfield--type-html a:not(:has(> img)):not([href*="suivi-dossier"]) {
    color: var(--mdf-accent-texte);
}


/* ---------- Boutons radio et cases à cocher -------------------------- */
body .gform_wrapper.gform_wrapper .field_description_below .ginput_container_radio,
body .gform_wrapper.gform_wrapper .field_description_below .ginput_container_checkbox {
    margin-top: 0 !important;
    margin-bottom: 0;
}
body .gform_wrapper.gform_wrapper .gfield_checkbox,
body .gform_wrapper.gform_wrapper .gfield_radio {
    margin: 0 !important;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
body .gform_wrapper.gform_wrapper .gf_list_inline .gfield_radio,
body .gform_wrapper.gform_wrapper .gf_list_inline .gfield_checkbox {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px 20px;
}
body .gform_wrapper.gform_wrapper .gfield_radio .gchoice,
body .gform_wrapper.gform_wrapper .gfield_checkbox .gchoice {
    margin: 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 8px;
}
body .gform-theme--framework .gform-field-label--type-inline,
body .gform_wrapper.gform_wrapper .gform-field-label--type-inline {
    font-size: 13px !important;
    color: var(--mdf-texte);
    cursor: pointer;
}
body .gform_wrapper.gform_wrapper .gfield-choice-input:checked + .gform-field-label--type-inline {
    color: var(--mdf-encre);
    font-weight: 600;
}
body .gform_wrapper.gform_wrapper .gfield-choice-input {
    cursor: pointer;
}
/* Case cochée : fond plein de la charte + coche dessinée en SVG
   (ne dépend plus de la police d'icônes du thème Orbital) */
body .gform_wrapper.gform_wrapper input[type=checkbox].gfield-choice-input {
    border-radius: 5px;
}
body .gform_wrapper.gform_wrapper input[type=checkbox].gfield-choice-input:checked {
    background: var(--mdf-accent) no-repeat center / 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
    border-color: var(--mdf-accent);
}
body .gform_wrapper.gform_wrapper input[type=checkbox].gfield-choice-input:checked::before {
    content: none;
}
body .gform_wrapper.gform_wrapper .gfield_visible_main input[type=checkbox].gfield-choice-input:not(:checked) {
    background-color: transparent;
    border-color: rgba(255, 255, 255, .5);
}
body .gform_wrapper.gform_wrapper .gfield-choice-input:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--mdf-focus) !important;
}


/* ---------- Zones de saisie ------------------------------------------ */
/* Champ modifiable : fond blanc, bordure, anneau de focus de la charte */
body .gform_wrapper.gform_wrapper input:is([type=text], [type=number], [type=email], [type=tel], [type=url], [type=password], [type=search]),
body .gform_wrapper.gform_wrapper select,
body .gform_wrapper.gform_wrapper textarea {
    font-family: inherit;
    font-size: 14px !important;
    line-height: 1.3;
    color: var(--mdf-encre);
    background-color: var(--mdf-surface);
    border: 1px solid var(--mdf-bord-fort);
    border-radius: 8px;
    box-shadow: none;
    min-height: 40px;
    padding: 8px 12px !important;
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
body .gform_wrapper.gform_wrapper select {
    padding-right: 34px !important;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
body .gform_wrapper.gform_wrapper textarea {
    line-height: 1.5;
    min-height: 96px;
    resize: vertical;
}
body .gform_wrapper.gform_wrapper input:is([type=text], [type=number], [type=email], [type=tel]):hover:not([readonly]):not(:disabled),
body .gform_wrapper.gform_wrapper select:hover:not(:disabled),
body .gform_wrapper.gform_wrapper textarea:hover:not([readonly]):not(:disabled) {
    border-color: var(--mdf-gris-clair);
}
body .gform_wrapper.gform_wrapper input:is([type=text], [type=number], [type=email], [type=tel]):focus,
body .gform_wrapper.gform_wrapper select:focus,
body .gform_wrapper.gform_wrapper textarea:focus {
    outline: none;
    border-color: var(--mdf-accent);
    box-shadow: 0 0 0 3px var(--mdf-focus);
}
body .gform_wrapper.gform_wrapper ::placeholder {
    color: var(--mdf-gris-clair);
    opacity: 1;
}
body .gform_wrapper.gform_wrapper input[type=number] {
    font-variant-numeric: tabular-nums;
}

/* Champ calculé / en lecture seule : fond sable, sans bordure */
body .gform_wrapper.gform_wrapper input[readonly]:not([type=checkbox]):not([type=radio]),
body .gform_wrapper.gform_wrapper textarea[readonly],
body .gform_wrapper.gform_wrapper input:disabled:not([type=checkbox]):not([type=radio]),
body .gform_wrapper.gform_wrapper select:disabled {
    background-color: var(--mdf-fond-2);
    border-color: transparent;
    color: var(--mdf-texte);
    cursor: default;
}
body .gform_wrapper.gform_wrapper input[readonly]:focus,
body .gform_wrapper.gform_wrapper textarea[readonly]:focus {
    box-shadow: 0 0 0 3px var(--mdf-focus);
    border-color: transparent;
}

/* gfield_input : prix et montants (anciennement rouge #900) */
body .gform_wrapper.gform_wrapper .gfield_input input,
body .gform_wrapper.gform_wrapper .gfield_input input[readonly] {
    color: var(--mdf-accent-fonce) !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    background-color: var(--mdf-fond) !important;
    border-color: transparent;
}
body .gform_wrapper.gform_wrapper .gfield_input input:not([readonly]):hover {
    border-color: var(--mdf-bord-fort);
}
/* gfield_input2 : valeur discrète */
body .gform_wrapper.gform_wrapper .gfield_input2 input {
    color: var(--mdf-gris-clair) !important;
    background-color: transparent !important;
    border-color: transparent;
}
/* gfield_input3 : total TTC / reste à payer */
body .gform_wrapper.gform_wrapper .gfield_input3 input,
body .gform_wrapper.gform_wrapper .gfield_input3 input[readonly] {
    color: var(--mdf-vert) !important;
    background-color: var(--mdf-vert-doux) !important;
    border: 1px solid #bfe0c6;
    font-size: 20px !important;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    min-height: 48px;
    max-width: 320px;
}
body .gform_wrapper.gform_wrapper .gfield_input3 .gfield_label {
    color: var(--mdf-vert);
}
/* gfield_input4 : valeur affichée comme du texte */
body .gform_wrapper.gform_wrapper .gfield_input4 input,
body .gform_wrapper.gform_wrapper .gfield_input4 input[readonly] {
    background-color: transparent !important;
    border-color: transparent;
    color: var(--mdf-texte);
    padding-left: 0 !important;
    min-height: 0;
    font-weight: 500;
}
body .gform_wrapper.gform_wrapper .gfield_input4 input:not([readonly]) {
    background-color: var(--mdf-surface) !important;
    border-color: var(--mdf-bord-fort);
    padding-left: 12px !important;
    min-height: 40px;
}
/* gfield_input5 : valeur invisible */
body .gform_wrapper.gform_wrapper .gfield_input5 input {
    color: #fff !important;
    background: #fff !important;
    border-color: transparent;
}
body .gform_wrapper.gform_wrapper .gfield_textarea textarea:not([readonly]) {
    background-color: var(--mdf-surface);
}
body .gform_wrapper.gform_wrapper .gfield_designation input[type=text] {
    background-color: var(--mdf-surface);
    border: 1px solid var(--mdf-bord-fort);
}

/* Listes améliorées (Chosen : choix du granit...) */
body .gform_wrapper.gform_wrapper .chosen-container {
    width: 100% !important;
    max-width: 100%;
    font-size: 14px;
}
body .gform_wrapper.gform_wrapper .chosen-container-single .chosen-single {
    height: 40px;
    line-height: 38px;
    padding: 0 0 0 12px;
    color: var(--mdf-encre);
    background: var(--mdf-surface);
    border: 1px solid var(--mdf-bord-fort);
    border-radius: 8px;
    box-shadow: none;
}
body .gform_wrapper.gform_wrapper .chosen-container-single .chosen-single div b {
    background-position: 0 10px;
}
body .gform_wrapper.gform_wrapper .chosen-container-active .chosen-single {
    border-color: var(--mdf-accent);
    box-shadow: 0 0 0 3px var(--mdf-focus);
}
body .gform_wrapper.gform_wrapper .chosen-container .chosen-drop {
    border-color: var(--mdf-bord-fort);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(34, 32, 30, .12);
}
body .gform_wrapper.gform_wrapper .chosen-container .chosen-results li.highlighted {
    background: var(--mdf-accent);
    background-image: none;
}

/* Téléversement de fichiers : pleine largeur de la colonne */
body .gform_wrapper.gform_wrapper .gfield--type-fileupload input[type="file"] {
    width: 100% !important;
    inline-size: 100% !important;
    max-width: 100% !important;
    max-inline-size: 100% !important;
    font-size: 13px;
    color: var(--mdf-gris);
    background: var(--mdf-fond);
    border: 1px dashed var(--mdf-bord-fort);
    border-radius: 8px;
    padding: 5px !important;
    height: auto !important;
    min-height: 0;
    line-height: 30px !important;          /* = hauteur du bouton : « Aucun fichier choisi » centré */
}
/* Bouton « Choisir un fichier » : le thème Orbital lui donne une hauteur de ligne de 36 px
   alignée en haut, ce qui décalait son texte vers le bas */
body .gform_wrapper.gform_wrapper .gfield--type-fileupload input[type="file"]::file-selector-button {
    font-family: inherit;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 28px !important;
    height: 30px !important;
    padding: 0 12px !important;
    margin: 0 10px 0 0 !important;
    vertical-align: middle !important;
    color: var(--mdf-encre);
    background: var(--mdf-surface);
    border: 1px solid var(--mdf-bord-fort);
    border-radius: 6px;
    cursor: pointer;
}
body .gform_wrapper.gform_wrapper .gfield--type-fileupload input[type="file"]:hover::file-selector-button {
    border-color: var(--mdf-accent);
    color: var(--mdf-accent-texte);
}
body .gform_wrapper.gform_wrapper .ginput_preview,
body .gform_wrapper.gform_wrapper .ginput_post_image_file {
    font-size: 13px;
}

/* Images de matériaux (aperçu du granit sélectionné) */
body .gform_wrapper.gform_wrapper .gfield--type-html img:not([src*="scroll_bottom"]) {
    border-radius: 8px;
}


/* ---------- Erreurs de validation ------------------------------------- */
body .gform_wrapper.gform_wrapper .gform_validation_errors {
    background: var(--mdf-erreur-doux);
    border: 1px solid var(--mdf-erreur);
    border-radius: var(--mdf-rayon);
    box-shadow: none;
    padding: 14px 18px;
    margin-bottom: 16px;
}
body .gform_wrapper.gform_wrapper .gform_validation_errors .gform_submission_error {
    color: var(--mdf-erreur);
    font-size: 14px;
    font-weight: 600;
}
body .gform_wrapper.gform_wrapper .gfield_error .gfield_label {
    color: var(--mdf-erreur);
}
body .gform_wrapper.gform_wrapper .gfield_error input:not([type=checkbox]):not([type=radio]),
body .gform_wrapper.gform_wrapper .gfield_error select,
body .gform_wrapper.gform_wrapper .gfield_error textarea {
    border-color: var(--mdf-erreur) !important;
    background-color: #fffafa;
}
body .gform_wrapper.gform_wrapper .gfield_validation_message,
body .gform_wrapper.gform_wrapper .validation_message {
    margin-top: 6px;
    padding: 6px 10px;
    font-size: 12px;
    color: var(--mdf-erreur);
    background: var(--mdf-erreur-doux);
    border: 0;
    border-radius: 6px;
}


/* ---------- Bouton d'envoi -------------------------------------------- */
/* Petits formulaires (promotions, activités...) : simple bouton sous les champs */
body .gform_wrapper.gform_wrapper .gform_footer {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin: 20px 0 0;
    padding: 0;
}
/* Formulaires de dossier (19 à 28) : barre fixée en bas de l'écran avec les montants */
body .gform_wrapper.gform_wrapper:is(#gform_wrapper_19, #gform_wrapper_20, #gform_wrapper_21, #gform_wrapper_22, #gform_wrapper_25, #gform_wrapper_28) .gform_footer {
    position: sticky;
    bottom: 0;
    z-index: 30;
    justify-content: flex-end;
    margin: 28px 0 0;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid var(--mdf-bord);
    border-radius: var(--mdf-rayon) var(--mdf-rayon) 0 0;
    box-shadow: 0 -6px 18px rgba(34, 32, 30, .08);
    text-align: right;
}
body .gform_wrapper.gform_wrapper .gform_footer .gform_button {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    margin: 0;
    padding: 0 28px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff !important;
    background: var(--mdf-accent) !important;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(159, 137, 83, .35);
    cursor: pointer;
    transition: background-color .15s, transform .1s;
}
body .gform_wrapper.gform_wrapper .gform_footer .gform_button:hover {
    background: var(--mdf-accent-fonce) !important;
    border: 0;
}
body .gform_wrapper.gform_wrapper .gform_footer .gform_button:active {
    transform: translateY(1px);
}
body .gform_wrapper.gform_wrapper .gform_footer .gform_button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--mdf-focus);
}
/* Bouton image « ENVOYER » (bouton_envoyer.png) : remplacé par un bouton texte.
   L'attribut alt de l'image reste lu par les lecteurs d'écran. */
body .gform_wrapper.gform_wrapper .gform_footer .gform_image_button img {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}
body .gform_wrapper.gform_wrapper .gform_footer .gform_image_button::before {
    content: "" !important;
    display: inline-block !important;
    position: static !important;
    flex: none;
    width: 16px;
    height: 16px;
    background: no-repeat center / 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
body .gform_wrapper.gform_wrapper .gform_footer button.gform_button.gform_image_button::after {
    content: "Envoyer" !important;
    font-family: "PT Sans", Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    display: inline !important;
    position: static !important;
    opacity: 1 !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: #fff !important;
}
/* Récapitulatif des montants dans la barre (ajouté par felix-form.js) */
.mdf-recap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 22px;
    margin-right: auto;
    text-align: left;
}
.mdf-recap:empty {
    display: none;
}
.mdf-recap-item {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.mdf-recap-lib {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #736b64;
}
.mdf-recap-val {
    font-size: 16px;
    font-weight: 700;
    color: #22201e;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.mdf-recap-item.is-total .mdf-recap-val {
    color: #1b5e2f;
    font-size: 19px;
}
.mdf-recap-item.is-flash .mdf-recap-val {
    animation: mdf-flash .9s ease-out;
}
@keyframes mdf-flash {
    0% { background: #fdf3e1; }
    100% { background: transparent; }
}


/* ---------- Sommaire des rubriques (ajouté par felix-form.js) ---------- */
.mdf-form-nav {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: var(--mdf-hauteur-nav);
    margin: 0 0 14px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--mdf-bord);
    border-radius: 0 0 var(--mdf-rayon) var(--mdf-rayon);
    box-shadow: 0 6px 18px rgba(34, 32, 30, .06);
    overflow-x: auto;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    font-size: 12px;
}
.mdf-form-nav a {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px 0 6px;
    border-radius: 999px;
    border: 1px solid transparent;
    color: var(--mdf-texte);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s, border-color .15s, color .15s;
}
.mdf-form-nav a:hover {
    background: var(--mdf-fond);
    border-color: var(--mdf-bord);
}
.mdf-form-nav a.is-actif {
    background: var(--mdf-encre);
    border-color: var(--mdf-encre);
    color: #fff;
}
.mdf-form-nav a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 20px;
    padding: 0 4px;
    border-radius: 5px;
    background: var(--mdf-fond-2);
    color: var(--mdf-gris);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}
.mdf-form-nav a.is-actif span {
    background: var(--mdf-accent);
    color: #fff;
}


/* ---------- Mobile et tablette --------------------------------------- */
@media (max-width: 640px) {
    body .gform_wrapper.gform_wrapper .gform_fields {
        row-gap: 14px;
        grid-row-gap: 14px;
    }
    body .gform_wrapper.gform_wrapper .gfield--type-html h2 {
        font-size: 22px;
    }
    body .gform_wrapper.gform_wrapper .gfield.gfield_align {
        text-align: left;
    }
    /* « Optimisé pour Chrome » et la flèche « bas de page » : inutiles sur téléphone */
    body .gform_wrapper.gform_wrapper .gfield.gfield_align:has(> h5),
    body .gform_wrapper.gform_wrapper .gfield.gfield_align:has(> a[href*="#baspage"]) {
        display: none;
    }
    body .gform_wrapper.gform_wrapper .gsection:not(.gfield_entete):not(.gfield_visibility_hidden) {
        padding: 12px 14px !important;
    }
    body .gform_wrapper.gform_wrapper .gsection_title {
        font-size: 13px !important;
        letter-spacing: .05em !important;
    }
    body .gform_wrapper.gform_wrapper .gfield_input3 input {
        max-width: none;
    }
    body .gform_wrapper.gform_wrapper:is(#gform_wrapper_19, #gform_wrapper_20, #gform_wrapper_21, #gform_wrapper_22, #gform_wrapper_25, #gform_wrapper_28) .gform_footer {
        margin-left: -8px;
        margin-right: -8px;
        padding: 10px 12px;
        gap: 10px;
        flex-wrap: nowrap;
    }
    body .gform_wrapper.gform_wrapper .gform_footer .gform_button {
        flex: none;
        min-height: 44px;
        padding: 0 18px;
    }
    /* Sur téléphone, seul le total TTC reste affiché dans la barre */
    .mdf-recap-item:not(.is-total) {
        display: none;
    }
    /* Champs pleine largeur (les tailles « small / medium » de l'éditeur
       ne servent à rien sur un écran étroit) */
    body .gform_wrapper.gform_wrapper .ginput_container input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
    body .gform_wrapper.gform_wrapper .ginput_container select,
    body .gform_wrapper.gform_wrapper .ginput_container textarea {
        width: 100% !important;
        max-width: 100% !important;
    }
    .mdf-form-nav {
        margin-left: -8px;
        margin-right: -8px;
        border-radius: 0;
    }
}

@media print {
    .mdf-form-nav { display: none; }
    body .gform_wrapper.gform_wrapper:is(#gform_wrapper_19, #gform_wrapper_20, #gform_wrapper_21, #gform_wrapper_22, #gform_wrapper_25, #gform_wrapper_28) .gform_footer { position: static; box-shadow: none; }
}


/* =========================================================================
   Règles générales du site (hors Gravity Forms)
   ========================================================================= */

/*** FIELD STYLING ***/
input[type=text], textarea {
    background: #eee;
    border: none;
    border-radius: 0;
    color: #999;
    padding: 8px !important;
}

/* Les formulaires n'utilisent plus de <li>, mais cette règle reste utile
   pour les autres listes de la zone de contenu (pagination Sticky List...) */
#left-area li {
    margin-bottom: 0;
}

body:not(.et-tb) #main-content .container,
body:not(.et-tb-has-header) #main-content .container {
    padding-top: 15px;
}

/* Ancienne présentation Sticky List uniquement : la liste modernisée
   (.sl-moderne, felix-ui.css) gère elle-même ses colonnes d'actions. */
.sticky-list-wrapper:not(.sl-moderne) table.sticky-list th.sticky-action,
.sticky-list-wrapper:not(.sl-moderne) table.sticky-list td.sticky-action {
    text-align: left;
    padding: 5px 25px !important;
    white-space: nowrap;
}

#left-area h2 {
    font-size: 22px;
}

/* =========================================================================
   Sélecteur de semaine (weekPicker.js) - couleurs de la charte
   ========================================================================= */

#ui-datepicker-div.ui-weekpicker {
    background: #fff;
    border: 1px solid #e4ded7;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(34, 32, 30, .15);
    padding: 10px;
    min-width: 290px;
    font-size: 14px;
    color: #3b3734;
    z-index: 9999 !important;
}

/* En-tête : ‹ Septembre 2026 › */
.ui-weekpicker .ui-datepicker-header {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    background: none;
    border: 0;
}
.ui-weekpicker .ui-datepicker-prev { order: 1; }
.ui-weekpicker .ui-datepicker-title { order: 2; flex: 1; text-align: center; font-weight: 600; color: #22201e; }
.ui-weekpicker .ui-datepicker-next { order: 3; }
.ui-weekpicker .ui-datepicker-prev,
.ui-weekpicker .ui-datepicker-next {
    cursor: pointer;
    padding: 2px 10px;
    border-radius: 6px;
    text-decoration: none;
    color: #3b3734;
}
.ui-weekpicker .ui-datepicker-prev:hover,
.ui-weekpicker .ui-datepicker-next:hover { background: #f7f5f2; }
.ui-weekpicker .ui-datepicker-prev span,
.ui-weekpicker .ui-datepicker-next span { display: none; }
.ui-weekpicker .ui-datepicker-prev::before { content: "‹"; font-size: 20px; }
.ui-weekpicker .ui-datepicker-next::before { content: "›"; font-size: 20px; }

/* Grille */
.ui-weekpicker table.ui-datepicker-calendar {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    border: 0;
}
.ui-weekpicker .ui-datepicker-calendar th {
    padding: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #736b64;
    text-align: center;
    background: none;
    border: 0;
}
.ui-weekpicker .ui-datepicker-calendar td {
    padding: 1px;
    font-size: 14px;
    text-align: center;
    border: 0;
    background: none;
}
.ui-weekpicker .ui-datepicker-calendar td a,
.ui-weekpicker .ui-datepicker-calendar td span {
    display: block;
    padding: 6px 0;
    border-radius: 6px;
    text-decoration: none;
    color: #22201e;
}
.ui-weekpicker .ui-datepicker-week-col { color: #a39a92; font-size: 12px; }
.ui-weekpicker .ui-datepicker-other-month a { color: #a39a92; }
.ui-weekpicker .ui-datepicker-today a { font-weight: 700; box-shadow: inset 0 0 0 1px #cfc6bd; }

/* Semaine survolée / sélectionnée */
.ui-weekpicker .ui-datepicker-calendar a.ui-state-hover { background: #f6f2e9; }
.ui-weekpicker .ui-datepicker-calendar a.ui-state-active { background: #9f8953; color: #fff; }
