/* Calendrier mensuel LM-Cérémonie */
.lm-availability{
  padding:0;background:#fff;color:#38352e;
  font-family:Arial,sans-serif;
}
.lm-availability-toolbar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;gap:12px;padding:22px;
}
.lm-availability-toolbar h3{
  margin:0;text-align:left;text-transform:capitalize;
  font:500 23px/1.4 Arial,sans-serif;letter-spacing:0;
}
.lm-availability button{
  font:14px/1.4 Arial,sans-serif;color:#38352e;
  background:#fff;border:1px solid #ded8cf;
  border-radius:5px;cursor:pointer;
  min-height:38px;padding:8px 13px;
}
.lm-availability button:hover{background:#f5f1eb}
.lm-availability button:disabled{opacity:.4;cursor:default}
.lm-availability button:focus-visible{
  outline:2px solid #93583f;outline-offset:2px;
}
.lm-calendar-weekdays,.lm-calendar-days{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  gap:0;
}
.lm-calendar-weekdays{
  border-top:1px solid #e7e1d8;
  border-bottom:1px solid #e7e1d8;
  text-align:center;background:#faf7f2;
}
.lm-calendar-weekdays span{
  padding:13px 3px;font-size:12px;color:#6b655c;
}
.lm-calendar-days{
  border-left:1px solid #e7e1d8;
}
.lm-calendar-days>span{
  min-height:110px;background:#faf9f7;
  border-right:1px solid #e7e1d8;
  border-bottom:1px solid #e7e1d8;
}
.lm-calendar-days .lm-day{
  display:flex;flex-direction:column;
  align-items:stretch;justify-content:flex-start;
  gap:10px;min-width:0;min-height:110px;
  margin:0;padding:9px 7px;
  border:0;border-right:1px solid #e7e1d8;
  border-bottom:1px solid #e7e1d8;
  border-radius:0;background:#fff;box-shadow:none;
}
.lm-day>span:first-child{
  align-self:flex-end;display:flex;
  align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  font-size:13px;
}
.lm-calendar-days .lm-day.is-today>span:first-child{
  background:#93583f;color:#fff;
}
.lm-calendar-days .lm-day.is-busy{background:#fff}
.lm-calendar-days .lm-day.is-busy::after{
  content:"Réservé";display:block;
  padding:5px 4px;border-radius:4px;
  background:#93583f;color:#fff;
  font-size:11px;text-align:center;
}
.lm-day>.busy-dot{display:none!important}
.lm-calendar-days .lm-day[aria-pressed="true"]{
  outline:2px solid #93583f;outline-offset:-2px;
}
.lm-calendar-legend{
  display:flex;flex-wrap:wrap;gap:12px 25px;
  padding:18px 22px;font-size:11px;color:#6b655c;
}
.lm-calendar-legend span{
  display:flex;align-items:center;gap:8px;
}
.lm-calendar-legend .busy-dot{
  display:inline-block;width:9px;height:9px;
  background:#93583f;border-radius:50%;
}
.lm-calendar-day-detail{
  margin:0 22px 18px;padding:16px 18px;
  background:#faf7f2;border-left:3px solid #93583f;
  font-size:14px;
}
.lm-calendar-day-detail strong{
  display:block;margin-bottom:7px;text-transform:capitalize;
}
.lm-calendar-day-detail p{margin:0;font-size:14px}
.lm-calendar-note{
  margin:0;padding:0 22px 20px;font-size:12px;
}
.lm-calendar-note a{color:#93583f}
.lm-availability-status{padding:0 22px;font-size:14px}
.lm-availability-status.error{color:#8c301b}
.lm-availability [hidden]{display:none!important}
@media(max-width:600px){
  .lm-availability-toolbar{gap:7px;padding:15px 10px}
  .lm-availability-toolbar h3{font-size:18px}
  .lm-availability-toolbar button{padding:7px 9px;font-size:11px}
  .lm-calendar-days .lm-day,
  .lm-calendar-days>span{min-height:75px}
  .lm-calendar-days .lm-day{padding:6px 3px;gap:6px}
  .lm-calendar-days .lm-day.is-busy::after{
    font-size:9px;padding:4px 1px;
  }
  .lm-calendar-weekdays span{font-size:10px}
}