/*
|--------------------------------------------------------------------------
| Block: Image Card (Carousel)
|--------------------------------------------------------------------------
| Swiper carousel + common-scrollbar per layout CAROUSEL_*.
*/

.js-imagecard-carousel.swiper {
  width: 100%;
  min-width: 0;
}

.block-imageCard {
  overflow-x: hidden;
  overflow-x: clip;
}

/*
 * Lo Swiper carousel_small deve restare al 100% del proprio container
 * fluido. Le slide a larghezza fissa conservano il peek mobile dentro la
 * viewport dello Swiper, senza allargare o traslare il container stesso.
 */

/*
 * Niente width fissa sul .swiper-wrapper: Swiper la calcola da solo
 * (somma slide-width + spaceBetween in modalità "auto", oppure imposta
 * direttamente la width delle slide in modalità slidesPerView numerica).
 * Fissarla causa overflow orizzontale sui viewport intermedi quando il
 * container risulta più stretto del valore hardcoded.
 */
.js-imagecard-carousel .swiper-wrapper {
  align-items: stretch;
}

/*
 * QA 175/176/177: le slide small hanno larghezza fissa responsive (248/255/288,
 * utility Tailwind nel markup) col peek di design; le large usano la larghezza
 * naturale della card su mobile e tornano fluide da tablet. Le vecchie regole
 * width hardcoded (288px flat per le small, 100% <360px per le large) sono
 * state rimosse: la prima era inefficace (persa nell'ordine dei layer), la
 * seconda superflua con le slide fluide da tablet.
 */
.js-imagecard-carousel .swiper-slide {
  height: auto;
  width: auto;
  box-sizing: border-box;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  /* Quando center_cards è attivo, centra il wrapper se le slide totali
   * sono più strette del container. Se sono più larghe, viene clippato
   * dall'overflow:hidden della .swiper. */
  .js-imagecard-carousel.imagecard-cards-center .swiper-wrapper {
    width: fit-content;
    margin-inline: auto;
  }

  .js-imagecard-carousel.imagecard-cards-center[data-imagecard-type="carousel_small"] {
    width: 100%;
  }
}

/* Text-button proveniente dal secondo repeater (auxiliary) della card:
 * deve stare a filo sinistro col testo soprastante. La utility
 * .btn-text-button del tema ha padding-inline 28px (utile per CTA generici
 * dentro pattern centrati); qui il padding sinistro viene azzerato cosi'
 * il glifo del label parte allineato al contenuto della card. */
.btn-text-button--card.btn-text-button {
  padding-left: 0;
}
