/* Page-owned styles for Politique de confidentialité */

.privacy-main {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
  padding-block: var(--space-6) var(--space-8);
}

/* Section base spacing */
.privacy-section {
  margin-block-end: var(--space-7);
}

.privacy-section:last-child {
  margin-block-end: 0;
}

/* 1. Introduction */
.privacy-intro {
  text-align: center;
}

.privacy-intro__content {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-intro__lead {
  max-width: 70ch;
  margin-inline: auto;
}

.privacy-intro__points {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 70ch;
  margin-inline: auto;
}

.privacy-intro__points li {
  position: relative;
  padding-inline-start: var(--space-4);
  text-align: left;
}

.privacy-intro__points li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.55em;
  width: 8px;
  height: 8px;
  background-color: var(--color-brass);
  border-radius: 50%;
}

/* 2. Responsable du traitement */
.privacy-controller {
  display: flex;
  justify-content: center;
}

.privacy-controller__card {
  width: 100%;
  max-width: 600px;
  background-color: var(--color-ivory);
  border: var(--border-brass);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

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

/* 3. Données collectées */
.privacy-data__grid {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: var(--space-5);
  align-items: start;
}

.privacy-data__title-col,
.privacy-data__content-col {
  min-width: 0;
}

.privacy-data__content-col {
  max-width: 75ch;
}

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

.privacy-data__list li {
  padding-inline-start: var(--space-4);
  position: relative;
}

.privacy-data__list li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.55em;
  width: 8px;
  height: 8px;
  background-color: var(--color-brass);
  border-radius: 50%;
}

/* 4. Finalités du traitement */
.privacy-purposes {
  background-color: var(--color-deep-green);
  color: var(--color-ivory);
  padding: var(--space-6);
  border-radius: var(--radius-sm);
}

.privacy-purposes__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-purposes__content h2,
.privacy-purposes__content p,
.privacy-purposes__content li {
  color: var(--color-ivory);
}

.privacy-purposes__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 70ch;
  margin-inline: auto;
  text-align: left;
}

.privacy-purposes__list li {
  padding-inline-start: var(--space-4);
  position: relative;
}

.privacy-purposes__list li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.55em;
  width: 8px;
  height: 8px;
  background-color: var(--color-brass);
  border-radius: 50%;
}

/* 5. Base légale */
.privacy-legal-basis__content {
  max-width: 900px;
  margin-inline: auto;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-legal-basis__table-wrap {
  overflow-x: auto;
  border: var(--border-brass);
  border-radius: var(--radius-sm);
}

.privacy-legal-basis__table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: 0;
  min-width: 600px;
}

.privacy-legal-basis__table th,
.privacy-legal-basis__table td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid rgba(62, 39, 35, 0.15);
}

.privacy-legal-basis__table th {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-deep-green);
  background-color: rgba(181, 166, 66, 0.1);
}

.privacy-legal-basis__table tr:last-child td {
  border-bottom: none;
}

/* 6. Conservation des données */
.privacy-retention__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-retention__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.privacy-retention__card {
  background-color: var(--color-ivory);
  border: var(--border-brass);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

/* 7. Droits RGPD */
.privacy-rights__content {
  max-width: 900px;
  margin-inline: auto;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-rights__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.privacy-rights__card {
  background-color: var(--color-ivory);
  border: var(--border-brass);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
}

/* 8. Sécurité des données */
.privacy-security {
  background-color: var(--color-deep-green);
  color: var(--color-ivory);
  padding: var(--space-6);
  border-radius: var(--radius-sm);
}

.privacy-security__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.privacy-security__content h2,
.privacy-security__content p,
.privacy-security__content li {
  color: var(--color-ivory);
}

.privacy-security__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 70ch;
  margin-inline: auto;
  text-align: left;
}

.privacy-security__list li {
  padding-inline-start: var(--space-4);
  position: relative;
}

.privacy-security__list li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.55em;
  width: 8px;
  height: 8px;
  background-color: var(--color-brass);
  border-radius: 50%;
}

/* 9. Contact */
.privacy-contact {
  display: flex;
  justify-content: center;
}

.privacy-contact__card {
  width: 100%;
  max-width: 600px;
  background-color: var(--color-ivory);
  border: var(--border-brass);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  padding: var(--space-5);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: center;
}

.privacy-contact__details {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
}

.privacy-contact__btn {
  margin-block-start: var(--space-2);
}

/* 10. Date d'effet */
.privacy-effective-date {
  text-align: center;
}

.privacy-effective-date__content {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.privacy-effective-date__content p {
  max-width: 70ch;
  margin-inline: auto;
}

/* Tablet breakpoint */
@media (max-width: 900px) {
  .privacy-data__grid {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .privacy-data__title-col {
    text-align: left;
  }

  .privacy-data__content-col {
    max-width: none;
  }

  .privacy-retention__grid,
  .privacy-rights__grid {
    grid-template-columns: 1fr;
  }
}

/* Mobile breakpoint */
@media (max-width: 600px) {
  .privacy-main {
    padding-block: var(--space-5) var(--space-6);
  }

  .privacy-section {
    margin-block-end: var(--space-6);
  }

  .privacy-intro__content,
  .privacy-purposes__content,
  .privacy-legal-basis__content,
  .privacy-retention__content,
  .privacy-rights__content,
  .privacy-security__content,
  .privacy-effective-date__content {
    text-align: left;
  }

  .privacy-intro__lead,
  .privacy-intro__points,
  .privacy-purposes__list,
  .privacy-security__list,
  .privacy-effective-date__content p {
    max-width: none;
    margin-inline: 0;
  }

  .privacy-controller__card,
  .privacy-contact__card {
    padding: var(--space-4);
    text-align: left;
    align-items: flex-start;
  }

  .privacy-contact__btn {
    width: 100%;
    justify-content: center;
  }

  .privacy-purposes,
  .privacy-security {
    padding: var(--space-5);
  }

  .privacy-legal-basis__table-wrap {
    border-radius: var(--radius-sm);
  }

  .privacy-legal-basis__table {
    min-width: 500px;
  }
}

@media (max-width: 390px) {
  .privacy-main {
    padding-inline: var(--space-3);
  }

  .privacy-retention__card,
  .privacy-rights__card {
    padding: var(--space-3);
  }
}
