body.page-private-events {
  background: radial-gradient(circle at top left, #f5f0ff 0, #faf9fb 40%, #ffffff 100%);
}
.section-header {
  max-width: var(--gp-max-width-md);
  margin: 0 auto var(--gp-space-xl);
}
.section-header.centered {
  text-align: center;
}
.section-header.centered p {
  margin-left: auto;
  margin-right: auto;
}
.section-hero-private-events .section-hero-panel {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(243, 236, 255, 0.96));
}
.section-hero-private-events .section-hero-media-frame {
  background: radial-gradient(circle at top left, rgba(123, 60, 255, 0.22), rgba(15, 0, 60, 0.9));
}
.section-hero-media-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.layout-event-types {
  align-items: stretch;
  gap: var(--gp-space-2xl);
}
.event-types-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--gp-space-lg);
}
.event-type-card {
  border-radius: var(--gp-radius-card);
  box-shadow: var(--gp-shadow-subtle);
}
.event-type-list {
  margin: var(--gp-space-sm) 0 0;
  padding: 0;
}
.event-type-list li {
  position: relative;
  padding-left: 1.2rem;
  list-style: none !important;
  color: var(--gp-color-text-soft);
}
.event-type-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: radial-gradient(circle at center, #ffffff 0, #7b3cff 55%, #4b1c9c 100%);
}
.event-types-media {
  display: flex;
  flex-direction: column;
  gap: var(--gp-space-md);
  min-width: 0;
}
.event-types-figure,
.event-types-image {
  border-radius: var(--gp-radius-image);
}
.event-types-highlight {
  border-radius: var(--gp-radius-md);
}
.event-types-highlight-title {
  font-weight: 600;
  margin-bottom: var(--gp-space-xs);
}
.layout-atmosphere {
  align-items: center;
  gap: var(--gp-space-2xl);
}
.atmosphere-media,
.atmosphere-content {
  min-width: 0;
}
.atmosphere-figure,
.atmosphere-image {
  border-radius: var(--gp-radius-image);
}
.atmosphere-details {
  margin-top: var(--gp-space-md);
}
.atmosphere-list {
  margin-bottom: var(--gp-space-md);
}
.gallery-grid {
  margin-top: var(--gp-space-lg);
}
.gallery-tile {
  min-width: 0;
}
.gallery-cta {
  margin-top: var(--gp-space-xl);
}
.section-reservation {
  background: linear-gradient(180deg, #f7f3ff 0, #ffffff 60%);
}
.reservation-cta-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--gp-space-sm);
}
.reservation-note {
  max-width: var(--gp-max-width-sm);
  margin-left: auto;
  margin-right: auto;
}
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--gp-z-modal);
  display: none;
  align-items: center;
  justify-content: center;
}
.modal-overlay[aria-hidden="false"] {
  display: flex;
}
.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 0, 40, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.modal-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px;
  padding: var(--gp-space-md);
}
.modal-panel {
  background: var(--gp-color-surface-glass);
  border-radius: var(--gp-radius-hero-panel);
  border: 1px solid rgba(226, 221, 233, 0.95);
  box-shadow: var(--gp-shadow-soft);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: var(--gp-space-lg);
  max-height: min(640px, 100vh - 3rem);
  overflow-y: auto;
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gp-space-md);
  margin-bottom: var(--gp-space-md);
}
.modal-close-btn {
  flex: 0 0 auto;
}
.modal-close-icon {
  width: 18px;
  height: 18px;
  position: relative;
}
.modal-close-icon::before,
.modal-close-icon::after {
  content: "";
  position: absolute;
  inset: 50%;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #4b1c9c;
  transform-origin: center;
}
.modal-close-icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal-close-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-body {
  font-size: 0.95rem;
}
.form-actions {
  display: flex;
  flex-direction: column;
  gap: var(--gp-space-sm);
  margin-top: var(--gp-space-md);
}
.btn.btn-block {
  max-width: 100%;
}
.hero-reservation-cta {
  max-width: 100%;
}
.animate-in {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--gp-duration-slow) var(--gp-ease-soft), transform var(--gp-duration-slow) var(--gp-ease-soft);
}
.animate-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.animate-in[data-animate="fade-left"] {
  transform: translateX(18px);
}
.animate-in[data-animate="fade-right"] {
  transform: translateX(-18px);
}
.animate-in.is-visible[data-animate="fade-left"],
.animate-in.is-visible[data-animate="fade-right"] {
  transform: translateX(0);
}
@media (max-width: 1023px) {
  .layout-event-types,
  .layout-atmosphere {
    gap: var(--gp-space-xl);
  }
}
@media (max-width: 767px) {
  .modal-dialog {
    padding: var(--gp-space-sm);
  }
  .modal-panel {
    padding: var(--gp-space-md);
    max-height: calc(100vh - 2rem);
  }
  .section-header {
    margin-bottom: var(--gp-space-lg);
  }
}
@media (max-width: 479px) {
  .modal-panel {
    border-radius: var(--gp-radius-lg);
  }
}
