.elementor-1367 .elementor-element.elementor-element-1fd1e4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1367 .elementor-element.elementor-element-14ac7bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1367 .elementor-element.elementor-element-056eb99{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-7717fe1 *//* Style pour la liste des rendez-vous */
.appointments-list {
    margin-top: 30px;
}

/* Style pour chaque carte de rendez-vous */
.appointment-card {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-left: 5px solid #0C557D; /* Bordure de couleur pour le design */
    border-radius: 5px;
    padding: 15px 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* En-tête de la carte (Date + Statut) */
.appointment-card .card-header {
    display: flex;
    justify-content: space-between; /* Aligne la date à gauche et le statut à droite */
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.appointment-card .card-header h4 {
    margin: 0;
    font-size: 1.1em;
    color: #333;
}

/* Badge pour le statut */
.appointment-card .card-status {
    font-size: 0.8em;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 15px;
    color: #fff;
    background-color: #6c757d; /* Couleur par défaut */
}

/* Couleurs spécifiques pour les statuts (adaptez les noms si besoin) */
.card-status.status-1-non-commence,
.card-status.status-planifie {
    background-color: #ffc107; /* Jaune */
    color: #333;
}
.card-status.status-termine { /* Exemple */
    background-color: #28a745; /* Vert */
}
.card-status.status-annule { /* Exemple */
    background-color: #dc3545; /* Rouge */
}


/* Corps de la carte (détails de la remarque) */
.appointment-card .card-body {
    font-size: 0.95em;
    line-height: 1.6;
    color: #555;
}

.appointment-card .card-body p {
    margin: 0;
}

/* (Optionnel) Affiner le message de bienvenue */
.welcome-message h2 {
    font-size: 1.8em; /* Un peu moins grand */
    text-transform: none; /* Enlever les majuscules */
    font-weight: 600;
}
.appointment-card.is-past-appointment {
    border-left-color: #dc3545; /* Rouge pour le liseré */
    background-color: #f8f9fa;  /* Fond légèrement grisé */
    opacity: 0.8; /* Un peu estompé */
}

/* Style pour le pied de la carte contenant le bouton */
.appointment-card .card-footer {
    border-top: 1px solid #f0f0f0;
    padding-top: 15px;
    margin-top: 15px;
    text-align: right;
}

/* Style pour le bouton "Modifier" */
.modify-appointment-btn {
    background-color: #ffc107; /* Jaune/Orange */
    color: #212529;
    border: none;
    padding: 8px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    font-size: 0.9em;
}
.modify-appointment-btn:hover {
    background-color: #e0a800;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-07fdc34 */body {
  font-family: 'Poppins', sans-serif;
  background-color: #f4f7f9;
}

#entretien-chauffage-form {
  max-width: 700px;
  margin: auto;
  background: white;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.form-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  margin-bottom: 15px;
}

.form-group label {
  width: 100%;
  font-weight: 300;
  color: #333;
  margin-bottom: 5px;
}

.form-group div {
  flex: 1;
  min-width: calc(50% - 10px);
}

.full-width {
  width: 100%;
}

.info-box {
  background: #f9f9f9;
  border: 2px solid #0C557D;
  border-radius: 8px;
  padding: 10px;
  font-size: 16px;
  color: #333;
}

#validation {
  width: 100%;
  background: #006AA5;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 15px;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.3s;
}

#validation:hover {
  background: #009FE3;
}

input, select, textarea {
  width: 100%;
  padding: 10px;
  border: 2px solid #0C557D;
  border-radius: 8px;
  font-size: 16px;
}

#planning-container {
    text-align: center;
    margin-bottom: 20px;
}

#calendar-nav {
  margin-bottom: 10px;
}

#temps-intervention {
  font-weight: bold;
  margin: 10px 0;
  color: #333;
}

#selection-date-heure {
  margin: 10px 0;
  font-weight: 600;
  color: #0C557D;
}
#temps-intervention {
    text-align: center;
    color: red;
}
#cal-next {
    float: right;
    margin-bottom: 10px !important;
}
#cal-prev {
    float: left;
}
/* Style pour le conteneur principal du tableau du calendrier */
.hourly-calendar {
    border-collapse: collapse;
    margin: 20px auto;
    width: 100%; /* Ou une largeur fixe */
    font-size: 0.9em;
}

.hourly-calendar caption {
    font-size: 1.2em;
    font-weight: bold;
    padding: 10px;
    background-color: #0275d8; /* Adaptez les couleurs */
    color: white;
}

.hourly-calendar th {
    background: #f0f0f0;
    padding: 8px;
    text-align: center;
    border: 1px solid #ccc;
}

.hourly-calendar td {
    width: 14%; /* Environ 1/7 de la largeur */
    height: auto; /* La hauteur s'adaptera au contenu */
    min-height: 80px; /* Hauteur minimale pour la lisibilité */
    text-align: left; /* Pour le numéro du jour */
    vertical-align: top;
    border: 1px solid #ccc;
    position: relative;
    padding: 2px;
}

.hourly-calendar td.empty {
    background-color: #f9f9f9;
}

.hourly-calendar td.past-day {
    background-color: #eeeeee;
    color: #aaa;
}
.hourly-calendar td.past-day .hourly-slot { /* Les slots des jours passés ne sont pas cliquables */
     cursor: default;
     background-color: #e0e0e0 !important;
     color: #999;
}


.day-number {
    font-weight: bold;
    text-align: right;
    padding-right: 5px;
    margin-bottom: 3px;
    display: block; /* Pour qu'il prenne sa propre ligne */
}

/* Conteneur pour les slots d'une journée */
.day-slots {
    display: flex; /* Permet d'arranger les slots */
    flex-direction: column; /* Slots les uns en dessous des autres */
    /* Ou utilisez flex-wrap: wrap; et ajustez la largeur de .hourly-slot si vous voulez plusieurs colonnes de slots par jour */
    gap: 2px; /* Petit espace entre les slots */
}

/* Style pour chaque créneau horaire individuel */
.hourly-slot {
    padding: 4px;
    border: 1px solid #d4d4d4;
    border-radius: 3px;
    text-align: center;
    font-size: 0.85em;
    background-color: #f0f0f0; /* Couleur par défaut pour un slot (peut-être non disponible ou non vérifié) */
    color: #777;
    cursor: default; /* Non cliquable par défaut */
}

.hourly-slot.available {
    background-color: #e7ffe7; /* Vert clair pour disponible */
    color: #333;
    cursor: pointer;
    border-color: #a0d8a0;
}

.hourly-slot.available:hover {
    background-color: #c8f7c8; /* Un peu plus foncé au survol */
    font-weight: bold;
}

.no-slots { /* Pour le message "-" dans les jours passés */
    display: block;
    text-align: center;
    color: #aaa;
}

/* Assurez-vous que les boutons de navigation sont visibles */
#calendar-nav {
    text-align: center; /* Ou tout autre style que vous aviez */
    margin-bottom: 10px;
}
#calendar-nav button {
    /* Vos styles pour les boutons ici, par exemple : */
    padding: 8px 12px;
    margin: 0 5px;
}

/* Pour le conteneur des slots journaliers */
#daily-slots-container-wrapper {
    margin-top: 20px;
    padding: 10px;
    border: 1px solid #eee;
    background-color: #f9f9f9;
}
#selected-day-title {
    margin-top:0;
    margin-bottom: 10px;
    font-size: 1.1em;
    color: #333;
}
#daily-slots-container {
    display: flex;
    flex-wrap: wrap; /* Les slots iront à la ligne si pas assez de place */
    gap: 5px; /* Espace entre les slots */
}

/* Style pour un jour sélectionné dans le calendrier mensuel */
.monthly-overview-calendar .day-cell.selected-day-visual {
    background-color: #d0e9ff; /* Bleu clair pour indiquer la sélection */
    box-shadow: 0 0 5px rgba(0,123,255,.5);
}

/* Style pour un slot horaire sélectionné */
#daily-slots-container .hourly-slot.selected-slot-visual {
    background-color: #28a745; /* Vert plus foncé */
    color: white;
    font-weight: bold;
    border-color: #1e7e34;
}
.clickable-day { /* S'assurer que les jours cliquables ont un curseur pointeur */
    cursor: pointer;
}
.clickable-day:hover {
    background-color: #f0f8ff; /* Léger survol pour les jours cliquables */
}
/* Styles pour la VUE MENSUELLE (la grille des jours) */
.monthly-overview-calendar {
    border-collapse: collapse;
    margin: 20px auto; /* Centre le calendrier */
    width: 100%;     /* Ou une largeur fixe, ex: 700px */
    font-size: 0.9em; /* Ajustez la taille de la police si besoin */
}

.monthly-overview-calendar caption {
    font-size: 1.2em;
    font-weight: bold;
    padding: 10px;
    background-color: #0C557D; /* Votre bleu foncé */
    color: white;
}

.monthly-overview-calendar th { /* En-têtes Lun, Mar, ... */
    background: #f0f0f0;
    padding: 8px;
    text-align: center;
    border: 1px solid #ccc;
}

.monthly-overview-calendar td.day-cell { /* Une cellule de jour */
    width: 14.28%; /* 100% / 7 jours */
    height: 70px;  /* Hauteur fixe pour les cellules de jour */
    text-align: left;
    vertical-align: top;
    border: 1px solid #ccc;
    padding: 4px;
    box-sizing: border-box; /* Pour que padding et border soient inclus dans width/height */
}

.monthly-overview-calendar td.empty { /* Cellules vides avant/après les jours */
    background-color: #f9f9f9;
    border: 1px solid #eee;
}

.monthly-overview-calendar .day-number { /* Le numéro du jour */
    font-weight: bold;
    text-align: right;
    display: block;
    margin-bottom: 5px;
}

.monthly-overview-calendar .clickable-day { /* Jours cliquables (non passés, non weekend) */
    cursor: pointer;
    background-color: #ffffff; /* Fond blanc pour les jours cliquables */
}
.monthly-overview-calendar .clickable-day:hover {
    background-color: #e6f7ff; /* Léger surlignage au survol */
}

/* Style pour un jour SÉLECTIONNÉ dans la vue mensuelle */
.monthly-overview-calendar .day-cell.selected-day-visual {
    background-color: #d0e9ff !important; /* Un bleu clair pour le jour sélectionné */
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); /* Ombre intérieure pour effet "pressé" */
}

.monthly-overview-calendar .past-day {
    background-color: #f0f0f0;
    color: #aaa;
    cursor: default;
}
.monthly-overview-calendar .past-day .day-number {
    color: #aaa;
}

.monthly-overview-calendar .weekend-day { /* Samedi et Dimanche */
    background-color: #f5f5f5; /* Un gris légèrement différent pour les weekends non cliquables */
    color: #999;
    cursor: default;
}
.monthly-overview-calendar .weekend-day .day-number {
    color: #999;
}
.monthly-overview-calendar .day-availability-indicator {
    font-size: 0.75em; /* Plus petit que le numéro du jour */
    text-align: center;
    margin-top: 4px;
    display: block; /* Pour qu'il prenne sa propre ligne en dessous du numéro */
    line-height: 1.2;
}

.monthly-overview-calendar .day-availability-indicator .cal-indicator {
    padding: 1px 5px; /* Ajustez le padding */
    border-radius: 3px;
    color: white; /* Couleur de texte par défaut pour les badges */
    display: inline-block; /* Pour que le padding s'applique bien */
}

.monthly-overview-calendar .day-availability-indicator .cal-indicator.full { /* Jour complet */
    background-color: #dc3545; /* Rouge */
}

.monthly-overview-calendar .day-availability-indicator .cal-indicator.partial { /* Disponibilité limitée */
    background-color: #ffc107; /* Orange/Jaune */
    color: #212529; /* Texte plus foncé pour la lisibilité sur fond jaune */
}

.monthly-overview-calendar .day-availability-indicator .cal-indicator.avail { /* Journée probablement libre */
    background-color: #28a745; /* Vert */
}

/* Optionnel : griser un peu plus les jours complets pour les rendre moins proéminents */
.monthly-overview-calendar td.day-fully-booked.clickable-day {
    background-color: #ffe0e3; /* Un fond rosé très clair */
    /* Vous pouvez même les rendre non cliquables en retirant la classe clickable-day en PHP si available_slots_count == 0 */
}
.monthly-overview-calendar td.day-partially-booked.clickable-day {
    background-color: #fff8e1; /* Un fond jaune très clair */
}

#show-booking-form-btn {
    width: 100%;
    background-color: #F2BC10;
    color: #000;
    border: none;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 20px;
    cursor: pointer;
}
#show-booking-form-btn:hover {
    background-color: #e0a800;
}

placeholder {
    color: #000 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-14ac7bd */#modification {
    display: none;
}/* End custom CSS */