/* =================================================================
   IMPRESSUM-KOMPONENTEN CSS
   Spielmannszug Rhede 2025 - Rechtliche Seiten
   ================================================================= */

/* === IMPRESSUM HEADER === */
.impressum-header {
    margin-bottom: var(--space-8);
  }
  
  .impressum-header .section__badge {
    display: inline-block;
    margin-bottom: var(--space-4);
  }
  
  .impressum h1 {
    color: var(--color-primary);
    margin-bottom: 0;
  }
  
  /* === SECTIONS === */
  .impressum-section {
    margin-bottom: var(--space-12);
  }
  
  .impressum-section h2 {
    font-size: var(--text-xl);
    color: var(--color-primary);
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-3);
    border-bottom: 2px solid var(--color-primary-pale);
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }
  
  .impressum-section h2 i {
    color: var(--color-primary-light);
    font-size: var(--text-lg);
  }
  
  /* === LEGAL TEXT === */
  .legal-text {
    background: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
  }
  
  .legal-text h3 {
    font-size: var(--text-base);
    color: var(--color-primary-dark);
    margin-bottom: var(--space-4);
    font-weight: var(--font-semibold);
  }
  
  .legal-text p {
    color: var(--color-gray-700);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-4);
    text-align: justify;
  }
  
  .legal-text p:last-child {
    margin-bottom: 0;
  }
  
  /* === FOOTER === */
  .impressum-footer {
    margin-top: var(--space-16);
    padding-top: var(--space-8);
    border-top: 1px solid var(--color-gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-4);
  }
  
  .source-info,
  .update-info {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    margin: 0;
  }
  
  .source-info i {
    color: var(--color-primary);
    margin-right: var(--space-1);
  }
  
  .source-info a {
    color: var(--color-primary);
  }
  
  /* Button in Info Card */
  .info-card .btn {
    margin-top: var(--space-4);
  }
  
  /* === RESPONSIVE DESIGN === */
  @media (max-width: 767px) {
    .legal-text {
      padding: var(--space-4);
    }
    
    .legal-text p {
      text-align: left;
      font-size: var(--text-sm);
    }
    
    .impressum-footer {
      flex-direction: column;
      align-items: flex-start;
    }
  }
  
  /* === PRINT STYLES === */
  @media print {
    .impressum-header .section__badge {
      display: none;
    }
    
    .impressum-section {
      page-break-inside: avoid;
      break-inside: avoid;
    }
    
    .info-card,
    .legal-text {
      border: 1px solid #000;
    }
    
    a {
      text-decoration: underline;
    }
  }
  
  /* === ACCESSIBILITY === */
  .impressum a:focus {
    outline: 3px solid rgba(52, 98, 63, 0.3);
    outline-offset: 2px;
  }
  
  .info-card:focus-within {
    box-shadow: 0 0 0 3px rgba(52, 98, 63, 0.2);
  }
  
  /* === ANIMATIONS === */
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  
  .impressum-section {
    animation: fadeIn 0.6s ease-out;
  }
  
  @media (prefers-reduced-motion: reduce) {
    .impressum-section {
      animation: none;
    }
  }