/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   RLC VIDEO PLAYER â€” rlc-video-custom.css
   Version: 1.0.0

   Matches the design language of the lightbox (dark, minimal, DM Mono).
   All rules are scoped to .rlc-videocontainer or .rlc-hasvideo-custom
   to avoid collisions with other page styles.

   CAPTION DISPLAY
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   .rlc-vc-caption-display is intentionally left mostly unstyled â€”
   position it and style the text however your design requires.
   The only defaults set here are: hidden when empty, block when active.

   DESIGN TOKENS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   The player respects these CSS custom properties if set on a parent:
     --rlc-vc-accent       scrubber progress + active state  (default: #c8ff00)
     --rlc-vc-fg           icon and scrubber track color     (default: #e8e4dc)
     --rlc-vc-bg           controls background               (default: rgba(12,12,12,0.6))
     --rlc-vc-icon-size    button icon size                  (default: 18px)
     --rlc-vc-btn-size     button hit area                   (default: 36px)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€â”€ CONTAINER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-hasvideo-custom .rlc-videocontainer {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #000;
    /* Cursor hides when controls hide during playback */
    cursor: default;
}

.rlc-hasvideo-custom .rlc-videocontainer.rlc-vc-playing.rlc-vc-controls-hidden {
    cursor: none;
}

/* â”€â”€â”€ POSTER PICTURE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-hasvideo-custom .rlc-picture {
    position: absolute;
    inset: 0;
    z-index: 2;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.rlc-hasvideo-custom .rlc-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rlc-hasvideo-custom .rlc-picture.rlc-vc-poster-hidden {
    opacity: 0;
    pointer-events: none;
}

/* â”€â”€â”€ VIDEO ELEMENT â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-hasvideo-custom .rlc-vc-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 1;
}

/* â”€â”€â”€ CONTROLS WRAPPER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-hasvideo-custom .rlc-vc-controls {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    /* children re-enable as needed */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.rlc-hasvideo-custom .rlc-vc-controls.rlc-vc-controls-hidden {
    opacity: 0;
    transition: opacity 0.6s ease;
}

.rlc-hasvideo-custom .rlc-vc-controls.rlc-vc-controls-visible {
    opacity: 1;
    transition: opacity 0.2s ease;
}

/* â”€â”€â”€ SCRUBBER TRACK â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-hasvideo-custom .rlc-vc-scrubber-track {
    position: relative;
    width: 100%;
    height: 4px;
    background: #fff;
    /* time remaining */
    cursor: pointer;
    pointer-events: all;
    flex-shrink: 0;
    transition: height 0.15s ease;
}

.rlc-hasvideo-custom .rlc-vc-scrubber-track:hover,
.rlc-hasvideo-custom .rlc-vc-scrubbing .rlc-vc-scrubber-track {
    height: 5px;
}

.rlc-hasvideo-custom .rlc-vc-scrubber-progress {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: #000;
    /* elapsed â€” white/cream */
    pointer-events: none;
    transition: width 0.05s linear;
}

/* Scrubber thumb â€” appears on hover/drag */
.rlc-hasvideo-custom .rlc-vc-scrubber-progress::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rlc-vc-fg, #e8e4dc);
    transition: transform 0.15s ease;
}

.rlc-hasvideo-custom .rlc-vc-scrubber-track:hover .rlc-vc-scrubber-progress::after,
.rlc-hasvideo-custom .rlc-vc-scrubbing .rlc-vc-scrubber-progress::after {
    transform: translateY(-50%) scale(1);
}

/* â”€â”€â”€ BUTTONS ROW â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-hasvideo-custom .rlc-vc-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    padding: 8px 10px 0;
    pointer-events: all;
}

/* â”€â”€â”€ INDIVIDUAL BUTTONS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rlc-creative_v3 .rlc-hasvideo-custom .rlc-vc-btn.rlc-button {
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    opacity: 1;
    transition: opacity 0.2s ease, transform 0.15s ease;
    border-radius: 50%;
    flex-shrink: 0;
    margin: 0 0.375em;
}

/* .rlc-vc-btn:hover {
  opacity: 1;
  transform: scale(1.1);
}

.rlc-vc-btn:active {
  transform: scale(0.95);
} 

.rlc-vc-btn.rlc-vc-btn-active {
  opacity: 1;
  color: var(--rlc-vc-accent, #c8ff00);
}

.rlc-vc-btn.rlc-vc-btn-disabled {
  opacity: 0.25;
  cursor: default;
  pointer-events: none;
}*/

.rlc-hasvideo-custom .rlc-vc-btn svg {
    width: 1.25em;
    height: 1.25em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
}

/* Play/pause icon is filled, not stroked */
.rlc-hasvideo-custom .rlc-vc-playpause svg {
    fill: currentColor;
    stroke: none;
}

/* Mute icon fill elements */
.rlc-hasvideo-custom .rlc-vc-mute svg polygon {
    fill: currentColor;
    stroke: none;
}

.rlc-hasvideo-custom .rlc-vc-mute svg line {
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.rlc-hasvideo-custom .rlc-vc-mute svg path {
    fill: currentColor;
    stroke: none;
}

/* Captions icon */
.rlc-hasvideo-custom .rlc-vc-captions svg rect:first-child {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.rlc-hasvideo-custom .rlc-vc-captions svg line {
    stroke: currentColor;
    stroke-width: 2;
}

/* â”€â”€â”€ CAPTION DISPLAY â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/*
  Intentionally minimal â€” position and style
  this element to suit your layout.
  It is a sibling of .rlc-videocontainer inside
  .rlc-hasvideo-custom.
*/
.rlc-hasvideo-custom .rlc-vc-caption-display {
    display: none;
    pointer-events: none;
}

.rlc-hasvideo-custom .rlc-vc-caption-display.rlc-vc-captions-active {
    display: block;
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 67.87%, rgba(0, 0, 0, 0.50) 105.54%);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 3.75em;
}

.rlc-hasvideo-custom .rlc-vc-caption-display.rlc-vc-captions-active .rlc-vc-caption-text {
    font-family: RL_DroidKufi, "LeJeuneDeck-Regular", Arial, Helvetica, sans-serif;
    font-size: 1.25em;
    line-height: 1.4em;
    letter-spacing: 0;
    width: 75%;
}

/* â”€â”€â”€ MOBILE â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 767px) {
    .rlc-hasvideo-custom .rlc-vc-btn {
        --rlc-vc-btn-size: 40px;
        --rlc-vc-icon-size: 20px;
    }

    .rlc-hasvideo-custom .rlc-vc-scrubber-track {
        height: 4px;
        /* slightly thicker on touch for easier scrubbing */
    }
}