/* ══════════════════════════════════════════════════════════════
   SafeGuard SVG — Print Stylesheet
   For printing wanted posters and missing person flyers
══════════════════════════════════════════════════════════════ */

@media print {
  /* Hide navigation and interactive elements */
  .emergency-banner,
  .navbar,
  footer,
  .quick-actions,
  .stats-bar,
  .btn,
  .btn-outline,
  .btn-danger,
  .btn-primary,
  .alert,
  .flash-messages,
  .tip-card,
  .submission-card,
  .filter-tabs,
  .search-box select,
  .search-box button,
  .page-header-actions,
  .le-topbar,
  .le-sidebar,
  .btn-group,
  form,
  .form-actions {
    display: none !important;
  }

  /* Show only main content */
  body {
    background: white;
    color: black;
    font-family: Arial, sans-serif;
  }

  .container {
    max-width: 100%;
    padding: 0;
    margin: 0;
  }

  .section {
    border: none;
    padding: 0;
  }

  /* Hero section for posters */
  .hero {
    background: none;
    padding: 20px 0;
    text-align: center;
    border-bottom: 3px solid #000;
    margin-bottom: 20px;
  }

  .hero h1 {
    color: black;
    font-size: 24pt;
    margin-bottom: 10px;
  }

  .hero p {
    color: black;
    font-size: 12pt;
  }

  .hero-flag {
    display: block;
    margin: 0 auto 20px;
    width: 80px;
    height: 53px;
  }

  /* Page headers */
  .page-header {
    background: none;
    padding: 20px 0;
    text-align: center;
    border-bottom: 2px solid #000;
  }

  .page-title {
    color: black;
    font-size: 28pt;
    font-weight: bold;
    text-transform: uppercase;
  }

  .page-subtitle {
    color: #333;
    font-size: 14pt;
  }

  /* Person cards for posters */
  .cards-grid {
    display: block;
  }

  .person-card {
    display: block;
    border: 3px solid #000;
    margin-bottom: 20px;
    page-break-inside: avoid;
    background: white;
  }

  .card-photo {
    height: 200px;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80pt;
    border-bottom: 2px solid #000;
  }

  .card-photo img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  .card-body {
    padding: 15px;
  }

  .card-name {
    font-size: 18pt;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    text-transform: uppercase;
  }

  .card-meta {
    font-size: 11pt;
    text-align: center;
    margin-bottom: 10px;
  }

  .card-badges {
    text-align: center;
  }

  /* Badge styles for print */
  .badge {
    border: 1px solid #000;
    padding: 3px 8px;
    font-size: 10pt;
    font-weight: bold;
    display: inline-block;
    margin: 2px;
  }

  .badge-critical {
    background: #000;
    color: #fff;
  }

  .badge-urgent {
    background: #333;
    color: #fff;
  }

  .badge-success {
    background: #666;
    color: #fff;
  }

  .badge-neutral {
    background: #ccc;
    color: #000;
  }

  /* Detail pages */
  .person-detail {
    max-width: 600px;
    margin: 0 auto;
  }

  .person-photo-large {
    width: 100%;
    max-width: 300px;
    margin: 0 auto 20px;
    border: 3px solid #000;
  }

  .person-photo-large img {
    width: 100%;
    display: block;
  }

  .info-section {
    border: 1px solid #000;
    margin-bottom: 15px;
    padding: 15px;
    page-break-inside: avoid;
  }

  .info-section h2 {
    font-size: 14pt;
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
    margin-bottom: 10px;
    text-transform: uppercase;
  }

  .info-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px dotted #ccc;
  }

  .info-row:last-child {
    border-bottom: none;
  }

  .info-label {
    font-weight: bold;
    font-size: 10pt;
  }

  .info-value {
    font-size: 10pt;
  }

  /* Wanted poster specific */
  .wanted-poster {
    text-align: center;
    border: 5px solid #000;
    padding: 30px;
    max-width: 500px;
    margin: 0 auto;
  }

  .wanted-poster .poster-header {
    font-size: 36pt;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 5px;
    margin-bottom: 20px;
    border-bottom: 3px solid #000;
    padding-bottom: 10px;
  }

  .wanted-poster .reward {
    font-size: 24pt;
    font-weight: bold;
    color: #000;
    margin: 20px 0;
    border: 2px solid #000;
    padding: 10px;
  }

  .wanted-poster .warning {
    font-size: 12pt;
    font-weight: bold;
    text-transform: uppercase;
    margin-top: 20px;
    padding: 10px;
    border: 2px solid #000;
  }

  .wanted-poster .contact {
    font-size: 11pt;
    margin-top: 20px;
  }

  /* Missing person poster */
  .missing-poster {
    text-align: center;
    border: 5px solid #000;
    padding: 30px;
    max-width: 500px;
    margin: 0 auto;
  }

  .missing-poster .poster-header {
    font-size: 28pt;
    font-weight: bold;
    color: #000;
    margin-bottom: 20px;
    text-transform: uppercase;
  }

  .missing-poster .have-you-seen {
    font-size: 18pt;
    font-weight: bold;
    margin: 20px 0;
    padding: 10px;
    background: #000;
    color: #fff;
  }

  /* QR code area for tips */
  .qr-section {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #000;
  }

  .qr-placeholder {
    width: 150px;
    height: 150px;
    border: 2px solid #000;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10pt;
  }

  /* Footer for posters */
  .poster-footer {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #000;
    font-size: 9pt;
  }

  .poster-footer img {
    width: 40px;
    height: 27px;
    margin-bottom: 10px;
  }

  /* Police emblem placeholder */
  .police-emblem {
    width: 60px;
    height: 60px;
    border: 2px solid #000;
    border-radius: 50%;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24pt;
  }

  /* Page breaks */
  .page-break {
    page-break-before: always;
  }

  /* Ensure links are visible but not underlined */
  a {
    text-decoration: none;
    color: black;
  }

  /* Print URL after links for reference */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: #666;
  }
}
