/* Extracted from page_panels/videos.php block 1 */
:root{
        --wv-card: rgba(8,10,14,0.62);
        --wv-border: rgba(255,255,255,0.10);
        --wv-border2: rgba(255,255,255,0.08);
        --wv-text: rgba(255,255,255,0.92);
        --wv-muted: rgba(255,255,255,0.70);
        --wv-dim: rgba(255,255,255,0.60);
        --wv-shadow: 0 24px 80px rgba(0,0,0,0.62);
    }

    .wv-gallery{
        position: relative;
        background: #000;
        color: var(--wv-text);
        padding: 2.75rem 1.1rem 3.5rem;
        overflow: hidden;
    }

    .wv-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
    .wv-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:translateZ(0); }

    .wv-overlay{
        position:absolute; inset:0;
        background:
            radial-gradient(1100px 760px at 18% 10%, rgba(0,0,0,0.18), rgba(0,0,0,0.82) 60%, rgba(0,0,0,0.92) 100%),
            linear-gradient(to bottom, rgba(0,0,0,0.28), rgba(0,0,0,0.84));
    }

    .wv-noise{
        position:absolute; inset:0;
        opacity:0.10;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
        background-size:220px 220px;
    }

    .wv-inner{
        position: relative;
        z-index: 2;
        width: min(1680px, calc(100vw - 2.4rem));
        max-width: 1680px;
        margin: 0 auto;
    }

    .wv-home-band{
        display:grid;
        grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.95fr);
        gap: 1.2rem;
        align-items:start;
    }

    .wv-home-side{
        display:grid;
        gap: 1.2rem;
    }

    .wv-canvas{ display:grid; gap:1.35rem; }

    .wv-stage{
        min-height: 620px;
        padding: 0;
        overflow: hidden;
        background: rgba(7,12,18,0.70);
    }

    .wv-stage-media{
        position:absolute;
        inset:0;
    }

    .wv-stage-media img,
    .wv-stage-media .wv-thumb-placeholder{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .wv-stage-fade{
        position:absolute;
        inset:0;
        background:
            linear-gradient(90deg, rgba(4,8,15,0.88) 0%, rgba(4,8,15,0.54) 36%, rgba(4,8,15,0.18) 62%, rgba(4,8,15,0.78) 100%),
            linear-gradient(180deg, rgba(11,16,24,0.28) 0%, rgba(11,16,24,0.62) 72%, rgba(11,16,24,0.94) 100%);
    }

    .wv-stage-shell{
        position:relative;
        z-index:2;
        min-height: 620px;
        display:grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items:center;
        gap:1rem;
        padding: clamp(2rem, 5vw, 4rem);
    }

    .wv-stage-copy{ max-width: 640px; }

    .wv-stage-kicker{
        font-size:0.78rem;
        text-transform:uppercase;
        letter-spacing:0.16em;
        font-weight:900;
        color:rgba(255,255,255,0.58);
        margin-bottom:0.9rem;
    }

    .wv-stage-title{
        margin:0;
        font-size:clamp(2.7rem, 6vw, 4.6rem);
        line-height:0.98;
        letter-spacing:-0.04em;
        font-weight:900;
    }

    .wv-stage-sub{
        margin-top:1rem;
        font-size:clamp(1rem, 1.6vw, 1.45rem);
        line-height:1.5;
        color:rgba(255,255,255,0.76);
        max-width: 28ch;
    }

    .wv-stage-actions{
        display:flex;
        gap:0.8rem;
        flex-wrap:wrap;
        margin-top:1.5rem;
    }

    .wv-stage-play{
        width:104px;
        height:104px;
        border-radius:2px;
        border:2px solid rgba(255,255,255,0.35);
        background:rgba(255,255,255,0.12);
        backdrop-filter: blur(6px);
        display:flex;
        align-items:center;
        justify-content:center;
        color:#fff;
        text-decoration:none;
        box-shadow:0 30px 80px rgba(0,0,0,0.45);
    }

    .wv-stage-play span{
        font-size:2rem;
        text-indent:6px;
    }

    .wv-btn-accent{
        background:#ff3b30;
        color:#fff;
        border-color:#ff3b30;
    }

    .wv-btn-accent:hover{
        background:#ff4e45;
        border-color:#ff4e45;
    }

    .wv-btn-dark{
        background:rgba(9,15,24,0.68);
        border-color:rgba(255,255,255,0.14);
    }

    .wv-feature-row,
    .wv-trending-row,
    .wv-latest-row{
        display:grid;
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:1rem;
    }

    .wv-trending-row{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
    .wv-latest-row{ grid-template-columns:repeat(4, minmax(0, 1fr)); }

    .wv-feature-card{
        text-decoration:none;
        color:inherit;
        border-radius:2px;
        overflow:hidden;
        background:rgba(255,255,255,0.04);
        border:1px solid rgba(255,255,255,0.08);
        box-shadow:0 18px 40px rgba(0,0,0,0.20);
    }

    .wv-feature-thumb{
        position:relative;
        padding-top:56.25%;
        overflow:hidden;
        background:rgba(0,0,0,0.30);
    }

    .wv-feature-thumb img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .wv-feature-body{
        padding:.85rem .95rem 1rem;
        background:linear-gradient(180deg, rgba(25,31,41,0.96), rgba(18,23,31,0.98));
    }

    .wv-feature-title{
        font-size:1rem;
        font-weight:900;
        line-height:1.2;
    }

    .wv-feature-meta{
        margin-top:.35rem;
        color:rgba(255,255,255,0.52);
        font-weight:700;
    }

    .wv-trend-nav{
        display:flex;
        gap:.45rem;
        color:rgba(255,255,255,0.78);
        font-size:1.25rem;
    }

    .wv-discovery{
        display:grid;
        grid-template-columns:minmax(0, 1.4fr) minmax(280px, 0.8fr);
        gap:1.4rem;
        align-items:start;
    }

    .wv-category-grid{
        display:grid;
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:1rem;
    }

    .wv-category-card{
        text-decoration:none;
        color:inherit;
        min-height:126px;
        border-radius:2px;
        padding:1.15rem .95rem;
        background:linear-gradient(180deg, rgba(39,45,56,0.9), rgba(20,25,34,0.96));
        border:1px solid rgba(255,255,255,0.08);
        box-shadow:0 14px 32px rgba(0,0,0,0.18);
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:.35rem;
    }

    .wv-category-icon{
        font-size:1.7rem;
        line-height:1;
        color:rgba(255,255,255,0.92);
    }

    .wv-category-title{
        font-size:1.05rem;
        font-weight:900;
    }

    .wv-category-meta{
        color:rgba(255,255,255,0.55);
        font-size:.84rem;
        font-weight:700;
    }

    .wv-picks{
        border-left:1px solid rgba(255,255,255,0.10);
        padding-left:1.2rem;
    }

    .wv-picks-list{
        display:grid;
        gap:.75rem;
    }

    .wv-pick-item{
        display:flex;
        align-items:center;
        gap:.8rem;
        text-decoration:none;
        color:inherit;
        min-height:58px;
        padding:.9rem 1rem;
        border-radius:2px;
        background:rgba(255,255,255,0.04);
        border:1px solid rgba(255,255,255,0.08);
    }

    .wv-pick-check{
        width:15px;
        height:15px;
        border-radius:2px;
        border:1px solid rgba(255,255,255,0.34);
        flex:0 0 auto;
    }

    .wv-pick-text{
        font-weight:800;
        line-height:1.35;
    }

    .wv-upload-spotlight{
        margin-top:1.6rem;
        padding:clamp(1.25rem, 3vw, 2.2rem);
        display:grid;
        grid-template-columns:minmax(0, 1fr) minmax(250px, 360px);
        align-items:center;
        gap:1.25rem;
        background:
            radial-gradient(520px 260px at 18% 0%, rgba(255,201,71,0.18), transparent 62%),
            radial-gradient(460px 250px at 92% 95%, rgba(255,59,48,0.28), transparent 64%),
            linear-gradient(135deg, rgba(27,33,44,0.86), rgba(9,12,18,0.96));
    }

    .wv-upload-spotlight::before{
        opacity:1;
        background:radial-gradient(760px 360px at var(--mx, 70%) var(--my, 30%), rgba(255,255,255,0.16), rgba(255,255,255,0) 58%);
    }

    .wv-upload-copy,
    .wv-upload-action{
        position:relative;
        z-index:2;
    }

    .wv-upload-kicker{
        color:#ffc947;
        font-size:.78rem;
        font-weight:900;
        letter-spacing:.12em;
        text-transform:uppercase;
        margin-bottom:.45rem;
    }

    .wv-upload-title{
        margin:0;
        font-size:clamp(1.85rem, 4vw, 3.5rem);
        line-height:1;
        font-weight:900;
        letter-spacing:0;
    }

    .wv-upload-sub{
        max-width:680px;
        margin-top:.7rem;
        color:rgba(255,255,255,0.76);
        font-size:1.03rem;
        line-height:1.5;
        font-weight:700;
    }

    .wv-upload-action{
        min-height:112px;
        padding:1rem;
        border-radius:2px;
        color:#fff;
        text-decoration:none;
        display:flex;
        align-items:center;
        gap:.9rem;
        background:linear-gradient(135deg, #ff3b30, #ff7a1a);
        border:1px solid rgba(255,255,255,0.24);
        box-shadow:0 22px 60px rgba(255,59,48,0.32);
        transition:transform .18s ease, box-shadow .18s ease;
    }

    .wv-upload-action:hover{
        transform:translateY(-2px);
        box-shadow:0 28px 74px rgba(255,59,48,0.42);
    }

    .wv-upload-icon{
        width:58px;
        height:58px;
        border-radius:2px;
        display:flex;
        align-items:center;
        justify-content:center;
        background:rgba(255,255,255,0.18);
        border:1px solid rgba(255,255,255,0.24);
        font-size:1.35rem;
        line-height:1;
    }

    .wv-upload-action-text{
        display:grid;
        gap:.2rem;
        min-width:0;
    }

    .wv-upload-action-text strong{
        font-size:1.2rem;
        line-height:1.1;
    }

    .wv-upload-action-text em{
        color:rgba(255,255,255,0.78);
        font-style:normal;
        font-weight:800;
        font-size:.88rem;
    }

    .wv-panel{
        border-radius: 2px;
        background: var(--wv-card);
        border: 1px solid var(--wv-border);
        backdrop-filter: blur(12px);
        box-shadow: var(--wv-shadow);
        position: relative;
        overflow: hidden;
    }

    .wv-panel::before{
        content:"";
        position:absolute; inset:-2px;
        background: radial-gradient(700px 350px at var(--mx, 30%) var(--my, 20%), rgba(255,255,255,0.12), rgba(255,255,255,0) 55%);
        opacity:0.75;
        pointer-events:none;
    }

    .wv-panel::after{
        content:"";
        position:absolute; inset:0;
        background: linear-gradient(120deg, rgba(255,255,255,0.08), rgba(255,255,255,0) 28%, rgba(255,255,255,0.05) 62%, rgba(255,255,255,0));
        opacity:0.18;
        pointer-events:none;
    }

    .wv-muted{ color: rgba(255,255,255,0.62); }

    /* header */
    .wv-head{
        padding: 1.05rem 1.05rem 1.1rem;
        margin-bottom: 1.2rem;
    }

    .wv-head-top{
        position:relative;
        z-index:2;
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:1rem;
        margin-bottom: 0.95rem;
        flex-wrap:wrap;
    }

    .wv-title{
        margin:0;
        font-weight:900;
        letter-spacing:-0.02em;
        font-size: clamp(1.45rem, 2.6vw, 2.05rem);
        line-height:1.05;
    }

    .wv-sub{
        margin-top: 0.35rem;
        color: rgba(255,255,255,0.70);
        font-weight:700;
        max-width: 780px;
    }

    .wv-stats{
        display:flex;
        gap:0.65rem;
        align-items:stretch;
        flex-wrap:wrap;
    }

    .wv-stat{
        border-radius:2px;
        border:1px solid rgba(255,255,255,0.12);
        background: rgba(0,0,0,0.22);
        padding:0.6rem 0.75rem;
        min-width: 120px;
        position:relative;
        z-index:2;
    }

    .wv-stat-k{
        font-weight:900;
        font-size:0.72rem;
        color: rgba(255,255,255,0.62);
        letter-spacing:0.03em;
        text-transform:uppercase;
        margin-bottom:0.2rem;
    }

    .wv-stat-v{
        font-weight:900;
        font-size:0.95rem;
        color: rgba(255,255,255,0.92);
        text-decoration:none;
    }

    .wv-link{
        color: rgba(255,255,255,0.86);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .wv-stat-upload{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:30px;
        padding:0 0.72rem;
        border-radius:2px;
        background:#ff3b30;
        border:1px solid rgba(255,255,255,0.18);
        color:#fff;
        box-shadow:0 12px 26px rgba(255,59,48,0.28);
    }

    /* simple controls */
    .wv-controls-simple{
        position:relative;
        z-index:2;
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:0.75rem;
        flex-wrap:wrap;
    }

    .wv-label{
        display:block;
        font-weight:900;
        font-size:0.74rem;
        color: rgba(255,255,255,0.62);
        letter-spacing:0.03em;
        text-transform:uppercase;
        margin-bottom:0.35rem;
    }

    .wv-searchbar{ flex: 1 1 520px; min-width: 260px; }
    .wv-searchwrap{
        position:relative;
        display:flex;
        align-items:center;
    }

    .wv-searchwrap input{
        width:100%;
        border-radius:2px;
        border:1px solid rgba(255,255,255,0.14);
        background: rgba(0,0,0,0.30);
        color: rgba(255,255,255,0.90);
        padding:0.7rem 2.35rem 0.7rem 0.85rem;
        outline:none;
    }

    .wv-searchwrap input:focus{
        border-color: rgba(255,255,255,0.28);
        background: rgba(0,0,0,0.36);
    }

    .wv-clear{
        position:absolute;
        right:10px;
        top:50%;
        transform: translateY(-50%);
        width:28px;
        height:28px;
        border-radius:2px;
        border: 1px solid rgba(255,255,255,0.18);
        background: rgba(0,0,0,0.30);
        color: rgba(255,255,255,0.88);
        font-weight:900;
        text-decoration:none;
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
        line-height:1;
        padding:0;
    }

    .wv-clear:hover{
        background: rgba(255,255,255,0.10);
        border-color: rgba(255,255,255,0.24);
    }

    .wv-clear.is-hidden{ display:none; }

    .wv-hint{
        margin-top: 0.45rem;
        color: rgba(255,255,255,0.62);
        font-weight:800;
        font-size:0.90rem;
    }

    .wv-q{
        color: rgba(255,255,255,0.90);
        font-weight:900;
    }

    .wv-actions{
        display:flex;
        gap:0.55rem;
        justify-content:flex-end;
        align-items:center;
        flex-wrap:wrap;
    }

    .wv-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        height: 40px;
        padding: 0 1.05rem;
        border-radius: 2px;
        font-weight:900;
        text-decoration:none;
        border: 1px solid rgba(255,255,255,0.14);
        background: rgba(255,255,255,0.10);
        color: rgba(255,255,255,0.92);
        transition: transform 0.10s ease, background 0.10s ease, border-color 0.10s ease;
        cursor:pointer;
        white-space:nowrap;
    }

    .wv-btn:hover{
        background: rgba(255,255,255,0.14);
        border-color: rgba(255,255,255,0.22);
        transform: translateY(-1px);
    }

    .wv-btn:active{ transform: translateY(0); }

    .wv-btn-primary{
        background: rgba(255,255,255,0.90);
        color: rgba(0,0,0,0.92);
        border-color: rgba(255,255,255,0.90);
    }

    .wv-btn-primary:hover{
        background: rgba(255,255,255,0.98);
        border-color: rgba(255,255,255,0.98);
    }

    .wv-btn-ghost{
        background: rgba(0,0,0,0.22);
        color: rgba(255,255,255,0.88);
    }

    .wv-btn.is-disabled{
        opacity: 0.55;
        pointer-events:none;
    }

    /* hero */
    .wv-hero{
        margin-top: 1.1rem;
        padding: 0.95rem;
        display:grid;
        grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
        gap: 1rem;
        align-items:stretch;
    }

    .wv-hero-media{ text-decoration:none; color:inherit; }
    .wv-hero-thumb{
        position:relative;
        width:100%;
        padding-top:56.25%;
        border-radius: 2px;
        overflow:hidden;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(0,0,0,0.30);
        z-index:2;
    }

    .wv-hero-thumb img{
        position:absolute; inset:0;
        width:100%; height:100%;
        object-fit:cover;
        transform: scale(1.02);
        transition: transform 0.20s ease;
    }

    .wv-hero-media:hover .wv-hero-thumb img{ transform: scale(1.06); }

    .wv-hero-fade{
        position:absolute; inset:0;
        background: radial-gradient(circle at center, rgba(0,0,0,0.0), rgba(0,0,0,0.78));
        pointer-events:none;
    }

    .wv-hero-play{
        position:absolute;
        left:16px;
        bottom:16px;
        width:54px;
        height:54px;
        border-radius:2px;
        background: rgba(0,0,0,0.44);
        border: 2px solid rgba(255,255,255,0.70);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size: 1.35rem;
        text-indent: 2px;
        box-shadow: 0 20px 60px rgba(0,0,0,0.65);
        pointer-events:none;
    }

    .wv-hero-info{
        position:relative;
        z-index:2;
        display:flex;
        flex-direction:column;
        justify-content:center;
        padding: 0.35rem 0.2rem;
        min-width:0;
    }

    .wv-hero-kicker{
        font-weight:900;
        font-size:0.72rem;
        letter-spacing:0.03em;
        text-transform:uppercase;
        color: rgba(255,255,255,0.62);
        margin-bottom:0.35rem;
    }

    .wv-hero-title{
        font-weight:900;
        text-decoration:none;
        color: rgba(255,255,255,0.94);
        font-size: 1.25rem;
        line-height:1.15;
        margin-bottom: 0.55rem;
    }

    .wv-hero-title:hover{ text-decoration: underline; text-underline-offset: 3px; }

    .wv-hero-meta{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:0.45rem;
        color: rgba(255,255,255,0.70);
        font-weight:900;
        margin-bottom: 0.75rem;
    }

    .wv-dot{ opacity:0.65; }

    .wv-hero-desc{
        color: rgba(255,255,255,0.74);
        line-height: 1.55;
        margin-bottom: 0.85rem;
    }

    .wv-hero-actions{ display:flex; gap:0.55rem; flex-wrap:wrap; }

    /* sections */
    .wv-section{ margin-top: 1.35rem; }
    .wv-section-compact{ margin-top: 0; }
    .is-hidden-home{ display:none; }
    .wv-section-head{
        display:flex;
        align-items:baseline;
        justify-content:space-between;
        gap:1rem;
        flex-wrap:wrap;
        margin-bottom: 0.65rem;
        padding: 0 0.1rem;
    }

    .wv-h2{
        margin:0;
        font-weight:900;
        font-size: 1.12rem;
        letter-spacing:-0.01em;
    }

    .wv-section-sub{
        color: rgba(255,255,255,0.62);
        font-weight:800;
        font-size:0.92rem;
    }

    /* grid */
    .wv-grid{
        display:grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.95rem;
    }

    .wv-grid-12{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wv-grid-browse{
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.05rem;
    }

    .wv-card{
        text-decoration:none;
        color: inherit;
        min-width:0;
    }

    .wv-thumb{
        position:relative;
        width:100%;
        padding-top:56.25%;
        border-radius: 2px;
        overflow:hidden;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(0,0,0,0.30);
    }

    .wv-thumb img{
        position:absolute; inset:0;
        width:100%; height:100%;
        object-fit:cover;
        transform: scale(1.02);
        transition: transform 0.20s ease;
    }

    .wv-card:hover .wv-thumb img{ transform: scale(1.06); }

    .wv-thumb-placeholder{
        position:absolute; inset:0;
        display:flex;
        align-items:center;
        justify-content:center;
        color: rgba(255,255,255,0.62);
        font-weight:900;
        background: rgba(255,255,255,0.06);
    }

    .wv-card-play{
        position:absolute;
        right:12px;
        top:12px;
        width:34px;
        height:34px;
        border-radius:2px;
        background: rgba(0,0,0,0.42);
        border: 1px solid rgba(255,255,255,0.22);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size: 0.95rem;
        text-indent: 2px;
        opacity: 0.0;
        transform: translateY(-2px);
        transition: opacity 0.18s ease, transform 0.18s ease;
        pointer-events:none;
    }

    .wv-card:hover .wv-card-play{
        opacity: 1.0;
        transform: translateY(0);
    }

    .wv-badge{
        position:absolute;
        left:10px;
        bottom:10px;
        border-radius: 2px;
        padding: 0.2rem 0.6rem;
        font-weight:900;
        font-size: 0.78rem;
        border: 1px solid rgba(255,255,255,0.18);
        background: rgba(0,0,0,0.42);
        color: rgba(255,255,255,0.90);
        z-index:2;
        white-space:nowrap;
    }

    .wv-badge-dur{
        left:auto;
        right:10px;
        bottom:10px;
        background: rgba(0,0,0,0.52);
    }

    .wv-badge-mini{
        left:10px;
        top:10px;
        bottom:auto;
    }

    .wv-badge-prov{
        left:10px;
        top:10px;
        bottom:auto;
    }

    .wv-card-body{
        padding: 0.55rem 0.15rem 0.15rem;
        min-width:0;
    }

    .wv-card-title{
        font-weight:900;
        line-height: 1.25;
        margin-bottom: 0.35rem;
        overflow:hidden;
        display:-webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .wv-card-meta{
        display:flex;
        flex-wrap:wrap;
        gap:0.45rem;
        color: rgba(255,255,255,0.62);
        font-weight:900;
        font-size:0.84rem;
        margin-bottom: 0.4rem;
    }

    .wv-card-desc{
        color: rgba(255,255,255,0.70);
        font-weight:800;
        font-size:0.88rem;
        line-height: 1.45;
        overflow:hidden;
        display:-webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    /* pager */
    .wv-pager{ margin-top: 1rem; padding: 0.85rem 0.9rem; }
    .wv-pager-inner{
        position:relative;
        z-index:2;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:0.8rem;
        flex-wrap:wrap;
    }

    .wv-pager-left{ display:flex; gap:0.55rem; align-items:center; }
    .wv-pager-mid{ color: rgba(255,255,255,0.70); font-weight:900; }
    .wv-pager-right{ display:flex; gap:0.35rem; align-items:center; flex-wrap:wrap; }

    .wv-ellipsis{ color: rgba(255,255,255,0.55); font-weight:900; padding: 0 0.3rem; }

    .wv-pill{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        height: 30px;
        padding: 0 0.75rem;
        border-radius: 2px;
        border: 1px solid rgba(255,255,255,0.14);
        background: rgba(0,0,0,0.22);
        color: rgba(255,255,255,0.82);
        font-weight:900;
        text-decoration:none;
        font-size:0.80rem;
        white-space:nowrap;
    }

    .wv-pill.is-on{
        background: rgba(255,255,255,0.86);
        color: rgba(0,0,0,0.92);
        border-color: rgba(255,255,255,0.86);
    }

    /* empty */
    .wv-empty{ margin-top: 0.95rem; padding: 1.15rem; }
    .wv-empty-inner{ position:relative; z-index:2; text-align:center; }
    .wv-empty-title{ font-weight:900; font-size:1.1rem; margin-bottom:0.35rem; }
    .wv-empty-sub{ color: rgba(255,255,255,0.68); font-weight:800; margin-bottom:0.85rem; }
    .wv-empty-actions{ display:flex; justify-content:center; gap:0.55rem; flex-wrap:wrap; }

    /* footer */
    .wv-footer{
        margin-top: 1.65rem;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:1rem;
        flex-wrap:wrap;
        color: rgba(255,255,255,0.62);
        font-weight:900;
        padding: 0.25rem 0.1rem 0;
    }

    .wv-footer-left{ display:flex; gap:0.45rem; flex-wrap:wrap; align-items:center; }
    .wv-footer-pill{
        border:1px solid rgba(255,255,255,0.12);
        background: rgba(0,0,0,0.18);
        border-radius:2px;
        padding: 0.15rem 0.6rem;
        font-size:0.78rem;
        color: rgba(255,255,255,0.70);
        white-space:nowrap;
    }

    .wv-footer-link{
        color: rgba(255,255,255,0.80);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    /* responsive */
    @media (max-width: 1400px){
        .wv-home-band{ grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.9fr); }
        .wv-grid-browse{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .wv-trending-row,
        .wv-latest-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
        .wv-category-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 920px){
        .wv-inner{ width: min(1680px, calc(100vw - 2rem)); }
        .wv-stage{ min-height: 520px; }
        .wv-stage-shell{
            min-height:520px;
            grid-template-columns:minmax(0, 1fr);
            justify-items:start;
        }
        .wv-stage-play{
            width:82px;
            height:82px;
        }
        .wv-feature-row,
        .wv-trending-row,
        .wv-latest-row,
        .wv-category-grid,
        .wv-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .wv-discovery{ grid-template-columns:minmax(0, 1fr); }
        .wv-picks{
            border-left:none;
            padding-left:0;
        }
        .wv-upload-spotlight{
            grid-template-columns:minmax(0, 1fr);
        }
        .wv-actions{ justify-content:flex-start; }
        .wv-controls-simple{ align-items:stretch; }
    }

    @media (max-width: 560px){
        .wv-gallery{ padding: 2.4rem 1rem 3.2rem; }
        .wv-stage{
            min-height: 460px;
        }
        .wv-stage-shell{
            min-height:460px;
            padding: 1.35rem 1.1rem 1.5rem;
        }
        .wv-stage-title{
            font-size:2.3rem;
        }
        .wv-stat{ min-width: 110px; }
        .wv-feature-row,
        .wv-trending-row,
        .wv-latest-row,
        .wv-category-grid,
        .wv-grid{ grid-template-columns: minmax(0, 1fr); }
        .wv-upload-action{
            min-height:96px;
        }
        .wv-upload-icon{
            width:50px;
            height:50px;
            border-radius:2px;
        }
    }


