/* Lock scroll when overlay open */
.export-pdf-overlay-open { overflow: hidden; }

/* Overlay root */
#export-pdf-overlay {
  position: fixed;
  inset: 0;
  z-index: 999;                  /* above header/sidebar */
  display: none;
}

/* Show when open */
#export-pdf-overlay.is-open { display: block; }

/* Backdrop (uses theme variables; readable in dark mode) */
.export-pdf-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

/* Panel */
.export-pdf-panel {
  position: absolute;
  left: 50%;
  top: 6vh;
  transform: translateX(-50%);
  width: min(90vw, 760px);
  max-height: 88vh;
  overflow: auto;
  background: var(--md-surface, var(--md-default-bg-color, #fff));
  color: var(--md-default-fg-color, #111);
  border: 1px solid
    color-mix(in srgb, var(--md-default-fg-color, #111) 14%, transparent);
  border-radius: .75rem;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

/* Full-screen on small viewports (roughly when header collapses) */
@media (max-width: 76rem) {
  .export-pdf-panel {
    top: 0;
    left: 0;
    transform: none;
    width: 100vw;
    height: 100vh;
    max-height: none;
    border-radius: 0;
    border: 0;
  }
}

/* Header */
.export-pdf-header {
  padding: 1rem 1.25rem;
  background: var(--md-primary-fg-color--dark);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.export-pdf-title {
  margin: 0;
  font: inherit;
  font-weight: 700;
  font-size: .9rem;
}
.export-pdf-close {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  color: var(--md-primary-bg-color);
}

/* Content */
.export-pdf-content { padding: 1rem; }
.export-pdf-note { margin: 0 0 .75rem 0; }

/* Use Material button styles where available (md-button) */
.export-pdf-actions {   
  display: flex; gap: .5rem; flex-wrap: wrap; margin: .25rem 0 1rem 0; justify-content: center;
}

/* Sections list */
.export-pdf-sections-header {
  display: flex; justify-content: space-between; align-items: center;
  font-weight: 600; margin-bottom: .5rem;
}
.export-pdf-list { display: grid; gap: .35rem; }
.export-pdf-item { display: flex; gap: .5rem; align-items: center; }

/* PRINT: keep normal page layout; hide unselected only */
@media print {
  header, nav, .md-header, .md-sidebar, .md-footer, #export-pdf-overlay { display: none !important; }

  body.exporting-selections [data-export-section]:not([data-export-include]) {
    display: none !important;
  }

  /* 1) Disable the scroll wrapper that Material adds */
  .md-typeset__table {
    overflow: visible !important;
    box-shadow: none !important;
    max-width: none !important;
  }

  /* 2) Make tables fit the page width and allow breaking */
  .md-typeset__table table,
  .md-typeset table:not([class]) {
    width: 100% !important;
    table-layout: fixed;            /* forces columns to squish */
    border-collapse: collapse;
    font-size: 0.9em;               /* optional: subtle shrink for print */
  }

  /* 3) Wrap long content so nothing overflows */
  .md-typeset table th,
  .md-typeset table td {
    white-space: normal !important;
    overflow-wrap: anywhere;        /* modern */
    word-break: break-word;         /* fallback */
    hyphens: auto;                  /* if hyphenation dictionaries exist */
    padding: 0.35rem 0.5rem;        /* slightly tighter for print */
  }

  /* 4) Let the table split across pages, but keep rows together */
  .md-typeset table { 
    break-inside: auto;             /* allow table to break */
    page-break-inside: auto;
  }
  .md-typeset table tr {
    break-inside: avoid;            /* don’t split a row across pages */
    page-break-inside: avoid;
  }

  /* 5) Repeat table headers on each printed page */
  .md-typeset table thead { display: table-header-group; }
  .md-typeset table tfoot { display: table-footer-group; }

  /* 6) Code blocks inside table cells should wrap, too */
  .md-typeset table code,
  .md-typeset table pre {
    white-space: pre-wrap !important;
    word-break: break-word;
  }

  body.exporting-selections .md-typeset table { font-size: 0.85em; }

  /* (Keep your existing rules that hide header/sidebar/overlay while printing) */
}


/* Hide pilcrow/headerlink in print (and keep your title cleaning in Python) */
@media print { .headerlink { display: none !important; } }

/* Make each row a comfy hit target */
.export-pdf-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .35rem .5rem;
  border-radius: .5rem;
}

/* Keyboard focus ring on the actual checkbox */
.export-pdf-check:focus-visible {
  outline: 2px solid var(--md-accent-fg-color, -webkit-focus-ring-color);
  outline-offset: 2px;
}

/* Highlight the whole row when the checkbox has keyboard focus (modern browsers) */
.export-pdf-item:has(.export-pdf-check:focus-visible) {
  box-shadow: 0 0 0 2px var(--md-accent-fg-color, -webkit-focus-ring-color) inset;
  background: color-mix(in srgb, var(--md-default-fg-color, #111) 6%, transparent);
}

/* Optional: enlarge the checkbox a bit and use theme accent color */
.export-pdf-check {
  accent-color: var(--md-accent-fg-color, currentColor);
  transform: scale(1.15);
}

/* Focus states for action buttons (if your theme resets outlines) */
.export-pdf-footer .md-button:focus-visible,
.export-pdf-sections .md-button:focus-visible {
  outline: 2px solid var(--md-accent-fg-color, -webkit-focus-ring-color);
  outline-offset: 2px;
}
/* Fallback when :has() isn't available */
.export-pdf-item.is-focused {
  box-shadow: 0 0 0 2px var(--md-accent-fg-color, -webkit-focus-ring-color) inset;
  background: color-mix(in srgb, var(--md-default-fg-color, #111) 6%, transparent);
}
