.section--hero-contact {
  padding-top: calc(var(--header-height) + var(--space-10));
}

.hero-contact-grid {
  align-items: center;
}

.hero-contact-content {
  max-width: 32rem;
}

.hero-contact-lead {
  font-size: var(--font-size-lg);
}

.hero-contact-meta .chip {
  background: rgba(255, 255, 255, 0.9);
}

.hero-contact-panel {
  background: radial-gradient(circle at top left, rgba(183, 221, 255, 0.4), rgba(255, 255, 255, 0.96));
}

.hero-contact-list {
  padding-left: 1.1rem;
}

.hero-contact-list li {
  margin-bottom: var(--space-2);
  color: var(--color-text-muted);
}

.section-reservation {
  background: linear-gradient(180deg, #f9fafb, #ffffff);
}

.reservation-grid {
  align-items: flex-start;
}

.reservation-form-note {
  max-width: 22rem;
  font-size: var(--font-size-sm);
  color: var(--gray-600);
}

.reservation-privacy-note {
  margin-top: var(--space-3);
  font-size: var(--font-size-xs);
  color: var(--gray-500);
}

.form-grid {
  align-items: flex-start;
}

.field-consent {
  font-size: var(--font-size-sm);
}

.field-consent input[type="checkbox"] {
  margin-right: 0.5rem;
}

.reservation-contact-items {
  margin-top: var(--space-3);
}

.section-contact-details {
  background-color: var(--gray-50);
}

.contact-details-grid {
  align-items: stretch;
}

.contact-card {
  height: 100%;
}

.contact-info-block .footer-contact-item:last-child {
  margin-bottom: 0;
}

.contact-location-list,
.contact-access-list,
.vip-list,
.rules-list,
.privacy-list,
.support-list {
  padding-left: 1.1rem;
}

.contact-location-list li,
.contact-access-list li,
.vip-list li,
.rules-list li,
.privacy-list li,
.support-list li {
  margin-bottom: var(--space-2);
  color: var(--color-text-muted);
}

.section-vip-groups {
  background: radial-gradient(circle at top, rgba(247, 239, 227, 0.8), #ffffff);
}

.section-rules-privacy {
  background-color: #ffffff;
}

.section-social-contact {
  background: linear-gradient(180deg, #f9fafb, #e5f2ff);
}

.social-links .btn-icon {
  min-width: 8.5rem;
}

@media (max-width: 767px) {
  .section--hero-contact {
    padding-top: calc(var(--header-height) + var(--space-8));
  }

  .hero-contact-content {
    order: 1;
  }

  .hero-contact-panel {
    order: 2;
    margin-top: var(--space-6);
  }

  .reservation-grid,
  .contact-details-grid,
  .vip-groups-grid,
  .rules-privacy-grid,
  .social-contact-grid {
    gap: var(--space-6);
  }
}
