/* =========================================================
   CHARTE GRAPHIQUE - VERT CLAIR ET MODERNE
   Couleur principale : #205e03 (vert clair et doux)
   Couleur secondaire : #9a0000 (rouge)
   Fonds : blancs
   ========================================================= */

/* =========================================================
   RÈGLE GLOBALE : Tous les textes en #000 (noir)
   SAUF les éléments volontairement en vert (#205e03)
   ========================================================= */
.acf-form,
.acf-form * {
    color: #000000;
}

/* Exceptions : éléments qui doivent rester verts (#205e03) */
.acf-field .acf-label label,
.acf-field[data-type="image"] .acf-label label,
.acf-field[data-type="file"] .acf-label label,
.acf-field[data-type="gallery"] .acf-label label,
.acf-field[data-type="text"] .acf-label label,
.acf-field[data-type="textarea"] .acf-label label,
.acf-field[data-type="number"] .acf-label label,
.acf-field[data-type="date_picker"] .acf-label label,
.acf-field[data-name="featured_image"] .acf-label label,
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title,
.form-sidebar .acf-field-accordion .acf-accordion-title:hover,
.sidebar-header {
    color: #205e03 !important;
}

/* Exceptions : éléments blancs sur fonds colorés */
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title,
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title,
.cal-summary-table .cal-row-edit,
.cal-summary-table .cal-row-delete,
.custom-upload-button,
.acf-field[data-name="galerie_photos"] .acf-button {
    color: #ffffff !important;
}

/* Exceptions : titres de colonnes du tableau en noir (#000) */
.cal-summary-table thead th,
.cal-summary-table thead th * {
    color: #000000 !important;
}

/* --- LAYOUT 2 COLONNES --- */
.form-container-wrapper {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.form-sidebar {
    flex: 0 0 280px;
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #e8e8e8;
    position: sticky;
    top: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.form-main-panel {
    flex: 1;
    background: #ffffff;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.sidebar-header {
    font-weight: 600;
    color: #205e03;
    border-bottom: 2px solid rgba(61, 158, 80, 0.15);
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 14px;
    letter-spacing: 0.5px;
}

/* --- ACCORDÉONS SIDEBAR (hover avec bordure verte uniquement) --- */
.form-sidebar .acf-field-accordion {
    margin-bottom: 6px;
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.form-sidebar .acf-field-accordion .acf-accordion-title {
    padding: 12px 15px;
    background: #ffffff;
    color: #000000 !important; /* Noir pour les accordéons inactifs */
    cursor: pointer;
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    transition: all 0.2s ease;
    font-size: 16px !important; /* Augmentation de la taille (15px → 16px) */
    font-weight: 700 !important; /* Augmentation de la graisse (600 → 700 pour plus de visibilité) */
    line-height: 1.4 !important;
}

/* S'assurer que le texte dans le titre est bien noir pour les inactifs */
.form-sidebar .acf-field-accordion .acf-accordion-title,
.form-sidebar .acf-field-accordion .acf-accordion-title *,
.form-sidebar .acf-field-accordion .acf-accordion-title span {
    color: #000000 !important;
}

/* HOVER : fond blanc + bordure verte (pas de fond gris) */
.form-sidebar .acf-field-accordion .acf-accordion-title:hover {
    background: #ffffff;
    border-color: #205e03;
    color: #205e03 !important;
}

.form-sidebar .acf-field-accordion .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion .acf-accordion-title:hover *,
.form-sidebar .acf-field-accordion .acf-accordion-title:hover span {
    color: #205e03 !important;
}

/* ACTIF : fond vert, texte blanc */
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title {
    background: #205e03 !important;
    color: #ffffff !important;
    border-color: #205e03 !important;
    font-weight: 700 !important; /* Graisse renforcée */
    font-size: 16px !important; /* Taille maintenue */
    box-shadow: 0 2px 4px rgba(61, 158, 80, 0.2);
}

.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title,
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title *,
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title span,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title *,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title span {
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title:hover {
    background: #358942 !important;
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title:hover *,
.form-sidebar .acf-field-accordion.active-tab .acf-accordion-title:hover span,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title:hover *,
.form-sidebar .acf-field-accordion.-open .acf-accordion-title:hover span {
    color: #ffffff !important;
}

/* --- DERNIER ACCORDÉON "ENREGISTRER VOTRE ANNONCE" (fond rouge permanent, texte blanc TOUJOURS) --- */
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title {
    background: #9a0000 !important;
    color: #ffffff !important; /* Blanc TOUJOURS, actif ou pas */
    border-color: #9a0000 !important;
    font-weight: 700 !important; /* Même graisse que les autres */
    font-size: 16px !important; /* Même taille que les autres */
    line-height: 1.4 !important;
}

/* Forcer le blanc pour TOUS les éléments du dernier accordéon */
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title,
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title *,
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title span,
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title label {
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion:last-child .acf-accordion-title:hover {
    background: #9a0000 !important;
    border-color: #9a0000 !important;
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion:last-child .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title:hover *,
.form-sidebar .acf-field-accordion:last-child .acf-accordion-title:hover span {
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title {
    background: #9a0000 !important;
    color: #ffffff !important; /* Blanc TOUJOURS même quand actif */
    border-color: #9a0000 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title,
.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title *,
.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title span,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title *,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title span {
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title:hover {
    background: #9a0000 !important;
    color: #ffffff !important;
}

.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title:hover *,
.form-sidebar .acf-field-accordion:last-child.active-tab .acf-accordion-title:hover span,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title:hover,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title:hover *,
.form-sidebar .acf-field-accordion:last-child.-open .acf-accordion-title:hover span {
    color: #ffffff !important;
}

/* --- BOUTON ENREGISTRER (caché par défaut) --- */
.acf-form-submit {
    display: none;
    margin-top: 30px;
}

.acf-form-submit input[type="submit"],
.acf-form-submit button[type="submit"] {
    background: #205e03 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 15px 30px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-shadow: none !important;
    box-shadow: 0 2px 6px rgba(61, 158, 80, 0.2) !important;
    width: 100%;
}

.acf-form-submit input[type="submit"]:hover,
.acf-form-submit button[type="submit"]:hover {
    background: #358942 !important;
    box-shadow: 0 4px 12px rgba(61, 158, 80, 0.3) !important;
    transform: translateY(-1px);
}

.acf-form-submit input[type="submit"]:active,
.acf-form-submit button[type="submit"]:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(61, 158, 80, 0.2) !important;
}

/* --- BOUTONS ACF (harmonisés) --- */
.acf-button,
.acf-button-primary,
.acf-button.button-primary {
    background: #205e03 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.acf-button:hover,
.acf-button-primary:hover,
.acf-button.button-primary:hover {
    background: #358942 !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(61, 158, 80, 0.2) !important;
}

/* --- RÉPÉTEUR CALENDRIER --- */
.acf-field[data-name="calendrier"] .acf-table,
.acf-field[data-name="calendrier"] .acf-row-handle,
.acf-field[data-name="calendrier"] .acf-icon {
    display: none !important;
}

.acf-field[data-name="calendrier"] .acf-actions {
    text-align: left;
    padding: 20px 0;
}

.acf-field[data-name="calendrier"] .acf-actions .acf-button {
    background: #205e03 !important;
    color: white !important;
    padding: 15px 25px !important;
    border-radius: 8px !important;
    text-shadow: none !important;
    box-shadow: 0 2px 4px rgba(61, 158, 80, 0.2) !important;
    transition: all 0.2s ease !important;
}

.acf-field[data-name="calendrier"] .acf-actions .acf-button:hover {
    background: #358942 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(61, 158, 80, 0.3) !important;
}

/* --- FEATURED IMAGE --- */
.acf-field[data-name="featured_image"] {
    margin-bottom: 20px;
}


.acf-field[data-name="featured_image"] .acf-image-uploader {
    border: 2px dashed rgba(61, 158, 80, 0.2);
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.acf-field[data-name="featured_image"] .acf-image-uploader:hover {
    border-color: rgba(61, 158, 80, 0.4);
    background: #f8fff8;
}

.acf-field[data-name="featured_image"] .acf-button {
    background: #205e03 !important;
    color: #ffffff !important;
    border: none !important;
}

.acf-field[data-name="featured_image"] .acf-button:hover {
    background: #358942 !important;
}

/* --- CHAMPS INPUT - BORDURE VERTE COMPLÈTE SUR TOUS LES CÔTÉS --- */
/* Règle principale pour tous les champs de saisie ACF */
.acf-form .acf-input input[type="text"],
.acf-form .acf-input input[type="number"],
.acf-form .acf-input input[type="email"],
.acf-form .acf-input input[type="url"],
.acf-form .acf-input input[type="tel"],
.acf-form .acf-input textarea,
.acf-form .acf-input select,
.acf-field .acf-input input[type="text"],
.acf-field .acf-input input[type="number"],
.acf-field .acf-input input[type="email"],
.acf-field .acf-input input[type="url"],
.acf-field .acf-input input[type="tel"],
.acf-field .acf-input textarea,
.acf-field .acf-input select {
    border: 1px solid #205e03 !important; /* Bordure verte complète */
    border-top: 1px solid #205e03 !important;
    border-right: 1px solid #205e03 !important;
    border-bottom: 1px solid #205e03 !important;
    border-left: 1px solid #205e03 !important; /* BORDURE GAUCHE EXPLICITE */
    border-radius: 6px;
    padding: 10px;
    transition: all 0.3s ease;
    background: #ffffff;
    height: 44px; /* Hauteur uniforme pour tous les inputs */
    box-sizing: border-box;
    line-height: 1.5;
}

/* ÉLARGIR LES CHAMPS NUMÉRIQUES pour que les chiffres soient entièrement visibles */
.acf-form .acf-input input[type="number"],
.acf-field .acf-input input[type="number"],
.acf-field[data-type="number"] input[type="number"],
input[type="number"] {
    min-width: 80px !important;
    width: auto !important;
    padding-right: 15px !important;
    text-align: left !important;
    font-size: 15px !important;
}

/* =========================================================
   BORDURE GAUCHE OBLIGATOIRE POUR TOUS LES CHAMPS
   Règle spécifique pour les champs SANS préfixe (comme "Page perso")
   ========================================================= */
.acf-field[data-type="text"] input[type="text"],
.acf-field[data-type="text"] input[type="url"],
.acf-field[data-type="url"] input[type="text"],
.acf-field[data-type="url"] input[type="url"],
.acf-field:not([data-type="gallery"]) .acf-input:not(.acf-input-wrap) input[type="text"],
.acf-field:not([data-type="gallery"]) .acf-input:not(.acf-input-wrap) input[type="url"],
.acf-field .acf-input:not(.acf-input-wrap) input,
.acf-field .acf-input-wrap:not(:has(.acf-input-prepend)) input {
    border: 1px solid #205e03 !important;
    border-left: 1px solid #205e03 !important; /* BORDURE GAUCHE OBLIGATOIRE */
    border-top: 1px solid #205e03 !important;
    border-right: 1px solid #205e03 !important;
    border-bottom: 1px solid #205e03 !important;
    border-radius: 6px !important;
}

/* Règle globale pour TOUS les inputs du formulaire (sans exception) */
.acf-form input[type="text"],
.acf-form input[type="number"],
.acf-form input[type="email"],
.acf-form input[type="url"],
.acf-form input[type="tel"],
.acf-form textarea,
.acf-form select,
.acf-form .acf-input input[type="text"],
.acf-form .acf-input input[type="url"],
.acf-form .acf-input input[type="email"] {
    border-left: 1px solid #205e03 !important; /* BORDURE GAUCHE POUR TOUS */
    border: 1px solid #205e03 !important; /* Bordure complète */
}

/* Règle ultra-spécifique pour les champs directs (sans wrapper) */
.acf-field > .acf-input > input,
.acf-field > .acf-input > input[type="text"],
.acf-field > .acf-input > input[type="url"],
.acf-field .acf-input:only-child input {
    border: 1px solid #205e03 !important;
    border-left: 1px solid #205e03 !important;
    border-radius: 6px !important;
}

/* Règle finale FORCÉE pour tous les inputs qui n'ont pas de préfixe */
.acf-field input[type="text"]:not(.acf-input-prepend + input),
.acf-field input[type="url"]:not(.acf-input-prepend + input),
.acf-field input[type="email"]:not(.acf-input-prepend + input),
.acf-field .acf-input input[type="text"]:not(.acf-input-prepend ~ input),
.acf-field .acf-input input[type="url"]:not(.acf-input-prepend ~ input),
.acf-field .acf-input input[type="email"]:not(.acf-input-prepend ~ input) {
    border: 1px solid #205e03 !important;
    border-left: 1px solid #205e03 !important;
    border-top: 1px solid #205e03 !important;
    border-right: 1px solid #205e03 !important;
    border-bottom: 1px solid #205e03 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

/* Harmonisation pour les champs avec préfixe (comme https://) */
.acf-input-prepend,
.acf-input-append,
.acf-input-prepend span,
.acf-input-append span,
.acf-input-wrap .acf-input-prepend,
.acf-input-wrap .acf-input-append {
    height: 44px !important;
    line-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
}

/* S'assurer que l'input à droite du préfixe a la même hauteur */
.acf-input-wrap {
    display: flex !important;
    align-items: stretch !important;
}

.acf-input-wrap .acf-input-prepend + input,
.acf-input-wrap .acf-input-prepend + .acf-input {
    height: 44px !important;
    flex: 1 !important;
    box-sizing: border-box !important;
}

/* Pour les champs ACF avec préfixe, harmoniser l'affichage */
.acf-field .acf-input-wrap {
    display: flex !important;
    align-items: stretch !important;
}

/* =========================================================
   BORDURE VERTE UNIFIÉE - Champs avec préfixe https://
   LOCALISATION : Ligne ~387-413
   Pour modifier la couleur de la bordure, changez "#205e03" ci-dessous
   ========================================================= */
.acf-field .acf-input-wrap .acf-input-prepend {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    line-height: 44px !important;
    min-width: 80px !important;
    padding: 0 12px !important;
    background: #f5f5f5 !important;
    border: 1px solid #205e03 !important; /* BORDURE VERTE - Changez cette valeur pour modifier la couleur */
    border-right: none !important;
    border-radius: 6px 0 0 6px !important;
    font-size: 14px !important;
    color: #555 !important;
}

.acf-field .acf-input-wrap input[type="text"],
.acf-field .acf-input-wrap input[type="url"],
.acf-field .acf-input-wrap input[type="email"] {
    height: 44px !important;
    border-radius: 0 6px 6px 0 !important;
    border: 1px solid #205e03 !important; /* BORDURE VERTE - Changez cette valeur pour modifier la couleur */
    border-left: none !important;
    flex: 1 !important;
    box-sizing: border-box !important;
    padding: 0 12px !important;
    line-height: 44px !important;
}

/* S'assurer que les bordures sont bien connectées (pas d'espace) */
.acf-field .acf-input-wrap .acf-input-prepend + input,
.acf-field .acf-input-wrap .acf-input-prepend + .acf-input {
    border-left: none !important;
    margin-left: 0 !important;
}

.acf-form .acf-input input[type="text"]:focus,
.acf-form .acf-input input[type="number"]:focus,
.acf-form .acf-input input[type="email"]:focus,
.acf-form .acf-input input[type="url"]:focus,
.acf-form .acf-input textarea:focus,
.acf-form .acf-input select:focus {
    border-color: #205e03 !important;
    border-left: 1px solid #205e03 !important; /* Bordure gauche maintenue au focus */
    outline: none;
    box-shadow: 0 0 0 3px rgba(61, 158, 80, 0.1);
}

/* =========================================================
   CALENDRIER (fond blanc, vert clair) - RETOUR VISUEL RENFORCÉ
   ========================================================= */

/* Masquer l'icône */
.ui-datepicker-trigger,
.ui-datepicker-trigger img {
    display: none !important;
}

#wizard-card {
    width: 90% !important;
    max-width: 600px !important;
    background: #ffffff !important;
}

#wizard-calendar {
    width: 100% !important;
}

#wizard-calendar .ui-datepicker {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    background: #ffffff !important;
}

#wizard-calendar .ui-datepicker table {
    width: 100% !important;
    background: #ffffff !important;
}

#wizard-calendar .ui-datepicker td {
    width: 14.28% !important;
    background: #ffffff !important;
}

#wizard-calendar .ui-datepicker td a {
    width: 100% !important;
    padding: 8px 0 !important;
    text-align: center !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
    background: #ffffff !important;
    color: #333 !important;
}

#wizard-calendar .ui-datepicker-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e0e0e0 !important;
    border-radius: 8px 8px 0 0 !important;
}

#wizard-calendar .ui-datepicker-title {
    color: #205e03 !important;
    font-weight: 600 !important;
}

#wizard-calendar .ui-datepicker-prev,
#wizard-calendar .ui-datepicker-next {
    color: #205e03 !important;
    background: #ffffff !important;
}

#wizard-calendar .ui-datepicker-prev:hover,
#wizard-calendar .ui-datepicker-next:hover {
    background: rgba(61, 158, 80, 0.1) !important;
}

/* =========================================================
   SÉLECTION VISUELLE DES DATES - STYLES RENFORCÉS
   ========================================================= */

/* Plage sélectionnée : fond vert clair pour toutes les dates entre début et fin */
#wizard-calendar .ui-datepicker td a.cal-day-selected-range,
#wizard-card .ui-datepicker td a.cal-day-selected-range,
#ui-datepicker-div .ui-datepicker td a.cal-day-selected-range,
#ui-datepicker-div td a.cal-day-selected-range,
.ui-datepicker td a.cal-day-selected-range,
.ui-datepicker-calendar td a.cal-day-selected-range,
#wizard-calendar td a.cal-day-selected-range,
#wizard-card td a.cal-day-selected-range {
    background: rgba(61, 158, 80, 0.25) !important;
    background-color: rgba(61, 158, 80, 0.25) !important;
    color: #205e03 !important;
    font-weight: 600 !important;
    border: 2px solid rgba(61, 158, 80, 0.4) !important;
    border-color: rgba(61, 158, 80, 0.4) !important;
    border-radius: 4px !important;
    display: block !important;
}

/* Date de début : cercle vert foncé avec animation */
#wizard-calendar .ui-datepicker td a.cal-day-selected-start,
#wizard-card .ui-datepicker td a.cal-day-selected-start,
#ui-datepicker-div .ui-datepicker td a.cal-day-selected-start,
#ui-datepicker-div td a.cal-day-selected-start,
.ui-datepicker td a.cal-day-selected-start,
.ui-datepicker-calendar td a.cal-day-selected-start,
#wizard-calendar td a.cal-day-selected-start,
#wizard-card td a.cal-day-selected-start,
.ui-state-default.cal-day-selected-start,
a.ui-state-default.cal-day-selected-start {
    background: #205e03 !important;
    background-color: #205e03 !important;
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 8px rgba(32, 94, 3, 0.5) !important;
    border: 3px solid #ffffff !important;
    border-color: #ffffff !important;
    animation: pulse-date 1.2s ease-in-out infinite !important;
    z-index: 15 !important;
    position: relative !important;
    transform: scale(1.1) !important;
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 26px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Date de fin : cercle vert moyen avec bordure blanche */
#wizard-calendar .ui-datepicker td a.cal-day-selected-end,
#wizard-card .ui-datepicker td a.cal-day-selected-end,
#ui-datepicker-div .ui-datepicker td a.cal-day-selected-end,
#ui-datepicker-div td a.cal-day-selected-end,
.ui-datepicker td a.cal-day-selected-end,
.ui-datepicker-calendar td a.cal-day-selected-end,
#wizard-calendar td a.cal-day-selected-end,
#wizard-card td a.cal-day-selected-end,
.ui-state-default.cal-day-selected-end,
a.ui-state-default.cal-day-selected-end {
    background: #358942 !important;
    background-color: #358942 !important;
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 8px rgba(53, 137, 66, 0.5) !important;
    border: 3px solid #ffffff !important;
    border-color: #ffffff !important;
    z-index: 15 !important;
    position: relative !important;
    transform: scale(1.1) !important;
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 26px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Animation pulse pour la date de début */
/* =========================================================
   BARRE DE PROGRESSION POUR LE TÉLÉVERSEMENT DE GALERIE
   ========================================================= */

/* Container de la barre de progression */
.upload-progress-container {
    margin-bottom: 15px;
    padding: 12px;
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

/* Barre de progression */
.upload-progress-bar {
    width: 100%;
    height: 10px;
    background-color: #e0e0e0;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
}

/* Remplissage de la barre de progression */
.upload-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #205e03 0%, #2d7a0a 100%);
    width: 0%;
    transition: width 0.4s ease;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(32, 94, 3, 0.3);
}

/* Texte de progression */
.upload-progress-text {
    margin-top: 8px;
    font-size: 13px;
    color: #555;
    text-align: center;
    font-weight: 500;
}

/* Animation du spinner de chargement */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.upload-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid #ffffff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes pulse-date {
    0%, 100% { 
        transform: scale(1.1);
        box-shadow: 0 3px 8px rgba(32, 94, 3, 0.5);
    }
    50% { 
        transform: scale(1.15);
        box-shadow: 0 4px 12px rgba(32, 94, 3, 0.7);
    }
}

/* Périodes existantes */
.ui-datepicker td a.cal-day-dispo {
    background: rgba(200, 246, 213, 0.25) !important;
    color: #22543d !important;
}

.ui-datepicker td a.cal-day-loue {
    background: rgba(254, 215, 215, 0.3) !important;
    color: #7b1f1f !important;
}

.ui-datepicker td a.cal-day-conflict {
    box-shadow: 0 0 0 2px #9a0000 inset !important;
    border: 1px solid #9a0000 !important;
}

.ui-datepicker td a.ui-state-default {
    color: #333 !important;
    border: 1px solid transparent !important;
    background: #ffffff !important;
}

.ui-datepicker td a.ui-state-default:hover {
    background: rgba(61, 158, 80, 0.08) !important;
    border-color: rgba(61, 158, 80, 0.15) !important;
}

.ui-datepicker td.ui-datepicker-other-month a {
    color: #ccc !important;
    background: #ffffff !important;
}

#wiz-date-feedback {
    text-align: center;
    color: #205e03;
    font-size: 12px;
    margin-top: 5px;
    padding: 5px;
    background: rgba(61, 158, 80, 0.05);
    border-radius: 4px;
}

/* =========================================================
   TABLEAU RÉCAPITULATIF
   ========================================================= */

.cal-summary-wrapper {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #e8e8e8;
    background: #ffffff;
}

.cal-summary-wrapper h4 {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: #205e03;
}

.cal-summary-alert {
    margin-bottom: 10px;
    font-size: 13px;
    color: #9a0000;
    display: none;
    padding: 8px 12px;
    background: #fff5f5;
    border-radius: 5px;
    border-left: 3px solid #9a0000;
}

.cal-summary-alert.has-conflict {
    display: block;
}

.cal-summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
}

.cal-summary-table thead th {
    text-align: left;
    padding: 10px 8px;
    background: #f9f9f9;
    border-bottom: 2px solid #e8e8e8;
    font-weight: 600;
    color: #555 !important;
    font-size: 12px !important;
}

.cal-summary-table tbody td {
    padding: 8px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    background: #ffffff;
}

.cal-summary-table tr.status-dispo td {
    background: #f0fff4;
    color: #22543d;
}

.cal-summary-table tr.status-loue td {
    background: #fff5f5;
    color: #742a2a;
}

.cal-summary-table tr.has-conflict td {
    box-shadow: inset 0 0 0 1px #9a0000;
}

.cal-statut-cell {
    white-space: nowrap;
}

.cal-statut-cell label {
    margin: 0;
    font-weight: normal;
}

.cal-statut-cell input[type="checkbox"] {
    cursor: pointer;
}

.cal-actions-cell {
    white-space: nowrap;
}

.cal-summary-table .cal-row-edit,
.cal-summary-table .cal-row-delete {
    display: inline-block;
    padding: 6px 12px;
    margin-right: 4px;
    font-size: 12px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
}

.cal-summary-table .cal-row-edit:hover,
.cal-summary-table .cal-row-delete:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.cal-summary-table .cal-row-edit {
    background: #205e03;
    color: #ffffff;
}

.cal-summary-table .cal-row-edit:hover {
    background: #358942;
}

.cal-summary-table .cal-row-delete {
    background: #9a0000;
    color: #ffffff;
}

.cal-summary-table .cal-row-delete:hover {
    background: #7a0000;
}

.cal-summary-table tr.editing td[contenteditable="true"] {
    background: #f0fff0;
    outline: 2px solid #205e03;
    padding: 5px;
    border-radius: 4px;
}

/* =========================================================
   RESPONSIVE - VUE SMARTPHONE (max-width: 768px)
   ========================================================= */

@media screen and (max-width: 768px) {
    /* Layout : passage en 1 colonne */
    .form-container-wrapper {
        flex-direction: column;
        gap: 0;
    }
    
    /* Sidebar : pleine largeur, pas de sticky */
    .form-sidebar {
        flex: 1 1 100%;
        width: 100%;
        position: relative;
        top: auto;
        padding: 15px;
        margin-bottom: 20px;
    }
    
    /* Main panel : pleine largeur, affiché sous la sidebar */
    .form-main-panel {
        flex: 1 1 100%;
        width: 100%;
        padding: 15px;
    }
    
    /* En mode mobile, les contenus sont dans chaque accordéon (accordéon classique) */
    .form-sidebar .acf-field-accordion {
        margin-bottom: 10px;
    }
    
    /* Les contenus des accordéons doivent être visibles dans la sidebar en mode mobile */
    .form-sidebar .acf-accordion-content {
        display: none;
        padding: 15px;
        background: #ffffff;
        border: 1px solid #e8e8e8;
        border-top: none;
        border-radius: 0 0 6px 6px;
    }
    
    .form-sidebar .acf-field-accordion.-open .acf-accordion-content,
    .form-sidebar .acf-field-accordion.active-tab .acf-accordion-content {
        display: block;
    }
    
    /* Le panel-body ne doit pas afficher les contenus en mobile (ils sont dans les accordéons) */
    .form-main-panel .panel-body {
        display: none !important;
    }
    
    /* Bouton submit : le déplacer visuellement dans le dernier accordéon en mobile */
    .form-main-panel .acf-form-submit {
        position: relative;
        width: 100%;
    }
    
    /* S'assurer que le bouton submit est accessible dans le dernier accordéon */
    .form-sidebar .acf-field-accordion:last-child .acf-accordion-content .acf-form-submit {
        display: block !important;
        margin-top: 20px;
        width: 100%;
        padding: 12px;
        font-size: 14px;
    }
    
    /* Bouton submit : styles responsives */
    .acf-form-submit input[type="submit"] {
        width: 100%;
        padding: 12px 20px;
        font-size: 14px;
    }
    
    /* Tableau récapitulatif : responsive en 1 colonne sur mobile */
    .cal-summary-table {
        font-size: 12px;
    }
    
    .cal-summary-table thead {
        display: none; /* Cacher les en-têtes sur mobile */
    }
    
    .cal-summary-table tbody tr {
        display: block;
        margin-bottom: 15px;
        border: 1px solid #e8e8e8;
        border-radius: 6px;
        padding: 10px;
        background: #ffffff;
    }
    
    .cal-summary-table tbody td {
        display: block;
        padding: 6px 0;
        text-align: left;
        border: none;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .cal-summary-table tbody td:last-child {
        border-bottom: none;
    }
    
    .cal-summary-table tbody td:before {
        content: attr(data-label);
        font-weight: 600;
        color: #205e03;
        display: inline-block;
        width: 140px;
        margin-right: 10px;
    }
    
    /* Adapter les boutons pour mobile */
    .cal-summary-table .cal-row-edit,
    .cal-summary-table .cal-row-delete {
        width: 48%;
        margin: 2px 1%;
        text-align: center;
    }
    
    /* Calendar wizard : adapter pour mobile */
    #wizard-card {
        width: 95% !important;
        max-width: 95% !important;
        padding: 15px !important;
    }
    
    #wizard-calendar {
        font-size: 12px;
    }
    
    #wizard-calendar .ui-datepicker td a {
        padding: 6px 0 !important;
        font-size: 12px !important;
    }
}

/* =========================================================
   BOUTONS PERSONNALISÉS DE TÉLÉCHARGEMENT DE FICHIERS
   Transformation des zones ACF en boutons visuels cliquables
   Style sobre : vert uni, pas d'icônes, hauteur uniforme
   ========================================================= */

/* Masquer les zones de dépôt ACF par défaut */
.acf-image-uploader,
.acf-file-uploader {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
}

/* HAUTEUR UNIFORME POUR TOUS LES BOUTONS - 44px (hauteur standard) */
.custom-upload-button,
.acf-field[data-name="galerie_photos"] .acf-button,
.acf-field[data-type="gallery"] .acf-gallery-toolbar .acf-button:not(.acf-gallery-remove),
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:not(.acf-gallery-remove),
.acf-gallery .acf-button:not(.acf-gallery-remove),
.acf-gallery a:not(.acf-gallery-remove) {
    height: 44px !important;
    line-height: 44px !important;
    box-sizing: border-box !important;
}

/* Boutons personnalisés - style sobre : vert uni, pas de dégradé, pas d'icônes */
.custom-upload-button {
    display: inline-block;
    padding: 0 24px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 200px;
    margin: 10px 0;
    position: relative;
    z-index: 10;
    background: #205e03;
    color: #ffffff;
    border: 1px solid #205e03;
    box-shadow: none;
}

.custom-upload-button:hover {
    background: #358942;
    border-color: #358942;
    transform: none;
    box-shadow: 0 2px 4px rgba(32, 94, 3, 0.2);
}

.custom-upload-button:active {
    background: #1a4d02;
    border-color: #1a4d02;
    transform: none;
    box-shadow: 0 1px 2px rgba(32, 94, 3, 0.1);
}

.custom-upload-button.file-selected {
    opacity: 0.9;
}

/* Tous les boutons ont la même couleur verte unie (pas de dégradé, pas de différenciation) */
.custom-upload-btn-image-main,
.custom-upload-btn-video,
.custom-upload-btn-image,
.custom-upload-btn-file {
    background: #205e03;
    color: #ffffff;
    border: 1px solid #205e03;
}

.custom-upload-btn-image-main:hover,
.custom-upload-btn-video:hover,
.custom-upload-btn-image:hover,
.custom-upload-btn-file:hover {
    background: #358942;
    border-color: #358942;
}

.custom-upload-btn-image-main:active,
.custom-upload-btn-video:active,
.custom-upload-btn-image:active,
.custom-upload-btn-file:active {
    background: #1a4d02;
    border-color: #1a4d02;
}

/* Bouton "Ajouter à la galerie" - même style sobre, hauteur identique */
.acf-field[data-name="galerie_photos"] .acf-button,
.acf-field[data-type="gallery"] .acf-gallery-toolbar .acf-button:not(.acf-gallery-remove),
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:not(.acf-gallery-remove),
.acf-gallery .acf-button:not(.acf-gallery-remove),
.acf-gallery a:not(.acf-gallery-remove) {
    background: #205e03 !important;
    color: #ffffff !important;
    border: 1px solid #205e03 !important;
    padding: 0 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    min-width: 220px !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 100 !important;
}

/* Supprimer TOUS les symboles et icônes du bouton galerie */
.acf-field[data-name="galerie_photos"] .acf-button:before,
.acf-field[data-name="galerie_photos"] .acf-button:after,
.acf-field[data-type="gallery"] .acf-gallery-toolbar .acf-button:before,
.acf-field[data-type="gallery"] .acf-gallery-toolbar .acf-button:after,
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:before,
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:after,
.acf-gallery .acf-button:not(.acf-gallery-remove):before,
.acf-gallery .acf-button:not(.acf-gallery-remove):after,
.acf-gallery a:not(.acf-gallery-remove):before,
.acf-gallery a:not(.acf-gallery-remove):after {
    display: none !important;
    content: none !important;
}

.acf-field[data-name="galerie_photos"] .acf-button:hover,
.acf-field[data-type="gallery"] .acf-gallery-toolbar .acf-button:not(.acf-gallery-remove):hover,
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:not(.acf-gallery-remove):hover,
.acf-gallery .acf-button:not(.acf-gallery-remove):hover,
.acf-gallery a:not(.acf-gallery-remove):hover {
    background: #358942 !important;
    border-color: #358942 !important;
    transform: none !important;
    box-shadow: 0 2px 4px rgba(32, 94, 3, 0.2) !important;
    text-decoration: none !important;
}

.acf-field[data-name="galerie_photos"] .acf-button:active,
.acf-field[data-type="gallery"] .acf-gallery-toolbar .acf-button:not(.acf-gallery-remove):active,
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:not(.acf-gallery-remove):active,
.acf-gallery .acf-button:not(.acf-gallery-remove):active,
.acf-gallery a:not(.acf-gallery-remove):active {
    background: #1a4d02 !important;
    border-color: #1a4d02 !important;
    transform: none !important;
    box-shadow: 0 1px 2px rgba(32, 94, 3, 0.1) !important;
}

/* S'assurer que les liens <a> ressemblent à des boutons */
.acf-field[data-type="gallery"] .acf-gallery-toolbar a:not(.acf-gallery-remove),
.acf-gallery a:not(.acf-gallery-remove) {
    text-decoration: none !important;
    outline: none !important;
}

/* Zone de galerie ACF - style amélioré */
.acf-gallery {
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    padding: 20px;
    background: #ffffff;
    margin-top: 15px;
}

.acf-gallery-toolbar {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e8e8e8;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* =========================================================
   HARMONISATION DE TOUS LES LABELS DE CHAMPS ACF
   Couleur verte, taille et style uniformes
   ========================================================= */

/* Labels de tous les champs ACF - style uniforme */
.acf-field .acf-label,
.acf-field .acf-label label,
.acf-label,
.acf-label label,
.acf-field label,
.acf-field[data-type="image"] .acf-label,
.acf-field[data-type="image"] .acf-label label,
.acf-field[data-type="file"] .acf-label,
.acf-field[data-type="file"] .acf-label label,
.acf-field[data-type="gallery"] .acf-label,
.acf-field[data-type="gallery"] .acf-label label,
.acf-field[data-type="text"] .acf-label label,
.acf-field[data-type="textarea"] .acf-label label,
.acf-field[data-type="number"] .acf-label label,
.acf-field[data-type="date_picker"] .acf-label label,
.acf-field[data-type="repeater"] .acf-label label,
.acf-field[data-type="accordion"] .acf-label label,
.acf-field[data-name="featured_image"] .acf-label label,
.acf-field[data-name="image_principale"] .acf-label label,
.acf-field[data-name="video"] .acf-label label,
.acf-field[data-name="galerie_photos"] .acf-label label {
    font-weight: 600;
    color: #205e03 !important;
    font-size: 15px;
    margin-bottom: 12px;
    display: block;
    font-family: inherit;
    line-height: 1.4;
}

/* Labels dans les accordéons */
.form-sidebar .acf-field .acf-label label,
.form-main-panel .acf-field .acf-label label,
.acf-accordion-content .acf-field .acf-label label {
    font-weight: 600 !important;
    color: #205e03 !important;
    font-size: 15px !important;
    margin-bottom: 12px !important;
}

/* Les styles des titres d'accordéon sont déjà définis plus haut */
/* Cette section est maintenue pour éviter les conflits mais les règles principales sont au-dessus */

/* Assurer que tous les labels héritent du style uniforme SAUF exceptions */
.acf-form .acf-field .acf-label,
.acf-form .acf-field .acf-label label {
    color: #205e03 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* EXCEPTIONS : Restaurer les styles d'origine pour certains éléments */

/* 1. Labels dans les accordéons - style modifié par l'utilisateur */
.form-sidebar .acf-field-accordion .acf-accordion-title,
.form-sidebar .acf-field-accordion .acf-accordion-title label,
.form-sidebar .acf-field-accordion .acf-label label {
    color: #000 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
}

/* =========================================================
   UNIFORMISATION DES TEXTES D'INSTRUCTION
   ========================================================= */
.acf-field .acf-instructions,
.acf-field .description,
.acf-field p.description {
    color: #000000 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    margin-top: 6px !important;
    margin-bottom: 12px !important;
    font-style: normal !important;
}

/* =========================================================
   WIZARD CALENDRIER - CHAMPS TARIF
   ========================================================= */

/* Conteneur des champs tarif : largeur EXACTEMENT identique au calendrier */
#wiz-tarif-container {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
    /* S'assurer que le conteneur a exactement la même largeur calculée que le calendrier */
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#wiz-tarif,
#wiz-tarif-nuit {
    flex: 1 1 calc(50% - 5px) !important; /* 50% moins la moitié du gap */
    min-width: 0 !important; /* Permettre le rétrécissement */
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
}

/* =========================================================
   CASES À COCHER "LES PLUS" - TABLEAU RESPONSIVE
   ========================================================= */

/* Container principal des cases à cocher - LISTE SIMPLE (pas de grille) */
.acf-field[data-name="les_plus"] .acf-checkbox-list,
.acf-field[data-type="checkbox"] .acf-checkbox-list {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Cacher seulement les éléments vraiment vides (sans label et sans checkbox visible) */
.acf-field[data-name="les_plus"] .acf-checkbox-list li:empty,
.acf-field[data-type="checkbox"] .acf-checkbox-list li:empty {
    display: none !important;
}

/* Cacher tous les inputs hidden pour éviter les rectangles noirs */
.acf-field[data-name="les_plus"] input[type="hidden"],
.acf-field[data-type="checkbox"] input[type="hidden"],
.acf-field[data-name="les_plus"] .acf-input input[type="hidden"],
.acf-field[data-type="checkbox"] .acf-input input[type="hidden"] {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Affichage en liste simple - règles de grille supprimées */
/* Toutes les tailles d'écran utilisent l'affichage en liste simple */
    
    /* Supprimer les éléments vides en mobile */
    .acf-field[data-name="les_plus"] .acf-checkbox-list li:not(:has(label)),
    .acf-field[data-type="checkbox"] .acf-checkbox-list li:not(:has(label)) {
        display: none !important;
    }
}

/* Style des éléments de case à cocher - LISTE SIMPLE */
.acf-field[data-type="checkbox"] .acf-checkbox-list li,
.acf-field[data-name="les_plus"] .acf-checkbox-list li {
    list-style: none !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
}

/* Supprimer l'espace en haut à gauche du tableau */
.acf-field[data-name="les_plus"] .acf-checkbox-list li:first-child,
.acf-field[data-type="checkbox"] .acf-checkbox-list li:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Labels des cases à cocher - TEXTE PLUS GROS */
.acf-field[data-type="checkbox"] .acf-checkbox-list label,
.acf-field[data-name="les_plus"] .acf-checkbox-list label,
.acf-checkbox-list label,
.acf-checkbox-list .acf-checkbox-label,
.acf-field[data-type="checkbox"] .acf-checkbox-list li label {
    color: #555 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    padding: 10px 0 !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    line-height: 1.6 !important;
    transition: color 0.2s ease !important;
}

/* Hover sur les labels */
.acf-field[data-type="checkbox"] .acf-checkbox-list label:hover,
.acf-field[data-name="les_plus"] .acf-checkbox-list label:hover {
    color: #205e03 !important;
}

/* Cases à cocher - plus grandes et VERTES */
.acf-field[data-type="checkbox"] .acf-checkbox-list input[type="checkbox"],
.acf-field[data-name="les_plus"] .acf-checkbox-list input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin-right: 12px !important;
    cursor: pointer !important;
    accent-color: #205e03 !important;
    border: 2px solid #ccc !important;
    border-radius: 4px !important;
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
}

/* Couleur verte pour les cases à cocher cochées - Support moderne avec accent-color */
.acf-field[data-type="checkbox"] .acf-checkbox-list input[type="checkbox"]:checked,
.acf-field[data-name="les_plus"] .acf-checkbox-list input[type="checkbox"]:checked {
    accent-color: #205e03 !important;
    background-color: #205e03 !important;
    border-color: #205e03 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='white' d='M5.5 11L0 5.5l1.5-1.5 4 4 7-7L14 2.5z'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Style personnalisé pour les checkboxes cochées avec pseudo-élément */
.acf-field[data-type="checkbox"] .acf-checkbox-list input[type="checkbox"]:checked::before,
.acf-field[data-name="les_plus"] .acf-checkbox-list input[type="checkbox"]:checked::before {
    content: "✓" !important;
    color: #ffffff !important;
    font-weight: bold !important;
    display: block !important;
    text-align: center !important;
    line-height: 16px !important;
    font-size: 14px !important;
}

/* Icônes dans les cases à cocher - PLUS GRANDES */
.acf-field[data-type="checkbox"] .acf-checkbox-list label img,
.acf-field[data-name="les_plus"] .acf-checkbox-list label img,
.acf-checkbox-list label img {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    margin-right: 10px !important;
    margin-left: 0 !important;
    object-fit: contain !important;
}

/* Espacement des icônes */
.acf-field[data-type="checkbox"] .acf-checkbox-list label::before,
.acf-field[data-name="les_plus"] .acf-checkbox-list label::before {
    margin-right: 0 !important;
}

/* Espacement entre checkbox et icône */
.acf-field[data-type="checkbox"] .acf-checkbox-list label {
    gap: 10px !important;
}

.acf-field[data-type="checkbox"] .acf-checkbox-list label input[type="checkbox"] {
    margin-right: 10px !important;
}

/* Champ spécifique #acf-field_604525eba8117 - texte moins gras */
#acf-field_604525eba8117 .acf-label label,
#acf-field_604525eba8117 label,
#acf-field_604525eba8117 .acf-instructions,
#acf-field_604525eba8117 .description,
#acf-field_604525eba8117 * {
    font-weight: 400 !important;
}

#acf-field_604525eba8117 .acf-label label {
    font-weight: 500 !important;
}

/* 3. Titres de colonnes du tableau - style d'origine restauré */
.cal-summary-table thead th,
.cal-summary-table thead th * {
    color: #555 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Texte d'aide pour les champs de fichiers */
.acf-field[data-type="image"] .description,
.acf-field[data-type="file"] .description,
.acf-field[data-type="gallery"] .description {
    font-size: 12px;
    color: #666;
    margin-top: 8px;
    line-height: 1.6;
}

/* Input file masqué (géré par ACF en interne) */
.acf-field input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
    pointer-events: none;
}
