body {
  background: radial-gradient(circle at top, rgba(216, 183, 107, 0.12), transparent 55%), var(--color-bg-body);
}
.hero-evenements-prives .hero-bg-overlay {
  background: linear-gradient(to bottom right, rgba(21, 16, 12, 0.4), rgba(21, 16, 12, 0.88)), radial-gradient(circle at top left, rgba(216, 183, 107, 0.4), transparent 55%);
}
.hero-panel-evenements-prives {
  background: radial-gradient(circle at top left, rgba(216, 183, 107, 0.24), transparent 60%), radial-gradient(circle at bottom right, rgba(176, 58, 58, 0.18), transparent 55%), var(--color-bg-glass-strong);
}
.hero-panel-evenements-prives .hero-subtitle {
  color: rgba(21, 16, 12, 0.86);
}
.hero-cta-reservation {
  background: linear-gradient(135deg, #d8b76b, #b8860b);
}
.section-evenement-intro {
  position: relative;
}
.section-evenement-intro::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(216, 183, 107, 0.5), rgba(107, 31, 42, 0.4), rgba(216, 183, 107, 0.5));
  opacity: 0.7;
}
.evenement-intro-grid {
  align-items: center;
  gap: var(--grid-gap-xl);
}
.evenement-media {
  box-shadow: var(--shadow-soft);
}
.evenement-points {
  margin-top: var(--space-lg);
}
.evenement-point-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.section-ambiance {
  background: radial-gradient(circle at top, rgba(216, 183, 107, 0.18), transparent 55%), #f1ece4;
}
.ambiance-grid {
  gap: var(--grid-gap-xl);
}
.ambiance-media {
  box-shadow: var(--shadow-soft-lg);
}
.ambiance-tags {
  margin-top: var(--space-lg);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.section-galerie-privee {
  background: linear-gradient(to bottom, #f7f3ec, #f0ebe2);
}
.galerie-privee-grid {
  gap: var(--grid-gap-xl);
}
.galerie-privee-gallery {
  background: radial-gradient(circle at top left, rgba(216, 183, 107, 0.2), transparent 60%);
  padding: var(--space-md);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}
.galerie-privee-gallery .gallery-item {
  border-radius: var(--radius-lg);
}
.galerie-privee-card {
  height: 100%;
}
.section-reservation {
  background: radial-gradient(circle at top left, rgba(216, 183, 107, 0.18), transparent 55%), radial-gradient(circle at bottom right, rgba(176, 58, 58, 0.16), transparent 55%), var(--color-bg-body);
}
.reservation-grid {
  gap: var(--grid-gap-xl);
}
.reservation-infos {
  margin-top: var(--space-lg);
}
.reservation-highlight {
  padding: var(--space-lg);
  border-radius: var(--radius-xl);
  border: 1px solid rgba(181, 155, 122, 0.4);
}
.reservation-list {
  margin: var(--space-md) 0 0;
  padding-left: 1.2em;
  list-style: disc;
}
.reservation-list li {
  margin: 0.35em 0;
}
.reservation-actions {
  margin-top: var(--space-lg);
}
.reservation-cta {
  flex: 1 1 auto;
}
.reservation-form {
  padding: var(--space-xl);
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.9), rgba(253, 250, 245, 0.98));
  box-shadow: var(--shadow-soft);
}
.reservation-form .form-control {
  background-color: rgba(253, 250, 245, 0.98);
}
.reservation-form .form-actions {
  margin-top: var(--space-xl);
}
[data-scroll-fade] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}
[data-scroll-fade].is-visible {
  opacity: 1;
  transform: translateY(0);
}
.hero-actions .btn {
  max-width: 100%;
}
.reservation-actions .btn {
  max-width: 100%;
}
.reservation-form .btn-full {
  max-width: 100%;
}
@media (max-width: 991.98px) {
  .hero-panel-evenements-prives {
    margin-inline: var(--space-md);
  }
}
@media (max-width: 767.98px) {
  .evenement-intro-grid,
  .ambiance-grid,
  .galerie-privee-grid,
  .reservation-grid {
    gap: var(--grid-gap-lg);
  }
  .reservation-form {
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
  }
  .reservation-highlight {
    border-radius: var(--radius-lg);
  }
  .reservation-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-scroll-fade] {
    opacity: 1 !important;
    transform: none !important;
  }
}
