.login-account {
	height: 100vh;
}

.modal {
	backdrop-filter: blur(5px);
	/* Ajuste o valor para o nível de desfoque desejado */
}

#preloader {
	background-color: #212130 !important;
}

.swal2-container:not(.swal2-top-end) {
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.swal2-container.swal2-top-end {
	pointer-events: none;
	height: auto !important;
}

.swal2-container.swal2-top-end .swal2-popup {
	pointer-events: auto;
}

.grid-square {
	width: 100px;
	height: 100px;
	display: inline-block;
	background-color: #ccc;
	border: solid 1px rgb(0, 0, 0, 0.2);
	padding: 2px;
	margin: 12px;
}

/* Image dentro do quadro grid */
.grid-square img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dd {
	max-width: 100%;
}

.dataTables_empty {
	text-align: center !important;
}

.banner-preview-img {
	width: 120px;
	height: 80px;
	object-fit: cover;
	border-radius: 8px;
	border: 2px solid #dee2e6b6;
}

.banner-image-container {
	min-width: 120px;
	margin-right: 1rem;
}

.product-banner-placeholder,
.no-image-placeholder {
	width: 120px;
	height: 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #f8f9fa;
	border: 2px dashed #dee2e6b6;
	border-radius: 8px;
}

.banner-card {
	background: #fff;
	border: 1px solid #737b8533;
	border-radius: 12px;
	padding: 1.25rem;
	margin-left: 1rem;
	flex: 1;
	transition: all 0.3s ease;
}

.banner-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: #007bff;
}

.dd-item {
	margin-bottom: 1rem;
}

.dd-handle {
	background: #f8f9fa;
	border: 1px solid #dee2e6b6;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	cursor: move;
	transition: all 0.2s ease;
}

.dd-handle:hover {
	background: #e9ecef;
	border-color: #007bff;
}

.image-upload-area {
	min-height: 200px;
	transition: all 0.3s ease;
	cursor: pointer;
}

.image-upload-area:hover {
	border-color: #0056b3 !important;
	background-color: rgba(0, 123, 255, 0.05);
}

.form-step {
	min-height: 300px;
}

.empty-state-icon {
	opacity: 0.5;
}

.icon-box {
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bg-primary-light {
	background-color: rgba(0, 123, 255, 0.1) !important;
}

.bg-success-light {
	background-color: rgba(40, 167, 69, 0.1) !important;
}

.bg-warning-light {
	background-color: rgba(255, 193, 7, 0.1) !important;
}

.bg-info-light {
	background-color: rgba(23, 162, 184, 0.1) !important;
}

@media (max-width: 768px) {
	.banner-card {
		margin-left: 0.5rem;
	}

	.d-flex.align-items-start {
		flex-direction: column;
	}

	.banner-image-container {
		margin-bottom: 1rem;
		margin-right: 0;
	}
}

/* Carrossel preview de banners */
#carouselPreviewBanners .carousel-control-prev-icon,
#carouselPreviewBanners .carousel-control-next-icon {
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	padding: 1.25rem;
}

#carouselPreviewBanners .carousel-indicators button {
	background-color: rgba(0, 0, 0, 0.5);
}

#carouselPreviewBanners .carousel-item img {
	background: #f0f0f0;
}

/* Grid view dos banners */
.grid-view {
	display: flex !important;
	flex-wrap: wrap;
	gap: 1rem;
	list-style: none;
	padding: 0;
}

.grid-view .dd-item {
	width: calc(33.333% - 0.75rem);
	margin-bottom: 0;
}

.grid-view .dd-handle {
	display: none;
}

.grid-view .banner-card {
	margin-left: 0;
}

.grid-view .d-flex.align-items-start {
	flex-direction: column;
}

.grid-view .banner-image-container {
	width: 100%;
	margin-right: 0;
	margin-bottom: 0.75rem;
}

.grid-view .banner-preview-img {
	width: 100%;
	height: 150px;
}

.grid-view .product-banner-placeholder,
.grid-view .no-image-placeholder {
	width: 100%;
	height: 150px;
}

@media (max-width: 992px) {
	.grid-view .dd-item {
		width: calc(50% - 0.5rem);
	}
}

@media (max-width: 576px) {
	.grid-view .dd-item {
		width: 100%;
	}
}

/* ===================== CLIENTES ===================== */
.avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
}

.avatar-sm {
	width: 30px;
	height: 30px;
}

.avatar-xl {
	width: 80px;
	height: 80px;
}

.avatar-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-weight: 600;
	font-size: 14px;
}

.avatar-xl .avatar-title {
	font-size: 2rem;
}

.badge-sm {
	font-size: 0.75rem;
	padding: 0.25rem 0.5rem;
}

#table-clientes td {
	vertical-align: middle;
}

.widget-stat .media {
	display: flex;
	align-items: center;
}

.widget-stat .media-body h3 {
	margin-bottom: 0;
	font-weight: 700;
}

.widget-stat .media-body p {
	font-size: 14px;
	opacity: 0.9;
}

.btn-group-sm>.btn {
	padding: 0.25rem 0.5rem;
	font-size: 0.75rem;
}

.dataTables_filter {
	margin-bottom: 15px;
}

/* Formulário de Cliente */
.campo-pf.d-none,
.campo-pj.d-none,
.label-pf.d-none,
.label-pj.d-none {
	display: none !important;
}

.endereco-item {
	transition: all 0.2s ease;
}

.endereco-item:hover {
	background-color: #f8f9fa;
}

.endereco-item:last-child {
	border-bottom: none !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.form-check-inline {
	padding: 10px 20px;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.form-check-inline:hover {
	background-color: #f8f9fa;
}

.form-check-inline:has(.form-check-input:checked) {
	border-color: #0d6efd;
	background-color: #e7f1ff;
}

/* ==========================================================================
   Override global: .text-muted — Melhoria de legibilidade em ambos os temas
   ==========================================================================
   O Bootstrap define .text-muted com rgba(113,117,121, 0.75) via
   --bs-secondary-color, que fica muito apagado em light e quase
   invisível no dark (FinLab usa data-theme-version, não data-bs-theme,
   então a variável BS não muda automaticamente).
   Aqui forçamos cores sólidas e legíveis para ambos os temas.
   ========================================================================== */
.text-muted {
	color: var(--text-gray) !important;
}