@layer base {
  .section-alt {
    background: var(--color-bg-alt);
  }
}
@layer components {
  .contact-hero {
    padding-block: var(--space-18);
  }
  .contact-info-grid,
  .contact-form-grid,
  .equipe-grid {
    gap: var(--space-8);
  }
  .contact-card {
    height: 100%;
  }
  .contact-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
  }
  .contact-label {
    display: block;
    font-size: var(--font-size-xs);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gray-700);
    margin-bottom: 2px;
  }
  .contact-note {
    font-size: var(--font-size-sm);
  }
  .contact-form {
    display: flex;
    flex-direction: column;
  }
  .reservation-note {
    font-size: var(--font-size-sm);
    color: var(--gray-700);
    margin-bottom: var(--space-4);
  }
  .contact-side-info .contact-subtitle {
    font-size: var(--font-size-md);
    font-family: var(--font-accent);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gray-800);
    margin-bottom: var(--space-2);
  }
  .legal-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-block: var(--space-3);
    font-size: var(--font-size-sm);
  }
  .legal-card {
    height: 100%;
  }
  .faq-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  .faq-cta {
    margin-top: var(--space-6);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--font-size-sm);
  }
}
@media (max-width: 767.98px) {
  .contact-hero {
    padding-block: var(--space-16);
  }
  .faq-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}
