/* ==========================================================================
   Psst PDF Viewer — Styles
   ========================================================================== */

/* Shortcode/admin error notice */
.psst-pdf-diagnostic-status {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 3px;
	font-weight: 600;
}

.psst-pdf-diagnostic-status--red {
	color: #8a1616;
	background: #fce8e8;
	border: 1px solid #b32d2e;
}

.psst-pdf-diagnostic-status--yellow {
	color: #5c4000;
	background: #fff3cd;
	border: 1px solid #996800;
}

.psst-pdf-error {
	border: 1px solid #cc0000;
	padding: 10px;
	color: #cc0000;
}

/* Embedded viewer container */
.psst-pdf-viewer-embedded {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #525659;
	border-radius: 4px;
}

.psst-pdf-viewer-embedded iframe {
	display: block;
}

/* ==========================================================================
   Modal
   ========================================================================== */

.psst-pdf-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.psst-pdf-modal-container {
	position: relative;
	width: 90vw;
	height: 90vh;
	max-width: 1200px;
	min-width: 320px;
	min-height: 240px;
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	resize: both;
	display: flex;
	flex-direction: column;
	cursor: default;
}

.psst-pdf-modal-container.maximized {
	width: 100vw !important;
	height: 100vh !important;
	max-width: none !important;
	border-radius: 0;
	resize: none;
}

.psst-pdf-modal-header {
	display: flex;
	align-items: center;
	padding: 0 4px 0 12px;
	background: #323232;
	color: #d9d9d9;
	font-size: 13px;
	height: 36px;
	flex-shrink: 0;
	user-select: none;
	gap: 4px;
}

.psst-pdf-modal-title {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
	font-size: 14px;
	font-weight: normal;
}

.psst-pdf-modal-header button {
	background: none;
	border: none;
	color: #d9d9d9;
	font-size: 18px;
	width: 44px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	cursor: pointer;
	border-radius: 3px;
	padding: 0;
}

.psst-pdf-modal-header button:hover {
	background: #4a4a4a;
}

.psst-pdf-modal-header .psst-pdf-modal-close:hover {
	background: #c42b1c;
	color: #fff;
}

.psst-pdf-modal-iframe {
	width: 100%;
	flex: 1;
	border: none;
	display: block;
}

/* ==========================================================================
   Default trigger button (can be overridden by theme or calling plugin)
   ========================================================================== */

.psst-pdf-viewer-trigger {
	display: inline-block;
	padding: 8px 16px;
	background: var(--psst-btn-bg, #0073aa);
	color: var(--psst-btn-color, #fff) !important;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.psst-pdf-viewer-trigger:hover,
.psst-pdf-viewer-trigger:focus,
.psst-pdf-viewer-trigger:active {
	background: var(--psst-btn-hover-bg, #005a87);
	color: var(--psst-btn-color, #fff) !important;
}

.psst-pdf-viewer-trigger--primary {
	background: var(--psst-btn-bg, #0073aa);
	color: var(--psst-btn-color, #fff) !important;
	border-color: var(--psst-btn-bg, #0073aa);
}

.psst-pdf-viewer-trigger--primary:hover,
.psst-pdf-viewer-trigger--primary:focus,
.psst-pdf-viewer-trigger--primary:active {
	background: var(--psst-btn-hover-bg, #005a87);
	color: var(--psst-btn-color, #fff) !important;
	border-color: var(--psst-btn-hover-bg, #005a87);
}

.psst-pdf-viewer-trigger--outline {
	background: var(--psst-btn-bg, transparent);
	color: var(--psst-btn-color, #0073aa) !important;
	border: 1px solid #0073aa;
}

.psst-pdf-viewer-trigger--outline:hover,
.psst-pdf-viewer-trigger--outline:focus,
.psst-pdf-viewer-trigger--outline:active {
	background: var(--psst-btn-hover-bg, rgba(0, 115, 170, 0.08));
	color: var(--psst-btn-color, #0073aa) !important;
}

.psst-pdf-viewer-trigger--soft {
	background: var(--psst-btn-bg, #e9f5ff);
	color: var(--psst-btn-color, #005a87) !important;
	border: 1px solid #b7d8ef;
}

.psst-pdf-viewer-trigger--soft:hover,
.psst-pdf-viewer-trigger--soft:focus,
.psst-pdf-viewer-trigger--soft:active {
	background: var(--psst-btn-hover-bg, #d7ecfb);
	color: var(--psst-btn-color, #005a87) !important;
}

.psst-pdf-viewer-trigger-wrap {
	display: flex;
	width: 100%;
}

.psst-pdf-viewer-trigger-wrap.is-align-left {
	justify-content: flex-start;
}

.psst-pdf-viewer-trigger-wrap.is-align-center {
	justify-content: center;
}

.psst-pdf-viewer-trigger-wrap.is-align-right {
	justify-content: flex-end;
}

.psst-pdf-viewer-trigger.is-full-width {
	width: 100%;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
	.psst-pdf-modal-container {
		width: 100vw;
		height: 100vh;
		max-width: none;
		border-radius: 0;
		resize: none;
	}
}

/* ==========================================================================
   Gutenberg PDF Folder List (compact)
   ========================================================================== */

.psst-pdf-folder-list-block {
	--psst-list-font-size: 0.95em;
	--psst-accent: #1f2933;
	--psst-text-muted: #6f7781;
	--psst-dl-row-padding: 0.3em 0.55em;
	--psst-dl-btn-padding: 0.22em 0.72em;
	--psst-dl-btn-font-size: 0.84em;
	--psst-dl-bg: #f1f1f1;
	margin: 0;
}

.psst-pdf-folder-list-download-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: var(--psst-dl-bg);
}

.psst-pdf-folder-list-dl-row {
	display: flex;
	align-items: center;
	gap: 0.9em;
	padding: var(--psst-dl-row-padding);
	border-bottom: 1px solid #d6dde3;
	font-size: var(--psst-list-font-size);
}

.psst-pdf-folder-list-dl-row:last-child {
	border-bottom: 0;
}

.psst-pdf-folder-list-filename {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--psst-accent);
	text-decoration: underline;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.psst-pdf-folder-list-filename:hover,
.psst-pdf-folder-list-filename:focus {
	text-decoration: none;
}

.psst-pdf-folder-list-size {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 0.86em;
	color: var(--psst-text-muted);
}

.psst-pdf-folder-list-download {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	padding: var(--psst-dl-btn-padding);
	border-radius: 3px;
	background: var(--psst-btn-bg, #3c434a);
	color: var(--psst-btn-color, #fff);
	font-weight: 600;
	font-size: var(--psst-dl-btn-font-size);
	line-height: 1;
	text-decoration: none;
}

.psst-pdf-folder-list-download:hover,
.psst-pdf-folder-list-download:focus {
	background: var(--psst-btn-hover-bg, #2c3338);
	color: var(--psst-btn-color, #fff);
	text-decoration: none;
}

.psst-pdf-folder-list-empty {
	padding: 10px 12px;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
}
