.fz-flyer-viewer[hidden] { display: none !important; }
.fz-flyer-viewer {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  color: #fff;
  background: rgba(2, 7, 18, .94);
  backdrop-filter: blur(12px);
}
.fz-flyer-viewer__bar,
.fz-flyer-viewer__footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  background: rgba(4, 12, 27, .82);
}
.fz-flyer-viewer__controls { display: flex; align-items: center; gap: 8px; }
.fz-flyer-viewer__controls button,
.fz-flyer-viewer__close {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .09);
  font: 700 1.2rem/1 Arial, sans-serif;
  cursor: pointer;
}
.fz-flyer-viewer__controls button:hover,
.fz-flyer-viewer__controls button:focus-visible,
.fz-flyer-viewer__close:hover,
.fz-flyer-viewer__close:focus-visible { color: #171006; border-color: #f1c85a; background: #f1c85a; outline: none; }
.fz-flyer-viewer__controls .fz-flyer-viewer__zoom { width: 66px; font-size: .78rem; }
.fz-flyer-viewer__close { margin-left: auto; border-radius: 50%; font-size: 1.7rem; }
.fz-flyer-viewer__stage {
  display: flex;
  min-width: 0;
  min-height: 0;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 24px;
}
.fz-flyer-viewer__stage img {
  display: block;
  max-width: min(100%, 1400px);
  max-height: 100%;
  object-fit: contain;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .55);
  cursor: zoom-in;
  transform: scale(var(--fz-flyer-zoom, 1));
  transform-origin: center;
  transition: transform .18s ease;
}
.fz-flyer-viewer__stage img.is-zoomed { cursor: zoom-out; }
.fz-flyer-viewer__footer p { min-width: 0; margin: 0; }
.fz-flyer-viewer__footer strong { display: block; overflow: hidden; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.fz-flyer-viewer__footer small { display: block; margin-top: 2px; color: rgba(255, 255, 255, .68); }
.fz-flyer-viewer__footer a { flex: 0 0 auto; padding: 10px 14px; border-radius: 10px; color: #201506; background: #f1c85a; font-size: .82rem; font-weight: 800; text-decoration: none; }
body.fz-flyer-viewer-open { overscroll-behavior: none; }

button.fz-package-card__image,
.fz-detail-media__button,
.fz-flyer-trigger {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: inherit;
  cursor: zoom-in;
}
.fz-package-card__image:focus-visible,
.fz-detail-media__button:focus-visible,
.fz-flyer-trigger:focus-visible,
.fz-flyer-preview:focus-visible,
.fz-selected-package img:focus-visible { outline: 3px solid #e6ad25; outline-offset: 3px; }
.fz-detail-media__button { position: absolute; inset: 0; display: block; }
.fz-package-card__footer { text-decoration: none; }
.fz-package-card__zoom {
  position: absolute;
  bottom: 14px;
  left: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #fff;
  background: rgba(3, 12, 27, .74);
  font-size: .68rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
}
.fz-flyer-trigger { position: relative; display: inline-block; width: auto; border-radius: 8px; }
.fz-flyer-trigger::after {
  position: absolute;
  right: 6px;
  bottom: 6px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #fff;
  background: rgba(3, 12, 27, .78);
  content: "\2197";
  font: 700 15px/28px Arial, sans-serif;
  text-align: center;
  pointer-events: none;
}
.fz-flyer-preview[role="button"],
.fz-selected-package img[role="button"] { cursor: zoom-in; }

@media (max-width: 640px) {
  .fz-flyer-viewer__bar { padding: 10px 12px; }
  .fz-flyer-viewer__stage { padding: 12px; }
  .fz-flyer-viewer__footer { align-items: flex-start; padding: 11px 12px; }
  .fz-flyer-viewer__footer small { display: none; }
  .fz-flyer-viewer__footer a { padding: 9px 11px; font-size: .73rem; }
  .fz-flyer-viewer__controls button,
  .fz-flyer-viewer__close { width: 38px; height: 38px; }
}
