/* ==========================================================================
   AtoM B5 Print Stylesheet – Option A
   Targets individual description pages (ISAD, RAD, DACS, etc.)
   Modelled on css/print-reports.css
   ========================================================================== */

@media print {

  /* ------------------------------------------------------------------
     1. HIDE UI CHROME
     ------------------------------------------------------------------ */

  /* Header / navigation bar */
  #top-bar,
  header.navbar,
  .max-custom-header {
    display: none !important;
  }

  /* Footer */
  footer,
  .max-custom-footer,
  #footer-main,
  #footer-sub {
    display: none !important;
  }

  /* Sidebar (treeview / browse tree) */
  #sidebar {
    display: none !important;
  }

  /* Context menu (right-hand access points panel) */
  #context-menu {
    display: none !important;
  }

  /* Full-width treeview accordion */
  .full-treeview-section {
    display: none !important;
  }

  /* Action buttons (Edit, Delete, Add new, etc.) */
  ul.actions,
  section.actions,
  .actions.mb-3 {
    display: none !important;
  }

  /* Breadcrumb trail */
  .breadcrumb {
    display: none !important;
  }

  /* Treeview tabs and content */
  #treeview-menu,
  #treeview-content,
  #treeview,
  #treeview-search {
    display: none !important;
  }

  /* Clipboard button */
  button.clipboard,
  .d-print-none {
    display: none !important;
  }

  /* Search box */
  .search-box,
  #search-form-wrapper {
    display: none !important;
  }

  /* Skip-to-content link */
  .visually-hidden-focusable {
    display: none !important;
  }

  /* Update check / privacy banner / alerts */
  #update-check,
  .privacy-message,
  .alert {
    display: none !important;
  }

  /* Debug toolbar */
  #sfWebDebug {
    display: none !important;
  }

  /* Print preview banner */
  #preview-message {
    display: none !important;
  }

  /* Imageflow carousel navigation controls */
  .digital-object-nav,
  .slick-prev,
  .slick-next,
  .slick-dots {
    display: none !important;
  }

  /* Action icons in context menu */
  #action-icons {
    display: none !important;
  }

  /* ------------------------------------------------------------------
     2. LAYOUT RESET – Full width, no grid
     ------------------------------------------------------------------ */

  html, body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #wrapper,
  #wrapper.container-xxl {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 1cm 0 1cm !important;
  }

  /* Collapse the 3-col grid to single column */
  .row {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #main-column,
  #main-column.col-md-9 {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Content column inside the nested row */
  #main-column > .row > .col-md-9,
  #main-column > .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
  }

  /* ------------------------------------------------------------------
     3. TYPOGRAPHY
     ------------------------------------------------------------------ */

  body,
  input,
  textarea,
  select {
    font: 11pt/1.4 "Times New Roman", Times, serif !important;
    color: #000 !important;
    background: #fff !important;
  }

  /* ------------------------------------------------------------------
     4. PAGE RULES
     ------------------------------------------------------------------ */

  @page {
    size: A4 portrait;
    margin: 1.5cm 2cm;
  }

  @page :first {
    margin-top: 1cm;
  }

  /* ------------------------------------------------------------------
     5. HEADINGS & SECTION TITLES
     ------------------------------------------------------------------ */

  /* Description title (h1 from descriptionHeader component) */
  h1 {
    font: bold 16pt/1.3 "Times New Roman", Times, serif !important;
    color: #000 !important;
    margin: 0 0 6pt 0 !important;
    padding: 0 !important;
    page-break-after: avoid !important;
  }

  h2 {
    font: bold 13pt/1.3 "Times New Roman", Times, serif !important;
    color: #000 !important;
    page-break-after: avoid !important;
    margin: 10pt 0 4pt 0 !important;
  }

  /* ISAD area headings (Identity area, Context area, etc.)
     Rendered as <h2 class="h5 mb-0 atom-section-header">
       <a class="rounded-top text-primary ...">Text</a>
     or  <div class="d-flex p-3 border-bottom text-primary">Text</div>
  */
  .atom-section-header {
    text-align: left !important;
  }

  .atom-section-header a,
  .atom-section-header div {
    font: bold 12pt/1.3 "Times New Roman", Times, serif !important;
    color: #000 !important;
    background: none !important;
    border: none !important;
    border-bottom: 1pt solid #ccc !important;
    border-radius: 0 !important;
    padding: 6pt 0 4pt 0 !important;
    margin: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
    display: block !important;
    page-break-after: avoid !important;
  }

  /* Remove the accordion chevron arrow */
  .atom-section-header a::after {
    display: none !important;
  }

  section > .section-heading,
  section > a > h2,
  section > h2,
  .section > .section-heading,
  .section > h2 {
    font: bold 12pt/1.3 "Times New Roman", Times, serif !important;
    color: #000 !important;
    background: none !important;
    border: none !important;
    padding: 6pt 0 2pt 0 !important;
    margin: 8pt 0 4pt 0 !important;
    page-break-after: avoid !important;
  }

  /* Remove collapse/accordion behaviour – show all sections */
  .collapse:not(.show) {
    display: block !important;
  }

  .collapsing {
    display: block !important;
    height: auto !important;
    transition: none !important;
  }

  /* Hide the accordion toggle chevrons/icons */
  .section-heading .accordion-button::after,
  [data-bs-toggle="collapse"]::after {
    display: none !important;
  }

  /* ------------------------------------------------------------------
     6. FIELD FORMATTING
     ------------------------------------------------------------------ */

  /* Field rows: label | value in B5 are .field.row.g-0 
     with h3.col-3 (label) and div.col-9 (value) */
  .field {
    display: block !important;
    overflow: visible !important;
    margin: 0 0 3pt 0 !important;
    padding: 0 !important;
    border: none !important;
    page-break-inside: avoid !important;
  }

  .field.row {
    display: block !important;
  }

  /* Field labels – the h3 inside .field */
  .field > h3,
  .field > h4 {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    font: bold 10pt/1.3 "Times New Roman", Times, serif !important;
    color: #333 !important;
    background: none !important;
    border: none !important;
    border-right: none !important;
    text-align: left !important;
    padding: 1pt 0 !important;
    margin: 0 !important;
    page-break-after: avoid !important;
  }

  /* Field values – the div inside .field */
  .field > div {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 0 2pt 12pt !important;
    margin: 0 !important;
    font-size: 11pt !important;
    color: #000 !important;
  }

  /* Override Bootstrap column constraints within fields */
  .field > .col-3,
  .field > .col-9 {
    width: auto !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 1pt 0 !important;
  }

  .field > .col-3 {
    border-right: none !important;
    text-align: left !important;
  }

  /* ------------------------------------------------------------------
     7. SECTIONS (ISAD areas)
     ------------------------------------------------------------------ */

  section,
  .section {
    page-break-inside: auto !important;
    border-bottom: 1pt solid #ccc !important;
    padding-bottom: 6pt !important;
    margin-bottom: 6pt !important;
  }

  section:last-child,
  .section:last-child {
    border-bottom: none !important;
  }

  /* ------------------------------------------------------------------
     8. LISTS
     ------------------------------------------------------------------ */

  ul, ol {
    margin: 0 0 0 1.2em !important;
    padding: 0 !important;
  }

  li {
    color: inherit !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    list-style-image: none !important;
  }

  /* ------------------------------------------------------------------
     9. TABLES
     ------------------------------------------------------------------ */

  table {
    font-size: inherit !important;
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 4pt 0 !important;
  }

  th, td {
    border: 1pt solid #ccc !important;
    padding: 2pt 4pt !important;
    font-size: 10pt !important;
  }

  th {
    font-weight: bold !important;
    background: #f5f5f5 !important;
  }

  /* ------------------------------------------------------------------
     10. LINKS
     ------------------------------------------------------------------ */

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

  /* ------------------------------------------------------------------
     11. DIGITAL OBJECT / IMAGES
     ------------------------------------------------------------------ */

  .digital-object img,
  .digital-object-reference img,
  .img-thumbnail,
  .imageflow img {
    max-width: 280px !important;
    max-height: 360px !important;
    height: auto !important;
    page-break-inside: avoid !important;
    margin: 4pt 0 !important;
  }

  /* Hide imageflow wrapper carousel chrome, keep the image */
  .slick-track {
    width: auto !important;
    transform: none !important;
  }

  .slick-slide {
    width: auto !important;
    float: none !important;
  }

  .slick-list {
    overflow: visible !important;
    height: auto !important;
  }

  /* ------------------------------------------------------------------
     12. MISC RESETS
     ------------------------------------------------------------------ */

  /* Remove box shadows and border-radius */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Remove background colours/images from everything */
  body, .container-xxl, .container-fluid, #wrapper,
  section, .section, .field, .card, .card-body,
  .accordion-item, .accordion-body {
    background: #fff !important;
    background-image: none !important;
  }

  /* Ensure border-bottom on sections is thin and grey, not the B5 colour */
  .border-bottom {
    border-bottom: 1pt solid #ccc !important;
  }

  /* Page break helpers */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid !important;
  }

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

  p, .field, li {
    orphans: 3;
    widows: 3;
  }

  /* Force black text on white globally */
  * {
    color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ------------------------------------------------------------------
     13. PRINT-ONLY LOGO AT TOP
     Uses the navbar-brand logo. Adjust URL if your instance
     stores the logo elsewhere (e.g. /uploads/r/.../logo.png).
     ------------------------------------------------------------------ */

  body::before {
    content: "" !important;
    display: block !important;
    background: url("/plugins/arDominionB5Plugin/images/logo.png") no-repeat 1cm center !important;
    background-size: auto 50px !important;
    height: 80px !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    margin: 0 0 -80px 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* ------------------------------------------------------------------
     14. BG-SECONDARY BANNER BEHIND LOGO
     Override d-print-none to keep the .bg-secondary strip visible
     as a colored background behind the logo.
     ------------------------------------------------------------------ */

  div.bg-secondary.max_front-page__header-secondary {
    display: block !important;
    height: 80px !important;
    position: relative !important;
    z-index: 1 !important;
    padding: 0 !important;
    margin: 0 0 12pt 0 !important;
  }

  /* Hide the site-description text inside the banner */
  .max_front-page__header-secondary > * {
    display: none !important;
  }

  /* ------------------------------------------------------------------
     EXPAND "READ MORE" FIELDS – show full text in print
     ------------------------------------------------------------------ */

  .summary {
    display: none !important;
  }

  .details {
    display: block !important;
  }

  .details .read-less,
  .details .less-link {
    display: none !important;
  }

  /* ------------------------------------------------------------------
     HIDE SEARCH/BROWSE UI CHROME
     ------------------------------------------------------------------ */

  /* "Showing X results" header with icon */
  .multiline-header {
    display: none !important;
  }

  /* Filter tags row (e.g. "Only top-level descriptions") */
  #main-column > .d-flex.flex-wrap.gap-2:not(.mb-3) {
    display: none !important;
  }

  /* Advanced search options accordion */
  .adv-search {
    display: none !important;
  }

  /* Toolbar row: Print preview, Hierarchy, Card/Table view, Sort */
  .d-flex.flex-wrap.gap-2.mb-3 {
    display: none !important;
  }

  /* "X results with digital objects" + Show button inside #content */
  #content > .d-grid.d-sm-flex.align-items-center.border-bottom {
    display: none !important;
  }

  /* Pagination and result count */
  nav[aria-label="Page navigation"],
  .result-count {
    display: none !important;
  }

  /* More spacing between search result articles */
  article.search-result {
    margin-bottom: 12pt !important;
  }

  .add-items-to-clipboard {
    display: none !important;
  }

  button.clipboard,
  .d-print-none {
    display: none !important;
  }
}