/* ==========================================================================
   Royal Enfield Garage — stránka /videa/ (re_videa.php).
   Staví na proměnných a třídách z re.css (--night, --red, --gutter, --fzd,
   .re-eyebrow, .re-pill, .re-btn). Vše s prefixem .rv-, načítá jen tato stránka.
   ========================================================================== */

.re-site .rv-eyebrow-light{color:#e9e3d8}
.rv-img-missing{opacity:0!important}

/* ---------- Hlavní film ---------- */
.re-site .rv-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(600px,calc(100svh - 112px),1180px);background:var(--night);color:white}
.rv-hero-media{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 70% 80% at 72% 38%,#3b3531 0%,#1d1d1f 55%,#0b0c0e 100%)}
.rv-hero-poster{width:100%;height:100%;object-fit:cover;object-position:center;color:transparent;transform:scale(1.02);transition:transform 1.4s var(--ease),opacity .4s}
.rv-hero:hover .rv-hero-poster{transform:scale(1.05)}
.rv-hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(6,8,10,.84) 0%,rgba(6,8,10,.5) 38%,rgba(6,8,10,.06) 76%),linear-gradient(0deg,rgba(8,9,11,.94) 0%,rgba(8,9,11,.35) 34%,transparent 58%)}
.re-site .rv-hero-hit{position:absolute;inset:0;z-index:0;border:0;padding:0;background:transparent;cursor:pointer}
.rv-hero-content{position:relative;z-index:1;padding-top:120px;padding-bottom:clamp(40px,4vw,76px);pointer-events:none}
.rv-hero-content>*{pointer-events:auto;max-width:980px}
.re-site .rv-hero h1{font-size:clamp(52px,6.3vw,132px);font-weight:650;line-height:1.02;letter-spacing:-.055em;text-wrap:balance}
.re-site .rv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;margin:22px 0 18px;font-size:calc(12px + 12*var(--fzd));font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#e9e3d8;font-variant-numeric:tabular-nums}
.rv-meta span+span:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--red);margin:0 14px;vertical-align:middle;transform:translateY(-1px)}
.re-site .rv-hero .re-lead{font-size:clamp(17px,1.15vw,24px);max-width:600px;color:#ebe7df;text-wrap:pretty}
.re-site .rv-play-big{display:inline-flex;align-items:center;gap:22px;margin-top:38px;padding:0;border:0;background:transparent;color:white;text-align:left}
.rv-play-icon{position:relative;display:grid;place-items:center;width:clamp(78px,5.4vw,124px);aspect-ratio:1;border-radius:50%;background:var(--red);box-shadow:0 18px 50px rgba(201,45,38,.35);transition:transform .3s var(--ease),background .2s}
.rv-play-icon:after{content:'';position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,255,255,.35);animation:rv-ring 2.6s var(--ease) infinite}
.re-site .rv-play-icon svg{width:36%;height:36%;margin-left:7%;fill:currentColor;stroke:none}
.rv-play-text b{display:block;font-size:calc(19px + 19*var(--fzd));font-weight:800;letter-spacing:-.01em;line-height:1.2}
.rv-play-text small{display:block;margin-top:4px;font-size:calc(11px + 11*var(--fzd));font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#cfc9bf}
.rv-play-big:hover .rv-play-icon,.rv-hero-hit:hover~.rv-hero-content .rv-play-icon{transform:scale(1.07);background:#ad211c}
@keyframes rv-ring{0%{transform:scale(.92);opacity:.9}70%,100%{transform:scale(1.28);opacity:0}}
.rv-hero-foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;border-top:1px solid #ffffff1f;font-size:calc(11px + 11*var(--fzd));font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#cfc9bf}
.re-site .rv-hero-down{display:inline-flex;align-items:center;gap:10px;color:white}
.re-site .rv-hero-down svg{width:16px;height:16px;transition:transform .2s}
.rv-hero-down:hover svg{transform:translateY(3px)}

/* ---------- Knihovna filmů ---------- */
.re-site .rv-library{background:var(--night);color:var(--paper);padding-top:clamp(70px,5.5vw,120px);padding-bottom:clamp(80px,6vw,130px)}
.re-site .rv-library h2{color:white}
.rv-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:clamp(28px,2.4vw,46px);padding-bottom:22px;border-bottom:1px solid #ffffff1a}
.rv-pill-count{margin-left:8px;font-variant-numeric:tabular-nums;opacity:.55}
.re-site .rv-result{font-size:calc(11px + 11*var(--fzd));font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#b9b6af}
.rv-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,3vw,64px) clamp(18px,1.5vw,32px)}
.rv-card{grid-column:span 4;min-width:0}
.rv-card.rv-wide{grid-column:span 6}
.rv-card.rv-in{animation:rv-in .5s var(--ease) both}
@keyframes rv-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.re-site .rv-card-hit{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.rv-card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:linear-gradient(135deg,#2b2c2f 0%,#18191b 58%,#0d0e10 100%)}
.rv-card-media:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,#c92d2614,transparent 60%)}
.re-site .rv-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;color:transparent;transition:transform .8s var(--ease),filter .4s}
.rv-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 30%,transparent 42%,rgba(0,0,0,.82) 100%);pointer-events:none}
.rv-card-media:after{content:'';position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--red);transition:width .5s var(--ease)}
.rv-card-play{position:absolute;left:50%;top:44%;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:rgba(17,18,20,.42);border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform:translate(-50%,-50%);transition:transform .35s var(--ease),background .25s,border-color .25s}
.re-site .rv-card-play svg{width:24px;height:24px;margin-left:3px;fill:white;stroke:none}
.rv-wide .rv-card-play{width:82px;height:82px}
.re-site .rv-wide .rv-card-play svg{width:30px;height:30px}
.rv-card-time{position:absolute;top:14px;right:14px;padding:5px 9px;border-radius:3px;background:rgba(10,11,12,.72);color:white;font-size:calc(11px + 11*var(--fzd));font-weight:800;letter-spacing:.06em;line-height:1.2;font-variant-numeric:tabular-nums}
.rv-card-over{position:absolute;left:clamp(18px,1.4vw,30px);right:clamp(18px,1.4vw,30px);bottom:clamp(16px,1.3vw,28px);color:white}
.rv-card-cat{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:calc(10px + 10*var(--fzd));font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#e9e3d8}
.rv-card-cat:before{content:'';width:18px;height:2px;background:var(--red)}
.rv-card-title{display:block;font-size:calc(24px + 24*var(--fzh));font-weight:700;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.rv-wide .rv-card-title{font-size:clamp(28px,2.3vw,50px)}
.rv-card-desc{display:block;margin-top:16px;max-width:560px;font-size:calc(14px + 14*var(--fzd));line-height:1.55;color:#b9b6af}
.rv-card-desc em{font-style:normal;color:#8f8b84}
.rv-card-hit:hover .rv-card-media img,.rv-card-hit:focus-visible .rv-card-media img{transform:scale(1.06);filter:brightness(1.06)}
.rv-card-hit:hover .rv-card-media:after,.rv-card-hit:focus-visible .rv-card-media:after{width:100%}
.rv-card-hit:hover .rv-card-play,.rv-card-hit:focus-visible .rv-card-play{background:var(--red);border-color:var(--red);transform:translate(-50%,-50%) scale(1.08)}
.rv-card-hit:hover .rv-card-desc{color:#dcd7ce}
.re-site .rv-card-hit:focus-visible{outline:3px solid #e26438;outline-offset:6px}

/* ---------- Výzva pod filmy ---------- */
.re-site .rv-cta{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:30px 60px}
.re-site .rv-cta .re-intro{margin-top:18px;max-width:520px;font-size:calc(16px + 16*var(--fzd));color:var(--muted)}
.re-site .rv-cta .re-actions{margin-top:0}

/* ---------- Přehrávač ---------- */
.rv-player{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#060708;color:white;overflow:hidden;font-family:Manrope,'Inter',Arial,sans-serif}
.rv-player[open]{display:block}
.rv-player::backdrop{background:#000}
html.rv-locked,html.rv-locked body{overflow:hidden}
.rv-player-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%}
.rv-player-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--gutter)}
.rv-player .re-eyebrow{margin-bottom:6px}
.rv-player h2{font-size:calc(22px + 22*var(--fzh));line-height:1.15;letter-spacing:-.03em;color:white}
.rv-player-tools{display:flex;align-items:center;gap:18px}
.rv-player-counter{font-size:calc(11px + 11*var(--fzd));font-weight:800;letter-spacing:.16em;color:#b9b6af;font-variant-numeric:tabular-nums}
.rv-player .rv-close{width:52px;height:52px;color:white;border-color:#ffffff40}
.rv-player .rv-close:hover{background:var(--red);border-color:var(--red)}
.rv-player-stage{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,1.6vw,34px);min-height:0;padding:0 var(--gutter)}
.rv-player-frame{position:relative;justify-self:center;width:min(100%,calc((100dvh - 200px) * 16 / 9));aspect-ratio:16/9;background:#000;box-shadow:0 30px 90px #000c}
.rv-player video{width:100%;height:100%;object-fit:contain;background:#000}
.rv-nav{display:grid;place-items:center;width:58px;height:58px;padding:0;border:1px solid #ffffff38;border-radius:50%;background:#ffffff08;color:white;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.rv-nav:hover{background:var(--red);border-color:var(--red)}
.rv-prev:hover{transform:translateX(-3px)}
.rv-next:hover{transform:translateX(3px)}
.rv-player-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px 30px;padding:16px var(--gutter) 22px}
.rv-player-desc{max-width:820px;font-size:calc(15px + 15*var(--fzd));line-height:1.5;color:#cfc9bf}
.rv-player-note{color:#8f8b84}
.rv-player-links{display:flex;align-items:center;gap:28px;flex-shrink:0}
.rv-player .re-text-link{color:white}
.rv-keys{font-size:calc(11px + 11*var(--fzd));font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7d7973;white-space:nowrap}
.rv-player-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:#0b0c0ee6;font-size:calc(15px + 15*var(--fzd));color:#cfc9bf}
.rv-player-error strong{font-size:calc(20px + 20*var(--fzh));color:white}
.rv-player-error[hidden],.rv-player-end[hidden]{display:none}
.rv-player-end{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:rgba(6,7,8,.84);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rv-fade .35s var(--ease) both}
@keyframes rv-fade{from{opacity:0}to{opacity:1}}
.rv-end-card{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;gap:clamp(20px,2vw,40px);max-width:880px;width:100%}
.rv-end-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:linear-gradient(135deg,#2b2c2f,#0d0e10)}
.rv-end-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;color:transparent}
.rv-end-copy strong{display:block;font-size:clamp(26px,2.3vw,46px);font-weight:700;line-height:1.1;letter-spacing:-.035em}
.rv-end-copy>span{display:block;margin-top:8px;font-size:calc(12px + 12*var(--fzd));font-weight:800;letter-spacing:.14em;color:#b9b6af;font-variant-numeric:tabular-nums}
.rv-end-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.rv-end-actions .re-btn{gap:12px}
.rv-end-actions .re-btn svg{fill:currentColor;stroke:none}
.rv-player .re-btn-outline{color:white;border-color:#a7a7a780}
.rv-player .re-btn-outline:hover{background:#ffffff15}

/* ---------- Tablet a mobil ---------- */
@media(max-width:1023px){
  .rv-card,.rv-card.rv-wide{grid-column:span 6}
  .rv-keys{display:none}
}
@media(max-width:767px){
  .re-site .rv-hero{min-height:calc(100svh - 64px);max-height:none}
  .rv-hero-poster{object-position:62% 50%}
  .rv-hero-shade{background:linear-gradient(0deg,rgba(8,9,11,.96) 0%,rgba(8,9,11,.7) 45%,rgba(8,9,11,.15) 80%)}
  .rv-hero-content{padding-top:90px;padding-bottom:30px}
  .re-site .rv-hero h1{font-size:clamp(42px,11.5vw,64px)}
  .re-site .rv-meta{font-size:11px;letter-spacing:.14em;margin:16px 0 14px}
  .rv-meta span+span:before{margin:0 10px}
  .re-site .rv-play-big{margin-top:26px;gap:16px}
  .rv-play-icon{width:72px}
  .rv-hero-foot{min-height:54px;font-size:10px;letter-spacing:.12em}
  .rv-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .rv-card,.rv-card.rv-wide{grid-column:auto}
  .rv-card-title,.rv-wide .rv-card-title{font-size:26px}
  .rv-card-play,.rv-wide .rv-card-play{width:60px;height:60px}
  .rv-card-desc{margin-top:12px;font-size:15px}
  .rv-toolbar{padding-bottom:16px}
  .re-site .rv-cta{align-items:start}
  .re-site .rv-cta .re-actions{width:100%}
  .re-site .rv-cta .re-btn{flex:1 1 100%}
  .rv-player-top{padding:12px 16px}
  .rv-player-counter{display:none}
  .rv-player .rv-close{width:44px;height:44px}
  .rv-player-stage{grid-template-columns:1fr 1fr;align-content:center;row-gap:16px;padding:0}
  .rv-player-frame{grid-column:1/-1;grid-row:1;width:100%}
  .rv-prev{grid-row:2;justify-self:start;margin-left:16px}
  .rv-next{grid-row:2;justify-self:end;margin-right:16px}
  .rv-nav{width:48px;height:48px}
  .rv-player-bottom{flex-direction:column;align-items:flex-start;padding:12px 16px 20px}
  .rv-player-desc{font-size:14px}
  .rv-end-card{grid-template-columns:1fr;gap:12px;max-width:420px}
  .rv-end-media{display:none}
  .rv-end-copy strong{font-size:22px}
  .rv-end-actions{margin-top:14px}
  .rv-end-actions .re-btn{min-height:44px;padding:10px 16px}
}
@media(max-height:560px) and (orientation:landscape){
  .rv-player-top,.rv-player-bottom{display:none}
  .rv-player-shell{grid-template-rows:minmax(0,1fr)}
  .rv-player-frame{grid-column:auto;grid-row:auto;width:min(100%,calc(100dvh * 16 / 9))}
  .rv-player-stage{grid-template-columns:auto minmax(0,1fr) auto;padding:0 8px}
  .rv-prev,.rv-next{grid-row:auto;margin:0}
}
@media(hover:none){.rv-keys{display:none}}

@media(prefers-reduced-motion:reduce){
  .rv-play-icon:after{display:none}
  .rv-hero-poster,.rv-hero:hover .rv-hero-poster,.rv-card-hit:hover .rv-card-media img,.rv-card-hit:focus-visible .rv-card-media img{transform:none;transition:none}
  .rv-card.rv-in,.rv-player-end{animation:none}
}
