.mmmg-mosaic{
  width: 100%;
  height: 100%;
  --cols: 2;
  --cell: 320px; /* verrà ricalcolato dal JS in verticale */
  --radius: 0px;
  --titleSize: 20px;
  position: relative;
}

/* Track: scroll manuale (barre visibili) */
.mmmg-mosaic__track{
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* rail: contiene grid + clone */
.mmmg-mosaic__rail{
  display: flex;
  align-items: stretch;
}

/* ORIENTAMENTO */
.mmmg-mosaic[data-orientation="vertical"] .mmmg-mosaic__rail{
  flex-direction: column;
  width: 100%;
  height: max-content;
}
.mmmg-mosaic[data-orientation="horizontal"] .mmmg-mosaic__rail{
  flex-direction: row;
  width: max-content;
  height: 100%;
}

/* Grid: celle quadrate, packer via grid-row/col inline => NO BUCHI */
.mmmg-mosaic__grid{
  display: grid;
  gap: 0;
  grid-template-columns: repeat(var(--cols), var(--cell));
  grid-auto-rows: var(--cell);
}

/* in orizzontale, la grid deve poter allungarsi in larghezza */
.mmmg-mosaic[data-orientation="horizontal"] .mmmg-mosaic__grid{
  width: max-content;
}

/* Tile */
.mmmg-mosaic__item{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: #111;
  display: block;
  text-decoration: none;
}

/* BG */
.mmmg-mosaic__bg{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
}

/* Darken on hover */
.mmmg-mosaic__item::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,0);
  transition: background .2s ease;
  pointer-events:none;
}
.mmmg-mosaic__item:hover::after{ background: rgba(0,0,0,.35); }

/* Overlay titolo (BIANCO, Avada-proof) */
.mmmg-mosaic__overlay{
  position:absolute; left:0; right:0; bottom:0;
  padding: 18px 20px;
  pointer-events:none;
  color: #fff !important;
}
.mmmg-mosaic__title{
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: var(--titleSize);
  line-height: 1.15;
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.55);
}
