@charset "UTF-8";
/**
 * RGPD.SCSS - Page de demande des droits RGPD
 * Styles pour l'exercice des droits RGPD
 */
.page-container {
  max-width: 720px;
  margin: calc(var(--navbar-height-desktop) + 1.5rem) auto var(--section-gap);
  padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  background: var(--surface-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-soft);
}
@media (max-width: 1023px) {
  .page-container {
    margin-top: var(--navbar-height-tablet);
    padding: var(--space-4) 20px;
  }
}
@media (max-width: 767px) {
  .page-container {
    margin-top: var(--navbar-offset, var(--navbar-height-mobile));
    padding: var(--space-4) 15px;
    max-width: 100%;
  }
}
.page-container {
  /* Titres */
}
.page-container h1 {
  font-family: var(--font-family-display);
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  color: var(--text-primary);
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .page-container h1 {
    font-size: var(--font-size-lg);
  }
}
.page-container {
  /* Paragraphes introductifs */
}
.page-container > p:first-of-type {
  color: #666;
  line-height: 1.6;
  margin-bottom: 32px;
  font-size: var(--font-size-base);
}
.page-container > p:first-of-type strong {
  font-weight: 600;
  color: var(--text-primary, var(--text-primary));
}
.page-container {
  /* Messages flash (success) */
}
.page-container .alert-success,
.page-container [style*="background: var(--color-success-bg)"] {
  background: var(--color-success-bg) !important;
  border: 1px solid var(--color-success-light) !important;
  color: var(--color-success-dark) !important;
  padding: 16px 20px;
  border-radius: 6px;
  margin-bottom: 24px;
  font-weight: 500;
}
.page-container {
  /* Section d'information "Vos droits" */
}
.page-container .rights-section,
.page-container [style*="background: #f8f9fa"] {
  background: #f8f9fa !important;
  border-radius: var(--radius-sm);
  padding: 24px;
  margin-bottom: 32px;
}
.page-container .rights-section h3,
.page-container [style*="background: #f8f9fa"] h3 {
  margin-top: 0;
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 16px;
}
.page-container .rights-section ul,
.page-container [style*="background: #f8f9fa"] ul {
  margin: 0;
  padding-left: 20px;
  list-style: none;
  counter-reset: item;
}
.page-container .rights-section ul li,
.page-container [style*="background: #f8f9fa"] ul li {
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 12px;
  position: relative;
  padding-left: 20px;
}
.page-container .rights-section ul li::before,
.page-container [style*="background: #f8f9fa"] ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-primary, #1e8449);
  font-weight: 700;
}
.page-container .rights-section ul li strong,
.page-container [style*="background: #f8f9fa"] ul li strong {
  color: var(--text-primary);
  font-weight: 600;
}
.page-container {
  /* Formulaire */
}
.page-container form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.page-container form > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.page-container form label {
  font-weight: 600;
  color: var(--text-primary);
  font-size: var(--font-size-sm);
}
.page-container form .form-control,
.page-container form .form-select {
  padding: var(--space-1) 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-family: "Signika", sans-serif;
  font-size: var(--font-size-sm);
  transition: all var(--transition-medium) ease;
}
.page-container form .form-control:focus,
.page-container form .form-select:focus {
  border-color: var(--color-primary, #1e8449);
  outline: none;
  box-shadow: 0 0 0 3px rgba(30, 132, 73, 0.1);
}
@media (max-width: 767px) {
  .page-container form .form-control,
  .page-container form .form-select {
    font-size: 16px; /* Prévient le zoom sur mobile */
  }
}
.page-container form textarea.form-control {
  min-height: 120px;
  resize: vertical;
}
.page-container {
  /* Message d'avertissement */
}
.page-container .alert-warning,
.page-container [style*="background: var(--color-warning-bg)"] {
  background: var(--color-warning-bg) !important;
  border: 1px solid #ffc107 !important;
  border-radius: 6px;
  padding: var(--space-2) 16px;
  font-size: 0.875rem;
  color: var(--color-warning-dark) !important;
  margin: var(--space-3) 0;
}
.page-container {
  /* Bouton d'envoi */
}
.page-container .btn {
  padding: var(--space-2) 32px;
  font-weight: 600;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: all var(--transition-medium) ease;
  align-self: flex-start;
}
.page-container .btn.btn-primary {
  background: var(--color-primary, #1e8449);
  color: white;
}
.page-container .btn.btn-primary:hover {
  background: var(--color-primary-dark, #166b3a);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(30, 132, 73, 0.3);
}
.page-container .btn.btn-primary:active {
  transform: translateY(0);
}
@media (max-width: 767px) {
  .page-container .btn {
    width: 100%;
    align-self: stretch;
  }
}
.page-container {
  /* Footer avec infos CNIL */
}
.page-container > p:last-of-type {
  margin-top: 32px;
  font-size: var(--font-size-xs);
  color: #888;
  line-height: 1.6;
}
.page-container > p:last-of-type a {
  color: var(--color-primary, #1e8449);
  text-decoration: none;
  font-weight: 500;
}
.page-container > p:last-of-type a:hover {
  text-decoration: underline;
}
