/** Shopify CDN: Minification failed

Line 213:1 Expected "}" to go with "{"

**/
/**
 * CUSTOM SLIDER STYLES - REFACTORED
 */

.custom-slider-section {
  position: relative;
  z-index: 1;
  padding: 40px 0;
}

.custom-slider-section__inner {
  max-width: 100%;
  margin: 0 auto;
}

/* --- CORE SWIPER FIXES --- */
.custom-slider__track.swiper {
  overflow: hidden !important;
  touch-action: pan-y;
  -webkit-user-drag: none;
}

.custom-slider__wrapper.swiper-wrapper {
  display: flex !important;
  align-items: stretch;
  /* Fondamentale: allinea a sinistra quando le slide sono poche */
  justify-content: flex-start !important; 
}

.custom-slider__slide.swiper-slide {
  height: auto !important;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* --- GEOMETRY CONSTRAINTS --- */
/* Desktop: 1/3 del totale */
@media (min-width: 1024px) {
  .custom-slider__slide.swiper-slide {
    flex: 0 0 calc(33.33% - (24px * 2 / 3)) !important;
    max-width: calc(33.33% - (24px * 2 / 3)) !important;
  }
}

/* Tablet: 1/2 del totale */
@media (min-width: 768px) and (max-width: 1023px) {
  .custom-slider__slide.swiper-slide {
    flex: 0 0 calc(50% - (24px / 2)) !important;
    max-width: calc(50% - (24px / 2)) !important;
  }
}

/* Mobile: 85% per mostrare l'anteprima della successiva */
@media (max-width: 767px) {
  .custom-slider__slide.swiper-slide {
    max-width: 83.333% !important;  
    width: 83.333%;
  }
}

/* --- CARDS & MEDIA --- */
.cvb-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease;
}

.cvb-card:hover { transform: translateY(-4px); }

.cvb-media, .cvb-media-video {
  width: 100%;
  position: relative;
  background: #000;
  overflow: hidden;
}

.cvb-media { height: 300px; }
.cvb-media-video { height: 390px; }

.cvb-media img, .cvb-media-video iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- OVERLAY & CONTROLS --- */
.cvb-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.2);
  transition: opacity 0.3s;
}

.video-unlocked .cvb-video-overlay {
  opacity: 0 !important;
  pointer-events: none !important;
}

.swiper-controls {
  display: flex;
  align-items: center;
  margin-top: 24px;
  gap: 16px;
}

.swiper-pagination-progressbar {
  flex: 1;
  height: 4px;
  background: #e0e0e0;
  position: relative;
}

.swiper-pagination-progressbar-fill {
  background: #333;
  height: 100%;
  display: block;
}

/* Mobile Nav Custom */
.custom-slider__mobile-nav {
  display: none;
}

.cvb-title{
  padding: 12px 12px 0 12px !important; 

@media (max-width: 767px) {
  .custom-slider__mobile-nav { display: block; position: relative; height: 0; }
  .mobile-nav-btn {
    position: absolute;
    top: -200px;
    z-index: 20;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ee7257;
    color: #fff;
    border: none;
    font-size: 24px;
    cursor: pointer;
  }
  .mobile-nav-prev { left: 10px; }
  .mobile-nav-next { right: 10px; }
}



@media (max-width: 767px) {
  /* 1. Riduciamo l'altezza dei contenitori media */
  
  /* Articoli Blog: da 220px a 160px */
  .cvb-media {
    height: 160px !important; 
  }
  
  /* Video YouTube: da 280px a 200px 
     Nota: scendere sotto i 180px per i video potrebbe rendere i controlli YT difficili da usare */
  .cvb-media-video {
    height: 200px !important;
  }

  /* 2. Ottimizziamo lo spazio del testo */
.cvb-title {
    /* 1. Reset fondamentali */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important; /* Blocchiamo a 2 righe */
    overflow: hidden !important;
    
    /* 2. La Matematica della riga (IQ 180) */
    /* Fissiamo una line-height precisa e usiamo quella per calcolare la max-height */
    line-height: 1.25em !important; 
    max-height: 3.3em !important; 
    
    /* 3. Prevenzione bug di rendering */
    word-break: break-word; /* Evita che parole lunghe rompano il calcolo */
    padding-bottom: 0 !important; /* Il padding inferiore spesso "chiama" la riga successiva */
    
    /* Estetica */
    font-size: 14px !important;
    padding: 12px 12px 0 12px !important; /* Padding solo sopra e ai lati */
    margin-bottom: 12px !important; /* Usiamo il margine per staccare dal fondo, non il padding */
  }

  /* 3. Posizionamento tasti mobile (se troppo alti/bassi) */
  .mobile-nav-btn {
    /* Regola questo valore per centrare le frecce sulla nuova altezza media */
    transform: translateY(calc(-50% - 110px)) !important; 
    width: 44px !important; /* Leggermente più piccoli per non coprire tutto */
    height: 44px !important;
    font-size: 20px !important;
  }
}


.custom-slider__mobile-nav{
  display: none;
}