@charset "utf-8";
/* stylelint-disable */
    body {
        margin: 0; 
        background: #000; 
        color: white; 
        font-family: Arial, sans-serif;
    }

    #videoContainer {
        position: relative; 
        width: 90%; 
        max-width: 576px; 
        margin: 0 auto;
        top:60px;
        background: #20201E;
        background-image:url("../../imgs/098.png");
        margin-bottom: 20px;                 /* Adds space below the video container, pushing the wrapper down */
         box-sizing: border-box; 
        aspect-ratio: 4 / 3; 
        background-size: cover; /* Ensures the image fits fully inside the container without cropping */
    background-repeat: no-repeat;
    background-position: center;
    }

    #video {
        width: 100%; 
        height: auto; 
        max-height: 432px; 
        display: block; 
        object-fit: contain; 
        object-position: center; 
        margin: 0 auto;
    }

    #controls {
        position: absolute;
        bottom: 0; 
        left: 0; 
        right: 0; 
        background: rgba(0, 0, 0, 0.7); 
        padding: 0px 10px; 
        display: flex; 
        align-items: center;
        z-index: 10;
        /*top:450px;*/
    }

    button  {
        background: none; 
        border: none; 
        color: white; 
        cursor: pointer; 
        font-size: 16px; 
        margin-right: 10px;
    }
    
    /* ADDED STYLE FOR AUTO-RUN BUTTON STATE */
    #autoRunBtn.active {
        color: #00ff00; /* Highlight color when active */
    }
    #autoRunBtn {
        font-size:12px;
        font-variant:small-caps;
        padding: 4px 6px; /* Reduce padding for a tighter fit */
        white-space: nowrap; /* Ensures the text stays on one line (prevents forced wrapping) */
    }
    /* Added styles for prev/next buttons on video player */
    #prevVideoBtn, #nextVideoBtn {
        font-size: 18px;
        margin: 0 5px;
    }
    
    /* Added style for the new Extract Frame button */
    #extractFrameBtn {
        font-size: 12px;
        margin-right: 10px;
    }

    #progressContainer, #volumeContainer {
        flex: 1; 
        margin: 0 10px;
    }

    #progressBar, #volumeBar {
        width: 100%; 
        height: 10px; 
        background: #333; 
        border-radius: 5px; 
        cursor: pointer; 
        overflow: hidden; 
        position: relative;
    }

    .bar-fill {
        height: 100%; 
        background: #e74c3c; 
        width: 0%; 
        transition: width 0.1s ease;
    }

    #time {
        font-size: 12px; 
        min-width: 60px;
    }

    #videoContainer:fullscreen {
        width: 100vw; 
        height: 100vh;
    }

    /* --- VIDEO LIBRARY (CSS Grid Layout & Dynamic Padding) --- */
    #videoLibrary {
        position:relative;
        max-width: 576px; 
        margin: 20px auto; 
        min-height: 50px;
        box-sizing: border-box;
        display: grid;
                    /* stylelint-disable-next-line unknown-property */
        grid-template-columns: repeat(10, 1fr); 
        gap: 5px; 
        
        /* Initial padding is minimal, JS adjusts this dynamically to avoid overlap */
        padding: 10px 0px; 
    }
        
     @media screen and (min-width: 768px) {
        #videoLibrary {
            /* Override the 5 columns with the full 10 columns for large screens */
            grid-template-columns: repeat(10, 1fr); 
        }
         #autoRunBtn {
            font-size: 10px; /* Adjust this value as needed to stop wrapping */
            padding: 4px 6px; /* Reduce padding slightly as well */
        }
    }
    
    /* --- PAGINATION WRAPPER (Absolute Positioned for Centering) --- */
    #pagination {
        position:absolute;
        top: 50%;                         /* Move top edge to vertical center */
        transform: translateY(-50%);      /* Shift up by half its own height to center */
        width: 100%; 
        left: 0; 
        margin-top: 0px; 
        display: flex; 
        justify-content: space-between;     /* Pushes items to edges */
        z-index: 5; 
        padding: 0; 
        pointer-events: none; 
    }   
.video-area-wrapper {
    top:15px;
    position: relative;             /* Places the entire wrapper in normal document flow */
    margin: 0px auto;                 /* Centers the wrapper horizontally on the page */
    width:90%;
    max-width: 576px;                 /* Matches the width of the video container */
    }
    /* --- THUMBNAIL STYLES --- */
        
    .video-item {
        height: auto; 
        position: relative; 
        overflow: hidden; 
        background: #333;
        cursor: pointer;
        border: 2px solid transparent;
        border-radius: 4px; 
        box-sizing: border-box; 
        aspect-ratio: 1 / 1; 
    }

    .video-item:hover {
        border-color: #007bff;
    }

    .video-item img {

        height: 100%;
        width: 100%;         
        display: block;
        object-fit: cover; 
        /* ADD THIS LINE BACK: */
        pointer-events: none; 
      }
    .video-thumb {
        width: auto ; 
        height: 30px; 
        background: #000
    }

    /* --- PAGE BUTTONS STYLES & FIX FOR ALIGNMENT --- */
    .page-btn {
        border: none; 
        border-radius: 4px; 
        cursor: pointer;
        font-size:10px; 
        font-family:"Trebuchet MS", Arial, Verdana, Tahoma ;
        font-variant:small-caps;
        padding: 4px 10px; 
        background: rgba(0, 0, 0, 0.8); 
        color: white; 
        display: flex; 
        justify-content: center;
        align-items: center;
        white-space: nowrap;
        margin: 0 5px;   
        pointer-events: auto;
    }
    .chevron {
    font-size: 24px;
    vertical-align: middle;
    line-height: 1;
}     

    #nextPage {
        margin-left: auto;
    }
        
    .page-btn.active {
        background: #e74c3c;
    }

    /* --- FILTER BUTTON STYLES --- */
    .filter-btn {
        padding: 4px 6px; 
        margin: 0 5px; 
        background: #000; 
        color: white; 
        border: none; 
        border-radius: 4px; 
        cursor: pointer;
        font-size:10px;
        font-family:"Trebuchet MS", Arial, Verdana, Tahoma ;
    }

    .filter-btn.active {
        background: #e74c3c;
        padding: 4px 6px; 
    }    
    
    /* --- HEADER & FILTER CONTAINER POSITIONING --- */
    #lg_img {
        position:absolute;
        left:50%;
        transform:translateX(-50%);
        top:12px;
    }
     
     #filterContainer {
         position:relative;
         text-align: center;
         margin: 10px 0;
         top:50px;
    }
        
    /* --- NEW: Utility class to hide buttons in JS --- */
    .hidden-btn {
        display: none !important;
    }
    #pageStatusContainer {
        position: relative;
        display: block !important; /* Ensure it's treated as a visible block */
        visibility: visible !important; /* Ensure it's not hidden by the visibility property */
        opacity: 1 !important; /* Ensure it's not transparent */
        text-align: center; /* Center the text as requested */
        font-size:10px;
        font-family:"Trebuchet MS", Arial, Verdana, Tahoma ;
        font-variant:small-caps;
        color: white; 
        margin-top: 0px; 
        z-index: 20;
        top:90px;
    }
        
    .spinner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border: 4px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top: 4px solid #e74c3c; /* Accent color */
      width: 40px;
      height: 40px;
      animation: spin 1s linear infinite;
      display: none; /* Hidden by default, shown by JS */
      z-index: 20;
    }

    @keyframes spin {
      0% { transform: translate(-50%, -50%) rotate(0deg); }
      100% { transform: translate(-50%, -50%) rotate(360deg); }
    }
    
    #ceremony{
        font-variant:small-caps;
        font-size:11px;
        }
    
@media screen and (max-width: 400px) {
    #videoLibrary {
        /* On very narrow screens (phones in portrait), reduce to 5 columns */
        grid-template-columns: repeat(5, 1fr);
    }
    #autoRunBtn {
        font-size: 10px; /* Reduce font size */
        padding: 4px 6px; /* Reduce padding for a tighter fit */
        white-space: nowrap; /* Ensures the text stays on one line */
    }
}
