/* Carousel safety overrides (non-destructive) */

/* Mobile-first constraints */
@media (max-width: 768px) {
  /* Generic carousel wrappers should clip content */
  .carousel-wrapper,
  .avatars-carousel { overflow: hidden; width: 100%; max-width: 100%; }

  /* Common containers */
  .mobile-cards-container,
  .cards-track,
  .slides,
  .avatar-track { display: flex; width: 100%; max-width: 100%; }

  /* Each slide fits viewport width to avoid horizontal scroll */
  .mobile-card-container,
  .slide,
  .avatar-slide { flex: 0 0 100%; max-width: 100%; }

  /* Images never exceed container */
  .card-image img,
  .card-image,
  .avatar-slide img,
  .card-image-wrapper img { width: 100%; max-width: 100%; height: auto; }

  /* Controls are contained */
  .carousel-controls { width: 100%; max-width: 100%; overflow: hidden; }
  .carousel-dots { flex: 1 1 auto; min-width: 0; justify-content: center; }

  /* Prevent transforms from creating overflow due to 100vw quirks */
  .slide, .avatar-slide { transform-origin: center center; }
}

/* Desktop remains unchanged intentionally. */
