/* PDF open choice — chooser modal + split-screen viewer (js/pdf-open-choice.js) */

:root {
	--ivl-pdf-split-width: 45vw;
	--ivl-pdf-split-top: 0px;
}

/* ---------- Chooser modal ---------- */

.ivl-pdf-choice-modal .modal-content {
	border: 0;
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
	background: var(--bg-primary);
	color: var(--text-primary);
}

.ivl-pdf-choice-modal .modal-header {
	border-bottom: 0;
	padding: var(--space-6) var(--space-6) 0;
}

.ivl-pdf-choice-modal .modal-title {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-weight: var(--font-semibold);
	font-size: var(--font-size-lg);
}

.ivl-pdf-choice-modal .modal-title .la-file-pdf {
	color: var(--brand-primary);
	font-size: 1.5rem;
}

.ivl-pdf-choice-modal .modal-body {
	padding: var(--space-4) var(--space-6) var(--space-6);
}

.ivl-pdf-choice-doc {
	color: var(--text-secondary);
	font-size: var(--font-size-sm);
	margin-bottom: var(--space-4);
}

.ivl-pdf-choice-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-3);
}

.ivl-pdf-choice-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--space-2);
	padding: var(--space-6) var(--space-4);
	background: var(--bg-primary);
	border: 2px solid var(--neutral-300);
	border-radius: var(--radius-lg);
	color: var(--text-primary);
	cursor: pointer;
	transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.ivl-pdf-choice-option:hover {
	border-color: var(--brand-primary);
	background: var(--hover-overlay);
}

.ivl-pdf-choice-option:focus-visible {
	outline: none;
	border-color: var(--brand-primary);
	box-shadow: 0 0 0 3px var(--focus-ring);
}

.ivl-pdf-choice-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--radius-full);
	background: var(--hover-overlay);
	color: var(--brand-primary);
	font-size: 1.75rem;
}

.ivl-pdf-choice-label {
	font-weight: var(--font-semibold);
	font-size: var(--font-size-base);
}

.ivl-pdf-choice-help {
	color: var(--text-tertiary);
	font-size: var(--font-size-xs);
	line-height: var(--leading-snug);
}

@media (max-width: 420px) {
	.ivl-pdf-choice-options {
		grid-template-columns: 1fr;
	}
}

/* ---------- Split-screen panel ---------- */

.ivl-pdf-split {
	position: fixed;
	top: var(--ivl-pdf-split-top);
	right: 0;
	bottom: 0;
	width: var(--ivl-pdf-split-width);
	display: flex;
	flex-direction: column;
	background: var(--bg-primary);
	border-left: 1px solid var(--neutral-300);
	box-shadow: -8px 0 24px rgba(0, 0, 0, 0.08);
	/* Below the fixed top navbar (z-index 99) so its dropdowns still render on top */
	z-index: 98;
}

.ivl-pdf-split[hidden] {
	display: none;
}

.ivl-pdf-split-header {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2) var(--space-3) var(--space-2) var(--space-4);
	border-bottom: 1px solid var(--neutral-300);
	border-top: 3px solid var(--brand-primary);
	background: var(--bg-primary);
	color: var(--text-primary);
}

.ivl-pdf-split-icon {
	color: var(--brand-primary);
	font-size: 1.4rem;
	flex-shrink: 0;
}

.ivl-pdf-split-title {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: var(--font-semibold);
	font-size: var(--font-size-sm);
}

.ivl-pdf-split-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: var(--radius-full);
	background: transparent;
	color: var(--text-secondary);
	font-size: 1.2rem;
	transition: background-color var(--transition-fast), color var(--transition-fast);
}

.ivl-pdf-split-btn:hover,
.ivl-pdf-split-btn:focus-visible {
	background: var(--hover-overlay);
	color: var(--brand-primary);
	outline: none;
}

.ivl-pdf-split-btn:focus-visible {
	box-shadow: 0 0 0 2px var(--focus-ring);
}

.ivl-pdf-split-body {
	position: relative;
	flex: 1 1 auto;
	background: var(--bg-secondary);
}

.ivl-pdf-split-frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	opacity: 0;
	transition: opacity var(--transition-base);
}

.ivl-pdf-split.is-loaded .ivl-pdf-split-frame {
	opacity: 1;
}

.ivl-pdf-split-loading {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	color: var(--text-tertiary);
	font-size: var(--font-size-sm);
}

.ivl-pdf-split-loading .la-spinner {
	font-size: 2rem;
	color: var(--brand-primary);
}

.ivl-pdf-split.is-loaded .ivl-pdf-split-loading {
	display: none;
}

.ivl-pdf-split-resizer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -5px;
	width: 10px;
	cursor: col-resize;
	z-index: 1;
}

.ivl-pdf-split-resizer::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 3px;
	width: 4px;
	height: 48px;
	margin-top: -24px;
	border-radius: var(--radius-full);
	background: var(--neutral-300);
	transition: background-color var(--transition-fast);
}

.ivl-pdf-split-resizer:hover::after,
.ivl-pdf-split-resizer:focus-visible::after,
.ivl-pdf-split.is-resizing .ivl-pdf-split-resizer::after {
	background: var(--brand-primary);
}

.ivl-pdf-split-resizer:focus-visible {
	outline: none;
}

/* Iframes swallow mouse events, so disable them while dragging the divider */
body.ivl-pdf-split-resizing,
body.ivl-pdf-split-resizing * {
	cursor: col-resize !important;
	user-select: none;
}

body.ivl-pdf-split-resizing .ivl-pdf-split-frame {
	pointer-events: none;
}

/* Shrink the page so content sits beside the PDF rather than underneath it */
@media (min-width: 992px) {
	body.ivl-pdf-split-open .content-page {
		margin-right: var(--ivl-pdf-split-width);
	}

	body.ivl-pdf-split-open #site-tab-bar {
		right: var(--ivl-pdf-split-width);
	}

	body.ivl-pdf-split-resizing .content-page {
		transition: none;
	}

	/* Opt-in: rows marked .pdf-split-stack stack their columns while the viewer is open */
	body.ivl-pdf-split-open .pdf-split-stack > [class*="col-"] {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* Small screens: there's no room side by side, so the viewer takes over the screen */
@media (max-width: 991.98px) {
	.ivl-pdf-split {
		top: 0;
		width: 100%;
		border-left: 0;
		z-index: 1045;
	}

	.ivl-pdf-split-resizer {
		display: none;
	}
}
