/* Galeria masonry em carrossel horizontal + lightbox */
.gallery-section  {
   overflow:  hidden;
 }

.gallery-carousel  {
   position:  relative;
 }

.gallery-carousel-viewport  {
   overflow:  hidden;
   width:  100%;
 }

.gallery-carousel-track  {
   display:  flex;
   align-items:  stretch;
   will-change:  transform;
   transition:  transform .55s cubic-bezier(.22, .61, .36, 1);
 }

.gallery-slide  {
   flex:  0 0 100%;
   width:  100%;
   min-width:  0;
   padding:  2px 2px 8px;
 }

.gallery-masonry  {
   /*columns:  3 220px;*/
   columns:  4 220px;
   column-gap:  18px;
 }

.gallery-item  {
   position:  relative;
   display:  block;
   width:  100%;
   padding:  0;
   margin:  0 0 18px;
   break-inside:  avoid;
   border:  0;
   border-radius: 15px;
   overflow:  hidden;
   background:  #e9eaf1;
   text-align:  left;
   cursor:  zoom-in;
 }

.gallery-item img  {
   display:  block;
   width:  100%;
   height:  auto;
   transition:  transform .35s ease;
 }

.gallery-item:hover img,  .gallery-item:focus-visible img  {
   transform:  scale(1.035);
 }

.gallery-item:focus-visible  {
   outline:  3px solid var(--brand);
   outline-offset:  3px;
 }

.gallery-item-overlay  {
   position:  absolute;
   inset:  auto 0 0;
   display:  flex;
   align-items:  center;
   justify-content:  space-between;
   gap:  12px;
   padding:  28px 16px 15px;
   color:  #fff;
   font-weight:  600;
   font-size:  13px;
   background:  linear-gradient(transparent,  rgba(17, 21, 34, .82));
   opacity:  0;
   transition:  opacity .2s ease;
 }

.gallery-item:hover .gallery-item-overlay,  .gallery-item:focus-visible .gallery-item-overlay  {
   opacity:  1;
 }

.gallery-item-overlay .fa  {
   flex:  0 0 auto;
 }

.gallery-carousel-controls  {
   display:  flex;
   align-items:  center;
   justify-content:  center;
   gap:  18px;
   /*margin-top:  18px;*/
 }

.gallery-carousel-arrow  {
   display:  inline-flex;
   align-items:  center;
   justify-content:  center;
   width:  42px;
   height:  42px;
   flex:  0 0 42px;
   border:  1px solid rgba(0, 0, 0, .12);
   border-radius:  50%;
   color:  var(--mora-hex);
   background:  var(--paper);
   cursor:  pointer;
   transition:  color .2s ease,  background .2s ease,  opacity .2s ease;
 }

.gallery-carousel-arrow:hover:not(:disabled),  .gallery-carousel-arrow:focus-visible:not(:disabled)  {
   color:  #fff;
   background:  var(--mora-hex);
   outline:  none;
	 transform:  translateY(-2px);
 }

.gallery-carousel-arrow:disabled  {
   opacity:  .35;
   cursor:  default;
 }

.gallery-carousel-pagination  {
   display:  flex;
   align-items:  center;
   justify-content:  center;
   gap:  8px;
 }

.gallery-carousel-dot  {
   width:  9px;
   height:  9px;
   padding:  0;
   border:  0;
   border-radius:  50%;
   background: rgba(var(--lora-R), var(--lora-G), var(--lora-B), .5);/* #c9cad5;*/
   cursor:  pointer;
   transition:  transform .2s ease,  background .2s ease;
 }

.gallery-carousel-dot[aria-current="true"]  {
   background:  var(--mora-hex);
	 width:  22px;
	 border-radius:  8px;
   /*transform:  scale(1.25);*/
 }

.gallery-carousel-status  {
   margin:  0;
   color:  #6b6e7c;
   font-size:  12px;
   min-width:  38px;
   text-align:  center;
 }

.gallery-lightbox .modal-dialog  {
   max-width:  min(1100px,  calc(100% - 30px));
 }

.gallery-lightbox .modal-content  {
   position:  relative;
   border:  0;
   border-radius: 15px;
   overflow:  hidden;
   background:  var(--dark);
 }

.gallery-lightbox-image  {
   display:  block;
   max-width:  100%;
   max-height:  calc(100vh - 130px);
   width:  auto;
   height:  auto;
   margin:  0 auto;
	 margin-top: 24px;
   object-fit:  contain;
 }

.gallery-lightbox-caption  {
   padding:  12px 58px;
   color:  var(--marb-hex)/*#fff*/;
   text-align:  center;
   font-size:  13px;
 }

.gallery-close,  .gallery-nav  {
   position:  absolute;
   z-index:  2;
   display:  flex;
   align-items:  center;
   justify-content:  center;
   border:  1px solid rgba(var(--marb-R), var(--marb-G), var(--marb-B), .5);
   border-radius:  50%;
   color:  var(--marb-hex);
   background:  var(--mora-hex); /*rgba(17, 21, 34, .72);*/
   cursor:  pointer;
   transition:  background .2s ease;
 }

.gallery-close:hover,  .gallery-nav:hover,  .gallery-close:focus,  .gallery-nav:focus  {
   color:  #fff;
   background:  var(--mblu-hex);
   outline:  none;
 }

.gallery-close  {
   top:  12px;
   right:  12px;
   width:  40px;
   height:  40px;
   font-size:  28px;
   line-height:  1;
 }

.gallery-nav  {
   top:  50%;
   width:  42px;
   height:  42px;
   transform:  translateY(-50%);
 }

.gallery-prev  {
   left:  12px;
 }

.gallery-next  {
   right:  12px;
 }

@media (hover: none)  {
   .gallery-item-overlay  {
   opacity:  1;
 }
 }
@media (max-width: 575.98px)  {
  
  .gallery-masonry  {
   columns:  2 135px;
   column-gap:  10px;
 }

  .gallery-item  {
   margin-bottom:  10px;
   border-radius:  8px;
 }

  .gallery-carousel-controls  {
   gap:  12px;
   margin-top:  12px;
 }

  .gallery-carousel-arrow  {
   width:  36px;
   height:  36px;
   flex-basis:  36px;
 }

  .gallery-carousel-pagination  {
   gap:  7px;
 }

  .gallery-item-overlay  {
   padding:  24px 9px 10px;
   font-size:  11px;
 }

  .gallery-lightbox .modal-dialog  {
   margin:  .5rem auto;
 }

  .gallery-nav  {
   width:  34px;
   height:  34px;
 }

  .gallery-prev  {
   left:  7px;
 }

  .gallery-next  {
   right:  7px;
 }

  .gallery-lightbox-caption  {
   padding:  10px 45px;
 }

}
@media (prefers-reduced-motion: reduce)  {
   .gallery-carousel-track,  .gallery-item img,  .gallery-item-overlay,  .gallery-close,  .gallery-nav,  .gallery-carousel-arrow,  .gallery-carousel-dot  {
   transition:  none;
 }
 }