/* ==========================================================================
   CUNY Law — Faculty & Staff Directory
   Filename: directory-print.css
   Contains:
   - Base (screen) helpers
   - Print rules (staff + department directories)
   ========================================================================== */

/* =========================
   Base (screen) — applies on web
   ========================= */

/* Generic helpers so we can swap content between screen/print */
.directory-wrapper .print-only { display: none !important; }
.directory-wrapper .screen-only { display: inline !important; }

/* Table view (web): keep the print-only email text hidden on screen */
.directory-wrapper .directory-table .columnDir-email .print-only {
  display: none !important;
}

/* “Print All” / Department print buttons (screen appearance) */
.directory-wrapper .js-print-all,
.directory-wrapper .btn.js-print-all,
.directory-wrapper .js-print-departments {
  background-color: var(--color-peacock-blue) !important;
  color: var(--color-white) !important;
  font-family: var(--font-primary, Arial, sans-serif) !important;
  font-size: var(--font-size-body, 1rem) !important;
  padding: 0.5rem 1rem !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  display: inline-block !important;
  margin-top: 1rem !important;
}
.directory-wrapper .js-print-all:hover,
.directory-wrapper .btn.js-print-all:hover,
.directory-wrapper .js-print-all:focus,
.directory-wrapper .js-print-departments:hover,
.directory-wrapper .js-print-departments:focus {
  background-color: var(--color-grassroots-green) !important;
  color: var(--color-white) !important;
  text-decoration: none !important;
  outline: none !important;
}
.directory-wrapper .js-print-all.is-loading,
.directory-wrapper .js-print-departments.is-loading {
  background-color: var(--color-med-gray) !important;
  color: var(--color-light-gray) !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
}

/* =========================
   Print — only applies in print
   ========================= */
@media print {

  /* ---------- Page setup ---------- */
  @page { size: letter; margin: 0.5in; }

  html, body {
    background: #fff !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    font-family: var(--font-primary, Arial, sans-serif) !important;
    font-size: 12pt;
    line-height: 1.35;
  }

  /* Hide global/site chrome & on-screen directory UI in print */
  header, nav, footer,
  .site-header, .site-footer, .sidebar,
  .wp-block-navigation, .wp-block-template-part,
  .cookie-banner, .alert-bar,
  .back-to-top, .skip-link,
  .pagination, .page-nav,
  .breadcrumbs,
  .wp-admin-bar,
  .gform_wrapper, .newsletter-signup,
  .social-share,
  .directory-wrapper .view-filters,
  .directory-wrapper .view-switch-wrap,
  .directory-wrapper .directory-pagination,
  .directory-wrapper .js-print-all,
  .directory-wrapper .screen-only {
    display: none !important;
  }

  /* Only render main content area at full width */
  main, .content, #primary, #main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  /* Directory roots */
  #faculty-directory,
  #staff-directory,
  .faculty-directory,
  .staff-directory { color: #000 !important; }

  /* Headings & sectioning */
  #faculty-directory h1, #faculty-directory h2, #faculty-directory h3,
  #staff-directory h1, #staff-directory h2, #staff-directory h3 {
    color: #000 !important;
    break-after: avoid;
    page-break-after: avoid;
    margin: 0 0 6pt;
  }

  /* Keep department blocks together */
  .department-group, .department-section, .directory-department {
    break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 12pt;
  }
  .department-title {
    font-size: 14pt; font-weight: 700;
    border-bottom: 1px solid #000;
    padding-bottom: 3pt; margin: 18pt 0 8pt;
  }

  /* ---------- Cards (print friendly) ---------- */
  .card-layout .directory-grid { display: block !important; }
  .card-layout .directory-card,
  .card-layout .person-card,
  .card-layout .profile-card {
    display: block !important;
    border: 1px solid #000 !important;
    border-radius: 0;
    padding: 10pt;
    margin: 0 0 10pt;
    box-shadow: none !important;
    background: #fff !important;
    break-inside: avoid; page-break-inside: avoid;
  }
  .card-layout .person-name, .card-layout .card-title {
    font-size: 13pt; font-weight: 700; margin: 0 0 2pt;
  }
  .card-layout .person-title, .card-layout .card-subtitle {
    font-size: 11pt; margin: 0 0 6pt;
  }
  .card-layout .headshot,
  .card-layout img.headshot,
  .card-layout .profile-photo img {
    float: right; max-width: 1.2in; max-height: 1.2in;
    margin: 0 0 6pt 10pt; border: 1px solid #000; object-fit: cover;
  }

  /* ---------- List ---------- */
  .list-layout .directory-list { list-style: none; margin: 0; padding: 0; }
  .list-layout .directory-item {
    border-bottom: 1px solid #000; padding: 8pt 0; margin: 0;
    break-inside: avoid; page-break-inside: avoid;
  }
  .list-layout .person-name { font-weight: 700; }

  /* ==========================================================
     STAFF DIRECTORY — TABLE VIEW prints as BLOCK (stacked rows)
     - No icons
     - Email/phone as plain text (no mailto/tel)
     - Try not to split entries across pages
     ========================================================== */

  /* Treat each staff member as a block row for print */
  .teamContainer.directory-table { display: block !important; width: 100% !important; }
  .teamContainer.directory-table > li.staff-member {
    display: block !important;
    border-top: 1px solid #000 !important;
    padding: 6pt 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
  }

  /* Inner wrappers as blocks */
  .teamContainer.directory-table > li.staff-member > .team-member,
  .teamContainer.directory-table > li.staff-member > .team-member > .rowDir {
    display: block !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Columns stacked with light separators to keep it tidy */
  .teamContainer.directory-table .columnDir,
  .teamContainer.directory-table .columnDir-name,
  .teamContainer.directory-table .columnDir-job-title,
  .teamContainer.directory-table .columnDir-email,
  .teamContainer.directory-table .columnDir-number-phone,
  .teamContainer.directory-table .columnDir-department {
    display: block !important;
    padding: 2pt 0 !important;
    font-size: 10.5pt !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .teamContainer.directory-table .columnDir-name { font-weight: 700; }

  /* Remove icons */
  .teamContainer.directory-table .columnDir-email i,
  .teamContainer.directory-table .columnDir-number-phone i,
  .teamContainer.directory-table i.vc_icon_element-icon {
    display: none !important;
  }

  /* EMAIL/PHONE as plain text (not links) */
  /* Show your markup's print-only text; hide screen-only icon/text */
  .teamContainer.directory-table .columnDir-email .print-only,
  .teamContainer.directory-table .columnDir-number-phone .print-only {
    display: inline !important;
  }
  .teamContainer.directory-table .columnDir-email .screen-only,
  .teamContainer.directory-table .columnDir-number-phone .screen-only {
    display: none !important;
  }

  /* Neutralize anchor look/behavior in print */
  .teamContainer.directory-table .columnDir-email a,
  .teamContainer.directory-table .columnDir-number-phone a {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none !important;
    cursor: default !important;
  }

  /* Don’t append URL text for mail/phone in staff directory print */
  .teamContainer.directory-table .columnDir a[href^="mailto:"]::after,
  .teamContainer.directory-table .columnDir a[href^="tel:"]::after {
    content: "" !important;
  }

  /* General link-after fallback OFF inside directory (we don’t want URL tails) */
  .directory-wrapper a[href]::after { content: "" !important; }

  /* ---------- Extra safety to avoid fragmentation ---------- */
  .member-left, .member-center, .member-right,
  .columnDir, .faculty-entry, .rowDir {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
  }

  /* =========================
     DEPARTMENT DIRECTORY (shortcode) — Print
     ========================= */

  /* Hide the button on print */
  .directory-wrapper .js-print-departments { display: none !important; }

  /* Keep headings with their content */
  .division-grouped h1,
  .division-grouped h2,
  .division-grouped h3 {
    color: #000 !important;
    break-after: avoid;
    page-break-after: avoid;
    margin: 0 0 6pt;
  }

  /* Try to keep each division group together */
  .division-group {
    break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 12pt;
  }

  /* Don’t split a department row across pages */
  .division-grouped .directory-list,
  .division-grouped .directory-list > li,
  .division-grouped .list-department,
  .division-grouped .department-info-row,
  .division-grouped .department-left,
  .division-grouped .department-center,
  .division-grouped .department-right {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
  }

  /* Department directory: print plain text (no URL/mailto tails) */
  .division-grouped a[href]::after { content: "" !important; }
  .division-grouped .department-name a,
  .division-grouped .department-contact a {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none !important;
    cursor: default !important;
  }

  /* Remove ornamental effects */
  * { background-image: none !important; box-shadow: none !important; }
}



