/* FuriousTubes — lecteur vidéo personnalisé (thème Galaxy) */
.vp-stage{width:100%;flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:0;
  background:radial-gradient(ellipse at 50% 50%,#150f33 0%,#05030f 80%)}
.vp{position:relative;background:#000;overflow:hidden;max-width:100%;user-select:none;-webkit-user-select:none;
  font-family:'DM Sans',sans-serif;color:#fff;touch-action:manipulation;outline:none}
.vp video{width:100%;height:100%;display:block;object-fit:contain;background:#000;cursor:pointer;max-height:none}
.vp:not(.active).playing{cursor:none}

/* plein écran */
.vp.fs,.vp:fullscreen{width:100%!important;height:100%!important;max-width:none}
.vp:-webkit-full-screen{width:100%!important;height:100%!important}

/* chargement */
.vp-spin{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
  border:3px solid rgba(255,255,255,.18);border-top-color:#22d3ee;animation:vpspin .8s linear infinite;
  opacity:0;pointer-events:none;transition:opacity .2s}
.vp.loading .vp-spin{opacity:1}
@keyframes vpspin{to{transform:rotate(360deg)}}

/* gros bouton central */
.vp-big{position:absolute;top:50%;left:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;border:none;
  color:#fff;background:linear-gradient(135deg,rgba(124,58,237,.9),rgba(192,38,211,.9));cursor:pointer;
  box-shadow:0 0 30px rgba(139,92,246,.6);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.8);pointer-events:none;transition:opacity .2s,transform .2s}
.vp-big svg{width:30px;height:30px}
.vp:not(.playing):not(.loading):not(.error) .vp-big{opacity:1;transform:scale(1);pointer-events:auto}
.vp-big:hover{box-shadow:0 0 44px rgba(167,139,250,.9)}

/* double-tap ±10 s */
.vp-fx{position:absolute;top:50%;margin-top:-26px;padding:14px 18px;border-radius:30px;font-size:13px;font-weight:600;
  background:rgba(12,8,32,.7);backdrop-filter:blur(6px);opacity:0;pointer-events:none}
.vp-fx-l{left:8%}.vp-fx-r{right:8%}
.vp-fx.on{animation:vpfx .6s ease-out}
@keyframes vpfx{0%{opacity:0;transform:scale(.8)}25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.05)}}

/* erreur */
.vp-err{position:absolute;inset:0;display:none;align-items:center;justify-content:center;text-align:center;padding:20px;
  background:rgba(5,3,15,.85);font-size:14px;color:#ff9aa8}
.vp.error .vp-err{display:flex}

/* barre de contrôles */
.vp-ctrl{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 8px;
  background:linear-gradient(to top,rgba(5,3,15,.92),rgba(5,3,15,.55) 55%,transparent);
  opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s,transform .2s}
.vp.active .vp-ctrl,.vp:not(.playing) .vp-ctrl,.vp.seeking .vp-ctrl{opacity:1;transform:none;pointer-events:auto}

.vp-bar{position:relative;height:18px;cursor:pointer;display:flex;align-items:center;touch-action:none}
.vp-track{position:relative;width:100%;height:4px;border-radius:99px;background:rgba(255,255,255,.2);transition:height .15s}
.vp-bar:hover .vp-track,.vp.seeking .vp-track{height:6px}
.vp-buf,.vp-fill{position:absolute;left:0;top:0;bottom:0;border-radius:99px;width:0}
.vp-buf{background:rgba(255,255,255,.28)}
.vp-fill{background:linear-gradient(90deg,#8b5cf6,#22d3ee)}
.vp-thumb{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;
  box-shadow:0 0 10px rgba(34,211,238,.9);transform:scale(0);transition:transform .15s;pointer-events:none}
.vp-bar:hover .vp-thumb,.vp.seeking .vp-thumb,.vp-bar:focus-visible .vp-thumb{transform:scale(1)}
.vp-tip{position:absolute;bottom:20px;left:0;transform:translateX(-50%);padding:2px 7px;border-radius:5px;font-size:11px;
  background:rgba(12,8,32,.92);border:1px solid #2a2058;opacity:0;pointer-events:none;white-space:nowrap}
.vp-bar:hover .vp-tip,.vp.seeking .vp-tip{opacity:1}

.vp-row{display:flex;align-items:center;gap:4px}
.vp-btn{background:none;border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;
  align-items:center;justify-content:center;font-family:inherit;font-size:12px;font-weight:700;padding:0;transition:background .15s,color .15s}
.vp-btn:hover{background:rgba(139,92,246,.35);color:#c4b5fd}
.vp-btn svg{width:20px;height:20px}
.vp-sp{flex:1}
.vp-time{font-size:12px;color:#e0dcff;font-variant-numeric:tabular-nums;margin-left:6px;white-space:nowrap}

/* volume */
.vp-volwrap{display:flex;align-items:center}
.vp-vol{-webkit-appearance:none;appearance:none;width:0;opacity:0;height:4px;border-radius:99px;cursor:pointer;margin:0;
  background:linear-gradient(90deg,#8b5cf6 var(--v,100%),rgba(255,255,255,.25) var(--v,100%));transition:width .2s,opacity .2s,margin .2s}
.vp-volwrap:hover .vp-vol,.vp-vol:focus{width:70px;opacity:1;margin:0 8px 0 4px}
.vp-vol::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff}
.vp-vol::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff}

/* vitesse */
.vp-speedwrap{position:relative}
.vp-speed{width:auto;padding:0 9px}
.vp-menu{position:absolute;bottom:42px;right:0;display:none;flex-direction:column;min-width:76px;padding:4px;border-radius:10px;
  background:rgba(12,8,32,.96);border:1px solid #2a2058;box-shadow:0 8px 30px rgba(0,0,0,.6),0 0 24px rgba(124,58,237,.25)}
.vp-menu.open{display:flex}
.vp-menu button{background:none;border:none;color:#e0dcff;font-family:inherit;font-size:12px;padding:7px 12px;border-radius:6px;cursor:pointer;text-align:left}
.vp-menu button:hover{background:rgba(139,92,246,.3)}
.vp-menu button.on{color:#22d3ee;font-weight:700}

/* formats : portrait / carré → contrôles plus compacts */
.vp-portrait .vp-time{font-size:11px}
.vp-portrait .vp-volwrap:hover .vp-vol{width:48px}
.vp-portrait .vp-btn{width:32px;height:32px}

/* Responsive Video Player */
/* Tablette landscape */
@media(max-width:1024px){
  .vp-btn{width:34px;height:34px;border-radius:7px}
  .vp-btn svg{width:18px;height:18px}
  .vp-big{width:60px;height:60px;margin:-30px 0 0 -30px}
  .vp-big svg{width:28px;height:28px}
  .vp-time{font-size:11px}
  .vp-ctrl{padding:24px 10px 6px}
}

/* Petite tablette/grand téléphone */
@media(max-width:768px){
  .vp-btn{width:32px;height:32px;border-radius:6px;gap:2px}
  .vp-btn svg{width:17px;height:17px}
  .vp-big{width:54px;height:54px;margin:-27px 0 0 -27px}
  .vp-big svg{width:26px;height:26px}
  .vp-time{font-size:10px;margin-left:4px}
  .vp-ctrl{padding:20px 8px 4px;gap:3px}
  .vp-volwrap:hover .vp-vol{width:60px}
  .vp-fx{padding:12px 16px;font-size:12px;margin-top:-24px}
}

/* Téléphone */
@media(max-width:600px){
  .vp-btn{width:30px;height:30px;border-radius:5px}
  .vp-btn svg{width:16px;height:16px}
  .vp-big{width:48px;height:48px;margin:-24px 0 0 -24px;font-size:20px}
  .vp-big svg{width:24px;height:24px}
  .vp-volwrap .vp-vol{display:none}
  .vp-time{font-size:9px;margin-left:3px}
  .vp-ctrl{padding:18px 6px 4px}
  .vp-row{gap:2px}
  .vp-fx{padding:10px 14px;font-size:11px;margin-top:-22px}
  .vp-menu{bottom:36px;min-width:70px;font-size:11px}
  .vp-menu button{padding:6px 10px;font-size:11px}
  .vp-track{height:3px}
  .vp-bar:hover .vp-track{height:5px}
  .vp-thumb{width:12px;height:12px;margin:-6px 0 0 -6px}
}

/* Très petit écran */
@media(max-width:480px){
  .vp-btn{width:28px;height:28px}
  .vp-time{font-size:8px}
  .vp-ctrl{padding:14px 4px 2px}
  .vp-big{width:44px;height:44px;margin:-22px 0 0 -22px}
  .vp-row{gap:1px}
}

.vp.fs .vp-btn{width:42px;height:42px}
.vp.fs .vp-btn svg{width:24px;height:24px}
.vp.fs .vp-time{font-size:14px}

/* Fullscreen responsiveness */
@media(max-width:768px){
  .vp.fs .vp-btn{width:36px;height:36px}
  .vp.fs .vp-btn svg{width:20px;height:20px}
  .vp.fs .vp-time{font-size:12px}
}
