/* FILE: mrg-booking.css (sostituisci completamente) */
.mrg-booking { max-width: 900px; }
.mrg-booking__row { margin: 12px 0; display: grid; gap: 6px; }

.mrg-booking__slots { margin: 14px 0; display: grid; gap: 14px; }
.mrg-day { border: 1px solid #ddd; padding: 10px; border-radius: 8px; }
.mrg-day__grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }

/* slot */
.mrg-slot{
  text-align:left;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:12px;
  cursor:pointer;
  background:#d61f3a !important;
  color:#fff !important;
  font-size: 11px;
  line-height: 16px;
}
.mrg-slot strong, .mrg-slot .mrg-seat { color:#fff !important; }
.mrg-slot:hover{ background:#18a34a !important; }

.mrg-seat { display:block; margin-top:6px; font-size:12px; opacity:.95; }

.mrg-booking__form { margin-top: 18px; border-top: 1px solid #eee; padding-top: 14px; }
.mrg-booking__msg { margin-top: 10px; padding: 10px; border-radius: 8px; }
.mrg-booking__msg.is-ok { background: #eef9f0; border: 1px solid #bfe7c7; }
.mrg-booking__msg.is-err { background: #fdecec; border: 1px solid #f3b5b5; }
.mrg-empty { opacity: .8; }

/* calendario */
.mrg-booking__calnav { display:flex; gap:10px; align-items:center; }
#mrg_month_label { font-weight:600; }

.mrg-booking__calnav button{
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:8px 12px;
  cursor:pointer;
  background:#d61f3a;
  color:#fff;
}
.mrg-booking__calnav button:hover{ background:#18a34a; }

.mrg-booking__calendar{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:6px;
  margin-top:8px;
}

.mrg-cal__head{
  font-size:12px;
  opacity:.75;
  padding:6px 0;
  text-align:center;
}

.mrg-cal__cell{
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:10px 0;
  text-align:center;
  background:#fff;
  color:#111;
}

.mrg-cal__cell.is-empty{ border:0; background:transparent; }

.mrg-cal__cell.is-disabled{
  opacity:.25;
  background:#fff;
  color:#111;
}

.mrg-cal__cell.is-avail{
  opacity:1;
  cursor:pointer;
  background:#fff;
  color:#111;
}

.mrg-cal__cell.is-avail:hover{
  background:#18a34a;
  color:#fff;
}

.mrg-cal__cell.is-selected{
  background:#d61f3a;
  color:#fff;
  outline:0;
}

/* slot selezionato */
.mrg-slot.is-selected{
  background:#18a34a !important;
  color:#fff !important;
}
.mrg-slot.is-selected strong,
.mrg-slot.is-selected .mrg-seat{
  color:#fff !important;
}

.mrg-booking__form.is-active{
  outline: 2px solid rgba(24,163,74,.35);
  border-radius: 12px;
  padding: 14px;
}