/* =========================================================
   SCHOOLBOARD.NET DISTRICT PRINT LAYOUT
   Supports Book, Event, Accordion
========================================================= */

@page {
  size: auto;
  margin: 0.55in 0.6in 0.7in 0.6in;
}

@media print {

  html,
  body {
    background: #fff !important;
    color: #000 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 11pt !important;
    line-height: 1.35 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ---------------------------------
     Hide site chrome
  --------------------------------- */
  .toolbar,
  .toolbar-bar,
  .toolbar-tray,
  .region-header,
  .region-primary-menu,
  .region-secondary-menu,
  .region-breadcrumb,
  .breadcrumbs,
  .tabs,
  .local-tasks,
  .messages,
  .block-search,
  .views-exposed-form,
  .pager,
  .region-sidebar-first,
  .region-sidebar-second,
  .region-footer,
  .menu,
  nav,
  header,
  footer,
  .no-print,
  .print-hide,
  .sbn-print-button,
  .sbn-highlight-nav,
  .submitted,
  .node__meta,
  .field--name-field-tags,
  .field--name-uid,
  .block-page-title-block {
    display: none !important;
  }

  /* ---------------------------------
     Main content full width
  --------------------------------- */
  #page,
  .page-wrapper,
  .layout-container,
  main,
  .layout-main,
  .layout-content,
  .region-content,
  .block-system-main-block,
  [data-drupal-selector="block-system-main"],
  article,
  .node {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  /* ---------------------------------
     General cleanup
  --------------------------------- */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
  }

  a,
  a:visited {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* ---------------------------------
     District print wrapper
  --------------------------------- */
  .district-print-layout {
    width: 100% !important;
    max-width: 100% !important;
  }

  .district-print-header {
    display: table !important;
    width: 100% !important;
    border-bottom: 2px solid #444 !important;
    padding-bottom: 0.18in !important;
    margin-bottom: 0.22in !important;
    page-break-after: avoid !important;
  }

  .district-print-header__left,
  .district-print-header__right {
    display: table-cell !important;
    vertical-align: middle !important;
  }

  .district-print-header__left {
    width: 72% !important;
    text-align: left !important;
  }

  .district-print-header__right {
    width: 28% !important;
    text-align: right !important;
    font-size: 10pt !important;
  }

  .district-print-title {
    font-size: 18pt !important;
    font-weight: 700 !important;
    margin: 0 0 0.05in 0 !important;
    line-height: 1.15 !important;
  }

  .district-print-subtitle {
    font-size: 12pt !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  .district-print-meta {
    font-size: 10pt !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  .district-print-logo {
    max-height: 0.7in !important;
    width: auto !important;
    margin-bottom: 0.08in !important;
  }

  /* ---------------------------------
     Footer
  --------------------------------- */
  .district-print-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-top: 1px solid #777 !important;
    padding-top: 0.08in !important;
    font-size: 9pt !important;
    color: #000 !important;
  }

  .district-print-footer__inner {
    display: table !important;
    width: 100% !important;
  }

  .district-print-footer__left,
  .district-print-footer__center,
  .district-print-footer__right {
    display: table-cell !important;
    vertical-align: middle !important;
  }

  .district-print-footer__left {
    width: 33% !important;
    text-align: left !important;
  }

  .district-print-footer__center {
    width: 34% !important;
    text-align: center !important;
  }

  .district-print-footer__right {
    width: 33% !important;
    text-align: right !important;
  }

  /* ---------------------------------
     Main printable content area
  --------------------------------- */
  .district-print-content {
    margin-bottom: 0.45in !important;
  }

  /* ---------------------------------
     Headings
  --------------------------------- */
  h1,
  h2,
  h3,
  h4 {
    color: #000 !important;
    page-break-after: avoid !important;
    break-after: avoid-page !important;
    margin-top: 0.18in !important;
    margin-bottom: 0.08in !important;
    line-height: 1.2 !important;
  }

  h1 {
    font-size: 20pt !important;
  }

  h2 {
    font-size: 16pt !important;
  }

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

  h4 {
    font-size: 11.5pt !important;
  }

  p,
  li,
  td,
  th {
    orphans: 3;
    widows: 3;
  }

  /* ---------------------------------
     Strong page separation by section
  --------------------------------- */
  .district-print-section {
    margin: 0 0 0.2in 0 !important;
    padding: 0 0 0.06in 0 !important;
    border-bottom: 1px solid #ddd !important;
    page-break-inside: avoid !important;
    break-inside: avoid-page !important;
  }

  .district-print-section--major {
    page-break-before: auto !important;
    margin-top: 0.14in !important;
  }

  /* ---------------------------------
     Accordions and expandable sections
  --------------------------------- */
  .ui-accordion-content {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .ui-accordion-header {
    display: block !important;
    page-break-after: avoid !important;
    break-after: avoid-page !important;
    border: 0 !important;
    background: none !important;
    padding: 0 !important;
    margin: 0.14in 0 0.05in 0 !important;
    font-weight: 700 !important;
    color: #000 !important;
  }

  .ui-accordion-header .ui-accordion-header-icon {
    display: none !important;
  }

  details {
    display: block !important;
  }

  details > summary {
    display: block !important;
    list-style: none !important;
  }

  .sbn-expandable-html-body,
  .expandable-html-body,
  .field--name-field-html-content,
  .paragraph--type--expandable-html-section {
    display: block !important;
    visibility: visible !important;
  }

  /* ---------------------------------
     Private section styling in print
  --------------------------------- */
  .sbn-private-label,
  .private-label {
    color: #000 !important;
    font-weight: 700 !important;
    font-style: italic !important;
    text-decoration: underline !important;
    margin: 0 0 0.05in 0 !important;
  }

  .sbn-private-section,
  .private-section {
    border: 0 !important;
    background: none !important;
    padding: 0 !important;
  }

  /* ---------------------------------
     Agenda lists
  --------------------------------- */
  .agenda-list {
    margin: 0 0 0.12in 0.28in !important;
    padding: 0 !important;
  }

  .agenda-list li {
    margin: 0.04in 0 !important;
  }

  .agenda-list--roman {
    list-style-type: upper-roman !important;
  }

  .agenda-list--alpha {
    list-style-type: upper-alpha !important;
  }

  .agenda-list--numeric {
    list-style-type: decimal !important;
  }

  /* ---------------------------------
     Tables
  --------------------------------- */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0.08in 0 0.14in 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid-page !important;
  }

  thead {
    display: table-header-group !important;
  }

  tfoot {
    display: table-footer-group !important;
  }

  tr {
    page-break-inside: avoid !important;
    break-inside: avoid-page !important;
  }

  th,
  td {
    border: 1px solid #777 !important;
    padding: 6px 8px !important;
    vertical-align: top !important;
    text-align: left !important;
  }

  th {
    font-weight: 700 !important;
    background: #f3f3f3 !important;
  }

  /* ---------------------------------
     Search highlights in print
  --------------------------------- */
  .sbn-search-highlight,
  .sbn-search-highlight--active {
    background: #ddd !important;
    color: #000 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  /* ---------------------------------
     Hide interactive print link itself
  --------------------------------- */
  .printer-friendly-link,
  .sbn-print-link {
    display: none !important;
  }
}

/* =========================================================
   AGENDA ONLY PRINT MODE
   URL: ?print=1&agenda_only=1

   Purpose:
   Print accordion agenda structure without attachments.
   Omits:
   - PDF/file attachment links
   - public/private file fields
   - expandable HTML attachment bodies
========================================================= */

@media print {

  .sbn-print-agenda-only .district-print-notice {
    display: block !important;
    border: 1px solid #777 !important;
    padding: 8px 10px !important;
    margin: 0 0 0.15in 0 !important;
    font-size: 10pt !important;
    font-style: italic !important;
    background: #f3f3f3 !important;
    color: #000 !important;
  }

  /*
   * Hide complete expandable HTML attachment paragraphs.
   * This removes the expanded attachment body from agenda-only print.
   */
  .sbn-print-agenda-only .paragraph--type--expandable-html-section,
  .sbn-print-agenda-only .paragraph-type--expandable-html-section,
  .sbn-print-agenda-only .expandable-html-section,
  .sbn-print-agenda-only details.expandable-html-section__details,
  .sbn-print-agenda-only .sbn-expandable-html-body,
  .sbn-print-agenda-only .expandable-html-section__content,
  .sbn-print-agenda-only .field--name-field-html-content {
    display: none !important;
  }

  /*
   * Hide public/private attachment file fields.
   * Field names included broadly to cover current and future naming.
   */
  .sbn-print-agenda-only .field--name-field-public-attachments,
  .sbn-print-agenda-only .field--name-field-private-attachments,
  .sbn-print-agenda-only .field--name-field-public-files,
  .sbn-print-agenda-only .field--name-field-private-files,
  .sbn-print-agenda-only .field--name-field-attachments,
  .sbn-print-agenda-only .field--name-field-files,
  .sbn-print-agenda-only .public-attachments,
  .sbn-print-agenda-only .private-attachments,
  .sbn-print-agenda-only .file-attachments,
  .sbn-print-agenda-only .attachment-list {
    display: none !important;
  }

  /*
   * Hide direct file/PDF links that may be rendered inside agenda items.
   * This targets file links without hiding normal cross-reference links.
   */
  .sbn-print-agenda-only a[href$=".pdf"],
  .sbn-print-agenda-only a[href*=".pdf?"],
  .sbn-print-agenda-only a[href*="/sites/default/files/"],
  .sbn-print-agenda-only a[href*="/system/files/"],
  .sbn-print-agenda-only .file,
  .sbn-print-agenda-only .file-link,
  .sbn-print-agenda-only .file--mime-application-pdf,
  .sbn-print-agenda-only .file-icon,
  .sbn-print-agenda-only .file-size {
    display: none !important;
  }

  /*
   * Hide attachment labels/headings if they appear without files.
   */
  .sbn-print-agenda-only .field__label,
  .sbn-print-agenda-only h2:has(+ .field--name-field-public-attachments),
  .sbn-print-agenda-only h2:has(+ .field--name-field-private-attachments),
  .sbn-print-agenda-only h3:has(+ .field--name-field-public-attachments),
  .sbn-print-agenda-only h3:has(+ .field--name-field-private-attachments) {
    display: none !important;
  }
}

@media screen {
  .print-friendly-button-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
  }

  .sbn-print-link--agenda-only {
    margin-left: 0;
  }
}

@media print {
  body:has(.sbn-print-agenda-only) .paragraph--type--expandable-html-section,
  body:has(.sbn-print-agenda-only) .paragraph-type--expandable-html-section,
  body:has(.sbn-print-agenda-only) .expandable-html-section,
  body:has(.sbn-print-agenda-only) details.expandable-html-section__details,
  body:has(.sbn-print-agenda-only) .sbn-expandable-html-body,
  body:has(.sbn-print-agenda-only) .expandable-html-section__content,
  body:has(.sbn-print-agenda-only) .field--name-field-html-content,
  body:has(.sbn-print-agenda-only) .field--name-field-public-attachments,
  body:has(.sbn-print-agenda-only) .field--name-field-private-attachments,
  body:has(.sbn-print-agenda-only) .field--name-field-public-files,
  body:has(.sbn-print-agenda-only) .field--name-field-private-files,
  body:has(.sbn-print-agenda-only) a[href$=".pdf"],
  body:has(.sbn-print-agenda-only) a[href*=".pdf?"],
  body:has(.sbn-print-agenda-only) a[href*="/sites/default/files/"],
  body:has(.sbn-print-agenda-only) a[href*="/system/files/"],
  body:has(.sbn-print-agenda-only) .file,
  body:has(.sbn-print-agenda-only) .file-link,
  body:has(.sbn-print-agenda-only) .file--mime-application-pdf,
  body:has(.sbn-print-agenda-only) .file-icon,
  body:has(.sbn-print-agenda-only) .file-size {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }
}

@media print {
  html.sbn-print-agenda-only .field--name-field-html-content,
  body.sbn-print-agenda-only .field--name-field-html-content,
  html.sbn-print-agenda-only .sbn-expandable-html-body,
  body.sbn-print-agenda-only .sbn-expandable-html-body,
  html.sbn-print-agenda-only .expandable-html-body,
  body.sbn-print-agenda-only .expandable-html-body,
  html.sbn-print-agenda-only .expandable-html-section__content,
  body.sbn-print-agenda-only .expandable-html-section__content,
  html.sbn-print-agenda-only details.expandable-html-section__details > *:not(summary),
  body.sbn-print-agenda-only details.expandable-html-section__details > *:not(summary),
  html.sbn-print-agenda-only .ui-accordion-content details > *:not(summary),
  body.sbn-print-agenda-only .ui-accordion-content details > *:not(summary),
  html.sbn-print-agenda-only .paragraph--type--expandable-html-section .field__item,
  body.sbn-print-agenda-only .paragraph--type--expandable-html-section .field__item {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}