.policy-info {
  margin-top: var(--spacing-xxxl);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  max-width: 900px;
}

.policy-text {
  font-size: var(--body-large-size);
  color: var(--primary-text);
  line-height: var(--body-large-height);
  margin-bottom: var(--spacing-xl);
}

.policy-section {
  margin-bottom: var(--spacing-xxxl);
}

.policy-section h2 {
  font-family: var(--font-family-headings);
  font-size: var(--headline-large-size);
  font-weight: var(--headline-large-weight);
  color: var(--primary-text);
  margin-bottom: var(--spacing-lg);
}

.policy-section h3 {
  font-family: var(--font-family-headings);
  font-size: var(--title-large-size);
  font-weight: var(--title-large-weight);
  color: var(--primary-text);
  margin-top: var(--spacing-xl);
  margin-bottom: var(--spacing-md);
}

.policy-section p {
  font-size: var(--body-medium-size);
  color: var(--secondary-text);
  line-height: var(--body-medium-height);
  margin-bottom: var(--spacing-md);
}

.policy-section ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: var(--spacing-lg);
}

.policy-section li {
  font-size: var(--body-medium-size);
  color: var(--secondary-text);
  line-height: var(--body-medium-height);
  margin-bottom: var(--spacing-sm);
  padding-left: var(--spacing-lg);
  position: relative;
}

.policy-section li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--primary-text);
  font-weight: bold;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--spacing-lg);
}

.data-table th,
.data-table td {
  padding: var(--spacing-md);
  text-align: left;
  border-bottom: 1px solid var(--alternate);
}

.data-table th {
  font-weight: var(--title-medium-weight);
  color: var(--primary-text);
  background-color: var(--surface);
}

.data-table td {
  color: var(--secondary-text);
}

.badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--border-radius-sm);
  font-size: var(--label-small-size);
  font-weight: var(--label-small-weight);
  margin-right: var(--spacing-sm);
}

.badge-required { background-color: rgba(255, 82, 82, 0.2); color: #ff5252; }
.badge-optional { background-color: rgba(76, 175, 80, 0.2); color: #4caf50; }
.badge-yes { background-color: rgba(255, 82, 82, 0.2); color: #ff5252; }
.badge-no { background-color: rgba(76, 175, 80, 0.2); color: #4caf50; }
.badge-encrypted { background-color: rgba(33, 150, 243, 0.2); color: #2196f3; }

.policy-section a {
  color: var(--primary-text);
  text-decoration: none;
}

.policy-section a:hover {
  text-decoration: underline;
}

/* Animation de chargement */
.loading-text {
  animation: loadingPulse 1.5s ease-in-out infinite;
}

@keyframes loadingPulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}
