/*
Theme Name: Phim Theme
Theme URI: https://example.com
Author: williamkane
Description: Lightweight movie theme with 123Movies crawler.
Version: 1.17.0
Text Domain: phim-theme
*/

*{box-sizing:border-box}
html{background:#0f1014}
body{margin:0;background:#0f1014;color:#e8e8ea;font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul{list-style:none;margin:0;padding:0}
button,input{font:inherit}
.container{width:min(1180px,100%);margin:0 auto;padding:0 18px}

/* Header - modeled after the compact mobile layout in the reference */
.site-header{background:#15161c;border-bottom:1px solid #272a33;position:relative;z-index:100}
.header-top{min-height:70px;display:flex;align-items:center;gap:28px}
.site-logo{font-size:25px;line-height:1;font-weight:800;letter-spacing:-.6px;color:#ff4058;white-space:nowrap}
.site-logo img,.site-logo .custom-logo{max-height:38px;width:auto}
.main-nav{margin-left:4px;flex:1}
.main-nav>ul{display:flex;align-items:center;gap:28px}
.main-nav a{display:block;color:#c9cbd1;font-size:16px;padding:8px 0}
.main-nav a:hover{color:#ff4058}
.main-nav .menu-item-has-children>a::after{content:"▾";display:inline-block;margin-left:7px;font-size:.72em;line-height:1;vertical-align:middle;opacity:.8}
.main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:190px;padding:7px 0;background:#191b22;border:1px solid #2b2e37;border-radius:6px;box-shadow:0 12px 28px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(5px);transition:.15s}
.main-nav li{position:relative}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav .sub-menu a{padding:8px 14px;font-size:14px}
.main-nav .sub-menu a:hover{background:#22252d}
.mobile-menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;padding:7px;cursor:pointer}
.mobile-menu-toggle span{display:block;height:3px;margin:5px 0;border-radius:2px;background:#e5e6e8}
.header-search{padding-bottom:16px}
.search-form{display:flex;width:100%;height:52px}
.search-form input[type=search]{min-width:0;flex:1;background:#1c1e27;border:1px solid #303440;border-right:0;border-radius:6px 0 0 6px;color:#f4f4f5;padding:0 16px;outline:none;font-size:16px}
.search-form input[type=search]::placeholder{color:#888d98}
.search-form input[type=search]:focus{border-color:#454a58}
.search-form button{width:108px;border:0;border-radius:0 6px 6px 0;background:#ff4058;color:#fff;cursor:pointer;font-size:16px}
.search-form button:hover{background:#ff5268}

/* Main */
.page-shell{padding-top:42px;padding-bottom:70px}
.site-main--full{width:100%}
.movie-section{width:100%}
.section-title{position:relative;margin:0 0 24px;padding-left:16px;font-size:28px;line-height:1.2;font-weight:700;color:#f0f0f2}
.section-title:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#ff4058;border-radius:0 2px 2px 0}

/* Cards */
.movie-grid,.movie-grid--full{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.movie-card{display:block;min-width:0;background:#191b22;border-radius:8px;overflow:hidden;transition:transform .15s ease,background .15s ease}
.movie-card:hover{transform:translateY(-2px);background:#1d2028}
.poster-wrap{background:#0a0b0e;overflow:hidden;aspect-ratio:16/9}
.movie-card .poster-wrap img{width:100%;height:100%;object-fit:cover}
.movie-card__body{padding:14px 14px 17px}
.movie-title{margin:0;color:#ededee;font-size:18px;font-weight:700;line-height:1.35;word-break:break-word}
.movie-excerpt{margin-top:9px;color:#c4c6cc;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.empty-state{color:#8e929c}

/* Pagination */
.pagination{margin-top:30px}
.pagination .nav-links{display:flex;gap:7px;flex-wrap:wrap}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;background:#191b22;border:1px solid #2c2f38;border-radius:5px;color:#c9cbd0}
.pagination .current{background:#ff4058;border-color:#ff4058;color:#fff}

/* Single page */
.movie-hero{display:grid;grid-template-columns:220px 1fr;gap:24px;margin-bottom:28px;background:#191b22;border:1px solid #272a33;border-radius:8px;padding:20px}
.movie-hero__poster img{width:100%;border-radius:6px}
.movie-hero__body{min-width:0}
.movie-hero__title{margin:0 0 16px;font-size:27px;line-height:1.25;word-break:break-word}
.movie-hero__row{display:flex;gap:12px;align-items:flex-start;margin-bottom:11px}
.movie-hero__label{width:58px;flex:0 0 58px;padding-top:4px;color:#8c909b;font-size:12px;font-weight:700;text-transform:uppercase}
.movie-hero__tags{display:flex;flex-wrap:wrap;gap:6px}
.movie-tag{display:inline-block;padding:5px 10px;border-radius:999px;background:#272a33;color:#d0d2d7;font-size:13px}
.movie-tag:hover{background:#ff4058;color:#fff}
.movie-tag--actor{background:#202d35}
.movie-desc,.movie-description{color:#c7c9cf;font-size:15px}

.player-box,.phim-player{background:#000;border-radius:7px;overflow:hidden;margin-bottom:20px}
.phim-player-stage{position:relative;aspect-ratio:16/9}
.phim-player-stage video,.phim-player-stage iframe,.phim-player .phim-video{width:100%;height:100%;border:0;display:block;background:#000}
.player-box .player-empty{color:#fff;text-align:center;padding-top:40%;aspect-ratio:16/9}
.phim-player-notice{position:absolute;top:0;left:0;right:0;padding:8px 12px;background:rgba(0,0,0,.75);color:#fff;font-size:13px;text-align:center}
.phim-server-switch{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#15161c}
.phim-server-btn{background:transparent;border:1px solid #3a3d45;color:#a9adb6;font-size:13px;padding:6px 16px;border-radius:20px;cursor:pointer}
.phim-server-btn:hover,.phim-server-btn.is-active{background:#ff4058;border-color:#ff4058;color:#fff}

/* Player controls */
.phim-controls{display:flex;align-items:center;gap:10px;position:absolute;left:0;right:0;bottom:0;padding:8px 12px;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0));color:#fff}
.pc-btn{background:transparent;border:0;color:#fff;width:28px;height:28px;padding:0;cursor:pointer;flex-shrink:0}.pc-btn svg{width:100%;height:100%}
.pc-time{font-size:12px;min-width:38px;text-align:center}.pc-progress{position:relative;flex:1;height:6px;background:rgba(255,255,255,.25);border-radius:3px;overflow:hidden}.pc-progress-buffered,.pc-progress-played{position:absolute;left:0;top:0;bottom:0}.pc-progress-buffered{width:0;background:rgba(255,255,255,.35)}.pc-progress-played{width:0;background:#ff4058}.pc-seek{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.pc-volume{width:70px;accent-color:#ff4058}.pc-quality{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:12px;padding:3px 6px}

/* Player actions / modals */
.phim-player-actions{display:flex;justify-content:flex-end;gap:10px;margin:10px 0 20px;flex-wrap:wrap}.phim-report-error-btn,.phim-request-movie-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid #3a3d45;color:#a9adb6;font-size:13px;padding:7px 14px;border-radius:4px;cursor:pointer}.phim-report-error-btn:hover{border-color:#ff4058;color:#fff}.phim-request-movie-btn:hover{border-color:#4caf50;color:#fff}
.phim-report-modal,.phim-request-modal{position:fixed;inset:0;z-index:1000}.phim-report-modal-backdrop,.phim-request-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.phim-report-modal-box,.phim-request-modal-box{position:relative;max-width:420px;margin:10vh auto 0;background:#191b22;border-radius:8px;padding:20px;color:#e8e8e8}.phim-report-modal-box h3,.phim-request-modal-box h3{margin:0 0 14px;font-size:17px}.phim-report-modal-box label,.phim-request-modal-box label{display:block;font-size:13px;color:#a9adb6;margin-bottom:12px}.phim-report-modal-box select,.phim-report-modal-box textarea,.phim-request-modal-box input,.phim-request-modal-box textarea{display:block;width:100%;margin-top:6px;background:#0f1014;color:#e8e8e8;border:1px solid #3a3d45;border-radius:4px;padding:8px}.phim-report-modal-actions,.phim-request-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.phim-report-modal-actions button,.phim-request-modal-actions button{border-radius:4px;padding:8px 16px;font-size:13px;cursor:pointer;border:1px solid #3a3d45}.phim-report-cancel,.phim-request-cancel{background:transparent;color:#a9adb6}.phim-report-submit{background:#ff4058;border-color:#ff4058;color:#fff}.phim-request-submit{background:#4caf50;border-color:#4caf50;color:#fff}

/* Sidebar retained for single/admin compatibility, but normal listing pages are full width */
.site-content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding:30px 0 60px}
.widget{background:#191b22;border-radius:7px;padding:16px;margin-bottom:20px}.widget-title{font-size:15px;font-weight:700;margin:0 0 12px}.widget-movie-item{display:flex;gap:10px;margin-bottom:10px}.widget-movie-item img{width:50px;height:70px;object-fit:cover;border-radius:4px}.widget-movie-item .t{font-size:13px;font-weight:600}.widget-movie-item .y{font-size:12px;color:#8a8e97}
.widget--main{background:transparent;padding:0;margin-bottom:32px}.widget--banner{text-align:center}.phim-ad-slot{display:flex;justify-content:center;align-items:center;overflow:hidden}.phim-ad-slot img{max-width:100%;height:auto;border-radius:6px}.single-banner,.cast-banner{margin:20px 0}
.single-related{margin-top:28px}
.site-content-wrap--full{display:block}.site-main--full{width:100%}

.site-footer{background:#15161c;border-top:1px solid #272a33;padding:25px 0;text-align:center;font-size:13px;color:#858995}

/* Mobile: match reference - compact header, hamburger, 2-column movie cards */
@media(max-width:900px){
  .container{padding-left:16px;padding-right:16px}
  .header-top{min-height:64px;gap:0}
  .main-nav{display:none;margin:0;padding:0 0 12px}
  .main-nav.is-open{display:block}
  .main-nav>ul{display:block;border-top:1px solid #272a33;padding-top:7px}
  .main-nav>ul>li>a{padding:11px 2px}
  .main-nav .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;background:#121318;padding-left:12px}
  .main-nav li:hover>.sub-menu{display:block}
  .mobile-menu-toggle{display:block}
  .header-top{flex-wrap:wrap}
  .header-top .main-nav{order:3;flex-basis:100%}
  .header-search{padding-bottom:16px}
  .page-shell{padding-top:32px}
  .movie-grid,.movie-grid--full{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .section-title{font-size:25px;margin-bottom:20px}
  .movie-card__body{padding:11px 12px 14px}
  .movie-title{font-size:17px}
  .movie-excerpt{font-size:14px;line-height:1.4;-webkit-line-clamp:6}
  .site-content-wrap{grid-template-columns:1fr}
  .movie-hero{grid-template-columns:1fr;padding:14px}
  .movie-hero__poster{max-width:260px}
}
@media(max-width:520px){
  .site-logo{font-size:25px}
  .search-form{height:52px}
  .search-form button{width:106px}
  .page-shell{padding-top:34px}
  .section-title{font-size:27px}
  .movie-grid,.movie-grid--full{gap:10px}
  .movie-card{border-radius:7px}
  .movie-title{font-size:18px;line-height:1.35}
  .movie-excerpt{font-size:14px}
}

/* Header/menu robustness: always show a real mobile hamburger and Home/Movies menu. */
@media (max-width:900px){
  .site-header .header-top{position:relative;display:flex;align-items:center;min-height:64px;flex-wrap:nowrap;gap:0}
  .site-header .site-logo{display:block;max-width:calc(100% - 58px);overflow:hidden;text-overflow:ellipsis}
  .site-header .mobile-menu-toggle{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:101;margin-left:auto;flex:0 0 42px;width:42px;height:42px;padding:6px;background:transparent;border:0}
  .site-header .mobile-menu-toggle span{display:block!important;width:27px;height:3px;margin:5px auto;background:#e8e8ea;border-radius:2px}
  .site-header .main-nav{display:none!important;order:initial;flex:0 0 100%;width:100%;margin:0;padding:0 0 10px}
  .site-header .main-nav.is-open{display:block!important}
  .site-header .header-top:has(.main-nav.is-open){flex-wrap:wrap}
  .site-header .main-nav>ul{display:block;width:100%;border-top:1px solid #272a33;padding-top:7px}
  .site-header .main-nav>ul>li>a{display:block;padding:11px 2px;color:#e5e6e8;font-size:16px}
  .site-header .main-nav .sub-menu{position:static;display:none;padding-left:12px;background:transparent;border:0;box-shadow:none}
  .site-header .main-nav li:hover>.sub-menu,.site-header .main-nav li:focus-within>.sub-menu{display:block}
}
