/* mod_csen_slider - stili autonomi (funzionano con qualunque template, anche Bootstrap 3 di Purity III) */
.csen-slider {
  --csen-per-view: var(--csen-per-row, 3);
  --csen-accent: #d67901;
  --csen-bullet: rgba(0, 0, 0, .25);
  position: relative;
  margin: 0 0 1rem;
}

.csen-slider__header {
  margin: 0 0 .5rem;
}

.csen-slider__viewport {
  overflow: hidden;
  position: relative;
  touch-action: pan-y;
}

.csen-slider__track {
  display: flex;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transition: transform var(--csen-duration, 500ms) ease-in-out;
  will-change: transform;
}

.csen-slider__item {
  flex: 0 0 calc(100% / var(--csen-per-view));
  max-width: calc(100% / var(--csen-per-view));
  margin: 0 !important;
  padding: 0 4px !important;
  box-sizing: border-box;
  list-style: none !important;
  background: none !important;
}

.csen-slider__item::before {
  content: none !important;
}

.csen-slider__inner {
  text-align: center;
}

.csen-slider__image {
  display: block;
  overflow: hidden;
}

.csen-slider__image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  aspect-ratio: var(--csen-ratio, 4 / 3);
  object-fit: cover;
  transition: transform .3s ease, opacity .3s ease;
}

.csen-slider--hover .csen-slider__image:hover img,
.csen-slider--hover .csen-slider__image:focus-visible img {
  transform: scale(1.04);
  opacity: .9;
}

.csen-slider__title,
.csen-slider__category {
  display: block;
  margin: .25rem 0;
  font-weight: 600;
}

.csen-slider__category {
  font-size: .85em;
  font-weight: 400;
  text-transform: uppercase;
}

.csen-slider__meta {
  font-size: .8em;
  opacity: .75;
  margin: .25rem 0;
}

.csen-slider__meta span + span::before {
  content: " · ";
}

.csen-slider__intro {
  font-size: .9em;
  margin: .25rem 0;
}

.csen-slider__readmore {
  display: inline-block;
  margin-top: .25rem;
}

/* Frecce: visibili al passaggio del mouse, come in BT Content Slider */
.csen-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 36px;
  height: 56px;
  margin-top: -28px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: rgba(0, 0, 0, .45);
  color: #fff;
  font-size: 34px;
  line-height: 52px;
  cursor: pointer;
  opacity: 0;
  transition: opacity .2s ease;
}

.csen-slider__arrow--prev {
  left: 4px;
}

.csen-slider__arrow--next {
  right: 4px;
}

.csen-slider:hover .csen-slider__arrow,
.csen-slider__arrow:focus-visible {
  opacity: .8;
}

.csen-slider__arrow:hover {
  opacity: 1 !important;
}

@media (hover: none) {
  .csen-slider__arrow {
    opacity: .6;
  }
}

/* Pallini */
.csen-slider__bullets {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: .5rem;
}

.csen-slider__bullet {
  width: 12px;
  height: 12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--csen-bullet);
  cursor: pointer;
}

.csen-slider__bullet.is-active {
  background: var(--csen-accent);
}

.csen-slider--single .csen-slider__arrow,
.csen-slider--single .csen-slider__bullets {
  display: none;
}

/* Senza JavaScript: scorrimento orizzontale nativo */
.csen-slider:not(.csen-slider--pronto) .csen-slider__viewport {
  overflow-x: auto;
}

.csen-slider:not(.csen-slider--pronto) .csen-slider__arrow {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .csen-slider__track,
  .csen-slider__image img {
    transition: none;
  }
}
