/**
 * Popup rezerwacji – pełna szerokość i wysokość, z animacją wejścia/wyjścia.
 *
 * @package Litworowka
 */

.booking-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease-out,
    visibility 0.3s ease-out;
}

.booking-popup-overlay--open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.booking-popup-overlay__inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: var(--color-surface-elevated);
  opacity: 0;
  transform: scale(0.98);
  transition:
    opacity 0.3s ease-out,
    transform 0.3s ease-out;
}

.booking-popup-overlay--open .booking-popup-overlay__inner {
  opacity: 1;
  transform: scale(1);
}

.booking-popup-overlay__iframe {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: none;
}

.booking-popup-overlay__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  font-size: var(--ui-text-sm);
  font-family: var(--ui-font-sans);
  color: var(--color-primary);
  background-color: var(--color-surface-elevated);
  border: 1px solid var(--color-border);
  cursor: pointer;
  opacity: 0;
  transition:
    border-color 0.2s ease,
    opacity 0.25s ease 0.1s;
}

.booking-popup-overlay--open .booking-popup-overlay__close {
  opacity: 1;
}

.booking-popup-overlay__close:hover,
.booking-popup-overlay__close:focus-visible {
  border-color: var(--color-accent);
  outline: none;
}

body.booking-popup-open {
  overflow: hidden;
}
