/* ============================================
   AidSec — Print Stylesheet
   Saubere Druckversion ohne Navigation, Videos
   und interaktive Elemente.
   ============================================ */

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif;
    font-size: 11pt;
    line-height: 1.5;
    margin: 0;
    padding: 0;
  }

  /* Hide non-printable elements */
  .nav,
  .mobile-menu,
  .skip-link,
  .hero__video-wrap,
  .hero__pattern,
  .hero__overlay,
  .hero__scroll,
  .hero__actions,
  .trust__video-wrap,
  .trust__video-overlay,
  .compliance-seal,
  .security-badge,
  .contact-form,
  .contact-form__success,
  .contact__form-wrapper,
  .grades__cta,
  .btn,
  .nav__cta,
  .footer__links,
  #hcaptcha-container,
  [data-reveal] {
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }

  .nav,
  .mobile-menu,
  .skip-link,
  .hero__video-wrap,
  .hero__pattern,
  .hero__overlay,
  .hero__scroll,
  .trust__video-wrap,
  .trust__video-overlay,
  .trust-badges,
  .compliance-seal,
  .security-badge,
  .contact__form-wrapper,
  #hcaptcha-container,
  .sticky-cta,
  .hero__check {
    display: none !important;
  }

  /* Ensure reveals are visible in print */
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Page layout */
  .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .section {
    padding: 1.5rem 0 !important;
    page-break-inside: avoid;
  }

  /* Hero adjustments */
  .hero {
    min-height: auto !important;
    height: auto !important;
    padding: 2rem 0 !important;
    position: relative !important;
  }

  .hero__content {
    position: relative !important;
    z-index: auto !important;
  }

  .hero__title {
    font-size: 24pt !important;
    margin-bottom: 0.5rem !important;
  }

  .hero__subtitle {
    font-size: 11pt !important;
  }

  .hero__trust-bar {
    display: none !important;
  }

  /* Typography */
  h1,
  h2,
  h3,
  h4 {
    page-break-after: avoid;
    font-family: 'Instrument Serif', Georgia, serif;
  }

  h2 {
    font-size: 18pt !important;
    margin-bottom: 0.5rem !important;
    border-bottom: 1pt solid #ccc;
    padding-bottom: 0.25rem;
  }

  h3 {
    font-size: 13pt !important;
  }

  p {
    orphans: 3;
    widows: 3;
  }

  /* Links */
  a {
    text-decoration: underline !important;
  }

  a[href^='http']::after {
    content: ' (' attr(href) ')';
    font-size: 9pt;
    color: #666 !important;
  }

  a[href^='#']::after {
    content: '';
  }

  /* Cards and grids */
  .services,
  .pricing__grid,
  .lagebericht__grid,
  .stats__grid {
    display: block !important;
  }

  .service-card,
  .pricing-card,
  .lagebericht__card,
  .alert-card {
    page-break-inside: avoid;
    border: 1pt solid #ccc !important;
    padding: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }

  .grades {
    display: block !important;
  }

  .grade-card {
    display: inline-block;
    width: 45%;
    vertical-align: top;
    border: 1pt solid #ccc !important;
    padding: 0.5rem !important;
    margin: 0.25rem;
    page-break-inside: avoid;
  }

  .grades__arrow {
    display: none !important;
  }

  /* FAQ */
  .faq__answer {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
  }

  .faq__question::after {
    display: none !important;
  }

  /* Footer */
  .footer {
    border-top: 1pt solid #ccc;
    padding: 0.5rem 0 !important;
    font-size: 9pt;
  }

  .footer__logo {
    display: none !important;
  }

  /* Images */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* Buttons shown as text */
  .btn {
    display: none !important;
  }

  .hero__actions {
    display: none !important;
  }

  /* Pricing values */
  .pricing-card__badge {
    border: 1pt solid #000 !important;
    padding: 0.125rem 0.5rem !important;
  }
}
