/* ============================================================
   QuickCab – Design Dark Pro (form1.css)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ---------- Tokens ---------- */
.qc-wrapper {
  --qc-bg:        #0f1117;
  --qc-surface:   #1a1d27;
  --qc-surface2:  #22263a;
  --qc-border:    #2e3347;
  --qc-accent:    #6366f1;
  --qc-accent-h:  #4f52d4;
  --qc-accent-glow: rgba(99,102,241,.25);
  --qc-text:      #e2e8f0;
  --qc-muted:     #64748b;
  --qc-white:     #ffffff;
  --qc-danger:    #ef4444;
  --qc-success:   #10b981;
  --qc-radius:    14px;
  --qc-radius-sm: 8px;
  --qc-shadow:    0 4px 24px rgba(0,0,0,.4);
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  color: var(--qc-text);
  background: var(--qc-bg);
  border-radius: var(--qc-radius);
  overflow: hidden;
}

/* ---------- Tabs ---------- */
.qc-tabs {
  display: flex;
  background: var(--qc-surface);
  border-bottom: 1px solid var(--qc-border);
}

.qc-tab-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 18px 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--qc-muted);
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
  letter-spacing: .01em;
}
.qc-tab-btn svg { width: 17px; height: 17px; flex-shrink: 0; }
.qc-tab-btn:hover { color: var(--qc-text); background: rgba(255,255,255,.03); }
.qc-tab-btn.active {
  color: var(--qc-accent);
  border-bottom-color: var(--qc-accent);
  background: rgba(99,102,241,.07);
}

/* ---------- Panes ---------- */
.qc-tab-pane { display: none; }
.qc-tab-pane.active { display: block; }

/* ---------- Section ---------- */
.qc-section { padding: 24px; background: var(--qc-bg); }

/* ---------- Layouts ---------- */
.qc-single-col { max-width: 700px; }

.qc-vehicle-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 20px;
}
@media (max-width: 800px) {
  .qc-vehicle-layout { grid-template-columns: 1fr; }
}

/* ---------- Cards ---------- */
.qc-card {
  background: var(--qc-surface);
  border: 1px solid var(--qc-border);
  border-radius: var(--qc-radius);
  overflow: visible;
  margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.qc-card:last-child { margin-bottom: 0; }

.qc-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 13px 18px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--qc-muted);
  border-bottom: 1px solid var(--qc-border);
  background: rgba(255,255,255,.02);
}
.qc-card-title svg { width: 14px; height: 14px; color: var(--qc-accent); }

/* Padding interne */
.qc-card > .qc-field       { padding: 0 18px; }
.qc-card > .qc-row2        { padding: 0 18px; }
.qc-card > .qc-row3        { padding: 0 18px; }
.qc-card > .qc-duration-pills { padding: 0 18px; }
.qc-card > .qc-endtime-box { padding: 0 18px 18px; }
.qc-card > .qc-field:first-of-type,
.qc-card > .qc-row2:first-of-type,
.qc-card > .qc-row3:first-of-type { padding-top: 16px; }
.qc-card > *:last-child { margin-bottom: 0; padding-bottom: 18px; }

/* ---------- Grilles champs ---------- */
.qc-row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.qc-row3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
@media (max-width: 600px) {
  .qc-row2, .qc-row3 { grid-template-columns: 1fr; }
}

/* ---------- Fields ---------- */
.qc-field { margin-bottom: 14px; }
.qc-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--qc-muted);
  margin-bottom: 6px;
  letter-spacing: .02em;
}
.qc-req { color: var(--qc-accent); }

.qc-input {
  display: block;
  width: 100%;
  height: 44px;
  padding: 0 14px;
  font-size: 14px;
  font-family: inherit;
  color: var(--qc-text);
  background: var(--qc-surface2);
  border: 1.5px solid var(--qc-border);
  border-radius: var(--qc-radius-sm);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.qc-input::placeholder { color: var(--qc-muted); opacity: .7; }
.qc-input:focus {
  border-color: var(--qc-accent);
  box-shadow: 0 0 0 3px var(--qc-accent-glow);
}
.quickcab-field-error.qc-input {
  border-color: var(--qc-danger);
  box-shadow: 0 0 0 3px rgba(239,68,68,.18);
}
/* Options des selects en dark */
.qc-input option { background: #1a1d27; color: #e2e8f0; }

/* ---------- Bouton principal ---------- */
.qc-actions { display: flex; justify-content: flex-end; margin-top: 8px; }

.qc-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 13px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
  color: #ffffff !important;
  background: #6366f1 !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .2s, transform .15s, box-shadow .2s !important;
  box-shadow: 0 4px 20px rgba(99,102,241,.3) !important;
  letter-spacing: .01em !important;
  line-height: 1.4 !important;
}
.qc-btn svg { width: 16px; height: 16px; }
.qc-btn:hover,
.qc-btn:focus,
.qc-btn:visited {
  background: #4f52d4 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 28px rgba(99,102,241,.45) !important;
  text-decoration: none !important;
}
.qc-btn:active { transform: translateY(0) !important; }

.qc-btn-outline {
  background: transparent !important;
  border: 1.5px solid #2e3347 !important;
  color: #64748b !important;
  box-shadow: none !important;
}
.qc-btn-outline:hover,
.qc-btn-outline:focus {
  background: #22263a !important;
  border-color: #6366f1 !important;
  color: #6366f1 !important;
  box-shadow: none !important;
}

/* ---------- Bouton Réserver original (généré par quickcab.js) ---------- */
.quickcab-booking-form1 a.quickcab-button,
.quickcab-vehicles-list a.quickcab-vehicle-book-button,
.quickcab-vehicles-list .quickcab-vehicle-book-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  font-family: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
  background: var(--qc-accent) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 2px 10px var(--qc-accent-glow) !important;
  transition: background .2s, transform .15s !important;
}
.quickcab-booking-form1 a.quickcab-button:hover,
.quickcab-booking-form1 a.quickcab-button:focus,
.quickcab-booking-form1 a.quickcab-button.-inverted,
.quickcab-booking-form1 a.quickcab-button.-inverted:hover,
.quickcab-vehicles-list a.quickcab-vehicle-book-button:hover,
.quickcab-vehicles-list .quickcab-vehicle-book-button:hover {
  background: var(--qc-accent-h) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* ---------- Récap véhicule ---------- */
.qc-recap-card {
  background: var(--qc-surface);
  border: 1px solid var(--qc-border);
  border-radius: var(--qc-radius);
  padding: 20px;
  margin-bottom: 16px;
}
.qc-recap-card .qc-card-title { margin: 0 -20px 14px; padding: 0 20px 14px; border-bottom: 1px solid var(--qc-border); }
.qc-recap-row {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  border-bottom: 1px solid var(--qc-border);
}
.qc-recap-row:last-child { border-bottom: none; padding-bottom: 0; }
.qc-recap-lbl { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--qc-muted); margin-bottom: 3px; }
.qc-recap-val { font-size: 13px; color: var(--qc-text); font-weight: 500; }

/* ---------- Vehicles list ---------- */
.qc-vehicles-col { min-width: 0; }

.quickcab-vehicles-list .quickcab-vehicle-item {
  background: var(--qc-surface);
  border: 1px solid var(--qc-border);
  border-radius: var(--qc-radius);
  padding: 20px;
  margin-bottom: 12px;
  transition: border-color .2s, box-shadow .2s;
}
.quickcab-vehicles-list .quickcab-vehicle-item:hover {
  border-color: var(--qc-accent);
  box-shadow: 0 0 0 1px var(--qc-accent), 0 4px 20px rgba(0,0,0,.3);
}
.quickcab-vehicles-list .quickcab-vehicle-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--qc-text);
  margin-bottom: 6px;
}
.quickcab-vehicles-list .quickcab-vehicle-price {
  font-size: 22px;
  font-weight: 700;
  color: var(--qc-accent);
  display: inline-block;
  padding-right: 16px;
}
.quickcab-vehicles-list .quickcab-vehicle-features {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  font-size: 12px;
  color: var(--qc-muted);
}
.quickcab-vehicles-list .quickcab-vehicle-features li { display: inline-block; margin-right: 14px; }
.quickcab-vehicles-list .quickcab-vehicle-icons { margin-top: 16px; }
.quickcab-vehicles-list .quickcab-vehicle-icon { font-size: 13px; color: var(--qc-muted); margin-bottom: 4px; text-align: right; }
.quickcab-vehicles-list .quickcab-vehicle-icon-number { display: inline-block; width: 36px; }
.quickcab-vehicles-list .quickcab-vehicle-image-column { padding: 0; }
.quickcab-vehicles-list .quickcab-vehicle-details-column { padding-left: 20px; }

/* ---------- Pills durée ---------- */
.qc-duration-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
  padding-top: 4px;
}
.qc-pill {
  padding: 7px 16px;
  border-radius: 50px;
  border: 1.5px solid var(--qc-border);
  background: var(--qc-surface2);
  font-size: 13px;
  font-weight: 500;
  color: var(--qc-muted);
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
}
.qc-pill:hover { border-color: var(--qc-accent); color: var(--qc-accent); }
.qc-pill.active {
  background: var(--qc-accent);
  border-color: var(--qc-accent);
  color: #fff;
  box-shadow: 0 2px 10px var(--qc-accent-glow);
}

/* ---------- End time box ---------- */
.qc-endtime-box {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(16,185,129,.1);
  border: 1px solid rgba(16,185,129,.3);
  border-radius: var(--qc-radius-sm);
  padding: 10px 14px;
  font-size: 13px;
  color: var(--qc-success);
  margin-bottom: 14px;
}
.qc-endtime-box svg { width: 15px; height: 15px; flex-shrink: 0; }
.qc-endtime-val { font-weight: 700; }

/* ---------- Info banner ---------- */
.qc-info-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(99,102,241,.08);
  border: 1px solid rgba(99,102,241,.25);
  border-radius: var(--qc-radius-sm);
  padding: 12px 16px;
  font-size: 13px;
  color: #a5b4fc;
  margin-bottom: 20px;
}
.qc-info-banner svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; }

/* ---------- Erreur ---------- */
.qc-error-box {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(239,68,68,.1);
  border: 1px solid rgba(239,68,68,.3);
  border-radius: var(--qc-radius-sm);
  padding: 12px 16px;
  font-size: 13px;
  color: #fca5a5;
  margin-bottom: 16px;
}
.qc-warn { font-size: 12px; color: var(--qc-danger); margin-top: 4px; }

/* ---------- Waypoints ---------- */
.quickcab-waypoint-actions-container { display: inline-flex; }
.quickcab-waypoint-actions-container a {
  display: inline-block;
  padding: 2px 10px;
  border: 1.5px solid var(--qc-border);
  border-radius: 20px;
  font-size: 18px;
  color: var(--qc-accent);
  text-decoration: none !important;
  background: var(--qc-surface2);
  transition: all .15s;
  margin-left: 6px;
}
.quickcab-waypoint-actions-container a:hover { background: var(--qc-surface); border-color: var(--qc-accent); }

/* ---------- Datepicker dark ---------- */
.ui-datepicker {
  background: var(--qc-surface) !important;
  border: 1px solid var(--qc-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
  font-family: inherit !important;
  z-index: 9999 !important;
  color: var(--qc-text) !important;
}
.ui-datepicker-header { background: none !important; border: none !important; color: var(--qc-text) !important; }
.ui-datepicker-title { color: var(--qc-text) !important; }
.ui-datepicker th { color: var(--qc-muted) !important; }
.ui-datepicker td a, .ui-datepicker td span { color: var(--qc-text) !important; }
.ui-datepicker-calendar a.ui-state-default { background: var(--qc-surface2) !important; border: none !important; text-align: center; border-radius: 6px; color: var(--qc-text) !important; }
.ui-datepicker-calendar a.ui-state-hover,
.ui-datepicker-calendar a.ui-state-active { background: var(--qc-accent) !important; color: #fff !important; }
.ui-datepicker-calendar .ui-state-disabled span { background: transparent !important; color: var(--qc-muted) !important; opacity: .4; }
.ui-datepicker-next:hover, .ui-datepicker-prev:hover { background: var(--qc-surface2) !important; cursor: pointer; }
.ui-icon { filter: invert(1) opacity(.5); }

/* ---------- Select2 dark ---------- */
.select2-container--default .select2-selection--single {
  height: 44px;
  border: 1.5px solid var(--qc-border) !important;
  border-radius: var(--qc-radius-sm) !important;
  background: var(--qc-surface2) !important;
  display: flex;
  align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--qc-text) !important; line-height: 44px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.select2-dropdown { background: var(--qc-surface) !important; border: 1px solid var(--qc-border) !important; border-radius: 8px !important; }
.select2-container--default .select2-results__option { color: var(--qc-text) !important; background: transparent !important; }
.select2-container--default .select2-results__option--highlighted { background: var(--qc-accent) !important; color: #fff !important; }

/* ---------- Autocomplete warning ---------- */
.quickcab-autocomplete-warning { font-size: 12px; color: var(--qc-danger); margin-top: 4px; }

/* ---------- Back button col ---------- */
.qc-recap-col { display: flex; flex-direction: column; }
.qc-back-wrap { margin-top: 12px; }

/* ============================================================
   OVERRIDES FORTS – chargé en dernier, écrase tout le reste
   ============================================================ */

/* ---- Bouton principal "Choisir un véhicule" / "Voir les véhicules" ---- */
.qc-wrapper a.qc-btn,
.qc-wrapper a.qc-btn:link,
.qc-wrapper a.qc-btn:visited,
.qc-wrapper a.quickcab-booking-form1-section1-submit,
.qc-wrapper a.qc-hourly-submit,
.qc-wrapper .qc-actions > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 32px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  color: #ffffff !important;
  background: #6366f1 !important;
  background-image: none !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 4px 20px rgba(99,102,241,.35) !important;
  line-height: 1.4 !important;
  transition: background .2s, transform .15s !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.qc-wrapper a.qc-btn:hover,
.qc-wrapper a.qc-btn:focus,
.qc-wrapper a.quickcab-booking-form1-section1-submit:hover,
.qc-wrapper a.qc-hourly-submit:hover {
  color: #ffffff !important;
  background: #4f52d4 !important;
  background-image: none !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(99,102,241,.5) !important;
}

/* ---- Bouton outline "Retour" ---- */
.qc-wrapper a.qc-btn-outline,
.qc-wrapper a.qc-btn-outline:link,
.qc-wrapper a.qc-btn-outline:visited {
  color: #94a3b8 !important;
  background: transparent !important;
  background-image: none !important;
  border: 1.5px solid #2e3347 !important;
  box-shadow: none !important;
}
.qc-wrapper a.qc-btn-outline:hover,
.qc-wrapper a.qc-btn-outline:focus {
  color: #6366f1 !important;
  background: #22263a !important;
  border-color: #6366f1 !important;
  text-decoration: none !important;
}

/* ---- Bouton Réserver (généré par quickcab.js) ---- */
.qc-wrapper a.quickcab-button,
.qc-wrapper a.quickcab-button:link,
.qc-wrapper a.quickcab-button:visited,
.qc-wrapper a.quickcab-button.-inverted,
.qc-wrapper .quickcab-vehicles-list a.quickcab-vehicle-book-button,
.qc-wrapper .qc-hourly-vehicles-list a.quickcab-vehicle-book-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  background: #6366f1 !important;
  background-image: none !important;
  border: none !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 12px rgba(99,102,241,.3) !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.qc-wrapper a.quickcab-button:hover,
.qc-wrapper a.quickcab-button.-inverted:hover,
.qc-wrapper .quickcab-vehicles-list a.quickcab-vehicle-book-button:hover {
  color: #ffffff !important;
  background: #4f52d4 !important;
  text-decoration: none !important;
}

/* ---- Prix TTC : libellé visible ---- */
.qc-wrapper .quickcab-vehicles-list .quickcab-vehicle-price {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #6366f1 !important;
}

/* ============================================================
   CALENDRIER JQUERY UI – dark, lisible, au-dessus de tout
   ============================================================ */

/* Le conteneur doit être en relative pour que le calendrier
   se positionne correctement sans être coupé */
.qc-wrapper .qc-field { position: relative; }
.qc-wrapper .qc-card  { overflow: visible !important; }
.qc-wrapper .qc-section { overflow: visible !important; }

/* Calendrier principal */
.ui-datepicker.ui-widget {
  position: absolute !important;
  z-index: 999999 !important;
  background: #1e2233 !important;
  border: 1px solid #3a3f5c !important;
  border-radius: 14px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.8), 0 0 0 1px rgba(99,102,241,.15) !important;
  padding: 16px !important;
  font-family: 'Inter', sans-serif !important;
  min-width: 290px !important;
  color: #e2e8f0 !important;
}

/* Header : mois + année */
.ui-datepicker .ui-datepicker-header {
  background: #252840 !important;
  border: 1px solid #3a3f5c !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}
.ui-datepicker .ui-datepicker-title {
  color: #e2e8f0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1 !important;
  flex: 1 !important;
}

/* Flèches navigation */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  transition: background .15s !important;
}
.ui-datepicker .ui-datepicker-prev { left: 8px !important; }
.ui-datepicker .ui-datepicker-next { right: 8px !important; }
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover { background: rgba(99,102,241,.2) !important; color: #6366f1 !important; }

/* Masquer le span généré par jQuery UI et remplacer par contenu CSS */
.ui-datepicker .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-next .ui-icon { display: none !important; }
.ui-datepicker .ui-datepicker-prev::after { content: '‹' !important; font-size: 22px !important; line-height: 1 !important; color: #94a3b8 !important; }
.ui-datepicker .ui-datepicker-next::after { content: '›' !important; font-size: 22px !important; line-height: 1 !important; color: #94a3b8 !important; }
.ui-datepicker .ui-datepicker-prev:hover::after,
.ui-datepicker .ui-datepicker-next:hover::after { color: #6366f1 !important; }

/* Tableau des jours */
.ui-datepicker table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 2px !important;
}

/* En-têtes jours (Lun, Mar...) */
.ui-datepicker th {
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: 4px 2px 8px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
}

/* Cellules */
.ui-datepicker td {
  padding: 2px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
}

/* Liens / spans des jours */
.ui-datepicker td a.ui-state-default,
.ui-datepicker td span.ui-state-default {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: auto !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #cbd5e1 !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
  line-height: 1 !important;
}
.ui-datepicker td a.ui-state-default:hover {
  background: #2d3152 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Jour aujourd'hui */
.ui-datepicker td .ui-state-highlight,
.ui-datepicker td a.ui-state-highlight {
  background: rgba(99,102,241,.2) !important;
  color: #6366f1 !important;
  font-weight: 700 !important;
  border: 1px solid rgba(99,102,241,.4) !important;
}

/* Jour sélectionné */
.ui-datepicker td .ui-state-active,
.ui-datepicker td a.ui-state-active {
  background: #6366f1 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 10px rgba(99,102,241,.4) !important;
  border: none !important;
}

/* Jours désactivés (passés) */
.ui-datepicker td.ui-datepicker-unselectable .ui-state-default,
.ui-datepicker td.ui-state-disabled .ui-state-default,
.ui-datepicker td.ui-datepicker-unselectable span {
  color: #2d3748 !important;
  background: transparent !important;
  cursor: not-allowed !important;
  opacity: .5 !important;
}

/* Mois hors-mois (grisés) */
.ui-datepicker .ui-datepicker-other-month .ui-state-default {
  color: #334155 !important;
  opacity: .6 !important;
}
