.optimum-liste { margin: 1rem 0; }
.optimum-liste h3 { margin-bottom: .75rem; }
.optimum-liste-grid { display: grid; grid-template-columns: repeat( auto-fit, minmax(240px, 1fr) ); gap: .75rem; }
.ms-card { display:block; padding:15px;   text-decoration:none; color:inherit; background:#fff; }
.ms-card:hover { box-shadow:0 2px 8px rgba(0,0,0,.06); }
.ms-title { font-weight:600; margin-bottom:.25rem; }
.ms-addr { font-size:.95rem; }
.ms-cta { margin-top:.5rem; }

.optimum-rdv .mrf-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin:.75rem 0; }
.optimum-rdv .mrf-row { margin:.75rem 0; }
.optimum-rdv label { display:block; font-weight:600; margin-bottom:.25rem; }
.optimum-rdv input[type="text"], .optimum-rdv input[type="email"], .optimum-rdv input[type="tel"] { width:100%; padding:.5rem .6rem; border:1px solid #ddd; border-radius:8px; }
.optimum-rdv button[type="submit"] {font-weight:600; margin-top:.5rem; padding:.6rem 1rem; border:none; cursor:pointer; }

.mrf-reasons { margin:.75rem 0; }
.mrf-reason, .mrf-slot, .mrf-day, .mrf-time  {  margin:.25rem .5rem .25rem 0; padding:.35rem .6rem; border:1px solid #ccc; background:#fff; border-radius:10px; cursor:pointer; }
.mrf-slot.is-active, .mrf-reason.is-active { font-weight:600; color:#fff; }

.mrf-slots { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }

#mrf-errors { color:#FF0000; margin-top:.5rem; }
#mrf-success { font-weight:600; font-size:16px; margin-top:.5rem; border:none; border-radius:8px; background-color:#00FF00; margin-top:.5rem; text-align:center; color:#FFF; font-size:16px;  }
@media (max-width: 720px) { .optimum-rdv .mrf-grid { grid-template-columns: 1fr; } }
/* Conteneurs */
.mrf-cal, .flatpickr-calendar {
  width:310px !important;
  float:left;
}
.mrf-times {
  float:left;
  width:calc(100% - 310px);
  padding:80px 0 0 30px;
}
.mrf-slot.mrf-time {
  width:30%;
}
.optimum-rdv {clear:left;}
.mrf-cal .flatpickr-input {display:none;}

/* Stepper header + modifier */
.mrf-step-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid rgba(0,0,0,.08);
  margin:10px 0;
}
.mrf-step-edit{
  background:transparent;
  border:0;
  color:#e53935;
  text-decoration:underline;
  cursor:pointer;
  font-size:14px;
}
.optimum-rdv .mrf-hidden{
  display: none !important;
}

.optimum-rdv .mrf-cal { margin: 10px 0 14px; }
.optimum-rdv .flatpickr-calendar.inline {
  box-shadow: none;
  border: 1px solid #eee;
  border-radius: var(--opt-radius);
}
.optimum-rdv .flatpickr-day.selected,
.optimum-rdv .flatpickr-day.startRange,
.optimum-rdv .flatpickr-day.endRange {
  background: var(--opt-primary) !important;
  border-color: var(--opt-primary) !important;
}
