.linhaLateral {
    border: 1px solid #ddd;
    border-left: 4px solid #337ab7;
    border-radius: 5px;
    padding: 10px;
    padding-bottom: 25px;
    background-color: #FFF;
}
.linhaLateral-success {
    border-left-color: #5cb85c;
}

.linhaLateral-warning {
    border-left-color: #FFA500;
}

.tituloBloco {
    color: #337ab7;
    font-weight: bold;
    margin-bottom: 15px;
}

.marb0{
    margin-bottom: 0px !important;
}

.marb0 {
    margin-bottom: 0px !important;
}

.negrito {
    font-weight: bold;
}

/* tinymce */
.mce-container.mce-menubar.mce-toolbar.mce-first{
    display: none;
}
/* .mce-branding.mce-widget.mce-label.mce-flow-layout-item.mce-last{
    display: none;
} */
.mce-statusbar.mce-container.mce-panel.mce-stack-layout-item.mce-last{
    display: none;
}
.mce-container.mce-menubar.mce-toolbar.mce-first {
    display: none;
}

/* .mce-branding.mce-widget.mce-label.mce-flow-layout-item.mce-last{
    display: none;
} */
.mce-statusbar.mce-container.mce-panel.mce-stack-layout-item.mce-last {
    display: none;
}

.tipoInputDisabled {
    font-size: 12px !important;
    width: 100%;
    border: solid 1px lightgray;
    border-radius: 3px;
    padding: 6px;
    min-height: auto !important;
    font-size: 14px;
    background: #eee !important;
    overflow-x: hidden;
    line-height: 1.4;
}
.tipoInputDisabledWhite {
    font-size: 12px !important;
    width: 100%;
    border: solid 1px lightgray;
    border-radius: 3px;
    padding: 6px;
    min-height: auto !important;
    font-size: 14px;
    background: #fff !important;
    overflow-x: hidden;
    line-height: 1.4;
}
.fullWidth{
    width: 100%;
}
.minHeigth{
    min-height:30px !important;
}
.textAreaPlaceholder{
    padding: 9px;
}
.textAreaPlaceholder::placeholder{
    padding: 5px 3px;
}
.divider{
    clear: both;
    height: 5px;
}
.divider2{
    clear: both;
    height: 10px;
}
.divider3{
    clear: both;
    height: 15px;
}
.sectionDivider{
    clear: both;
    height: 10px;
}

.lineDivider{
    width: 100%; 
    border-top: 1px solid #e5e5e5;
}

textarea {
    resize: vertical;
    border-radius: 8px;
    border: 1px solid #aaa;
}

/* Barra de progresso */
.progress-container {
    position: relative;
    width: 100px; 
    height: 16px;
    background: #eee;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.progress-bar {
    height: 100%;
    background: #337AB7;
    transition: width 0.3s ease;
}

.progress-text {
    position: absolute;
    width: 100%;
    text-align: center;
    font-size: 12px;
    color: #FFF;
}

/* Alerts */ 
.custom-alert{
    margin: 0 10px;
    padding: 18px 10px;
    border-radius: 6px;
    font-size: 13px;
}

.custom-alert-success{
    background-color: #DFF0D8;
    color: #449d44;
    border: 1px solid #449d44;
}

.custom-alert-warning{
    background-color: #FFF6E5;
    color: #EC971F;
    border: 1px solid #EC971F;
}

.custom-alert-danger{
    background-color: #F2DEDE;
    color: #A94442; 
    border: 1px solid #A94442;
}

/* Mapa */
.mapa-vazio {
    height: 220px;
    background-color: #EEEEEE;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

/* Filtros de marcação (como YouTube) */
.filter-marker{
    background-color: #f3f3f3; 
    padding: 10px 12px; 
    border-radius: 8px; 
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
}
.filter-marker-selected{
    background-color: #337AB7; 
    color: #fff;
    padding: 10px 12px; 
    border-radius: 8px; 
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn{
    border-radius: 8px;
}
.form-control{
    border-radius: 8px !important;
} 
.tipoinput{
    border-radius: 8px !important;
}
textarea{
    border-radius: 8px !important;
}
select{
    border-radius: 8px !important;
} 

.attachment-block{
    position: relative; 
    height: 180px; 
    border: 1px solid #ccc; 
    border-radius: 8px;
}

.attachment-img{
    width: 100%; 
    height: 100%; 
    background-size: cover; 
    background-position: center; 
    background-repeat: no-repeat; 
    border-radius: 8px;
}

.center-content{
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    width: 100%; 
    height: 100%;
}

/* Esconde o botão de fechar do infoWindow do Google Maps */
.gm-ui-hover-effect {
    display: none !important;
}

.mapaMenuFiltros {
    background-color: #283847; 
    padding: 16px;
    color: #FFF;    
}

/** Select MultiSelect Dropdown **/
/* Ajusta a aparência do dropdown */
.multiselect-container {
    width: 100% !important;
    max-height: 200px;
    overflow-y: auto;
    border-radius: 8px;
    /* padding: 12px 0; */
}

/* Ajusta o botão do dropdown */
.btn-group .multiselect {
    color: #333 !important;
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    padding: 8px 12px;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

/* Mantém o placeholder alinhado corretamente */
.btn-group .multiselect .multiselect-selected-text {
    flex-grow: 1;
}

/* Estiliza o campo de busca dentro do dropdown */
.multiselect-container .multiselect-search {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-bottom: 5px;
    font-size: 12px;
}

/* Remove borda azul ao focar */
.btn-group .multiselect:focus,
.btn-group .multiselect:hover {
    outline: none;
    border-color: #f00;
}

/* Garante que cada item do dropdown ocupe toda a linha e seja clicável */
.multiselect-container .dropdown-item {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    cursor: pointer;
    position: relative;
}

/* Ajusta o label para garantir que o clique funcione em toda a linha */
.multiselect-container label {
    display: flex !important;
    align-items: center;
    width: 100%;
    padding: 10px 15px; 
    margin: 0 !important;
    cursor: pointer;
}

/* Aumenta a área de clique do checkbox */
.multiselect-container input[type="checkbox"] {
    margin-right: 8px;
    transform: scale(1.2);
    cursor: pointer;    
    top: -2px;
}

/* Ajusta o tamanho da fonte dos itens selecionados dentro do botão */
.btn-group .multiselect .multiselect-selected-text {
    font-size: 12px !important;
}

.multiselect-dropdown {
    display: none;
}

.setAddressToMap{
    position: absolute;
    top: 18px;
    right: 11px;
    background-color: #5cb85c;
    color: #FFF;
    cursor: pointer;
    text-align: center;
    border-radius: 0px 8px 8px 0px;
    padding: 9px 9px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn-filter{
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px !important;
}

/* Leaflet */ 
.leaflet-control-zoom {
  border: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  border-radius: 8px !important;
  overflow: hidden;
}

.leaflet-control-zoom a:first-child {
    border-bottom: none;    
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.leaflet-control-zoom a:last-child {
    border-bottom: none;    
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.leaflet-control-zoom a:hover {
  background-color: #f0f0f0 !important;
}

//? Cadastrohabitacional - área de risco
 @media (max-width: 767px) { /* celulares */
    .grid-situacao-area {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }

  @media (min-width: 768px) and (max-width: 1366px) { /* monitores menores (~14") */
    .grid-situacao-area {
      grid-template-columns: repeat(4, 1fr) !important;
    }
  }

  @media (min-width: 1367px) { /* monitores maiores */
    .grid-situacao-area {
      grid-template-columns: repeat(5, 1fr) !important;
    }
  }

/* Foto cadastrohab */
/* CARD */
.photo-capture-card {
  border-radius: 12px;
  overflow: hidden;
  background: #EEEEEE;
  border: 1px solid #e0e3eb;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* ÁREA PRINCIPAL */
.media-area {
  position: relative;
  width: 100%;
  height: 209px;
  background: #EEEEEE;
  cursor: pointer;
  overflow: hidden;
}

.media-area video,
.media-area img {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

/* PLACEHOLDER */
.placeholder-area {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #aab0bf;
  pointer-events: none;
}

.placeholder-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: #dde1ea;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  font-size: 26px;
  color: #9aa0b2;
}

.placeholder-label {
  font-size: 14px;
  /* font-weight: 600; */
  letter-spacing: 0.3px;
}

/* OVERLAY GERAL */
.overlay-controls {
  position: absolute;
  bottom: 0; top: 0; right: 0;
  padding: 14px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(0,0,0,0.4);
}

.overlay-photo{
    top: 0;
}

.camera-hint {
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  color: rgba(255,255,255,0.85);
  background: rgba(0,0,0,0.35);
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  pointer-events: none;
}

/* BOTÃO CAPTURAR (principal — maior) */
.btn-capture {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #ffffff;
  border: 3px solid rgba(255,255,255,0.6);
  color: #222;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,0.25);
  transition: transform 0.15s, box-shadow 0.15s;
  position: relative;
}
.btn-capture:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(0,0,0,0.35);
}
.btn-capture:active {
  transform: scale(0.96);
}

/* BOTÃO CANCELAR */
.btn-cancel {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  border: 1.5px solid rgba(255,255,255,0.5);
  color: #fff;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
}
.btn-cancel:hover { background: rgba(255,60,60,0.5); }

/* BOTÕES DE AÇÃO (refazer / excluir) */
.btn-action {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: none;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s, opacity 0.15s;
  opacity: 0.92;
}
.btn-action:hover { transform: scale(1.1); opacity: 1; }

.btn-save { background: #5cb85c; color: #fff; }
.btn-retake { background: #f0a500; color: #fff; }
.btn-remove { background: #e33; color: #fff; }

/* BLINK no ícone de câmera ativa */
.blink { animation: blink 1.1s infinite; }
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}