/* ============================================
   CUSTOMIZAÇÕES DE COR - AGÊNCIA POPULAR
   ============================================ */

.new-order-tab .nav-tabs .nav-link.active,
.new-order-tab .nav-tabs .nav-item.show .nav-link {
	background: linear-gradient(90deg, rgba(68, 0, 117, 1) 0%, rgba(83, 0, 45, 1) 100%) !important;
	border: none !important;
}

.sidebar .sidebar-body nav ul li a:hover,
.sidebar .sidebar-body nav ul li.active a {
	color: #53002D !important;
}

.sidebar .sidebar-body nav ul li a:hover::before,
.sidebar .sidebar-body nav ul li.active a::before {
	background: #53002D !important;
}

.btn {
	border: none !important;
	background: linear-gradient(90deg, rgba(68, 0, 117, 1) 0%, rgba(83, 0, 45, 1) 100%) !important;
}

.content-table .tab-content .table > tbody > tr > td a {
	color: #53002D !important;
}

.hero .hero-badge {
	background: linear-gradient(90deg, rgba(68, 0, 117, 1) 0%, rgba(83, 0, 45, 1) 100%) !important;
	border: none !important;
}

.hero .hero-actions .btn-primary {
	background: linear-gradient(90deg, rgba(68, 0, 117, 1) 0%, rgba(83, 0, 45, 1) 100%) !important;
}

.hero .hero-stats .stat-item .stat-number {
	color: #fff !important;
}

.about .stat-item .number {
	color: #43007A !important;
}

.about .image-wrapper .floating-card .card-content i {
	color: #43007A !important;
}

#preloader div {
	background-color: #43007A !important;
}

.section-title h2::after {
	background: #43007A !important;
}

.featured-services .services-content .subtitle {
	background-color: color-mix(in srgb, var(--accent-color), transparent 94%);
	color: #43007A !important;
}

.featured-services .services-content .btn-consultation {
	background-color: #43007A !important;
}

.featured-services .service-card:hover {
	background-color: #43007A !important;
}

/* ============================================
   LANDING PAGE - TEMPLATE PASSION
   ============================================ */

/**
 * Template Name: Passion
 * Template URL: https://bootstrapmade.com/passion-bootstrap-template/
 */

:root {
	--default-font: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--heading-font: "Barlow", sans-serif;
	--nav-font: "Inter", sans-serif;
	--background-color: #ffffff;
	--default-color: #140d1a;
	--heading-color: #0a3223;
	--accent-color: #43007A;
	--surface-color: #ffffff;
	--contrast-color: #ffffff;
	--nav-color: #ffffff;
	--nav-hover-color: #43007A;
	--nav-mobile-background-color: #ffffff;
	--nav-dropdown-background-color: #ffffff;
	--nav-dropdown-color: #14201c;
	--nav-dropdown-hover-color: #43007A;
}

.light-background {
	--background-color: #f4f9f7;
	--surface-color: #ffffff;
}

.dark-background {
	--background-color: #000704;
	--default-color: #ffffff;
	--heading-color: #ffffff;
	--surface-color: #28323a;
	--contrast-color: #ffffff;
}

:root {
	scroll-behavior: smooth;
}

.hero .hero-actions .btn-primary {
	background: var(--accent-color);
	color: var(--contrast-color);
	padding: 16px 32px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px color-mix(in srgb, var(--accent-color), transparent 60%);
}

/* ============================================
   LOGO DO HEADER - CONTROLADA VIA JS
   ============================================ */

.header a.logo.hidden {
	display: none !important;
}

/* ============================================
   SIDEBAR - CORREÇÃO DE POSICIONAMENTO
   ============================================ */

/* Evita dupla barra de rolagem no dashboard (logado).
   Usa .dashboard-logged para aplicar só quando o dashboard está presente. */
@media (min-width: 992px) {
	body.dashboard-logged {
		overflow: hidden !important;
		height: 100vh !important;
	}

	/* #page tem overflow:hidden no dashboard.css, isso impede o sidebar de sair da tela */
	#page {
		overflow: hidden !important;
		height: 100vh !important;
		display: flex !important;
	}

	/* O body-wrapper é quem deve rolar o conteúdo principal */
	.body-wrapper {
		flex: 1 !important;
		width: 0 !important;
		height: 100vh !important;
		min-height: unset !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}
}

@media (max-width: 991px) {
	/* mesmo modelo de rolagem do JAP: html/body normais, #page com overflow hidden */
	html, body.dashboard-logged { overflow: visible !important; height: auto !important; }
	#page { overflow: hidden !important; height: auto !important; min-height: 100vh !important; display: block !important; }
	.body-wrapper { flex: none !important; width: 100% !important; height: auto !important; min-height: 100vh !important; overflow: visible !important; }
	.main-wrapper > footer.footer { display: flex !important; }
}

/* main-wrapper não pode ter min-height que force scroll duplo */
.main-wrapper {
	min-height: unset !important;
}

/* Garantir que o sidebar use o viewport correto */
.sidebar {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	height: 100vh !important;
	z-index: 100 !important;
	overflow-x: hidden !important;
	max-width: 273px !important;
}

.sidebar .sidebar-body {
	overflow-x: hidden !important;
	max-width: 273px !important;
}

/* Desktop: quando recolhido, sair da tela */
@media (min-width: 992px) {
	.sidebar.active {
		left: -273px !important;
	}

	.body-wrapper {
		padding-left: 273px !important;
	}

	.body-wrapper.active {
		padding-left: 0 !important;
	}

	.body-wrapper .header {
		left: 273px !important;
	}

	.body-wrapper .header.active {
		left: 0 !important;
	}
}

/* Mobile: sidebar começa escondido, aparece com active */
@media (max-width: 991px) {
	html body #page aside.sidebar {
		left: -273px !important;
	}

	html body #page aside.sidebar.active {
		left: 0 !important;
	}

	.body-wrapper {
		padding-left: 0 !important;
	}

}

/* ============================================
   ORDER STATUS BADGES
   ============================================ */

.order-status {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: capitalize;
	white-space: nowrap;
}

.order-status--completed,
.order-status--concluído,
.order-status--concluido {
	background-color: #d4edda;
	color: #1a6b35;
}

.order-status--pending,
.order-status--pendente {
	background-color: #fff3cd;
	color: #856404;
}

.order-status--in-progress,
.order-status--em-andamento,
.order-status--processing,
.order-status--processando {
	background-color: #cce5ff;
	color: #004085;
}

.order-status--partial,
.order-status--parcial {
	background-color: #e2d9f3;
	color: #44007a;
}

.order-status--canceled,
.order-status--cancelado,
.order-status--cancelled {
	background-color: #f8d7da;
	color: #842029;
}

.order-status--refunded,
.order-status--reembolsado {
	background-color: #d1ecf1;
	color: #0c5460;
}

/* ============================================
   MODAL FIX - z-index stacking context
   ============================================ */

/* O body-wrapper cria stacking context, modal precisa ficar acima */
.modal {
	z-index: 1050 !important;
}

.modal-backdrop {
	z-index: 1040 !important;
}

.modal-dialog {
	z-index: 1060 !important;
}

/* Garante que o modal não fique preso dentro do body-wrapper */
body.modal-open .body-wrapper {
	overflow-y: hidden !important;
}

/* Força o modal a sair do stacking context do body-wrapper */
body.modal-open #page {
	overflow: visible !important;
}

body.modal-open {
	overflow: hidden !important;
}

/* ============================================
   BOTÕES FLUTUANTES
   ============================================ */

.integration-fixed {
	position: fixed !important;
	bottom: 20px !important;
	right: 20px !important;
	z-index: 2147483647 !important;
}

.integration-fixed iframe {
	pointer-events: none !important;
}


/* ===== Paginas publicas estilo JAP (Clone JustAPanel) ===== */
/* ===== Header estilo JAP - SOMENTE paginas publicas (.jap-public-nav) ===== */
.navbar.navbar-default.jap-public-nav{
    background:#e4e3e3 !important;
    border:none !important;
    border-bottom:1px solid #f2f6f9 !important;
    border-radius:0 !important;
    margin-bottom:0 !important;
    position:fixed !important;
    top:0; left:0; right:0; z-index:1000;
    min-height:111px;
    padding:0;
    box-shadow:none;
    transition:box-shadow .25s ease;
}
/* Sombra somente depois de rolar (classe adicionada pelo script.js) */
.navbar.navbar-default.jap-public-nav.is-scrolled{
    box-shadow:0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
}
/* Largura igual as secoes de conteudo (1320px) + centralizacao vertical */
.navbar.navbar-default.jap-public-nav>.container,
.navbar.navbar-default.jap-public-nav>.container-fluid{
    max-width:1320px; width:100%; margin:0 auto; padding:0 12px;
}
@media (min-width:768px){
    .navbar.navbar-default.jap-public-nav>.container,
    .navbar.navbar-default.jap-public-nav>.container-fluid{
        display:flex; align-items:center; justify-content:space-between; min-height:110px;
    }
    .navbar.navbar-default.jap-public-nav .navbar-header{ float:none; margin:0; display:flex; align-items:center; }
    .navbar.navbar-default.jap-public-nav .navbar-brand{ float:none; height:auto; padding:0; margin:0; display:flex; align-items:center; }
    .navbar.navbar-default.jap-public-nav .navbar-collapse{
        display:flex !important; align-items:center; justify-content:flex-end;
        float:none; padding:0; margin:0; border:none; box-shadow:none;
        flex:1 1 auto; max-height:none; overflow:visible;
    }
    .navbar.navbar-default.jap-public-nav .navbar-nav{ display:flex; align-items:center; float:none; margin:0; }
    .navbar.navbar-default.jap-public-nav .navbar-nav>li{ float:none; padding:0; margin:0 0 0 26px; }
    .navbar.navbar-default.jap-public-nav .navbar-nav>li:first-child{ margin-left:0; }
}
/* Botoes do menu - CSS exato do JAP (btn btn-outline-dark btn-sm) */
.navbar.navbar-default.jap-public-nav .navbar-nav>li>a{
    display:inline-block;
    border:1px solid #020e21;
    border-radius:4px;
    color:#020e21 !important;
    background:transparent !important;
    font-size:14px;
    font-weight:600;
    line-height:21px;
    padding:10px 30px;
    margin:0;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
}
.navbar.navbar-default.jap-public-nav .navbar-nav>li>a:hover,
.navbar.navbar-default.jap-public-nav .navbar-nav>li>a:focus{
    background:#020e21 !important;
    color:#fff !important;
}
/* O JAP nao usa botao ativo: todos os itens ficam iguais */
.navbar.navbar-default.jap-public-nav .navbar-nav>li.active>a,
.navbar.navbar-default.jap-public-nav .navbar-nav>li.active>a:focus{
    background:transparent !important;
    color:#020e21 !important;
}
.navbar.navbar-default.jap-public-nav .navbar-nav>li.active>a:hover{
    background:#020e21 !important;
    color:#fff !important;
}
/* Esconder seletor de idioma (site somente em portugues) */
.navbar.navbar-default.jap-public-nav .navbar-left-block{ display:none !important; }
/* Mobile: nao travar a altura do header */
@media (max-width:767px){
    /* ===== Header mobile das paginas publicas - copiado do JAP ===== */
    .navbar.navbar-default.jap-public-nav{ min-height:0; padding:0; }
    .navbar.navbar-default.jap-public-nav>.container{
        display:flex; align-items:center; min-height:71px; max-width:none; padding:0 24px;
    }
    .navbar.navbar-default.jap-public-nav .navbar-header{
        float:none; margin:0; width:100%; display:flex; align-items:center;
        position:relative; z-index:2;
    }
    .navbar.navbar-default.jap-public-nav .navbar-brand{
        float:none; order:1; height:auto; padding:0; margin:0; display:flex; align-items:center;
    }
    .navbar.navbar-default.jap-public-nav .navbar-brand img{
        max-height:46px !important; max-width:200px !important; width:auto !important; height:auto !important;
    }
    /* botao do menu: 48x36, fundo branco, borda branca, raio 4 (igual JAP) */
    .navbar.navbar-default.jap-public-nav .navbar-toggle{
        float:none; order:2; margin:0 0 0 auto; padding:6px 12px;
        width:48px; height:36px; background:#fff; border:1px solid #fff; border-radius:4px;
        display:flex; flex-direction:column; align-items:center; justify-content:center;
    }
    .navbar.navbar-default.jap-public-nav .navbar-toggle .icon-bar{
        width:20px; height:2px; border-radius:1px; background:#2c3e50; display:block;
        transition:transform .25s ease, opacity .2s ease, background .2s ease;
    }
    .navbar.navbar-default.jap-public-nav .navbar-toggle .icon-bar + .icon-bar{ margin-top:5px; }
    /* aberto: vira X sobre fundo rosa (equivalente ao laranja do JAP) */
    .navbar.navbar-default.jap-public-nav .navbar-toggle:not(.collapsed){ background:#e1306c; border-color:#e1306c; }
    .navbar.navbar-default.jap-public-nav .navbar-toggle:not(.collapsed) .icon-bar{ background:#fff; }
    .navbar.navbar-default.jap-public-nav .navbar-toggle:not(.collapsed) .icon-bar:nth-child(2){ transform:translateY(7px) rotate(45deg); }
    .navbar.navbar-default.jap-public-nav .navbar-toggle:not(.collapsed) .icon-bar:nth-child(3){ opacity:0; }
    .navbar.navbar-default.jap-public-nav .navbar-toggle:not(.collapsed) .icon-bar:nth-child(4){ transform:translateY(-7px) rotate(-45deg); }
    /* painel do menu em tela cheia (igual .mobile-menu do JAP) */
    .navbar.navbar-default.jap-public-nav .navbar-collapse{
        position:fixed; top:0; left:0; right:0; bottom:0; z-index:1;
        background:#e4e3e3; padding:100px 0 0; margin:0;
        border:none; box-shadow:none; max-height:none; overflow-y:auto;
    }
    .navbar.navbar-default.jap-public-nav .navbar-collapse.collapse:not(.in){ display:none !important; }
    .navbar.navbar-default.jap-public-nav .navbar-nav{
        float:none; width:100%; margin:0; padding:0;
        display:flex; flex-direction:column; align-items:center;
    }
    .navbar.navbar-default.jap-public-nav .navbar-nav>li{ float:none; width:200px; margin:15px 0 0; }
    .navbar.navbar-default.jap-public-nav .navbar-nav>li>a{
        display:block; width:200px; padding:10px 30px;
        border:1px solid #020e21; border-radius:4px; background:transparent;
        font-size:14px; font-weight:600; line-height:21px; color:#020e21;
        text-align:center; text-transform:uppercase;
    }
    .navbar.navbar-default.jap-public-nav .navbar-nav>li.active>a{ background:transparent; color:#020e21; border-color:#020e21; }
    .navbar.navbar-default.jap-public-nav .navbar-nav>li>a:hover,
    .navbar.navbar-default.jap-public-nav .navbar-nav>li>a:focus{ background:transparent; color:#e1306c; border-color:#e1306c; }
    .navbar.navbar-default.jap-public-nav .navbar-left-block{ display:none !important; }
}
/* Compensar header fixo nas paginas publicas (a landing usa padding proprio) */
.navbar.navbar-default.jap-public-nav ~ *{ margin-top:0; }
.jap-public-nav ~ *:not(.jap-lp){ padding-top:126px; }


/* ==============================================
   HEADER MOBILE (header-sm) - igual ao JAP
   ============================================== */
.header-sm .btn.money,
.header-sm .btn.money:hover,
.header-sm .btn.money:focus,
.header-sm .btn.money:active {
	background: none !important;
	background-image: none !important;
	background-color: transparent !important;
	border: 1px solid transparent !important;
	box-shadow: none !important;
	color: rgb(81, 92, 107) !important;
}

.header-sm .btn.money strong {
	color: rgb(81, 92, 107) !important;
}

.header-sm .logo img {
	max-width: 220px !important;
	max-height: 56px !important;
	width: auto !important;
	height: auto !important;
}

/* Icone de abrir o menu (hamburger) - o SVG do JAP tem 57x41, se limitar a largura ele fica cortado */
.header-sm .ham-icon {
	flex: 0 0 57px !important;
	width: 57px !important;
	min-width: 57px !important;
	height: 41px !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	margin-left: 16px !important;
}


/* Botoes de acao dentro das tabelas nao podem quebrar letra a letra */
.content-table .table td .btn,
.content-table .table th .btn,
.content-table .table td .badge,
.content-table .table td .label {
	white-space: nowrap !important;
}
