/*
 * Vizualizator ghid PDF — stiluri scoped sub .ghid-viewer.
 * Paleta temei: navy #07214d, azure #5182f6, galben #ffd200,
 * borduri #ededed, fundal deschis #f2f5f7.
 */

/* style.css are `.page-grid > div:not(.aside-menu) { overflow: hidden }`
   (specificitate 0,2,1) — un strămoș cu overflow non-visible rupe
   position:sticky al toolbarului. Egalăm specificitatea; fișierul nostru
   se încarcă după style.css (dependență pe brd-style), deci câștigă. */
.ghid-viewer,
.page-grid > div.ghid-viewer {
	min-width: 0;
	overflow: visible;
}

.ghid-viewer__title {
	margin-bottom: 24px;
}

.ghid-viewer__empty {
	padding: 32px;
	background-color: #f2f5f7;
	border-radius: 8px;
	color: #232323;
}

/* Utilitar: vizibil doar pentru screen-readere (tema nu are unul global). */
.ghid-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --- Toolbar --- */

.ghid-viewer__toolbar {
	position: sticky;
	top: var(--ghid-toolbar-top, 8px);
	z-index: 5; /* sub header (z-index 100), peste pagini */
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding: 10px 14px;
	margin-bottom: 20px;
	background-color: #fff;
	border: 1px solid #ededed;
	border-radius: 8px;
	box-shadow: 0 4px 18px rgba(7, 33, 77, 0.08);
}

.ghid-viewer__nav {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ghid-viewer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid #ededed;
	border-radius: 8px;
	background-color: #fff;
	color: #07214d;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.ghid-viewer__btn:hover:not(:disabled) {
	background-color: #07214d;
	color: #fff;
}

.ghid-viewer__btn:disabled {
	opacity: 0.4;
	cursor: default;
}

.ghid-viewer__page-indicator {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: #07214d;
	white-space: nowrap;
}

.ghid-viewer__page-input {
	width: 58px;
	height: 38px;
	padding: 0 6px;
	text-align: center;
	font-weight: 600;
	color: #07214d;
	border: 1px solid #ededed;
	border-radius: 8px;
	-moz-appearance: textfield;
}

.ghid-viewer__page-input::-webkit-outer-spin-button,
.ghid-viewer__page-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ghid-viewer__chapter-select {
	flex: 1 1 220px;
	min-width: 0;
	max-width: 420px;
	height: 38px;
	padding: 0 10px;
	color: #07214d;
	border: 1px solid #ededed;
	border-radius: 8px;
	background-color: #fff;
	cursor: pointer;
}

.ghid-viewer__download {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	height: 38px;
	padding: 0 16px;
	background-color: #07214d;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	border-radius: 8px;
	white-space: nowrap;
	transition: background-color 0.15s ease;
}

.ghid-viewer__download:hover {
	background-color: #5182f6;
	color: #fff;
}

.ghid-viewer__download svg {
	flex-shrink: 0;
}

/* --- Scena / paginile --- */

.ghid-viewer__stage {
	background-color: #f2f5f7;
	border: 1px solid #ededed;
	border-radius: 8px;
	padding: 20px 12px;
	/* PDF-ul se derulează în interiorul casetei, nu cu toată pagina. */
	position: relative;
	height: clamp(480px, 78vh, 1200px);
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.ghid-viewer__loading {
	text-align: center;
	padding: 40px 16px;
	color: #07214d;
	font-weight: 600;
}

.ghid-viewer__pages {
	max-width: 880px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ghid-viewer__page {
	position: relative;
	background-color: #fff;
	box-shadow: 0 2px 10px rgba(7, 33, 77, 0.1);
	border-radius: 4px;
	overflow: hidden;
}

.ghid-viewer__page canvas {
	display: block;
	width: 100%;
	height: auto;
}

.ghid-viewer__error {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: 32px;
	background-color: #fff;
	border-left: 4px solid #ffd200;
	border-radius: 8px;
}

.ghid-viewer__error p {
	color: #232323;
}

/* --- Mobil --- */

@media (max-width: 768px) {
	.ghid-viewer__toolbar {
		gap: 8px;
		padding: 8px 10px;
	}

	.ghid-viewer__chapter-select {
		order: 3;
		flex-basis: 100%;
		max-width: none;
	}

	.ghid-viewer__download {
		margin-left: auto;
	}

	.ghid-viewer__download span {
		display: none; /* doar iconița pe ecrane mici */
	}

	.ghid-viewer__download {
		width: 38px;
		padding: 0;
		justify-content: center;
	}

	.ghid-viewer__stage {
		padding: 10px 6px;
	}

	.ghid-viewer__pages {
		gap: 10px;
	}
}
