/*
  c:/laragon/www/servicos/external/css/padroes.css

*/

/*===============================================================================
COMPONENTES HTML
===============================================================================*/
a{
  text-decoration: none; 
}

/*===============================================================================
CORES PADRONIZADAS
================================================================================*/
.darkblue{background-color: darkblue;}
.blue{background-color: blue;}

.azul{color:#2b69c0;}
.verde{color:#00ff00;}
.branco{color:#FFF;}
.preto{color:#000;}
.vermelho{color:#F00}
.branco{color: white;}
.silver{color:silver;}

.bluelight{background-color: #2b69c0;}

/*===============================================================================
CABEÇALHOS COLORIDOS DOS PAINÉIS DO WIZARD (maiores em PC)
===============================================================================*/
@media (min-width: 768px) {
    .wizard-panel-content > .br-card > .card-header {
        font-size: 1.25rem;
        padding: 0.75rem 1.25rem;
    }
    .wizard-panel-content > .br-card > .card-header > strong {
        font-size: 1.25rem;
    }
}


.bg-verde{background-color: #537c53;}
.bg-lima{background-color: #c6e2c6;}
.bg-aco{background-color: #d6d6d6;}
.bg-laranja-claro{background-color: #f1cfac;}



.azul-claro{color:#789dd1;}
.bg-white{background-color: white;}


.font-blue{color:#2b69c0;}
.font-black{color:#000;}
.font-red{color:#F00}

/*===============================================================================
CORES GRADIENTES
===============================================================================*/
.grad-blue-blulight {
  background-image: linear-gradient(to right, #1855b6 , #6793d2);
}

/*===============================================================================
POSICIONAMENTOS
===============================================================================*/
.sidebyside{
    display: flex;
    flex-direction: row;
}
/*===============================================================================
ESPAÇAMENTOS E MARGENS
===============================================================================*/
/*PADDINGS*/
.pdd-0{padding: 0;}
.pdd-5{padding: 5px;}
.pdd-10{padding: 10px;}
.pdd-15{padding: 15px;}
.pdd-20{padding: 20px;}
.pdd-25{padding: 25px;}
.pdd-30{padding: 30px;}
.pdd-35{padding: 35px;}
.pdd-40{padding: 40px;}
.pdd-45{padding: 45px;}
.pdd-bottom-0{padding-bottom: 0;}
.pdd-bottom-15{padding-bottom: 15px;}
.pdd-bottom-20{padding-bottom: 20px;}
.pdd-bottom-25{padding-bottom: 25px;}
.pdd-bottom-30{padding-bottom: 30px;}
.pdd-bottom-35{padding-bottom: 35px;}
.pdd-bottom-40{padding-bottom: 40px;}
.pdd-bottom-45{padding-bottom: 45px;}

.pdd-top-0{padding-top: 0;}
.pdd-top-15{padding-top: 15px;}
.pdd-top-20{padding-top: 20px;}
.pdd-top-25{padding-top: 25px;}
.pdd-top-30{padding-top: 30px;}
.pdd-top-35{padding-top: 35px;}
.pdd-top-40{padding-top: 40px;}
.pdd-top-45{padding-top: 45px;}


/*MARGINS*/
.mrg-0{margin: 0;}
.mrg-5{margin: 5px;}
.mrg-10{margin: 10px;}
.mrg-15{margin: 15px;}
.mrg-20{margin: 20px;}
.mrg-25{margin: 25px;}
.mrg-30{margin: 30px;}
.mrg-35{margin: 35px;}
.mrg-40{margin: 40px;}
.mrg-45{margin: 45px;}

.mrg-top{margin-top: 0px;}
.mrg-top-10{margin-top: 10px;}
.mrg-top-15{margin-top: 15px;}
.mrg-top-20{margin-top: 20px;}
.mrg-top-25{margin-top: 25px;}
.mrg-top-30{margin-top: 30px;}

.mrg-bottom{margin-bottom: 0px;}
.mrg-bottom-10{margin-bottom: 10px;}
.mrg-bottom-15{margin-bottom: 15px;}
.mrg-bottom-20{margin-bottom: 20px;}
.mrg-bottom-25{margin-bottom: 25px;}
.mrg-bottom-30{margin-bottom: 30px;}

.mrg-right-10{margin-bottom: 10px;}

.no-border-bottom{border-bottom: none;}
.border-bottom{border-bottom: 1px solid #CCC;}

/*===============================================================================
TAMANHOS DE FONTES
===============================================================================*/
.font-10{font-size: 10px;}
.font-12{font-size: 12px;}
.font-14{font-size: 14px;}
.font-16{font-size: 16px;}
.font-18{font-size: 18px;}
.font-20{font-size: 20px;}
.font-22{font-size: 22px;}
.font-24{font-size: 24px;}
.font-26{font-size: 26px;}
.font-28{font-size: 28px;}
.font-30{font-size: 30px;}
.font-32{font-size: 32px;}
.font-34{font-size: 34px;}
.font-36{font-size: 36px;}
.font-38{font-size: 38px;}
.font-40{font-size: 40px;}
.font-42{font-size: 42px;}
.font-44{font-size: 44px;}

.font-em-2{font-size: 2em;}
.font-em-4{font-size: 4em;}

.pointer{
  cursor: pointer;
}

.area-alertas{
  height: 12%;
}
/*===============================================================================
ALINHAMENTO DE TEXTOS
===============================================================================*/
.ta-left{
  text-align:left;
}
.ta-right{
  text-align:right;
}
.ta-center{
  text-align:center;
}
.ta-just{
  text-align:justify;
}
.border{
  border: 1px solid #dddddd;
}

/*===============================================================================
PARAGRAFOS
===============================================================================*/
.paragrafo{
  text-align: justify;
  text-indent:2em;
}
.paragrafo:first-letter{
  font-weight: bold;
}
.paragrafo-primeira-letra-grande{
  text-align: justify;
}
.paragrafo-primeira-letra-grande:first-letter{
    font-size: 3rem;
    font-weight: bold;
    color: #000;
    float: left;
    line-height: 1;
    padding-top: 0.1em;
    padding-right: 0.05em;
    padding-bottom: 0.1em;
    padding-left: 0.05em;
  
}

/*===============================================================================
BORDAS
===============================================================================*/ 
.no-border{
      border: none;
 }
 .border-white-top{
     border-top: 1px solid white;
 }
 .border-white-bottom{
  border-bottom: 1px solid white;
}
.border-silver-bottom{
  border-bottom: 1px solid #dddddd;
}

.border-white-left{
  border-left: 1px solid white;
}
.border-white-right{
  border-right: 1px solid white;
}
.border-white{
  border: 1px solid white;
}

 /*===================================================================================
 BLOCOS DE CONSTRUÇÃO
 ===================================================================================*/
 
 .bloco-central{
    height:400px;
 }


.icone-search{
  margin-left: -40px;
}

.centra-vertical{
	display: flex;
	justify-content: center;
	flex-direction: column;
	height: inherit;
}
.centra-horizontal{
	display: flex;
	justify-content: center;
	flex-direction: row;
	/*height: inherit;*/
}
.centrado{
	margin: 0 auto;	
}

  .chanfrado{
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
  }
  .chanfrado-topo{
    -webkit-border-top-left-radius: 10px;
    -webkit-border-top-right-radius: 10px;
    -moz-border-radius-topleft: 10px;
    -moz-border-radius-topright: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;

  }
  .arredondado{
    -webkit-border-radius: 70px;
    -moz-border-radius: 70px;
    border-radius: 70px;
  }
  .card ul li{
    list-style:disc;
    margin-left: 20px;
    text-indent: 0.5em;
  }
  .card ul ul li{
    list-style:circle;
    margin-left: 40px;
    text-indent: 0.5em;
  }

  
  select {
    appearance: none; /* Remove o estilo padrão do navegador */
    -webkit-appearance: none; /* Para navegadores Webkit */
    -moz-appearance: none; /* Para navegadores Firefox */
    background-color: #ffffff; /* Cor de fundo cinza claro, similar ao gov.br */
    border: 1px solid #747575; /* Borda azul padrão gov.br */
    border-radius: 4px; /* Arredonda as bordas */
    color: #212529; /* Texto em preto */
    font-size: 16px; /* Tamanho da fonte */
    padding: 10px 40px 10px 15px; /* Espaçamento interno */
    width: 100%; /* Ocupa todo o espaço do container */
    height: 45px; /* Altura fixa */
    cursor: pointer; /* Cursor de ponteiro para interação */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="%23007bff" d="M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0L160 284.1l96.5-96.3c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 0z"/></svg>'); /* Seta similar ao Font Awesome */
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 12px;
}

/* Remove o outline padrão ao focar */
select:focus {
    outline: none;
    border-color: #0056b3; /* Cor de foco da borda */
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); /* Adiciona um efeito de foco similar ao gov.br */
}
select:hover{
  background-color: #d4d3d3; /* Cor de fundo cinza claro, similar ao gov.br */
}
select option {
    background-color: #ffffff; /* Cor de fundo cinza claro, similar ao gov.br */
    width:100%;
    color: #212529; /* Texto em preto */
    font-size: 14px; /* Tamanho da fonte */
    padding: 0; /* Espaçamento interno */
    cursor: pointer; /* Cursor de ponteiro para interação */
}
.select option:hover {
  background-color: #ffffff; /* Cor de fundo cinza claro, similar ao gov.br */
}

/* ========================================================================
   MENU LATERAL COM BORDAS, SOMBRA E TRANSICAO SUAVE
   ======================================================================== */

/* Painel do menu lateral */
.br-menu.push .menu-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  max-width: 85vw;
  height: 100vh;
  z-index: calc(var(--menu-zindex) + 2);
  background: var(--background, #fff);
  border-radius: 0 16px 16px 0;
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  overflow-x: hidden;
}

/* Menu ativo: painel visível */
.br-menu.push.active .menu-panel {
  transform: translateX(0);
}

/* Scrim (fundo escurecido) com transição */
.br-menu.push .menu-scrim {
  position: fixed;
  inset: 0;
  z-index: calc(var(--menu-zindex) + 1);
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

/* Menu ativo: scrim visível */
.br-menu.push.active .menu-scrim {
  opacity: 1;
  visibility: visible;
}

/* Empurra o conteúdo principal suavemente */
body.menu-lateral-aberto .template-base {
  transform: translateX(260px);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

body:not(.menu-lateral-aberto) .template-base {
  transform: translateX(0);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* HEADER permanece fixo — não acompanha o deslocamento */

/* Botão flutuante para abrir o menu (visível quando menu fechado) */
.menu-float-trigger {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: calc(var(--z-index-layer-2, 100));
  transition: opacity 0.3s ease, transform 0.3s ease;
}

body.menu-lateral-aberto .menu-float-trigger {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-20px);
}

body:not(.menu-lateral-aberto) .menu-float-trigger {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

/* Bordas arredondadas no topo do menu */
.br-menu.push .menu-panel .menu-header {
  border-radius: 0 16px 0 0;
  display: flex;
  align-items: center;
  gap: var(--spacing-scale-base);
}

/* Item do menu com bordas arredondadas sutis */
.br-menu.push .menu-panel .menu-item {
  border-radius: 0 8px 8px 0;
  margin-right: 8px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Fechar botão estilizado */
.br-menu.push .menu-panel .menu-close button {
  border-radius: 50%;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.br-menu.push .menu-panel .menu-close button:hover {
  background-color: var(--gray-2, #f0f0f0);
  transform: rotate(90deg);
}

/* Responsivo: empurra menos em telas pequenas */
@media (max-width: 768px) {
  body.menu-lateral-aberto .template-base {
    transform: translateX(220px);
  }
  .br-menu.push .menu-panel {
    width: 240px;
    border-radius: 0 12px 12px 0;
  }
  .br-menu.push .menu-panel .menu-header {
    border-radius: 0 12px 0 0;
  }
}

/* Scrim em mobile não empurra conteúdo, apenas cobre */
@media (max-width: 576px) {
  body.menu-lateral-aberto .template-base {
    transform: translateX(0);
  }
  .br-menu.push .menu-panel {
    width: 260px;
    border-radius: 0 12px 12px 0;
  }
  .br-menu.push .menu-panel .menu-header {
    border-radius: 0 12px 0 0;
  }
}

.errorMensagem{
  color:red;
  font-size: 16px;
  font-weight:bold;
  text-align: left;
}



/*===============================================================================
  WIZARD MOBILE (Smartphone)
  ===============================================================================*/
@media (max-width: 767.98px) {
  /* Force override de grid para flex em mobile */
  .br-wizard .wizard-progress,
  .br-wizard[collapsed] .wizard-progress {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    max-height: none !important;
    padding-top: 16px !important;
    grid-template-columns: none !important;
  }

  .br-wizard .wizard-progress-btn {
    width: 100% !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    min-height: auto !important;
    max-height: none !important;
    text-align: center !important;
  }

  .br-wizard .wizard-form {
    padding: 0 !important;
    margin-top: 0 !important;
  }

  .br-wizard .wizard-panel {
    padding: 0 !important;
    min-height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
  }

  .br-wizard .wizard-panel-content {
    padding: 8px !important;
    min-height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
  }

  /* Campos internos do wizard */
  .br-wizard .wizard-panel-content .row .br-input input,
  .br-wizard .wizard-panel-content .row select.form-control,
  .br-wizard .wizard-panel-content .row .br-radio,
  .br-wizard .wizard-panel-content .row .br-checkgroup {
    font-size: 16px !important; /* Evita zoom do iOS */
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
  }

  .br-wizard .wizard-panel-content .row label {
    font-size: 14px !important;
    margin-bottom: 4px !important;
    display: block !important;
  }

  /* Botões inferiores do wizard */
  .br-wizard .wizard-panel-btn {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 16px !important;
    padding: 0 8px !important;
  }

  .br-wizard .wizard-panel-btn .br-button {
    width: 100% !important;
    margin: 0 !important;
  }

  /* Espaçamento vertical das linhas de campos */
  .br-wizard .wizard-panel-content .row {
    margin-bottom: 0 !important;
    padding: 0 4px !important;
  }

  .br-wizard .wizard-panel-content .col-sm-12,
  .br-wizard .wizard-panel-content .col-lg-2,
  .br-wizard .wizard-panel-content .col-lg-3,
  .br-wizard .wizard-panel-content .col-lg-4,
  .br-wizard .wizard-panel-content .col-lg-6,
  .br-wizard .wizard-panel-content .col-lg-8 {
    width: 100% !important;
    padding: 0 4px !important;
    margin-bottom: 8px !important;
  }

  /* Ajuste do breadcrumb */
  .br-breadcrumb .crumb-list {
    flex-wrap: wrap !important;
    gap: 4px !important;
  }

  /* Ajuste dos checkgroups */
  .br-wizard .br-checkgroup {
    flex-direction: column !important;
    gap: 4px !important;
  }

  /* Título do painel */
  .br-wizard .wizard-panel-content legend {
    font-size: 1.1rem !important;
  }

  /* WIZARD MOBILE: Botões de progresso com círculo ao lado esquerdo do título */
  .br-wizard .wizard-progress-btn {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    padding-left: 12px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    text-align: left !important;
    max-height: none !important;
    min-height: auto !important;
    position: relative !important;
  }

  /* Remove linha horizontal entre steps */
  .br-wizard .wizard-progress-btn::after {
    display: none !important;
  }

  /* Círculo do número: posição estática à esquerda */
  .br-wizard .wizard-progress-btn::before {
    position: static !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 1 !important;
    font-size: 14px !important;
  }

}

/* Corrige clique em botões com ícones (filhos não interceptam o evento) */
.br-wizard .wizard-btn-next i,
.br-wizard .wizard-btn-prev i {
  pointer-events: none !important;
}

/* Ajustes de responsividade */
@media (max-width: 768px) {
  select {
      font-size: 14px; /* Ajusta o tamanho da fonte em telas menores */
      padding: 8px 35px 8px 15px; /* Ajusta o padding para telas menores */
  }
}