/* Patch V28 — carrossel da seção Momentos do projeto. Não altera o restante do site. */
.moments-carousel-viewport{
  position:relative;
  margin-top:2px;
  padding:0 2px;
}
.moments-home-section .moments-home-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:6px 2px 20px;
}
.moments-home-section .moments-home-grid::-webkit-scrollbar{display:none}
.moments-home-section .moment-home-card{
  flex:0 0 calc((100% - 36px)/3);
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.moments-carousel-arrow{
  position:absolute;
  z-index:8;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:1px solid #eadfd8;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:#2f8069;
  display:grid;
  place-items:center;
  font-size:34px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(75,61,52,.14);
  transition:transform .18s ease,background .18s ease,color .18s ease,opacity .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.moments-carousel-arrow:hover{
  transform:translateY(-50%) scale(1.06);
  background:#2f8069;
  color:#fff;
}
.moments-carousel-arrow:focus-visible{
  outline:3px solid rgba(239,102,106,.35);
  outline-offset:3px;
}
.moments-carousel-arrow.prev{left:-22px}
.moments-carousel-arrow.next{right:-22px}
.moments-carousel-arrow[hidden]{display:none!important}
.moments-carousel-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  margin-top:-6px;
}
.moments-carousel-dot{
  width:8px;
  height:8px;
  border:0;
  border-radius:99px;
  padding:0;
  background:#d7c9c1;
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}
.moments-carousel-dot.is-active{
  width:24px;
  background:#df6268;
}
@media(max-width:900px){
  .moments-home-section .moment-home-card{flex-basis:calc((100% - 18px)/2)}
  .moments-carousel-arrow.prev{left:-10px}
  .moments-carousel-arrow.next{right:-10px}
}
@media(max-width:620px){
  .moments-home-section .moment-home-card{flex-basis:100%}
  .moments-carousel-arrow{width:42px;height:42px;font-size:30px}
  .moments-carousel-arrow.prev{left:4px}
  .moments-carousel-arrow.next{right:4px}
  .moments-home-section .moments-home-grid{padding-left:1px;padding-right:1px}
}
@media(prefers-reduced-motion:reduce){
  .moments-home-section .moments-home-grid{scroll-behavior:auto}
}
