/* Base / fonts */
:root{
    --bg:#111;
    --muted:#c7c7c7;
    --accent:#4ea3d8;
    --card:#1f1f1f;
    --panel:#1b1b1b;
    --text:#d8d8d8;
    --nav-bg:rgba(0,0,0,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Source Sans Pro', Arial, sans-serif;
    font-size:16px;
    line-height:1.6;
    background:var(--bg);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
}

a{transition:all .18s ease;color:var(--muted);text-decoration:none}
a:hover{color:#7dd3fc}

a:focus-visible,
button:focus-visible,
input:focus-visible{
    outline:2px solid #7dd3fc;
    outline-offset:2px;
}

.top-header{
    display:flex;
    align-items:center;
    gap:18px;
    padding:14px 22px;
    background:rgba(0,0,0,.35);
    backdrop-filter:blur(4px);
    position:sticky;
    top:0;
    z-index:1100;
}

.logo-wrap{flex:0 0 auto}
.pvx-logo{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    line-height:1;
}
.pvx-logo-icon{color:var(--accent);font-size:1.15rem}
.pvx-logo-text{color:var(--accent);font-size:1.35rem;font-weight:700}

.search-bar{
    display:flex;
    flex:1;
    max-width:820px;
    margin-left:auto;
}
.search-bar input{
    flex:1;
    padding:10px 12px;
    border:1px solid #333;
    background:#0f0f0f;
    color:#fff;
    border-radius:8px 0 0 8px;
    outline:none;
}
.search-bar input::placeholder{color:#8a8a8a}
.search-bar button{
    padding:10px 14px;
    border:1px solid #333;
    border-left:0;
    cursor:pointer;
    background:var(--accent);
    color:#fff;
    border-radius:0 8px 8px 0;
}
.search-bar button:hover{background:#3b8fbf}

.main-nav{
    background:var(--nav-bg);
    backdrop-filter:blur(4px);
    display:flex;
    gap:18px;
    padding:10px 22px;
    align-items:center;
    flex-wrap:wrap;
    position:sticky;
    top:64px;
    z-index:1050;
    border-top:1px solid rgba(255,255,255,0.02);
    border-bottom:1px solid rgba(255,255,255,0.02);
}
.main-nav a{color:#fff;padding:6px 0;border-bottom:2px solid transparent}
.main-nav a:hover{border-bottom-color:#fff}
.main-nav a.active{border-bottom-color:#fff}

.layout{
    display:flex;
    gap:22px;
    padding:28px;
    padding-top:34px;
    align-items:flex-start;
}

.sidebar{
    width:240px;
    background:var(--panel);
    padding:20px;
    min-height:calc(100vh - 160px);
    border-radius:6px;
}
.sidebar h3{margin-top:0;color:var(--accent)}
.sidebar a{display:block;padding:8px 0;color:var(--muted)}
.sidebar a:hover{color:#7dd3fc}

.content{flex:1;padding:0}
.content h1{font-size:2.2rem;color:#f2f2f2;margin:0 0 18px}
.page-intro{
    margin:0 0 18px;
    color:#bfbfbf;
    max-width:900px;
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:8px;
    align-items:start;
    justify-content:start;
}
.video-card{
    background:var(--card);
    border-radius:10px;
    overflow:hidden;
    max-width:220px;
    margin:0;
    transition:transform .18s ease;
}
.video-card a{display:block;color:inherit}
.video-card img{
    width:100%;
    display:block;
    transition:transform .4s ease;
    aspect-ratio:16/9;
    object-fit:cover;
}
.video-card:hover img{transform:scale(1.06)}
.video-card .title{
    padding:12px;
    font-weight:700;
    color:#f2f2f2;
    font-size:1rem;
    text-align:center;
}

@media (max-width:1100px){
    .layout{padding:18px}
}

@media (max-width:900px){
    .sidebar{display:none}
    .layout{flex-direction:column;gap:12px;padding:12px}
    .content{width:100%}
    .top-header{padding:12px 16px}
    .search-bar{order:3;width:100%;max-width:none;margin-left:0}
    .main-nav{position:static;top:auto;padding:10px 16px}
    .video-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}
}

@media (max-width:640px){
    .top-header{flex-wrap:wrap}
    .pvx-logo-text{font-size:1.1rem}
    .pvx-logo-icon{font-size:1rem}
    .main-nav{gap:12px;padding:8px 12px}
    .content h1{font-size:1.8rem}
    .video-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px}
}
.site-footer{
    background:#151515;
    border-top:1px solid rgba(255,255,255,.06);
    margin-top:30px;
    color:#b9b9b9;
}

.footer-inner{
    display:grid;
    grid-template-columns:2fr 1fr 1.2fr;
    gap:28px;
    padding:28px 22px 18px;
    max-width:1400px;
    margin:0 auto;
}

.footer-col h3{
    margin:0 0 16px;
    color:#4ea3d8;
    font-size:1.25rem;
}

.footer-about p{
    margin:0;
    line-height:1.7;
    color:#b6b6b6;
    max-width:520px;
}

.footer-legal ul,
.footer-friends ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-legal li,
.footer-friends li{
    margin-bottom:10px;
}

.footer-legal a,
.footer-friends a{
    color:#c7c7c7;
}

.footer-legal a:hover,
.footer-friends a:hover{
    color:#7dd3fc;
}

.footer-rta{
    margin-top:18px;
}

.footer-rta img{
    max-width:120px;
    height:auto;
    display:block;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.06);
    padding:12px 22px;
    text-align:center;
    background:#111;
}

.footer-bottom p{
    margin:0;
    color:#8f8f8f;
    font-size:.95rem;
}

@media (max-width:900px){
    .footer-inner{
        grid-template-columns:1fr;
        gap:18px;
    }
}