/* ReviewerVN – rv-main.css
   Author: dev.com.vn | v1.0
   ASCII only – no Unicode in CSS comments
*/
:root {
  --rv-primary:    #FF6B35;
  --rv-primary-dk: #E55220;
  --rv-gold:       #FFB800;
  --rv-navy:       #1A2340;
  --rv-navy-lt:    #2D3A5E;
  --rv-bg:         #F5F6FA;
  --rv-card:       #FFFFFF;
  --rv-text:       #1A2340;
  --rv-muted:      #6B7280;
  --rv-border:     #E5E7EB;
  --rv-green:      #22C55E;
  --rv-blue:       #3B82F6;
  --rv-purple:     #8B5CF6;
  --rv-pink:       #EC4899;
  --rv-teal:       #14B8A6;
  --rv-orange:     #F97316;
  --rv-radius:     16px;
  --rv-shadow:     0 4px 20px rgba(0,0,0,.08);
  --rv-shadow-lg:  0 12px 40px rgba(0,0,0,.14);
}

/* === HERO === */
.rv-hero {
  background: linear-gradient(135deg, var(--rv-navy) 0%, var(--rv-navy-lt) 50%, #3D5A99 100%);
  padding: 72px 5% 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rv-hero::before {
  content:"";
  position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.rv-hero__badge {
  display:inline-block;
  background:rgba(255,107,53,.2);
  border:1px solid rgba(255,107,53,.4);
  color:#FF9B6A;
  font-size:.78rem;font-weight:600;
  padding:4px 14px;border-radius:50px;
  margin-bottom:20px;letter-spacing:.5px;text-transform:uppercase;
}
.rv-hero h1 {
  font-size:2.8rem;font-weight:800;color:#fff;
  line-height:1.25;margin-bottom:16px;
}
.rv-hero h1 em {
  font-style:normal;
  background:linear-gradient(90deg,var(--rv-primary),var(--rv-gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.rv-hero > p { color:rgba(255,255,255,.7);font-size:1.05rem;margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto; }
.rv-hero__stats { display:flex;justify-content:center;gap:40px;margin-top:36px; }
.rv-hero__stat { text-align:center; }
.rv-hero__stat strong { display:block;font-size:1.6rem;font-weight:800;color:#fff; }
.rv-hero__stat span  { font-size:.8rem;color:rgba(255,255,255,.55);font-weight:500; }

/* === SEARCH BOX === */
.rv-search-box {
  max-width:680px;margin:0 auto;
  display:flex;background:#fff;
  border-radius:50px;padding:6px 6px 6px 24px;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  align-items:center;gap:12px;position:relative;
}
.rv-search-box--hero { margin-bottom:40px; }
.rv-search-box select {
  border:none;outline:none;
  font-size:.88rem;font-weight:600;color:var(--rv-primary);
  background:transparent;cursor:pointer;padding-right:8px;
  border-right:1.5px solid var(--rv-border);font-family:inherit;
}
.rv-search-box input {
  flex:1;border:none;outline:none;
  font-size:1rem;color:var(--rv-text);background:transparent;font-family:inherit;
}
.rv-search-box button {
  background:var(--rv-primary);color:#fff;border:none;
  border-radius:50px;padding:12px 28px;
  font-family:inherit;font-size:.95rem;font-weight:700;
  cursor:pointer;transition:background .2s;white-space:nowrap;
}
.rv-search-box button:hover { background:var(--rv-primary-dk); }
.rv-search-dropdown {
  position:absolute;top:calc(100% + 8px);left:0;right:0;
  background:#fff;border-radius:16px;
  box-shadow:var(--rv-shadow-lg);z-index:999;
  overflow:hidden;
}
.rv-sd-item {
  display:flex;align-items:center;gap:12px;
  padding:12px 20px;border-bottom:1px solid var(--rv-border);
  text-decoration:none;color:var(--rv-text);transition:background .15s;
}
.rv-sd-item:hover { background:var(--rv-bg); }
.rv-sd-item img { width:40px;height:40px;object-fit:cover;border-radius:8px; }
.rv-sd-thumb { width:40px;height:40px;border-radius:8px;background:var(--rv-border);display:flex;align-items:center;justify-content:center;font-size:1rem; }
.rv-sd-item b { display:block;font-size:.88rem;font-weight:700; }
.rv-sd-item span { font-size:.75rem;color:var(--rv-muted); }
.rv-sd-score { margin-left:auto;font-size:.8rem;font-weight:700;color:var(--rv-primary); }

/* === SECTIONS === */
.rv-section { padding:56px 5%; }
.rv-section--white { background:#fff;padding:56px 5%; }
.rv-section-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:28px; }
.rv-section-title { font-size:1.6rem;font-weight:800;color:var(--rv-navy);margin-bottom:6px; }
.rv-section-title span { color:var(--rv-primary); }
.rv-section-sub { color:var(--rv-muted);font-size:.92rem; }
.rv-view-all {
  font-size:.85rem;font-weight:600;color:var(--rv-primary);
  text-decoration:none;padding:6px 16px;
  border-radius:50px;border:1.5px solid var(--rv-primary);
  transition:all .2s;
}
.rv-view-all:hover { background:var(--rv-primary);color:#fff; }

/* === CATEGORY GRID === */
.rv-cat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.rv-cat-card {
  background:var(--rv-card);border-radius:var(--rv-radius);
  padding:24px 20px;border:1.5px solid var(--rv-border);
  cursor:pointer;transition:all .25s;text-align:center;
  position:relative;overflow:hidden;text-decoration:none;color:var(--rv-text);display:block;
}
.rv-cat-card::before {
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--cat-color,var(--rv-primary));
  transform:scaleX(0);transition:transform .25s;
}
.rv-cat-card:hover { transform:translateY(-4px);box-shadow:var(--rv-shadow-lg);border-color:var(--cat-color,var(--rv-primary)); }
.rv-cat-card:hover::before { transform:scaleX(1); }
.rv-cat-card__icon { width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 14px;background:var(--cat-bg,#FFF0EB); }
.rv-cat-card h3 { font-size:.95rem;font-weight:700;margin-bottom:4px; }
.rv-cat-card p  { font-size:.78rem;color:var(--rv-muted);margin-bottom:14px; }
.rv-cat-tags { display:flex;flex-wrap:wrap;gap:5px;justify-content:center; }
.rv-cat-tags span { font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:50px;background:var(--cat-bg,#FFF0EB);color:var(--cat-color,var(--rv-primary)); }

/* === ITEM CARDS === */
.rv-items-grid { display:grid;gap:20px; }
.rv-items-grid--4 { grid-template-columns:repeat(4,1fr); }
.rv-items-grid--3 { grid-template-columns:repeat(3,1fr); }
.rv-items-grid--2 { grid-template-columns:repeat(2,1fr); }
.rv-item-card { background:var(--rv-card);border-radius:var(--rv-radius);border:1.5px solid var(--rv-border);overflow:hidden;transition:all .25s; }
.rv-item-card:hover { box-shadow:var(--rv-shadow-lg);transform:translateY(-3px); }
.rv-item-card__img { display:block;position:relative;overflow:hidden;aspect-ratio:16/9; }
.rv-item-card__img img { width:100%;height:100%;object-fit:cover; }
.rv-avatar-text { width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:800;color:#fff; }
.rv-item-card__badge { position:absolute;top:10px;left:10px;font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:50px; }
.rv-item-card__body { padding:16px; }
.rv-item-card__body h3 { font-size:.95rem;font-weight:700;margin-bottom:8px; }
.rv-item-card__body h3 a { color:var(--rv-text);text-decoration:none; }
.rv-item-card__score { display:flex;align-items:center;gap:6px;margin-bottom:8px; }
.rv-score-num { font-size:.85rem;font-weight:700;color:var(--rv-primary); }
.rv-review-count { font-size:.75rem;color:var(--rv-muted); }
.rv-item-card__sub { font-size:.8rem;color:var(--rv-muted);margin-bottom:6px; }
.rv-item-card__addr { font-size:.78rem;color:var(--rv-muted);margin-bottom:10px; }

/* === STARS === */
.rv-stars { display:inline-flex;gap:1px; }
.rv-star { font-size:.9rem;color:#E5E7EB; }
.rv-star--full,.rv-star--half { color:var(--rv-gold); }

/* === BUTTONS === */
.rv-btn { display:inline-block;padding:11px 24px;border-radius:50px;font-weight:700;font-size:.88rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s;font-family:inherit; }
.rv-btn--primary { background:var(--rv-primary);color:#fff; }
.rv-btn--primary:hover { background:var(--rv-primary-dk);transform:translateY(-1px); }
.rv-btn--outline { background:transparent;color:var(--rv-primary);border:2px solid var(--rv-primary); }
.rv-btn--outline:hover { background:var(--rv-primary);color:#fff; }
.rv-btn--small { padding:7px 16px;font-size:.8rem; }
.rv-btn--block { width:100%;text-align:center;padding:14px; }

/* === TOP LIST === */
.rv-toplist-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.rv-toplist-card { background:var(--rv-card);border-radius:var(--rv-radius);overflow:hidden;border:1.5px solid var(--rv-border);transition:all .25s; }
.rv-toplist-card:hover { transform:translateY(-3px);box-shadow:var(--rv-shadow-lg); }
.rv-toplist-header { padding:20px 20px 0;display:flex;align-items:center;gap:12px;margin-bottom:16px; }
.rv-th-icon { width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:#FFF0EB; }
.rv-toplist-header h3 { font-size:.95rem;font-weight:700; }
.rv-toplist-header span { font-size:.75rem;color:var(--rv-muted); }
.rv-rank-list { padding:0 20px; }
.rv-rank-item { display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--rv-border); }
.rv-rank-item:last-child { border-bottom:none; }
.rv-rank-num { width:24px;height:24px;border-radius:6px;background:var(--rv-bg);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:var(--rv-muted);flex-shrink:0; }
.rv-rank-num.gold { background:var(--rv-gold);color:#fff; }
.rv-rank-num.silver { background:#9CA3AF;color:#fff; }
.rv-rank-num.bronze { background:#CD7F32;color:#fff; }
.rv-rank-name { flex:1;font-size:.88rem;font-weight:600; }
.rv-rank-name a { color:var(--rv-text);text-decoration:none; }
.rv-rank-name a:hover { color:var(--rv-primary); }
.rv-rank-score { font-size:.82rem;font-weight:700;color:var(--rv-primary); }
.rv-toplist-link { display:block;padding:12px 20px;text-align:center;font-size:.8rem;font-weight:600;color:var(--rv-primary);text-decoration:none;border-top:1px solid var(--rv-border); }
.rv-toplist-link:hover { background:var(--rv-bg); }

/* === REVIEW CARDS === */
.rv-review-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.rv-review-card { background:var(--rv-bg);border-radius:var(--rv-radius);padding:20px;border:1.5px solid var(--rv-border);transition:all .25s; }
.rv-review-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:rgba(255,107,53,.3); }
.rv-rc-header { display:flex;align-items:center;gap:12px;margin-bottom:14px; }
.rv-rc-avatar { width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0; }
.rv-rc-user strong { display:block;font-size:.88rem;font-weight:700; }
.rv-rc-user span   { font-size:.75rem;color:var(--rv-muted); }
.rv-rc-subject { display:flex;align-items:center;gap:8px;margin-bottom:10px; }
.rv-rc-badge { font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:50px;text-transform:uppercase; }
.rv-rc-subject h4 { font-size:.92rem;font-weight:700; }
.rv-rc-stars { margin-bottom:8px; }
.rv-rc-stars span { color:var(--rv-muted);font-size:.8rem; }
.rv-rc-text { font-size:.85rem;color:#4B5563;line-height:1.6;margin-bottom:14px; }
.rv-rc-fields { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px; }
.rv-rc-tag { font-size:.72rem;background:#fff;border:1px solid var(--rv-border);border-radius:6px;padding:3px 8px; }
.rv-rc-tag b { color:var(--rv-primary);font-weight:700; }
.rv-rc-footer { display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--rv-border);font-size:.75rem;color:var(--rv-muted); }
.rv-helpful-btn { cursor:pointer; }
.rv-helpful-btn:hover { color:var(--rv-primary); }

/* === HOW IT WORKS === */
.rv-how-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:24px; }
.rv-how-card { text-align:center;padding:32px 20px;background:#fff;border-radius:var(--rv-radius);border:1.5px solid var(--rv-border); }
.rv-how-step { width:40px;height:40px;border-radius:50%;background:var(--rv-primary);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1rem; }
.rv-how-icon { font-size:2rem;margin-bottom:12px; }
.rv-how-card h3 { font-size:.95rem;font-weight:700;margin-bottom:8px; }
.rv-how-card p  { font-size:.82rem;color:var(--rv-muted);line-height:1.6; }

/* === CTA === */
.rv-cta { background:linear-gradient(135deg,var(--rv-navy),var(--rv-navy-lt));padding:72px 5%;text-align:center; }
.rv-cta h2 { font-size:2rem;font-weight:800;color:#fff;margin-bottom:12px; }
.rv-cta p  { color:rgba(255,255,255,.65);margin-bottom:32px;font-size:1rem; }
.rv-cta-btns { display:flex;gap:12px;justify-content:center; }
.rv-cta .rv-btn--outline { color:#fff;border-color:rgba(255,255,255,.3); }
.rv-cta .rv-btn--outline:hover { background:rgba(255,255,255,.1); }

/* === REVIEW FORM === */
.rv-review-form { background:var(--rv-card);border-radius:var(--rv-radius);padding:28px;border:1.5px solid var(--rv-border); }
.rv-review-form h3 { font-size:1.2rem;font-weight:800;margin-bottom:20px;color:var(--rv-navy); }
.rv-rf-field { margin-bottom:16px; }
.rv-rf-field label { display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--rv-text); }
.rv-rf-field input,.rv-rf-field textarea { width:100%;padding:10px 14px;border:1.5px solid var(--rv-border);border-radius:10px;font-family:inherit;font-size:.88rem;outline:none;transition:border .2s; }
.rv-rf-field input:focus,.rv-rf-field textarea:focus { border-color:var(--rv-primary); }
.rv-rf-row--2 { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.rv-rf-criteria { margin-bottom:16px; }
.rv-rf-criteria > label { display:block;font-size:.85rem;font-weight:600;margin-bottom:10px; }
.rv-criterion { display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--rv-bg);border-radius:10px;margin-bottom:8px; }
.rv-criterion > span { font-size:.85rem;font-weight:600; }
.rv-star-picker { display:flex;gap:4px; }
.rv-sp-star { background:none;border:none;font-size:1.4rem;color:#E5E7EB;cursor:pointer;padding:0;transition:color .15s; }
.rv-sp-star.active,.rv-sp-star:hover { color:var(--rv-gold); }
.rv-yesno,.rv-speed { display:flex;gap:6px; }
.rv-yn-btn,.rv-sp-btn { padding:5px 12px;border-radius:50px;border:1.5px solid var(--rv-border);background:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s; }
.rv-yn-btn.active,.rv-sp-btn.active { background:var(--rv-primary);color:#fff;border-color:var(--rv-primary); }
#rv-form-msg { padding:12px;border-radius:10px;font-size:.88rem;font-weight:600;margin-top:12px; }
#rv-form-msg.success { background:#F0FDF4;color:#16A34A; }
#rv-form-msg.error   { background:#FEF2F2;color:#DC2626; }

/* === SINGLE ITEM PAGE === */
.rv-single-wrap { max-width:1200px;margin:0 auto;padding:40px 5%;display:grid;grid-template-columns:1fr 320px;gap:32px; }
.rv-single-main {}
.rv-single-sidebar {}
.rv-single-hero { border-radius:var(--rv-radius);overflow:hidden;margin-bottom:24px;position:relative; }
.rv-single-hero img { width:100%;max-height:420px;object-fit:cover; }
.rv-single-meta { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px; }
.rv-single-score-bar { background:var(--rv-card);border-radius:var(--rv-radius);padding:20px;margin-bottom:24px;border:1.5px solid var(--rv-border); }
.rv-single-score-bar h3 { font-size:1rem;font-weight:700;margin-bottom:16px; }
.rv-crit-bar { display:flex;align-items:center;gap:10px;margin-bottom:10px; }
.rv-crit-bar span:first-child { font-size:.82rem;font-weight:600;min-width:120px; }
.rv-crit-bar-track { flex:1;height:6px;background:var(--rv-border);border-radius:99px;overflow:hidden; }
.rv-crit-bar-fill  { height:100%;background:var(--rv-gold);border-radius:99px;transition:width .5s; }
.rv-crit-bar span:last-child { font-size:.78rem;font-weight:700;color:var(--rv-primary);min-width:28px;text-align:right; }
.rv-section-card { background:var(--rv-card);border-radius:var(--rv-radius);padding:24px;margin-bottom:24px;border:1.5px solid var(--rv-border); }
.rv-section-card h2 { font-size:1.1rem;font-weight:800;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--rv-border); }
.rv-gallery-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.rv-gallery-grid img { width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;cursor:pointer; }
.rv-faq-item { border-bottom:1px solid var(--rv-border);padding:14px 0; }
.rv-faq-item h4 { font-size:.9rem;font-weight:700;margin-bottom:6px; }
.rv-faq-item p  { font-size:.85rem;color:var(--rv-muted);line-height:1.6; }
.rv-sticky-contact { position:sticky;top:80px; }
.rv-contact-box { background:var(--rv-card);border-radius:var(--rv-radius);padding:20px;border:1.5px solid var(--rv-border);margin-bottom:16px; }
.rv-contact-box h4 { font-size:1rem;font-weight:700;margin-bottom:12px; }
.rv-contact-box p  { font-size:.85rem;margin-bottom:8px; }
.rv-contact-box a  { color:var(--rv-primary);text-decoration:none; }
.rv-social { display:flex;gap:8px;margin-top:12px; }
.rv-social-btn { padding:7px 16px;border-radius:50px;font-size:.78rem;font-weight:600;background:var(--rv-navy);color:#fff;text-decoration:none; }
.rv-social-btn--zalo { background:#0066FF; }
.rv-related-section { margin-top:40px; }
.rv-related-section h2 { font-size:1.2rem;font-weight:800;margin-bottom:20px; }

/* === ARCHIVE / CATEGORY === */
.rv-archive-wrap { max-width:1200px;margin:0 auto;padding:40px 5%;display:grid;grid-template-columns:280px 1fr;gap:32px; }
.rv-sidebar {}
.rv-sidebar-card { background:var(--rv-card);border-radius:var(--rv-radius);padding:20px;margin-bottom:16px;border:1.5px solid var(--rv-border); }
.rv-sidebar-card h3 { font-size:.95rem;font-weight:700;margin-bottom:14px; }
.rv-filter-group { margin-bottom:14px; }
.rv-filter-group label { display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--rv-muted); }
.rv-filter-select { width:100%;padding:8px 12px;border-radius:10px;border:1.5px solid var(--rv-border);font-family:inherit;font-size:.85rem;outline:none; }
.rv-filter-select:focus { border-color:var(--rv-primary); }
.rv-filter-pills { display:flex;flex-wrap:wrap;gap:6px; }
.rv-filter-pill { padding:5px 12px;border-radius:50px;font-size:.78rem;font-weight:600;border:1.5px solid var(--rv-border);background:#fff;cursor:pointer;transition:all .15s;text-decoration:none;color:var(--rv-text); }
.rv-filter-pill.active,.rv-filter-pill:hover { background:var(--rv-primary);color:#fff;border-color:var(--rv-primary); }
.rv-archive-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:20px; }
.rv-archive-header h1 { font-size:1.4rem;font-weight:800; }
.rv-archive-count { font-size:.85rem;color:var(--rv-muted); }
.rv-mobile-filter-btn { display:none;padding:8px 16px;border-radius:50px;background:var(--rv-navy);color:#fff;border:none;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer; }

/* === NO ITEMS === */
.rv-no-items { text-align:center;padding:40px;color:var(--rv-muted);font-size:1rem; }

/* === MOBILE BOTTOM NAV === */
.rv-mobile-nav {
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  background:var(--rv-navy);
  padding:8px 0 calc(8px + env(safe-area-inset-bottom));
  z-index:9999;
  box-shadow:0 -4px 20px rgba(0,0,0,.2);
}
.rv-mobile-nav__inner { display:flex;justify-content:space-around; }
.rv-mobile-nav a { display:flex;flex-direction:column;align-items:center;gap:3px;color:rgba(255,255,255,.6);text-decoration:none;font-size:.65rem;font-weight:600; }
.rv-mobile-nav a span:first-child { font-size:1.3rem; }
.rv-mobile-nav a.active,.rv-mobile-nav a:hover { color:var(--rv-primary); }

/* === RESPONSIVE === */
@media (max-width:1024px) {
  .rv-items-grid--4 { grid-template-columns:repeat(3,1fr); }
  .rv-toplist-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .rv-cat-grid { grid-template-columns:repeat(2,1fr); }
  .rv-items-grid--4,.rv-items-grid--3 { grid-template-columns:repeat(2,1fr); }
  .rv-review-cards { grid-template-columns:1fr; }
  .rv-how-grid { grid-template-columns:repeat(2,1fr); }
  .rv-hero h1 { font-size:2rem; }
  .rv-single-wrap,.rv-archive-wrap { grid-template-columns:1fr; }
  .rv-sticky-contact { position:static; }
  .rv-mobile-nav { display:block; }
  .rv-archive-wrap { padding-bottom:80px; }
  .rv-sidebar { order:-1; }
  .rv-sidebar .rv-sidebar-card:not(.rv-sidebar-card--search) { display:none; }
  .rv-mobile-filter-btn { display:block; }
  .rv-hero__stats { gap:24px; }
}
@media (max-width:600px) {
  .rv-cat-grid { grid-template-columns:repeat(2,1fr); }
  .rv-items-grid--4,.rv-items-grid--3,.rv-items-grid--2 { grid-template-columns:repeat(2,1fr); }
  .rv-toplist-grid { grid-template-columns:1fr; }
  .rv-how-grid { grid-template-columns:1fr 1fr; }
  .rv-cta-btns { flex-direction:column;align-items:center; }
  .rv-search-box { padding:4px 4px 4px 14px; }
  .rv-search-box select { display:none; }
  .rv-rf-row--2 { grid-template-columns:1fr; }
  .rv-hero h1 { font-size:1.6rem; }
  .rv-hero__stats { flex-wrap:wrap;gap:20px; }
  .rv-hero__stat { width:calc(50% - 10px); }
  .rv-gallery-grid { grid-template-columns:repeat(2,1fr); }
}

/* === ADMIN STYLES === */
.rv-admin-wrap h1 { font-size:1.5rem;margin-bottom:20px; }
.rv-admin-tabs { display:flex;gap:8px;margin-bottom:24px; }
.rv-atab { padding:8px 18px;border-radius:6px;border:1.5px solid #ddd;background:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600; }
.rv-atab.active { background:var(--rv-primary);color:#fff;border-color:var(--rv-primary); }
.rv-atab-panel { display:none; }
.rv-atab-panel.active { display:block; }
.rv-import-box { background:#fff;border-radius:12px;padding:28px;border:1.5px solid #ddd;max-width:800px; }
.rv-file-label { display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border-radius:8px;background:var(--rv-navy);color:#fff;cursor:pointer;font-weight:600;margin-bottom:20px; }
.rv-file-label input { display:none; }
.rv-progress-bar { height:8px;background:#eee;border-radius:99px;margin-bottom:8px; }
.rv-progress-fill { height:100%;background:var(--rv-primary);border-radius:99px;transition:width .3s; }
.rv-guide h2 { margin:24px 0 12px;font-size:1.1rem; }
.rv-guide code { background:#F3F4F6;padding:2px 6px;border-radius:4px;font-size:.85rem; }

/* === BASE ADDITIONS === */
*, *::before, *::after { box-sizing: border-box; }
body { font-family: "Inter", sans-serif; background: var(--rv-bg); color: var(--rv-text); font-size: 15px; line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }

/* === BREADCRUMB === */
.rv-breadcrumb { font-size: .8rem; color: var(--rv-muted); padding: 12px 0 0; margin-bottom: 12px; }
.rv-breadcrumb a { color: var(--rv-muted); text-decoration: none; }
.rv-breadcrumb a:hover { color: var(--rv-primary); }

/* === SINGLE extra styles === */
.rv-single-title { font-size: 1.8rem; font-weight: 800; margin-bottom: 8px; }
.rv-single-sub   { font-size: 1rem; color: var(--rv-muted); margin-bottom: 12px; }
.rv-single-score-header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.rv-big-score { font-size: 2.4rem; font-weight: 800; color: var(--rv-primary); line-height: 1; }
.rv-meta-chip { display: inline-block; font-size: .78rem; font-weight: 600; background: #F5F6FA; border: 1px solid var(--rv-border); padding: 3px 10px; border-radius: 50px; color: var(--rv-text); }
.rv-verified-badge, .rv-featured-badge { position: absolute; top: 12px; right: 12px; font-size: .75rem; font-weight: 700; padding: 4px 10px; border-radius: 50px; background: #F0FDF4; color: #16A34A; }
.rv-featured-badge { right: auto; left: 12px; background: #FFF7ED; color: #C2410C; }
.rv-single-info { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--rv-border); }
.rv-single-info p { font-size: .88rem; margin-bottom: 6px; }
.rv-single-info a { color: var(--rv-primary); }
.rv-video-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 12px; }
.rv-video-wrap iframe, .rv-video-wrap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.rv-content { font-size: .95rem; line-height: 1.8; color: #374151; }
.rv-content p { margin-bottom: 12px; }
.rv-content h2, .rv-content h3 { margin: 20px 0 10px; font-weight: 700; }

/* === LIGHTBOX === */
.rv-lightbox { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; }
.rv-lb-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.85); }
.rv-lightbox img { position: relative; max-width: 90vw; max-height: 90vh; border-radius: 12px; }
.rv-lb-close { position: absolute; top: 16px; right: 24px; color: #fff; font-size: 1.8rem; cursor: pointer; z-index: 1; }

/* === ARCHIVE pagination === */
.rv-pagination { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 32px; padding-bottom: 20px; }
.rv-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 8px; border-radius: 8px; border: 1.5px solid var(--rv-border); font-size: .85rem; font-weight: 600; color: var(--rv-text); text-decoration: none; }
.rv-pagination .page-numbers.current, .rv-pagination .page-numbers:hover { background: var(--rv-primary); color: #fff; border-color: var(--rv-primary); text-decoration: none; }

/* === ARCHIVE layout === */
.rv-archive-main { min-width: 0; }
.rv-archive-title { font-size: 1.4rem; font-weight: 800; }
@media (max-width: 900px) {
  .rv-single-wrap, .rv-archive-wrap { grid-template-columns: 1fr !important; padding: 20px 4%; }
  .rv-sticky-contact { position: static !important; }
  .rv-archive-wrap { padding-bottom: 80px; }
  .rv-sidebar .rv-sidebar-card { display: none; }
  .rv-sidebar.rv-sidebar--open .rv-sidebar-card { display: block; }
  .rv-sidebar-card--search { display: block !important; }
  .rv-mobile-filter-btn { display: block !important; }
  /* Sidebar drawer on mobile */
  .rv-archive-wrap .rv-sidebar {
    position: fixed; left: -290px; top: 0; bottom: 0;
    width: 280px; background: #fff; z-index: 9998;
    padding: 20px; overflow-y: auto;
    box-shadow: 4px 0 20px rgba(0,0,0,.15);
    transition: left .28s ease;
  }
  .rv-archive-wrap .rv-sidebar.rv-sidebar--open { left: 0; }
}
