/* Background styling for parts in single-column (no stimulus) layout */
#sql-question-page[data-layout='single'] .part-block {
	background: #fafafa;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 6px;
	padding: 0.6rem; /* match .part-container */
	margin-bottom: 1.1rem;
}

/* Also style .part-container in single-column layout (after JS transformation) */
#sql-question-page[data-layout='single'] .part-container {
	background: #fafafa;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 6px;
	padding: 0.6rem;
	margin-bottom: 1.1rem;
}

/* Override Bootstrap .mb-3 class added by JavaScript */
#sql-question-page[data-layout='single'] .part-container.mb-3 {
	margin-bottom: 1.1rem !important;
}

#sql-question-page[data-layout='single'] .part-block:last-child,
#sql-question-page[data-layout='single'] .part-container:last-child {
	margin-bottom: 0;
}

/* Reduce the vertical gap between the title and the first part so it matches two-column layout */
#sql-question-page[data-layout='single'] .single-column-header.mb-3 {
	margin-bottom: 0.25rem; /* override bootstrap .mb-3 (1rem) */
}

#sql-question-page[data-layout='single'] .single-column-parts .part-container:first-child,
#sql-question-page[data-layout='single'] .single-column-parts .part-block:first-child {
	margin-top: 0; /* ensure the first part sits close to the title */
}

/* Increase padding above the question text itself (question-display) for single-column layout */
#sql-question-page[data-layout='single'] .single-column-parts .question-display {
	padding-top: 0.65rem; /* tweak value to match perceived spacing of stimulus column */
    padding-bottom: 0.25rem; /* small padding below question text */
}

/* Reduce the h2 bottom margin inside single-column header so spacing matches stimulus layout */
#sql-question-page[data-layout='single'] .single-column-header h2.mb-2 {
	margin-bottom: 0; /* remove h2's own bottom margin */
}

/* Stronger overrides to handle Bootstrap specificity and margin collapse at different zooms */
#sql-question-page[data-layout='single'] .single-column-inner > .single-column-header.mb-3 {
	margin-bottom: 0.25rem !important;
}
#sql-question-page[data-layout='single'] .single-column-inner > .single-column-header.mb-3 h2.mb-2 {
	margin-bottom: 0 !important;
}
#sql-question-page[data-layout='single'] .single-column-parts > .part-container:first-child,
#sql-question-page[data-layout='single'] .single-column-parts > .part-block:first-child {
	margin-top: 0 !important;
}

/* In case toggling produces nested margins, also zero out top padding on first part body */
#sql-question-page[data-layout='single'] .single-column-parts > .part-container:first-child .part-body {
	padding-top: 0 !important;
}

/* With scroll containment, we can restore normal bottom spacing instead of cramming content */

/* Note: Removed main container padding overrides to preserve original spacing for scroll containment */

/* Scroll containment for single-column layout */
body.student-single-column {
	overflow: hidden !important; /* Disable body scroll */
	height: 100vh !important; /* Full viewport height */
}

body.student-single-column .navbar {
	position: fixed !important; /* Keep navbar fixed at top */
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 1030 !important; /* Bootstrap navbar z-index */
}

body.student-single-column main.container {
	margin-top: 56px !important; /* Account for fixed navbar height */
	height: calc(100vh - 56px) !important; /* Full height minus navbar */
	overflow-y: auto !important; /* Enable scroll for main content */
	/* Preserve existing padding from Bootstrap and existing styles - don't override */
}

/* Custom scrollbar for single-column layout */
#sql-question-page[data-layout='single'] .single-column-inner::-webkit-scrollbar {
    width: 8px;
}

#sql-question-page[data-layout='single'] .single-column-inner::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 8px;
}

#sql-question-page[data-layout='single'] .single-column-inner::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 8px;
}

#sql-question-page[data-layout='single'] .single-column-inner::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Firefox scrollbar */
#sql-question-page[data-layout='single'] .single-column-inner {
    scrollbar-width: thin;
    scrollbar-color: #c1c1c1 #f1f1f1;
}

/* Add padding to bottom of content to ensure nav buttons don't overlap content */
#sql-question-page[data-layout='single'] .single-column-parts {
    padding-bottom: 1rem;
}

/* Make single-column-inner take full height and be scrollable */
#sql-question-page[data-layout='single'] .single-column-inner {
    height: 100%;
    overflow-y: auto !important;
    display: flex;
    flex-direction: column;
}

/* Force hide CKEditor branding/powered-by balloon on student pages (exam view) */
.ck-powered-by-balloon, .ck.ck-powered-by, .ck.ck-powered-by a, .ck-balloon-panel.ck-powered-by-balloon {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Make Previous/Next question button text bold */
.exam-question .question-nav .prev-btn,
.exam-question .question-nav .next-btn,
.question-nav .prev-btn,
.question-nav .next-btn {
    font-weight: 700 !important;
}

.word-count-display {
    font-size: 1rem; /* match default question text (typically 16px) */
}
