/* Prywatność – Night Table Geometry */

/* Sekcja 1: Wprowadzenie */
.privacy-intro {
  background-color: var(--ivory-50);
  padding-block: var(--space-2xl);
}

.privacy-intro__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gap);
}

.privacy-intro__heading-col {
  grid-column: span 4;
  min-width: 0;
}

.privacy-intro__content-col {
  grid-column: span 8;
  min-width: 0;
}

.privacy-intro__decorative-line {
  width: 100%;
  max-width: 120px;
  height: 2px;
  background-color: var(--clay-500);
  margin-block-start: var(--space-sm);
}

.privacy-intro__lead {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 70ch;
  margin-block-end: var(--space-lg);
}

.privacy-intro__admin-block {
  margin-block-end: var(--space-lg);
  padding-inline-start: var(--space-md);
  border-inline-start: 2px solid var(--clay-500);
}

.privacy-intro__admin-title,
.privacy-intro__scope-title {
  margin-block-end: var(--space-sm);
}

.privacy-intro__admin-list,
.privacy-intro__scope-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.privacy-intro__admin-list li,
.privacy-intro__scope-list li {
  margin-block-end: var(--space-xs);
  padding-inline-start: var(--space-md);
  position: relative;
}

.privacy-intro__admin-list li::before,
.privacy-intro__scope-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--clay-500);
}

.privacy-intro__admin-list li:last-child,
.privacy-intro__scope-list li:last-child {
  margin-block-end: 0;
}

.privacy-intro__scope-block {
  margin-block-end: 0;
}

/* Sekcja 2: Jakie dane zbieramy */
.privacy-data-categories {
  background-color: var(--ivory-50);
  padding-block: var(--space-2xl);
}

.privacy-data-categories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--grid-gap);
  margin-block-start: var(--space-lg);
}

.privacy-data-card {
  min-width: 0;
  background-color: var(--ivory-100);
  border: var(--border-default);
  border-radius: var(--radius-card);
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.privacy-data-card h3 {
  margin-block-end: 0;
}

.privacy-data-card p {
  margin-block-end: 0;
  max-width: 45ch;
}

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

.privacy-data-card__list li {
  position: relative;
  padding-inline-start: var(--space-md);
}

.privacy-data-card__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--clay-500);
}

/* Sekcja 3: Cele i podstawy prawne */
.privacy-legal-basis {
  background-color: var(--ivory-100);
  padding-block: var(--space-2xl);
}

.privacy-legal-basis__table-wrapper {
  margin-block-start: var(--space-lg);
  overflow-x: auto;
}

.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-sm);
  text-align: start;
  vertical-align: top;
  border-block-end: var(--border-default);
}

.privacy-legal-basis__table th {
  font-weight: 600;
  color: var(--navy-900);
  background-color: var(--ivory-50);
}

.privacy-legal-basis__table td h3 {
  margin-block-end: var(--space-xs);
}

.privacy-legal-basis__table td p {
  margin-block-end: var(--space-xs);
}

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

.privacy-legal-basis__table td ul li {
  position: relative;
  padding-inline-start: var(--space-md);
}

.privacy-legal-basis__table td ul li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--clay-500);
}

/* Sekcja 4: Okres przechowywania */
.privacy-retention {
  background-color: var(--ivory-50);
  padding-block: var(--space-2xl);
}

.privacy-retention__content {
  grid-column: span 8;
  min-width: 0;
  max-width: 70%;
  margin-inline: 0;
}

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

.privacy-retention__list > li {
  padding-inline-start: var(--space-md);
  border-inline-start: 2px solid var(--forest-700);
}

.privacy-retention__list h3 {
  margin-block-end: var(--space-xs);
}

.privacy-retention__list p {
  margin-block-end: var(--space-xs);
}

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

.privacy-retention__list ul li {
  position: relative;
  padding-inline-start: var(--space-md);
}

.privacy-retention__list ul li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--forest-700);
}

/* Sekcja 5: Odbiorcy danych */
.privacy-recipients {
  background-color: var(--ivory-100);
  padding-block: var(--space-2xl);
}

.privacy-recipients__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--grid-gap);
  margin-block-start: var(--space-lg);
}

.privacy-recipients__block {
  min-width: 0;
  padding: var(--space-md);
  background-color: var(--ivory-50);
  border: var(--border-default);
  border-radius: var(--radius-card);
}

.privacy-recipients__block h3 {
  margin-block-end: var(--space-sm);
}

.privacy-recipients__block p {
  margin-block-end: var(--space-sm);
  max-width: 65ch;
}

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

.privacy-recipients__block ul li {
  position: relative;
  padding-inline-start: var(--space-md);
}

.privacy-recipients__block ul li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--clay-500);
}

/* Sekcja 6: Twoje prawa */
.privacy-rights {
  background-color: var(--ivory-50);
  padding-block: var(--space-2xl);
}

.privacy-rights__content {
  max-width: 83.333%;
  margin-inline: auto;
}

.privacy-rights__intro {
  margin-block-end: var(--space-lg);
}

.privacy-rights__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.privacy-rights__item {
  border: var(--border-default);
  border-radius: var(--radius-card);
  background-color: var(--white);
  overflow: hidden;
}

.privacy-rights__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-md);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--navy-900);
  background: none;
  border: none;
  cursor: pointer;
  text-align: start;
  transition: color var(--transition-fast);
}

.privacy-rights__trigger:hover {
  color: var(--clay-500);
}

.privacy-rights__trigger:focus-visible {
  outline: 2px solid var(--forest-700);
  outline-offset: -2px;
}

.privacy-rights__icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  position: relative;
  display: inline-block;
  transition: transform var(--transition-fast);
}

.privacy-rights__icon::before,
.privacy-rights__icon::after {
  content: "";
  position: absolute;
  background-color: currentColor;
  transition: transform var(--transition-fast);
}

.privacy-rights__icon::before {
  inset-block-start: 50%;
  inset-inline-start: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.privacy-rights__icon::after {
  inset-inline-start: 50%;
  inset-block-start: 0;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.privacy-rights__item[data-accordion-item].is-open .privacy-rights__icon::after {
  transform: translateX(-50%) scaleY(0);
}

.privacy-rights__panel {
  padding: 0 var(--space-md) var(--space-md);
  display: none;
}

.privacy-rights__item.is-open .privacy-rights__panel {
  display: block;
}

.privacy-rights__panel p {
  margin-block-end: var(--space-sm);
}

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

.privacy-rights__panel ul li {
  position: relative;
  padding-inline-start: var(--space-md);
}

.privacy-rights__panel ul li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--forest-700);
}

/* Sekcja 7: Cookies */
.privacy-cookies {
  background-color: var(--ivory-100);
  padding-block: var(--space-2xl);
}

.privacy-cookies__content {
  max-width: 66.666%;
  margin-inline: 0;
}

.privacy-cookies__content h3 {
  margin-block-end: var(--space-sm);
}

.privacy-cookies__content p {
  margin-block-end: var(--space-sm);
  max-width: 65ch;
}

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

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

.privacy-cookies__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-circle);
  background-color: var(--clay-500);
}

/* Sekcja 8: Zmiany polityki */
.privacy-changes {
  background-color: var(--ivory-50);
  padding-block: var(--space-2xl);
}

.privacy-changes__content {
  max-width: 50%;
  margin-inline: 0;
  border-inline-start: 2px solid var(--plum-700);
  padding-inline-start: var(--space-md);
}

.privacy-changes__content h3 {
  margin-block-end: var(--space-sm);
}

.privacy-changes__content p {
  margin-block-end: var(--space-sm);
}

.privacy-changes__content p strong {
  color: var(--clay-500);
}

/* Sekcja 9: Kontakt */
.privacy-contact {
  background-color: var(--ivory-100);
  padding-block: var(--space-2xl);
}

.privacy-contact__card {
  max-width: 50%;
  margin-inline: auto;
  padding: var(--space-lg);
  background-color: var(--white);
  border: var(--border-default);
  border-radius: var(--radius-card);
  text-align: center;
}

.privacy-contact__card h2 {
  margin-block-end: var(--space-sm);
}

.privacy-contact__card h3 {
  margin-block-end: var(--space-sm);
}

.privacy-contact__card p {
  margin-block-end: var(--space-sm);
}

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

/* Responsywność */
@media (max-width: 991px) {
  .privacy-intro__grid {
    grid-template-columns: 1fr;
  }

  .privacy-intro__heading-col,
  .privacy-intro__content-col {
    grid-column: auto;
  }

  .privacy-data-categories__grid {
    grid-template-columns: 1fr;
  }

  .privacy-recipients__grid {
    grid-template-columns: 1fr;
  }

  .privacy-retention__content {
    max-width: 100%;
  }

  .privacy-rights__content {
    max-width: 100%;
  }

  .privacy-cookies__content {
    max-width: 100%;
  }

  .privacy-changes__content {
    max-width: 100%;
  }

  .privacy-contact__card {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .privacy-intro {
    padding-block: var(--space-xl);
  }

  .privacy-intro__lead {
    font-size: 1rem;
  }

  .privacy-data-categories,
  .privacy-legal-basis,
  .privacy-retention,
  .privacy-recipients,
  .privacy-rights,
  .privacy-cookies,
  .privacy-changes,
  .privacy-contact {
    padding-block: var(--space-xl);
  }

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

  .privacy-rights__trigger {
    font-size: 1.125rem;
    padding: var(--space-sm) var(--space-md);
  }

  .privacy-contact__card {
    padding: var(--space-md);
    text-align: start;
  }
}
