.xg-teaser-wrap{
  width: 100%;
  overflow: hidden;
}

.xg-teaser-swiper{
  width: 100%;
  position: relative;
  overflow: visible !important;   /* deve far vedere i lati */
  padding: 0 4vw;                  /* respiro ai lati */
}

/* se Swiper NON parte, almeno non esplode a schermo */
.xg-teaser-swiper:not(.swiper-initialized) .xg-teaser-slide{
  display: inline-block;
  vertical-align: top;
  margin-right: 18px;
}

/* ✅ dimensioni "teaser" */
.xg-teaser-slide{
  width: 60vw !important;          /* centrale grande ma non full */
  max-width: 780px;
  height: 20vh;                    /* ✅ come vuoi tu */
  min-height: 140px;
  max-height: 220px;               /* evita troppo alto su monitor grandi */
  border-radius: 18px;
  overflow: hidden;
}

.xg-teaser-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* frecce solo hover */
.xg-teaser-prev,
.xg-teaser-next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font-size: 28px;
  line-height: 44px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.xg-teaser-swiper:hover .xg-teaser-prev,
.xg-teaser-swiper:hover .xg-teaser-next{
  opacity: 1;
  pointer-events: auto;
}
.xg-teaser-prev{ left: 10px; }
.xg-teaser-next{ right: 10px; }

/* Mobile: più piccole */
@media (max-width: 900px){
  .xg-teaser-slide{
    width: 86vw !important;
    height: 18vh;
    max-height: 200px;
  }
}