/*
Theme Name: press-play-review (WPVibe Draft)
Description: Custom dark review theme for Press Play Review
Version: 1.0
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: #111113 !important;
  color: #ffffff !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  line-height: 1.5;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ── HEADER ── */
.ppr-header { background: #0d0d0f; border-bottom: 1px solid #2a2a2e; position: sticky; top: 0; z-index: 100; width: 100%; }
.ppr-header-inner { max-width: 1320px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; height: 64px; }
.ppr-logo img { height: 44px; width: auto; }
.ppr-logo-text { display: flex; flex-direction: column; line-height: 1; }
.ppr-logo-text span:first-child { font-size: 14px; font-weight: 800; letter-spacing: 0.05em; color: #fff; }
.ppr-logo-text span:last-child { font-size: 9px; font-weight: 600; letter-spacing: 0.2em; color: #888; }
.ppr-nav { display: flex; gap: 24px; }
.ppr-nav a { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #bbb; transition: color .2s; }
.ppr-nav a:hover { color: #fff; }
.ppr-search-btn { background: none; border: none; cursor: pointer; color: #bbb; padding: 4px; transition: color .2s; }
.ppr-search-btn:hover { color: #fff; }

/* ── SEARCH OVERLAY ── */
.ppr-search-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.88); z-index: 999; align-items: center; justify-content: center; }
.ppr-search-overlay.open { display: flex; }
.ppr-search-box { width: 100%; max-width: 600px; padding: 24px; }
.ppr-search-box input[type="search"] { width: 100%; background: #1a1a1e; border: 1px solid #2a2a2e; border-radius: 8px; padding: 16px 20px; color: #fff; font-size: 18px; outline: none; }
.ppr-search-box input[type="search"]:focus { border-color: #e8192c; }
.ppr-search-close { margin-top: 12px; background: none; border: none; color: #888; font-size: 14px; cursor: pointer; }

/* ── HOMEPAGE HERO ── */
.ppr-hero { position: relative; height: 580px; overflow: hidden; display: flex; align-items: flex-end; }
.ppr-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-color: #1a1a1e; }
.ppr-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0.05) 100%); }
.ppr-hero-content { position: relative; z-index: 2; max-width: 1320px; margin: 0 auto; width: 100%; padding: 0 24px 56px; }
.ppr-hero-badges { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.ppr-badge-ep { background: #e8192c; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 14px; border-radius: 20px; }
.ppr-badge-cat { background: #e8192c; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 12px; border-radius: 4px; }
.ppr-badge-meta { font-size: 13px; color: rgba(255,255,255,0.65); font-weight: 500; }
.ppr-hero-title { font-size: clamp(32px, 5vw, 60px); font-weight: 900; line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 16px; max-width: 560px; }
.ppr-hero-excerpt { font-size: 16px; color: rgba(255,255,255,0.72); max-width: 500px; line-height: 1.65; margin-bottom: 28px; }
.ppr-hero-actions { display: flex; align-items: center; gap: 20px; }
.ppr-score-lg { width: 66px; height: 66px; border-radius: 50%; border: 2px solid #e8192c; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ppr-score-lg .ppr-score-num { font-size: 22px; font-weight: 800; color: #e8192c; line-height: 1; }
.ppr-score-lg .ppr-score-lbl { font-size: 8px; color: #888; font-weight: 700; letter-spacing: 0.1em; }
.ppr-btn-review { background: #e8192c; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; padding: 14px 28px; border-radius: 6px; display: inline-flex; align-items: center; gap: 6px; transition: background .2s, transform .15s; }
.ppr-btn-review:hover { background: #c8101f; transform: translateY(-1px); }

/* ── TICKER ── */
.ppr-ticker { background: #0d0d0f; border-top: 1px solid #2a2a2e; height: 44px; display: flex; align-items: center; padding: 0 24px; overflow: hidden; }
.ppr-ticker-label { font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #e8192c; white-space: nowrap; padding-right: 20px; border-right: 1px solid #2a2a2e; margin-right: 20px; flex-shrink: 0; }
.ppr-ticker-wrap { overflow: hidden; flex: 1; }
.ppr-ticker-track { display: flex; white-space: nowrap; animation: ppr-scroll 35s linear infinite; }
.ppr-ticker-track a { font-size: 13px; color: #bbb; padding: 0 20px; border-right: 1px solid #2a2a2e; }
.ppr-ticker-track a:hover { color: #fff; }
@keyframes ppr-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── MAIN ── */
.ppr-main { max-width: 1320px; margin: 0 auto; padding: 48px 24px; }
.ppr-section { margin-bottom: 56px; }
.ppr-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.ppr-section-title { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; color: #fff; }
.ppr-section-title::before { content: ''; width: 4px; height: 26px; background: #e8192c; border-radius: 2px; flex-shrink: 0; }
.ppr-view-all { font-size: 13px; color: #888; font-weight: 600; transition: color .2s; }
.ppr-view-all:hover { color: #fff; }

/* ── CARDS ── */
.ppr-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ppr-card { background: #1a1a1e; border-radius: 10px; overflow: hidden; transition: transform .2s; }
.ppr-card:hover { transform: translateY(-3px); }
.ppr-card-thumb { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.ppr-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ppr-card:hover .ppr-card-thumb img { transform: scale(1.04); }
.ppr-card-cat { position: absolute; top: 12px; left: 12px; background: #e8192c; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 3px; }
.ppr-card-score { position: absolute; bottom: 12px; right: 12px; width: 50px; height: 50px; border-radius: 50%; border: 2px solid #e8192c; background: rgba(0,0,0,0.75); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ppr-card-score .ppr-score-num { font-size: 16px; font-weight: 800; color: #e8192c; line-height: 1; }
.ppr-card-score .ppr-score-lbl { font-size: 7px; color: #888; font-weight: 700; letter-spacing: 0.1em; }
.ppr-card-body { padding: 18px; }
.ppr-card-meta { font-size: 11px; color: #888; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 8px; }
.ppr-card-title { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 10px; line-height: 1.25; }
.ppr-card-excerpt { font-size: 13px; color: #999; line-height: 1.55; }
.ppr-no-posts { grid-column: 1/-1; text-align: center; padding: 48px 24px; color: #666; font-size: 14px; background: #1a1a1e; border-radius: 10px; }
.ppr-no-posts a { color: #e8192c; }

/* ── TOP RATED ── */
.ppr-top-rated { background: #1a1a1e; border: 1px solid #2a2a2e; border-radius: 12px; padding: 28px 32px; margin-bottom: 56px; }
.ppr-top-rated-title { font-size: 20px; font-weight: 800; color: #fff; display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
.ppr-top-rated-title svg { color: #e8192c; }
.ppr-top-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 16px; align-items: start; }
.ppr-top-item { display: flex; align-items: center; gap: 10px; min-width: 0; width: 100%; overflow: hidden; box-sizing: border-box; }
.ppr-top-num { font-size: 22px; font-weight: 800; color: #2a2a2e; width: 24px; flex-shrink: 0; text-align: center; }
.ppr-top-thumb { width: 52px; height: 52px; border-radius: 6px; overflow: hidden; flex-shrink: 0; background: #222; }
.ppr-top-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ppr-top-info { flex: 1; min-width: 0; overflow: hidden; }
.ppr-top-cat { font-size: 10px; color: #888; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ppr-top-name { font-size: 12px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ppr-top-name a { color: #fff; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ppr-top-score { width: 44px; height: 44px; border-radius: 50%; border: 2px solid #e8192c; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ppr-top-score .ppr-score-num { font-size: 13px; font-weight: 800; color: #e8192c; line-height: 1; }
.ppr-top-score .ppr-score-lbl { font-size: 7px; color: #888; }

/* ── NEWSLETTER ── */
.ppr-newsletter { display: grid; grid-template-columns: 1fr 1fr; border-radius: 12px; overflow: hidden; margin-bottom: 40px; }
.ppr-nl-left { background: #e8192c; padding: 48px 40px; }
.ppr-nl-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.65); margin-bottom: 14px; }
.ppr-nl-heading { font-size: 36px; font-weight: 900; line-height: 1.1; margin-bottom: 14px; color: #fff; }
.ppr-nl-sub { font-size: 14px; color: rgba(255,255,255,0.72); line-height: 1.6; }
.ppr-nl-right { background: #1a1a1e; padding: 48px 40px; display: flex; flex-direction: column; gap: 16px; justify-content: center; }
.ppr-field { display: flex; flex-direction: column; }
.ppr-field-label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #888; margin-bottom: 8px; }
.ppr-input { background: #252528; border: 1px solid #2a2a2e; border-radius: 6px; padding: 14px 16px; color: #fff; font-size: 14px; outline: none; transition: border-color .2s; font-family: inherit; }
.ppr-input:focus { border-color: #e8192c; }
.ppr-input::placeholder { color: #666; }
.ppr-btn-subscribe { background: #e8192c; color: #fff; border: none; cursor: pointer; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 16px; border-radius: 6px; transition: background .2s; font-family: inherit; }
.ppr-btn-subscribe:hover { background: #c8101f; }

/* ── SINGLE POST HERO ── */
.ppr-post-hero { background: #111113; padding: 32px 24px 0; }
.ppr-post-hero-img-wrap { position: relative; max-width: 1100px; margin: 0 auto; border-radius: 12px; overflow: hidden; }
.ppr-post-hero-img { width: 100%; max-height: 480px; object-fit: cover; display: block; }
.ppr-post-hero-img-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.88) 100%); }
.ppr-post-hero-meta-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 32px; }
.ppr-post-hero-date { font-size: 12px; color: rgba(255,255,255,0.6); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; margin: 8px 0; display: block; }
.ppr-post-hero-title { font-size: clamp(22px, 3.5vw, 40px); font-weight: 900; line-height: 1.1; color: #fff; margin-bottom: 10px; letter-spacing: -0.02em; }
.ppr-post-byline { font-size: 13px; color: rgba(255,255,255,0.55); }
.ppr-post-byline strong { color: rgba(255,255,255,0.85); font-weight: 700; }
.ppr-post-no-hero { max-width: 1100px; margin: 40px auto 0; padding: 0 24px 24px; }
.ppr-post-title-plain { font-size: clamp(26px, 4vw, 48px); font-weight: 900; color: #fff; margin: 12px 0; line-height: 1.1; }

/* ── SINGLE POST BODY ── */
html, body { width: 100%; overflow-x: hidden; }
.ppr-post-wrap { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 300px; gap: 48px; padding: 40px 24px 64px; align-items: start; min-width: 0; }

/* ── SCORE CARD ── */
.ppr-score-card { display: flex; align-items: center; justify-content: space-between; background: #1a1a1e; border: 1px solid #2a2a2e; border-left: 4px solid #e8192c; border-radius: 10px; padding: 24px 28px; margin-bottom: 36px; gap: 20px; }
.ppr-score-card-left { flex: 1; }
.ppr-score-card-label { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #e8192c; margin-bottom: 6px; }
.ppr-score-card-title { font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.ppr-score-card-meta { font-size: 12px; color: #888; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.ppr-score-card-right { text-align: center; flex-shrink: 0; }
.ppr-score-ring { width: 88px; height: 88px; border-radius: 50%; border: 3px solid #e8192c; display: flex; align-items: center; justify-content: center; gap: 2px; margin: 0 auto 8px; }
.ppr-score-big { font-size: 30px; font-weight: 900; color: #e8192c; line-height: 1; }
.ppr-score-max { font-size: 13px; color: #666; font-weight: 700; align-self: flex-end; padding-bottom: 4px; }
.ppr-score-verdict { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #e8192c; }

/* ── POST CONTENT ── */
.ppr-post-content { font-size: 16px; line-height: 1.85; color: #ccc; max-width: 100%; overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; }
.ppr-post-content * { max-width: 100%; }
.ppr-post-content iframe { max-width: 100%; }
.ppr-post-content h2 { font-size: 22px; font-weight: 800; color: #fff; margin: 40px 0 14px; padding-top: 8px; border-top: 1px solid #2a2a2e; }
.ppr-post-content h3 { font-size: 18px; font-weight: 700; color: #fff; margin: 28px 0 10px; }
.ppr-post-content p { margin-bottom: 20px; }
.ppr-post-content p:last-child { margin-bottom: 0; }
.ppr-post-content strong { color: #fff; font-weight: 700; }
.ppr-post-content em { color: #ddd; font-style: italic; }
.ppr-post-content a { color: #e8192c; text-decoration: underline; text-underline-offset: 3px; }
.ppr-post-content a:hover { color: #ff3347; }
.ppr-post-content ul, .ppr-post-content ol { padding-left: 24px; margin-bottom: 20px; }
.ppr-post-content li { margin-bottom: 8px; }
.ppr-post-content blockquote { border-left: 3px solid #e8192c; padding: 16px 24px; background: #1a1a1e; border-radius: 0 8px 8px 0; margin: 28px 0; font-style: italic; color: #ddd; font-size: 17px; }
.ppr-post-content img { border-radius: 10px; margin: 24px 0; width: 100%; }

/* ── TAGS ── */
.ppr-post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 36px; padding-top: 24px; border-top: 1px solid #2a2a2e; }
.ppr-tag { background: #1a1a1e; border: 1px solid #2a2a2e; color: #aaa; font-size: 12px; font-weight: 600; padding: 6px 14px; border-radius: 20px; transition: border-color .2s, color .2s; }
.ppr-tag:hover { border-color: #e8192c; color: #e8192c; }

/* ── BACK LINK ── */
.ppr-post-back { margin-top: 28px; }
.ppr-back-link { font-size: 14px; font-weight: 600; color: #e8192c; }
.ppr-back-link:hover { text-decoration: underline; }

/* ── SIDEBAR ── */
.ppr-post-sidebar { position: sticky; top: 80px; }
.ppr-sidebar-block { background: #1a1a1e; border: 1px solid #2a2a2e; border-radius: 10px; padding: 20px; margin-bottom: 24px; }
.ppr-sidebar-title { font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #e8192c; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #2a2a2e; display: block; }
.ppr-sidebar-item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #1e1e22; }
.ppr-sidebar-item:last-child { border-bottom: none; padding-bottom: 0; }
.ppr-sidebar-thumb { width: 64px; height: 64px; border-radius: 6px; overflow: hidden; flex-shrink: 0; }
.ppr-sidebar-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ppr-sidebar-thumb-placeholder { width: 64px; height: 64px; background: #222; border-radius: 6px; }
.ppr-sidebar-rank { font-size: 20px; font-weight: 900; color: #2a2a2e; min-width: 28px; text-align: center; flex-shrink: 0; }
.ppr-sidebar-info { flex: 1; min-width: 0; }
.ppr-sidebar-item-title { font-size: 13px; font-weight: 700; color: #ccc; line-height: 1.35; margin-bottom: 4px; }
.ppr-sidebar-item:hover .ppr-sidebar-item-title { color: #fff; }
.ppr-sidebar-score { font-size: 12px; color: #e8192c; font-weight: 700; }

/* ── CATEGORY ARCHIVE ── */
.ppr-cat-hero { background: #0d0d0f; border-bottom: 1px solid #2a2a2e; padding: 48px 24px; }
.ppr-cat-hero-inner { max-width: 1320px; margin: 0 auto; }
.ppr-cat-title { font-size: 36px; font-weight: 900; color: #fff; display: flex; align-items: center; gap: 14px; padding-left: 16px; border-left: 4px solid #e8192c; }
.ppr-cat-desc { margin-top: 10px; font-size: 15px; color: #888; padding-left: 20px; max-width: 600px; }

/* ── PAGINATION ── */
.ppr-pagination { display: flex; justify-content: space-between; margin-top: 40px; padding-top: 24px; border-top: 1px solid #2a2a2e; }
.ppr-pagination a { font-size: 14px; font-weight: 600; color: #e8192c; padding: 10px 20px; border: 1px solid #e8192c; border-radius: 6px; transition: background .2s, color .2s; }
.ppr-pagination a:hover { background: #e8192c; color: #fff; }

/* ── EMPTY STATE ── */
.ppr-empty { text-align: center; padding: 80px 24px; color: #666; font-size: 16px; }

/* ── TOP LISTS PAGE ── */
.ppr-toplist-section { margin-bottom: 64px; }
.ppr-toplist { background: #1a1a1e; border-radius: 12px; overflow: hidden; border: 1px solid #2a2a2e; }
.ppr-toplist-item { display: flex; align-items: center; gap: 20px; padding: 20px 24px; border-bottom: 1px solid #2a2a2e; transition: background .2s; }
.ppr-toplist-item:last-child { border-bottom: none; }
.ppr-toplist-item:hover { background: #222226; }
.ppr-toplist-rank { font-size: 32px; font-weight: 900; color: #2a2a2e; min-width: 40px; text-align: center; flex-shrink: 0; line-height: 1; }
.ppr-toplist-item:nth-child(1) .ppr-toplist-rank { color: #e8192c; }
.ppr-toplist-item:nth-child(2) .ppr-toplist-rank { color: #555; }
.ppr-toplist-item:nth-child(3) .ppr-toplist-rank { color: #444; }
.ppr-toplist-thumb { width: 80px; height: 80px; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.ppr-toplist-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ppr-toplist-info { flex: 1; min-width: 0; }
.ppr-toplist-meta { font-size: 11px; color: #888; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 6px; }
.ppr-toplist-title { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 6px; line-height: 1.3; }
.ppr-toplist-excerpt { font-size: 13px; color: #888; line-height: 1.5; }
.ppr-toplist-score { width: 58px; height: 58px; border-radius: 50%; border: 2px solid #e8192c; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ppr-toplist-score .ppr-score-num { font-size: 18px; font-weight: 800; color: #e8192c; line-height: 1; }
.ppr-toplist-score .ppr-score-lbl { font-size: 8px; color: #888; font-weight: 700; letter-spacing: 0.1em; }
.ppr-toplist-empty { background: #1a1a1e; border: 1px solid #2a2a2e; border-radius: 12px; padding: 32px; color: #666; font-size: 14px; line-height: 1.6; }
.ppr-toplist-empty code { color: #e8192c; background: #2a2a2e; padding: 2px 6px; border-radius: 3px; }

/* ── HERO SLIDER ── */
.ppr-slider { position: relative; height: 580px; overflow: hidden; }
.ppr-slider-track { display: flex; height: 100%; transition: transform 0.6s cubic-bezier(.4,0,.2,1); }
.ppr-slide { flex: 0 0 100%; position: relative; display: flex; align-items: flex-end; background-size: cover; background-position: center; }
.ppr-slide-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0.05) 100%); }
.ppr-slide-content { position: relative; z-index: 2; max-width: 1320px; margin: 0 auto; width: 100%; padding: 0 24px 56px; }
.ppr-slider-dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; }
.ppr-dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.5); background: transparent; cursor: pointer; padding: 0; transition: all .2s; }
.ppr-dot.active { background: #e8192c; border-color: #e8192c; transform: scale(1.2); }
.ppr-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-size: 32px; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; transition: background .2s; line-height: 1; padding: 0; }
.ppr-slider-arrow:hover { background: #e8192c; border-color: #e8192c; }
.ppr-arrow-prev { left: 20px; }
.ppr-arrow-next { right: 20px; }
@media (max-width: 640px) {
  .ppr-slider { height: 420px; }
  .ppr-slider-arrow { display: none; }
}

/* ── SCORE COLORS ── */
.score-green  { --score-color: #22c55e; }
.score-yellow { --score-color: #eab308; }
.score-red    { --score-color: #e8192c; }
.ppr-card-score.score-green, .ppr-card-score.score-yellow, .ppr-card-score.score-red { border-color: var(--score-color); }
.ppr-card-score.score-green .ppr-score-num, .ppr-card-score.score-yellow .ppr-score-num, .ppr-card-score.score-red .ppr-score-num { color: var(--score-color); }
.ppr-top-score.score-green, .ppr-top-score.score-yellow, .ppr-top-score.score-red { border-color: var(--score-color); }
.ppr-top-score.score-green .ppr-score-num, .ppr-top-score.score-yellow .ppr-score-num, .ppr-top-score.score-red .ppr-score-num { color: var(--score-color); }
.ppr-score-lg.score-green, .ppr-score-lg.score-yellow, .ppr-score-lg.score-red { border-color: var(--score-color); }
.ppr-score-lg.score-green .ppr-score-num, .ppr-score-lg.score-yellow .ppr-score-num, .ppr-score-lg.score-red .ppr-score-num { color: var(--score-color); }
.ppr-score-ring.score-green, .ppr-score-ring.score-yellow, .ppr-score-ring.score-red { border-color: var(--score-color); }
.ppr-score-ring.score-green .ppr-score-big, .ppr-score-ring.score-yellow .ppr-score-big, .ppr-score-ring.score-red .ppr-score-big { color: var(--score-color); }
.ppr-score-verdict.score-green { color: #22c55e; }
.ppr-score-verdict.score-yellow { color: #eab308; }
.ppr-score-verdict.score-red { color: #e8192c; }
.ppr-toplist-score.score-green, .ppr-toplist-score.score-yellow, .ppr-toplist-score.score-red { border-color: var(--score-color); }
.ppr-toplist-score.score-green .ppr-score-num, .ppr-toplist-score.score-yellow .ppr-score-num, .ppr-toplist-score.score-red .ppr-score-num { color: var(--score-color); }

/* ── FOOTER ── */
.ppr-footer { background: #0d0d0f; border-top: 1px solid #2a2a2e; padding: 28px 24px; text-align: center; font-size: 13px; color: #666; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .ppr-grid { grid-template-columns: repeat(2, 1fr); }
  .ppr-top-grid { grid-template-columns: 1fr 1fr; }
  .ppr-newsletter { grid-template-columns: 1fr; }
  .ppr-nav { gap: 18px; }
  .ppr-post-wrap { grid-template-columns: 1fr; }
  .ppr-post-sidebar { position: static; }
}
@media (max-width: 640px) {
  html, body { width: 100%; overflow-x: hidden; }
  .ppr-grid { grid-template-columns: 1fr; }
  .ppr-top-grid { grid-template-columns: 1fr; }
  .ppr-hero { height: 400px; }
  .ppr-hero-title { font-size: 28px; }
  .ppr-hero-excerpt { display: none; }
  .ppr-nav { display: none; }
  .ppr-header-inner { padding: 0 16px; }
  .ppr-main { padding: 24px 16px; }
  .ppr-nl-left, .ppr-nl-right { padding: 28px 20px; }
  .ppr-nl-heading { font-size: 26px; }
  .ppr-score-card { flex-direction: column; text-align: center; }
  .ppr-toplist-item { gap: 12px; padding: 14px 16px; }
  .ppr-toplist-excerpt { display: none; }
  .ppr-toplist-rank { font-size: 22px; min-width: 28px; }
  .ppr-post-wrap { padding: 24px 16px 48px; }
  .ppr-post-hero-img-wrap { border-radius: 8px; margin: 12px 12px 0; }
  .ppr-post-hero-meta-overlay { padding: 20px; }
  .ppr-post-hero-title { font-size: 22px; }
  .ppr-score-card { padding: 16px; }
  .ppr-cat-hero { padding: 28px 16px; }
  .ppr-cat-title { font-size: 26px; }
  .ppr-newsletter { grid-template-columns: 1fr; }
  .ppr-top-rated { padding: 20px 16px; }
  .ppr-ticker { padding: 0 16px; }
  .ppr-top-num { font-size: 18px; width: 20px; }
  .ppr-top-thumb { width: 44px; height: 44px; }
  .ppr-top-score { width: 38px; height: 38px; }
  .ppr-top-score .ppr-score-num { font-size: 12px; }
}

/* ── CONTACT PAGE ── */
.ppr-contact-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.ppr-about-block { background: #1a1a1e; border: 1px solid #2a2a2e; border-radius: 12px; padding: 36px; }
.ppr-form-block { background: #1a1a1e; border: 1px solid #2a2a2e; border-radius: 12px; padding: 36px; }
.ppr-contact-heading { font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #2a2a2e; }
.ppr-about-block p { font-size: 15px; color: #ccc; line-height: 1.75; margin-bottom: 16px; }
.ppr-form-sub { font-size: 14px; color: #888; margin-bottom: 24px; line-height: 1.6; }
.ppr-contact-info-grid { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #2a2a2e; }
.ppr-contact-info-item { display: flex; align-items: center; gap: 14px; }
.ppr-contact-info-icon { font-size: 22px; flex-shrink: 0; }
.ppr-contact-info-label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #888; margin-bottom: 3px; }
.ppr-contact-info-value { font-size: 14px; color: #fff; font-weight: 600; }
.ppr-contact-info-value a { color: #e8192c; }
.ppr-contact-info-value a:hover { text-decoration: underline; }
.ppr-contact-form { display: flex; flex-direction: column; gap: 20px; }
.ppr-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ppr-form-group { display: flex; flex-direction: column; gap: 8px; }
.ppr-form-label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #888; }
.ppr-required { color: #e8192c; }
.ppr-form-input { background: #252528; border: 1px solid #2a2a2e; border-radius: 6px; padding: 12px 16px; color: #fff; font-size: 14px; outline: none; transition: border-color .2s; font-family: inherit; width: 100%; }
.ppr-form-input:focus { border-color: #e8192c; }
.ppr-form-input::placeholder { color: #555; }
.ppr-form-textarea { min-height: 160px; resize: vertical; }
.ppr-btn-submit { background: #e8192c; color: #fff; border: none; cursor: pointer; font-size: 14px; font-weight: 700; letter-spacing: 0.06em; padding: 16px 32px; border-radius: 6px; transition: background .2s; font-family: inherit; align-self: flex-start; }
.ppr-btn-submit:hover { background: #c8101f; }
.ppr-form-success { background: #0f2a1a; border: 1px solid #22c55e; border-radius: 8px; padding: 20px 24px; color: #22c55e; font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 12px; }
.ppr-form-error { background: #2a0f0f; border: 1px solid #e8192c; border-radius: 8px; padding: 16px 20px; color: #ff6b6b; font-size: 14px; margin-bottom: 8px; }
@media (max-width: 960px) { .ppr-contact-wrap { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .ppr-form-row { grid-template-columns: 1fr; } .ppr-about-block, .ppr-form-block { padding: 24px; } }