/*
Theme Name: Twenty Twenty
Text Domain: twentytwenty
Version: 846
Tested up to: 6.8
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-patterns, block-styles, wide-blocks, accessibility-ready
Author: the WordPress team
Author URI: https://wordpress.org/
Theme URI: https://wordpress.org/themes/twentytwenty/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
	2. 	Element Base
	3. 	Helper Classes
	4. 	Site Header
	5. 	Menu Modal
	6. 	Search Modal
	7. 	Page Templates
		a. 	Template: Cover Template
		c. 	Template: Full Width
	8.  Post: Archive
	9.  Post: Single
	10. Blocks
	11. Entry Content
	12. Comments
	13. Site Pagination
	14. Error 404
	15. Widgets
	16. Site Footer
	17. Media Queries

----------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */

/*	0. CSS Reset
/* -------------------------------------------------------------------------- */

:root{
  --green:#1ad02a;
  --bg:#000;
  --panel:#1a1a1a;
  --panel-2:#141414;
  --border:#333;
  --border-2:#222;
  --text:#fff;ba
  --muted:#ccc;
  --muted-2:#888;
}
*{box-sizing:border-box}
html,body{height:100%; max-width:100%; overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;height:auto;display:block}

html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

* {
    box-sizing: border-box;
}

/* Header (mobile-first) */
header.site-header{
  border-bottom:1px solid var(--border);
  top:0;z-index:1000;
  padding:12px 15px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "logo hamburger"
    "nav nav"
    "search search";
  row-gap:12px;
  align-items:center;
}
.logo{
  grid-area:logo;
  font-size:26px;font-weight:900;letter-spacing:1px;color:var(--green);
}
.social-icons{display:none;gap:10px}
.social-icon{
  width:36px;height:36px;border-radius:50%;
  background:#222;border:1px solid var(--border);
  color:#ccc;display:flex;align-items:center;justify-content:center
}
.hamburger-menu{
  grid-area:hamburger;justify-self:end;
  font-size:28px;color:#fff;background:none;border:none;cursor:pointer
}
/* Navigation Menu - Fixed */
nav.nav-menu{
  grid-area:nav;min-width:0;
  display:flex;gap:12px;overflow-x:auto;margin:12px 0 4px 0;padding:8px 8px 4px 8px;scrollbar-width:none; /* Added left/right padding */
  align-items:center;
}
.nav-menu::-webkit-scrollbar{display:none}
.nav-item{
  white-space:nowrap;padding:10px 16px;border-radius:18px;font-size:14px;font-weight:600;color:#ccc;border:1px solid var(--border);
  transition: all 0.2s ease;
  cursor: pointer;
  margin: 0;
  line-height: 1.2;
}
/* Add margins to first and last items */
.nav-item:first-child {
  margin-left: 4px; /* Added left margin to first item */
}
.nav-item:last-child {
  margin-right: 4px; /* Added right margin to last item */
}
.nav-item.active{
  background:var(--bg);border-color:var(--green);
  box-shadow: 0 0 0 2px var(--green);
  margin: 0;
  position: relative;
}
/* Added hover effects */
.nav-item:hover {
  background: var(--panel-2);
  border-color: var(--green);
  color: #fff;
  transform: translateY(-1px);
}
.nav-item:focus, .nav-item:active {
  border-color: var(--green);
  box-shadow: 0 0 0 2px var(--green);
  background: var(--panel-2);
}

.search-bar{
  grid-area:search;min-width:0;
  display:flex;align-items:center;gap:8px;
  background:#222;border:1px solid var(--border);border-radius:8px;padding:10px 12px
}
.search-bar input{
  flex:1;min-width:0;background:transparent;border:none;color:#fff;font-size:16px;outline:none
}
.search-btn{
  background:var(--green);color:#000;border:none;border-radius:6px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center
}
.search-btn i{color:#fff}

/* Slide-in Menu (no horizontal overflow) */
.flyin-menu{
  position:fixed;top:0;right:0;
  width:min(86vw,320px);
  height:100dvh;
  background:#111;color:#fff;
  box-shadow:-3px 0 10px rgba(0,0,0,.7);
  transform:translateX(100%);will-change:transform;
  transition:transform .3s ease;
  padding:16px;z-index:2000;display:flex;flex-direction:column;
  overscroll-behavior:contain;touch-action:pan-y;
}
.flyin-menu.active{transform:translateX(0)}
.flyin-header{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;
  border-bottom: 1px solid #333; padding-bottom: 12px;
}
.flyin-header .menu-logo{font-size:20px;font-weight:800;color:var(--green)}
.close-menu{font-size:24px;background:none;border:none;color:#fff;cursor:pointer}
.menu-links a{display:block;padding:12px 0;border-bottom:1px solid #333;color:#ccc;font-weight:600}
.menu-links a:hover{color:var(--green)}

/* Layout */
.content-wrapper{
  max-width:1440px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:20px;padding:20px
}
.posts-section{width:100%}
.section-title{
  font-size:26px;margin:8px 0 16px;padding-bottom:8px;color:#fff;border-bottom:2px solid var(--green);display:inline-block
}
.posts-grid{display:grid;grid-template-columns:1fr;gap:16px}
.post-card{background:var(--panel);border-radius:10px;padding:18px;}
.post-badge{display:inline-block;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:700;margin-bottom:10px}
.badge-album{background:linear-gradient(to bottom,#d73b3b,#b93b3b);color:#fff}
.badge-music{background:linear-gradient(to bottom,#3b7bd7,#2b5bb3);color:#fff}
.badge-video{background:linear-gradient(to bottom,#d73bd7,#b93bb9);color:#fff}
.badge-news{background:linear-gradient(to bottom,#d7a53b,#b3892b);color:#fff}
.badge-artist{background:linear-gradient(to bottom,#3bd7a5,#2bb389);color:#fff}
.post-title{font-size:18px;font-weight:600;color:#fff;word-break:break-word}

/* Single Post Page Styles */
.single-post {
  background: var(--bg);
  border-radius: 10px;
  padding: 24px;
  border: 1px solid var(--border);
  margin-bottom: 24px;
}

.post-header {
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 16px;
}

.post-meta {
  display: flex;
  gap: 16px;
  margin-top: 12px;
  font-size: 14px;
  color: var(--muted);
  align-items: center;
  flex-wrap: wrap;
}

.author-verified {
  display: flex;
  align-items: center;
  gap: 6px;
}

.verified-badge {
  color: var(--green);
  font-size: 12px;
}

.post-content {
  font-size: 16px;
  line-height: 1.7;
}

.post-content p {
  margin-bottom: 16px;
  color: #fff;
}

.post-content a {
  color: var(--green);
  font-weight: bold;
  text-decoration: underline;
}

.post-content a:hover {
  text-decoration: none;
}

.featured-image {
  width: 100%;
  border-radius: 10px;
  margin: 20px 0;
  overflow: hidden;
}

.featured-image img {
  width: 100%;
  height: auto;
  display: block;
}

.post-tags {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.post-tags h3 {
  font-size: 18px;
  margin-bottom: 12px;
  color: var(--green);
}

.post-tags .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.post-tags .tag {
  padding: 6px 12px;
  border-radius: 14px;
  border: 1px solid var(--green);
  color: #eee;
  font-size: 12px;
}

.post-tags .tag:hover {
  border-color: var(--green);
  color: var(--green);
}

/* Share Buttons */
.share-buttons {
  margin: 30px 0;
  padding: 20px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.share-buttons h3 {
  font-size: 18px;
  margin-bottom: 15px;
  color: var(--green);
}

.share-icons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.share-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.2s ease;
  border: 1px solid var(--border);
}

.share-btn.facebook {
  background: #1877f2;
  color: white;
}

.share-btn.twitter {
  background: #1da1f2;
  color: white;
}

.share-btn.whatsapp {
  background: #25d366;
  color: white;
}

.share-btn.telegram {
  background: #0088cc;
  color: white;
}

.share-btn.link {
  background: var(--panel-2);
  color: var(--text);
}

.share-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.related-posts {
  margin-top: 40px;
}

.related-posts h2 {
  font-size: 22px;
  margin-bottom: 16px;
  color: var(--green);
  border-bottom: 2px solid var(--green);
  padding-bottom: 8px;
  display: inline-block;
}

/* Search Results Page Styles */
.search-results-header {
  background: var(--panel);
  border-radius: 10px;
  padding: 24px;
  border: 1px solid var(--border);
  margin-bottom: 24px;
}

.search-results-header h1 {
  font-size: 28px;
  margin: 0 0 12px 0;
  color: var(--text);
}

.search-query {
  color: var(--green);
  font-weight: bold;
}

.results-count {
  color: var(--muted);
  font-size: 16px;
  margin: 0;
}

.search-suggestions {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.search-suggestions p {
  color: var(--muted);
  margin: 0 0 8px 0;
  font-size: 14px;
}

.suggestion-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.suggestion-tag {
  padding: 6px 12px;
  border-radius: 14px;
  background: var(--panel-2);
  border: 1px solid var(--border-2);
  color: var(--text);
  font-size: 12px;
  transition: all 0.2s ease;
}

.suggestion-tag:hover {
  border-color: var(--green);
  color: var(--green);
}

.no-results {
  text-align: center;
  padding: 40px 20px;
  background: var(--panel);
  border-radius: 10px;
  border: 1px solid var(--border);
}

.no-results-icon {
  font-size: 48px;
  color: var(--muted-2);
  margin-bottom: 16px;
}

.no-results h2 {
  color: var(--text);
  margin: 0 0 12px 0;
  font-size: 24px;
}

.no-results p {
  color: var(--muted);
  margin: 0 0 20px 0;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.search-again {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--green);
  color: #000;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.search-again:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(26, 208, 42, 0.3);
}

/* Movies Page Styles */
.movies-header {
  background: var(--panel);
  border-radius: 10px;
  padding: 24px;
  border: 1px solid var(--border);
  margin-bottom: 24px;
  text-align: center;
}

.movies-header h1 {
  font-size: 32px;
  margin: 0 0 12px 0;
  color: var(--green);
}

.movies-header p {
  color: var(--muted);
  font-size: 16px;
  margin: 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Movies Grid - 2 columns from 320px and up */
.movies-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
}

.movie-card {
  background: var(--panel);
  border-radius: 10px;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: all 0.3s ease;
}

.movie-card:hover {
  transform: translateY(-4px);
  border-color: var(--green);
  box-shadow: 0 8px 20px rgba(0,0,0,0.4);
}

.movie-image {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.movie-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.movie-card:hover .movie-image img {
  transform: scale(1.05);
}

.movie-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.badge-movie {
  background: linear-gradient(to bottom, #d73b3b, #b93b3b);
  color: #fff;
}

.badge-series {
  background: linear-gradient(to bottom, #3b7bd7, #2b5bb3);
  color: #fff;
}

.movie-content {
  padding: 16px;
}

.movie-title {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.movie-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 12px;
  color: var(--muted);
}

.movie-year {
  background: var(--panel-2);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}

.movie-genre {
  color: var(--green);
  font-weight: 600;
}

.movie-description {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.movie-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.action-btn {
  flex: 1;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  transition: all 0.2s ease;
}

.watch-btn {
  background: var(--green);
  color: #000;
}

.watch-btn:hover {
  background: #18c026;
}

.details-btn {
  background: var(--panel-2);
  color: var(--text);
  border: 1px solid var(--border);
}

.details-btn:hover {
  border-color: var(--green);
  color: var(--green);
}

/* Sidebar */
aside.sidebar{
  background:var(--bg);padding:20px;border:1px solid var(--border-2);border-radius:10px;height:max-content;min-width:0
}
.sidebar-section{margin-bottom:24px}
.sidebar-title{
  font-size:18px;font-weight:800;color:var(--green);margin-bottom:12px;border-bottom:2px solid var(--green);display:inline-block;padding-bottom:6px
}

/* Sidebar search */
.sidebar .search-bar{
  padding:8px 10px;border-radius:8px;background:#161616;border-color:#2a2a2a
}
.sidebar .search-btn i{color:#fff}

/* Trending Songs with numbers and auto slider */
.trending-list{
  display:flex;gap:10px;overflow:auto;scrollbar-width:none;padding-bottom:6px;
  scroll-behavior: smooth;
}
.trending-list::-webkit-scrollbar{display:none}
.trend-chip{
  background:#1b1b1b;border:1px solid #2a2a2a;color:#eee;border-radius:10px;padding:10px 12px;white-space:nowrap;font-size:14px;
  position: relative;
  padding-left: 30px;
  flex-shrink: 0;
  width: 240px;
}
.trend-chip::before {
  content: attr(data-number);
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--green);
  color: #000;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
}
.trend-controls{display:flex;gap:10px;margin-top:10px}
.round-btn{
  width:36px;height:36px;border-radius:50%;border:1px solid #2a2a2a;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer
}
.round-btn:hover{border-color:var(--green);color:var(--green)}

/* TRENDING POSTS - SIMPLE STYLING */
.trending-posts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trending-post {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: #1b1b1b;
  border-radius: 8px;
  border: 1px solid #2a2a2a;
  transition: all 0.2s ease;
}

.trending-post:hover {
  border-color: var(--green);
  background: #222;
}

.trending-post-number {
  background: var(--green);
  color: #000;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  flex-shrink: 0;
  margin-top: 2px;
}

.trending-post-content {
  flex: 1;
  min-width: 0;
}

.trending-post-badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 6px;
}

.trending-post-title {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
  margin: 0;
  word-break: break-word;
}

/* Tags */
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{
  padding:6px 10px;border-radius:14px;border:1px solid var(--green);color:#eee;font-size:12px
}
.tag:hover{border-color:var(--green);color:var(--green)}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin:28px 0 8px;flex-wrap:wrap}
.page{
  min-width:36px;height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;background:#1b1b1b;border:1px solid #2a2a2a;color:#eee;font-weight:600;cursor:pointer;
  transition:.15s ease
}
.page:hover{border-color:var(--green);color:var(--green)}
.page.active{background:var(--green);border-color:var(--green);color:#000}
.page[aria-disabled="true"]{opacity:.45;pointer-events:none}

.content-wrapper {
    display: flex;
    gap: 40px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
}

.main-content {
    flex: 1;
}

.sidebar {
    width: 350px;
    flex-shrink: 0;
}


/* 404 Header */
.error-header {
    text-align: center;
    margin-bottom: 50px;
    padding: 40px 20px;
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
    border-radius: 12px;
    border-left: 4px solid var(--accent-color);
}

.error-icon {
    font-size: 64px;
    color: var(--accent-color);
    margin-bottom: 20px;
}

.error-header h1 {
    font-size: 42px;
    margin-bottom: 15px;
    color: var(--text-primary);
}

.error-subtitle {
    font-size: 18px;
    color: var(--muted);
    max-width: 500px;
    margin: 0 auto;
}

/* Error Content */
.error-content {
    text-align: center;
    margin-bottom: 50px;
}

.error-code {
    font-size: 120px;
    font-weight: 900;
    color: var(--accent-color);
    line-height: 1;
    margin-bottom: 30px;
    text-shadow: 2px 2px 0px rgba(0,0,0,0.1);
}

.error-message {
    max-width: 600px;
    margin: 0 auto 40px;
}

.error-message p {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-secondary);
}

/* Action Buttons */
.error-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: 14px;
}

.primary-btn {
    background: var(--accent-color);
    color: white;
}

.primary-btn:hover {
    background: var(--accent-hover);
    color: white;
    transform: translateY(-2px);
}

.secondary-btn {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.secondary-btn:hover {
    background: var(--bg-secondary);
    border-color: var(--accent-color);
    transform: translateY(-2px);
}

/* Search Section */
.error-search {
    background: var(--bg-secondary);
    padding: 30px;
    border-radius: 12px;
    margin-bottom: 40px;
}

.error-search h3 {
    margin-bottom: 10px;
    color: var(--text-primary);
}

.error-search p {
    color: var(--muted);
    margin-bottom: 20px;
}

.large-search .search-form {
    display: flex;
    max-width: 400px;
    margin: 0 auto;
}

.large-search .search-field {
    flex: 1;
    padding: 15px 20px;
    border: 1px solid var(--border-color);
    border-right: none;
    border-radius: 8px 0 0 8px;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 16px;
}

.large-search .search-submit {
    padding: 15px 20px;
    background: var(--accent-color);
    color: white;
    border: none;
    border-radius: 0 8px 8px 0;
    cursor: pointer;
    transition: background 0.3s ease;
}

.large-search .search-submit:hover {
    background: var(--accent-hover);
}

/* Popular Links */
.popular-links {
    margin-bottom: 40px;
}

.popular-links h3 {
    text-align: center;
    margin-bottom: 20px;
    color: var(--text-primary);
}

.links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.popular-link {
    background: var(--bg-primary);
    padding: 20px;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
    display: block;
}

.popular-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: var(--accent-color);
}

.link-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.link-title {
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.4;
}

/* Help Links */
.help-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.help-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-primary);
    transition: all 0.3s ease;
}

.help-link:hover {
    background: var(--bg-secondary);
    border-color: var(--accent-color);
    transform: translateX(5px);
}

.help-link i {
    color: var(--accent-color);
    width: 16px;
}

.logo {
color: var(--green);
    
}
}
/* Badge Base Styles */
.post-badge, .movie-badge, .trending-post-badge, .link-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}

/* Music Category Badges */
.badge-music {
    background: #e60101 !important; /* Red */
    border: 1px solid #e60101;
}

.badge-gospel {
    background: #830404 !important; /* Dark Red */
    border: 1px solid #830404;
}

.badge-artists {
    background: #4ecdc4 !important; /* Teal */
    border: 1px solid #4ecdc4;
}

.badge-video {
    background: #ffd93d !important; /* Yellow */
    color: #000 !important;
    border: 1px solid #ffd93d;
}

.badge-album {
    background: #830404 !important; /* Dark Red */
    border: 1px solid #830404;
}

.badge-albums {
    background: #830404 !important; /* Dark Red */
    border: 1px solid #830404;
}

.badge-movies {
    background: #07467d !important; /* Dark Blue */
    border: 1px solid #07467d;
}

/* News Category */
.badge-news {
    background: #fd79a8 !important; /* Pink */
    border: 1px solid #fd79a8;
}

/* Zambian Music Categories */
.badge-kalindula {
    background: #e17055 !important; /* Orange */
    border: 1px solid #e17055;
}

.badge-old-zambian {
    background: #fdcb6e !important; /* Gold */
    color: #000 !important;
    border: 1px solid #fdcb6e;
}

/* Default Badge */
.badge-default {
    background: #95a5a6 !important; /* Gray */
    border: 1px solid #95a5a6;
}

/* Movie & Series Badges (keep your existing ones) */
.badge-movie {
    background: #e74c3c !important;
    border: 1px solid #e74c3c;
}

.badge-series {
    background: #3498db !important;
    border: 1px solid #3498db;
}

/* Hover Effects */
.post-badge:hover, .movie-badge:hover, .trending-post-badge:hover {
    opacity: 0.9;
    transform: scale(1.05);
    transition: all 0.3s ease;
}

/* Responsive Design */
@media (max-width: 768px) {
    .error-header h1 {
        font-size: 32px;
    }
    
    .error-code {
        font-size: 80px;
    }
    
    .error-actions {
        flex-direction: column;
        align-items: center;
    }
    
    .action-btn {
        width: 200px;
        justify-content: center;
    }
    
    .links-grid {
        grid-template-columns: 1fr;
    }
    
    .large-search .search-form {
        flex-direction: column;
    }
    
    .large-search .search-field {
        border-right: 1px solid var(--border-color);
        border-radius: 8px 8px 0 0;
    }
    
    .large-search .search-submit {
        border-radius: 0 0 8px 8px;
    }
}

@media (max-width: 480px) {
    .error-header {
        padding: 30px 15px;
    }
    
    .error-icon {
        font-size: 48px;
    }
    
    .error-code {
        font-size: 60px;
    }
    
    .error-message p {
        font-size: 16px;
    }
}
/* Responsive design */
@media (max-width: 768px) {
    .content-wrapper {
        flex-direction: column;
    }
    
    .sidebar {
        width: 100%;
    }
}

/* Footer */
footer{background:#0b0b0b;color:#ccc;padding:30px 20px;border-top:3px solid var(--green);text-align:center}
.footer-logo{color:var(--green);font-weight:800}
.footer-social{display:flex;justify-content:center;gap:15px;margin:15px 0}
.footer-social a{
  background:#222;border:1px solid #333;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;transition:.3s
}
.footer-social a:hover{background:var(--green);color:#000}
.footer-bottom{font-size:14px;color:var(--muted-2);margin-top:15px}

/* Tablet and up (requested header layout + 2-column main) */
@media (min-width:768px){
  header.site-header{
    padding:16px 20px;
    grid-template-columns:auto 1fr auto;
    grid-template-areas:
      "logo logo socials"
      "hamburger nav search";
    row-gap:10px;
    max-width: 1440px;
    margin: 0 auto;
  }
  .logo{justify-self:center;font-size:40px}
  .social-icons{grid-area:socials;display:flex;justify-self:end}
  .hamburger-menu{grid-area:hamburger;justify-self:start;font-size:26px}
  nav.nav-menu{
    grid-area:nav;overflow:visible;margin:0;padding:0;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;min-width:0
  }
  .search-bar{
    grid-area:search;align-self:center;justify-self:end;
    max-width: 320px;
    width: min(320px, 100%);
  }
  .content-wrapper{
    max-width:1280px;
    grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);
    gap:24px;padding:24px
  }
  .posts-grid{grid-template-columns:1fr 1fr;gap:16px 20px}
  .movies-grid {
    gap: 20px;
  }
  .movie-image {
    height: 240px;
  }
}

/* Desktop: main gets more room, sidebar fixed width and sticky */
@media (min-width:1024px){
  .content-wrapper{grid-template-columns:minmax(0,1fr) 320px}
  aside.sidebar{position:sticky;top:112px}
  .movie-image {
    height: 260px;
  }
}

@media (max-width:480px){
  .logo{font-size:22px}
  .post-title{font-size:16px}
  .section-title{font-size:20px}
  .share-icons {
    justify-content: center;
  }
  .share-btn {
    flex: 1;
    min-width: 140px;
    justify-content: center;
  }
  .movies-grid {
    gap: 12px;
  }
  .movie-content {
    padding: 12px;
  }
  .movie-title {
    font-size: 14px;
  }
  .movie-description {
    font-size: 12px;
  }
  .action-btn {
    padding: 6px 8px;
    font-size: 11px;
  }
}

/* Ensure 2-column layout works on all screen sizes from 320px */
@media (max-width: 319px) {
  .movies-grid {
    grid-template-columns: 1fr;
  }
}