/* CinePress v3.0 — FilmiVilla Frontend CSS
   Newsy theme compatible | filmivilla.com
   Mobile-first, lightweight
*/
:root{
  --cp-red:#e63946;--cp-red-dk:#c1121f;
  --cp-gold:#e9c46a;--cp-gold-lt:#f4a261;
  --cp-text:#1d1d1d;--cp-muted:#6c757d;
  --cp-bg:#fff;--cp-bg-lt:#f8f9fa;
  --cp-border:#e9ecef;--cp-radius:8px;--cp-radius-lg:12px;
  --cp-shadow:0 2px 8px rgba(0,0,0,.07);--cp-shadow-lg:0 6px 24px rgba(0,0,0,.13);
}
/* Grid */
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}
@media(max-width:480px){.cp-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
/* Card */
.cp-card{background:var(--cp-bg);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);overflow:hidden;transition:box-shadow .2s,transform .2s}
.cp-card:hover{box-shadow:var(--cp-shadow-lg);transform:translateY(-2px)}
.cp-card-img-link{display:block;position:relative;overflow:hidden}
.cp-card-img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;transition:transform .3s}
.cp-card:hover .cp-card-img{transform:scale(1.04)}
.cp-card-img-ph{width:100%;aspect-ratio:2/3;background:linear-gradient(135deg,#e9ecef,#ced4da);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--cp-muted);padding:8px;text-align:center}
.cp-card-body{padding:10px 12px 14px}
.cp-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:5px}
.cp-card-title{font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.3}
.cp-card-title a{color:var(--cp-text);text-decoration:none}
.cp-card-title a:hover{color:var(--cp-red)}
.cp-card-meta{font-size:11px;color:var(--cp-muted);display:flex;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.cp-card-ott{background:#e3f2fd;color:#0d47a1;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600}
.cp-card-rating{display:flex;align-items:center;gap:4px;margin-top:4px}
/* Tags */
.cp-tag{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;background:#fff0f1;color:var(--cp-red-dk)}
/* Stars */
.cp-stars{display:inline-flex;gap:1px}
.cp-star{font-size:13px;line-height:1}
.cp-star-full{color:var(--cp-gold)}
.cp-star-half{color:var(--cp-gold-lt)}
.cp-star-empty{color:#dee2e6}
.cp-rating-val{font-size:12px;font-weight:600;color:var(--cp-muted)}
/* Watchlist btn */
.cp-wl-btn{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.9);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--cp-red);transition:background .2s,transform .15s;text-decoration:none;backdrop-filter:blur(4px)}
.cp-wl-btn:hover{background:#fff;transform:scale(1.1)}
.cp-wl-active{color:var(--cp-red);background:#fff}
/* Pagination */
.cp-pagination{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:20px 0}
.cp-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:var(--cp-radius);border:1px solid var(--cp-border);font-size:13px;color:var(--cp-text);text-decoration:none;transition:all .2s}
.cp-pagination .page-numbers:hover,.cp-pagination .page-numbers.current{background:var(--cp-red);color:#fff;border-color:var(--cp-red)}
/* Single content */
.cp-single-wrap{max-width:900px;margin:0 auto;padding:20px 0 40px}
.cp-single-hero{display:flex;flex-direction:row;gap:20px;margin-bottom:28px;align-items:flex-start;flex-wrap:nowrap}
.cp-poster-img{width:100%;max-width:100%;border-radius:var(--cp-radius-lg);box-shadow:var(--cp-shadow-lg);display:block}
.cp-single-poster{flex-shrink:0;width:170px}
.cp-poster-ph{width:100%;aspect-ratio:2/3;background:linear-gradient(135deg,#e9ecef,#ced4da);border-radius:var(--cp-radius-lg);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--cp-muted)}
.cp-motw-pill{display:inline-block;background:var(--cp-gold);color:#5c3d00;font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;margin-bottom:8px}
.cp-type-label{display:inline-block;font-size:11px;font-weight:600;color:var(--cp-red);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.cp-single-title{font-size:24px;font-weight:700;margin:4px 0 8px;line-height:1.2;color:var(--cp-text)}
.cp-season-num{font-size:16px;font-weight:400;color:var(--cp-muted)}
.cp-meta-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cp-pill{font-size:12px;color:var(--cp-muted);background:var(--cp-bg-lt);padding:3px 9px;border-radius:4px;border:1px solid var(--cp-border)}
.cp-pill-cert{font-weight:700;color:var(--cp-text)}
.cp-single-genres{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.cp-single-rating{display:flex;align-items:center;gap:8px;margin:10px 0 4px}
.cp-single-rating .cp-rating-val{font-size:15px;font-weight:700;color:var(--cp-text)}
.cp-rev-count{font-size:12px;color:var(--cp-muted)}
.cp-info-row{font-size:13px;color:var(--cp-muted);margin-bottom:5px}
.cp-info-row strong{color:var(--cp-text)}
.cp-ott-tag{background:#e3f2fd;color:#0d47a1;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}
/* Buttons */
.cp-single-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cp-btn{display:inline-flex;align-items:center;gap:5px;padding:9px 16px;border-radius:var(--cp-radius);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--cp-border);background:var(--cp-bg);color:var(--cp-text);transition:all .2s}
.cp-btn:hover{border-color:var(--cp-red);color:var(--cp-red)}
.cp-btn-primary{background:var(--cp-red);color:#fff!important;border-color:var(--cp-red)}
.cp-btn-primary:hover{background:var(--cp-red-dk)}
.cp-btn-trailer{background:#1d1d1d;color:#fff!important;border-color:#1d1d1d}
.cp-btn-ott{background:#0077b6;color:#fff!important;border-color:#0077b6}
.cp-single-poster .cp-wl-btn{position:static;border-radius:var(--cp-radius);width:auto;padding:9px 14px;margin-top:10px}
/* Sections */
.cp-section{margin-bottom:28px}
.cp-section-head{font-size:18px;font-weight:700;color:var(--cp-text);margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--cp-red)}
.cp-single-body{max-width:100%}
.cp-synopsis{font-size:15px;line-height:1.75;color:#333}
.cp-biography{font-size:15px;line-height:1.75;color:#333}
/* Cast */
.cp-cast-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.cp-cast-item{text-align:center;flex-shrink:0;width:68px}
.cp-cast-av{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--cp-red),var(--cp-red-dk));color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 5px}
.cp-cast-name{font-size:11px;font-weight:600;color:var(--cp-text);line-height:1.3}
/* Awards */
.cp-awards-list{list-style:none;padding:0;margin:0}
.cp-award-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--cp-border);font-size:13px}
.cp-award-item:last-child{border-bottom:none}
.cp-award-icon{font-size:16px}
.cp-award-name{font-weight:600;color:var(--cp-text)}
.cp-award-cat{color:var(--cp-muted)}
.cp-award-year{color:var(--cp-muted);font-size:11px}
.cp-won{color:#2e7d32;font-size:11px;font-weight:600}
.cp-nominated{color:var(--cp-muted);font-size:11px}
/* Live BO bar */
.cp-live-bo-bar{display:flex;gap:0;overflow-x:auto;border:1px solid var(--cp-border);border-radius:var(--cp-radius);scrollbar-width:thin}
.cp-lbo-item{flex-shrink:0;text-align:center;padding:10px 14px;border-right:1px solid var(--cp-border);min-width:80px}
.cp-lbo-item:last-child{border-right:none}
.cp-lbo-day{display:block;font-size:11px;color:var(--cp-muted);margin-bottom:3px}
.cp-lbo-val{display:block;font-size:13px;font-weight:700;color:var(--cp-text)}
.cp-bo-full-link{font-size:12px;color:var(--cp-red);text-decoration:none}
.cp-bo-full-link:hover{text-decoration:underline}
/* BO Summary table on movie page */
.cp-bo-summary-table{width:100%;border-collapse:collapse;margin-bottom:10px}
.cp-bo-summary-table td{padding:7px 0;font-size:13px;border-bottom:1px solid var(--cp-border)}
.cp-bo-summary-table td:first-child{color:var(--cp-muted)}
.cp-bo-summary-table td:last-child{text-align:right}
/* Verdict card */
.cp-verdict-card{background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);padding:20px}
.cp-verdict-bars{margin-bottom:16px}
.cp-vbar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cp-vbar-label{font-size:12px;color:var(--cp-muted);width:80px;flex-shrink:0}
.cp-vbar-track{flex:1;height:10px;background:var(--cp-border);border-radius:5px;overflow:hidden}
.cp-vbar-fill{height:100%;border-radius:5px;transition:width .5s}
.cp-vbar-budget{background:#adb5bd}
.cp-vbar-collection{background:var(--cp-red)}
.cp-vbar-val{font-size:13px;font-weight:600;color:var(--cp-text);min-width:100px;text-align:right}
.cp-recovery-note{font-size:13px;color:var(--cp-muted);margin-bottom:12px}
.cp-recovery-note strong{color:var(--cp-text)}
.cp-recovery-sub{font-size:11px}
.cp-verdict-badge-wrap{margin:10px 0}
.cp-verdict-pending-note{font-size:12px;color:var(--cp-muted);margin:4px 0 0}
.cp-verdict-disclaimer{font-size:11px;color:var(--cp-muted);margin-top:10px;font-style:italic}
/* Verdict badges */
.cp-verdict-badge{display:inline-block;font-size:13px;font-weight:700;padding:6px 16px;border-radius:20px;text-transform:uppercase;letter-spacing:.06em}
.cp-v-disaster{background:#f8d7da;color:#721c24}
.cp-v-flop{background:#fce5cd;color:#7c3500}
.cp-v-below{background:#e2e3e5;color:#383d41}
.cp-v-average{background:#fff3cd;color:#856404}
.cp-v-hit{background:#cce5ff;color:#004085}
.cp-v-superhit{background:#d4edda;color:#155724}
.cp-v-blockbuster{background:#c3e6cb;color:#0a3622}
.cp-v-atb{background:linear-gradient(135deg,#ffd700,#ffa500);color:#333}
.cp-v-none{background:#e9ecef;color:#6c757d}
/* BO Post */
.cp-bo-post-wrap{max-width:860px;margin:0 auto;padding:20px 0 40px}
.cp-bo-post-title{font-size:24px;font-weight:700;margin-bottom:6px;line-height:1.2}
.cp-bo-post-meta{font-size:13px;color:var(--cp-muted);margin-bottom:16px;display:flex;gap:12px;flex-wrap:wrap}
.cp-bo-featured-img{margin-bottom:20px}
.cp-bo-img{width:100%;height:auto;max-height:480px;border-radius:var(--cp-radius-lg);display:block;object-fit:cover;object-position:center top}
.cp-bo-intro{font-size:15px;line-height:1.75;color:#333;margin-bottom:24px}
.cp-bo-section{margin-bottom:28px}
.cp-bo-heading{font-size:20px;font-weight:700;margin-bottom:14px;color:var(--cp-text)}
.cp-bo-table{width:100%;border-collapse:collapse}
.cp-bo-table th{background:var(--cp-bg-lt);font-size:13px;font-weight:600;color:var(--cp-text);padding:14px 20px;text-align:center;border:1px solid var(--cp-border)}
.cp-bo-table td{font-size:14px;color:var(--cp-text);padding:14px 20px;border:1px solid var(--cp-border);text-align:center}
.cp-bo-table td:first-child{text-align:left}
.cp-bo-total-row td{font-weight:700;background:var(--cp-bg-lt);border-top:2px solid var(--cp-border)}
.cp-bo-summary-totals{margin-bottom:24px}
.cp-bo-summary-totals p{font-size:14px;color:var(--cp-text);margin-bottom:8px;padding:8px 14px;background:var(--cp-bg-lt);border-left:3px solid var(--cp-red);border-radius:0 var(--cp-radius) var(--cp-radius) 0}
.cp-bo-budget{font-size:18px;font-weight:600;color:var(--cp-text);margin:0}
.cp-bo-screens{font-size:14px;color:var(--cp-muted);margin:4px 0 0}
/* About section */
.cp-about-movie{background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);padding:20px}
.cp-about-grid{display:flex;flex-direction:column}
.cp-about-row{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--cp-border);font-size:14px;align-items:start}
.cp-about-row:last-child{border-bottom:none}
.cp-about-row strong{color:var(--cp-text)}
@media(max-width:480px){.cp-about-row{grid-template-columns:1fr;gap:2px}}
/* Disclaimer */
.cp-disclaimer,.cp-bo-disclaimer,.cp-trp-disclaimer{margin-top:24px;padding:14px 16px;background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius)}
.cp-disclaimer p,.cp-bo-disclaimer p,.cp-trp-disclaimer p{font-size:12px;color:var(--cp-muted);margin:0;line-height:1.6}
/* Celebrity */
.cp-celeb-wrap{max-width:900px;margin:0 auto;padding:20px 0 40px}
.cp-celeb-hero{display:grid;grid-template-columns:180px 1fr;gap:24px;margin-bottom:28px;align-items:start}
@media(max-width:600px){.cp-celeb-hero{grid-template-columns:1fr}}
.cp-celeb-img{width:100%;border-radius:var(--cp-radius-lg);box-shadow:var(--cp-shadow-lg);display:block}
.cp-celeb-ph{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#e9ecef,#ced4da);border-radius:var(--cp-radius-lg);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:var(--cp-muted)}
.cp-celeb-type{display:inline-block;background:#fff0f1;color:var(--cp-red-dk);font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
.cp-celeb-name{font-size:24px;font-weight:700;margin:4px 0 8px}
.cp-celeb-stats-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:10px 14px;background:var(--cp-bg-lt);border-radius:var(--cp-radius)}
.cp-cstat{display:flex;flex-direction:column;gap:2px}
.cp-cstat-label{font-size:10px;color:var(--cp-muted);text-transform:uppercase;letter-spacing:.05em}
.cp-cstat-val{font-size:13px;font-weight:600;color:var(--cp-text)}
.cp-celeb-table{width:100%;border-collapse:collapse;margin-bottom:14px}
.cp-celeb-table td{padding:7px 0;font-size:13px;border-bottom:1px solid var(--cp-border)}
.cp-celeb-table td:first-child{color:var(--cp-muted);width:40%;font-weight:600}
.cp-celeb-table tr:last-child td{border-bottom:none}
.cp-social-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cp-social{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--cp-border);color:var(--cp-text);transition:all .2s}
.cp-social:hover{border-color:var(--cp-red);color:var(--cp-red)}
.cp-digital-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.cp-digital-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius)}
.cp-digital-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.cp-yt-icon{background:#ff0000}
.cp-ig-icon{background:linear-gradient(135deg,#405de6,#833ab4,#c13584,#e1306c,#fd1d1d)}
.cp-digital-name{font-weight:600;color:var(--cp-text);text-decoration:none;display:block;font-size:13px}
.cp-digital-stat{font-size:11px;color:var(--cp-muted);display:block;margin-top:2px}
.cp-digital-niche{font-size:13px;color:var(--cp-muted);padding:8px 0}
.cp-filmography{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.cp-film-item{display:flex;justify-content:space-between;align-items:center;background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:8px 12px;font-size:13px;gap:8px}
.cp-film-title{font-weight:600;color:var(--cp-text)}
.cp-film-platform{font-size:11px;color:var(--cp-muted);background:#e3f2fd;padding:1px 5px;border-radius:3px}
.cp-film-year{color:var(--cp-muted);font-size:12px;flex-shrink:0}
.cp-awards-table{width:100%;border-collapse:collapse}
.cp-awards-table th,.cp-awards-table td{padding:10px 12px;border:1px solid var(--cp-border);font-size:13px;text-align:left}
.cp-awards-table th{background:var(--cp-bg-lt);font-weight:600}
.cp-reality-app-table{width:100%;border-collapse:collapse}
.cp-reality-app-table th,.cp-reality-app-table td{padding:10px 12px;border:1px solid var(--cp-border);font-size:13px}
.cp-reality-app-table th{background:var(--cp-bg-lt);font-weight:600}
.cp-actor-bo-wrap{margin-bottom:24px}
.cp-actor-bo-stats{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.cp-abo-stat{background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:12px 16px;text-align:center;flex:1;min-width:80px}
.cp-abo-num{display:block;font-size:18px;font-weight:700;color:var(--cp-text)}
.cp-abo-label{display:block;font-size:11px;color:var(--cp-muted);margin-top:2px}
.cp-abo-table{width:100%;border-collapse:collapse}
.cp-abo-table th,.cp-abo-table td{padding:10px 12px;border:1px solid var(--cp-border);font-size:13px}
.cp-abo-table th{background:var(--cp-bg-lt);font-weight:600}
/* Reality show */
.cp-status-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;margin-bottom:8px;margin-left:8px}
.cp-status-ongoing{background:#d4edda;color:#155724}
.cp-status-upcoming{background:#fff3cd;color:#856404}
.cp-status-concluded{background:#e2e3e5;color:#383d41}
.cp-contestants-table{width:100%;border-collapse:collapse}
.cp-contestants-table th,.cp-contestants-table td{padding:10px 12px;border:1px solid var(--cp-border);font-size:13px}
.cp-contestants-table th{background:var(--cp-bg-lt);font-weight:600}
.cp-contestant-winner td{background:#fff9e6;font-weight:600}
.cp-contestant-runner_up td{background:#f0f8ff}
.cp-winner-name{font-weight:700;color:#155724}
.cp-season-brief{margin-bottom:16px;padding:14px;background:var(--cp-bg-lt);border-radius:var(--cp-radius);border-left:3px solid var(--cp-red)}
.cp-season-title{font-size:15px;font-weight:700;margin:0 0 6px}
.cp-season-text{font-size:14px;color:var(--cp-muted);margin:0;line-height:1.6}
.cp-elim-list{list-style:none;padding:0;margin:0}
.cp-elim-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--cp-border);font-size:13px}
.cp-elim-list li:last-child{border-bottom:none}
.cp-elim-date{color:var(--cp-muted);font-size:12px}
/* Elimination single */
.cp-elim-wrap{max-width:860px;margin:0 auto;padding:20px 0 40px}
.cp-elim-highlight{text-align:center;padding:30px 20px;background:var(--cp-bg-lt);border-radius:var(--cp-radius-lg);margin:20px 0;border:1px solid var(--cp-border)}
.cp-elim-icon{font-size:48px;margin-bottom:10px}
.cp-elim-name{font-size:24px;font-weight:700;color:var(--cp-text)}
.cp-elim-sub{font-size:14px;color:var(--cp-muted);margin-top:6px}
.cp-elim-img{margin:20px 0}
.cp-elim-show-link{margin-top:20px}
/* TRP */
.cp-trp-wrap{max-width:860px;margin:0 auto;padding:20px 0 40px}
.cp-trp-title{font-size:24px;font-weight:700;margin-bottom:6px}
.cp-trp-meta{font-size:13px;color:var(--cp-muted);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.cp-trp-intro{font-size:15px;line-height:1.75;color:#333;margin-bottom:24px}
.cp-trp-section{margin-bottom:28px}
.cp-trp-table{width:100%;border-collapse:collapse}
.cp-trp-table th{background:var(--cp-bg-lt);font-size:13px;font-weight:600;padding:12px 14px;text-align:left;border:1px solid var(--cp-border)}
.cp-trp-table td{padding:12px 14px;border:1px solid var(--cp-border);font-size:14px}
.cp-trp-rank1 td{background:#fffbf0}
.cp-trp-rank{font-weight:700;color:var(--cp-text);text-align:center}
.cp-trp-pts{font-size:16px;text-align:center}
.cp-trp-channel{color:var(--cp-muted);font-size:12px}
.cp-trp-change{text-align:center;font-size:13px;font-weight:600}
.cp-trp-up{color:#2e7d32}
.cp-trp-down{color:#c62828}
.cp-trp-same{color:var(--cp-muted)}
.cp-trp-new{background:#e3f2fd;color:#0d47a1;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:700}
.cp-trp-highlights{background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);padding:18px 20px;margin-bottom:24px}
.cp-highlights-list{list-style:none;padding:0;margin:0}
.cp-highlights-list li{padding:6px 0;font-size:14px;border-bottom:1px solid var(--cp-border)}
.cp-highlights-list li:last-child{border-bottom:none}
/* MOTW */
.cp-motw{position:relative;border-radius:var(--cp-radius-lg);overflow:hidden;margin-bottom:24px;min-height:280px;display:flex;align-items:flex-end}
.cp-motw-bg{position:absolute;inset:0;background-size:cover;background-position:center top;background-color:#1d1d1d}
.cp-motw-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.2) 60%,transparent 100%)}
.cp-motw-content{position:relative;z-index:1;padding:24px;color:#fff;width:100%}
.cp-motw-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85;display:block;margin-bottom:5px}
.cp-motw-title{font-size:26px;font-weight:700;margin:0 0 8px;line-height:1.2}
.cp-motw-title a{color:#fff;text-decoration:none}
.cp-motw-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;font-size:13px;opacity:.9}
.cp-motw-synopsis{font-size:14px;opacity:.8;margin-bottom:14px;max-width:560px;line-height:1.6}
.cp-motw-actions{display:flex;flex-wrap:wrap;gap:8px}
.cp-motw .cp-tag{background:rgba(255,255,255,.15);color:#fff}
.cp-motw .cp-wl-btn{position:static;background:rgba(255,255,255,.15);color:#fff;border-radius:var(--cp-radius);width:auto;height:auto;padding:9px 14px}
/* Search */
.cp-search-wrap{position:relative;margin-bottom:20px}
.cp-search-box{display:flex}
.cp-search-inp{flex:1;padding:10px 14px;border:1px solid var(--cp-border);border-right:none;border-radius:var(--cp-radius) 0 0 var(--cp-radius);font-size:14px;background:var(--cp-bg);color:var(--cp-text)}
.cp-search-inp:focus{outline:none;border-color:var(--cp-red)}
.cp-search-go{padding:10px 16px;background:var(--cp-red);color:#fff;border:none;border-radius:0 var(--cp-radius) var(--cp-radius) 0;cursor:pointer;font-size:16px;transition:background .2s}
.cp-search-go:hover{background:var(--cp-red-dk)}
.cp-search-res{position:absolute;top:100%;left:0;right:0;background:var(--cp-bg);border:1px solid var(--cp-border);border-top:none;border-radius:0 0 var(--cp-radius) var(--cp-radius);box-shadow:var(--cp-shadow-lg);z-index:999;max-height:360px;overflow-y:auto}
.cp-sr-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--cp-border);text-decoration:none;color:var(--cp-text);transition:background .15s}
.cp-sr-item:hover{background:var(--cp-bg-lt)}
.cp-sr-thumb{width:36px;height:54px;object-fit:cover;border-radius:4px;flex-shrink:0}
.cp-sr-ph{width:36px;height:54px;background:var(--cp-bg-lt);border-radius:4px;flex-shrink:0}
.cp-sr-title{font-size:13px;font-weight:600;display:block}
.cp-sr-type{font-size:11px;color:var(--cp-muted)}
.cp-sr-none{padding:14px;font-size:13px;color:var(--cp-muted);text-align:center}
/* Trailer modal */
.cp-modal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.cp-modal-box{position:relative;width:100%;max-width:800px;background:#000;border-radius:var(--cp-radius-lg);overflow:hidden}
.cp-modal-close{position:absolute;top:-42px;right:0;background:none;border:none;color:#fff;font-size:30px;cursor:pointer;line-height:1;z-index:1}
/* Reviews */
.cp-rating-summary{display:flex;gap:20px;background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);padding:18px;margin-bottom:20px;align-items:center}
@media(max-width:480px){.cp-rating-summary{flex-direction:column}}
.cp-rating-avg{text-align:center;min-width:80px}
.cp-avg-num{font-size:38px;font-weight:700;color:var(--cp-text);line-height:1}
.cp-avg-count{font-size:12px;color:var(--cp-muted);margin-top:3px}
.cp-rating-bars{flex:1}
.cp-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.cp-bar-star{font-size:11px;color:var(--cp-muted);width:26px;text-align:right}
.cp-bar-track{flex:1;height:6px;background:var(--cp-border);border-radius:3px;overflow:hidden}
.cp-bar-fill{height:100%;background:var(--cp-gold);border-radius:3px}
.cp-bar-count{font-size:11px;color:var(--cp-muted);width:18px}
.cp-review-form{background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);padding:18px;margin-bottom:20px}
.cp-review-form h3{font-size:15px;font-weight:700;margin:0 0 12px}
.cp-star-picker{display:flex;gap:4px;margin-bottom:12px;cursor:pointer}
.cp-sp-star{font-size:28px;color:#dee2e6;transition:color .15s,transform .1s;line-height:1}
.cp-sp-star:hover,.cp-sp-active{color:var(--cp-gold)}
.cp-rev-textarea{width:100%;border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:10px;box-sizing:border-box;background:#fff;color:var(--cp-text)}
.cp-rev-textarea:focus{outline:none;border-color:var(--cp-red)}
.cp-btn-submit-rev{background:var(--cp-red);color:#fff;border:none;padding:10px 22px;border-radius:var(--cp-radius);font-size:14px;font-weight:600;cursor:pointer}
.cp-btn-submit-rev:hover{background:var(--cp-red-dk)}
.cp-rev-msg{font-size:13px;margin-top:8px;min-height:18px}
.cp-rev-msg.success{color:#2e7d32}
.cp-rev-msg.error{color:#721c24}
.cp-rev-pending{font-size:12px;color:var(--cp-muted);margin-top:4px}
.cp-reviews-list{display:flex;flex-direction:column;gap:12px}
.cp-review-item{background:var(--cp-bg);border:1px solid var(--cp-border);border-radius:var(--cp-radius-lg);padding:14px 16px}
.cp-rev-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cp-rev-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--cp-red),var(--cp-red-dk));color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cp-rev-meta{flex:1}
.cp-rev-name{font-size:13px;font-weight:600;color:var(--cp-text);display:block;margin-bottom:2px}
.cp-rev-date{font-size:11px;color:var(--cp-muted);margin-left:auto}
.cp-rev-text{font-size:14px;color:#444;line-height:1.6}
.cp-no-reviews{font-size:14px;color:var(--cp-muted);padding:14px 0}
.cp-login-note{font-size:14px;color:var(--cp-muted)}
.cp-login-note a{color:var(--cp-red)}
/* Automations */
.cp-running-wrap,.cp-ott-wrap,.cp-compare-wrap,.cp-weekly-chart-wrap,.cp-alltime-wrap{margin-bottom:24px}
.cp-running-table,.cp-ott-table,.cp-compare-table,.cp-weekly-table,.cp-alltime-table{width:100%;border-collapse:collapse}
.cp-running-table th,.cp-ott-table th,.cp-compare-table th,.cp-weekly-table th,.cp-alltime-table th{background:var(--cp-bg-lt);font-size:13px;font-weight:600;padding:10px 12px;text-align:left;border:1px solid var(--cp-border)}
.cp-running-table td,.cp-ott-table td,.cp-compare-table td,.cp-weekly-table td,.cp-alltime-table td{padding:10px 12px;border:1px solid var(--cp-border);font-size:13px}
.cp-compare-total-row td{font-weight:700;background:var(--cp-bg-lt)}
.cp-compare-header-row td{background:#f0f8ff;font-weight:600}
.cp-cmp-win-left td:nth-child(2){color:#2e7d32;font-weight:600}
.cp-cmp-win-right td:nth-child(3){color:#2e7d32;font-weight:600}
.cp-rank{font-weight:700;text-align:center}
.cp-ott-link{color:var(--cp-red);text-decoration:none;font-weight:600}
/* Ad units */
.cp-ad-unit{margin:20px 0;text-align:center}
/* Crew info */
.cp-crew-info{background:var(--cp-bg-lt);border:1px solid var(--cp-border);border-radius:var(--cp-radius);padding:14px}
.cp-crew-row{font-size:13px;color:var(--cp-text);margin-bottom:6px}
.cp-crew-row:last-child{margin-bottom:0}
.cp-crew-row strong{color:var(--cp-muted);margin-right:6px}
/* Related */
.cp-related-wrap{margin-top:32px}
.cp-related-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
/* Misc */
.cp-empty{font-size:14px;color:var(--cp-muted);padding:20px 0}
.cp-notice{font-size:14px;color:var(--cp-muted)}
.cp-notice a{color:var(--cp-red)}
.cp-celeb-body,.cp-celeb-wrap{max-width:100%}
@media(max-width:600px){.cp-bo-table{font-size:12px}.cp-bo-table th,.cp-bo-table td{padding:8px 10px}.cp-about-row{grid-template-columns:1fr;gap:2px}.cp-celeb-hero{grid-template-columns:1fr}}

/* ══════════════════════════════════════════
   MOBILE FIRST — Complete Responsive Fixes
   CinePress v3.0 — filmivilla.com
   ══════════════════════════════════════════ */

/* ── Base mobile adjustments ── */
@media(max-width:767px){
    /* Single hero — stack vertically on mobile */
    .cp-single-hero{flex-direction:row;gap:12px;align-items:flex-start}
    .cp-single-poster{width:110px;flex-shrink:0}
    .cp-single-poster .cp-poster-img{border-radius:6px}
    .cp-poster-img{max-width:100%;border-radius:8px}
    .cp-single-title{font-size:20px}
    .cp-single-info{text-align:left}
    
    /* Meta pills wrap properly */
    .cp-meta-pills{gap:4px}
    .cp-pill{font-size:11px;padding:2px 7px}
    
    /* Genre tags */
    .cp-single-genres{gap:4px}
    
    /* Actions stack */
    .cp-single-actions{gap:6px}
    .cp-btn{padding:8px 14px;font-size:12px}
    
    /* BO live bar - scroll horizontally */
    .cp-live-bo-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:6px}
    .cp-lbo-item{min-width:70px;padding:8px 10px}
    .cp-lbo-day{font-size:10px}
    .cp-lbo-val{font-size:12px}
    
    /* Cast strip */
    .cp-cast-strip{gap:10px}
    .cp-cast-item{width:58px}
    .cp-cast-av{width:44px;height:44px;font-size:12px}
    .cp-cast-name{font-size:10px}
    
    /* Section heads */
    .cp-section-head{font-size:16px}
    
    /* Reviews */
    .cp-rating-summary{flex-direction:column;gap:14px;padding:14px}
    .cp-avg-num{font-size:32px}
    .cp-rev-textarea{font-size:14px}
    
    /* BO post template */
    .cp-bo-post-wrap{padding:14px 0 30px}
    .cp-bo-post-title{font-size:20px;line-height:1.2}
    .cp-bo-heading{font-size:17px}
    .cp-bo-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .cp-bo-table th,.cp-bo-table td{padding:10px 12px;font-size:13px;white-space:nowrap}
    .cp-bo-summary-totals p{font-size:13px;padding:6px 10px}
    .cp-bo-budget{font-size:16px}
    .cp-about-row{grid-template-columns:130px 1fr;font-size:13px}
    
    /* Verdict card */
    .cp-verdict-card{padding:14px}
    .cp-vbar-label{width:65px;font-size:11px}
    .cp-vbar-val{font-size:12px;min-width:80px}
    .cp-verdict-badge{font-size:12px;padding:5px 14px}
    
    /* Celebrity page */
    .cp-celeb-hero{grid-template-columns:1fr;gap:16px}
    .cp-celeb-photo{max-width:180px;margin:0 auto}
    .cp-celeb-img{border-radius:50%;width:160px;height:160px;object-fit:cover;margin:0 auto;display:block}
    .cp-celeb-ph{width:160px;height:160px;border-radius:50%;margin:0 auto}
    .cp-celeb-name{font-size:22px;text-align:center;margin-top:10px}
    .cp-celeb-type{display:block;text-align:center;margin-bottom:6px}
    .cp-celeb-stats-bar{justify-content:center;gap:16px}
    .cp-celeb-table td{font-size:12px;padding:5px 0}
    .cp-social-links{justify-content:center}
    .cp-filmography{grid-template-columns:1fr}
    .cp-film-item{font-size:12px;padding:6px 10px}
    .cp-digital-grid{grid-template-columns:1fr}
    .cp-biography{font-size:14px;line-height:1.7}
    
    /* TRP tables */
    .cp-trp-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .cp-trp-table th,.cp-trp-table td{white-space:nowrap;padding:9px 10px;font-size:12px}
    .cp-trp-title{font-size:20px}
    
    /* Reality shows */
    .cp-contestants-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .cp-contestants-table th,.cp-contestants-table td{white-space:nowrap;font-size:12px;padding:8px 10px}
    
    /* Web series */
    .cp-season-brief{padding:10px}
    .cp-season-title{font-size:14px}
    .cp-season-text{font-size:13px}
    
    /* Grid */
    .cp-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .cp-card-title{font-size:12px}
    .cp-card-body{padding:8px 10px 12px}
    
    /* Watchlist button - always visible on mobile (no hover) */
    .cp-wl-btn{opacity:1;width:28px;height:28px;font-size:14px}
    
    /* Related grid */
    .cp-related-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    
    /* Automations tables */
    .cp-running-table,.cp-ott-table,.cp-compare-table,.cp-weekly-table,.cp-alltime-table{
        display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
    }
    .cp-running-table th,.cp-running-table td,
    .cp-ott-table th,.cp-ott-table td,
    .cp-compare-table th,.cp-compare-table td,
    .cp-weekly-table th,.cp-weekly-table td,
    .cp-alltime-table th,.cp-alltime-table td{
        white-space:nowrap;font-size:12px;padding:8px 10px;
    }
    
    /* Actor BO stats */
    .cp-actor-bo-stats{gap:8px}
    .cp-abo-stat{padding:8px 10px}
    .cp-abo-num{font-size:15px}
    .cp-abo-label{font-size:10px}
    .cp-abo-table{display:block;overflow-x:auto}
    
    /* About grid on BO post */
    .cp-about-movie{padding:14px}
    .cp-about-row{grid-template-columns:1fr;gap:2px;padding:7px 0}
    .cp-about-row strong{color:var(--cp-muted);font-size:12px}
    .cp-about-row div{font-size:13px}
    
    /* MOTW */
    .cp-motw{min-height:220px}
    .cp-motw-content{padding:16px}
    .cp-motw-title{font-size:20px}
    .cp-motw-synopsis{display:none}
    
    /* Search */
    .cp-search-inp{font-size:14px;padding:10px 12px}
    
    /* Elimination highlight */
    .cp-elim-highlight{padding:20px 14px}
    .cp-elim-name{font-size:20px}
    
    /* Section wrap padding */
    .cp-single-wrap,.cp-bo-post-wrap,.cp-celeb-wrap,.cp-trp-wrap,.cp-elim-wrap{
        padding-left:4px;padding-right:4px;
    }
    
    /* Views badge */
    .cp-views-badge{
        position:absolute;bottom:8px;left:8px;
        background:rgba(0,0,0,.7);color:#fff;
        font-size:10px;padding:2px 6px;border-radius:10px;
    }
    
    /* Pagination */
    .cp-pagination{gap:4px}
    .cp-pagination .page-numbers{min-width:32px;height:32px;font-size:12px}
}

/* ── Tablet 768-1024 ── */
@media(min-width:768px) and (max-width:1024px){
    .cp-single-hero{flex-direction:row;gap:16px}
    .cp-single-poster{width:140px}
    .cp-single-title{font-size:22px}
    .cp-celeb-hero{grid-template-columns:160px 1fr;gap:20px}
    .cp-grid{grid-template-columns:repeat(3,1fr)}
    .cp-bo-table th,.cp-bo-table td{padding:10px 14px}
}

/* ── Views badge (desktop too) ── */
.cp-views-badge{
    position:absolute;bottom:8px;left:8px;
    background:rgba(0,0,0,.7);color:#fff;
    font-size:10px;padding:2px 6px;border-radius:10px;
    font-weight:600;
}

/* ── Trending wrap ── */
.cp-trending-wrap{margin-bottom:24px}

/* Celebrity bio additional mobile fixes */
@media(max-width:767px){
    .cp-awards-table,.cp-reality-app-table,.cp-abo-table{
        display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
        font-size:12px;
    }
    .cp-awards-table th,.cp-awards-table td,
    .cp-reality-app-table th,.cp-reality-app-table td{
        white-space:nowrap;padding:8px 10px;
    }
    .cp-celeb-body{overflow:hidden;word-break:break-word}
    .cp-celeb-table{table-layout:fixed;width:100%}
    .cp-celeb-table td{word-break:break-word;white-space:normal}
    .cp-celeb-table td:first-child{width:38%;font-size:12px}
    .cp-celeb-table td:last-child{width:62%;font-size:13px}
    .cp-social-links{flex-wrap:wrap}
    .cp-social{font-size:11px;padding:4px 10px}
    .cp-digital-card{padding:10px}
    .cp-digital-icon{width:36px;height:36px;font-size:11px}
    .cp-abo-table{display:block;overflow-x:auto}
    .cp-celeb-stats-bar{padding:8px 10px;gap:10px}
    .cp-cstat-val{font-size:12px}
    .cp-biography{font-size:14px;line-height:1.7;word-break:break-word}
    /* Stop content overflow on single content */
    .cp-single-body,.cp-celeb-body{
        overflow-x:hidden;
        max-width:100%;
        box-sizing:border-box;
    }
    /* Force all tables to not overflow page */
    table{max-width:100%;word-break:break-word}
}

/* Highlights cards */
.cp-highlights-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:600px){.cp-highlights-grid{grid-template-columns:repeat(2,1fr)}}
.cp-highlight-card{
    border:1px solid var(--cp-border);
    border-radius:var(--cp-radius);
    padding:14px 16px;
    background:var(--cp-bg-lt);
    border-left:3px solid var(--cp-red);
}
.cp-highlight-title{
    font-size:14px;font-weight:700;
    color:var(--cp-text);margin:0 0 6px;
}
.cp-highlight-text{
    font-size:14px;color:#444;
    margin:0;line-height:1.65;
}

/* Fix global content overflow on mobile */
@media(max-width:767px){
    .cp-single-wrap{overflow-x:hidden}
    .cp-bo-post-wrap{overflow-x:hidden}
    img{max-width:100%;height:auto}
    .cp-section{overflow:visible}
    /* Fix about movie on BO post */
    .cp-about-movie{overflow:hidden}
    .cp-about-grid{overflow:hidden}
}

/* ══════════════════════════════════════
   THEME OVERRIDES - Reset Newsy theme
   conflicting styles on CinePress elements
   ══════════════════════════════════════ */

/* Kill any theme blockquote border applied to our containers */
.cp-single-wrap blockquote,
.cp-celeb-wrap blockquote,
.cp-bo-post-wrap blockquote,
.cp-single-wrap *,
.cp-celeb-wrap *,
.cp-bo-post-wrap * {
    box-sizing: border-box;
}

/* Reset any theme-applied left border/bar on our wrappers */
.cp-celeb-wrap,
.cp-celeb-body,
.cp-celeb-hero,
.cp-single-body,
.cp-single-wrap,
.cp-bo-post-wrap,
.cp-section,
.cp-celeb-table,
.cp-filmography,
.cp-biography {
    border-left: none !important;
    padding-left: 0;
}

/* Celebrity listing page - fix content overflow */
.cp-celeb-wrap {
    max-width: 100%;
    overflow-x: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Fix Newsy theme applying dark bar via ::before or ::after pseudoelements */
.cp-celeb-wrap::before,
.cp-celeb-wrap::after,
.cp-single-wrap::before,
.cp-single-wrap::after,
.cp-bo-post-wrap::before,
.cp-bo-post-wrap::after,
.cp-section::before,
.cp-section::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* Mobile content cutoff fix - global */
body .cp-single-wrap,
body .cp-celeb-wrap,
body .cp-bo-post-wrap,
body .cp-trp-wrap,
body .cp-elim-wrap {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
}

/* Mobile - all images responsive */
.cp-single-wrap img,
.cp-celeb-wrap img,
.cp-bo-post-wrap img {
    max-width: 100%;
    height: auto;
}

/* Mobile grid fix */
@media(max-width:767px){
    .cp-grid {
        padding-left: 0;
        padding-right: 0;
    }
    
    /* Stop ALL border-left from creating the dark bar */
    .cp-celeb-wrap * {
        border-left-width: 0 !important;
    }
    
    /* Restore only intended border-left elements */
    .cp-celeb-stats-bar,
    .cp-highlight-card,
    .cp-bo-summary-totals p,
    .cp-season-brief {
        border-left-width: 3px !important;
    }
    
    /* Table cells - no overflow */
    td, th {
        word-break: break-word;
        overflow-wrap: break-word;
    }
    
    /* Single hero poster - constrain on mobile */
    .cp-single-poster { width: 110px; }
    
    /* Stack hero on mobile */
    .cp-single-hero { flex-direction: row; gap: 12px; }
    
    /* BO post headings */
    .cp-bo-heading {
        font-size: 16px;
        word-break: break-word;
    }
    
    /* About movie grid - single column */
    .cp-about-grid {
        display: block;
    }
    .cp-about-row {
        display: flex;
        flex-direction: column;
        padding: 8px 0;
        border-bottom: 1px solid var(--cp-border);
        gap: 2px;
    }
    .cp-about-row strong {
        font-size: 11px;
        color: var(--cp-muted);
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }
    .cp-about-row div {
        font-size: 14px;
    }
    
    /* Fix celeb table on mobile */
    .cp-celeb-table {
        border-left: none !important;
    }
    .cp-celeb-table td {
        border-left: none !important;
    }
    
    /* Force full width on mobile */
    .cp-single-info,
    .cp-celeb-info {
        width: 100%;
        max-width: 100%;
    }
}

/* ══════════════════════════════════════
   CELEBRITY PAGE - Complete Rewrite
   Clean mobile-first, no dark bar issue
   ══════════════════════════════════════ */

.cp-celeb-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 15px 40px;
    box-sizing: border-box;
    overflow-x: hidden;
    border-left: none !important;
}

/* Header - photo + info side by side on desktop */
.cp-celeb-header {
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 28px;
    border-left: none !important;
    overflow: visible;
    width: 100%;
    box-sizing: border-box;
}
.cp-celeb-photo-wrap {
    flex-shrink: 0;
    width: 160px;
    min-width: 160px;
    overflow: visible;
}
.cp-celeb-photo-img {
    width: 160px;
    height: 200px;
    object-fit: cover;
    border-radius: var(--cp-radius-lg);
    box-shadow: var(--cp-shadow-lg);
    display: block;
}
.cp-celeb-ph-circle {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: linear-gradient(135deg,var(--cp-red),var(--cp-red-dk));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    font-weight: 700;
    color: #fff;
}
.cp-celeb-header-info {
    flex: 1;
    min-width: 0;
    max-width: calc(100% - 184px);
    border-left: none !important;
    overflow: visible;
}
.cp-celeb-name {
    font-size: 26px;
    font-weight: 700;
    margin: 6px 0 10px;
    line-height: 1.2;
    color: var(--cp-text);
    word-break: break-word;
}
.cp-celeb-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    background: var(--cp-bg-lt);
    border-radius: var(--cp-radius);
    padding: 10px 14px;
    margin-bottom: 0;
    border-left: none !important;
    max-width: 100%;
    box-sizing: border-box;
}
.cp-cstat { display: flex; flex-direction: column; gap: 1px; }
.cp-cstat-l { font-size: 10px; color: var(--cp-muted); text-transform: uppercase; letter-spacing: .05em; }
.cp-cstat-v { font-size: 13px; font-weight: 600; color: var(--cp-text); }

/* Info table - used for personal info and physical stats */
.cp-info-table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-left: none !important;
    table-layout: fixed;
    word-break: break-word;
}
.cp-info-table td {
    padding: 9px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--cp-border);
    vertical-align: top;
    border-left: none !important;
    word-break: break-word;
    overflow-wrap: break-word;
}
.cp-info-table td:first-child {
    color: var(--cp-muted);
    font-weight: 600;
    width: 38%;
    padding-right: 12px;
}
.cp-info-table tr:last-child td { border-bottom: none; }

/* Bio text */
.cp-bio-text {
    font-size: 15px;
    line-height: 1.75;
    color: #333;
    word-break: break-word;
    overflow-wrap: break-word;
    border-left: none !important;
}

/* Digital cards */
.cp-digital-cards { display: flex; flex-direction: column; gap: 10px; }
.cp-digital-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: var(--cp-bg-lt);
    border: 1px solid var(--cp-border);
    border-radius: var(--cp-radius);
    border-left: none !important;
}
.cp-di-icon {
    width: 40px; height: 40px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700; color: #fff; flex-shrink: 0;
}
.cp-di-yt { background: #ff0000; }
.cp-di-ig { background: linear-gradient(135deg,#405de6,#833ab4,#e1306c); }
.cp-di-info { display: flex; flex-direction: column; gap: 2px; }
.cp-di-info a { font-weight: 600; color: var(--cp-text); text-decoration: none; font-size: 14px; }
.cp-di-info a:hover { color: var(--cp-red); }
.cp-di-info span { font-size: 12px; color: var(--cp-muted); }
.cp-di-niche { font-size: 13px; color: var(--cp-muted); margin: 4px 0 0; }

/* Filmography list - simple rows */
.cp-filmog-list { display: flex; flex-direction: column; gap: 0; }
.cp-filmog-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--cp-border);
    font-size: 14px;
}
.cp-filmog-row:last-child { border-bottom: none; }
.cp-filmog-year { color: var(--cp-muted); font-size: 12px; flex-shrink: 0; width: 44px; }
.cp-filmog-title { flex: 1; font-weight: 600; color: var(--cp-text); word-break: break-word; }
.cp-filmog-plat {
    font-size: 11px; color: #0d47a1;
    background: #e3f2fd; padding: 1px 6px;
    border-radius: 3px; flex-shrink: 0;
}

/* Awards table - scrollable container */
.cp-awards-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cp-awards-table { width: 100%; border-collapse: collapse; min-width: 380px; }
.cp-awards-table th {
    background: var(--cp-bg-lt); font-size: 12px; font-weight: 600;
    padding: 10px 12px; text-align: left; border: 1px solid var(--cp-border);
}
.cp-awards-table td {
    padding: 9px 12px; border: 1px solid var(--cp-border);
    font-size: 13px; vertical-align: top;
}

/* Social links */
.cp-social-links { display: flex; flex-wrap: wrap; gap: 8px; }
.cp-social {
    display: inline-flex; align-items: center; padding: 7px 14px;
    border-radius: 20px; font-size: 12px; font-weight: 600;
    text-decoration: none; border: 1px solid var(--cp-border);
    color: var(--cp-text); transition: all .2s; white-space: nowrap;
}
.cp-social:hover { border-color: var(--cp-red); color: var(--cp-red); }

/* ── Celebrity Mobile ── */
@media(max-width:600px) {
    .cp-celeb-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
    }
    .cp-celeb-photo-wrap { width: 130px; }
    .cp-celeb-photo-img { width: 130px; height: 160px; }
    .cp-celeb-ph-circle { width: 120px; height: 120px; font-size: 32px; }
    .cp-celeb-name { font-size: 22px; text-align: center; }
    .cp-celeb-stats { justify-content: center; }
    .cp-celeb-header-info { width: 100%; }
    .cp-info-table td { font-size: 13px; padding: 8px 0; }
    .cp-info-table td:first-child { width: 40%; }
    .cp-bio-text { font-size: 14px; }
    .cp-filmog-row { font-size: 13px; }
    .cp-social-links { justify-content: center; }
    .cp-digital-item { padding: 10px 12px; }
}

/* ══════════════════════════════════════════════
   FINAL TARGETED FIXES — Based on screenshots
   ══════════════════════════════════════════════ */

/* ── Movie page: poster + info side by side on ALL screen sizes ── */
.cp-single-hero {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 24px;
}
.cp-single-poster {
    flex-shrink: 0 !important;
    width: 170px !important;
    max-width: 170px !important;
}
.cp-single-info {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden;
    word-break: break-word;
}
.cp-single-title {
    font-size: 22px;
    line-height: 1.2;
    word-break: break-word;
    margin-top: 0;
}
.cp-poster-img {
    width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 8px;
}

/* Mobile: smaller poster, content fits */
@media(max-width:480px) {
    .cp-single-poster {
        width: 100px !important;
        max-width: 100px !important;
    }
    .cp-single-title { font-size: 17px !important; }
    .cp-single-hero { gap: 12px !important; }
    .cp-meta-pills { gap: 4px; }
    .cp-pill { font-size: 10px; padding: 2px 6px; }
    .cp-single-genres { gap: 3px; }
    .cp-tag { font-size: 10px; padding: 1px 6px; }
    .cp-info-row { font-size: 12px; }
    .cp-single-actions { gap: 6px; }
    .cp-btn { font-size: 11px; padding: 7px 12px; }
    .cp-ott-tag { font-size: 11px; }
    .cp-single-wrap { padding-left: 12px !important; padding-right: 12px !important; }
}
@media(min-width:481px) and (max-width:767px) {
    .cp-single-poster {
        width: 120px !important;
        max-width: 120px !important;
    }
    .cp-single-title { font-size: 19px !important; }
}

/* ── Celebrity page: fix header on desktop ── */
.cp-celeb-header {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 24px;
    overflow: visible !important;
}
.cp-celeb-photo-wrap {
    flex-shrink: 0 !important;
    width: 150px !important;
    min-width: 150px !important;
}
.cp-celeb-photo-img {
    width: 150px !important;
    height: 190px !important;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}
.cp-celeb-header-info {
    flex: 1 !important;
    min-width: 0 !important;
    max-width: calc(100% - 174px) !important;
    overflow: visible !important;
    word-break: break-word;
}
.cp-celeb-name {
    font-size: 24px;
    font-weight: 700;
    margin: 4px 0 10px;
    line-height: 1.2;
    word-break: break-word;
}
/* Info table full width, no overflow */
.cp-info-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse;
}
.cp-info-table td:first-child {
    width: 35% !important;
    word-break: normal;
    font-weight: 600;
    color: var(--cp-muted);
    padding-right: 10px;
    font-size: 13px;
}
.cp-info-table td:last-child {
    width: 65% !important;
    word-break: break-word;
    overflow-wrap: break-word;
    font-size: 14px;
}
/* Celeb stats bar — no overflow */
.cp-celeb-stats {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 14px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Celebrity mobile */
@media(max-width:600px) {
    .cp-celeb-header {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center;
    }
    .cp-celeb-photo-wrap {
        width: 120px !important;
        min-width: 120px !important;
    }
    .cp-celeb-photo-img {
        width: 120px !important;
        height: 150px !important;
    }
    .cp-celeb-header-info {
        max-width: 100% !important;
        width: 100%;
        text-align: center;
    }
    .cp-celeb-name { font-size: 20px !important; text-align: center; }
    .cp-celeb-stats { justify-content: center; }
    .cp-info-table td:first-child { width: 38% !important; font-size: 12px; }
    .cp-info-table td:last-child { width: 62% !important; font-size: 13px; }
    .cp-celeb-wrap { padding: 14px 12px 30px !important; }
    .cp-filmog-row { font-size: 13px; }
    .cp-bio-text { font-size: 14px; line-height: 1.7; }
}

/* ── Section heads full width ── */
.cp-section-head {
    width: 100%;
    box-sizing: border-box;
    word-break: break-word;
}

/* ── Prevent ANY element from causing horizontal scroll ── */
.cp-single-wrap,
.cp-celeb-wrap,
.cp-bo-post-wrap,
.cp-trp-wrap {
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* ── Rating on movie page ── */
.cp-single-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 8px 0 6px;
}

/* ══════════════════════════════════════
   BO POST — Match Newsy theme container
   ══════════════════════════════════════ */
.cp-bo-post-wrap {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* All CinePress single pages - match theme container */
.cp-single-wrap,
.cp-celeb-wrap,
.cp-trp-wrap,
.cp-elim-wrap {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media(max-width:767px) {
    .cp-bo-post-wrap,
    .cp-single-wrap,
    .cp-celeb-wrap,
    .cp-trp-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}



/* ══════════════════════════════════════
   BOX OFFICE LISTING — Exact Newsy style
   Based on screenshot analysis
   ══════════════════════════════════════ */
.cp-newsy-grid-wrap { width:100%; }

/* 4-column grid matching Newsy homepage */
.cp-newsy-grid {
    display: grid;
    gap: 20px 16px;
    margin-bottom: 16px;
}
.cp-newsy-cols-4 { grid-template-columns: repeat(4, 1fr); }
.cp-newsy-cols-3 { grid-template-columns: repeat(3, 1fr); }
.cp-newsy-cols-2 { grid-template-columns: repeat(2, 1fr); }
.cp-newsy-cols-1 { grid-template-columns: 1fr; }

/* Each card — no border, no shadow, clean white */
.cp-newsy-item {
    background: transparent;
    border: none;
    padding: 0;
}

/* Image wrapper — relative for label overlay */
.cp-newsy-img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    margin-bottom: 10px;
}
.cp-newsy-post-img {
    width: 100%;
    height: 185px;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .3s ease;
}
.cp-newsy-item:hover .cp-newsy-post-img { transform: scale(1.04); }
.cp-newsy-no-img {
    width: 100%;
    height: 185px;
    background: #e9ecef;
}

/* "BOX OFFICE" red label at BOTTOM of image — exact Newsy position */
.cp-newsy-label {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: var(--cp-red);
    color: #fff !important;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 4px 10px;
    text-decoration: none !important;
    white-space: nowrap;
    display: inline-block;
    line-height: 1.4;
}
.cp-newsy-label:hover { background: var(--cp-red-dk); }

/* Title — centered bold, matches Newsy */
.cp-newsy-post-title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    margin: 0 0 6px;
    color: var(--cp-text);
}
.cp-newsy-post-title a {
    color: var(--cp-text);
    text-decoration: none;
}
.cp-newsy-post-title a:hover { color: var(--cp-red); }

/* Meta row — centered, clock icon + date */
.cp-newsy-post-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 12px;
    color: var(--cp-muted);
    text-align: center;
    flex-wrap: wrap;
}
.cp-newsy-clock { font-size: 11px; }
.cp-newsy-sep { color: #ccc; }
.cp-newsy-amt { color: var(--cp-red); font-weight: 600; }

/* Responsive */
@media(max-width:960px) {
    .cp-newsy-cols-4 { grid-template-columns: repeat(3, 1fr); }
}
@media(max-width:767px) {
    .cp-newsy-cols-4,
    .cp-newsy-cols-3 { grid-template-columns: repeat(2, 1fr); }
    .cp-newsy-post-img { height: 160px; }
    .cp-newsy-post-title { font-size: 13px; }
}
@media(max-width:400px) {
    .cp-newsy-cols-4,
    .cp-newsy-cols-3,
    .cp-newsy-cols-2 { grid-template-columns: repeat(2, 1fr); }
    .cp-newsy-post-img { height: 130px; }
    .cp-newsy-post-title { font-size: 12px; }
}

/* ══════════════════════════════════════
   BOX OFFICE COMPARISON POST
   ══════════════════════════════════════ */
.cp-cmp-wrap{max-width:900px;margin:0 auto;padding:20px 15px 40px;box-sizing:border-box}
.cp-cmp-title{font-size:24px;font-weight:800;line-height:1.3;margin-bottom:4px;color:var(--cp-text)}
.cp-cmp-meta{font-size:13px;color:var(--cp-muted);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--cp-border)}
.cp-cmp-intro{margin-bottom:24px}

/* Poster section */
.cp-cmp-posters{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:20px;
    align-items:center;
    margin-bottom:28px;
    padding:24px;
    background:var(--cp-bg-lt);
    border-radius:var(--cp-radius-lg);
    border:1px solid var(--cp-border);
}
.cp-cmp-poster-item{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.cp-cmp-poster-img{width:140px;height:200px;object-fit:cover;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);display:block}
.cp-cmp-poster-ph{width:140px;height:200px;background:linear-gradient(135deg,var(--cp-red),var(--cp-red-dk));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600;text-align:center;padding:10px}
.cp-cmp-movie-name{font-size:16px;font-weight:700;margin:0;color:var(--cp-text)}
.cp-cmp-release{font-size:12px;color:var(--cp-muted)}
.cp-cmp-director{font-size:12px;color:var(--cp-muted)}
.cp-cmp-vs-badge{
    font-size:32px;font-weight:900;
    color:var(--cp-red);
    background:#fff;
    width:56px;height:56px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 12px rgba(233,69,96,.3);
    flex-shrink:0;
    border:2px solid var(--cp-red);
}

/* Comparison table */
.cp-cmp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cp-cmp-table{width:100%;border-collapse:collapse;min-width:400px}
.cp-cmp-table th{background:var(--cp-text);color:#fff;padding:12px 16px;font-size:13px;font-weight:600;text-align:center}
.cp-cmp-th-label{text-align:left!important;width:30%}
.cp-cmp-th-m1,.cp-cmp-th-m2{width:30%}
.cp-cmp-label{padding:11px 16px;font-size:14px;color:var(--cp-muted);font-weight:600;border-bottom:1px solid var(--cp-border);background:var(--cp-bg-lt)}
.cp-cmp-val{padding:11px 16px;font-size:14px;text-align:center;border-bottom:1px solid var(--cp-border);color:var(--cp-text)}
.cp-cmp-table tbody tr:hover td{background:#f9f9f9}

/* Winner/loser highlight */
.cp-cmp-winner{background:#e8f5e9!important;color:#2e7d32!important;font-weight:700}
.cp-cmp-loser{color:var(--cp-muted)!important}
.cp-cmp-total-row td{background:var(--cp-text)!important;color:#fff!important;border-color:var(--cp-text)}
.cp-cmp-total-row .cp-cmp-winner{background:#1b5e20!important;color:#a5d6a7!important}

/* Winner card */
.cp-cmp-winner-section{}
.cp-cmp-winner-card{
    display:flex;gap:20px;align-items:center;
    padding:20px 24px;
    background:linear-gradient(135deg,#fffde7,#fff9c4);
    border:2px solid #ffd54f;
    border-radius:var(--cp-radius-lg);
}
.cp-cmp-winner-poster{width:80px;height:110px;object-fit:cover;border-radius:6px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.cp-cmp-winner-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#f57f17;margin-bottom:4px}
.cp-cmp-winner-name{font-size:22px;font-weight:800;color:#333;margin:0 0 6px}
.cp-cmp-winner-total{font-size:15px;font-weight:600;color:#555}

/* Mobile */
@media(max-width:600px){
    .cp-cmp-posters{grid-template-columns:1fr;gap:16px;text-align:center}
    .cp-cmp-vs-badge{margin:0 auto}
    .cp-cmp-poster-img{width:120px;height:170px}
    .cp-cmp-title{font-size:18px}
    .cp-cmp-winner-card{flex-direction:column;text-align:center}
    .cp-cmp-winner-name{font-size:18px}
}

/* Budget row highlight in comparison table */
.cp-cmp-budget-row td { background: #fff8e1 !important; }
.cp-cmp-budget-row .cp-cmp-label { font-weight: 700; color: #e65100 !important; }
.cp-cmp-budget-row .cp-cmp-val { font-weight: 700; color: #e65100 !important; }

/* ══════════════════════════════════════
   BOX OFFICE RANKINGS
   ══════════════════════════════════════ */
.cp-rankings-wrap { max-width:100%; margin-bottom:32px; }

/* Summary box */
.cp-rankings-summary {
    display:flex; flex-wrap:wrap; gap:0;
    margin-bottom:20px;
    border:1px solid var(--cp-border);
    border-radius:var(--cp-radius-lg);
    overflow:hidden;
}
.cp-rs-item {
    flex:1; min-width:140px;
    padding:14px 18px;
    background:var(--cp-bg-lt);
    border-right:1px solid var(--cp-border);
    display:flex; flex-direction:column; gap:4px;
}
.cp-rs-item:last-child { border-right:none; }
.cp-rs-biggest { background:linear-gradient(135deg,#fff8e1,#fffde7); }
.cp-rs-label { font-size:11px; font-weight:600; color:var(--cp-muted); text-transform:uppercase; letter-spacing:.05em; }
.cp-rs-val { font-size:16px; font-weight:700; color:var(--cp-text); }
.cp-rs-val a { color:var(--cp-red); text-decoration:none; }
.cp-rs-val a:hover { text-decoration:underline; }

/* Sort controls */
.cp-rankings-sort {
    display:flex; align-items:center; gap:8px;
    margin-bottom:12px; flex-wrap:wrap;
}
.cp-rs-sort-label { font-size:13px; color:var(--cp-muted); font-weight:600; }
.cp-rs-sort-btn {
    padding:5px 14px; border:1px solid var(--cp-border);
    border-radius:20px; font-size:12px; font-weight:600;
    background:#fff; color:var(--cp-text); cursor:pointer;
    transition:all .15s;
}
.cp-rs-sort-btn:hover, .cp-rs-sort-btn.active {
    background:var(--cp-red); color:#fff; border-color:var(--cp-red);
}

/* Table */
.cp-rankings-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cp-rankings-table {
    width:100%; border-collapse:collapse;
    font-size:14px; min-width:640px;
}
.cp-rankings-table thead th {
    background:var(--cp-text); color:#fff;
    padding:12px 14px; font-size:12px;
    font-weight:600; text-align:left;
    white-space:nowrap;
}
.cp-rk-rank { width:40px; text-align:center !important; }
.cp-rk-num  { text-align:right !important; white-space:nowrap; }
.cp-rk-ww   { background:rgba(255,255,255,.08); }
.cp-rk-verdict { white-space:nowrap; }

.cp-rankings-table tbody td {
    padding:10px 14px;
    border-bottom:1px solid var(--cp-border);
    vertical-align:middle;
}
.cp-rankings-table tbody tr:nth-child(even) td { background:var(--cp-bg-lt); }
.cp-rankings-table tbody tr:hover td { background:#f0f4ff; }
.cp-rk-row td.cp-rk-rank {
    font-weight:700; font-size:15px;
    color:var(--cp-muted); text-align:center;
}
.cp-rk-row:nth-child(1) td.cp-rk-rank { color:#f9a825; font-size:18px; }
.cp-rk-row:nth-child(2) td.cp-rk-rank { color:#90a4ae; font-size:16px; }
.cp-rk-row:nth-child(3) td.cp-rk-rank { color:#a1887f; font-size:16px; }
.cp-rk-movie-link { font-weight:600; color:var(--cp-text); text-decoration:none; }
.cp-rk-movie-link:hover { color:var(--cp-red); }
.cp-rk-dir { font-size:12px; color:var(--cp-muted); }
.cp-rk-release { font-size:12px; color:var(--cp-muted); white-space:nowrap; }

/* Related languages */
.cp-rankings-related { margin-top:28px; }
.cp-rankings-lang-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:10px; margin-top:14px;
}
.cp-lang-card {
    display:flex; flex-direction:column; gap:3px;
    padding:12px 14px;
    background:var(--cp-bg-lt);
    border:1px solid var(--cp-border);
    border-radius:var(--cp-radius);
    text-decoration:none;
    transition:all .2s;
}
.cp-lang-card:hover {
    border-color:var(--cp-red);
    background:#fff5f5;
    transform:translateY(-2px);
}
.cp-lang-name { font-size:14px; font-weight:700; color:var(--cp-text); }
.cp-lang-count { font-size:11px; color:var(--cp-muted); }

/* Mobile */
@media(max-width:600px){
    .cp-rs-item { min-width:45%; padding:10px 12px; }
    .cp-rs-val { font-size:14px; }
    .cp-rankings-table { font-size:12px; }
    .cp-rankings-table thead th, .cp-rankings-table tbody td { padding:8px 10px; }
}
