
:root{ --bg:#09090b; --bg2:#121218; --card:#17171d; --card-hover:#202028; --line:#2c2c36; --text:#f5f5f7; --muted:#a1a1aa; --red:#ff4d5a;--aqua:#46ddb0; }
*{ margin:0; padding:0; box-sizing:border-box; }
body{ background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; line-height:1.5; }
img{ width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
.container{ width:min(1450px,92%); margin:auto; }

/* =========================
   CATEGORY HEADER WITH ICONS
   ========================= */
.category-header { padding: 3rem 0 1rem; }
.category-header .container { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.cat-text-block { flex: 1; }
.category-header h1 { font-family: 'Oswald', sans-serif; font-size: 3.5rem; text-transform: uppercase; margin-bottom: 0.5rem; }
.category-header p { color: var(--muted); max-width: 600px; font-size: 1.1rem; margin-bottom: 1rem; }


/* Icon Styles */


.cat-sub-icons { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: flex-end; width: 315px;}
.sub-icon { width: 50px; height: 50px; border-radius: 12px; background: var(--bg2); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: var(--muted); transition: 0.2s; font-weight: 700; }
.sub-icon:hover { background: var(--card-hover); border-color: var(--muted); color: white; transform: translateY(-2px); }
.sub-icon.spot:hover { background: #1DB954; border-color: #1DB954;color:#000;}
.sub-icon.apple:hover { background: #FC3C44; border-color: #FC3C44; color:#000;}
.sub-icon.amz:hover { background: #00A8E1; border-color: #00A8E1;color:#000; }
.sub-icon.yt:hover { background: #FF0000; border-color: #FF0000;color:#000; }
.sub-icon.rss:hover { background: #FF9900; border-color: #FF9900; color:#000;}

  
 .sub-icon.bluesky:hover { background: #1185fe;border-color: #1185fe; color:#000;}
 .sub-icon.tiktok:hover { background: #00f2fe;border-color: #00f2fe; color:#000;} /* Vibrant cyan theme */
 .sub-icon.instagram:hover { background: #e1306c;border-color: #e1306c; color:#000;}
 .sub-icon.facebook:hover { background: #1877f2;border-color: #1877f2; color:#000; }
 .sub-icon.letterboxd:hover { background: #ff8000;border-color: #ff8000;color:#000; } /* Signature Letterboxd Orange */





/* HEADER */
header{ position:sticky; top:0; z-index:999; backdrop-filter:blur(16px); background:rgba(9,9,11,.72); border-bottom:1px solid rgba(255,255,255,.05); }
.nav{ height:78px; display:flex; align-items:center; justify-content:space-between; }
.logo{ font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:2rem; letter-spacing:1px; z-index: 10; position: relative;}
.logo span{ color:var(--aqua); }
.nav-links{ display:flex; gap:1rem; color:var(--muted); font-size:.95rem; margin-left: auto; margin-right: 1rem;}
.nav-links a:hover{ color:white; }
.menu-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; z-index: 10; position: relative; }
.menu-toggle span { width: 25px; height: 2px; background: white; }

.nav-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--bg); flex-direction: column; align-items: center; justify-content: center; gap: 1rem; z-index: 5; }
.nav-overlay.active { display: flex; }
.nav-overlay a { font-size: 1rem; font-weight: 600; }

/* HERO */
.hero{ padding:1rem 0 0rem; }
.hero-grid{ display:grid; grid-template-columns:2fr 1fr; gap:1.2rem; }
.hero-main{ aspect-ratio: 1400 / 927; border-radius:30px; overflow:hidden; position:relative; display:flex; align-items:flex-end; padding:2.5rem; }
.hero-main-content{ max-width:650px; }
.tag{ display:inline-block; background:rgba(255,77,90,.18); color:var(--red); padding:.45rem .85rem; border-radius:999px; font-size:.75rem; text-transform:uppercase; letter-spacing:1px; font-weight:700; margin-bottom:1rem; }
.hero-main h2{ font-size: clamp(2rem, 4vw, 2.2rem); line-height:.92; text-transform:uppercase; font-family:'Oswald',sans-serif; margin-bottom:1rem; }
.hero-main p{ color:#d6d6dc; font-size:1.08rem; margin-bottom:1.8rem; }
.hero-side{ display:grid; gap:1.2rem; }
.side-post, a.side-post { min-height:300px; border-radius:24px; overflow:hidden; position:relative; display:flex; align-items:flex-end; padding:1.5rem; background-size:cover; background-position:center; transition:.3s; }
.side-post:hover{ transform:translateY(-4px); }
.side-post::before{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.1)); }
.side-content{ position:relative; z-index:2; }
.side-content h3{ font-size:1.3rem; line-height:1.1; margin-bottom:.5rem; }
.side-content p{ color:#d0d0d8; font-size:.9rem; }

/* MINI POSTS & ARCHIVE STRUCTURE */
.archive-wrapper { padding: 2rem 0 4rem; }
.feature-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.2rem; }
.mini-post{ background:var(--card); border-radius:22px; overflow:hidden; transition:.3s; border:1px solid rgba(255,255,255,.04); }
.mini-post:hover{ transform:translateY(-5px); background:var(--card-hover); }
.mini-image{ aspect-ratio:16/10; overflow:hidden; }
.mini-image img{ height:100%; object-fit:cover; }
.mini-content{ padding:1rem; }
.mini-content h4{ margin:.5rem 0; font-size:1rem; }
.mini-content p{ color:var(--muted); font-size:.88rem; }
.section-title h2{ font-size:1.6rem; margin-bottom: 0.5rem; }

/* FOOTER */
footer{ border-top:1px solid rgba(255,255,255,.06); padding:3rem 0; color:var(--muted); }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; }
.footer-grid h4{ color:white; margin-bottom:1rem; }
.footer-grid ul{ list-style:none; }
.footer-grid li{ margin-bottom:.7rem; }

/* RESPONSIVE UPDATES */
@media(max-width:1100px){ .hero-grid, .footer-grid{ grid-template-columns:1fr; } .hero-side, .feature-row{ grid-template-columns:1fr 1fr; } }
@media(max-width:1100px){ 
    .nav-links{ display:none; } 
    .menu-toggle { display: flex; }
    .hero-main{ min-height:400px; aspect-ratio:auto; } 
    .hero-side, .feature-row, .footer-grid{ grid-template-columns:1fr; } 
    .category-header .container { flex-direction: column; text-align: center; align-items: center; }
    body.moviemonth-post .cat-sub-icons {margin:20px 0 -25px 0 !important;}
    body.moviemonth-list .cat-sub-icons {margin:-25px 0 20px 0 !important;}
}

/* PAGINATION */
.pagination { display: flex; justify-content: center; gap: 0.5rem; padding: 3rem 0 0; }
.pagination a, .pagination span { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: var(--bg2); border: 1px solid var(--line); font-weight: 600; color: var(--muted); transition: 0.2s; }
.pagination a:hover { background: var(--card-hover); color: white; border-color: var(--muted); transform: translateY(-2px); }
.pagination .current { background: var(--red); color: white; border-color: var(--red); }




/* =========================
   SINGLE POST HERO (TIGHTER & DARKER)
   ========================= */
.hero{ position:relative; min-height:45vh; display:flex; align-items:flex-end; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; transform:scale(1.05); }
.hero-content{ position:relative; z-index:2; padding:3rem 0 2rem; max-width:850px; }
.tag{ display:inline-block; background:rgba(255,77,90,.15); color:var(--red); padding:.45rem .9rem; border-radius:999px; text-transform:uppercase; letter-spacing:1px; font-size:.75rem; font-weight:700; margin-bottom:1.2rem; }
.hero-content .tag { font-size:.90rem !important;}

.hero h1{ font-size:clamp(2.5rem,5.3vw,4.5rem); line-height:1.05; text-transform:uppercase; font-family:'Oswald',sans-serif; margin-bottom:1rem; }
.meta{ display:flex; flex-wrap:wrap; gap:1rem; color:#d0d0d8; font-size:.95rem;padding-bottom:10px; }
.meta span{ opacity:.85; }

/* =========================
   MAIN LAYOUT & ARTICLE
   ========================= */
.main-layout{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:3rem; padding:0 0 4rem 0; }
.article-image{ border-radius:26px; overflow:hidden; margin-bottom:2rem; border:1px solid rgba(255,255,255,.04); }
.article-content{ font-size:1.08rem; color:#ddddE6; }
.article-content p{ margin-bottom:1.8rem; }
.article-content h2{ margin:3rem 0 1rem; font-size:2rem; line-height:1.1; color:white; }
.article-content blockquote{ margin:2rem 0; padding:1.5rem; background:var(--card); border-left:4px solid var(--red); border-radius:16px; color:white; font-size:1.15rem; font-style: italic; }

/* =========================
   CUSTOM MOVIE CARD
   ========================= */
.custom-movie-card { background: var(--card); border: 1px solid rgba(255,255,255,.05); border-radius: 24px; overflow: hidden; margin-bottom: 2.5rem; box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.cmc-ratings { display: flex; background: rgba(0,0,0,.25); border-bottom: 1px solid rgba(255,255,255,.05); }
.cmc-rating-item { flex: 1; padding: 1.2rem 1rem; text-align: center; border-right: 1px solid rgba(255,255,255,.05); transition: 0.2s; }
.cmc-rating-item:last-child { border-right: none; }
.cmc-rating-item:hover { background: rgba(255,255,255,.03); }
.cmc-label { display: block; font-size: 0.75rem; text-transform: uppercase; color: var(--muted); letter-spacing: 1px; margin-bottom: 0.4rem; font-weight: 600; }
.cmc-value { font-size: 1.3rem; font-weight: 800; color: white; font-family: 'Oswald', sans-serif; letter-spacing: 0.5px; }
.cmc-value.rt { color: #fa320a; } 
.cmc-value.mc { color: #66cc33; } 
.cmc-value.imdb { color: #f5c518; }
.cmc-body { padding: 1.8rem 2rem; }
.cmc-year { display: inline-block; background: rgba(255,255,255,0.05); padding: 0.3rem 0.8rem; border-radius: 8px; font-size: 0.85rem; font-weight: 700; color: var(--text); margin-bottom: 1.5rem; border: 1px solid rgba(255,255,255,.1); }
.cmc-info-row { display: flex; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.05); }
.cmc-info-row:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.cmc-info-label { width: 110px; font-size: 0.85rem; color: var(--muted); text-transform: uppercase; font-weight: 700; flex-shrink: 0; letter-spacing: 0.5px; }
.cmc-info-value { flex: 1; color: #d0d0d8; font-size: 0.95rem; line-height: 1.6; }
.cmc-info-value a { color: white; transition: 0.2s; font-weight: 500; border-bottom: 1px solid transparent; }
.cmc-info-value a:hover { color: var(--red); border-bottom-color: var(--red); }
.cmc-separator { color: var(--muted); margin: 0 2px; }

.cmc-footer { padding: .5rem 1rem; background: rgba(0,0,0,.2); border-top: 1px solid rgba(255,255,255,.05); display: flex; justify-content: flex-end; }

.cmc-watch-btn {margin-left:20px !important;display: inline-block; background: var(--red); color: white; padding: 0.3rem 0.7rem; border-radius: 999px; font-size: 0.55rem; font-weight: 400; transition: 0.2s; text-transform: uppercase; letter-spacing: 0.5px; }
.cmc-watch-btn:hover { background: #ff3344; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255,77,90,0.3); }

.cmc-watch-btn.hbomax {background: #777 !important;}
.cmc-watch-btn.hbomax:hover {background: #aaa !important;color:#222 !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.plex {background: #e4a900 !important;}
.cmc-watch-btn.plex:hover {background: #e4a900 !important;color:#222 !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.netflix {background: #E50914 !important;}
.cmc-watch-btn.netflix:hover {background: #fff !important;color:#E50914 !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.hulu {background: #000 !important;color:#00e969 !important;}
.cmc-watch-btn.hulu:hover {background: #00e969 !important;color:#000 !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.paramount {background: #0761ff !important;color:#fff !important;}
.cmc-watch-btn.paramount:hover {background: #fff !important;color:#0761ff !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.peacock {background: #000 !important;color:#fff !important;}
.cmc-watch-btn.peacock:hover {background: #fff !important;color:#000 !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.tubi {background: #6700bf !important;color:#ffff13 !important;}
.cmc-watch-btn.tubi:hover {background: #ffff13 !important;color:#6700bf !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.cinemark {background: #fff !important;color:#de0000 !important;}
.cmc-watch-btn.cinemark:hover {background: #de0000 !important;color:#fff !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.amctheater {background: #de0000 !important;color:#fff !important;}
.cmc-watch-btn.amctheater:hover {background: #fff !important;color:#de0000 !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}

.cmc-watch-btn.prime {background: #00a8e1 !important;color:#fff !important;}
.cmc-watch-btn.prime:hover {background: #025f7f !important;color:#fff !important;box-shadow: 0 4px 12px rgba(128, 128, 128, 0.3);}


/* =========================
   PODCAST PLAYER SIDEBAR
   ========================= */
.player{ background:var(--card); border:1px solid rgba(255,255,255,.04); border-radius:28px; padding:1.5rem; margin-bottom:2rem; position:sticky; top:110px; }
.player h3{ margin-bottom:.5rem; font-size:1.4rem; color:white; }
.player p{ color:var(--muted); margin-bottom:1.5rem; font-size:.95rem; }

/* =========================
   TRAILER LIGHTBOX & TRIGGER
   ========================= */
.trailer-trigger {  z-index: 99;border-radius:22px; overflow:hidden; margin-bottom:1.5rem; position: relative; cursor: pointer; display: block; aspect-ratio: 16/10; }
.trailer-trigger img { height: 100%; object-fit: cover; }
.trailer-trigger::after { content:''; position: absolute; inset:0; background: rgba(0,0,0,0.4); transition: 0.3s; }
.trailer-trigger:hover::after { background: rgba(0,0,0,0.2); }
.play-overlay { position: absolute; inset:0; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2; color: white; }
.play-overlay i { font-size: 3.5rem; margin-bottom: 0.5rem; text-shadow: 0 4px 15px rgba(0,0,0,0.6); transition: 0.2s; color: rgba(255,255,255,0.9); }
.trailer-trigger:hover .play-overlay i { transform: scale(1.1); color: var(--red); }
.play-overlay span { font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }



/* The Modal (Background) */
.lightbox-modal { display: none; position: fixed; z-index: 9999; inset: 0; background-color: rgba(0,0,0,0.92); backdrop-filter: blur(5px); align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; }
.lightbox-modal.active { display: flex; opacity: 1; }
.lightbox-content { position: relative; width: 90%; max-width: 1000px; aspect-ratio: 16/9; background: black; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
.lightbox-content iframe { width: 100%; height: 100%; border: none; border-radius: 12px; }
.close-lightbox { position: absolute; top: -45px; right: 0; color: white; font-size: 2rem; cursor: pointer; background: none; border: none; transition: 0.2s; }
.close-lightbox:hover { color: var(--red); transform: scale(1.1); }

/* =========================
   RELATED POSTS
   ========================= */
.related{ margin-top:4rem; }
.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.related-card{ background:var(--card); border-radius:24px; overflow:hidden; transition:.3s; border:1px solid rgba(255,255,255,.04); }
.related-card:hover{ transform:translateY(-5px); background:var(--card-hover); }
.related-image{ aspect-ratio:16/10; }
.related-image img{ height:100%; object-fit:cover; }
.related-content{ padding:1.1rem; }
.related-content h4{ margin:.5rem 0; line-height:1.3; color:white; font-size:1rem; }
.related-content p{ color:var(--muted); font-size:.9rem; }

.movie-post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* Subtle separator line */
}

.movie-post-navigation .nav-link {
    color: #a0a0a0;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.movie-post-navigation .nav-link:hover {
    color: #ffffff; /* Brightens on hover */
}

.movie-post-navigation .disabled-link {
    color: #404040; /* Fades out if there is no previous/next post available */
    cursor: not-allowed;
}






/* =========================
   RESPONSIVE
   ========================= */
@media(max-width:1000px){
    .main-layout{ grid-template-columns:1fr; }
    .player{ position:relative; top:auto; }
    .related-grid{ grid-template-columns:1fr 1fr; } 
    .movie-post-aside {display:none !important;}
}

@media(min-width:1000px){
	.mobile-movie-items {display:none !important;}
}

@media(max-width:768px){
    .nav-links{ display:none; }
    .main-layout {padding-top:0 !important;}
    .menu-toggle { display: flex; }
    .hero{ min-height:41vh;margin:-40px 0 10px 0 !important;}
    .hero h1 { font-size: 2.9rem; }
   
    .related-grid, .footer-grid { grid-template-columns:1fr; }
    .cmc-info-row { flex-direction: column; }
    .cmc-info-label { margin-bottom: 0.3rem; }
    .rotten-label { font-size: 0.60rem !important;margin-top:-4px !important; margin-bottom:-5px !important;padding-bottom:5px !important;}
    
    .moviemonth-search-wrapper {margin-bottom:15px !important;}
    
    .movie-post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0px;
    padding: 10px 0;
    border-top: 0 !important;
}

.movie-post-navigation .nav-link {
    color: #a0a0a0;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.movie-post-navigation .nav-link:hover {
    color: #ffffff; /* Brightens on hover */
}

.movie-post-navigation .disabled-link {
    color: #404040; /* Fades out if there is no previous/next post available */
    cursor: not-allowed;
}
    
    
}

/* Container Flex Adjustment if needed to align search nicely */
.header-flex-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

/* Movie Month Search Bar Styling */
.moviemonth-search-wrapper {
    margin-top: 20px;
    width: 100%;
}

.mm-search-form {
    display: flex;
    position: relative;
    align-items: center;
    background-color: #121824; /* Sleek Dark Slate */
    border: 1px solid #1e293b; /* Subtle Border */
    border-radius: 8px;
    padding: 4px 8px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mm-search-form:focus-within {
    border-color: #46ddb0; /* Matches your RedCircle theme accent highlight color */
    box-shadow: 0 0 0 2px rgba(70, 221, 176, 0.15);
}

.mm-search-input {
    background: transparent !important;
    border: none !important;
    color: #f8fafc !important;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 0.95rem;
    padding: 10px 40px 10px 10px;
    width: 100%;
    outline: none !important;
    box-shadow: none !important;
}

.mm-search-input::placeholder {
    color: #64748b; /* Soft gray placeholder text */
}

.mm-search-submit {
    position: absolute;
    right: 12px;
    background: none !important;
    border: none !important;
    color: #94a3b8;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.mm-search-submit:hover {
    color: #46ddb0; /* Color change on hover */
}

/* Clear native iOS close element styles */
.mm-search-input::-webkit-search-decoration,
.mm-search-input::-webkit-search-cancel-button,
.mm-search-input::-webkit-search-results-button,
.mm-search-input::-webkit-search-results-decoration {
    display: none;
}


.edit-wp-button {position:fixed;bottom:50px;right:50px;display: flex; gap: 20px; align-items: center;}
.edit-wp-button a { display: inline-block; padding: 12px 28px; border-radius: 50px; font-weight: 700; text-decoration: none; font-family: sans-serif; letter-spacing: 0.5px; text-transform: uppercase; font-size: 14px; background-color: #444; color: #ffffff; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); cursor: pointer; }
.edit-wp-button a:hover { background-color: #111; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); }