.reservation-form {
  margin-top: var(--space-8);
}

.reservation-note {
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

.reservation-actions {
  margin-top: var(--space-8);
}

.reservation-aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.reservation-access dt {
  font-family: var(--font-serif);
  font-weight: 600;
  margin-bottom: var(--space-2);
  color: var(--gray-800);
}

.reservation-access dd {
  margin-bottom: var(--space-6);
  font-size: var(--font-size-sm);
}

.ambiance-figure {
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--gray-200);
}

.ambiance-figure img {
  width: 100%;
  height: auto;
}

.ambiance-figure figcaption {
  padding: var(--space-6) var(--space-8);
  font-size: var(--font-size-sm);
  color: var(--gray-700);
  background: rgba(251, 247, 241, 0.96);
}

.espaces-grid .card-title {
  font-size: 1.1rem;
}

.espaces-subtitle {
  font-family: var(--font-serif);
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-4);
}

.espaces-tags {
  margin-top: var(--space-4);
}

.groupes-list li + li {
  margin-top: var(--space-8);
}

.groupes-list h3 {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  margin-bottom: var(--space-2);
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.faq-item {
  padding: var(--space-8) var(--space-10);
  border-radius: var(--radius-md);
  border: 1px solid var(--gray-200);
  background: rgba(255, 253, 248, 0.96);
}

.faq-item summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--font-serif);
  font-size: var(--font-size-md);
  color: var(--gray-900);
}

.faq-item[open] {
  box-shadow: var(--shadow-soft);
}

.faq-item p {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
}

.faq-aside .card-title {
  font-size: 1.2rem;
}

.reservation-contact-list li + li {
  margin-top: var(--space-8);
}

.reservation-contact-list h3 {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  margin-bottom: var(--space-2);
}

@media (max-width: 960px) {
  .reservation-aside {
    order: -1;
  }
}
