/*
Theme Name: KV Light Video Theme
Theme URI: https://example.com/kv-light-video-theme
Author: ChatGPT
Description: Lightweight responsive video grid WordPress theme inspired by a clean tube layout. Includes mobile drawer menu, search overlay, dark mode, logo sizing, script/meta options, and video embed meta support.
Version: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kvlight
*/

:root{
  --kv-bg:#d6d6d6;
  --kv-panel:#fff;
  --kv-text:#222;
  --kv-muted:#777;
  --kv-border:#d6d6d6;
  --kv-accent:#40af64;
  --kv-dark-bg:#000;
  --kv-dark-panel:#333;
  --kv-radius:0px;
  --kv-gap:2px;
  --kv-logo-w:300px;
  --kv-logo-h:120px;
}
*{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;min-width:320px;background:var(--kv-bg);color:var(--kv-text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;overflow-x:hidden}
a{color:var(--kv-text);text-decoration:none}
a:hover{color:var(--kv-accent)}
img{display:block;max-width:100%;height:auto}
ul,ol{margin:0;padding:0}li{list-style:none}
button,input,textarea{font:inherit}
.screen-reader-text{position:absolute!important;left:-9999px!important}

body.kv-dark{background:var(--kv-dark-bg);color:#fff}
body.kv-dark a{color:#eee}
body.kv-dark a:hover{color:var(--kv-accent)}
body.kv-dark .kv-panel,body.kv-dark .site-header,body.kv-dark .site-footer,body.kv-dark .kv-card-info,body.kv-dark .kv-topbar,body.kv-dark .kv-video-info,body.kv-dark .kv-comments,body.kv-dark .kv-sidebar,body.kv-dark .kv-content-box{background:var(--kv-dark-panel);color:#fff}
body.kv-dark .kv-search input{background:#222;color:#fff;border-color:#000}
body.kv-dark .kv-mobile-drawer{background:#333;color:#fff}
body.kv-dark .kv-mobile-drawer .drawer-close:before,body.kv-dark .kv-mobile-drawer .drawer-close:after,body.kv-dark .kv-search-toggle .x:before,body.kv-dark .kv-search-toggle .x:after{background:#fff}
body.kv-dark .kv-overlay{background:rgba(0,0,0,.55)}
body.kv-dark .kv-meta,body.kv-dark .kv-card-meta{color:#aaa}
body.kv-dark .kv-pagination a,body.kv-dark .kv-pagination span{background:#333;color:#fff}

.kv-wrap{width:99%;max-width:1610px;margin:0 auto}
.kv-panel,.site-header,.site-footer,.kv-topbar,.kv-card-info,.kv-video-info,.kv-comments,.kv-sidebar,.kv-content-box{background:var(--kv-panel)}

/* Header */
.site-header{margin:0 1px 2px;padding:10px;position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:12px}
.kv-brand{display:flex;align-items:center;gap:12px;min-width:0;flex-shrink:0}
.custom-logo-link{display:flex;align-items:center;justify-content:flex-start;width:var(--kv-logo-w);height:var(--kv-logo-h);max-width:46vw;max-height:80px;overflow:hidden}
.custom-logo-link img{width:100%;height:100%;object-fit:contain;background:transparent}
.kv-site-title{font-size:28px;line-height:1;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.kv-site-title a{color:var(--kv-text)}
body.kv-dark .kv-site-title a{color:#fff}
.kv-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.kv-icon-btn{width:34px;height:34px;border:0;background:#545454;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;padding:0}
.kv-icon-btn:hover,.kv-icon-btn.active{background:var(--kv-accent);color:#fff}
.kv-menu-toggle{display:none}
.kv-search-toggle{background:transparent;color:var(--kv-text);position:relative}
body.kv-dark .kv-search-toggle{color:#fff}
.kv-search-toggle .x{display:none;position:relative;width:20px;height:20px}
.kv-search-toggle .x:before,.kv-search-toggle .x:after{content:"";position:absolute;left:0;top:9px;width:20px;height:2px;background:#000}
.kv-search-toggle .x:before{transform:rotate(45deg)}.kv-search-toggle .x:after{transform:rotate(-45deg)}
body.kv-search-open .kv-search-toggle .magnify{display:none}body.kv-search-open .kv-search-toggle .x{display:block}
.kv-theme-toggle{background:transparent;color:var(--kv-text);border:1px solid var(--kv-border)}
body.kv-dark .kv-theme-toggle{color:#fff;border-color:#111}

.kv-menu-wrap{display:flex;align-items:center;gap:8px;min-width:0}
.primary-menu{display:flex;align-items:center;gap:12px;white-space:nowrap;overflow:hidden}
.primary-menu a{display:block;text-transform:uppercase;font-size:15px;line-height:22px}
.primary-menu .current-menu-item>a,.primary-menu a:hover{color:var(--kv-accent)}
.kv-more-menu{position:relative;display:none}.kv-more-menu.open .kv-more-list{display:block}
.kv-more-list{display:none;position:absolute;top:100%;right:0;min-width:190px;background:#fff;border:3px solid var(--kv-accent);z-index:20;padding:10px 0;text-transform:uppercase}
.kv-more-list a{display:block;padding:8px 18px;font-size:15px}.kv-more-list a:hover{color:var(--kv-accent)}
body.kv-dark .kv-more-list{background:#333}

.kv-search{position:absolute;right:52px;top:50%;transform:translateY(-50%);width:min(560px,calc(100% - 130px));opacity:0;visibility:hidden;transition:.2s;z-index:10}
body.kv-search-open .kv-search{opacity:1;visibility:visible}
body.kv-search-open .primary-menu,body.kv-search-open .kv-more-menu{opacity:0;visibility:hidden}
.kv-search form{position:relative}.kv-search input{width:100%;height:36px;border:1px solid #c2c2c2;background:transparent;padding:0 84px 0 12px;outline:0}.kv-search input:focus{border-color:var(--kv-accent);background:#fff}.kv-search button{position:absolute;right:0;top:0;height:36px;width:76px;border:0;background:#686868;color:#fff;cursor:pointer}.kv-search button:hover{background:var(--kv-accent)}

/* Mobile drawer */
.kv-mobile-drawer{position:fixed;z-index:1000;left:0;top:0;height:100vh;width:290px;max-width:86vw;background:#fff;transform:translateX(-105%);transition:transform .25s ease;padding:15px;box-shadow:0 0 25px rgba(0,0,0,.18);overflow:auto}.kv-drawer-open .kv-mobile-drawer{transform:translateX(0)}
.kv-overlay{position:fixed;z-index:999;inset:0;background:rgba(255,255,255,.45);opacity:0;visibility:hidden;transition:.25s}.kv-drawer-open .kv-overlay{opacity:1;visibility:visible}
.drawer-close{width:30px;height:30px;margin-bottom:18px;position:relative;cursor:pointer}.drawer-close:before,.drawer-close:after{content:"";position:absolute;left:0;top:14px;width:30px;height:3px;background:#000}.drawer-close:before{transform:rotate(45deg)}.drawer-close:after{transform:rotate(-45deg)}
.mobile-menu a{display:block;padding:10px 8px;text-transform:uppercase;font-weight:700}.mobile-menu .current-menu-item>a,.mobile-menu a:hover{background:var(--kv-accent);color:#000}

/* Top bar */
.kv-topbar{margin:2px 1px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px;overflow:auto}.kv-topbar h1,.kv-topbar h2{font-size:22px;line-height:1.2;margin:0;font-weight:400;text-transform:uppercase;white-space:nowrap}.kv-sort{display:flex;gap:12px;white-space:nowrap}.kv-sort a{font-size:16px}.kv-sort .active,.kv-sort a:hover{color:var(--kv-accent);text-decoration:underline}

/* Grid cards */
.kv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--kv-gap);align-items:stretch}.kv-card{min-width:0}.kv-thumb{display:block;position:relative;background:#000;overflow:hidden}.kv-thumb:before{content:"";display:block;padding-top:56.25%}.kv-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .2s}.kv-card:hover .kv-thumb img{transform:scale(1.03)}.kv-duration,.kv-badge{position:absolute;z-index:2;bottom:4px;right:4px;background:rgba(0,0,0,.82);color:#fff;font-size:12px;line-height:1;padding:4px 6px;border-radius:3px}.kv-badge{top:4px;bottom:auto;left:4px;right:auto;background:rgba(255,255,255,.86);color:#222}.kv-card-info{padding:8px 7px;min-height:58px;overflow:hidden}.kv-card-title{margin:0;font-size:15px;line-height:1.25;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kv-card-meta{margin-top:4px;font-size:12px;color:var(--kv-muted);display:flex;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.kv-pagination{display:flex;justify-content:center;gap:3px;margin:18px 0 0;flex-wrap:wrap}.kv-pagination a,.kv-pagination span{background:#fff;min-width:36px;height:40px;line-height:40px;text-align:center;padding:0 8px}.kv-pagination .current,.kv-pagination a:hover{background:var(--kv-accent);color:#fff}
.kv-empty{background:#fff;margin:2px 1px;padding:20px}

/* Single */
.kv-player-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2px}.kv-video-block{background:#000}.kv-player{position:relative;width:100%;background:#000}.kv-player:before{content:"";display:block;padding-top:56.25%}.kv-player iframe,.kv-player video,.kv-player object,.kv-player embed{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}.kv-video-info{padding:14px 16px}.kv-video-info h1{font-size:28px;line-height:1.15;margin:0 0 10px;font-weight:500}.kv-meta{display:flex;gap:14px;flex-wrap:wrap;color:#555;font-size:15px;margin-bottom:10px}.kv-server-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.kv-server-tabs button{border:0;background:#545454;color:#fff;padding:8px 12px;cursor:pointer}.kv-server-tabs button.active,.kv-server-tabs button:hover{background:var(--kv-accent)}.kv-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.kv-tags a{color:var(--kv-accent);text-decoration:underline}.kv-sidebar{padding:8px}.kv-sidebar-title{font-size:16px;text-transform:uppercase;text-align:center;margin:0 0 8px}.kv-related{margin-top:20px}.kv-related h2{font-size:22px;line-height:1;margin:0 1px 2px;padding:12px 14px;background:#fff;text-transform:uppercase;font-weight:400}body.kv-dark .kv-related h2{background:#333}
.kv-content-box{margin:2px 1px;padding:16px}.kv-content-box p{margin-top:0}.kv-content-box a{color:var(--kv-accent);text-decoration:underline}

/* Comments */
.kv-comments{margin:20px 1px 0;padding:15px}.comment-list{padding-left:0}.comment-list li{list-style:none;margin:0 0 15px}.comment-body{border-bottom:1px solid var(--kv-border);padding-bottom:12px}.comment-form input,.comment-form textarea{width:100%;max-width:100%;border:1px solid #bbb;padding:10px}.comment-form input[type=submit],.form-submit .submit{width:auto;min-width:120px;background:var(--kv-accent);border:0;color:#fff;padding:12px 18px;cursor:pointer;font-weight:700}.comment-form input[type=submit]:hover{opacity:.9}

.site-footer{margin-top:20px;padding:20px 10px;text-align:center;color:#555}.site-footer a{color:var(--kv-accent);text-decoration:underline}body.kv-dark .site-footer{color:#ddd}

/* Responsive */
@media(max-width:1629px){.kv-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1307px){.kv-grid{grid-template-columns:repeat(3,1fr)}.primary-menu li:nth-child(n+5){display:none}.kv-more-menu{display:block}.kv-player-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:900px){.kv-player-layout{display:block}.kv-sidebar{margin-top:2px}.kv-sidebar .kv-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:799px){.site-header{padding:5px 0;justify-content:center}.kv-menu-toggle{display:inline-flex}.kv-menu-wrap{display:block;position:static}.primary-menu{display:none}.kv-more-menu{display:none}.kv-brand{justify-content:center;flex:1;min-width:0}.custom-logo-link{max-width:60vw;max-height:64px}.kv-site-title{font-size:22px;max-width:48vw}.kv-actions{gap:2px;margin-right:4px}.kv-menu-toggle{margin-left:4px}.kv-search{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;align-items:center;background:var(--kv-panel);padding:0 6px}.kv-search form{width:100%;display:flex}.kv-search input{height:48px;width:calc(100% - 88px);padding:0 10px;border:0}.kv-search button{position:static;height:48px;width:88px}.kv-topbar{padding:10px}.kv-topbar h1,.kv-topbar h2{font-size:18px}.kv-grid{grid-template-columns:repeat(2,1fr);gap:2px}.kv-card-info{min-height:54px}.kv-card-title{font-size:14px}.kv-video-info{padding:12px 10px}.kv-video-info h1{font-size:21px}.kv-meta{font-size:14px}.kv-comments{padding:10px}.comment-form input[type=submit],.form-submit .submit{width:100%;min-height:46px;font-size:16px}.site-footer{text-align:left}}
@media(max-width:440px){.custom-logo-link{max-width:58vw;max-height:54px}.kv-icon-btn{width:30px;height:30px}.kv-card-title{font-size:13px}.kv-card-info{padding:7px 6px}.kv-topbar{display:block}.kv-sort{margin-top:8px;overflow:auto}.kv-sidebar .kv-grid{grid-template-columns:repeat(2,1fr)}}


/* Single post layout inspired by the uploaded reference page */
.kv-single-main{margin-top:2px}.kv-single-shell{margin:0}.kv-watch-wrap{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:2px}.kv-watch-main{min-width:0;flex:1;background:#fff}.kv-player-card{background:#000;margin:0}.kv-player-stage{position:relative;width:100%;background:#000;overflow:hidden}.kv-player-stage:before{content:"";display:block;padding-top:56.25%}.kv-server-frame{position:absolute;inset:0}.kv-server-frame[hidden]{display:none!important}.kv-server-frame iframe,.kv-server-frame video,.kv-server-frame object,.kv-server-frame embed{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}.kv-poster-only img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.kv-no-player{display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;background:#000}.kv-server-bar{display:flex;align-items:center;gap:2px;background:#d6d6d6;padding:2px}.kv-server-bar button{flex:1;border:0;background:#545454;color:#fff;min-height:42px;line-height:1;font-size:16px;text-transform:uppercase;cursor:pointer}.kv-server-bar button.active,.kv-server-bar button:hover{background:var(--kv-accent);color:#fff}.kv-watch-info{padding:12px 18px 14px;background:#fff;overflow:hidden}.kv-title-row h1{font-size:28px;line-height:1.1;margin:0 0 8px;font-weight:400;color:#222}.kv-watch-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}.kv-watch-meta li{list-style:none;font-size:16px;line-height:22px;color:#333}.kv-watch-meta span{color:#666}.kv-more-row{display:flex;align-items:center;margin:11px 0 0}.kv-more-details{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--kv-accent);font-size:18px;line-height:22px;text-decoration:underline;cursor:pointer;padding:0}.kv-more-details .plus,.kv-more-details .minus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--kv-accent);line-height:1;text-decoration:none}.kv-more-details .minus{display:none}.kv-watch-info.open .kv-more-details .plus{display:none}.kv-watch-info.open .kv-more-details .minus{display:inline-flex}.kv-desc-panel{max-height:0;overflow:hidden;color:transparent;transition:max-height .25s ease,color .2s ease}.kv-watch-info.open .kv-desc-panel{max-height:4000px;color:inherit}.kv-single-content{background:transparent;padding:12px 0 0;margin:0;font-size:17px;line-height:1.45}.kv-watch-tags{padding-top:10px}.kv-watch-tags a{display:inline-block;margin:0 8px 8px 0;color:var(--kv-accent);text-decoration:underline;font-size:17px}.kv-watch-side{width:320px;flex:0 0 320px;background:#fff;padding:0 0 8px;margin:0;overflow:hidden}.kv-side-heading{font-size:16px;text-transform:uppercase;text-align:center;margin:0 0 2px;padding:8px 5px;background:#fff;color:#222;font-weight:400}.kv-side-list{display:grid;grid-template-columns:1fr;gap:2px}.kv-watch-side .kv-card{margin:0}.kv-watch-side .kv-card-info{padding:7px 8px;min-height:auto}.kv-watch-side .kv-card-title{font-size:14px;line-height:18px}.kv-watch-side .kv-card-meta{font-size:12px}.kv-related-single{margin-top:18px}.kv-related-single h2{margin-top:0}.single .kv-comments{margin-top:18px}body.kv-dark .kv-watch-main,body.kv-dark .kv-watch-info,body.kv-dark .kv-watch-side,body.kv-dark .kv-side-heading{background:#333;color:#fff}body.kv-dark .kv-title-row h1,body.kv-dark .kv-side-heading{color:#fff}body.kv-dark .kv-watch-meta li{color:#e8e8e8}body.kv-dark .kv-watch-meta span{color:#aaa}body.kv-dark .kv-server-bar{background:#000}body.kv-dark .kv-single-content{background:transparent;color:#fff}
@media(min-width:1308px){.kv-watch-side{width:322px;flex-basis:322px}.kv-title-row h1{font-size:30px}.kv-watch-meta li{font-size:17px}.kv-watch-side .kv-card-title{font-size:15px}}
@media(min-width:1630px){.kv-title-row h1{font-size:32px}.kv-watch-side{width:322px;flex-basis:322px}.kv-watch-info{padding:14px 20px 18px}}
@media(max-width:1307px){.kv-watch-side{width:300px;flex-basis:300px}.kv-title-row h1{font-size:26px}}
@media(max-width:900px){.kv-watch-wrap{display:block}.kv-watch-side{width:auto;display:block;background:#d6d6d6;padding:0}.kv-side-list{grid-template-columns:repeat(3,1fr);gap:2px}.kv-side-heading{text-align:left;padding:8px 10px;margin-top:2px}.kv-title-row h1{font-size:23px}.kv-watch-info{padding:12px 10px 0}.kv-watch-meta li{font-size:15px}.kv-more-row{border-top:2px solid #d6d6d6;border-bottom:2px solid #d6d6d6;margin:12px -10px 0}.kv-more-details{width:100%;justify-content:center;padding:10px 0;text-decoration:none}.kv-desc-panel{padding-bottom:10px}body.kv-dark .kv-watch-side{background:#000}body.kv-dark .kv-more-row{border-color:#000}}
@media(max-width:629px){.kv-side-list{grid-template-columns:repeat(2,1fr)}.kv-server-bar button{font-size:14px;min-height:40px}.kv-watch-side .kv-card:nth-child(n+5){display:none}}
@media(max-width:500px){.kv-title-row h1{font-size:21px;line-height:1.18}.kv-watch-meta{gap:5px 12px}.kv-watch-side .kv-card:nth-child(n+3){display:none}.kv-related-single .kv-grid{grid-template-columns:repeat(2,1fr)}}
