/**
 * Neighbours on Patrol Canada (NOPCA) - Print Stylesheet
 * 
 * This stylesheet optimizes the NOPCA website for printing,
 * ensuring that printed pages are readable and use resources efficiently.
 */

@media print {
  /* General Print Styles */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }
  
  body {
    margin: 0;
    padding: 0;
    line-height: 1.4;
    font-size: 12pt;
    font-family: "Open Sans", Arial, sans-serif;
    width: 100%;
  }
  
  /* Set page margins */
  @page {
    margin: 2cm;
  }
  
  /* Typography */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
    font-family: "Montserrat", Arial, sans-serif;
  }
  
  h1 {
    font-size: 24pt;
  }
  
  h2 {
    font-size: 20pt;
  }
  
  h3 {
    font-size: 16pt;
  }
  
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  
  /* Links */
  a, a:visited {
    text-decoration: underline;
  }
  
  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 90%;
    color: #333;
  }
  
  /* Don't show link URLs for internal links or JavaScript */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  
  /* Images */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  
  /* Tables */
  table {
    border-collapse: collapse;
    width: 100%;
    page-break-inside: avoid;
  }
  
  th, td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
  }
  
  /* Hide elements not needed for print */
  .navbar,
  .footer,
  .social-icons,
  .hero-overlay,
  .btn,
  .nav-tabs,
  .pagination,
  .search-box,
  .map-container,
  #offline-notification,
  #update-notification,
  .view-toggle-button,
  form button[type="submit"],
  form button[type="reset"],
  form button[type="button"],
  .file-upload,
  .navbar-toggler,
  video, audio,
  iframe, embed, object {
    display: none !important;
  }
  
  /* Show full URLs for important links */
  .report-link a[href]:after,
  .chapter-link a[href]:after,
  .resource-link a[href]:after {
    content: " (" attr(href) ")";
  }
  
  /* Layout adjustments */
  .container, .container-fluid {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  
  .row {
    display: block;
  }
  
  .col, [class^="col-"] {
    display: block;
    width: 100%;
    float: none;
  }
  
  /* Expand all collapsed content */
  .collapse {
    display: block !important;
    height: auto !important;
  }
  
  /* Page breaks */
  .page-break {
    page-break-before: always;
  }
  
  .avoid-break {
    page-break-inside: avoid;
  }
  
  /* Specific component adjustments */
  
  /* Header */
  header {
    margin-bottom: 20px;
    border-bottom: 1pt solid #000;
  }
  
  header::after {
    content: "Neighbours on Patrol Canada - www.nopca.ca";
    display: block;
    text-align: center;
    font-size: 14pt;
    margin-top: 10px;
    margin-bottom: 20px;
  }
  
  /* Cards */
  .card {
    border: 1pt solid #000;
    margin-bottom: 15px;
    page-break-inside: avoid;
  }
  
  .card-header {
    border-bottom: 1pt solid #000;
    font-weight: bold;
  }
  
  /* Case items */
  .case-item {
    border: 1pt solid #000;
    padding: 10px;
    margin-bottom: 15px;
    page-break-inside: avoid;
  }
  
  .case-footer {
    border-top: 1pt solid #000;
    padding-top: 10px;
  }
  
  /* Status badges */
  .status-badge {
    border: 1pt solid #000;
    padding: 2px 8px;
  }
  
  /* Chapter cards */
  .chapter-card {
    border: 1pt solid #000;
    padding: 10px;
    margin-bottom: 15px;
    page-break-inside: avoid;
  }
  
  /* Forms */
  form {
    border: 1pt solid #000;
    padding: 10px;
  }
  
  input, select, textarea {
    border: 1pt solid #000;
  }
  
  /* Add print header and footer on each page */
  @page {
    @top-center {
      content: "Neighbours on Patrol Canada";
      font-family: "Montserrat", Arial, sans-serif;
    }
    @bottom-center {
      content: "Page " counter(page) " of " counter(pages);
    }
  }
  
  /* Special handling for specific pages */
  
  /* Homepage */
  body.home .hero {
    height: auto;
    min-height: 0;
  }
  
  /* Chapter locator */
  body.chapters .map-container::after {
    content: "Visit www.nopca.ca/chapters.html to view the interactive map";
    display: block;
    text-align: center;
    font-style: italic;
    margin: 20px 0;
  }
  
  /* Case database */
  body.cases .case-map-view::after {
    content: "Visit www.nopca.ca/cases.html to view the interactive map";
    display: block;
    text-align: center;
    font-style: italic;
    margin: 20px 0;
  }
  
  /* Report form */
  body.report form::before {
    content: "This form is for reference only. Please submit reports online at www.nopca.ca/report.html";
    display: block;
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
    border: 1pt solid #000;
    padding: 10px;
  }
}