/**
 * BusinessZindagi Tools – Tool Workspace (document generators)
 * Full-width / fullscreen presentation for Smart Invoice and similar tools.
 * Does not alter calculation logic — layout only.
 */

/* ── Content-area expansion when tool is active (theme-agnostic best-effort) ── */
body.bz-tool-workspace-page .bz-tools-wrapper,
body.bz-tool-workspace-page #bz-tools-app {
	max-width: none;
	width: 100%;
}

/* Common theme content/sidebar patterns — only when our tool page body class is set */
body.bz-tool-workspace-page .content-area,
body.bz-tool-workspace-page .site-content,
body.bz-tool-workspace-page #content,
body.bz-tool-workspace-page #primary,
body.bz-tool-workspace-page .primary,
body.bz-tool-workspace-page main#main,
body.bz-tool-workspace-page .main-content,
body.bz-tool-workspace-page article.page,
body.bz-tool-workspace-page .entry-content,
body.bz-tool-workspace-page .post-content {
	max-width: none !important;
	width: 100% !important;
}

body.bz-tool-workspace-page #secondary,
body.bz-tool-workspace-page .widget-area,
body.bz-tool-workspace-page aside.sidebar,
body.bz-tool-workspace-page .sidebar,
body.bz-tool-workspace-page #sidebar,
body.bz-tool-workspace-page .right-sidebar,
body.bz-tool-workspace-page .left-sidebar {
	display: none !important;
}

/* Two-column theme layouts → single column for tool pages */
body.bz-tool-workspace-page .site-content,
body.bz-tool-workspace-page #content,
body.bz-tool-workspace-page .content-sidebar-wrap,
body.bz-tool-workspace-page .row {
	display: block !important;
}

/* ── Workspace shell ── */
.bz-tool-workspace {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	box-sizing: border-box;
}

.bz-tool-workspace .bz-container {
	max-width: 1600px;
	width: 100%;
	padding-left: 16px;
	padding-right: 16px;
}

@media (min-width: 1200px) {
	.bz-tool-workspace .bz-container {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* Toolbar: fullscreen + zoom */
.bz-ws-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 16px;
	padding: 10px 14px;
	background: var(--bz-card-bg, #fff);
	border: 1px solid var(--bz-border, #e2e8f0);
	border-radius: 12px;
	box-shadow: var(--bz-shadow, 0 1px 3px rgba(0,0,0,.06));
}

.bz-ws-toolbar-left,
.bz-ws-toolbar-right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.bz-ws-toolbar .bz-btn {
	min-height: 40px;
	padding: 8px 14px;
	font-size: 0.875rem;
}

.bz-ws-zoom {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--bz-text-muted, #64748b);
}

.bz-ws-zoom-btn {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1.5px solid var(--bz-border-strong, #cbd5e1);
	background: #fff;
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
	font-weight: 700;
	color: var(--bz-text, #0f172a);
}

.bz-ws-zoom-btn:hover {
	border-color: var(--bz-primary, #0b5ed7);
	color: var(--bz-primary, #0b5ed7);
}

.bz-ws-zoom-label {
	min-width: 3.2em;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* Document layout: form + large preview */
.bz-ws-doc-layout {
	display: grid;
	grid-template-columns: minmax(380px, 0.9fr) minmax(520px, 1.15fr);
	gap: 24px;
	align-items: start;
}

.bz-ws-doc-form,
.bz-ws-doc-preview {
	min-width: 0;
}

.bz-ws-preview-panel {
	position: sticky;
	top: 12px;
	max-height: calc(100vh - 24px);
	display: flex;
	flex-direction: column;
	background: var(--bz-card-bg, #fff);
	border: 1px solid var(--bz-border, #e2e8f0);
	border-radius: 16px;
	box-shadow: var(--bz-shadow, 0 4px 16px rgba(15,23,42,.06));
	overflow: hidden;
}

.bz-ws-preview-panel .bz-si-preview-bar,
.bz-ws-preview-panel .bz-ws-preview-bar {
	flex-shrink: 0;
	padding: 10px 14px;
	border-bottom: 1px solid var(--bz-border, #e2e8f0);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.bz-ws-preview-scroll {
	flex: 1 1 auto;
	height: calc(100vh - 160px);
	min-height: 400px;
	max-height: calc(100vh - 100px);
	overflow: auto !important;
	position: relative;
	box-sizing: border-box;
	padding: 20px;
	background: #e8edf3;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

/* Scaled preview sheet (zoom is visual only) */
.bz-ws-preview-scale {
	transform-origin: top center;
	transition: transform 0.15s ease, margin-bottom 0.15s ease;
	width: max-content;
	min-width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	display: block;
	height: auto !important;
	overflow: visible !important;
}

.bz-ws-preview-scale .bz-si-sheet,
.bz-ws-preview-scale #si-preview {
	max-height: none !important;
	width: 100%;
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.12);
}

/* ── Application-level fullscreen ── */
.bz-tool-fullscreen-active {
	overflow: hidden !important;
}

.bz-tool-fullscreen {
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	max-width: none !important;
	z-index: 999999 !important;
	overflow: auto !important;
	background: var(--bz-bg, #f1f5f9) !important;
	padding: 12px 16px 24px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

.bz-tool-fullscreen .bz-container,
.bz-tool-fullscreen.bz-tool-workspace,
.bz-tool-fullscreen .bz-tool-workspace {
	max-width: 1680px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.bz-tool-fullscreen .bz-back-link {
	display: none;
}

.bz-tool-fullscreen .bz-ws-doc-layout {
	grid-template-columns: minmax(360px, 0.85fr) minmax(560px, 1.2fr);
}

.bz-tool-fullscreen .bz-ws-preview-panel {
	max-height: calc(100vh - 140px);
}

/* Exit control always visible in FS */
.bz-ws-fs-banner {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 14px;
	margin-bottom: 10px;
	background: #0f172a;
	color: #f8fafc;
	border-radius: 10px;
	font-size: 0.9rem;
	font-weight: 600;
}

.bz-tool-fullscreen .bz-ws-fs-banner {
	display: flex;
}

.bz-ws-fs-banner .bz-btn {
	background: #fff;
	color: #0f172a;
	border-color: #fff;
	min-height: 36px;
	padding: 6px 14px;
}

/* Responsive breakpoints */
@media (max-width: 1200px) {
	.bz-ws-doc-layout {
		grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1.05fr);
		gap: 18px;
	}
}

@media (max-width: 1024px) {
	.bz-ws-doc-layout {
		grid-template-columns: 1fr;
	}

	.bz-ws-preview-panel {
		position: static;
		max-height: none;
	}

	.bz-ws-preview-scroll {
		height: 70vh;
		max-height: 70vh;
		overflow: auto !important;
	}

	/* Tablet keeps preview visible */
}

@media (max-width: 640px) {
	/* Phones only: optional hide via class */
	.bz-ws-mobile-preview-hidden .bz-ws-doc-preview {
		display: none !important;
	}

	.bz-ws-mobile-editor-hidden .bz-ws-doc-form {
		display: none !important;
	}

	.bz-ws-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.bz-ws-toolbar-left,
	.bz-ws-toolbar-right {
		justify-content: stretch;
	}

	.bz-ws-toolbar .bz-btn {
		flex: 1;
		justify-content: center;
	}

	.bz-tool-fullscreen {
		padding: 8px 10px 16px !important;
	}
}

/* Print: don't show workspace chrome */
@media print {
	.bz-ws-toolbar,
	.bz-ws-fs-banner {
		display: none !important;
	}

	.bz-tool-fullscreen {
		position: static !important;
		height: auto !important;
		overflow: visible !important;
	}
}

/* Show mobile preview/editor toggles only on small screens */
@media (max-width: 1024px) {
	#bz-si-mobile-preview-btn,
	#bz-si-mobile-editor-btn,
	[data-bz-ws-mobile-preview],
	[data-bz-ws-mobile-editor] {
		display: inline-flex !important;
	}
}

@media (min-width: 1025px) {
	#bz-si-mobile-preview-btn,
	#bz-si-mobile-editor-btn {
		display: none !important;
	}
}

/* Expand Smart Invoice outer container past typical theme content width */
body.bz-tool-workspace-page .bz-si.bz-tool-workspace,
body.bz-tool-workspace-page #bz-smart-invoice {
	width: 100%;
	max-width: 100%;
}

body.bz-tool-workspace-page .bz-si .bz-container {
	max-width: 1600px;
}
