.season-popup {
  width: min(1100px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #043b29;
  color: #fff8de;
  box-shadow: 0 24px 70px rgba(0, 28, 17, .38);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: #e2cf83 #043b29;
}
.season-popup:not([open]) { display: none; }
.season-popup::backdrop { background: rgba(0, 22, 14, .76); }
.season-popup::selection, .season-popup ::selection { background: #ffe34d; color: #043b29; }
.season-popup__toolbar { display: flex; justify-content: flex-end; padding: 4px 8px; }
.season-popup__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #fff8de;
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  text-transform: none;
  cursor: pointer;
}
.season-popup__close:hover { background: #16553c; }
.season-popup__art-link, .season-popup__art, .season-popup__art img { display: block; width: 100%; }
.season-popup__art img { height: auto; margin: 0; }
.season-popup__actions { display: flex; align-items: center; gap: 24px; padding: 20px 24px 24px; }
.season-popup__actions p { flex: 1; margin: 0; color: #fff8de; font-size: 15px; line-height: 1.6; }
.season-popup__reserve {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 10px 22px;
  border-radius: 24px;
  background: #ffe34d;
  color: #043b29;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}
.season-popup__reserve:hover { background: #fff1a0; color: #043b29; text-decoration: underline; text-underline-offset: 3px; }
.season-popup__close:focus-visible, .season-popup__reserve:focus-visible, .season-popup__art-link:focus-visible { outline: 3px solid #fff8de; outline-offset: -5px; }
html.season-popup-open, html.season-popup-open body { overflow: hidden; }
@media (max-width: 767px) {
  .season-popup__actions { flex-direction: column; align-items: stretch; gap: 16px; padding: 16px 20px 20px; }
  .season-popup__actions p { font-size: 14px; text-align: center; }
}
