/*
Theme Name: HEE247 Video Tube
Theme URI: https://hee247.com/
Author: HEE247
Description: ธีมเว็บวิดีโอโทนมืด เน้นความเร็วและ SEO: การ์ดวิดีโอ, สไลด์วิดีโอมาแรง, แถบแท็กลัด, ค้นหาสด, ยอดวิว/ถูกใจ, ระบบแบนเนอร์ และ VideoObject schema
Version: 1.0.0
Requires PHP: 8.0
Text Domain: hee247
*/

@font-face{font-family:Kanit;font-weight:400;font-display:swap;src:url(assets/fonts/kanit-thai-400.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Kanit;font-weight:400;font-display:swap;src:url(assets/fonts/kanit-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Kanit;font-weight:700;font-display:swap;src:url(assets/fonts/kanit-thai-700.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Kanit;font-weight:700;font-display:swap;src:url(assets/fonts/kanit-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --accent:#e0245e;
  --accent-text:color-mix(in srgb,var(--accent) 62%,#fff);
  --grad:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 62%,#ff7a18));
  --bg:#0d0e12;--box:#16171d;--box2:#1f2028;--box3:#292b35;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);
  --text:#aeb1bb;--head:#f4f5f7;--muted:#7f838f;--link:#ff9db7;
  --radius:14px;--radius-s:10px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --bn:60px;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:12px}
body{min-height:100vh;color:var(--text);font:400 16px/1.55 Kanit,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden;
  background:radial-gradient(1100px 460px at 50% -180px,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%) no-repeat,var(--bg)}
a{color:inherit;text-decoration:none}
img,video,iframe{max-width:100%;display:block}
img{height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-weight:400;color:var(--head);line-height:1.35}
[hidden]{display:none!important}
.ico{vertical-align:-.125em;flex:none}
:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.wrap{width:100%;max-width:1344px;margin-inline:auto;padding-inline:14px}
.box{background:var(--box);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:var(--accent);color:#fff;padding:8px 14px;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

/* Header */
.site-header{position:relative;z-index:30;margin-block:12px}
.hbar{display:flex;align-items:center;gap:20px;padding:10px 16px;flex-wrap:wrap;position:relative}
.logo{flex:none}
.logo img{max-height:44px;width:auto}
.logo-text{font-weight:700;font-size:27px;letter-spacing:.3px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hnav{flex:1;min-width:0}
.nav-list{display:flex;list-style:none;gap:2px;flex-wrap:wrap}
.nav-list a{display:block;padding:8px 14px;border-radius:var(--radius-s);color:#dfe0e5;transition:background .18s,color .18s}
.nav-list a:hover{background:var(--box2);color:#fff}
.nav-list .current-menu-item>a,.nav-list .current-post-ancestor>a,.nav-list .current-cat>a{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-text)}
.hsearch{position:relative;width:min(420px,100%);flex:none}
.hsearch form{display:flex;background:var(--bg);border:1px solid var(--line2);border-radius:999px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.hsearch form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.hsearch input{flex:1;min-width:0;height:42px;padding:0 18px;font:inherit;color:var(--head);background:none;border:0;outline:0}
.hsearch input::placeholder{color:var(--muted)}
.hsearch input::-webkit-search-cancel-button{display:none}
.hsearch form button{width:48px;margin:3px;border-radius:999px;background:var(--grad);color:#fff;display:grid;place-items:center}
.sresults{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:8px;z-index:40;max-height:70vh;overflow-y:auto;background:var(--box2);border-color:var(--line2)}
.sresults-note{padding:8px 10px;font-size:14px;color:var(--muted)}
.hot-title{display:flex;align-items:center;gap:8px;padding:9px 10px 7px}
.hot-flame{flex:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hot-marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.hot-marquee-track{display:flex;width:max-content;animation:hot-run 5s linear infinite}
.hot-marquee span{flex:none;width:220px;font-size:15px;font-weight:700;white-space:nowrap;background:linear-gradient(90deg,#ffd000,#ff7a18,#ff2d55,#ff7a18,#ffd000);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hot-shift 2.4s linear infinite}
@keyframes hot-run{to{transform:translateX(-10%)}}
@keyframes hot-shift{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.hot-marquee-track,.hot-marquee span{animation:none}}
.sitem{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:var(--radius-s);transition:background .15s}
.sitem:hover{background:var(--box3)}
.sitem img{width:36px;height:36px;border-radius:9px;object-fit:cover;flex:none}
.sitem>span{min-width:0}
.sitem-title{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sitem-cat{display:block;font-size:12px;color:var(--accent-text)}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;font-size:20px;color:var(--head);border-radius:var(--radius-s)}
.icon-btn:hover{background:var(--box2)}
.burger-lines,.burger-lines::before,.burger-lines::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;position:relative}
.burger-lines::before,.burger-lines::after{content:"";position:absolute;left:0}
.burger-lines::before{top:-6px}
.burger-lines::after{top:6px}

/* Scrollers */
.scroller{position:relative}
.scroller-track{display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.scroller-track::-webkit-scrollbar{display:none}
.scroller-prev,.scroller-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(22,23,29,.92);border:1px solid var(--line2);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.5);transition:background .15s}
.scroller-prev:hover,.scroller-next:hover{background:var(--accent)}
.scroller-prev{left:-6px}
.scroller-next{right:-6px}

/* Tag bar */
.tagnav{padding:2px 0 14px}
.tagnav .scroller-track{gap:8px}
.pill{flex:none;scroll-snap-align:start;display:inline-block;padding:6px 15px;font-size:14px;white-space:nowrap;border-radius:999px;background:var(--box);border:1px solid var(--line2);color:#d7d9df;transition:background .15s,border-color .15s,color .15s}
.pill:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent);color:#fff}
.pill-sm{padding:3px 11px;font-size:13px;background:var(--box3)}

/* Layout */
.site-content{margin-bottom:28px}
#primary{padding:20px}
.home-title{text-align:center;margin-bottom:18px}
.home-title h1,.video-title{font-size:21px}
.archive-title{font-size:22px;margin-bottom:18px}
.block-title{display:flex;align-items:center;gap:10px;font-size:19px;margin-bottom:14px}
.block-title::before{content:"";width:4px;height:20px;border-radius:4px;background:var(--grad)}
.hot{margin-bottom:28px}
.empty{padding:40px 0;text-align:center}
.seo-text{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}

/* Video cards */
.vgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 14px}
.vcard>a{display:block}
.vthumb{position:relative;aspect-ratio:16/9;border-radius:var(--radius-s);overflow:hidden;background:linear-gradient(100deg,#1f2028 30%,#2b2d38 50%,#1f2028 70%);background-size:300% 100%;animation:shimmer 1.6s linear infinite;isolation:isolate}
.vthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.vthumb::after{content:"";position:absolute;inset:50% 0 0;z-index:1;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}
.vthumb-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:36px;color:#555}
@keyframes shimmer{to{background-position:-300% 0}}
@media (prefers-reduced-motion:reduce){.vthumb{animation:none}html{scroll-behavior:auto}.vthumb img,.vcard>a{transition:none!important}}
.vplay{position:absolute;left:50%;top:50%;z-index:2;width:46px;height:46px;margin:-23px 0 0 -23px;display:grid;place-items:center;border-radius:50%;background:var(--grad);color:#fff;font-size:18px;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.vplay .ico{fill:currentColor;margin-left:2px}
.vbadge{position:absolute;z-index:2;font-size:12.5px;line-height:1rem;white-space:nowrap}
.vcat{top:7px;right:7px;padding:3px 9px;border-radius:999px;color:#fff;background:var(--accent);max-width:80%;overflow:hidden;text-overflow:ellipsis}
.vdur,.vviews{bottom:7px;padding:3px 7px;border-radius:6px;color:#fff;background:rgba(0,0,0,.62)}
.vdur{right:7px}
.vviews{left:7px;display:flex;align-items:center;gap:4px}
.vtitle{margin-top:9px;font-size:15px;line-height:1.4;color:#c9cbd3;transition:color .18s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vcard a:hover .vtitle{color:#fff}
@media (hover:hover){
  .vcard a:hover .vthumb img{transform:scale(1.06)}
  .vcard a:hover .vplay{opacity:1;transform:scale(1)}
}
.hot-track{gap:12px;padding-bottom:2px}
.hot-card{flex:0 0 calc((100% - 60px)/5.1);scroll-snap-align:start}

/* Pagination */
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:28px}
.pagination a,.pagination span{min-width:40px;padding:7px 13px;text-align:center;background:var(--box2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--head);transition:border-color .15s,color .15s}
.pagination a:hover{border-color:var(--accent);color:var(--accent-text)}
.pagination .current{background:var(--grad);border-color:transparent;color:#fff}
.pagination .dots{background:none;border:0}

/* Banners */
.ads{display:grid;grid-template-columns:repeat(var(--pc,2),minmax(0,1fr));gap:8px;margin:14px 0}
.ads img{width:100%;border-radius:8px}
.player-side{flex:0 0 160px;display:flex;flex-direction:column;gap:8px}
.player-side img{width:160px;border-radius:8px}
.float{display:none;position:fixed;z-index:25}
.float.is-on{display:block}
.float-left{left:6px;top:50%;transform:translateY(-50%)}
.float-right{right:6px;top:50%;transform:translateY(-50%)}
.float-bottom{left:50%;bottom:6px;transform:translateX(-50%);width:min(728px,calc(100vw - 16px))}
.float img{width:100%;border-radius:8px}
.float-left,.float-right{width:120px}
@media (max-width:1599px){.float-left,.float-right{display:none!important}}
@media (max-width:1199px){.player-side{display:none}}
.float-x{position:absolute;top:4px;right:4px;width:24px;height:24px;display:grid;place-items:center;font-size:14px;border-radius:50%;background:rgba(0,0,0,.8);color:#fff;border:1px solid rgba(255,255,255,.4)}

/* Single */
.crumbs-wrap{margin-block:4px 12px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted)}
.crumbs>*:not(:last-child)::after{content:"/";margin-left:8px;color:#555}
.crumbs a{color:var(--text);transition:color .15s}
.crumbs a:hover{color:var(--accent-text)}
.crumbs [aria-current]{color:var(--head)}
.crumbs .ico{margin-right:5px}
.video-cats{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:0 11px;font-size:13px;line-height:25px;border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);transition:background .15s,color .15s}
.chip:hover{background:var(--accent);color:#fff}
.video-title{margin-block:10px}
.player-row{display:flex;gap:10px;align-items:stretch;justify-content:center;margin-block:14px}
.player{flex:1;min-width:0;aspect-ratio:16/9;max-height:620px;background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 0 1px var(--line)}
.player iframe,.player video,.player-empty,.player-empty img{width:100%;height:100%;border:0;object-fit:cover}
.video-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:14px}
.video-stats{display:flex;gap:20px;flex-wrap:wrap}
.video-stats .ico{color:var(--accent-text);margin-right:5px}
.video-stats b{font-weight:400;color:var(--head)}
.video-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.btn{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:5px 16px;border-radius:999px;color:#fff;background:var(--box3);border:1px solid var(--line2);transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(1.14);transform:translateY(-1px)}
.btn-like{border-color:var(--accent);color:var(--accent-text);background:transparent}
.btn-like.is-liked{background:var(--grad);border-color:transparent;color:#fff}
.btn-like.is-liked .ico{fill:currentColor}
.share{width:40px;height:40px;display:grid;place-items:center;font-size:19px;border-radius:50%;color:#fff;background:var(--share);transition:transform .15s,filter .15s,box-shadow .15s}
.share:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 6px 16px color-mix(in srgb,var(--share) 50%,transparent)}
.share-facebook{--share:#1877f2}
.share-x{--share:#000;box-shadow:inset 0 0 0 1px #555}
.share-x:hover{box-shadow:inset 0 0 0 1px #888}
.share-line{--share:#06c755}
.share-vk{--share:#0077ff}
.share-telegram{--share:#26a5e4}
.video-info{margin-top:18px;padding:16px 18px;background:var(--box2);border:1px solid var(--line);border-radius:var(--radius-s);display:grid;gap:10px}
.video-info .ico{margin-right:5px;color:var(--accent-text)}
.video-tags{display:flex;flex-wrap:wrap;gap:6px}
.prose a{color:var(--link)}
.prose p{margin-bottom:.8em}
.prose>:last-child{margin-bottom:0}
.related{margin-top:28px}
.more{margin-top:22px;text-align:center}
.more .btn{background:var(--grad);border-color:transparent;padding-inline:28px}
.notfound{text-align:center;padding-block:72px!important}
.notfound h1{font-size:26px;margin-bottom:8px}
.notfound .btn{margin-top:18px;background:var(--grad);border-color:transparent}

/* Footer */
.site-footer{padding:36px 16px 40px;text-align:center;border-top:1px solid var(--line);background:#0a0b0e;font-size:14px;color:var(--muted)}
.footer-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;list-style:none;margin-bottom:14px;color:var(--text)}
.footer-list a:hover{color:var(--accent-text)}

/* Bottom nav and category sheet (mobile, tablet) */
.bottomnav,.sheet{display:none}
@media (min-width:1000px){.hide-desktop{display:none!important}}
@media (max-width:999px){
  body{padding-bottom:calc(var(--bn) + env(safe-area-inset-bottom))}
  .hbar{gap:0;justify-content:space-between;padding:4px 6px}
  .logo{margin-inline:auto}
  .hnav,.hsearch{display:none;flex:0 0 100%;width:100%}
  .hnav.is-open,.hsearch.is-open{display:block}
  .hsearch{padding:8px 6px}
  .sresults{left:6px;right:6px}
  .nav-list{flex-direction:column;padding:4px 2px 8px}
  .crumbs-wrap{display:none}
  .hot-card{flex-basis:calc((100% - 36px)/3.1)}
  .vgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .float-bottom{bottom:calc(var(--bn) + env(safe-area-inset-bottom) + 6px)}
  .scroller-prev{left:-4px}
  .scroller-next{right:-4px}

  .bottomnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:28;height:calc(var(--bn) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(16,17,22,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line2)}
  .bottomnav>*{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;color:var(--text);-webkit-tap-highlight-color:transparent}
  .bottomnav .ico{font-size:21px}
  .bottomnav .is-active,.bottomnav [aria-expanded=true]{color:var(--accent-text)}
  .bottomnav .is-active::before,.bottomnav [aria-expanded=true]::before{content:"";position:absolute;top:-1px;left:50%;width:28px;height:3px;margin-left:-14px;border-radius:0 0 3px 3px;background:var(--grad)}

  .sheet{display:block;position:fixed;inset:0;z-index:27;background:rgba(0,0,0,.6)}
  .sheet-panel{position:absolute;left:0;right:0;bottom:calc(var(--bn) + env(safe-area-inset-bottom));max-height:calc(80vh - var(--bn));overflow-y:auto;padding:6px 16px 18px;background:var(--box);border-top:1px solid var(--line2);border-radius:18px 18px 0 0;animation:sheet-up .22s ease}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:6px;color:var(--head)}
  .sheet-head strong{font-weight:400;font-size:16px}
  .sheet-x{width:36px;height:36px;display:grid;place-items:center;font-size:18px;border-radius:50%;background:var(--box3);color:#fff}
  .sheet-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sheet-cats a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;background:var(--box2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--head);font-size:14px}
  .sheet-cats small{color:var(--muted);font-size:12px}
  .sheet-tags{display:flex;flex-wrap:wrap;gap:6px}
}
@keyframes sheet-up{from{transform:translateY(20px);opacity:0}}
@media (max-width:767px){
  .wrap{padding-inline:10px}
  .hot-card{flex-basis:calc((100% - 12px)/2.1)}
  .vgrid{grid-template-columns:minmax(0,1fr)}
  .scroller-prev,.scroller-next{display:none}
  .ads{grid-template-columns:repeat(var(--mob,1),minmax(0,1fr))}
  #primary{padding:14px}
  .player{border-radius:var(--radius-s)}
  .video-bar{flex-direction:column;align-items:stretch}
  .video-actions,.video-stats{justify-content:center}
  .sheet-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
