/*
Theme Name: Phim Theme
Theme URI: https://example.com
Author: Hong
Description: 電影/劇集網站佈景主題 - 地區 > 劇名 > 集數，含深色/淺色模式切換。
Version: 1.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: phim-theme
*/

:root{
  --bg: #090a0d;
  --bg-alt: #12141a;
  --card: #181b22;
  --card-hover: #1f232c;
  --border: #262b35;
  --text: #e9eaee;
  --text-dim: #949aa6;
  --accent: #e5484d;
  --accent-hover: #ff6166;
  --radius: 10px;
  --maxw: 1280px;
}

/* Che do sang - kich hoat khi <html data-theme="light"> */
:root[data-theme="light"]{
  --bg: #f4f5f7;
  --bg-alt: #ffffff;
  --card: #ffffff;
  --card-hover: #eef0f3;
  --border: #e1e4e9;
  --text: #14161a;
  --text-dim: #666d7a;
  --accent: #d9363e;
  --accent-hover: #c22a31;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", Roboto, Arial, sans-serif;
  line-height:1.6;
  transition:background .2s ease, color .2s ease;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
h1,h2,h3{color:var(--text);}

/* Header */
.site-header{
  background:rgba(9,10,13,.9);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
:root[data-theme="light"] .site-header{ background:rgba(255,255,255,.9); }

.site-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;max-width:var(--maxw);margin:0 auto;gap:16px;flex-wrap:wrap;
}
.site-title-wrap{display:flex;flex-direction:column;gap:2px;}
.site-title{font-size:22px;font-weight:800;letter-spacing:.5px;white-space:nowrap;}
.site-title a{color:var(--text);}
.site-title span{color:var(--accent);}
.site-tagline{font-size:12px;color:var(--text-dim);white-space:nowrap;}
.main-nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;flex-wrap:wrap;}
.main-nav a{color:var(--text-dim);font-weight:600;font-size:14px;}
.main-nav a:hover{color:var(--accent);}

.header-actions{display:flex;align-items:center;gap:10px;}
.header-search{display:flex;flex:0 0 auto;}
.header-search input{
  background:var(--card);border:1px solid var(--border);border-radius:6px 0 0 6px;
  padding:8px 12px;color:var(--text);outline:none;width:140px;
}
.header-search button{
  background:var(--accent);border:none;border-radius:0 6px 6px 0;
  padding:8px 14px;color:#fff;cursor:pointer;
}
.header-search button:hover{background:var(--accent-hover);}

.theme-toggle-btn{
  background:var(--card);border:1px solid var(--border);border-radius:50%;
  width:38px;height:38px;font-size:16px;cursor:pointer;color:var(--text);
  display:flex;align-items:center;justify-content:center;flex:0 0 38px;
}
.theme-toggle-btn:hover{border-color:var(--accent);}

/* Breadcrumb */
.breadcrumb{margin:18px 0 4px;font-size:13px;color:var(--text-dim);}
.breadcrumb a{color:var(--text-dim);}
.breadcrumb a:hover{color:var(--accent);}
.breadcrumb i{font-style:normal;margin:0 6px;opacity:.5;}
.breadcrumb span{color:var(--text);}

/* Section (trang chu xep chong theo khoi) */
.section{margin:34px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px;}
.section-head h2{font-size:19px;margin:0;padding-left:12px;border-left:4px solid var(--accent);}
.section-head .see-all{font-size:13px;color:var(--text-dim);font-weight:600;white-space:nowrap;flex:0 0 auto;}
.section-head .see-all:hover{color:var(--accent);}

/* Luoi PHIM (movie-card) - co poster 16:9, dung cho duyet danh sach phim.
   Co dinh so cot theo breakpoint (khong dung auto-fill) de khop boi so voi
   so luong phim hien thi (24/12 - chia het cho ca 4 va 3), tranh bi khuyet o cuoi. */
.movie-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.movie-card{
  background:var(--card);border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border);transition:transform .15s ease, border-color .15s ease, background .15s ease;
  display:block;
}
.movie-card:hover{transform:translateY(-3px);border-color:var(--accent);background:var(--card-hover);}

.thumb-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#0d0f13;overflow:hidden;}
:root[data-theme="light"] .thumb-wrap{background:#e8eaee;}
.thumb-wrap img{width:100%;height:100%;object-fit:cover;}
.poster-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#1b1e26,#0d0f13);color:var(--text-dim);
  font-size:13px;text-align:center;padding:10px;
}
:root[data-theme="light"] .poster-placeholder{ background:linear-gradient(160deg,#eef0f3,#e2e5ea); }

.badge{
  position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;
  font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.3px;
}
.badge-rating{ left:auto;right:8px;background:#111417;border:1px solid rgba(255,255,255,.25);color:#ffc94d; }
:root[data-theme="light"] .badge-rating{ background:rgba(255,255,255,.9);color:#b8860b;border-color:var(--border); }
.badge-continue{ left:auto;right:8px;background:#2e7d32; }

.movie-card .meta{padding:10px 12px;}
.movie-card .meta h3{
  font-size:14px;margin:0 0 4px;font-weight:700;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.movie-card .meta .ep-count{font-size:12px;color:var(--text-dim);}

/* Danh sach Quoc gia */
.country-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;
}
.country-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px 16px;text-align:center;font-weight:700;font-size:15px;
  transition:border-color .15s ease, background .15s ease;
}
.country-card:hover{border-color:var(--accent);background:var(--card-hover);color:var(--accent);}
.country-card .count{display:block;font-size:12px;color:var(--text-dim);font-weight:500;margin-top:4px;}

/* Movie hero (trang 1 bo phim) */
.movie-hero{
  display:flex;gap:26px;margin:22px 0;padding:24px;
  background:var(--bg-alt);border-radius:var(--radius);border:1px solid var(--border);
}
.movie-hero .poster-wrap{flex:0 0 320px;}
.movie-hero .poster-wrap img, .movie-hero .poster-wrap .poster-placeholder{
  border-radius:var(--radius);width:100%;aspect-ratio:16/9;object-fit:cover;
}
.movie-hero .info h1{font-size:24px;margin:0 0 10px;}
.movie-hero .info .desc{color:var(--text-dim);font-size:15px;max-width:640px;}
.movie-hero .info .stat{
  display:inline-block;margin-top:14px;padding:6px 14px;background:var(--card);
  border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--accent);
}

.genre-badges{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;}
.genre-badge{
  display:inline-block;padding:4px 12px;border-radius:14px;font-size:12px;font-weight:600;
  background:var(--card);border:1px solid var(--border);color:var(--text-dim);
}
a.genre-badge:hover{border-color:var(--accent);color:var(--accent);}
.genre-badge-rating{background:transparent;border-color:#ffc94d;color:#ffc94d;}

/* Danh sach TAP dang chu (pill) - khong dung anh, nhe va nhanh */
.episode-pill-list{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));
  gap:8px;
}
.episode-pill{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  text-align:center;background:var(--card);border:1px solid var(--border);
  border-radius:6px;padding:10px 8px;font-size:13px;font-weight:600;color:var(--text);
  overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.35;
  min-height:2.7em;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.episode-pill:hover{border-color:var(--accent);color:var(--accent);}
.episode-pill.current{background:var(--accent);border-color:var(--accent);color:#fff;}

/* Danh sach tap dang hang ngang (dung cho search/index, tron nhieu phim khac nhau) */
.episode-row-list{display:flex;flex-direction:column;gap:8px;}
.episode-row{
  display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);
  border-radius:8px;padding:12px 16px;font-size:14px;
}
.episode-row:hover{border-color:var(--accent);}
.episode-row-movie{color:var(--accent);font-weight:700;flex:0 0 auto;}
.episode-row-title{flex:1 1 auto;color:var(--text);}

/* Single episode page - layout 2 cot: trai player, phai sidebar danh sach tap */
.episode-page-layout{
  display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start;margin-top:16px;
}
.episode-page-title{font-size:21px;margin:0 0 6px;}
.episode-page-title .movie-name a{color:var(--accent);}
.episode-page-title .title-sep{color:var(--text-dim);font-weight:400;margin:0 2px;}
.player-wrap{
  background:#000;border-radius:var(--radius);overflow:hidden;margin:16px 0;
  max-height:78vh;display:flex;align-items:center;justify-content:center;
  /* Khong ep cung ti le 16:9 nua - video doc (9:16) se tu giu dung hinh dang,
     khong bi cat mat hay meo hinh. Video ngang van hien binh thuong. */
}
/* The <video> that Fluid Player tao ra: giu dung ti le goc, gioi han chieu cao,
   khong bi keo gian/cat xen du la video ngang hay doc */
.player-wrap video{
  width:100%;height:auto;max-height:78vh;display:block;object-fit:contain;
}
/* iframe/embed (neu dung, khong phai <video> truc tiep) van can lap day khung
   vi khong co kich thuoc goc de tu tinh ti le */
.player-wrap iframe, .player-wrap embed{
  width:100%;aspect-ratio:16/9;border:0;max-height:78vh;
}
.player-empty{
  width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:var(--text-dim);
}

.action-row{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 28px;align-items:center;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;
  font-weight:700;font-size:14px;cursor:pointer;border:1px solid transparent;
}
.btn-download{background:var(--accent);color:#fff;}
.btn-download:hover{background:var(--accent-hover);}
.btn-outline{background:transparent;border-color:var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}

.episode-nav{
  display:flex;justify-content:space-between;gap:12px;margin:20px 0 10px;
  border-top:1px solid var(--border);padding-top:20px;
}
.episode-nav a{
  background:var(--card);border:1px solid var(--border);padding:10px 16px;border-radius:8px;
  font-size:14px;font-weight:600;max-width:45%;
}
.episode-nav a:hover{border-color:var(--accent);color:var(--accent);}
.episode-nav .disabled{opacity:.35;pointer-events:none;}
.episode-nav .dir{display:block;font-size:11px;color:var(--text-dim);margin-bottom:2px;}

/* Sidebar danh sach toan bo tap ben canh trinh phat */
.episode-sidebar{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto;
}
.episode-sidebar h2{font-size:15px;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.episode-sidebar .episode-pill-list{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));}

.request-missing{
  margin:26px 0;padding:20px;background:var(--bg-alt);border:1px dashed var(--border);
  border-radius:var(--radius);text-align:center;
}
.request-missing p{margin:0 0 12px;color:var(--text-dim);font-size:14px;}
.request-missing-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* Trang tinh (Page) - VD: gioi thieu, nhung Google Sheet... */
.page-content-wrap{margin:24px 0 60px;}
.page-title{font-size:24px;margin:0 0 20px;}
.page-content{color:var(--text);font-size:15px;line-height:1.8;}
.page-content p{margin:0 0 16px;}
.page-content img{border-radius:var(--radius);}
.page-content iframe{max-width:100%;border-radius:var(--radius);}
.page-content a{color:var(--accent);text-decoration:underline;}
.gsheet-embed-wrap{margin:20px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);}
.gsheet-embed-wrap iframe{width:100%;display:block;}

/* Pagination */
.pagination{display:flex;gap:8px;justify-content:center;margin:30px 0;flex-wrap:wrap;}
.pagination a, .pagination span{
  padding:8px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-dim);
}
.pagination .current{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ---------- Banner noi bat (Hero Slider) ----------
   Anh nguon chi co 400x225 nen KHONG phong to lam nen full-bleed sac net -
   dung ky thuat: lop nen lam mo dam (an duoc do vo hat), poster chinh giu
   kich thuoc gan voi goc de van net. */
.hero-slider{
  position:relative;border-radius:var(--radius);overflow:hidden;margin:20px 0 34px;
  background:#000;
}
.hero-slides{position:relative;min-height:300px;}
.hero-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .6s ease;background-size:cover;background-position:center;
}
.hero-slide.active{position:relative;opacity:1;visibility:visible;pointer-events:auto;}
.hero-slide::before{
  content:'';position:absolute;inset:-30px;
  background-image:inherit;background-size:cover;background-position:center;
  filter:blur(28px) brightness(.45) saturate(1.15);z-index:0;
}
.hero-slide-inner{
  position:relative;z-index:1;display:flex;gap:30px;align-items:center;
  padding:32px;min-height:300px;
}
.hero-poster-wrap{flex:0 0 320px;}
.hero-poster, .hero-slide .poster-placeholder.hero-poster{
  width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);
  box-shadow:0 14px 34px rgba(0,0,0,.55);
}
.hero-info{flex:1 1 auto;color:#fff;}
.hero-country{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;}
.hero-info h2{font-size:28px;margin:0 0 12px;color:#fff;}
.hero-meta{display:flex;gap:16px;color:rgba(255,255,255,.8);font-size:14px;margin-bottom:18px;}

.hero-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  background:rgba(0,0,0,.4);border:none;color:#fff;font-size:22px;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.hero-nav:hover{background:rgba(0,0,0,.7);}
.hero-nav.prev{left:14px;}
.hero-nav.next{right:14px;}

.hero-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2;}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .2s ease;}
.hero-dot.active{background:#fff;width:22px;border-radius:4px;}

@media(max-width:768px){
  .hero-slide-inner{flex-direction:column;padding:22px;min-height:0;text-align:center;}
  .hero-slides{min-height:0;}
  .hero-poster-wrap{flex:0 0 auto;width:80%;max-width:280px;}
  .hero-info h2{font-size:20px;}
  .hero-meta{justify-content:center;}
  .hero-nav{width:34px;height:34px;font-size:18px;}
}

/* Footer */
.footer-search-wrap{
  margin-top:50px;padding:34px 0;background:var(--bg-alt);border-top:1px solid var(--border);
  text-align:center;
}
.footer-search-label{margin:0 0 14px;color:var(--text-dim);font-size:14px;}
.footer-search{justify-content:center;max-width:360px;margin:0 auto;}
.footer-search input{flex:1 1 auto;width:auto;}

.site-footer{
  padding:30px 0;border-top:1px solid var(--border);
  color:var(--text-dim);font-size:13px;text-align:center;background:var(--bg-alt);
}

/* ---------- Responsive: may tinh bang & dien thoai ---------- */
@media(max-width:960px){
  .episode-page-layout{grid-template-columns:1fr;}
  .episode-sidebar{position:static;max-height:none;}
  .movie-grid{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:640px){
  .movie-hero{flex-direction:column;}
  .movie-hero .poster-wrap{flex:0 0 auto;}
  .main-nav{display:none;}
  .header-search input{width:100px;}
  .movie-grid{grid-template-columns:repeat(2,1fr);}
  .country-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
  .episode-pill-list{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));}
  .episode-row{flex-wrap:wrap;}
  .site-header-inner{padding:10px 16px;}
}
