/* Page-owned styles for politique-de-confidentialite */

.legal-page {
  background-color: var(--color-felt);
}

.legal-hero {
  background-color: var(--color-felt);
  padding-block: var(--space-8) var(--space-7);
  text-align: center;
}

.legal-hero__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}

.legal-hero__title {
  font-size: clamp(2.5rem, 5vw, var(--text-5xl));
  margin-block-end: var(--space-5);
  position: relative;
  padding-block-end: var(--space-4);
}

.legal-hero__title::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background-color: var(--color-or);
  margin-inline: auto;
  margin-block-start: var(--space-3);
}

.legal-hero__subtitle {
  max-width: 68ch;
  margin-inline: auto;
  margin-block-end: var(--space-4);
  color: var(--color-ivoire-doux);
  font-size: var(--text-lg);
  line-height: var(--text-lg-lh);
}

.legal-hero__date {
  color: var(--color-ivoire-doux);
}

.legal-section {
  padding-block: var(--space-7);
}

.legal-section--graphite {
  background-color: var(--color-graphite);
}

.legal-section__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}

.legal-section__title {
  font-size: clamp(1.75rem, 3.5vw, var(--text-3xl));
  margin-block-end: var(--space-5);
  position: relative;
  padding-block-end: var(--space-4);
}

.legal-section__title::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  background-color: var(--color-or);
  margin-block-start: var(--space-3);
}

.legal-section__content {
  max-width: 68ch;
  margin-inline-start: 0;
}

.legal-section__lead {
  border-inline-start: 3px solid var(--color-or);
  padding-inline-start: var(--space-5);
  font-family: var(--font-heading);
  font-style: italic;
  font-size: var(--text-lg);
  line-height: var(--text-lg-lh);
  color: var(--color-ivoire-doux);
  margin-block-end: var(--space-5);
}

.legal-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.legal-list li {
  position: relative;
  padding-inline-start: var(--space-6);
  line-height: var(--text-base-lh);
}

.legal-list li::before {
  content: '◆';
  position: absolute;
  left: 0;
  top: 0.1em;
  color: var(--color-or);
  font-size: var(--text-sm);
}

.legal-contact-card {
  background-color: var(--color-felt-raised);
  border: 2px solid var(--color-or);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  max-width: 68ch;
  margin-inline: auto;
}

.legal-contact-card p {
  margin-block-end: var(--space-4);
}

.legal-contact-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.legal-contact-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  line-height: var(--text-base-lh);
}

.legal-contact-icon {
  color: var(--color-or);
  font-size: var(--text-lg);
  flex-shrink: 0;
  width: 1.5em;
  text-align: center;
}

.legal-note {
  font-style: italic;
  color: var(--color-ivoire-doux);
}

@media (min-width: 768px) {
  .legal-hero__inner {
    padding-inline: var(--container-pad-desktop);
  }

  .legal-section__inner {
    padding-inline: var(--container-pad-desktop);
  }

  .legal-section__content {
    margin-inline-start: calc(2 * (100% / 12));
  }

  .legal-contact-card {
    margin-inline: auto;
  }
}

@media (min-width: 1024px) {
  .legal-section {
    padding-block: var(--space-8);
  }
}

@media (max-width: 767px) {
  .legal-hero {
    padding-block: var(--space-6) var(--space-5);
  }

  .legal-section {
    padding-block: var(--space-5);
  }

  .legal-section__content {
    margin-inline-start: 0;
  }

  .legal-contact-card {
    padding: var(--space-5);
  }
}
