/* *** CSS para Items do Menu Avisos *** */

@media only screen and (min-width : 1024px){
    .mt-03{
        margin-top: 3px;
    }

    .pos-filtro {
        margin-left: -30px;
    }

    .btn-search {
        width: 180px;
        justify-content: center;
        margin-top: 30px;
    }

    .btn-aviso{
      width: 180px;
    }

    .mb-search {
        margin-bottom: 30px;
    }

    .aviso-box-mobile{
        display: none;
    }
}

.calendar-feature .ui-datepicker-trigger{
    right: 20px !important;
    width: 20px !important;
    height: 20px !important;
}

.image-card {
    padding: 2px;
    float: left;
    border-radius: 10px;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.img-notification-preview {
    width: 30px;
    height: 30px;
    border-radius: 5px;
    object-fit: cover;
}


.img-read {
    float: right;
}

.card-height {
    height: auto;
    min-height: 400px;
}

.notif-modal-img {
    border-left: 1px solid #eee;    
    padding: 10px 20px;
}

.img-notification-view {
    width: 100%;
    height: auto;
}

.cs--avisos {
  margin: 19px 0;
	padding: 5px 10px !important;
  justify-content: center !important;
}

.texto-aviso {
	height: 65%;
}

.truncate {
  display: -webkit-box;
  -webkit-line-clamp: 1; /* nº de linhas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 1.5em; /* ajusta conforme a fonte */
}

.data-aviso-area {
    color: #1F1F1F;
    width: 150px;
    align-self: center;
    font-size: 14px;
    letter-spacing: 0px;
    justify-content: center;
    display: flex;
}

.data-aviso-area-nao-lido{
    font-weight: 700;
}

.data-aviso-area-1 {
    color: #1F1F1F;
    width: 100%;
    align-self: center;
    font-size: 14px;
    letter-spacing: 0px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.texto-comunicado{
    color: #195588;
    width: 200px;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0px;
    justify-content: center;
    align-items: center;
    display: flex;
    font-weight: 400;
    cursor: pointer;
}

.texto-comunicado p {
    margin: 0 5px !important;
}

.ciente-aviso-area {
	border: solid 1px #4cae4c;
    width: 130px;
    padding: 3px;
    border-radius: 6px;
    background: #4cae4c;
    color: white;
    justify-content: center;
    display: flex;
    float: left;
}

.ciente-ocorrencia-area {
	border: solid 1px #4cae4c;
    width: 130px;
    padding: 3px;
    border-radius: 6px;
    background: #4cae4c;
    color: white;
}

.texto-lido {
    font-weight: normal !important;
}

.aviso-box{
    display: flex;
    align-items: center;
    padding-left: 26px;
}

.aviso-no-img {
    height: 100px;
}

.aviso-box-no-img {
    padding-left: 40px;
}

.right-box {
    display: flex;
    gap: 15px;
}

.mb-100 {
    margin-bottom: 100px;
}

.pad-0 {
  padding: 0;
}

.input-icon-wrapper input::placeholder{
  font-size: 10px;
}

.input-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.input-icon-wrapper input {
    width: 100%;
    padding-right: 35px; /* deixa espaço pro ícone */
}

.input-icon-wrapper .fa-calendar {
    position: absolute;
    right: 10px;
    font-size: 15px;
    color: #003366;   /* cor do ícone */
    pointer-events: none; /* evita que clique no ícone bloqueie o input */
    z-index: 99;
}

.chat-icon-wrapper {
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-color: #EAF2FF;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-icon-wrapper img{
  width: 13px;
}

.notification-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 18px;
    height: 18px;
    background-color: red;
    color: white;
    font-size: 11px;
    font-weight: bold;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 2px #fff;
}

.botoes-aviso{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 19px;
}

.bt-aviso{
    margin: 5px 0;
    border: none;
    background: none;
    color: #003366;
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0px;
}

.btn-aviso {
  border-radius: 4px !important;
  width: 100%;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
}

.bt-cancel{
  background: none;
  color: #003366;
}

.btn-actions-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 20px;
}

.modal-footer-actions {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;

  background-color: #E0EEFF;
  padding: 10px 0;
  border-top: 1px solid #ccc;
}


.bt-marcar-todos-aviso{
    background: none;
    color: #003366;
    margin: 5px 0;
    border: #004AB1 1px solid;
    border-radius: 5px;
    padding: 8px 24px;
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0px;
    gap: 10px;
    vertical-align: middle;
}

.bt-marcar-todos-aviso:hover {
    background: #e1eeff;
    transition: all ease 0.4s;
}

.texto-nao-lido {
    font-weight: 700 !important;
    color: #1F1F1F !important;
}

.card-shadow.cs--avisos.click{
    cursor: default !important;
}

.modal-aluno-aviso-detalhe-view, .modal-novo-atendimento-aviso-view{
    top: 0!important;
    right: 0;
    left: auto;
    height: 100dvh !important;
    width: 50vw;
    color: #1F1F1F;
  }
  
  .aviso-conteudo{
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border-radius: 6px;
    box-shadow: none !important;
  }

  .header-modal-aviso{
    background-color: #FFFFFF;
    color: #1F1F1F;
    flex-direction: column;
    padding: 0 15px;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    max-height: 150px;
  }
  
  .header-titulo-aviso {
    width: 95%;
  }

  .header-titulo-aviso h1{
   font-weight: 700;
   font-size: 18px !important;
   line-height: 24px;
   letter-spacing: 0px;
   vertical-align: middle;
  }
  
  .header-info-aviso p,
  .header-info-aviso span {
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0px;
    margin-bottom: 0px;
    vertical-align: middle;
    font-size: 12px;
  }
  
  .header-info-aviso span {
    background-color: #D9E4FF;
    text-align: center;
    align-content: center;
    width: 71px;
    height: 25px;
    border-radius: 5px;
  }

.header-info-aviso {
  display: flex !important;
  gap: 10px;
  align-items: center;
  text-align: left !important;
  margin-top: 8px;
  border-bottom: 1px solid #ccc;
  padding: 15px 0;
  background-color: #FFFFFF;
}

.header-info-aviso .aviso-meta{
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}

.modal-aluno-aviso-detalhe-view .card-height {
  min-height: 0 !important;
  height: fit-content !important;
  overflow-y: hidden !important;
  overflow-x: hidden !important;
}

.modal-aluno-aviso-detalhe-view .col-md-6 {
  width: 100% !important;
  max-width: 100% !important;
}

.div-load-imagens {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 200px;
}
.div-load-imagens img {
  width: 48px;
  height: 48px;
}

.content-modal.aviso {
  display: flex;
  flex-direction: column;
  max-height: calc(100% - 140px);
  top: 120px;
}

.text-center {
    text-align: center;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.canal-wrapper {
    width: 100%;
    display: block;
    justify-content: center;
    margin-top: 30px;
}

.canal-box {
    gap: 10px;
    border: 1px solid #CDCDCD;
    border-radius: 6px;
    padding: 6px;
}

.canal-nome {
    margin: 0;
}

.galeria-container{
  margin-top: 10px;
}

.galeria-wrapper {
  position: relative;
  width: 100%; 
  margin: 0 auto;
  display: flex;
  align-items: center;
  overflow: visible;
}

.carousel-container {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

.carrossel {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch !important;
  gap: 10px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 56px;
  flex: 1;
}

.img-carrossel {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 5px;
  display: block;
}

/* remove a barra cinza de rolagem do Chrome */
.carrossel::-webkit-scrollbar { 
    display: none; 
}

/* remove a barra cinza de rolagem do Firefox e demais browsers */
.carrossel { 
    scrollbar-width: none; 
    -ms-overflow-style: none; 
}

.slide {
  flex: 0 0 auto;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  width: 150px;
  cursor: pointer;
  border-radius: 5px;
}

.nav-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  color: #004AB1;
  font-size: 20px;
  cursor: pointer;
  transition: background-color 0.2s;
  border-radius: 50%;
}

.btn-aviso-collapse i {
  font-size: 30px;
  color: #000000;
}

.btn-aviso-collapse {
  padding: 15px !important;
  border-bottom: solid #CCCCCC 0.5px !important;
}

/* Botões com posição */
.nav-btn.esquerda {left: 10px;}

.nav-btn.direita {right: 10px;}

/* Hover do botão */
.nav-btn:hover {
    background-color: #004AB1 !important;
    color: #ffffff !important;
}

.nav-btn.esquerda i {
  transform: translateX(-2px);
}

.nav-btn.direita i {
  transform: translateX(2px);
}

.touch-aviso li,
.touch-aviso img,
.touch-aviso font,
.touch-aviso font img {
  pointer-events: none !important;
  touch-action: manipulation !important;
}

.aviso-html-render ul {
  list-style-type: disc !important;
}

.aviso-html-render ol {
  list-style-type: decimal !important;
}

.aviso-html-render{
  padding: 0 5px !important;
  font-style: normal;
  font-size: 14px;
  line-height: 22px;
  min-width: 185px;
}

.center-text-container {
  display: flex;
  justify-content: center;
}

.lightbox {
  position: fixed;
  width: 100vw; 
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  z-index: 9999999999;
  padding: 0 20px;
  box-sizing: border-box;
}

.btns-img{
  position: absolute;
  top: calc((100vh - 90vh) / 2);
  padding: 0 20px;
  width: 100%;
  height: 32px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  background: transparent;
}

.btns-img button{
  background: transparent;
  border: none;
  width: 32px;
  height: 32px;
  cursor: pointer;
  text-align: center;
}

.btns-img i{color: #fff;}

.download-img i{
  font-size: 20px;
  transform: translateY(2px);
}

.fechar-img {
  float: right;
  font-size: 24px;
}

.lightbox-content {
  position: relative;
  width: 100%;
  height: 80%;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

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

.img-lightbox {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}
.nav-btn-lightbox {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  color: #FFFFFF;
  font-size: 20px;
  cursor: pointer;
  border: 4px solid #FFFFFF;
  opacity: 0.6;
  border-radius: 50%;
  z-index: 10000;
}

.nav-btn-lightbox.esquerda {
  left: 80px;
}

.nav-btn-lightbox.direita {
  right: 80px;
}

.nav-btn-lightbox.esquerda i {
  transform: translateX(-2px);
}

.nav-btn-lightbox.direita i {
  transform: translateX(2px);
}

.aviso-collapse {
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-action{
    display: flex;
    justify-content: center;
    align-items: center;
}

/* AREA MOBILE */

@media only screen and (max-width: 1200px) {
  .search-box{
    margin-bottom: 20px;
  }

  .aviso-collapse{
    padding: 20px !important;
    display: block;
  }

  .btn-action{
    width: 50%;
  }

  .btn-actions-container {
    border-top: 0.5px solid #ccc;
    padding: 15px;
  }

}


@media only screen and (max-width: 1024px) {
  .aviso-box-mobile{
    display: none;
  }
}

@media only screen and (max-width: 853px){
    .image-card {
        position: relative;        
    }

    .aviso-box {
        display: none;
    }

    .aviso-box-mobile{
        display: flex;
        flex-direction: column;
        padding: 0 !important;
    }

    .card-info-aviso-mobile{
        border-bottom: 1px solid #ccc;
        display: flex;
        align-items: center;
        text-align: center;
        padding: 10px 0;
    }

    .card-info-aviso-mobile .texto-aviso p {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100px;
        text-align: justify;
    }

    .texto-comunicado {
       margin: auto;
       padding: 10px 0;
    }

    .mobile-dc {
        display: contents;
    }

    p.card-value {
        min-width: 185px;
    }
    
    .img-read {
        float: right;
        width: 25px;
    }
    
    .card-height {
        height: auto;
        min-height: 300px;
    }
    
    .notif-modal-img {
        border-left: 1px solid #eee;    
        padding: 10px 20px;
    }
    
    .img-notification-view {
        width: 100%;
        height: auto;
    }

    .img-notification-preview {
        width: 40px;
        height: 40px;
    }
    
    .cs--avisos {
        padding: 20px !important;
    }
    
    .texto-aviso {
        height: 65%;
    }
    
    .data-aviso-area {
        width: auto;
        margin-left: 10px;
        float: left;
        margin-top: -20px;
    }

    .btn-search {
        width: 100%;
        margin: 0px 0px 30px 0px;
        justify-content: center;
    }

    .btn-aviso{
      margin: 0px 0px 30px 0px;
    }

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

    .aviso-no-img {
        height: 130px;
    }

    .right-box {
        margin-top: 20px;
    }

    .botoes-aviso{
        flex-direction: column;
        flex-direction: column-reverse;
        align-items: normal;
    }

    .modal-aluno-aviso-detalhe-view{
        top: 5% !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 8px 8px 0px 0px;
    }

    .header-modal-aviso h1{
        width: 90%;
    }

    .fechar-img{
       font-size: 18px;
    }

    .download-img i{
      font-size: 14px;
      transform: translateY(1px);
    }


    .lightbox-content {
        max-width: 95vw;
        border-radius: 4px;
    }

    .lightbox-slide {
        width: 85%;
    }

    .img-lightbox {
        border-radius: 4px;
    }

    .nav-btn-lightbox{
        width: 20px;
        height: 20px;
        font-size: 10px;
        border: 2px solid;
        line-height: 1;
    }

    .nav-btn-lightbox.esquerda i  { transform: translateX(0); }
    .nav-btn-lightbox.direita  i  { transform: translateX(0); }
    .nav-btn-lightbox.esquerda {left: 20px;}
    .nav-btn-lightbox.direita  {right: 20px;}

    .gallery {
        width: max-content;
      }

      .nav-btn.esquerda {
        display: none;
      }
      
      .nav-btn.direita {
        display: none;
      }

      .header-info-aviso {
        display: block !important;
        text-align: left !important;
        margin-top: 8px;
        border-bottom: 1px solid #ccc;
        padding: 15px 0;
      }

      .header-info-aviso > span {
        display: block !important;
        margin-bottom: 6px;
      }

      .content-modal.aviso {
        top: 170px;
      }

      .carrossel{
         margin: 0;
      }

      .slide {
        height: 135px;
        width: 238px;
      }

      .page-cards.aviso {
        margin-bottom: 70px !important;
      }

.aviso-card {
    margin: 10px 0 0 0;
    background: none;
    display: flex;
    flex-direction: column;
    font-family: Arial, sans-serif;
    box-sizing: border-box;
}

.aviso-card-hdr {
    padding: 8px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid #CCCCCC 0.5px !important;
}

.aviso-titulo p {
    margin: 0;
    font-weight: bold;
    font-size: 14px;
}

.texto-lido {
    color: #999;
}

.texto-nao-lido {
    color: #000;
}

.aviso-data {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #666;
}

.aviso-card-foo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 8px;
    gap: 16px;
    font-size: 13px;
    cursor: pointer;
}
  .modal-footer-actions{
    bottom: 5%;
  }

}

@media only screen and (max-width: 320px){
    .img-notification-view {
        width: 100%;
        height: auto;
    }
}

@media only screen and (min-width : 321px) and (max-width: 420px){
    .img-notification-view {
        width: 100%;
        height: auto;
    }
    
    .data-aviso-area {
        margin-left: 0;
    }

    .card-item.right-box {
        display: flex;
        margin-left: 10px;
    }

}

@media (orientation: landscape) {
  .header-modal-aviso{
    max-height: 80px;
  }
  .lightbox-content {
    max-height: 60%;
  }
  .header-info-aviso {
    display: flex !important;
    gap: 10px;
    align-items: center;
    margin-top: 8px;
    padding: 15px 0;
  }
  .header-info-aviso p,
  .header-info-aviso span{
    margin-bottom: 0px;
  }
  .content-modal.aviso{
    top: 100px;
  }

}