.nasadni-booking .nasadni-calendar[hidden] { display: none; }
.nasadni-booking .nasadni-calendar {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  left: 0;
  width: min(340px, calc(100vw - 28px));
  padding: 16px;
  border: 1px solid var(--nasadni-line);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(30, 41, 59, .17);
  font-size: 14px;
}
.nasadni-booking .nasadni-calendar__header { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px 28px; align-items: center; gap: 4px; text-align: center; }
.nasadni-booking .nasadni-calendar__header strong { font-weight: 600; font-size: 15px; text-transform: capitalize; }
.nasadni-booking .nasadni-calendar__header button { display: grid; place-items: center; width: 34px; height: 36px; padding: 0; border: 1px solid var(--nasadni-line); border-radius: 4px; background: #fff; color: var(--nasadni-blue); font-size: 23px; }
.nasadni-booking .nasadni-calendar__header button[data-calendar-close] { border: 0; color: var(--nasadni-ink); }
.nasadni-booking .nasadni-calendar__weekdays, .nasadni-booking .nasadni-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.nasadni-booking .nasadni-calendar__weekdays { margin-top: 12px; }
.nasadni-booking .nasadni-calendar__weekdays span { padding: 8px 0; color: var(--nasadni-muted); font-size: 12px; font-weight: 600; text-align: center; }
.nasadni-booking .nasadni-calendar__day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: 100%; min-width: 0; height: 58px; min-height: 58px; padding: 2px; border: 1px solid transparent; border-radius: 4px; background: #fff; color: var(--nasadni-ink); font-size: 14px; line-height: 1.1; }
.nasadni-booking .nasadni-calendar__price { display: block; max-width: 100%; color: inherit; font-size: 10px; line-height: 1.1; font-weight: 500; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.nasadni-booking .nasadni-calendar__day:hover:not(:disabled), .nasadni-booking .nasadni-calendar__day:focus-visible { border-color: var(--nasadni-blue); background: var(--nasadni-soft); }
.nasadni-booking .nasadni-calendar__day.is-selected { border-color: var(--nasadni-blue); background: var(--nasadni-blue); color: #fff; }
.nasadni-booking .nasadni-calendar__day:disabled { color: #9ca3af; background: #f6f7f9; text-decoration: line-through; opacity: 1; }
.nasadni-booking .nasadni-calendar__blank { height: 58px; min-height: 58px; }
@media (max-width: 640px) {
  .nasadni-booking .nasadni-calendar { position: fixed; top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: 85dvh; overflow-y: auto; padding: 22px 18px max(22px, env(safe-area-inset-bottom)); border-radius: 8px 8px 0 0; box-shadow: 0 -14px 45px rgba(30, 41, 59, .25); }
}
@media (max-width: 360px) {
  .nasadni-booking .nasadni-calendar__price { font-size: 9px; }
}