.gallery-main {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.gallery-main img {
  cursor: zoom-in;
  border-radius: 20px;
  max-width: 400px;
  max-height: 400px;
}

.gallery-main.duas-imagens img {
  max-width: 45%;
}

.gallery-main.fixa {
  height: 400px;
}

.gallery-main.fixa img {
  max-height: 400px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
}

.img-destaque {
  max-width: 400px;
  cursor: zoom-in;
}

.gallery-thumbs-wrapper {
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: #f0f0f0;
  max-width: 100%;
  border-radius: 10px;
}

.gallery-thumbs {
  display: flex;
  overflow-x: auto;
  gap: 8px;
  flex-wrap: nowrap;scrollbar-width: none;
  scroll-behavior: smooth;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}

.gallery-thumbs::-webkit-scrollbar {
  display: none;  
}

.gallery-thumbs img {
  flex: 0 0 auto;        
  max-height: 80px;
  cursor: pointer;
  border-radius: 10px;
  border: 1px solid #878787;
}

.thumb-arrow {
  flex: 0 0 36px;  
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;

  border-radius: 50%;
  background-color: rgba(0, 123, 255, 0.85);
  color: #fff;
  border: none;
  cursor: pointer;

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

.thumb-arrow:hover {
    background-color: #007bff;
}

.gallery-thumbs-wrapper.no-arrows {
  justify-content: center;
}

.galeria-texto {
  display: flex;
  text-align: left;
  font-family: verdana, arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 768px) {

  .gallery-main.fixa {
    height: 250px;
  }

  .gallery-main.fixa img {
    max-height: 250px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }

.gallery-main img {
  max-width: 95%;
}

}

/* Estilos dos itens galeria */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10002;
  background-color: rgba(0, 0, 0, 0.9);
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000; 
  background: transparent;
  pointer-events: auto;
}

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

.modal-img-wrapper {
  position: relative;
  width: 100%;
  height: 90vh;
  max-width: 1200px;
  max-height: 800px;
  overflow: hidden;
  z-index: 10002; 
}

.modal-img {
  position: absolute;
  inset: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.45s ease, opacity 0.2s ease;
  will-change: transform;
  z-index: 10002;
}

/* estados */
.modal-img.center {
  transform: translateX(0);
}

.modal-img.from-right {
  transform: translateX(100vw); 
}

.modal-img.from-left {
  transform: translateX(-100vw);
}

.modal-img.to-left {
  transform: translateX(-100vw);
}

.modal-img.to-right {
  transform: translateX(100vw);
}

.arrow-modal {
    position: absolute;
    top: 50%; 
    transform: translateY(-50%); 
    width: 50px;
    height: 50px;
    color: white;
    font-size: 1.5em;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10015;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    background-color: #007bff;
    opacity: 0.8;
    pointer-events: auto;
}

.arrow-modal.left {
    left: 10px;
}

.arrow-modal.right {
    right: 10px;
}

.arrow-modal:hover {
    opacity: 1;
}

.fechar {
  position: absolute;
  top: 15px;
  right: 35px;

  width: 44px;
  height: 44px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 28px;
  font-weight: bold;

  cursor: pointer;
  pointer-events: auto;

  border-radius: 50%;
  background-color: #007bff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  opacity: 0.9;

  z-index: 10020;
}


.fechar:hover,
.fechar:focus {
    text-decoration: none;
    cursor: pointer;
    opacity: 1;
}

/* ===== Destaque responsivo ===== */

.destaque-wrapper {
  max-width: 100%;
  margin: 0 auto;
  padding: 10px;

  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* linha única, centralizada */
.destaque-imagens {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

/* imagens */
.destaque-imagens img {
  max-width: 400px;
  max-height: 400px;
  object-fit: contain;
  border-radius: 20px;
  cursor: zoom-in;
}

/* título */
.destaque-titulo {
  text-align: center;
  font-family: Verdana, Arial, sans-serif;
  font-weight: bold;
}

/* texto */
.destaque-texto {
  font-family: Verdana, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

/* mobile */
@media (max-width: 768px) {

  .destaque-imagens {
    flex-wrap: wrap;
  }

  .destaque-imagens img {
    max-width: 95%;
    max-height: 250px;
  }

}

/* ===== Legenda da galeria ===== */

.gallery-item {
  position: relative;
  display: inline-block;
}

.gallery-item img {
  display: block;
}

/* overlay */
.gallery-legenda {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  padding: 10px 14px;
  font-family: Verdana, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.4;

  color: #fff;
  text-align: center;

  /* degradê */
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75),
    rgba(0, 0, 0, 0.0)
  );

  border-radius: 0 0 20px 20px;

  pointer-events: none; /* não bloqueia clique/zoom */
}

