/* player.css - the house video player (player.js). The page picks the look with one class on the box:
   lvp-gold (delivery: dark + gold), lvp-mono (the branded page: black and white, square, Montserrat), lvp-plain
   (tour + embeds: neutral). Everything else is shared. */
.lvp{position:relative;--a:#fff;--a-ink:#111;--panel:rgba(14,14,14,.94);--rad:10px;--bf:inherit;-webkit-tap-highlight-color:transparent;outline:none}
.lvp-gold{--a:#c9a86a;--a-ink:#16130d;--rad:12px}
.lvp-mono{--a:#fff;--a-ink:#000;--panel:rgba(0,0,0,.94);--rad:0;--bf:"Montserrat","Helvetica Neue",Helvetica,Arial,sans-serif}
.lvp-plain{--a:#fff;--a-ink:#111;--rad:8px;--bf:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.lvp [hidden]{display:none!important}
.lvp video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.lvp-ui{position:absolute;inset:0;font:500 13px/1.2 var(--bf);color:#fff;user-select:none;-webkit-user-select:none}
.lvp-ui button{font:inherit;color:inherit;background:none;border:0;margin:0;padding:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.lvp-ui svg{display:block;width:22px;height:22px;pointer-events:none}
.lvp-hit{position:absolute;inset:0;cursor:pointer}
.lvp-hide .lvp-hit{cursor:none}
/* the big play */
.lvp-big{position:absolute;z-index:1;left:50%;top:calc(50% - 39px);width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;
display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,.55);border:1.5px solid rgba(255,255,255,.85)!important;
box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
transition:transform .2s cubic-bezier(.16,.84,.44,1),background .2s,opacity .25s}
.lvp-big svg{width:34px;height:34px;margin-left:4px}
.lvp-big:hover{transform:scale(1.06);background:rgba(10,10,10,.7)}
.lvp-big:active{transform:scale(.97)}
.lvp-gold .lvp-big{background:var(--a);border-color:var(--a)!important;color:var(--a-ink)}
.lvp-gold .lvp-big:hover{background:#d8bb83}
.lvp-mono .lvp-big{border-radius:0;background:#000;border-color:#fff!important}
.lvp-mono .lvp-big:hover{background:#fff;color:#000}
.lvp-playing .lvp-big,.lvp-wait .lvp-big{opacity:0;pointer-events:none;transform:scale(.9)}
.lvp-sm .lvp-big{width:62px;height:62px;margin:-31px 0 0 -31px}
.lvp-sm .lvp-big svg{width:28px;height:28px}
/* before the first play the poster carries the film's title in the middle: the play sits bottom left as a pill
   ("Play 1:56") and the centre stays clear; once the film has started, a pause shows the round centre button */
.lvp-bl,.lvp-bd{display:none}
.lvp-idle .lvp-big{left:50%;top:61%;bottom:auto;transform:translate(-50%,-50%);width:auto;height:44px;margin:0;padding:0 18px 0 12px;gap:8px;border-radius:999px;
font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.lvp-idle .lvp-big svg{width:20px;height:20px;margin:0}
.lvp-idle .lvp-bl{display:inline}
.lvp-idle .lvp-bd{display:inline;font-weight:500;letter-spacing:.02em;opacity:.75;font-variant-numeric:tabular-nums}
.lvp-idle .lvp-big:hover{transform:translate(-50%,-50%)}
.lvp-mono.lvp-idle .lvp-big{border-radius:0}
.lvp-plain.lvp-idle .lvp-big{background:#fff;color:#111;border-color:#fff!important}
.lvp-idle .lvp-play,.lvp-idle .lvp-mute,.lvp-idle .lvp-time{visibility:hidden}
.lvp-full.lvp-idle .lvp-big{left:50%;bottom:auto}
/* buffering */
.lvp-spin{position:absolute;left:50%;top:calc(50% - 39px);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
border:3px solid rgba(255,255,255,.25);border-top-color:var(--a);opacity:0;pointer-events:none;transition:opacity .2s}
.lvp-wait .lvp-spin{opacity:1;animation:lvp-r .8s linear infinite}
@keyframes lvp-r{to{transform:rotate(360deg)}}
/* the bar */
.lvp-bar{position:absolute;left:0;right:0;bottom:0;padding:34px 10px 4px;
background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.42) 55%,rgba(0,0,0,0));transition:opacity .3s,transform .3s;pointer-events:none}
.lvp-bar>*{pointer-events:auto}
.lvp-idle .lvp-scrub{display:none}
.lvp-sm .lvp-bar{padding-top:22px}
.lvp-idle .lvp-bar{background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0))}
.lvp-hide .lvp-bar{opacity:0;transform:translateY(8px);pointer-events:none}
.lvp-hide{cursor:none}
.lvp-row{display:flex;align-items:center;gap:2px;min-height:44px}
.lvp-b{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--rad);opacity:.92}
.lvp-b:hover,.lvp-q:hover{opacity:1;background:rgba(255,255,255,.12)}
.lvp-ui button:focus-visible,.lvp-scrub:focus-visible{outline:2px solid var(--a);outline-offset:1px}
.lvp-time{padding:0 8px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.01em;opacity:.95}
.lvp-of,.lvp-dur{opacity:.72}
.lvp-sp{flex:1 1 auto}
.lvp-q{flex:none;height:44px;min-width:44px;padding:0 6px!important;display:flex;align-items:center;justify-content:center;border-radius:var(--rad)}
.lvp-badge{display:inline-block;padding:4px 8px;border:1px solid rgba(255,255,255,.55);border-radius:calc(var(--rad) / 2);
font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;line-height:1.25}
.lvp-gold .lvp-badge{border-color:var(--a);color:#e7d3a8}
.lvp-mono .lvp-badge{border-radius:0}
.lvp-q[aria-expanded="true"] .lvp-badge{background:var(--a);color:var(--a-ink);border-color:var(--a)}
/* the scrub bar: a 32 px row, a 44 px touch area, a 4 px track that grows under a finger or the mouse */
.lvp-scrub{position:relative;height:30px;margin:0 6px;cursor:pointer;touch-action:none;display:flex;align-items:center}
.lvp-scrub::before{content:"";position:absolute;left:-6px;right:-6px;top:-8px;bottom:-6px}
.lvp-track{position:relative;width:100%;height:4px;border-radius:3px;background:rgba(255,255,255,.26);transition:height .15s}
.lvp-mono .lvp-track{border-radius:0}
.lvp-scrub:hover .lvp-track,.lvp-drag .lvp-track{height:6px}
.lvp-buf,.lvp-done{position:absolute;inset:0;border-radius:inherit;transform-origin:0 50%;transform:scaleX(0)}
.lvp-buf{background:rgba(255,255,255,.42)}
.lvp-done{background:var(--a)}
.lvp-knob{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--a);
box-shadow:0 1px 6px rgba(0,0,0,.5);transform:scale(0);transition:transform .15s}
.lvp-mono .lvp-knob{border-radius:0;width:12px;height:12px;margin:-6px 0 0 -6px}
.lvp-scrub:hover .lvp-knob,.lvp-drag .lvp-knob,.lvp-scrub:focus-visible .lvp-knob,.lvp-paused:not(.lvp-idle) .lvp-knob{transform:scale(1)}
.lvp-tip{position:absolute;bottom:30px;transform:translateX(-50%);padding:4px 8px;border-radius:6px;background:var(--panel);
font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}
.lvp-mono .lvp-tip{border-radius:0}
/* the quality menu: a list above the bar on wide players, a sheet over the film on narrow ones */
.lvp-menu{position:absolute;right:10px;bottom:84px;z-index:3;min-width:196px;padding:8px;border-radius:var(--rad);
background:var(--panel);box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lvp-mh{margin:2px 8px 6px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.lvp-items{display:flex;flex-direction:column;gap:2px}
.lvp-it{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 40px 0 12px!important;border-radius:calc(var(--rad) * .7);text-align:left;font-size:14px!important;font-weight:600!important}
.lvp-it:hover,.lvp-it:focus-visible{background:rgba(255,255,255,.1)}
.lvp-it small{font-size:12px;font-weight:500;opacity:.7}
.lvp-it svg{position:absolute;right:12px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--a);opacity:0}
.lvp-it.lvp-sel svg{opacity:1}
.lvp-it.lvp-sel{color:var(--a)}
.lvp-mono .lvp-it.lvp-sel{color:#fff;background:rgba(255,255,255,.14)}
.lvp-idle .lvp-menu{bottom:54px}
.lvp-sm .lvp-menu{left:8px;right:8px;top:8px;bottom:8px;min-width:0;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}
.lvp-sm .lvp-mh{margin:0 4px 6px}
.lvp-sm .lvp-items{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.lvp-sm .lvp-it{justify-content:center;flex-direction:column;gap:0;padding:4px 6px!important;text-align:center;background:rgba(255,255,255,.07);line-height:1.15}
.lvp-sm .lvp-it svg{display:none}
.lvp-sm .lvp-it.lvp-sel{background:var(--a);color:var(--a-ink)}
.lvp-sm .lvp-it.lvp-sel small{opacity:.8}
.lvp-xs .lvp-pip{display:none}
.lvp-xs .lvp-time{padding:0 4px;font-size:12px}
.lvp-xs .lvp-bar{padding-left:6px;padding-right:6px}
.lvp-xs .lvp-b{width:44px}
/* full screen */
.lvp-full,.lvp:fullscreen{width:100%;height:100%;border-radius:0;background:#000}
.lvp:-webkit-full-screen{width:100%;height:100%;background:#000}
.lvp-full .lvp-bar{padding:40px 22px 14px}
@media(prefers-reduced-motion:reduce){.lvp-big,.lvp-bar,.lvp-track,.lvp-knob,.lvp-spin{transition:none}}

/* volume slider (2026-10-10, ported from the site-factory video.css player): mouse screens only - a phone has its own buttons and
   iPhone / iPad Safari ignore video.volume (player.js adds lvp-novol there); the mute button shows everywhere */
.lvp-vol{flex:none;display:flex;align-items:center}
.lvp-volr{display:none}
@media (hover:hover) and (pointer:fine){
  .lvp-volr{--vv:100%;display:block;flex:none;width:72px;height:44px;margin:0 6px 0 0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none;outline:none;border-radius:var(--rad)}
  .lvp-volr::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--a) var(--vv),rgba(255,255,255,.3) var(--vv))}
  .lvp-volr::-moz-range-track{height:4px;border-radius:2px;background:rgba(255,255,255,.3)}
  .lvp-volr::-moz-range-progress{height:4px;border-radius:2px;background:var(--a)}
  .lvp-volr::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);transition:transform .15s}
  .lvp-volr::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
  .lvp-volr:active::-webkit-slider-thumb{transform:scale(1.2)}
  .lvp-volr:focus-visible{outline:2px solid var(--a);outline-offset:1px}
  .lvp-mono .lvp-volr::-webkit-slider-runnable-track,.lvp-mono .lvp-volr::-moz-range-track,.lvp-mono .lvp-volr::-moz-range-progress,
  .lvp-mono .lvp-volr::-webkit-slider-thumb,.lvp-mono .lvp-volr::-moz-range-thumb{border-radius:0}
  .lvp-xs .lvp-volr{width:56px;margin-right:2px}
  .lvp-novol .lvp-volr{display:none}
}
.lvp-idle .lvp-volr{visibility:hidden}
@media(prefers-reduced-motion:reduce){.lvp-volr::-webkit-slider-thumb{transition:none}}
