.logo-slider { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-sm); padding: 1.2rem 0; }
.logo-slider__track { display: flex; gap: 1rem; width: max-content; animation: logoScroll 72s linear infinite; }
.logo-slider:hover .logo-slider__track { animation-play-state: paused; }
.logo-slide { width: 230px; flex: 0 0 230px; padding: .75rem; }
.logo-slide img { width: 100%; height: 96px; object-fit: contain; }
.convenzioni-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 2rem; }
.convenzione-card { padding: 1rem; }
.convenzione-card img { width: 100%; height: 110px; object-fit: contain; margin-bottom: .9rem; }
.convenzione-card h3 { color: var(--color-primary); margin-bottom: .45rem; }
.convenzione-card p { margin-bottom: 0; color: var(--color-muted); }
@keyframes logoScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.logo-slide { display: grid; place-items: center; cursor: default; }
.logo-slide img { filter: saturate(.95); transition: transform .22s var(--ease), filter .22s var(--ease); }
.logo-slide:hover img { transform: scale(1.025); filter: saturate(1); }
.convenzione-card { display: flex; flex-direction: column; min-height: 100%; }
.convenzione-card img { background: #fff; border-radius: 16px; padding: .35rem; }
.convention-detail { display: grid; grid-template-columns: minmax(260px, 360px) 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.convention-logo-card { padding: 1.4rem; display: grid; gap: 1rem; justify-items: center; text-align: center; }
.convention-logo-card img { width: min(100%, 260px); max-height: 170px; object-fit: contain; }
.convention-content { padding: clamp(1.3rem, 3vw, 2rem); }
.convention-content h2 { color: var(--color-primary); margin-bottom: .75rem; }
.convention-content p + p { margin-top: .85rem; }
.convention-highlights { display: grid; gap: .7rem; margin: 1.4rem 0; padding: 0; list-style: none; }
.convention-highlights li { padding: .85rem 1rem; border: 1px solid var(--color-border); border-radius: 16px; background: #f7fbff; font-weight: 700; color: #263d52; }
@media (max-width: 900px) { .convention-detail { grid-template-columns: 1fr; } }


.convenzioni-grid.is-filtered { margin-top: 1.2rem; }
.convenzione-card[hidden] { display: none !important; }


.services-preview-slider {
  position: relative;
  min-height: 430px;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--color-primary-soft);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border);
}
.services-preview-slider__track {
  position: relative;
  height: 100%;
  min-height: 430px;
}
.services-preview-slider__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  animation: servicesPreviewFade 12s infinite;
}
.services-preview-slider__slide:nth-child(2) { animation-delay: 4s; }
.services-preview-slider__slide:nth-child(3) { animation-delay: 8s; }
.services-preview-slider__slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.services-preview-slider__slide figcaption {
  position: absolute;
  left: 1.15rem;
  right: 1.15rem;
  bottom: 1.15rem;
  width: fit-content;
  max-width: calc(100% - 2.3rem);
  padding: .62rem .9rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(0, 63, 120, .88);
  box-shadow: 0 12px 28px rgba(0, 31, 61, .24);
  font-weight: 800;
}
.services-preview-slider__dots {
  position: absolute;
  right: 1.15rem;
  bottom: 1.35rem;
  display: inline-flex;
  gap: .42rem;
  padding: .45rem .55rem;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(0,31,61,.14);
}
.services-preview-slider__dots span {
  width: .48rem;
  height: .48rem;
  border-radius: 999px;
  background: var(--color-primary);
  opacity: .42;
}
.services-preview-slider__dots span:nth-child(1) { animation: servicesPreviewDot 12s infinite; }
.services-preview-slider__dots span:nth-child(2) { animation: servicesPreviewDot 12s infinite 4s; }
.services-preview-slider__dots span:nth-child(3) { animation: servicesPreviewDot 12s infinite 8s; }
@keyframes servicesPreviewFade {
  0%, 8% { opacity: 0; transform: scale(1.015); }
  12%, 33% { opacity: 1; transform: scale(1); }
  39%, 100% { opacity: 0; transform: scale(1.015); }
}
@keyframes servicesPreviewDot {
  0%, 8% { opacity: .42; transform: scale(1); }
  12%, 33% { opacity: 1; transform: scale(1.25); }
  39%, 100% { opacity: .42; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .services-preview-slider__slide { animation: none; }
  .services-preview-slider__slide:first-child { opacity: 1; }
  .services-preview-slider__dots span { animation: none; }
  .services-preview-slider__dots span:first-child { opacity: 1; }
}
@media (max-width: 767px) {
  .services-preview-slider,
  .services-preview-slider__track { min-height: 320px; }
}
