/* ===== Polityka prywatności — page-owned styles ===== */

.privacy-page {
  background-color: var(--color-bg-base);
  color: var(--color-text-primary);
}

/* --- Sekcje ogólne --- */
.privacy-section {
  padding-block: var(--space-48);
}

.privacy-section__title {
  margin-block-end: var(--space-24);
}

.privacy-section__lead {
  margin-block-end: var(--space-24);
}

.privacy-section__note {
  margin-block-start: var(--space-24);
  color: var(--color-text-muted);
}

/* --- Hero --- */
.privacy-hero {
  padding-block: var(--space-64) var(--space-48);
  background-color: var(--color-bg-base);
}

.privacy-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-16);
}

.privacy-hero__title {
  margin-block-end: 0;
  font-size: var(--text-h1);
  line-height: var(--leading-h1);
  font-weight: var(--weight-bold);
  color: var(--color-text-primary);
}

.privacy-hero__date {
  margin-block-end: 0;
  font-size: var(--text-body);
  font-weight: var(--weight-medium);
  color: var(--color-accent-info);
}

.privacy-hero__lead {
  margin-block-end: 0;
  max-width: 50rem;
  margin-inline: auto;
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  color: var(--color-text-primary);
}

/* --- Karty --- */
.privacy-card {
  background-color: var(--color-bg-surface);
  border: var(--border-default);
  border-radius: var(--radius-none);
  padding: var(--space-24);
  max-width: 37.5rem;
}

.privacy-card p {
  margin-block-end: var(--space-16);
}

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

/* --- Listy --- */
.privacy-definitions-list,
.privacy-data-list,
.privacy-sharing-list,
.privacy-retention-list,
.privacy-rights-list,
.privacy-cookies-list,
.privacy-monitoring-list,
.privacy-changes-list,
.privacy-contact-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.privacy-definitions-list li,
.privacy-data-list li,
.privacy-sharing-list li,
.privacy-retention-list li,
.privacy-rights-list li,
.privacy-cookies-list li,
.privacy-monitoring-list li,
.privacy-changes-list li,
.privacy-contact-list li {
  position: relative;
  padding-inline-start: var(--space-24);
  color: var(--color-text-primary);
  line-height: var(--leading-body);
}

.privacy-definitions-list li::before,
.privacy-data-list li::before,
.privacy-sharing-list li::before,
.privacy-retention-list li::before,
.privacy-rights-list li::before,
.privacy-cookies-list li::before,
.privacy-monitoring-list li::before,
.privacy-changes-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--color-accent-info);
  border-radius: 0;
}

.privacy-rights-list li::before {
  background-color: var(--color-accent-action);
}

.privacy-contact-list {
  gap: var(--space-8);
}

.privacy-contact-list li {
  padding-inline-start: 0;
}

.privacy-contact-list li::before {
  display: none;
}

.privacy-contact-list a {
  color: var(--color-accent-action);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.privacy-contact-list a:hover {
  color: var(--color-accent-action-hover);
}

/* --- Tabela celów --- */
.privacy-table-wrapper {
  overflow-x: auto;
  margin-block-end: var(--space-24);
}

.privacy-table {
  width: 100%;
  min-width: 40rem;
  border-collapse: collapse;
  margin-block-end: 0;
}

.privacy-table th,
.privacy-table td {
  padding: var(--space-16);
  border-block-end: var(--border-default);
  text-align: start;
  vertical-align: top;
}

.privacy-table th {
  font-weight: var(--weight-semibold);
  color: var(--color-accent-action);
  background-color: var(--color-bg-surface);
}

.privacy-table td {
  color: var(--color-text-primary);
}

.privacy-table tbody tr:hover {
  background-color: var(--color-bg-surface);
}

/* --- CTA --- */
.privacy-cta {
  padding-block: var(--space-64);
  background-color: var(--color-bg-raised);
}

.privacy-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-24);
}

.privacy-cta__title {
  margin-block-end: 0;
  font-size: var(--text-h2);
  line-height: var(--leading-h2);
  font-weight: var(--weight-semibold);
  color: var(--color-text-primary);
}

.privacy-cta__text {
  margin-block-end: 0;
  max-width: 37.5rem;
  margin-inline: auto;
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  color: var(--color-text-primary);
}

.privacy-cta__button {
  min-width: 12.5rem;
}

/* --- Responsywność --- */
@media (min-width: 48rem) {
  .privacy-section {
    padding-block: var(--space-64);
  }

  .privacy-hero {
    padding-block: var(--space-96) var(--space-64);
  }

  .privacy-cta {
    padding-block: var(--space-96);
  }

  .privacy-cta__button {
    min-width: 15rem;
  }
}

@media (min-width: 64rem) {
  .privacy-hero__lead {
    max-width: 50rem;
  }

  .privacy-cta__text {
    max-width: 37.5rem;
  }
}

@media (max-width: 47.999rem) {
  .privacy-card {
    padding: var(--space-16);
  }

  .privacy-table-wrapper {
    margin-inline: calc(-1 * var(--container-padding-mobile));
    padding-inline: var(--container-padding-mobile);
  }
}
