:root {
	--primary-bg: #f3f4f6;
	--sidebar-bg: #ffffff;
	--text-main: #111827;
	--text-muted: #6b7280;
	--border-color: #eaecf0;
	--accent-color: #0f172a;
	--primary-brand: #2563eb;
	--radius-lg: 12px;
	--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

body {
	font-family: 'Inter', sans-serif;
	background-color: var(--primary-bg);
	color: var(--text-main);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

/* --- SIDEBAR (Fixed Layout) --- */
#wrapper {
	display: flex;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
}

#sidebar-wrapper {
	min-width: 260px;
	max-width: 260px;
	background-color: var(--sidebar-bg);
	border-right: 1px solid var(--border-color);
	display: flex;
	flex-direction: column;
	height: 100vh;
	z-index: 1001;
	transition: margin-left 0.3s ease;
}

.sidebar-brand {
	padding: 24px 24px 0px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	font-size: 1.2rem;
	color: var(--text-main);
	flex-shrink: 0;
}

/* --- FIXED SECTION: MENU CONTENT --- */
.sidebar-menu-content {
	flex-grow: 1;
	overflow-y: auto;
	overflow-x: hidden; /* FIX: Prevents horizontal scroll */
	padding-bottom: 20px;
}

	/* Modern Scrollbar Styling */
	.sidebar-menu-content::-webkit-scrollbar {
		width: 5px;
	}

	.sidebar-menu-content::-webkit-scrollbar-track {
		background: transparent;
	}

	.sidebar-menu-content::-webkit-scrollbar-thumb {
		background-color: #e5e7eb;
		border-radius: 20px;
	}
/* ---------------------------------- */

.sidebar-footer {
	padding: 20px;
	background: var(--sidebar-bg);
	border-top: 1px solid var(--border-color);
	flex-shrink: 0;
}

.nav-label {
	padding: 24px 24px 10px;
	font-size: 0.7rem;
	font-weight: 600;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.list-group-item {
	border: none;
	padding: 10px 16px;
	margin: 4px 16px;
	border-radius: 8px;
	color: var(--text-muted);
	font-weight: 500;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	transition: all 0.2s ease;
	white-space: nowrap; /* Ensures text doesn't wrap weirdly */
}

	.list-group-item i {
		margin-right: 12px;
		font-size: 1.1rem;
		color: #9ca3af;
	}

	.list-group-item:hover {
		background-color: #f9fafb;
		color: var(--text-main);
	}

	.list-group-item.active {
		background-color: #eff6ff;
		color: var(--primary-brand);
		font-weight: 600;
	}

		.list-group-item.active i {
			color: var(--primary-brand);
		}

.credit-widget {
	padding: 20px;
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
	border-radius: 12px;
	color: white;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* --- MAIN CONTENT --- */
#page-content-wrapper {
	width: 100%;
	height: 100vh;
	overflow-y: auto;
	background-color: var(--primary-bg);
	position: relative;
}

.top-navbar {
	padding: 20px 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--primary-bg);
	position: sticky;
	top: 0;
	z-index: 900;
}

.search-bar {
	background: #ffffff;
	border: 1px solid var(--border-color);
	padding: 8px 16px;
	border-radius: 8px;
	width: 320px;
	display: flex;
	align-items: center;
	color: var(--text-muted);
}

	.search-bar input {
		border: none;
		outline: none;
		width: 100%;
		margin-left: 8px;
	}

#overlay-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.4);
	z-index: 1000;
	display: none;
	backdrop-filter: blur(2px);
}

/* --- STATS & TABLES --- */
.stat-card {
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	padding: 24px;
	height: 100%;
	transition: all 0.3s ease;
	position: relative;
}

	.stat-card:hover {
		box-shadow: var(--shadow-sm);
		border-color: #d1d5db;
	}

.stat-icon {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
}

.card-table {
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	margin-bottom: 40px;
}

.table-modern {
	margin-bottom: 0;
	width: 100%;
}

	.table-modern thead th {
		background-color: #f9fafb;
		color: var(--text-muted);
		font-size: 0.75rem;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		font-weight: 600;
		padding: 16px 24px;
		border-bottom: 1px solid var(--border-color);
		border-top: none;
	}

	.table-modern tbody td {
		padding: 16px 24px;
		vertical-align: middle;
		border-bottom: 1px solid var(--border-color);
		color: #374151;
		font-size: 0.9rem;
	}

	.table-modern tbody tr:last-child td {
		border-bottom: none;
	}

	.table-modern tbody tr:hover {
		background-color: #f9fafb;
	}

.status-pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
}

.status-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	margin-right: 6px;
}

.status-processing {
	background: #fffbeb;
	color: #b45309;
	border: 1px solid #fcd34d;
}

	.status-processing .status-dot {
		background: #d97706;
	}

.status-completed {
	background: #ecfdf5;
	color: #047857;
	border: 1px solid #a7f3d0;
}

	.status-completed .status-dot {
		background: #059669;
	}

.status-draft {
	background: #f3f4f6;
	color: #4b5563;
	border: 1px solid #e5e7eb;
}

	.status-draft .status-dot {
		background: #6b7280;
	}

.icon-container {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background-color: #fef2f2;
	color: #ef4444;
	border: 1px solid #fee2e2;
}

@media (max-width: 768px) {
	#sidebar-wrapper {
		margin-left: -260px;
		position: fixed;
		height: 100%;
	}

	#wrapper.toggled #sidebar-wrapper {
		margin-left: 0;
	}

	#wrapper.toggled #overlay-backdrop {
		display: block;
	}
}


/* =========================================
   AUTH PAGES (Sign In / Sign Up)
   ========================================= */

.auth-wrapper {
	min-height: 100vh;
	width: 100%;
	background-color: #fff;
	overflow-x: hidden;
}

/* LEFT SIDE: Visual with Image & Overlay */
.auth-visual {
	/* Replace the URL with your actual construction/architecture image */
	background-image: url('https://images.unsplash.com/photo-1718851307765-4327c01cbdad?q=80&w=2000&auto=format&fit=crop');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 60px;
	color: white;
}

	/* Dark Overlay to make content pop */
	.auth-visual::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		/* Adjust the 0.7 to 0.8 if you want it darker for even better contrast */
		background: rgba(15, 23, 42, 0.75);
		z-index: 1;
	}

	/* Ensure branding and card are above the overlay */
	.auth-visual > div {
		position: relative;
		z-index: 2;
	}

/* Adjust the quote card for better visibility on image backgrounds */
.auth-quote-card {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 16px;
	padding: 30px;
	max-width: 500px;
}

/* Right Side - Form */
.auth-form-container {
	padding: 60px;
	max-width: 550px;
	width: 100%;
	margin: 0 auto;
}

.auth-header {
	margin-bottom: 32px;
}

/* Form Inputs */
.form-floating > .form-control {
	border: 1px solid var(--border-color);
	border-radius: 8px;
	height: 52px;
}

	.form-floating > .form-control:focus {
		border-color: var(--primary-brand);
		box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1); /* Soft Blue Glow */
	}

.form-floating > label {
	padding-top: 0.85rem;
	color: var(--text-muted);
}

/* Social Buttons */
.btn-social {
	background: #fff;
	border: 1px solid var(--border-color);
	color: var(--text-main);
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px;
	border-radius: 8px;
	transition: all 0.2s;
}

	.btn-social:hover {
		background-color: #f9fafb;
		border-color: #d1d5db;
	}

/* Divider Line */
.auth-divider {
	display: flex;
	align-items: center;
	text-align: center;
	margin: 24px 0;
	color: var(--text-muted);
	font-size: 0.85rem;
}

	.auth-divider::before,
	.auth-divider::after {
		content: '';
		flex: 1;
		border-bottom: 1px solid var(--border-color);
	}

	.auth-divider::before {
		margin-right: 15px;
	}

	.auth-divider::after {
		margin-left: 15px;
	}

/* Responsive */
@media (max-width: 768px) {
	.auth-visual {
		display: none !important;
	}
	/* Hide image on mobile */
	.auth-form-container {
		padding: 30px 20px;
	}
}

/* Projects Page Specific */
.filter-bar {
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	padding: 12px 20px;
	margin-bottom: 24px;
	box-shadow: var(--shadow-sm);
}

.dropdown-item.text-danger:hover {
	background-color: #fef2f2;
	color: #dc2626;
}

/* --- Wizard Steps Tracker --- */
.wizard-steps {
	display: flex;
	justify-content: space-between;
	position: relative;
	margin-bottom: 30px;
}

	.wizard-steps::before {
		content: '';
		position: absolute;
		top: 15px;
		left: 0;
		right: 0;
		height: 2px;
		background: #e5e7eb;
		z-index: 1;
	}

.step-item {
	position: relative;
	z-index: 2;
	text-align: center;
	background: var(--primary-bg);
	padding: 10px 10px;
}

.step-dot {
	width: 32px;
	height: 32px;
	background: #fff;
	border: 2px solid #e5e7eb;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 0;
	font-weight: 600;
	transition: all 0.3s;
}

.step-item.active .step-dot {
	border-color: var(--primary-brand);
	color: var(--primary-brand);
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
}

.step-item.completed .step-dot {
	background: var(--primary-brand);
	border-color: var(--primary-brand);
	color: white;
}

/* --- Dropzone Styling --- */
.upload-area {
	border: 2px dashed var(--border-color);
	border-radius: 12px;
	padding: 40px;
	text-align: center;
	background: #f9fafb;
	transition: all 0.2s;
	cursor: pointer;
}

	.upload-area:hover {
		border-color: var(--primary-brand);
		background: #eff6ff;
	}

/* --- Processing Screen Animations --- */
.processing-container {
	display: none; /* Hidden by default */
	text-align: center;
	padding: 40px 0;
}

.loader-circle {
	width: 80px;
	height: 80px;
	border: 6px solid #f3f3f3;
	border-top: 6px solid var(--primary-brand);
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin: 0 auto 20px;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.status-msg {
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--text-main);
	min-height: 1.5em;
}

/* --- Project Detail Styles --- */
.detail-header-btn {
	padding: 8px 16px;
	font-size: 0.85rem;
	font-weight: 600;
}

.summary-item {
	border-right: 1px solid var(--border-color);
}

	.summary-item:last-child {
		border-right: none;
	}

/* Simulated Blueprint Viewer */
.blueprint-viewer {
	background: #2c3e50; /* Dark background like a CAD tool */
	border-radius: 12px;
	height: 600px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	color: #fff;
}

.blueprint-placeholder {
	opacity: 0.5;
	text-align: center;
}

.blueprint-controls {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(0,0,0,0.6);
	padding: 8px 16px;
	border-radius: 50px;
	display: flex;
	gap: 15px;
	backdrop-filter: blur(5px);
}

/* Material Table Enhancements */
.table-takeoff thead th {
	background-color: #f8fafc;
	font-size: 0.75rem;
}

.qty-badge {
	background: #f1f5f9;
	padding: 4px 8px;
	border-radius: 6px;
	font-family: 'Courier New', Courier, monospace; /* Makes numbers easier to align */
	font-weight: 700;
}

/* --- Pricing Page Styles --- */
.pricing-card {
	border: 1px solid var(--border-color);
	border-radius: 20px;
	padding: 40px 30px;
	background: #fff;
	transition: all 0.3s ease;
	height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
}

	.pricing-card.featured {
		border: 2px solid var(--primary-brand);
		box-shadow: 0 20px 25px -5px rgba(37, 99, 235, 0.1);
		transform: scale(1.05);
		z-index: 2;
	}

.popular-badge {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--primary-brand);
	color: white;
	padding: 5px 15px;
	border-radius: 50px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
}

.price-amount {
	font-size: 2rem;
	font-weight: 800;
	color: var(--text-main);
	letter-spacing: -1px;
}

.price-currency {
	font-size: 1.25rem;
	vertical-align: top;
	margin-right: 4px;
	font-weight: 600;
}

.credit-count {
	background: #f1f5f9;
	padding: 4px 12px;
	border-radius: 50px;
	font-weight: 700;
	color: var(--primary-brand);
	font-size: 0.85rem;
}

.feature-list {
	list-style: none;
	padding: 0;
	margin: 30px 0;
	flex-grow: 1;
}

	.feature-list li {
		margin-bottom: 12px;
		color: var(--text-muted);
		font-size: 0.95rem;
		display: flex;
		align-items: center;
	}

		.feature-list li i {
			color: #10b981; /* Success Green */
			margin-right: 10px;
		}


/* --- Payment Page Styles --- */
.payment-method-card {
	border: 1px solid var(--border-color);
	border-radius: 12px;
	padding: 20px;
	cursor: pointer;
	transition: all 0.2s;
	position: relative;
}

	.payment-method-card:hover {
		border-color: var(--primary-brand);
		background-color: #f8faff;
	}

	.payment-method-card.active {
		border-color: var(--primary-brand);
		background-color: #eff6ff;
	}

	.payment-method-card input[type="radio"] {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
	}

.checkout-summary {
	background: #f9fafb;
	border-radius: 16px;
	padding: 24px;
	border: 1px solid var(--border-color);
}

.history-status-paid {
	background: #ecfdf5;
	color: #047857;
}

.history-status-pending {
	background: #fffbeb;
	color: #b45309;
}

/* --- Support Page Styles --- */
.support-channel-card {
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	transition: all 0.3s ease;
	height: 100%;
}

	.support-channel-card:hover {
		border-color: var(--primary-brand);
		transform: translateY(-5px);
		box-shadow: var(--shadow-sm);
	}

.support-icon-box {
	width: 50px;
	height: 50px;
	background: #eff6ff;
	color: var(--primary-brand);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	margin: 0 auto 16px;
}

/* Custom Accordion for FAQs */
.faq-accordion .accordion-item {
	border: none;
	margin-bottom: 12px;
	border-radius: 12px !important;
	overflow: hidden;
	border: 1px solid var(--border-color);
}

.faq-accordion .accordion-button {
	font-weight: 600;
	padding: 20px;
	color: var(--text-main);
	background-color: #fff;
}

	.faq-accordion .accordion-button:not(.collapsed) {
		color: var(--primary-brand);
		background-color: #f8faff;
		box-shadow: none;
	}

	.faq-accordion .accordion-button:focus {
		box-shadow: none;
	}

/* --- Settings Page Styles --- */
.settings-nav .nav-link {
	color: var(--text-muted);
	padding: 12px 20px;
	border-radius: 8px;
	font-weight: 500;
	transition: all 0.2s;
	margin-bottom: 5px;
	border: 1px solid transparent;
}

	.settings-nav .nav-link:hover {
		background-color: #f9fafb;
		color: var(--text-main);
	}

	.settings-nav .nav-link.active {
		background-color: #fff !important;
		color: var(--primary-brand) !important;
		border-color: var(--border-color);
		box-shadow: var(--shadow-sm);
	}

/* Avatar Upload Circle */
.avatar-upload {
	position: relative;
	max-width: 120px;
}

.avatar-edit {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.avatar-preview {
	width: 120px;
	height: 120px;
	border-radius: 100%;
	border: 4px solid #fff;
	box-shadow: var(--shadow-sm);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.billing-card-preview {
	background: #f8fafc;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	padding: 16px;
}
/* --- Expert Review Styles --- */
.status-timeline {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
	position: relative;
}

	.status-timeline::before {
		content: '';
		position: absolute;
		top: 15px;
		left: 0;
		right: 0;
		height: 2px;
		background: var(--border-color);
		z-index: 1;
	}

.timeline-item {
	position: relative;
	z-index: 2;
	background: var(--primary-bg);
	padding: 0 10px;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--text-muted);
	text-align: center;
}

	.timeline-item.active {
		color: var(--primary-brand);
	}

		.timeline-item.active .dot {
			background: var(--primary-brand);
			border-color: var(--primary-brand);
		}

	.timeline-item .dot {
		width: 12px;
		height: 12px;
		background: #fff;
		border: 2px solid var(--border-color);
		border-radius: 50%;
		margin: 0 auto 5px;
	}

.expert-banner {
	background: linear-gradient(90deg, #6366f1 0%, #4f46e5 100%);
	color: white;
	border-radius: 12px;
	padding: 20px 24px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.reviewed-tag {
	font-size: 0.7rem;
	background: #eef2ff;
	color: #4338ca;
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 700;
	text-transform: uppercase;
}

/* Modal Styling */
.review-option-card {
	border: 1px solid var(--border-color);
	border-radius: 12px;
	padding: 15px;
	transition: all 0.2s;
	cursor: pointer;
}

	.review-option-card:hover {
		border-color: var(--primary-brand);
		background: #f8faff;
	}

	.review-option-card input:checked + div {
		color: var(--primary-brand);
	}

/* State-specific colors */
.bg-expert {
	background: #4f46e5 !important;
}
/* Indigo */
.text-expert {
	color: #4f46e5 !important;
}

/* Timeline Completion Logic */
.timeline-item.completed .dot {
	background: #10b981;
	border-color: #10b981;
}

.timeline-item.completed {
	color: #10b981;
}

/* Expert Change Highlight */
.row-changed {
	background-color: #f5f3ff !important; /* Very light purple */
}

.diff-up {
	color: #10b981;
	font-weight: 600;
}

.diff-down {
	color: #ef4444;
	font-weight: 600;
}

/* Floating Switcher for Demo */
.demo-switcher {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 9999;
	background: #fff;
	padding: 10px;
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba(0,0,0,0.2);
	border: 1px solid #ddd;
}


/* =========================================
   SLEEK SCOPE MODAL STYLING
   ========================================= */

/* Minimalist Search Bar */
.sleek-search {
	background-color: transparent !important;
	border-bottom: 2px solid #e5e7eb !important;
	padding-bottom: 10px;
	font-size: 1.1rem;
	transition: border-color 0.2s ease;
}

	.sleek-search:focus {
		border-bottom-color: var(--primary-brand) !important;
	}

/* Minimalist Underline Tabs */
.sleek-tabs {
	border-bottom: 1px solid #e5e7eb;
}

	.sleek-tabs .nav-link {
		color: #6b7280;
		border: none;
		background: transparent;
		padding: 0.5rem 0.25rem;
		font-size: 0.95rem;
		font-weight: 500;
		border-bottom: 2px solid transparent;
		transition: all 0.2s ease;
	}

		.sleek-tabs .nav-link:hover {
			color: #111827;
		}

		.sleek-tabs .nav-link.active {
			color: var(--primary-brand) !important;
			border-bottom: 2px solid var(--primary-brand);
		}

	/* Hide scrollbar on tabs for clean mobile swiping */
	.sleek-tabs::-webkit-scrollbar {
		display: none;
	}

.sleek-tabs {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* Clean Custom Scrollbar for the Grid */
.custom-scrollbar::-webkit-scrollbar {
	width: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
	background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
	background-color: #cbd5e1;
	border-radius: 10px;
}

/* Flat, Minimalist Grid Items */
.scope-item-btn {
	cursor: pointer;
	background-color: #ffffff;
	border: 1px solid #e5e7eb !important;
	transition: all 0.2s ease;
	padding: 12px 16px !important;
	border-radius: 10px !important;
	min-height: 60px; /* Force consistent height */
	display: flex;
	align-items: center;
}

.scope-name-text {
	white-space: normal !important; /* Allow wrapping */
	line-height: 1.2;
	display: block;
	word-break: break-word; /* Break long words */
}

/* Fix for grid alignment */
.tab-content.custom-scrollbar {
	min-height: 300px !important; /* Set a consistent min-height so it doesn't jump */
	max-height: 50vh !important;
	overflow-y: auto;
}

	.scope-item-btn:hover {
		border-color: #bfdbfe !important; /* Soft blue border on hover */
		background-color: #f8fafc;
		transform: translateY(-2px);
	}

	.scope-item-btn.selected-scope {
		background-color: #eff6ff !important;
		border: 1px solid #3b82f6 !important;
	}

		.scope-item-btn.selected-scope .scope-name-text {
			color: #1e40af !important;
			font-weight: 700 !important;
		}

		.scope-item-btn.selected-scope .selected-icon {
			display: block !important;
			color: #3b82f6;
		}


/* Responsive Grid for Modal */
.scope-item-wrapper {
	width: 100%; /* Default mobile: 1 item per row */
}

@media (min-width: 576px) {
	.scope-item-wrapper {
		width: 50%; /* Tablet: 2 items per row */
	}
}

@media (min-width: 992px) {
	.scope-item-wrapper {
		width: 33.33%; /* Desktop: 3 items per row */
	}
}


/* Fix textarea height in floating labels */
.form-floating > textarea.form-control.custom-textarea {
	padding-top: 2rem !important; /* Adds space at the top */
	height: auto !important;
	min-height: 130px; /* Adjust this to match your desired rows */
}


/* 1. Force the placeholder to be visible */
.form-floating > .custom-textarea::placeholder {
	color: #9ca3af !important; /* Muted gray color */
	opacity: 1 !important;
}

/* 2. Force the label to stay at the top permanently so it doesn't overlap the placeholder */
.form-floating > .custom-textarea ~ label {
	transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem) !important;
}

