/* Base */
.bunny-video-gallery{width:100%;margin:0;padding:20px 0;position:relative;overflow:hidden;}
.loading{text-align:center;padding:60px;}
.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007cba;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px;}
@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}

/* Carousel */
.infinite-gallery-container{position:relative;width:100%;height:220px;overflow:hidden;display:flex;align-items:center;}
.infinite-video-grid{display:flex;gap:20px;height:200px;transition:none;}

.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:60px;background:rgba(0,0,0,.8);border:none;border-radius:50%;color:#fff;font-size:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:all .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.4);}
.gallery-nav:hover{background:rgba(0,124,186,.9);transform:translateY(-50%) scale(1.1);box-shadow:0 6px 25px rgba(0,124,186,.5);}
.gallery-nav.prev{left:20px;}
.gallery-nav.next{right:20px;}

.video-item{flex:0 0 300px;height:180px;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.15);cursor:pointer;transition:all .4s ease;position:relative;animation:videoLoad .5s ease-out forwards;}
.video-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 15px 35px rgba(0,0,0,.25);z-index:100;}

.video-thumbnail{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);overflow:hidden;}
.video-thumbnail img{width:100%;height:100%;object-fit:cover;opacity:0;transition:all .5s ease;}
.video-item:hover .video-thumbnail img{transform:scale(1.1);}

/* PLAY BUTTON MODIFICATO - solo icona, senza cerchio */
.play-button{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  color:#FFD700;display:flex;align-items:center;justify-content:center;
  transition:all .3s ease;z-index:10;
}
.play-button svg{
  width:28px;height:28px;margin-left:3px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));
}
.video-item:hover .play-button{
  color:#fff;transform:translate(-50%,-50%) scale(1.2);
}

/* Titoli centrati */
.video-title-desktop,
.video-title-under,
.mobile-video-title{text-align:center;}
.video-title-desktop{
  position:absolute;bottom:10px;left:0;right:0;padding:0 12px;
  font:500 14px/1.2 system-ui,sans-serif;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);
  z-index:6;pointer-events:none;
}
.video-title-under{
  margin-top:6px;font:600 14px/1.3 system-ui,sans-serif;color:#fff;display:none;
}

.video-player-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;background:#000;border-radius:15px;overflow:hidden;}
.video-player-container iframe{width:100%;height:100%;border:none;}

.stop-button{position:absolute;top:10px;right:10px;width:35px;height:35px;background:rgba(255,0,0,.8);border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:25;box-shadow:0 2px 8px rgba(0,0,0,.3);}
.stop-button:hover{background:rgba(255,0,0,1);transform:scale(1.1);}

/* --- MOBILE POPUP --- */
.mobile-player{
  position:fixed;inset:0;z-index:999999;
}
.mobile-player::before{
  content:'';position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:-1;
}

.mobile-video-container{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  width:90vw;max-width:300px;max-height:90vh;
  box-sizing:border-box;border-radius:15px;overflow:hidden;background:#000;
  display:flex;flex-direction:column;
}

.mobile-close-btn{
  position:absolute;top:8px;right:8px;width:32px;height:32px;
  border:none;border-radius:50%;background:#dc3545;color:#fff;
  font-size:20px;line-height:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:6;
}
.mobile-close-btn:hover{background:#c82333;transform:scale(1.08);}

.mobile-video-title{
  font:600 15px/1.3 system-ui,sans-serif;color:#fff;
  padding:10px 14px;background:rgba(0,0,0,.55);
}
.mobile-video-content{width:100%;aspect-ratio:16/9;background:#000;}
.mobile-video-content iframe{width:100%;height:100%;border:0;}

/* Frecce nav popup */
.mobile-nav-btn{
  position:fixed;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border:none;border-radius:50%;
  background:rgba(0,0,0,.6);color:#fff;font-size:30px;line-height:30px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:100000;backdrop-filter:blur(2px);
  transition:background .2s;
}
.mobile-nav-btn:hover{background:rgba(0,0,0,.8);}
.mobile-nav-prev{left:12px;}
.mobile-nav-next{right:12px;}

/* Responsive */
@media(max-width:768px){
  .infinite-gallery-container{height:180px;}
  .infinite-video-grid{height:160px;}
  .gallery-nav{width:50px;height:50px;font-size:24px;}
  .gallery-nav.prev{left:10px;}
  .gallery-nav.next{right:10px;}
  .video-item{flex:0 0 250px;height:140px;}
  
  /* PLAY BUTTON MOBILE - mantengo dimensione originale */
  .play-button svg{width:24px;height:24px;}
  
  .video-player-container,.stop-button{display:none!important;}
  .video-title-desktop{display:none;}
  .video-title-under{display:block;}
}

.video-title-overlay{
  position:absolute;
  left:0; right:0; top:0; bottom:auto;
  padding:8px 12px;
  font:600 14px/1.3 system-ui,sans-serif;
  color:#fff; text-align:center;
  text-shadow:0 1px 3px rgba(0,0,0,.7);
  background:linear-gradient(to bottom, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 100%);
  pointer-events:none;
  z-index:30;
}

.bunny-gallery-error{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:25px;border-radius:15px;margin:30px;text-align:center;font-size:16px;box-shadow:0 4px 15px rgba(0,0,0,.1);}

@keyframes videoLoad{from{opacity:0;transform:scale(.8);}to{opacity:1;transform:scale(1);}}