/* Inline PDF preview card -------------------------------------------------- */
.lsvr_document-list-widget__preview-card {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .06);
	border-radius: clamp(22px, 2.5vw, 34px);
	background: #fff;
	box-shadow: none;
}

.lsvr_document-list-widget__preview-card--shadow-none {
	box-shadow: none;
}

.lsvr_document-list-widget__preview-card--shadow-soft {
	box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
}

.lsvr_document-list-widget__preview-card--shadow-medium {
	box-shadow: 0 18px 48px rgba(15, 23, 42, .13);
}

.lsvr_document-list-widget__preview-card--shadow-strong {
	box-shadow: 0 24px 64px rgba(15, 23, 42, .20);
}

/* Remove theme card spacing from the outer widget only while preview mode is
 * active. The preview card above becomes the single visible container. */
.lsvr-document-preview-box-active {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.lsvr-document-preview-box-active > .widget__inner {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.lsvr_document-list-widget__preview-layout {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: start;
	width: 100%;
	margin: 0;
}

/* Viewer placement options. Left remains the default for existing widgets. */
.lsvr_document-list-widget__preview-layout--position-left {
	grid-template-columns: minmax(0, 1.72fr) minmax(280px, .78fr);
}

.lsvr_document-list-widget__preview-layout--position-right {
	grid-template-columns: minmax(280px, .78fr) minmax(0, 1.72fr);
}

.lsvr_document-list-widget__preview-layout--position-right .lsvr_document-list-widget__preview {
	order: 2;
}

.lsvr_document-list-widget__preview-layout--position-right .lsvr_document-list-widget__list-column {
	order: 1;
}

.lsvr_document-list-widget__preview-layout--position-top,
.lsvr_document-list-widget__preview-layout--position-bottom {
	grid-template-columns: minmax(0, 1fr);
}

.lsvr_document-list-widget__preview-layout--position-top .lsvr_document-list-widget__preview {
	order: 1;
}

.lsvr_document-list-widget__preview-layout--position-top .lsvr_document-list-widget__list-column {
	order: 2;
}

.lsvr_document-list-widget__preview-layout--position-bottom .lsvr_document-list-widget__preview {
	order: 2;
}

.lsvr_document-list-widget__preview-layout--position-bottom .lsvr_document-list-widget__list-column {
	order: 1;
}

.lsvr_document-list-widget__preview,
.lsvr_document-list-widget__list-column {
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
}

/* Both column titles use the same measurements so their top and text
 * baselines line up precisely. */
.lsvr_document-list-widget__preview-title,
.lsvr_document-list-widget__list-title {
	box-sizing: border-box;
	min-height: 1.2em;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	font-size: clamp(1.5rem, 2.4vw, 2.25rem);
	font-weight: 700;
	line-height: 1.2;
}

/* When inline preview is active, the normal widget heading is repeated inside
 * the right-hand list column so both column headings share the same baseline. */
.lsvr-document-preview-active > .widget__title,
.lsvr-document-preview-active > .widget-title,
.lsvr-document-preview-active > .widget__inner > .widget__title,
.lsvr-document-preview-active > .widget__inner > .widget-title {
	display: none !important;
}

@supports selector(:has(*)) {
	.lsvr_document-list-widget:has([data-lsvr-pdf-preview]) > .widget__title,
	.lsvr_document-list-widget:has([data-lsvr-pdf-preview]) > .widget-title,
	.lsvr_document-list-widget:has([data-lsvr-pdf-preview]) > .widget__inner > .widget__title,
	.lsvr_document-list-widget:has([data-lsvr-pdf-preview]) > .widget__inner > .widget-title,
	.widget:has(> [data-lsvr-pdf-preview]) > .widget__title,
	.widget:has(> [data-lsvr-pdf-preview]) > .widget-title {
		display: none !important;
	}
}

.lsvr_document-list-widget__preview-frame-wrap {
	position: relative;
	box-sizing: border-box;
	min-height: 600px;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: 8px;
	background: #e9e9e9;
}

.lsvr_document-list-widget__preview-frame {
	display: block;
	width: 100%;
	height: min(72vh, 760px);
	min-height: 600px;
	border: 0;
	background: #e9e9e9;
}

.lsvr_document-list-widget__preview-status {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	width: min(90%, 32rem);
	margin: 0;
	padding: .85rem 1rem;
	transform: translate(-50%, -50%);
	border-radius: 6px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .12);
	pointer-events: none;
	text-align: center;
}

.lsvr_document-list-widget__content--preview-enabled.has-preview-error .lsvr_document-list-widget__preview-frame {
	opacity: .2;
}

.lsvr_document-list-widget__preview-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1.25rem;
	margin: .85rem 0 0;
}

.lsvr_document-list-widget__preview-open,
.lsvr_document-list-widget__preview-download {
	font-size: .9em;
}

/* Keep the right column aligned and self-contained, regardless of theme list
 * margins. Existing theme typography is preserved. */
.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__list {
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item {
	box-sizing: border-box;
	margin: 0 !important;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item:first-child,
.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item.is-page-first {
	padding-top: 0;
}

/* Category-scoped document title search. */
.lsvr_document-list-widget__search {
	box-sizing: border-box;
	margin: 0 0 1rem;
}

.lsvr_document-list-widget__search-label {
	display: block;
	margin: 0 0 .4rem;
	font-size: .9em;
	font-weight: 700;
}

.lsvr_document-list-widget__search-input {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-height: 2.6rem;
	margin: 0;
	padding: .55rem .7rem;
	border: 1px solid rgba(15, 23, 42, .22);
	border-radius: 6px;
	background: #fff;
	color: inherit;
	font: inherit;
}

.lsvr_document-list-widget__search-input:focus {
	border-color: currentColor;
	outline: 2px solid currentColor;
	outline-offset: 1px;
}

.lsvr_document-list-widget__search-empty {
	margin: 1rem 0 0;
	font-style: italic;
}

.lsvr_document-list-widget__search-empty[hidden] {
	display: none !important;
}

.lsvr_document-list-widget__item[hidden] {
	display: none !important;
}

.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item-title,
.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item-info,
.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item-date,
.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item-count {
	margin-top: 0;
}

.lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__item.is-active .lsvr_document-list-widget__item-title-link {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 3px;
}

.lsvr_document-list-widget__preview-layout .widget__more {
	margin: 1.25rem 0 0;
}

/* Compact, accessible pagination for long document lists. */
.lsvr_document-list-widget__pagination {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .4rem;
	margin: 1.25rem 0 0;
}

.lsvr_document-list-widget__pagination[hidden] {
	display: none !important;
}

.lsvr_document-list-widget__pagination-pages {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .3rem;
}

.lsvr_document-list-widget__pagination-button {
	box-sizing: border-box;
	min-width: 2.1rem;
	min-height: 2.1rem;
	margin: 0;
	padding: .35rem .55rem;
	border: 1px solid rgba(15, 23, 42, .2);
	border-radius: 5px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .85em;
	line-height: 1.2;
	cursor: pointer;
}

.lsvr_document-list-widget__pagination-button:hover,
.lsvr_document-list-widget__pagination-button:focus-visible {
	border-color: currentColor;
	outline: 2px solid currentColor;
	outline-offset: 1px;
}

.lsvr_document-list-widget__pagination-button[aria-current="page"] {
	border-color: currentColor;
	box-shadow: inset 0 -2px 0 currentColor;
	font-weight: 700;
}

.lsvr_document-list-widget__pagination-button:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.lsvr_document-list-widget__pagination-ellipsis {
	min-width: 1.25rem;
	text-align: center;
}

.lsvr_document-list-widget__pagination-status,
.lsvr_document-list-widget__search-status {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.lsvr_document-list-widget__preview-notice {
	margin-top: 1rem;
	font-style: italic;
}

@media (max-width: 900px) {
	.lsvr_document-list-widget__preview-card {
		padding: clamp(1.25rem, 4vw, 2rem);
	}

	.lsvr_document-list-widget__preview-layout,
	.lsvr_document-list-widget__preview-layout--position-left,
	.lsvr_document-list-widget__preview-layout--position-right,
	.lsvr_document-list-widget__preview-layout--position-top,
	.lsvr_document-list-widget__preview-layout--position-bottom {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.lsvr_document-list-widget__preview-frame-wrap,
	.lsvr_document-list-widget__preview-frame {
		min-height: 480px;
	}
}

@media (max-width: 600px) {
	.lsvr_document-list-widget__preview-card {
		padding: 1rem;
		border-radius: 20px;
	}

	.lsvr_document-list-widget__preview-title,
	.lsvr_document-list-widget__list-title {
		font-size: clamp(1.35rem, 7vw, 1.75rem);
	}

	.lsvr_document-list-widget__preview-frame-wrap,
	.lsvr_document-list-widget__preview-frame {
		min-height: 420px;
		height: 62vh;
	}

	.lsvr_document-list-widget__preview-actions {
		gap: .6rem 1rem;
	}
}

/* Compact page/column list card. Scoped so existing PDF layouts stay intact. */
.lsvr_document-list-widget:has(.oursask-documents-card),
.lsvr_document-list-widget:has(.oursask-documents-card) > .widget__inner {
    margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none;
    width: 100%; min-width: 0; max-width: 100%;
}
.lsvr_document-list-widget:has(.oursask-documents-card) > .widget__title,
.lsvr_document-list-widget:has(.oursask-documents-card) > .widget-title,
.lsvr_document-list-widget:has(.oursask-documents-card) > .widget__inner > .widget__title,
.lsvr_document-list-widget:has(.oursask-documents-card) > .widget__inner > .widget-title { display: none; }
.oursask-documents-card {
    --oursask-documents-link: var(--osm-primary, #1b6080);
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 680px;
    padding: clamp(16px, 2vw, 24px); margin: 0;
    border: 1px solid #e4e8ec; border-radius: 16px;
    background: #fff; color: #17212b; box-shadow: 0 4px 18px rgb(15 23 42 / 5%);
    font-size: 15px; line-height: 1.5;
}
.oursask-documents-card .lsvr_document-list-widget__list-title {
    font-size: 26px; line-height: 1.2; margin: 0 0 14px !important;
}
.oursask-documents-card .lsvr_document-list-widget__search { margin: 0 0 4px; }
.oursask-documents-card .lsvr_document-list-widget__search-label { font-size: 13px; margin-bottom: 6px; }
.oursask-documents-card .lsvr_document-list-widget__search-input { min-height: 38px; padding: 7px 10px; font-size: 15px; }
.oursask-documents-card .lsvr_document-list-widget__list { list-style: none; margin: 0; padding: 0; }
.oursask-documents-card .lsvr_document-list-widget__item {
    margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #e8ebee;
    background: transparent; box-shadow: none; border-radius: 0;
}
.oursask-documents-card .lsvr_document-list-widget__item::before { content: none; }
.oursask-documents-card .lsvr_document-list-widget__item-title {
    margin: 0; padding: 0; font-size: 15px; font-weight: 600; line-height: 1.5;
}
.oursask-documents-card .lsvr_document-list-widget__item-title-link { color: var(--oursask-documents-link); text-decoration: none; overflow-wrap: anywhere; }
.oursask-documents-card .lsvr_document-list-widget__item-title-link:hover { text-decoration: underline; }
.oursask-documents-card a:focus-visible { outline: 2px solid var(--oursask-documents-link); outline-offset: 3px; border-radius: 3px; }
.oursask-documents-card .lsvr_document-list-widget__pagination { margin-top: 16px; gap: 6px; }
.oursask-documents-card .lsvr_document-list-widget__pagination-button {
    background: var(--oursask-documents-link); color: #fff; border: 0;
    min-height: 34px; min-width: 34px; padding: 6px 9px; font-size: 14px;
}
.oursask-documents-card .lsvr_document-list-widget__pagination-button:focus-visible { outline-color: var(--oursask-documents-link); }
.oursask-documents-card .lsvr_document-list-widget__pagination-button[aria-current="page"] { box-shadow: inset 0 -3px #fff; }

/* Keep the complete PDF + list section within the page or containing column. */
.lsvr_document-list-widget__content--preview-enabled {
    box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
    container-type: inline-size;
}
.lsvr_document-list-widget__preview-card { padding: clamp(16px, 2vw, 24px); border-radius: 16px; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout {
    gap: 24px; min-width: 0;
}
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout--position-left { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout--position-right { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-frame-wrap { min-height: 0; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-frame {
    width: 100%; min-height: 0; height: clamp(280px, 45vh, 440px);
}
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-title,
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__list-title { font-size: 24px; overflow-wrap: anywhere; margin-bottom: 12px !important; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-actions { margin-top: 10px; gap: 8px 14px; font-size: 14px; flex-wrap: wrap; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__list { padding: 0; margin: 0; list-style: none; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__item { padding: 10px 0; margin: 0; border-bottom: 1px solid #e8ebee; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__item-title { font-size: 15px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__pagination { margin-top: 12px; }
@container (max-width: 700px) {
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout--position-left,
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout--position-right { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout--position-left,
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout--position-right { grid-template-columns: minmax(0, 1fr); }
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-frame { height: 300px; }
}

/* Share the heading row so wrapped PDF titles cannot stagger the two bodies. */
.oursask-documents-preview-body, .oursask-documents-list-body { min-width: 0; }
@supports (grid-template-rows: subgrid) {
  @media (min-width: 761px) {
    @container (min-width: 701px) {
      .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) {
        grid-template-rows: auto auto; row-gap: 12px;
      }
      .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) > :is(.lsvr_document-list-widget__preview, .lsvr_document-list-widget__list-column) {
        display: grid; grid-template-rows: subgrid; grid-row: 1 / span 2; align-items: start;
      }
      .lsvr_document-list-widget__preview-layout--position-left > .lsvr_document-list-widget__preview,
      .lsvr_document-list-widget__preview-layout--position-right > .lsvr_document-list-widget__list-column { grid-column: 1; }
      .lsvr_document-list-widget__preview-layout--position-left > .lsvr_document-list-widget__list-column,
      .lsvr_document-list-widget__preview-layout--position-right > .lsvr_document-list-widget__preview { grid-column: 2; }
      .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) :is(.lsvr_document-list-widget__preview-title, .lsvr_document-list-widget__list-title) { grid-row: 1; margin-bottom: 0 !important; }
      .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) :is(.oursask-documents-preview-body, .oursask-documents-list-body) { grid-row: 2; }
    }
  }
}

/* Fill the shared column height when the document list is taller than the PDF.
 * Keep the compact fixed-height viewer for stacked/mobile layouts. */
@media (min-width: 761px) {
  @container (min-width: 701px) {
    .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) > .lsvr_document-list-widget__preview {
      align-self: stretch;
    }
    .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) .oursask-documents-preview-body {
      align-self: stretch; display: flex; flex-direction: column; min-height: 0;
    }
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) .lsvr_document-list-widget__preview-frame-wrap {
      flex: 1 1 auto; min-height: clamp(280px, 45vh, 440px);
    }
    .lsvr_document-list-widget__content--preview-enabled .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) .lsvr_document-list-widget__preview-frame {
      position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
    }
    .lsvr_document-list-widget__preview-layout .lsvr_document-list-widget__preview-actions { flex: 0 0 auto; }
    @supports not (grid-template-rows: subgrid) {
      .lsvr_document-list-widget__preview-layout:is(.lsvr_document-list-widget__preview-layout--position-left, .lsvr_document-list-widget__preview-layout--position-right) > .lsvr_document-list-widget__preview { display: flex; flex-direction: column; }
      .lsvr_document-list-widget__preview-layout .oursask-documents-preview-body { flex: 1 1 auto; }
    }
  }
}
