/* Sada Rent — calendar (flatpickr) în stilul site-ului: dark + gold, colțuri rotunjite, pe mobil „bottom sheet”. */
.flatpickr-calendar{
  width:328px; padding:14px 12px 12px; background:#141418; border:1px solid rgba(217,164,65,.22); border-radius:22px;
  box-shadow:0 28px 70px -18px rgba(0,0,0,.95), 0 0 0 1px rgba(0,0,0,.4); font-family:Manrope,system-ui,sans-serif; color:#F4EFE6;
  -webkit-font-smoothing:antialiased;
}
.flatpickr-calendar:before,.flatpickr-calendar:after{ display:none; }
.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{ display:none; }
.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days,.dayContainer{ width:100%; min-width:0; max-width:none; }
.flatpickr-months{ position:relative; background:transparent; align-items:center; padding:2px 2px 10px; }
.flatpickr-months .flatpickr-month{ background:transparent; color:#F4EFE6; fill:#F4EFE6; height:40px; }
.flatpickr-current-month{ font:800 15px/1 Manrope,system-ui,sans-serif; color:#F4EFE6; padding:6px 0 0; height:40px; display:flex; align-items:center; justify-content:center; gap:6px; }
.flatpickr-current-month .flatpickr-monthDropdown-months{ background:transparent; color:#F4EFE6; font-weight:800; border-radius:8px; appearance:none; -webkit-appearance:none; text-align:center; }
.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month .numInputWrapper:hover{ background:rgba(217,164,65,.1); }
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{ background:#141418; color:#F4EFE6; }
.flatpickr-current-month input.cur-year{ color:#F4EFE6; font-weight:800; }
.numInputWrapper span.arrowUp:after{ border-bottom-color:#D9A441; }
.numInputWrapper span.arrowDown:after{ border-top-color:#D9A441; }
.numInputWrapper span{ border:0; }
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{
  position:absolute; top:2px; width:38px; height:38px; padding:0; display:grid; place-items:center; border-radius:12px;
  background:#0B0B0D; border:1px solid #2A2A31; color:#D9A441; fill:#D9A441; transition:background .15s, border-color .15s, transform .15s;
}
.flatpickr-months .flatpickr-prev-month{ left:2px; }
.flatpickr-months .flatpickr-next-month{ right:2px; }
.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{ width:13px; height:13px; fill:#D9A441; }
.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{ background:rgba(217,164,65,.12); border-color:rgba(217,164,65,.5); }
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{ fill:#F2C879; }
.flatpickr-months .flatpickr-prev-month:active,.flatpickr-months .flatpickr-next-month:active{ transform:scale(.92); }
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{ opacity:.3; display:grid; }
.flatpickr-weekdays{ background:transparent; height:30px; margin-bottom:2px; }
span.flatpickr-weekday{ background:transparent; color:#A39B8B; font:700 11px/30px Manrope,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.flatpickr-days{ border:0; }
.dayContainer{ padding:0; justify-content:space-between; }
.flatpickr-day{
  max-width:none; width:14.2857%; height:42px; line-height:42px; margin:2px 0; border:1px solid transparent; border-radius:12px;
  color:#F4EFE6; font-weight:700; font-size:14px; transition:background .12s, color .12s, border-color .12s, transform .12s;
}
.flatpickr-day:hover,.flatpickr-day:focus{ background:rgba(217,164,65,.12); border-color:rgba(217,164,65,.35); color:#F2C879; }
.flatpickr-day.today{ border-color:rgba(217,164,65,.55); color:#F2C879; }
.flatpickr-day.today:hover{ background:rgba(217,164,65,.16); color:#F2C879; }
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.endRange{
  background:linear-gradient(180deg,#F2C879,#D9A441); border-color:#D9A441; color:#0B0B0D; font-weight:800; box-shadow:0 8px 20px -8px rgba(217,164,65,.7);
}
.flatpickr-day.inRange,.flatpickr-day.mr-in-range{
  background:rgba(217,164,65,.14); border-color:transparent; border-radius:0; box-shadow:none; color:#F4EFE6;
}
.flatpickr-day.mr-range-start{ border-radius:12px 0 0 12px; }
.flatpickr-day.mr-range-end{ border-radius:0 12px 12px 0; }
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{ color:#4A4A52; }
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{ color:#3F3F46; background:transparent; border-color:transparent; cursor:not-allowed; text-decoration:none; }
/* zile ocupate (pagina de rezervare) */
.flatpickr-day.flatpickr-booked,.flatpickr-day.flatpickr-booked:hover{
  background:rgba(220,38,38,.16); color:#fca5a5; border-color:rgba(220,38,38,.35); cursor:not-allowed; text-decoration:line-through; opacity:1;
}
.flatpickr-day.flatpickr-booked.selected{ background:#dc2626; color:#fff; border-color:#b91c1c; box-shadow:none; }
/* selector de oră */
.flatpickr-time{ border-top:1px solid #2A2A31 !important; }
.flatpickr-time input,.flatpickr-time .flatpickr-am-pm{ color:#F4EFE6; font-weight:800; background:transparent; }
.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{ background:rgba(217,164,65,.12); }
.flatpickr-time .flatpickr-time-separator{ color:#A39B8B; }
.flatpickr-calendar.noCalendar.hasTime{ width:210px !important; border-radius:18px !important; }
/* câmpul alt (afișare dd.mm.yyyy) — moștenește aspectul input-ului original */
input.mr-date-alt{ cursor:pointer; }
/* footer cu butoane rapide */
.mr-fp-foot{ display:flex; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid #2A2A31; }
.mr-fp-foot button{ flex:1; height:38px; border-radius:11px; border:1px solid #2A2A31; background:#0B0B0D; color:#A39B8B; font:700 13px Manrope,system-ui,sans-serif; cursor:pointer; transition:.15s; }
.mr-fp-foot button:hover{ color:#F2C879; border-color:rgba(217,164,65,.5); }
.mr-fp-foot button.is-primary{ background:linear-gradient(180deg,#F2C879,#D9A441); color:#0B0B0D; border-color:#D9A441; }

/* Mobil: calendarul devine „bottom sheet” */
.mr-fp-backdrop{ position:fixed; inset:0; z-index:9998; background:rgba(0,0,0,.6); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); opacity:0; pointer-events:none; transition:opacity .2s; }
.mr-fp-backdrop.show{ opacity:1; pointer-events:auto; }
@media (max-width:640px){
  .flatpickr-calendar.open:not(.noCalendar){
    position:fixed !important; top:auto !important; left:0 !important; right:0 !important; bottom:0 !important; width:100% !important; max-width:none;
    border-radius:26px 26px 0 0; border-bottom:0; padding:10px 14px calc(16px + env(safe-area-inset-bottom)); z-index:9999; animation:mrFpUp .28s cubic-bezier(.2,.8,.2,1);
  }
  .flatpickr-calendar.open:not(.noCalendar):before{ display:block; content:''; position:static; width:40px; height:5px; margin:2px auto 10px; border:0; border-radius:99px; background:#2A2A31; }
  .flatpickr-day{ height:46px; line-height:46px; font-size:15px; }
}
@keyframes mrFpUp{ from{ transform:translateY(100%); } to{ transform:none; } }
@media (prefers-reduced-motion:reduce){ .flatpickr-calendar.open{ animation:none !important; } }
