/* ===== GF — Formulaire ID 1 ===== */
#gform_wrapper_1{
  --gf-lavender: #B6B1C6;   /* libellés / accent */
  --gf-desc:     #7C7593;   /* descriptions + sous-libellés */
  --gf-ghost:    #ffffff2b; /* transparent blanc ~17% */
  --gf-grad-a:   #00b15c;   /* progress/bouton suivant */
  --gf-grad-b:   #00b2b8;
}

/* ===== Boutons ===== */
#gform_wrapper_1 .gform_page_footer,
#gform_wrapper_1 .gform_footer{ width:100%; }

#gform_wrapper_1 .gform_page_footer{ 
  display:flex; flex-direction:column; gap:12px; align-items:stretch;
}

/* Suivant / Envoyer (plein) */
#gform_wrapper_1 .gform_page_footer .gform_next_button,
#gform_wrapper_1 .gform_footer .gform_button{
  width:100%!important; display:block!important; float:none!important;
  max-width:none!important; box-sizing:border-box;
  padding:16px 20px; border-radius:10px; border:0;
  background-image:linear-gradient(90deg,var(--gf-grad-a) 0%, var(--gf-grad-b) 100%);
  color:#fff; font-weight:700; transition:filter .12s ease, transform .12s ease;
}
#gform_wrapper_1 .gform_page_footer .gform_next_button:hover,
#gform_wrapper_1 .gform_footer .gform_button:hover{ filter:brightness(.95); transform:translateY(-1px); }

/* Précédent (outline lavender) */
#gform_wrapper_1 .gform_page_footer .gform_previous_button{
  width:100%!important; display:block!important; box-sizing:border-box;
  padding:16px 20px; border-radius:10px;
  background:transparent; border:1px solid var(--gf-ghost);
  color:var(--gf-lavender); font-weight:700;
  transition:background .18s ease, color .18s ease, transform .12s ease;
}
#gform_wrapper_1 .gform_page_footer .gform_previous_button:hover,
#gform_wrapper_1 .gform_page_footer .gform_previous_button:focus{
  background:var(--gf-ghost); color:var(--gf-lavender); transform:translateY(-1px);
}

/* ===== Progressbar ===== */
#gform_wrapper_1 .gf_progressbar_title{ display:none!important; }
#gform_wrapper_1 .gf_progressbar{
  height:12px; border-radius:999px; background:rgba(255,255,255,.12); overflow:hidden;
}
#gform_wrapper_1 .gf_progressbar .gf_progressbar_percentage{
  height:12px; border-radius:999px;
  background-image:linear-gradient(90deg,var(--gf-grad-a) 0%, var(--gf-grad-b) 100%);
  transition:width .35s ease;
}

/* ===== En-tête / légende requise ===== */
#gform_wrapper_1 .gform_heading .gform_title,
#gform_wrapper_1 .gform_heading .gform_description,
#gform_wrapper_1 .gform_required_legend{ display:none!important; }
#gform_wrapper_1 .gform_heading{ margin:0!important; }

/* ===== Couleurs de texte ===== */
/* Libellés principaux & options */
#gform_wrapper_1 .gfield .gfield_label,
#gform_wrapper_1 .gfield_radio li label,
#gform_wrapper_1 .gfield_checkbox li label,
#gform_wrapper_1 label{
  color:var(--gf-lavender)!important;
}
/* Descriptions + sous-libellés (plus sombre) */
#gform_wrapper_1 .ginput_complex label,
#gform_wrapper_1 .gfield_description:not(.validation_message),
#gform_wrapper_1 .gform_description,
#gform_wrapper_1 .instruction{
  color:var(--gf-desc)!important; opacity:1!important;
}
/* Placeholders */
#gform_wrapper_1 ::placeholder{ color:#A59EB7!important; opacity:1!important; }
/* Astérisque requis */
#gform_wrapper_1 .gfield_required,
#gform_wrapper_1 .gfield_required .gfield_required_asterisk{ color:#ff6b6b!important; }

/* ===== Champ radio 26 : masquer le titre ===== */
#gform_wrapper_1 #field_1_26 .gfield_label{ display:none!important; }
#gform_wrapper_1 #field_1_26{ margin-top:0; }

/* ===== Retirer les halos bleus & uniformiser le focus ===== */
/* Radios/checkbox : accent lavender + aucun halo bleu */
#gform_wrapper_1 input[type="radio"],
#gform_wrapper_1 input[type="checkbox"]{
  accent-color:var(--gf-lavender)!important;
  outline:none!important; box-shadow:none!important;
}
/* Inputs/select/textarea : pas de halo bleu, bord lavender au focus */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 input[type="number"],
#gform_wrapper_1 input[type="url"],
#gform_wrapper_1 input[type="checkbox"],
#gform_wrapper_1 select,
#gform_wrapper_1 textarea{
  color:#eaf2ff!important;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  outline:none;
}
#gform_wrapper_1 input[type="text"]:focus,
#gform_wrapper_1 input[type="email"]:focus,
#gform_wrapper_1 input[type="tel"]:focus,
#gform_wrapper_1 input[type="number"]:focus,
#gform_wrapper_1 input[type="url"]:focus,
#gform_wrapper_1 select:focus,
#gform_wrapper_1 textarea:focus{
  border-color:var(--gf-lavender)!important;
  outline:none!important; box-shadow:none!important;
}
/* Supprime les surbrillances mobiles WebKit */
#gform_wrapper_1 *:focus{ -webkit-tap-highlight-color: transparent; }

/* === Désactiver les halos bleus SANS casser le style de "Précédent" === */

/* NEXT / ENVOYER : pas de halo ni bordure */
#gform_wrapper_1 .gform_page_footer .gform_next_button,
#gform_wrapper_1 .gform_footer .gform_button{
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;            /* OK pour Next/Envoyer */
}
#gform_wrapper_1 .gform_page_footer .gform_next_button:focus,
#gform_wrapper_1 .gform_page_footer .gform_next_button:focus-visible,
#gform_wrapper_1 .gform_page_footer .gform_next_button:active,
#gform_wrapper_1 .gform_footer .gform_button:focus,
#gform_wrapper_1 .gform_footer .gform_button:focus-visible,
#gform_wrapper_1 .gform_footer .gform_button:active{
  outline: none !important;
  box-shadow: none !important;
}

/* PRECEDENT : on garde la bordure ghost */
#gform_wrapper_1 .gform_page_footer .gform_previous_button{
  outline: none !important;
  box-shadow: none !important;
  border: 1px solid var(--gf-ghost) !important;   /* << restore */
}
#gform_wrapper_1 .gform_page_footer .gform_previous_button:focus,
#gform_wrapper_1 .gform_page_footer .gform_previous_button:focus-visible,
#gform_wrapper_1 .gform_page_footer .gform_previous_button:active{
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--gf-ghost) !important;       /* conserve au focus */
}

/* Cas Firefox (bordures internes) */
#gform_wrapper_1 .gform_page_footer .gform_next_button::-moz-focus-inner,
#gform_wrapper_1 .gform_page_footer .gform_previous_button::-moz-focus-inner,
#gform_wrapper_1 .gform_footer .gform_button::-moz-focus-inner{
  border: 0 !important;
}

/* Si un parent prend un halo via :focus-within */
#gform_wrapper_1 .gform_page_footer:focus-within{
  outline: none !important;
  box-shadow: none !important;
}

/* Désactive la surbrillance mobile */
#gform_wrapper_1 *:focus{ -webkit-tap-highlight-color: transparent; }

/* Masque tous les spinners GF pour le formulaire 1 */
#gform_ajax_spinner_1,
img.gform_ajax_spinner,
.gform_ajax_spinner,
#gform_wrapper_1 .gform_ajax_spinner,
#gform_wrapper_1 .gf_spinner,
#gform_wrapper_1 [class*="spinner"],
#gform_wrapper_1 [class*="loader"]{
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === Champ "Option Entreprise" (Form 1, Field XX) === */
#gform_wrapper_1 #field_1_30 .gfield_checkbox{
  display: grid;
  gap: 12px;
}

/* Carte par option */
#gform_wrapper_1 #field_1_30 .gfield_checkbox li{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--gf-ghost);
  border-radius: 12px;
  background: rgba(255,255,255,.04);
}

/* Grande case à cocher */
/* Champ "Option Entreprise" (Form 1, Field XX) */
#gform_wrapper_1 #field_1_30 .gfield_checkbox{
  display: grid;
  gap: 14px; /* espace entre les options */
}

/* Ligne d’option : case + bloc texte */
#gform_wrapper_1 #field_1_30 .gfield_checkbox li{
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: flex-start;
  column-gap: 12px;
}

/* Grande case à cocher */
#gform_wrapper_1 #field_1_30 input[type="checkbox"]{
  width: 22px; height: 22px;           /* fallback Firefox */
  transform: scale(1.2);
  transform-origin: left center;
  margin : 15px;
  accent-color: var(--gf-lavender);
  margin-top: 2px;
}

/* Titre + description dans le label */
#gform_wrapper_1 #field_1_30 .gchoice label{ display:block; margin:0; line-height:1.2; }
#gform_wrapper_1 #field_1_30 .opt-title{
  display:block; font-weight:800; color:var(--gf-lavender);
  font-size: clamp(15px, 1.1vw, 18px);
}
#gform_wrapper_1 #field_1_30 .opt-desc{
  display:block; margin-top:4px; color:var(--gf-desc);
  font-size: clamp(13px, .95vw, 15px); line-height:1.45;
}

/* Masquer le prix auto ajouté par GF (si l’option n’existe pas dans l’UI) */
#gform_wrapper_1 #field_1_30 .ginput_price{ display:none !important; }

/* Wrapper Payment Element (en dehors de l’iframe) */
#gform_wrapper_1 .stripe-payment-element,
#gform_wrapper_1 .gform_stripe_payment_element, /* selon versions */
#gform_wrapper_1 .gform_stripe_element {
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
}

#gform_wrapper_1 .stripe-payment-element:focus-within,
#gform_wrapper_1 .gform_stripe_payment_element:focus-within {
  outline: none;
  box-shadow: none;
  border-color: #B6B1C6;
}

/* ================================
   gAppointments / Datepicker – SAFE
   Scope strict : #gform_wrapper_1
   ================================ */
#gform_wrapper_1{
  /* dérivées depuis tes variables existantes */
  --cal-bg: rgba(255,255,255,.06);
  --cal-border: var(--gf-ghost);
  --cal-hover: rgba(255,255,255,.12);
  --cal-text: #EAF2FF;
  --cal-muted: var(--gf-desc);
  --cal-a: var(--gf-grad-a);
  --cal-b: var(--gf-grad-b);
}

/* Toujours au dessus (évite qu’il passe sous le formulaire) */
#gform_wrapper_1 .ui-datepicker{ z-index: 999999 !important; }

/* Conteneur du calendrier (jQuery UI) */
#gform_wrapper_1 .ui-datepicker{
  background: var(--cal-bg);
  border: 1px solid var(--cal-border);
  border-radius: 14px;
  color: var(--cal-text);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  overflow: hidden;
  font-size: 14px;           /* compact et lisible */
}

/* En-tête (mois/année + flèches) */
#gform_wrapper_1 .ui-datepicker .ui-datepicker-header{
  background: var(--cal-hover);
  border-bottom: 1px solid var(--cal-border);
  padding: .6rem .75rem;
  border-radius: 14px 14px 0 0;
}
#gform_wrapper_1 .ui-datepicker .ui-datepicker-title{
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 800;
  color: var(--cal-text);
  font-size: 12.5px;
}

/* Flèches prev/next (boutons jQuery UI) */
#gform_wrapper_1 .ui-datepicker .ui-datepicker-prev,
#gform_wrapper_1 .ui-datepicker .ui-datepicker-next{
  top: .45rem !important;
  width: 28px; height: 28px;
  border-radius: 8px;
  border: 1px solid var(--cal-border);
  background: transparent;
}
#gform_wrapper_1 .ui-datepicker .ui-datepicker-prev:hover,
#gform_wrapper_1 .ui-datepicker .ui-datepicker-next:hover{
  background: var(--cal-hover);
}

/* En-têtes de jours */
#gform_wrapper_1 .ui-datepicker table{ width: 100%; border-collapse: separate; }
#gform_wrapper_1 .ui-datepicker table th{
  color: var(--cal-muted);
  font-weight: 600;
  padding: .45rem .35rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 11px;
}

/* Cases du calendrier */
#gform_wrapper_1 .ui-datepicker table td{ padding: .25rem; }
#gform_wrapper_1 .ui-datepicker .ui-state-default{
  display: block;
  text-align: center;
  padding: .45rem .25rem;
  border-radius: 10px;
  border: 1px solid transparent;
  color: var(--cal-text);
  background: transparent;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
#gform_wrapper_1 .ui-datepicker .ui-state-hover{
  background: var(--cal-hover);
  border-color: var(--cal-border);
}

/* Aujourd’hui (repère discret) */
#gform_wrapper_1 .ui-datepicker-today .ui-state-default{
  outline: 1px dashed var(--cal-b);
  outline-offset: -2px;
}

/* Jour sélectionné */
#gform_wrapper_1 .ui-datepicker .ui-state-active,
#gform_wrapper_1 .ui-datepicker .ui-state-highlight{
  background: linear-gradient(90deg, var(--cal-a), var(--cal-b));
  border-color: transparent;
  color: #081018;
  font-weight: 800;
}

/* Jours désactivés */
#gform_wrapper_1 .ui-datepicker .ui-state-disabled,
#gform_wrapper_1 .ui-datepicker .ui-state-disabled .ui-state-default{
  opacity: .38;
  filter: grayscale(1);
  cursor: not-allowed;
}

/* (optionnel) week-ends légèrement atténués */
#gform_wrapper_1 .ui-datepicker-week-end .ui-state-default{ color: #C8C4D6; }

/* ================================
   gAppointments – créneaux horaires
   ================================ */
#gform_wrapper_1 .gappointments-appointment-times,
#gform_wrapper_1 .gappointments-times,
#gform_wrapper_1 .gappointments-choices{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  margin-top: 10px;
}

#gform_wrapper_1 .gappointments-appointment-times .gchoice,
#gform_wrapper_1 .gappointments-choices .gchoice{
  list-style: none; margin: 0;
}

#gform_wrapper_1 .gappointments-appointment-times input[type="radio"],
#gform_wrapper_1 .gappointments-choices input[type="radio"]{
  position: absolute; opacity: 0; pointer-events: none;
}

#gform_wrapper_1 .gappointments-appointment-times label,
#gform_wrapper_1 .gappointments-choices label{
  display: block;
  width: 100%;
  text-align: center;
  padding: .55rem .75rem;
  border-radius: 12px;
  border: 1px solid var(--cal-border);
  background: var(--cal-bg);
  color: var(--cal-text);
  font-weight: 600;
  cursor: pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
#gform_wrapper_1 .gappointments-appointment-times label:hover,
#gform_wrapper_1 .gappointments-choices label:hover{
  background: var(--cal-hover);
}

#gform_wrapper_1 .gappointments-appointment-times input[type="radio"]:checked + label,
#gform_wrapper_1 .gappointments-choices input[type="radio"]:checked + label{
  background: linear-gradient(90deg, var(--cal-a), var(--cal-b));
  border-color: transparent;
  color: #081018;
  font-weight: 800;
  transform: translateY(-1px);
}

#gform_wrapper_1 .gappointments-appointment-times input[disabled] + label,
#gform_wrapper_1 .gappointments-choices input[disabled] + label{
  opacity: .45;
  filter: saturate(.4);
  cursor: not-allowed;
}

/* ================================
   gAppointments – RESET léger & propre
   Scope strict : Form 1 uniquement
   ================================ */
#gform_wrapper_1{
  --cal-text:  #EAF2FF;
  --cal-muted: #B6B1C6;
  --cal-line:  rgba(255,255,255,.12);
  --cal-cell:  rgba(255,255,255,.06);
  --cal-a:     var(--gf-grad-a); /* #00b15c */
  --cal-b:     var(--gf-grad-b); /* #00b2b8 */
}

/* Toujours au dessus s’il est flottant */
#gform_wrapper_1 .ui-datepicker{ z-index: 999999 !important; }

/* ===== gAppointments (vue mensuelle) ===== */
#gform_wrapper_1 #ga_appointments_calendar{ color: var(--cal-text); }

/* Table compacte (stop aux gros “gaps”) */
#gform_wrapper_1 #ga_appointments_calendar .ga_monthly_schedule_wrapper table{
  width:100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
}

/* En-tête mois */
#gform_wrapper_1 #ga_appointments_calendar .ga_appointments_calendar_header{
  background: transparent !important;
  border: 0 !important;
  padding: 6px 0 !important;
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
}

/* Entêtes de jours (SUN, MON, …) – fins + petite barre */
#gform_wrapper_1 #ga_appointments_calendar thead th,
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header{
  background: transparent !important;
  border: 0 !important;
  padding: 8px 6px 12px !important;
  color: var(--cal-muted) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .12em;
  text-align: center;
  position: relative;
}
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header::after{
  content:""; position:absolute; left:0; right:0; bottom:2px;
  height:1px; background: var(--cal-line);
}

/* Cellules jour – grille fine, pas de gros blocs */
#gform_wrapper_1 #ga_appointments_calendar tbody td{
  height:56px !important;
  padding:0 !important;
  text-align:center; vertical-align:middle;
  border:1px solid var(--cal-line) !important;   /* fines lignes de grille */
  background: transparent !important;
  color: var(--cal-text) !important;
}

/* On travaille sur l’élément interne (a/span) pour l’hover/selection */
#gform_wrapper_1 #ga_appointments_calendar tbody td > *{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:8px;
  transition: background .15s ease, color .15s ease, transform .12s ease;
}

/* Survol doux */
#gform_wrapper_1 #ga_appointments_calendar tbody td:hover > *{
  background: var(--cal-cell);
}

/* Jours désactivés */
#gform_wrapper_1 #ga_appointments_calendar tbody td.disabled,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"]{
  opacity:.45 !important; cursor:not-allowed !important;
}

/* Aujourd’hui : petit anneau sur le chiffre (pas sur toute la case) */
#gform_wrapper_1 #ga_appointments_calendar tbody td.today > *,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_today > *{
  box-shadow: inset 0 0 0 2px rgba(0,178,184,.55);
}

/* Sélection : dégradé plein sur le chiffre */
#gform_wrapper_1 #ga_appointments_calendar tbody td.selected > *,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_selected > *,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-selected="true"] > *{
  background: linear-gradient(90deg, var(--cal-a), var(--cal-b));
  color:#081018; font-weight:800;
}

/* Pas de halos bleus intempestifs dans le calendrier */
#gform_wrapper_1 #ga_appointments_calendar *{
  outline:none !important; box-shadow:none !important;
}

/* ===== Créneaux horaires (si affichés) – look pill léger ===== */
#gform_wrapper_1 .gappointments-appointment-times,
#gform_wrapper_1 .gappointments-times,
#gform_wrapper_1 .gappointments-choices{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(130px,1fr));
  gap:10px; margin-top:10px;
}
#gform_wrapper_1 .gappointments-appointment-times input[type="radio"],
#gform_wrapper_1 .gappointments-choices input[type="radio"]{
  position:absolute; opacity:0; pointer-events:none;
}
#gform_wrapper_1 .gappointments-appointment-times label,
#gform_wrapper_1 .gappointments-choices label{
  display:block; text-align:center; padding:.55rem .75rem;
  border-radius:12px; border:1px solid var(--cal-line);
  background:transparent; color:var(--cal-text); font-weight:600;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
#gform_wrapper_1 .gappointments-appointment-times label:hover,
#gform_wrapper_1 .gappointments-choices label:hover{ background:var(--cal-cell); }
#gform_wrapper_1 .gappointments-appointment-times input[type="radio"]:checked + label,
#gform_wrapper_1 .gappointments-choices input[type="radio"]:checked + label{
  background: linear-gradient(90deg, var(--cal-a), var(--cal-b));
  border-color:transparent; color:#081018; font-weight:800; transform:translateY(-1px);
}

/* Entêtes : la petite barre ne doit jamais capturer les clics */
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header::after{
  pointer-events: none;
}

/* La cellule devient un conteneur, l’enfant couvre 100% */
#gform_wrapper_1 #ga_appointments_calendar tbody td{
  position: relative;
  height: 56px !important;            /* ta hauteur */
  cursor: pointer;
}

#gform_wrapper_1 #ga_appointments_calendar tbody td > a,
#gform_wrapper_1 #ga_appointments_calendar tbody td > span{
  display: block;
  width: 100%; height: 100%;
  line-height: 56px;                   /* centre le chiffre */
  border-radius: 10px;                 /* garde ton arrondi */
  padding: 0; margin: 0;
}

/* Au cas où un style en amont aurait bloqué le pointer events */
#gform_wrapper_1 #ga_appointments_calendar tbody td,
#gform_wrapper_1 #ga_appointments_calendar tbody td > *{
  pointer-events: auto !important;
}

/* Formulaire 1 : cache la ligne des créneaux sous le calendrier */
#gform_wrapper_1 #gappointments_calendar_slots{ 
  display:none !important; 
}
/* optionnel : resserre le tableau */
#gform_wrapper_1 #ga_appointments_calendar .ga_monthly_schedule_wrapper table{
  margin-bottom:0 !important;
}

/* === gAppointments — jours indisponibles : gris + curseur interdit === */
#gform_wrapper_1{
  /* tons déjà utilisés dans ton thème, déclinés pour l’état disabled */
  --cal-disabled-bg:  rgba(255,255,255,.04);
  --cal-disabled-bd:  rgba(255,255,255,.12);
  --cal-disabled-fg:  #9FA4B8;         /* gris lisible sur fond sombre */
}

/* gAppointments (table calendrier) */
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_unavailable,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"]{
  background: var(--cal-disabled-bg) !important;
  border-color: var(--cal-disabled-bd) !important;
  color: var(--cal-disabled-fg) !important;
  cursor: not-allowed !important;
  opacity: .6 !important;
  filter: grayscale(.6);
  transform: none !important;               /* pas d’animation */
}

/* pas d’effet hover sur les jours indisponibles */
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable:hover,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled:hover,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_unavailable:hover,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"]:hover{
  background: var(--cal-disabled-bg) !important;
  border-color: var(--cal-disabled-bd) !important;
  color: var(--cal-disabled-fg) !important;
  transform: none !important;
}

/* — Si tu utilises aussi le datepicker jQuery UI ailleurs — */
#gform_wrapper_1 .ui-datepicker .ui-state-disabled,
#gform_wrapper_1 .ui-datepicker .ui-state-disabled .ui-state-default{
  background: var(--cal-disabled-bg) !important;
  border-color: var(--cal-disabled-bd) !important;
  color: var(--cal-disabled-fg) !important;
  opacity: .6 !important;
  filter: grayscale(.6);
  cursor: not-allowed !important;
}

/* gAppointments — l'état "indisponible" doit l'emporter sur tout */
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_unavailable,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"],
/* mêmes cellules si elles ont en plus un état sélectionné/aujourd'hui */
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable.selected,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled.selected,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"].selected,
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable.ga_selected,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled.ga_selected,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"].ga_selected,
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable[aria-selected="true"],
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled[aria-selected="true"],
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"][aria-selected="true"],
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable.ga_today,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled.ga_today,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"].ga_today{
  background: var(--cal-disabled-bg) !important;
  border-color: var(--cal-disabled-bd) !important;
  color: var(--cal-disabled-fg) !important;
  cursor: not-allowed !important;
  opacity: .6 !important;
  filter: grayscale(.6);
  /* on neutralise totalement le halo/anneau vert */
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
  pointer-events: none; /* facultatif : empêche tout hover/clic */
}

/* pas d'effet hover sur les indisponibles */
#gform_wrapper_1 #ga_appointments_calendar tbody td.day_unavailable:hover,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_disabled:hover,
#gform_wrapper_1 #ga_appointments_calendar tbody td.ga_unavailable:hover,
#gform_wrapper_1 #ga_appointments_calendar tbody td[aria-disabled="true"]:hover{
  background: var(--cal-disabled-bg) !important;
  border-color: var(--cal-disabled-bd) !important;
  color: var(--cal-disabled-fg) !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}

/* jQuery UI : pas d’anneau pour today si la case est non sélectionnable */
#gform_wrapper_1 .ui-datepicker
  .ui-datepicker-unselectable.ui-state-disabled.ui-datepicker-today
  .ui-state-default{
  outline: none !important;
  box-shadow: none !important;
}

/* ===== Kill ring/halo vert sur "aujourd'hui" (gAppointments) ===== */

/* 1) force un style neutre sur le TD "aujourd'hui" */
#gform_wrapper_1 #ga_appointments_calendar td.ga_today,
#gform_wrapper_1 #gappointments_calendar td.ga_today,
#gform_wrapper_1 .ga_monthly_schedule_wrapper td.ga_today{
  /* annule tout ring/halo */
  box-shadow: none !important;
  outline: none !important;
  /* remet une bordure neutre */
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.06) !important;
}

/* 2) si le plugin dessine le ring via un pseudo-élément */
#gform_wrapper_1 #ga_appointments_calendar td.ga_today::before,
#gform_wrapper_1 #ga_appointments_calendar td.ga_today::after,
#gform_wrapper_1 #gappointments_calendar td.ga_today::before,
#gform_wrapper_1 #gappointments_calendar td.ga_today::after{
  content: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}

/* 3) cas "aujourd'hui" + indisponible : bien griser et interdire le curseur */
#gform_wrapper_1 #ga_appointments_calendar td.ga_today.day_unavailable,
#gform_wrapper_1 #ga_appointments_calendar td.ga_today.ga_disabled,
#gform_wrapper_1 #ga_appointments_calendar td.ga_today[aria-disabled="true"]{
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.12) !important;
  color: #9a96a8 !important;
  cursor: not-allowed !important;
}

/* 4) si jamais le ring est appliqué au <span> interne */
#gform_wrapper_1 #ga_appointments_calendar td.ga_today > span{
  box-shadow: none !important;
  outline: none !important;
  border: 0 !important;
}

/* ===== Field 26 : radios en cartes (style "Step 1" ) ===== */
#gform_wrapper_1 #field_1_26 .gfield_radio{
  display:grid;
  grid-template-columns: repeat(2, minmax(220px,1fr));
  gap:14px;
  margin: 6px 0 2px;
}

@media (max-width: 680px){
  #gform_wrapper_1 #field_1_26 .gfield_radio{
    grid-template-columns: 1fr;  /* stack sur mobile */
  }
}

/* cache l’input, on clique la carte (le label) */
#gform_wrapper_1 #field_1_26 .gfield_radio input[type="radio"]{
  position:absolute; opacity:0; pointer-events:none;
}

/* carte */
#gform_wrapper_1 #field_1_26 .gfield_radio label{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; cursor:pointer;
  padding:22px 18px;
  border:1px solid var(--gf-ghost);
  border-radius:14px;
  background: rgba(255,255,255,.04);
  color: var(--gf-lavender);
  font-weight:800;
  line-height:1.25;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, filter .12s ease;
  min-height: 160px;   /* donne de la présence à la carte */
}

/* hover/focus */
#gform_wrapper_1 #field_1_26 .gfield_radio label:hover{
  background: rgba(255,255,255,.06);
  border-color: var(--gf-ghost);
  transform: translateY(-1px);
}
#gform_wrapper_1 #field_1_26 .gfield_radio li:focus-within label{
  outline: none; box-shadow:none;
  border-color: var(--gf-lavender);
}

/* état sélectionné */
#gform_wrapper_1 #field_1_26 .gfield_radio input[type="radio"]:checked + label{
  background-image: linear-gradient(90deg,var(--gf-grad-a),var(--gf-grad-b));
  border-color: transparent;
  color:#081018;                      /* comme tes autres boutons sélectionnés */
  transform: translateY(-1px);
  filter: none;
}

/* sous-éléments optionnels pour titre/sous-titre/prix/visuels */
#gform_wrapper_1 #field_1_26 .opt-title{
  font-size: clamp(18px, 1.25vw, 22px);
  font-weight: 900;
  letter-spacing:.01em;
}
#gform_wrapper_1 #field_1_26 .opt-sub{
  color: var(--gf-desc);
  font-weight:700;
  font-size: clamp(15px, 1.05vw, 18px);
}
#gform_wrapper_1 #field_1_26 .opt-price{
  margin-top: 6px;
  color: var(--gf-desc);
  font-weight: 800;
  font-size: 14px;
  opacity:.9;
}

/* petite rangée d’images (facultatif) */
#gform_wrapper_1 #field_1_26 .opt-strip{
  display:flex; gap:8px; margin-top:10px; align-items:center; justify-content:center;
  opacity:.95;
}
#gform_wrapper_1 #field_1_26 .opt-strip img{
  display:block; height:38px; width:auto; border-radius:6px;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}

/* assure la couleur lisible quand sélectionné */
#gform_wrapper_1 #field_1_26 .gfield_radio input[type="radio"]:checked + label .opt-sub,
#gform_wrapper_1 #field_1_26 .gfield_radio input[type="radio"]:checked + label .opt-price{
  color:#081018;
  opacity:.9;
}

/* ===== Field 26 — cartes plein format avec DIV gchoice ===== */

/* grille 2 colonnes égales */
#gform_wrapper_1 #field_1_26 .gfield_radio{
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
}

/* chaque .gchoice prend toute la largeur/hauteur de sa cellule */
#gform_wrapper_1 #field_1_26 .gfield_radio .gchoice{
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* l’input est masqué */
#gform_wrapper_1 #field_1_26 .gfield_radio .gchoice input[type="radio"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* le label = la carte */
#gform_wrapper_1 #field_1_26 .gfield_radio .gchoice label{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 170px !important;
  box-sizing: border-box !important;

  text-align: center !important;
  padding: 22px 18px !important;
  border: 1px solid var(--gf-ghost) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.04) !important;
  color: var(--gf-lavender) !important;
  font-weight: 800 !important;
  transition: all .15s ease !important;
}

/* hover */
#gform_wrapper_1 #field_1_26 .gfield_radio .gchoice label:hover{
  background: rgba(255,255,255,.06) !important;
  transform: translateY(-1px) !important;
}

/* checked */
#gform_wrapper_1 #field_1_26 .gfield_radio .gchoice input[type="radio"]:checked + label{
  background-image: linear-gradient(90deg,var(--gf-grad-a),var(--gf-grad-b)) !important;
  border-color: transparent !important;
  color: #081018 !important;
  transform: translateY(-1px) !important;
}

/* mobile : 1 seule colonne */
@media (max-width: 680px){
  #gform_wrapper_1 #field_1_26 .gfield_radio{
    grid-template-columns: 1fr !important;
  }
}

/* Bloc image unique */
#gform_wrapper_1 #field_1_26 .opt-hero{
  display:block;
  margin-top:14px;
  width:100%;
  text-align:center;
}

#gform_wrapper_1 #field_1_26 .opt-hero img{
  max-width:90%;         
  height:auto;
  border-radius:18px;      /* 👈 arrondi plus visible */
  overflow:hidden;         /* au cas où le GIF dépasse */
  box-shadow:0 8px 22px rgba(0,0,0,.35);
  object-fit:cover;
}

/* ================================
   gAppointments — Header & Weekdays
   ================================ */

/* Header du mois : centré + nav sur les côtés */
#gform_wrapper_1 #ga_appointments_calendar .ga_appointments_calendar_header{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;      /* <<< centre le mois */
  gap:12px !important;
  position:relative !important;
  padding:10px 44px !important;           /* garde de la place pour les flèches */
  background: transparent !important;
  border:0 !important;
}

/* Titre du mois (classes varient selon versions, on cible large) */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(.ga_month_name,.ga_header_title,.ga_current_month, .ga_calendar_month_title){
  color: var(--cal-text) !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-size: clamp(14px, 1.25vw, 18px) !important;
  line-height: 1.1 !important;
}

/* Boutons prev/next — on attrape les liens qui contiennent "prev/next" dans la classe */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"], button[class*="prev"]),
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="next"], button[class*="next"]){
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important; height:32px !important;
  border-radius:8px !important;
  border:1px solid var(--cal-border) !important;
  background: transparent !important;
  color: var(--cal-text) !important;
  text-indent: -9999px;                 /* masque un éventuel texte "Prev/Next" */
  overflow: hidden;
}

/* positions */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"], button[class*="prev"]){ left:8px !important; }
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="next"], button[class*="next"]){ right:8px !important; }

/* chevrons via pseudo-éléments */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"], button[class*="prev"])::before{
  content:"‹"; position:absolute; inset:0; display:grid; place-items:center;
  font-size:20px; line-height:1; text-indent:0; color:var(--cal-text);
}
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="next"], button[class*="next"])::before{
  content:"›"; position:absolute; inset:0; display:grid; place-items:center;
  font-size:20px; line-height:1; text-indent:0; color:var(--cal-text);
}

/* hover des flèches */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"],button[class*="prev"],
                                       a[class*="next"],button[class*="next"]):hover{
  background: var(--cal-hover) !important;
}

/* Rangée des jours (SUN/MON/...) pour matcher le thème */
#gform_wrapper_1 #ga_appointments_calendar thead th,
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header{
  background: transparent !important;
  border:0 !important;
  padding: 10px 6px 14px !important;

  color: var(--cal-muted) !important;
  font-weight: 800 !important;
  font-size: 11.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
}

/* fine barre séparatrice sous la rangée des jours */
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header::after{
  content:""; position:absolute; left:0; right:0; bottom:2px;
  height:1px; background: var(--cal-line);
}

/* Option : petits “chips” derrière les abréviations (désactive si tu préfères la barre) */
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header > span{
  display:inline-block;
  padding:.35rem .5rem;
  border-radius:7px;
  background: rgba(255,255,255,.06);
  border:1px solid var(--cal-border);
}

/* === gAppointments — Header mois centré + chevrons CSS === */
#gform_wrapper_1 #ga_appointments_calendar .ga_appointments_calendar_header{
  display:flex !important; align-items:center !important; justify-content:center !important;
  position:relative !important; padding:10px 44px !important;
  background: transparent !important; border:0 !important;
}

/* titre du mois */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(.ga_month_name,.ga_header_title,.ga_current_month,.ga_calendar_month_title){
  color:#EAF2FF !important; font-weight:900 !important; text-transform:uppercase !important;
  letter-spacing:.08em !important; font-size:clamp(14px,1.2vw,18px) !important;
}

/* boutons prev/next : carrés → chevrons via borders (pas de police) */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"],button[class*="prev"],
                                       a[class*="next"],button[class*="next"]){
  position:absolute !important; top:50% !important; transform:translateY(-50%) !important;
  width:32px !important; height:32px !important; border-radius:8px !important;
  border:1px solid var(--cal-border) !important; background:transparent !important;
  display:grid !important; place-items:center !important; overflow:hidden !important;
  text-indent:0 !important;           /* on ne dépend plus d’un glyphe */
  color:inherit !important;
}
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"],button[class*="prev"]){ left:8px !important; }
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="next"],button[class*="next"]){ right:8px !important; }

/* chevrons (border trick) */
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"],button[class*="prev"])::after,
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="next"],button[class*="next"])::after{
  content:""; width:8px; height:8px; display:inline-block;
  border:2px solid #EAF2FF; border-top:0; border-left:0;
}
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"],button[class*="prev"])::after{
  transform: rotate(135deg);            /* ← */
}
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="next"],button[class*="next"])::after{
  transform: rotate(-45deg);            /* → */
}
#gform_wrapper_1 #ga_appointments_calendar
  .ga_appointments_calendar_header :is(a[class*="prev"],button[class*="prev"],
                                       a[class*="next"],button[class*="next"]):hover{
  background: var(--cal-hover) !important;
}

/* === Entête des jours (SUN/MON/...) — plus lisible === */
/* barre de fond derrière toute la rangée */
#gform_wrapper_1 #ga_appointments_calendar thead tr{
  background: rgba(8,16,24,.55) !important;       /* plus sombre */
}
#gform_wrapper_1 #ga_appointments_calendar thead th,
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header{
  color:#EAF2FF !important;                        /* texte clair */
  font-weight:800 !important; font-size:12px !important;
  text-transform:uppercase !important; letter-spacing:.12em !important;
  padding:10px 6px 12px !important; border:0 !important;
}
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header::after{
  content:""; position:absolute; left:0; right:0; bottom:2px;
  height:1px; background: var(--cal-line);
}

/* (option) si tu préfères des pills sous chaque abréviation, dé-commente : */
/*
#gform_wrapper_1 #ga_appointments_calendar thead th.ga_header > span{
  display:inline-block; padding:.35rem .5rem; border-radius:7px;
  background: rgba(255,255,255,.06); border:1px solid var(--cal-border);
}
*/

/* === gAppointments — flèches prev/next fiables === */
/* on centre le titre et on réserve de la place aux flèches */
#gform_wrapper_1 #ga_appointments_calendar .ga_appointments_calendar_header{
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 10px 48px !important; /* place pour les flèches */
}

/* Titre du mois */
#gform_wrapper_1 #ga_appointments_calendar .ga_appointments_calendar_header
  :is(.ga_month_name,.ga_header_title,.ga_current_month,.ga_calendar_month_title){
  margin: 0 !important;
  color: #EAF2FF !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-size: clamp(14px,1.2vw,18px) !important;
}

/* Bouton PREV */
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left{
  position:absolute !important; left:8px !important; top:50% !important;
  transform:translateY(-50%) !important;
  width:32px !important; height:32px !important;
  border-radius:8px !important; border:1px solid var(--cal-border) !important;
  background:transparent !important; color:transparent !important;
  display:grid !important; place-items:center !important;
  overflow:hidden !important; text-decoration:none !important;
}
/* Bouton NEXT */
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right{
  position:absolute !important; right:8px !important; top:50% !important;
  transform:translateY(-50%) !important;
  width:32px !important; height:32px !important;
  border-radius:8px !important; border:1px solid var(--cal-border) !important;
  background:transparent !important; color:transparent !important;
  display:grid !important; place-items:center !important;
  overflow:hidden !important; text-decoration:none !important;
}

/* Chevrons dessinés en CSS (remplace le petit carré) */
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left::before,
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right::before{
  content:""; width:8px; height:8px; display:inline-block;
  border:2px solid #EAF2FF; border-top:0; border-left:0;
}
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left::before{ transform:rotate(135deg); }  /* ← */
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right::before{ transform:rotate(-45deg); } /* → */

#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left:hover,
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right:hover{
  background: var(--cal-hover) !important;
}
/* Masquer totalement les icônes FontAwesome */
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left i,
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right i {
  display: none !important;
}

/* Boutons prev/next uniformes */
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left,
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:36px !important;
  height:36px !important;
  border-radius:10px !important;
  border:1px solid var(--cal-border) !important;
  background:transparent !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
}

#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left { left:8px !important; }
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right { right:8px !important; }

/* Chevron CSS bien centré */
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left::after,
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right::after{
  content:""; 
  width:10px; height:10px;
  border:2px solid #EAF2FF;
  border-top:0; border-left:0;
  display:block;
}

#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left::after {
  transform: rotate(135deg);
}
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right::after {
  transform: rotate(-45deg);
}

/* Hover */
#gform_wrapper_1 a#ga_calendar_prev_month.arrow-left:hover,
#gform_wrapper_1 a#ga_calendar_next_month.arrow-right:hover{
  background: var(--cal-hover) !important;
}

