/* Wrapper */
.mo-carousel-wrap { width: 100%; position: relative; }

/* Track scrollabile */
.mo-carousel-viewport { overflow: hidden; }

.mo-carousel-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:8px 2px 10px 2px;

  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.mo-carousel-track::-webkit-scrollbar{ display:none; }

/* Card sizing */
.mo-card{
  scroll-snap-align:start;
  flex:0 0 calc((100% - (16px * 4)) / 4.2);
  border-radius:6px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
}
@media (max-width:1024px){
  .mo-card{ flex-basis: calc((100% - (16px * 2)) / 3.2); }
}
@media (max-width:599px){
  .mo-card{ flex-basis: calc((100% - 16px) / 1.5); }
}

/* Link */
.mo-card-link{ display:block; color:inherit; text-decoration:none; height:100%; }

/* Media */
.mo-card-media{ aspect-ratio:16/9; background:rgba(0,0,0,0.04); }
.mo-card-img{ width:100%; height:100%; object-fit:cover; display:block; }
.mo-card-img--placeholder{ width:100%; height:100%; }

/* Body */
.mo-card-body{ padding:14px 14px 16px 14px; }
.mo-card-title{ margin:0 0 8px 0; font-size:16px; line-height:1.25; }
.mo-card-meta{ display:flex; gap:10px; font-size:12px; opacity:.7; margin-bottom:10px; }
.mo-card-excerpt{ margin:0; font-size:13px; line-height:1.35; opacity:.85; }

@media (hover:hover) and (pointer:fine){
  .mo-card{ transition: transform .18s ease, box-shadow .18s ease; }
  .mo-card:hover{ transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,0.10); }
}

/* ===== Dots (desktop) - piccoli, tondi, senza barra ===== */
/* === FORZATURA DOTS CAROSELLO === */
.mo-carousel-dots{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:14px !important;

  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* override TOTALE button tema */
.mo-carousel-dots button,
.mo-carousel-dots .mo-dot{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  max-width:10px !important;
  max-height:10px !important;

  border-radius:50% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;

  background:#bdbdbd !important;
  opacity:0.7 !important;

  box-shadow:none !important;
  transform:none !important;
}

/* dot attivo */
.mo-carousel-dots .mo-dot.is-active{
  background:#111 !important;
  opacity:1 !important;
  transform:none !important;
}

/* hover desktop */
@media (hover:hover){
  .mo-carousel-dots .mo-dot:hover{
    background:#555 !important;
    opacity:1 !important;
  }
}

/* mobile: niente dots */
@media (max-width:599px){
  .mo-carousel-dots{
    display:none !important;
  }
}
