.elementor-5491 .elementor-element.elementor-element-f1def8e{--display:flex;--margin-top:-76px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-cb97855{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-81e47e7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-c0e5f15{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-488028a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-64cfd26{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-481ac3c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-96abbb0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-07f84a3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5491 .elementor-element.elementor-element-4828256{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for shortcode, class: .elementor-element-e6911bd *//* =====================================
   ANGLOCOL PROJECT GALLERY
   CORRECAO COMPLETA DE LAYOUT
   DESKTOP + TABLET + MOBILE
===================================== */

/* AREA PRINCIPAL */
.ac-gallery {
  width: 100% !important;
  max-width: 100% !important;
  background: #fafafa !important;
  padding: 65px 20px 75px !important;
  box-sizing: border-box !important;
}

.ac-gallery,
.ac-gallery * {
  box-sizing: border-box !important;
}

.ac-gallery-wrap {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* TITULO */
.ac-gallery-heading {
  text-align: center !important;
  margin-bottom: 35px !important;
}

.ac-gallery-heading h2 {
  color: #181818 !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.2 !important;
  margin: 10px 0 !important;
}

.ac-gallery-heading p {
  color: #666 !important;
}

/* FILTROS */
.ac-gallery-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-bottom: 30px !important;
}

.ac-gallery-filters button {
  width: auto !important;
  background: #fff !important;
  color: #222 !important;
  border: 1px solid #ddd !important;
  padding: 11px 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.ac-gallery-filters button.is-active,
.ac-gallery-filters button:hover {
  background: #e31b23 !important;
  border-color: #e31b23 !important;
  color: white !important;
}

/* GRID DE FOTOS */
.ac-gallery-grid {
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

/* FOTO QUADRADA 1:1 */
.ac-gallery-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  background: #222 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.ac-gallery-card[hidden] {
  display: none !important;
}

.ac-gallery-card > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  border: none !important;
  transition: transform .35s ease !important;
}

.ac-gallery-card:hover > img {
  transform: scale(1.04) !important;
}

/* TEXTO SOBRE A FOTO */
.ac-gallery-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  padding: 22px !important;
  background: linear-gradient(
    180deg,
    transparent 45%,
    rgba(0,0,0,.78) 100%
  ) !important;
  color: white !important;
}

.ac-gallery-card-overlay strong {
  color: #fff !important;
  font-size: 23px !important;
}

.ac-gallery-view {
  color: #fff !important;
}

/* =====================================
   POPUP / LIGHTBOX
===================================== */

.ac-gallery-lightbox[hidden] {
  display: none !important;
}

/* FUNDO ESCURECIDO */
.ac-gallery-lightbox:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

.ac-gallery-shade {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(0,0,0,.88) !important;
}

/* JANELA CENTRAL */
.ac-gallery-modal {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: min(950px, 100%) !important;
  max-width: 950px !important;
  max-height: calc(100dvh - 40px) !important;
  margin: auto !important;
  padding: 0 !important;
  background: #171717 !important;
  border: 1px solid #383838 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 15px 65px rgba(0,0,0,.5) !important;
}

/* BOTAO FECHAR */
.ac-gallery-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 43px !important;
  height: 43px !important;
  min-width: 43px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #e31b23 !important;
  color: white !important;
  font-size: 30px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.ac-gallery-close:hover {
  background: #b5121a !important;
  color: #fff !important;
}

/* AREA DA IMAGEM */
.ac-gallery-display {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 125px) !important;
  padding: 12px 58px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* IMAGEM INTEIRA, SEM CORTE */
.ac-gallery-full {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(100dvh - 155px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

/* SETAS DE NAVEGACAO */
.ac-gallery-prev,
.ac-gallery-next {
  position: absolute !important;
  top: 50% !important;
  z-index: 10 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 54px !important;
  min-width: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #e31b23 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  font-size: 32px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.ac-gallery-prev {
  left: 8px !important;
  right: auto !important;
}

.ac-gallery-next {
  right: 8px !important;
  left: auto !important;
}

.ac-gallery-prev:hover,
.ac-gallery-next:hover {
  background: #bc1119 !important;
  color: #fff !important;
}

/* RODAPE DO POPUP */
.ac-gallery-modal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 15px !important;
  width: 100% !important;
  padding: 14px 20px !important;
  background: #191919 !important;
  border-top: 1px solid #353535 !important;
}

.ac-gallery-modal-title {
  display: block !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.ac-gallery-modal-desc {
  color: #ccc !important;
  font-size: 12px !important;
  margin: 5px 0 0 !important;
}

.ac-gallery-counter {
  color: #fff !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

/* VIEW MORE */
.ac-gallery-more,
.ac-gallery-load-more,
.ac-gallery [data-action="more"] {
  background: #e31b23 !important;
  color: #fff !important;
  border: 0 !important;
  padding: 14px 30px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.ac-gallery-more:hover,
.ac-gallery-load-more:hover,
.ac-gallery [data-action="more"]:hover {
  background: #b5121a !important;
  color: #fff !important;
}

/* TABLET */
@media (max-width: 991px) {
  .ac-gallery-grid {
    grid-template-columns:
      repeat(2, minmax(0,1fr)) !important;
    gap: 15px !important;
  }

  .ac-gallery-modal {
    max-width: 90vw !important;
  }
}

/* MOBILE */
@media (max-width: 767px) {
  .ac-gallery {
    padding: 45px 14px 55px !important;
  }

  .ac-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .ac-gallery-card {
    aspect-ratio: 1 / 1 !important;
  }

  .ac-gallery-lightbox:not([hidden]) {
    padding: 10px !important;
  }

  .ac-gallery-modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 6px !important;
  }

  .ac-gallery-display {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 110px) !important;
    padding: 55px 8px 12px !important;
  }

  .ac-gallery-full {
    max-width: 100% !important;
    max-height: calc(100dvh - 180px) !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .ac-gallery-close {
    top: 8px !important;
    right: 8px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    font-size: 26px !important;
  }

  .ac-gallery-prev,
  .ac-gallery-next {
    width: 35px !important;
    min-width: 35px !important;
    height: 43px !important;
    font-size: 26px !important;
    background: rgba(227,27,35,.9) !important;
  }

  .ac-gallery-prev {
    left: 3px !important;
  }

  .ac-gallery-next {
    right: 3px !important;
  }

  .ac-gallery-modal-footer {
    padding: 12px !important;
    gap: 10px !important;
  }

  .ac-gallery-modal-title {
    font-size: 15px !important;
  }

  .ac-gallery-modal-desc {
    font-size: 11px !important;
  }

  .ac-gallery-counter {
    font-size: 11px !important;
  }
}/* End custom CSS */