/*
Theme Name:     CinePress
Template:      	foxiz
Theme URI:      https://cinesist.com
Author:         Cinesist
Author URI:     https://cinesist.com
Description:    Universal Style Source of Truth for Cinesist Website.
Version:        1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cinepress
Tags: custom-background, custom-menu, featured-images, theme-options, custom-colors, translation-ready, threaded-comments.
*/

/*
-----------------
>>> Cinesist CSS Documentation and Formatting Guide
-----------------
*/
/* --- Document Heading Style --- */
/*
-----------------
# - Main Sections
-----------------
*/

/* --- Subsection Heading Style --- */
/* ====================
     Title of Subsection
==================== */

/* --- Comment Style --- */
/* --- Description of specific style or code block --- */

/* --- Identity Marker --- */
/* Standard Comment Style */

/*
-----------------
>>> END Cinesist CSS Documentation and Formatting Guide
-----------------
*/

/*
-----------------
>>> TABLE OF CONTENTS:
1  - CSS Variables(root)
2 - General
3 - Icon Fonts
4 - Swiper Slider
5 - Header
6 - Post Entry
7 - Post Modules
8 - Blocks
9 - Single
10 - Archives
11 - Pages
12 - Footer
13 - Responsive
14 - Print
15 - Forms
16 - UI/UX
17 - Snarkive
18 - Buddypress - Not Implemented, Has a separate CSS file
19 - bbPress - Not Implemented, Has a separate CSS file
20 - WooCommerce - Not Implemented
-----------------
*/

/*
-----------------
1 - Cinesist Framework v1.0 CSS Variables(root)
-----------------
*/

/* ====================
     Fonts & Icons Import
==================== */
@font-face {
    font-family: 'Noto Color Emoji';
    /* The path is relative to the location of your CSS file */
    src:
        url('../fonts/NotoColorEmoji.woff2') format('woff2'),
        url('../fonts/NotoColorEmoji.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Best practice for performance */
}
:root {
    /* ====================
     Fonts Declarations
==================== */
    --font-primary: 'Work Sans', sans-serif;
    --font-emoji: 'Noto Color Emoji', sans-serif;

    /* ====================
     Layouts & Widths
==================== */
    --layout-page-max-width: 1536px;
    --layout-content-max-width: 1300px;

    /* ====================
     Typography (Fluid)
     Base: 16px (html { font-size: 100%; })
==================== */
    /* --- Headings --- */
    --font-h1: clamp(2.5rem, 5vw, 4.2rem); /* ~40px - 67px */
    --font-h2: clamp(2rem, 4vw, 3.36rem); /* ~32px - 54px */
    --font-h3: clamp(1.75rem, 3.5vw, 2.69rem); /* ~28px - 43px */
    --font-h4: clamp(1.31rem, 3vw, 2.15rem); /* ~21px - 34px */
    --font-h5: clamp(1.125rem, 2.5vw, 1.72rem); /* ~18px - 27px */
    --font-h6: clamp(1rem, 2vw, 1.25rem); /* ~16px - 20px */

    /* --- Body Text --- */
    --font-body: clamp(1rem, 0.29vi + 0.93rem, 1.19rem); /* ~16px-19px */
    --font-body-sm: clamp(0.875rem, 0.14vi + 0.77rem, 0.89rem); /* ~14px-15px */
    --font-caption: clamp(0.875rem, 1vw, 1rem);
    --font-cta: clamp(1.25rem, 3.5vw, 2.5rem);

    /* ====================
     Line Heights
==================== */
    --line-height-h1: 1.2;
    --line-height-h2: 1.3;
    --line-height-h3: 1.4;
    --line-height-h4: 1.5;
    --line-height-h5: 1.6;
    --line-height-h6: 1.7;
    --line-height-body: 1.5;
    --line-height-caption: 1.4;
    --line-height-cta: 1.5;

    /* ====================
     Fluid Spacing
==================== */
    --space-xxs: clamp(0.25rem, 0.5vw, 0.5rem); /* ~4px-8px */
    --space-xs: clamp(0.5rem, 0.8vw, 1rem); /* ~8px-16px */
    --space-sm: clamp(1rem, 1.2vw, 1.5rem); /* ~16px-24px */
    --space-md: clamp(1.5rem, 2vw, 2.5rem); /* ~24px-40px */
    --space-lg: clamp(2.5rem, 3.5vw, 4rem); /* ~40px-64px */
    --space-xl: clamp(4rem, 5vw, 6rem); /* ~64px-96px */
    --space-xxl: clamp(6rem, 8vw, 8rem); /* ~96px-128px */

    /* ====================
     Color Pallette
==================== */
    /* --- Brand Colors --- */
    --cinefox-black-spy: #1a1b1f;
    --cinefox-white-spy: #e5e5e5;
    --cinesist-dark-grey: #1a1a1a;
    --cinesist-middle-grey: #2a2a2a;
    --cinesist-light-grey: #cccccc;
    --cinesist-title-color: #ffffff; /* Makes Titles Gleam White */
    --cinesist-text-color: #f0f0f0; /* Off-white for general text */
    --cinesist-gold: #e2b304; /* Cinesist Gold for accents */
    --cinesist-red: #e50914; /* Cinesist Red for accents */
    --cinesist-border-color: rgba(255, 255, 255, 0.2); /* Subtle white border */
    --snarkive-purple: #d102d1; /* New: Devil Purple for specific elements */
    --snarkive-purple-accent: #792c85; /* New: Devil Purple accents */
    --cinefox-orange: #dd7b45; /* CineFox Primary Fur Color */
    --cinefox-orange-accent: #d45f35; /* CineFox Auxillary Fur Color */
    --cinesist-gaming: #107c10; /* Used for all things Gaming Related */
    --cinesist-industry: #708090; /* Used for all things Industry Related */
    --cinesist-tv: #0078ae; /* Used for all things TV Related */
    --cinesist-info: #00ddff; /* Electric Blue */
    --cinesist-sucess: #7dce94; /* Lime Green */
    --cinesist-warning: #fff685; /*Biohazard Yellow */
    --cinesist-danger: #f0217d; /* Comicbook Pink */
    --cinebar-red: #ff0d0d; /* Red Rating Bar */
    --cinebar-orange: #ff5612; /*orange Rating Bar */
    --cinebar-yellow: #ffa444; /* Yellow Rating Bar */
    --cinebar-midgreen: #a0b339; /* Mid Green Rating Bar */
    --cinebar-green: #50a735; /* Green Rating Bar */

    /* ========================================= */
    /* == Spy Vs Spy Theme (Light/Dark Mode) == */
    /* ========================================= */

    /* ====================
     White Spy Colors For Light Mode
==================== */
    /* --- Cinesist Light Branded Colors --- */
    --gc-color: #d45f35; /* Primary Orange Color */
    --gc-spy: #e5e5e5; /* White Spy Color */
    --gc-gold: #e2b304; /* Cinesist Gold Color */
    --gc-red: #e50914; /* Cinesist Red Color */
    --gc-snarkive-purple: #d102d1; /* Snarkive Purple Color */
    --gc-snarkive-accent: #792c85; /* Snarkive Purple Accent Color */
    --bbp-white: #e5e5e5; /* Custom variable for bbPress white background */
    --padding-c40: 10px 40px;
    --flex-desc: #000; /* Custom variable for form description text color */
    --cs-spy: #e5e5e5; /* Custom variable for Cinesist White Spy color */
    --btn-primary: var(--flex-snarkive); /* Snarkive Purple to Orange */
    --btn-primary-h: var(--flex-snarkive-rev); /* Snarkive Purple Reverse on Hover */

    /* --- Flexible Colors --- */
    --flex-overlay-1: rgba(250, 251, 253, 0.9);
    --flex-icon-1: rgba(18, 43, 70, 0.5);
    --contrast-1: #ffffff;
    --contrast-2: #eaeaea;
    --flex-bg-color: #1a1b1f; /* Black Spy Color for Day Time Adapt*/
    --flex-bg-color-2: #e5e5e5; /* White Spy Color for Light Mode */
    --flex-gray-1: #bab6b6;
    --flex-gray-2: #ededed;
    --flex-gray-3: #aaaaaa;
    --flex-gray-4: #eaeaea;
    --flex-gray-7: rgba(255, 255, 255, 0.35) !important;
    --flex-snarkive: #d102d1; /* Snarkive Purple */
    --flex-snarkive-90: #d102d1e6; /* Snarkive Purple 90% Opacity */
    --flex-snarkive-rev: #d45f35; /* Snarkive Orange Reverse */
    --flex-snarkive-rev: #d45f35e6; /* Snarkive Orange Reverse */
    --flex-text-title: #1a1a1a; /* Makes Titles Dark */
    --flex-text-primary: #2a2a2a; /* Dark grey for general text */
    --flex-text-secondary: #555555; /* --Cinesist-middle-grey */
    --flex-decor-border: rgba(0, 0, 0, 0.2); /* Subtle dark border */

    --news-letter-bg: #e5e5e5;
    --shadow-1: 5px 10px 20px 0px #00000051;
    --shadow-7: #00000051;
    --round-10: 10px; /* Standard Border Radius */
    --page-bg-color: #ffffff;

    /* --- Set your ticket stub colors --- */
    --ticket-bg-color: #f1f1f1;
    --ticket-text-color: #555555;
    --ticket-text-hover: #d45f35; /* Kept your orange! */
    --ticket-text-current: #111111;

    /* --- Cinescore Review Section Colors --- */
    --review-color: #d45f35;
}

/* ====================
     Black Spy Colors For Dark Mode
==================== */
[data-theme='dark'],
.light-scheme {
    /* --- Cinesist Dark Branded Colors --- */
    --gc-color: #d45f35; /* Primary Orange Color */
    --gc-spy: #1a1b1f; /* Black Spy Color */
    --btn-primary: var(--flex-snarkive); /* Snarkive Purple to Orange */
    --btn-primary-h: var(--flex-snarkive-rev); /* Snarkive Purple Reverse on Hover */

    /* --- Flexible Colors --- */
    --flex-overlay-1: rgba(5, 6, 8, 0.9);
    --flex-icon-1: rgb(229, 232, 235, 0.5);
    --contrast-1: #000000;
    --contrast-2: #131313;
    --flex-bg-color: #e5e5e5; /* White Spy Color for Night Time Adapt */
    --flex-bg-color-2: #1a1b1f; /* Black Spy Color for Dark Mode */
    --flex-gray-1: #2a2a2a;
    --flex-gray-2: #2d2e32;
    --flex-gray-3: #414245;
    --flex-gray-7: rgba(0, 0, 0, 0.35) !important;
    --flex-snarkive: #d45f35; /* Snarkive Orange */
    --flex-snarkive-rev: #d102d1; /* Snarkive Purple Reverse */
    --flex-snarkive-90: #d45f35e6; /* Snarkive Orange 90% Opacity */
    --flex-snarkive-rev-90: #d102d1e6; /* Snarkive Purple Reverse 90% Opacity */
    --flex-text-title: #ffffff; /* Makes Titles Gleam White */
    --flex-text-primary: #f0f0f0; /* Off-white for general text */
    --flex-text-secondary: #cccccc; /* --Cinesist-light-grey */
    --flex-decor-border: rgba(255, 255, 255, 0.2); /* Subtle white border */

    --news-letter-bg: #1a1b1f;
    --shadow-1: 5px 10px 20px 0px #0000004d;
    --page-bg-color: #111111;

    /* --- Set your ticket stub colors --- */
    --ticket-bg-color: #5e5e5e;
    --ticket-text-color: #aaaaaa;
    --ticket-text-hover: #d45f35; /* Kept your orange! */
    --ticket-text-current: #ffffff;
}

/* ====================
   BASE HTML STYLES
   ==================== */
html {
    font-size: 80%; /* Sets base to 12.8px */
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-size: var(--font-body);
    line-height: var(--line-height-body);
}

/* --- Fluid Headings & Noto Color Emoji --- */
h1,
.h1 {
    font-size: var(--font-h1);
    line-height: var(--line-height-h1);
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-weight: 800;
}
h2,
.h2 {
    font-size: var(--font-h2);
    line-height: var(--line-height-h2);
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-weight: 700;
}
h3,
.h3 {
    font-size: var(--font-h3);
    line-height: var(--line-height-h3);
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-weight: 700;
}
h4,
.h4 {
    font-size: var(--font-h4);
    line-height: var(--line-height-h4);
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-weight: 600;
}
h5,
.h5 {
    font-size: var(--font-h5);
    line-height: var(--line-height-h5);
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-weight: 600;
}
h6,
.h6 {
    font-size: var(--font-h6);
    line-height: var(--line-height-h6);
    font-family: var(--font-primary), var(--font-emoji), sans-serif;
    font-weight: 600;
}

/* --- Hyperlinks Style --- */
a {
    color: var(--flex-snarkive);
    text-decoration: none;
    transition: color 0.3s ease;
}
a:hover {
    color: var(--flex-snarkive-rev-90);
}
/*
-----------------
2 - General
-----------------
*/

/* --- Display Post Card Titles --- */
.entry-title {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Adjust this number to limit lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; /* Ensures ellipsis appears */
}
/* --- Table of Contents Override --- */
.rbtoc {
    display: inline-flex;
    float: none;
    flex-flow: column nowrap;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    padding: 20px 20px 13px;
    border-radius: var(--round-5);
    background-color: var(--toc-bg, var(--flex-gray-7));
    box-shadow: 0 5px 30px var(--shadow-7);
}

/* --- Comments Section Style --- */
#comment {
    border-width: 2px;
    border-style: groove;
    border-color: var(--g-color);
    border-radius: 10px;
    box-shadow:
        inset 0px 2px 5px rgba(0, 0, 0, 0.3),
        inset 0px -2px 5px rgba(255, 255, 255, 0.5);
}

/*
-----------------
3 - Icon Fonts
-----------------
*/
/* --- Elementor Icon Dark Mode Fix --- */
.elementor-icon-list-icon svg {
    fill: var(--body-fcolor); /* Ensure icons adapt to Mode color */
}

/* Over-ride Foxiz Bookmark Icon */
.rbi-plus:before {
    content: '\e907' !important; /* Adds the outlined Bookmark Icon */
}
.rbi-bookmark-fill:before {
    content: '\e906' !important; /* Adds the filled Bookmark Icon */
    color: var(--flex-snarkive); /* Color it Snarkive when they follow */
}
/* Make Follow Look Relevant */
.b-follow .rb-follow i:after {
    font-family: var(--meta-b-family);
    font-size: 1.25em !important;
    font-weight: var(--meta-b-fweight);
    margin-left: 5px;
}

/*
-----------------
4 - Swiper Slider
-----------------
*/

/*
-----------------
5 - Header
-----------------
*/
/* --- Header logged in greeting --- */
.logged-welcome {
    font-size: 1rem;
    align-items: center;
}

/*
-----------------
6 - Post Entry
-----------------
*/

/* --- Featured Image Container Style --- */
.s-feat-holder {
    border-radius: var(--round-10); /* More Rounded Corners */
    box-shadow: var(--shadow-1); /* Use Uniform Shadow Variable */
}

/* --- Featured Image Gradient Overlay --- */
.single-standard-3 .single-header-inner:before {
    height: 628px; /* Made the Featured Image look complete */
    background: linear-gradient(to top, var(--dark-accent) 30%, transparent 100%);
}

/* --- Post Title Style --- */
.s-title {
    margin-bottom: 5px;
}

/* --- Captions Decoration Style --- */
figcaption:not(:empty):before,
.wp-caption-text:before {
    color: var(--g-color);
}

/* --- Cinesist Category Button Style --- */
.s-cats {
    margin: 0;
}
/*
-----------------
7 - Post Modules
-----------------
*/

/* --- Highlight Post Module Wrapper Style --- */
.s-hl.s-hl-1 {
    background-color: var(--news-letter-bg);
    border-radius: var(--round-10); /* More Rounded Corners */
    box-shadow: 5px 10px 20px 0px var(--shadow-7);
}
/* --- Highlight Post Module Style --- */
.s-hl-1 .s-hl-heading {
    opacity: 0.55;
    z-index: 1;
}
.s-hl-1 .hl-point:not(:last-child) {
    padding-bottom: var(--s-hl-gap);
    border-bottom: none;
}

/* --- Cinescore Quick Section Styles --- */
.sqview {
    border-top: 2px solid var(--g-color);
    border-radius: var(--round-10); /* More Rounded Corners */
    box-shadow: 5px 10px 20px 0px var(--shadow-7);
}

/* --- Cinescore Section Styles --- */
.review-section {
    background-color: var(--news-letter-bg);
    border-top: 2px solid var(--g-color);
    border-radius: var(--round-10); /* More Rounded Corners */
    box-shadow: 5px 10px 20px 0px var(--shadow-7);
}

/* --- Cinescore Meta Bar Style --- */
.rline-wrap {
    border: solid 1px #888888ab; /* A Nice little border to give 3d effect */
}

/* --- Cinescore Meta Score Style --- */
.review-quickview-meta .meta-score {
    font-size: max(28px, 2rem) !important;
    line-height: 1;
}
/* --- Cinescore Meta Rating Word Style --- */
.meta-text {
    font-size: 16px !important; /*  font-weight: 700;  Bold for Emphasis */
}

/* --- Remove Foxiz Text Related Post Links from Posts --- */
.widget.entry-widget .related-sec {
    width: 100%;
    max-width: 100%;
    padding: 0;
    border: none;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
    display: none;
}

/**
 * Cinescore Content Section 
**/

/* --- Cinescore Breakdown Label Info Line Style --- */
.review-label-info {
    border-left: 3px solid var(--review-color);
}

/*
-----------------
8 - Blocks
-----------------
*/
/* --- Layout Headings --- */
/* Layout 3 Title */
.heading-layout-3 .heading-inner,
.heading-layout-c3 .heading-inner {
    border-bottom: 2px solid var(--body-fcolor);
}
.heading-layout-3 .heading-title > * {
    display: inline-flex;
    padding-bottom: var(--heading-spacing, 10px);
    border-bottom: 5px solid var(--heading-sub-color);
    /* position: absolute; */
    bottom: -3px;
}
/* Layout 12 Title */
.heading-layout-12 .heading-inner {
    width: 100%;
    padding-bottom: var(--heading-spacing, 7px);
    border-bottom: 2px solid var(--heading-color);
}
.heading-layout-12 .heading-title > *:before {
    display: none;
}

/* --- Cinesist Spoiler Warning Block Styling --- */
.cinesist-spoiler-warning-block {
    clear: both; /* Ensures it breaks out of any floats */
    margin: 50px auto; /* Centered with vertical spacing */
    padding: 35px 30px;
    max-width: 900px; /* Consistent with CTA block */
    background: linear-gradient(145deg, var(--gc-spy), var(--flex-gray-1)); /* Subtle Color Changing Gradient */
    border-radius: 15px;
    border-left: 5px outset var(--gc-color); /* Cinefox Orange outset border on the left */
    box-shadow:
        10px 10px 30px rgba(0, 0, 0, 0.7),
        /* Stronger shadow for depth */ -5px -5px 15px rgba(50, 50, 50, 0.2); /* Subtle light source shadow */
    text-align: center;
    box-sizing: border-box;
}

.cinesist-spoiler-inner {
    display: flex;
    align-items: center; /* Vertically align icon and text */
    justify-content: center; /* Center content horizontally */
    gap: 20px; /* Space between icon and text */
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

.cinesist-spoiler-icon {
    font-size: 2em; /* Large siren emoji */
    line-height: 1;
    display: block; /* Ensure it behaves as a block for sizing */
    color: var(--cinesist-red); /* Make the siren red (or keep default emoji color) */
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5); /* Subtle 3D effect */
    flex-shrink: 0; /* Prevent it from shrinking */
    /* Add a subtle animation to make it "flash" or pulse a bit */
    animation: cinesist-siren-pulse 1.5s infinite alternate;
}

@keyframes cinesist-siren-pulse {
    from {
        transform: scale(1);
        opacity: 1;
    }
    to {
        transform: scale(1.05);
        opacity: 0.9;
    }
}

.cinesist-spoiler-text {
    font-family: var(--cinesist-body-font); /* Set Font */
    font-size: 1.4em;
    color: var(--body-fcolor); /* Color Changing text */
    font-weight: 600;
    line-height: 1.5;
    margin: 0; /* Remove default paragraph margin */
    max-width: 700px; /* Constrain text width */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); /* Subtle text shadow */
}

.cinesist-spoiler-text strong {
    color: var(--cinesist-red); /* Make "SPOILER ALERT!" bold and red */
}

/* --- Cinesist Heading Tagline Style - Makes the Heading Transparent and Large --- */
/* --- Applies to Heading Layout 11 Large Faded Headings --- */
.heading-layout-11 .heading-tagline,
.heading-layout-c11 .heading-tagline {
    font-size: 3rem;
    line-height: 1;
    position: absolute;
    top: auto;
    bottom: -20px; /* Adjust position as needed */
    left: 0;
    margin: 0;
    pointer-events: none;
    opacity: 30%;
}

/* --- Cinesist Ultimate Review Box Style --- */
.ultimate-review-wrapper {
    background: var(--flex-bg-color-2); /* white Spy background */
    color: var(--body-fcolor); /* White Spy */
    border-top: 3px solid var(--flex-snarkive);
    border-left: 1px solid #333;
    border-right: 1px solid #333;
    border-radius: 8px;
    overflow: hidden;
    font-family: 'Work Sans', sans-serif;
}

.top-row {
    display: flex;
    gap: 20px;
    padding: 20px;
}
/* Ensure the Hexagon Score stays on top of poster */
.col-poster {
    position: relative;
    overflow: hidden;
    flex: 0 0 220px; /* Fixed poster width */
}

.col-poster img {
    border-radius: 4px;
    width: 100%;
    height: auto;
    display: block;
}

.col-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.snarkive-btn {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 15px;
    background: #111;
    border: 1px solid #d102d1; /* Snarkive Purple [cite: 16] */
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    transition: background 0.2s;
}

.snarkive-btn:hover {
    background: #d102d1;
}

/* D20 Score Overlay */
.d20-score-overlay {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 60px;
    height: 60px;
    background: var(--flex-snarkive);
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 24px;
    color: #fff;
}

/* 5-Bar Score Visualizer */
.bar-container {
    display: flex;
    gap: 4px;
    height: 10px;
    width: 100px;
}
.bar {
    flex: 1;
    background: #333;
    border-radius: 2px;
}
.bar.filled {
    background: #d102d1;
} /* Snarkive Purple fills */

/* The Orange-to-Purple CTA */
.cta-gradient-btn {
    display: block;
    padding: 15px;
    text-align: center;
    background: linear-gradient(90deg, #dd7b45 0%, #d102d1 100%);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 20px;
}
/* Economic Warfare Bar Styling [cite: 157] */
.economic-warfare-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--flex-gray-40);
    border: 1px solid #333;
    border-radius: 4px;
    padding: 10px 15px;
    margin: 10px 0;
}

.metric-item {
    display: flex;
    flex-direction: column;
    text-align: center;
}

.metric-label {
    font-size: 12px;
    text-transform: uppercase;
    color: var(--flex-snarkive);
    margin-bottom: 2px;
}

.metric-value {
    font-weight: 700;
    color: var(--body-fcolor); /* Body text color to Change on Modes */
}

.metric-divider {
    font-weight: 900;
    color: var(--flex-snarkive-rev); /* Cinefox Orange to Snarkive Purple */
    font-style: italic;
}

/* Success/Fail Field Styling [cite: 158] */
.verdict-status-field {
    text-align: center;
    margin-top: 5px;
}

.status-indicator {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.status-indicator.cash-cow {
    background: #27ae60;
    color: #fff;
} /* Win [cite: 159] */
.status-indicator.flop {
    background: #c0392b;
    color: #fff;
} /* Burn Notice [cite: 166] */

/* Snarkive CTA Get Intel Section */
.snarkive-action {
    display: flex;
    padding-bottom: 25px;
}
.snarkive-intel-btn {
    font-size: var(--btn-fsize);
    display: inline-flex;
    align-items: center;
}

/* Middle Section: Breakdown Styles */
.middle-row {
    padding: 20px;
    background: var(--flex-bg-color-2); /* Cinefox White Spy to Black Spy */
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
}

.breakdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.breakdown-header h3 {
    margin: 0;
    font-size: 20px;
    color: #e5e5e5; /* Cinefox White Spy */
}

.meta-word {
    padding: 4px 12px;
    border-radius: 4px;
    color: var(--awhite);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 16px;
    background: var(--flex-snarkive-rev);
}

.age-rating {
    border: 2px solid var(--flex-snarkive);
    padding: 2px 5px 2px 5px;
}
.age-rating a {
    text-decoration: none;
}
.age-rating a:hover {
    color: var(--flex-snarkive-rev);
}

/* Score-based Color Logic [cite: 168] */
.meta-word.legendary {
    background: #d102d1;
    color: #fff;
} /* Purple */
.meta-word.solid {
    background: #27ae60;
    color: #fff;
}
.meta-word.burn-it {
    background: #c0392b;
    color: #fff;
}

.breakdown-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.metric-line {
    margin-bottom: 15px;
}

.metric-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: 600;
    align-items: center;
}

.metric-title {
    color: var(--body-fcolor);
    border-radius: 6px;
    border-left: 3px solid var(--review-color);
    padding: 10px;
}
.metric-number {
    color: #dd7b45;
} /* Cinefox Orange [cite: 12] */

/* The 5-Bar System */
.bar-visualizer {
    display: flex;
    gap: 5px;
    height: 8px;
}

.score-bar {
    flex: 1;
    background: #333;
    border-radius: 2px;
    transition: background 0.3s ease;
}

.score-bar.filled {
    background: #d102d1; /* Snarkive Purple */
    box-shadow: 0 0 8px rgba(209, 2, 209, 0.4);
}

/* --- Cinescore Dynamic Bar Colors --- */
.score-bar {
    flex: 1;
    height: 10px;
    border-radius: 2px;
    background-color: #333; /* Default Empty Bar */
    transition: all 0.3s ease;
}

/* Logic: Classes applied based on the bar index and total score */
.score-bar.fill-red {
    background-color: #ff0d0d;
    box-shadow: 0 0 5px rgba(255, 13, 13, 0.3);
}
.score-bar.fill-orange {
    background-color: #ff5612;
}
.score-bar.fill-yellow {
    background-color: #f1ca2b;
}
.score-bar.fill-light-green {
    background-color: #b2cc21;
}
.score-bar.fill-purple {
    background-color: #d102d1;
    box-shadow: 0 0 8px rgba(209, 2, 209, 0.5);
}

/* Container spacing */
.bar-visualizer {
    display: flex;
    gap: 4px;
    width: 100%;
    max-width: 150px;
    margin-top: 5px;
}

/* --- Middle Row: Intel & Bullets --- */
.col-intel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.intel-block h4 {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.intel-block.gold h4 {
    color: #27ae60;
}
.intel-block.bad h4 {
    color: #c0392b;
}

.hex-bullet {
    width: 12px;
    height: 12px;
    background: currentColor;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.intel-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.intel-block li {
    font-size: 13px;
    margin-bottom: 8px;
    padding-left: 15px;
    position: relative;
    color: var(--body-fcolor);
    line-height: 1.4;
}

.intel-block li::before {
    content: '>';
    position: absolute;
    left: 0;
    color: #dd7b45;
    font-weight: 900;
}
.intel-block.gold li {
    font-size: 13px;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
    color: var(--body-fcolor);
    line-height: 1.4;
}
.intel-block.gold li::before {
    content: '🪙';
    position: absolute;
    left: 0;
    color: #dd7b45;
    font-weight: 900;
    font-size: 15px;
}
.intel-block.bad li {
    font-size: 13px;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
    color: var(--body-fcolor);
    line-height: 1.4;
}
.intel-block.bad li::before {
    content: '🗡️';
    position: absolute;
    left: 0;
    color: #dd7b45;
    font-weight: 900;
    font-size: 15px;
}
/* --- Cinescore Dynamic Bar Colors --- */
/* --- Cinebar Color Progression --- */
.score-bar.filled.fill-red {
    background: #ff0d0d;
}
.score-bar.filled.fill-orange {
    background: #ff5612;
}
.score-bar.filled.fill-yellow {
    background: #f1ca2b;
}
.score-bar.filled.fill-light-green {
    background: #b2cc21;
}
.score-bar.filled.fill-purple {
    background: #d102d1;
}

/* The "Glow" logic: only the highest filled bar glows */
.score-bar.filled.glowing.fill-red {
    box-shadow: 0 0 15px 2px #ff0d0d;
}
.score-bar.filled.glowing.fill-orange {
    box-shadow: 0 0 15px 2px #ff5612;
}
.score-bar.filled.glowing.fill-yellow {
    box-shadow: 0 0 15px 2px #f1ca2b;
}
.score-bar.filled.glowing.fill-light-green {
    box-shadow: 0 0 15px 2px #b2cc21;
}
.score-bar.filled.glowing.fill-purple {
    box-shadow: 0 0 15px 2px #d102d1;
}

/* Intel Bullet Styling */
.hex-bullet {
    width: 12px;
    height: 12px;
    background: currentColor;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.intel-block.gold h4 {
    color: #27ae60;
} /* Green Spy */
.intel-block.bad h4 {
    color: #c0392b;
} /* Burn Notice */

/* --- Featured Crew Style --- */
.featured-crew-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.crew-card {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 6px;
    border-left: 3px solid #dd7b45;
    padding: 10px;
    background: var(--flex-gray-15);
}

.crew-card img {
    border-radius: 4px;
    width: 40px;
    height: 40px;
    object-fit: cover;
    border: 1px solid #333;
}

.crew-info {
    display: flex;
    flex-direction: column;
}

.crew-label {
    font-size: 9px;
    color: #dd7b45;
    text-transform: uppercase;
    font-weight: 800;
    text-decoration: none;
}

.crew-name {
    font-size: 13px;
    color: var(--body-fcolor) !important;
    font-weight: 700;
    text-decoration: none !important;
}
.crew-name a {
    color: var(--body-fcolor) !important;
    text-decoration: none !important;
}
.crew-name a:hover {
    color: #dd7b45 !important;
}

/* --- Badge & Genre Polish --- */
.badge-row {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.cinesist-links a {
    color: #dd7b45;
    text-decoration: none;
    font-weight: 700;
}

.cinesist-links a:hover {
    text-decoration: underline;
}

.item-title {
    margin: 0 0 15px 0;
    font-size: 2rem;
    letter-spacing: -1.5px;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 900;
}

/* --- Interactive Toggle Logic --- */
.breakdown-state-check {
    display: none; /* Hide the actual checkbox */
}

.breakdown-content {
    max-height: 2000px; /* Large enough for content */
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
    border-top: 1px solid #333;
}

/* Logic: When checkbox is NOT checked, collapse the content */
.breakdown-state-check:not(:checked) ~ .breakdown-content {
    max-height: 0;
}

.cinesist-review-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background: var(--flex-gray-15);
    border-top: 1px solid #333;
}
.cinesist-review-footer .cta-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
}

.cta-price {
    font-family: monospace;
    font-weight: 800;
    color: #27ae60;
    font-size: 14px;
}

.toggle-btn-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--flex-snarkive);
    cursor: pointer;
    user-select: none;
}

/* Toggle Text Logic */
.breakdown-state-check:checked ~ .cinesist-review-footer .text-closed {
    display: none;
}
.breakdown-state-check:not(:checked) ~ .cinesist-review-footer .text-open {
    display: none;
}

.snarkive-intel-btn {
    font-weight: 900;
    text-decoration: none;
    font-size: 12px;
    text-transform: uppercase;
}

.snarkive-intel-btn:hover {
    text-decoration: underline;
}

/* --- Footer Truth Row --- */
.footer-left {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.math-declassified {
    font-family: monospace;
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
}

.final-calc {
    color: var(--flex-snarkive-rev);
    font-weight: 900;
}

/* --- Layout Refinements --- */
.metrics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two columns of metrics */
    gap: 20px 40px;
    padding: 30px;
}

.intel-row {
    background: rgba(0, 0, 0, 0.1);
    border-top: 1px dashed #333;
}
/* --- Verdict Section Polish --- */
.verdict-row {
    padding: 25px 30px;
    background: rgba(255, 255, 255, 0.02);
    border-top: 1px solid #333;
}

.verdict-row h3 {
    margin: 0 0 10px 0;
    font-size: 22px;
    color: var(--body-fcolor);
    text-transform: uppercase;
    letter-spacing: -0.5px;
}

.verdict-row p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--body-fcolor);
    margin: 0;
}
/* --- Footer Score Polish --- */
.footer-score-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

.total-visualizer {
    max-width: 165px !important;
    height: 10px !important;
}

.footer-meta-label {
    display: flex;
    align-items: center;
    gap: 10px;
}

.final-score-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--body-fcolor);
}
/* --- Transformed CTA Button --- */
.cta-wrapper .cta-gradient-btn {
    position: relative;
    padding: 12px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.2;
}

.cta-price-tag {
    display: block;
    font-size: 11px;
    font-family: monospace;
    color: #00ff00; /* Arcade Green Price */
    margin-top: 4px;
    opacity: 0.9;
}

/*
-----------------
9 - Single
-----------------
*/

/* --- Blog Pages Body Styles --- */
/* --- Adjust Blog Pages Content Width --- */
@media (min-width: 992px) {
    .grid-container > *:nth-child(1) {
        flex: 0 0 70%;
        width: 66.67%;
    }
}
/* --- Adjust Blog Font Size --- */
.eplus-wrapper {
    font-size: 18px;
}
/*
-----------------
10 - Archives
-----------------
*/
/* Archive Grid */
.archive-header-content {
    flex-grow: 1;
    border-bottom: 3px solid; /* Gives us the nice separation */
    max-width: 1250px; /* Makes the header lineup with the page */
    padding: 0px 0px 0px 0px; /* Removes all the padding */
}
.archive-title {
    text-align: left !important; /* Fixes Foxiz Stuck on Center Rule */
    padding: 0px !important; /* Takes the spacing away from the left side */
    margin-bottom: 1rem !important; /* Adds a small space between the Archive Title and Description */
    font-size: var(--font-h1) !important;
}
/* --- Heading Titles --- */
.archive-title.b-follow {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    gap: 20px;
    /* border-bottom: 3px solid var(--body-fcolor); /* Adds a border underneath the Heading, that changes colors */
}
/* Find this rule in your Foxiz CSS and add the two lines below: */
.b-follow .rb-follow {
    width: auto;
    min-width: 25px;
    padding-right: 0px;
    padding-left: 0px;
    border-radius: var(--round-7);
    display: inline-flex;
    align-items: center; /* THIS IS THE KEY FLEXBOX PROPERTY */
    justify-content: center; /* ADD THIS to center content horizontally as well */
}

/* Now, ensure the icon and the text added via ::after are aligned */
.b-follow .rb-follow i {
    -webkit-transform: none !important;
    transform: none !important;
    /* ADD THIS to ensure the icon is centered relative to the text baseline */
    vertical-align: middle;
    font-size: 1em !important;
}
.b-follow .rb-follow i:before {
    font-size: 2em;
}
.b-follow .rb-follow i:after {
    font-family: var(--meta-b-family);
    font-size: 1.25em;
    font-weight: var(--meta-b-fweight);
    margin-left: 5px;
    position: absolute;
}
/* --- Target the main wrapper to ensure it has space to work with --- */
.category-hero-wrap {
    /* Set an appropriate height/max-height for the hero section */
    /* Example: adjust the max-height as needed */
    max-height: 400px;
}

/* --- Ensure the item container takes up the full space and is a Flex container --- */
.category-hero-item-inner {
    width: 100%;
    height: 100%;
    /* Ensures items inside are centered (optional, but often helpful for 'contain') */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* --- The KEY Change: Use 'object-fit: contain' --- */
.category-hero-item-inner img {
    /* Set dimensions to ensure the image can use the whole container space */
    width: 100%;
    height: 100%;
    /* This scales the image down to fit its container without cropping. */
    /* It preserves the image's aspect ratio, so you'll see the whole image. */
    object-fit: contain;

    /* Remove any fixed margins or padding that might be squishing the image */
    margin: 0;
    padding: 0;
}
/*
-----------------
11 - Pages
-----------------
*/
.page-header-1 .page-header-inner {
    display: none; /* Hides Default Foxiz Page Header */
}

/*
-----------------
12 - Footer
-----------------
*/
/* --- Style Footer Top Section --- */
.rb-section.fw-widget.top-footer.edge-padding {
    margin-top: 20px;
    padding-top: 10px;
    background-color: var(--flex-gray-1);
    border-top-width: 2px;
    border-top-style: groove;
}
/*
-----------------
13 - Responsive
-----------------
*/

/*
-----------------
14 - Print
-----------------
*/
/* --- Remove Foxiz Mark Spacing in Copy --- */
mark {
    margin: 0; /* Removes extra space  */
    padding: 0; /* Removes extra space  */
}

/*
-----------------
15 - Forms
-----------------
*/
/* --- Style All Input Forms --- */
input[type='text'],
input[type='tel'],
input[type='password'],
input[type='email'],
input[type='url'],
input[type='search'],
input[type='number'] {
    border: 1px solid #d45f3559;
}

/* --- Post News-Letter Form Style --- */
#mailpoet_form_1 {
    border: 2px solid var(--g-color);
    border-radius: var(--round-10); /* More Rounded Corners */
    background: var(--news-letter-bg); /* Use variable for background color change */
    text-align: left;
}

/* --- Footer Newsletter Form Style --- */
#mailpoet_form_2 {
    border: 2px solid var(--g-color);
    border-radius: var(--round-10); /* More Rounded Corners */
    background: var(--news-letter-bg); /* Use variable for background color change */
    text-align: left;
}

/* --- Style User Review Comment Section --- */
.comment-box-wrap.entry-sec.rb-user-reviews {
    background-color: var(--news-letter-bg);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    --border-top-width: 1px;
    --border-right-width: 1px;
    --border-bottom-width: 1px;
    --border-left-width: 1px;
    border-color: var(--e-global-color-fb66372);
    --border-color: var(--e-global-color-fb66372);
    border-radius: var(--round-10); /* More Rounded Corners */
    box-shadow: 5px 10px 20px 0px rgba(0, 0, 0, 0.5);
    --margin-top: 20px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    padding: 20px;
}

/* --- Search Form Style --- */
.is-form-layout .search-icon,
.is-form-layout .rbi-cright {
    opacity: 0.8; /* Override Foxiz Default */
}

/*
-----------------
16 - UI/UX
-----------------
*/
/* --- Custom Selection Style --- */
.rbct *::selection {
    background: var(--flex-snarkive);
    color: var(--awhite);
}

/* --- Noto Emoji Font Application --- */
/* --- Ensures Noto Emoji renders on key UI elements like navigation, tags, and category names --- */
.category-item a,
.tag-list li a,
.post-title a,
.nav-menu li a,
.emoji {
    font-family: inherit, var(--font-emoji);
}

/* --- Admin Interface Changes --- */
.rwtm-images li {
    position: relative;
    float: left;
    width: 150px;
    height: 100%;
    margin: 0 10px 10px 0;
    text-align: center;
    border: 3px solid #9ed1bc;
}

/* --- Cinesist Review Cinescore Bars Style --- */

.rline-wrap {
    position: relative;
    display: inline-flex;
    overflow: hidden;
    flex-flow: row nowrap;
    margin-right: 10px;
    gap: 1px;
}

.rline {
    display: inline-flex;
    width: calc(var(--rating-size, 14px) * 1.5);
    max-width: 20%;
    height: min(calc(var(--rating-size, 14px) * 0.5), 10px);
    background-color: var(--flex-gray-15);
}

/* Cinescore Burn-it🔥 Red Rating Bar */
.rline:nth-child(1) {
    background-color: #ff0d0d;
}
/* Cinescore Compromised⚠️ Orange Rating Bar */
.rline:nth-child(2) {
    background-color: #ff5612;
}
/* Cinescore Redacted❓ Yellow Rating Bar */
.rline:nth-child(3) {
    background-color: #f1ca2b;
}
/* Cinescore Solid👍 Light Green Rating Bar */
.rline:nth-child(4) {
    background-color: #b2cc21;
}
/* Cinescore Legendary🏆 Green Rating Bar */
.rline:nth-child(5) {
    background-color: #50a735;
}
.rline:not(.activated) {
    background-color: var(--flex-gray-15);
}

/* --- Movie Ticket Breadcrumb Navigation Style --- */
/* 1. Reset the main nav container */
nav.rank-math-breadcrumb {
    background: none;
    padding: 0;
    border-radius: 0;
    margin-top: 20px;
    margin-bottom: 25px;
    overflow: visible; /* Allows cutouts to "pop" */
}

/* 2. Use Flexbox for the inner wrapper */
nav.rank-math-breadcrumb .breadcrumb-inner {
    margin: 0;
    padding: 0;
    display: flex; /* Aligns all stubs in a row */
    align-items: center;
}

/* 3. Hide the original Rank Math separator */
nav.rank-math-breadcrumb .separator {
    display: none;
}

/* 4. Style ALL stubs (links and the last item) */
nav.rank-math-breadcrumb a,
nav.rank-math-breadcrumb .last {
    display: block;
    position: relative; /* Crucial for positioning the cutouts */
    background: var(--ticket-bg-color);
    padding: 10px 20px; /* More padding for the cutout space */
    color: var(--ticket-text-color);
    font-size: 14px;
    line-height: 1.2;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* 5. Add the "torn" cutouts to BOTH sides of every stub */
nav.rank-math-breadcrumb a::before,
nav.rank-math-breadcrumb a::after,
nav.rank-math-breadcrumb .last::before,
nav.rank-math-breadcrumb .last::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px; /* Size of the cutout */
    height: 20px; /* Size of the cutout */
    border-radius: 50%;
    background-color: var(--page-bg-color); /* This "punches" the hole */
}

/* --- Position the left cutout --- */
nav.rank-math-breadcrumb a::before,
nav.rank-math-breadcrumb .last::before {
    left: -10px; /* Moves it halfway out */
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1); /* Optional: adds a subtle shadow */
}

/* --- Position the right cutout --- */
nav.rank-math-breadcrumb a::after,
nav.rank-math-breadcrumb .last::after {
    right: -10px; /* Moves it halfway out */
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1); /* Optional: adds a subtle shadow */
}

/* 6. Fix the ends of the ticket chain */

/* --- The FIRST item ("Home") --- */
nav.rank-math-breadcrumb a:first-child {
    border-radius: 8px 0 0 8px; /* Rounds the outer-left corners */
}
/* --- Hide its left-side cutout --- */
nav.rank-math-breadcrumb a:first-child::before {
    display: none;
}

/* --- The LAST item (Current Page) --- */
nav.rank-math-breadcrumb .last {
    border-radius: 0 8px 8px 0; /* Rounds the outer-right corners */
    color: var(--ticket-text-current);
    font-weight: 500;
}
/* --- Hide its right-side cutout --- */
nav.rank-math-breadcrumb .last::after {
    display: none;
}

/* 7. Styling the links */
nav.rank-math-breadcrumb a:hover {
    color: var(--ticket-text-hover);
    background: var(--flex-gray-1); /* A slight background change on hover */
    z-index: 2; /* Brings it "on top" of the next stub */
}

/* --- Review Stars Style --- */
.rb-review-stars {
    color: var(--g-color);
}
/* --- Review Star Filled In Style --- */
rbi rbi-star-o {
    color: var(--g-color);
}
/* --- Like/Dislike Button Styles --- */
.meta-like > span:hover {
    -webkit-transform: var(--flex-snarkive);
    transform: var(--flex-snarkive);
    color: var(--btn-accent-h, var(--awhite));
    border-color: var(--flex-snarkive, var(--flex-snarkive));
    background-color: var(--flex-snarkive, var(--flex-snarkive));
    box-shadow: var(--btn-shadow, 0 3px 12px var(--flex-snarkive-90, var(--flex-snarkive-90)));
}

/*
-----------------
17 - Snarkive
-----------------

/* --- Snarkive Movie Rating Badge Style --- */

/* Base style for Desktop/Large Screens */
.elementor-1000042565 .elementor-element.elementor-element-7e9c79b .dynamic-content-for-elementor-acf {
    color: #ffffff;
    margin-bottom: 0px;
    font-size: 1.75rem; /* Large screen size */
    font-weight: 800;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}
/* RESPONSIVE FONT SHRINK: Triggers when screen width is 768px or smaller */
@media only screen and (max-width: 768px) {
    .elementor-1000042565 .elementor-element.elementor-element-7e9c79b .dynamic-content-for-elementor-acf {
        font-size: 1rem; /* Smaller screen size */
    }
}
/* --- Snarkive Person Grid Style --- */

.cinesist-person-grid {
    display: grid;
    /* Adjust columns for responsive */
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 20px;
}

.cinesist-person-card {
    display: flex;
    flex-direction: column;
}

.cinesist-person-card .cinesist-person-image-link img {
    width: 100%;
    height: auto;
    border-radius: 8px; /* Or 0px for square */
    aspect-ratio: 2 / 3; /* Classic poster ratio */
    object-fit: cover;
    margin-bottom: 10px;
    transition: transform 0.2s ease;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5); /* A Little Shadow for Effect */
}

.cinesist-person-card .cinesist-person-image-link:hover img {
    transform: scale(1.03);
}

.cinesist-person-info {
    display: flex;
    flex-direction: column;
}

.cinesist-person-info .cinesist-person-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--cinesist-text-primary); /* Uses your light/dark mode color! */
    text-decoration: none;
}

.cinesist-person-info .cinesist-person-name:hover {
    text-decoration: underline;
    text-decoration-color: #d45f35;
}

.cinesist-person-info .cinesist-person-role {
    font-size: 0.9rem;
    font-style: italic;
    color: var(--cinesist-text-secondary);
    transition: color 0.3s ease; /* Optional: smooth color change */
}

/* Add this new rule: */
.cinesist-person-info .cinesist-person-role:hover {
    color: #d45f35; /* The new color on hover */
}

/* Hides the extra cast/crew cards by default */
.cinesist-person-hidden {
    display: none;
}

/* NEW - This wrapper pushes the button to the right */
.cinesist-grid-toggle-wrapper {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-top: 15px;
}

/* UPDATED - Styles the "Show All" link to be smaller */
.cinesist-grid-toggle {
    display: inline-block; /* Changed from block */
    text-align: center;
    padding: 8px 16px; /* Made padding smaller */
    background-color: var(--flex-snarkive);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 4px;
    transition: background-color 0.2s ease;
    font-size: 14px; /* Added to control size */
}

.cinesist-grid-toggle:hover {
    background-color: var(--flex-snarkive-rev);
    color: #fff;
}

/* When the grid is toggled, show the hidden items */
.cinesist-person-grid-wrapper.is-open .cinesist-person-hidden {
    display: block;
}

.cinesist-person-grid-wrapper.is-collapsible .cinesist-person-grid {
    /* * This is the magic. Adjust this height! 
   * It should be the height of ONE card + its bottom margin.
   * e.g., If your card is 220px tall with 20px margin, set this to 240px.
   */
    max-height: 290px;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}

/* This is the 'open' state */
.cinesist-person-grid-wrapper.is-expanded .cinesist-person-grid {
    /* Set to a number larger than the grid could ever be */
    max-height: 3000px;
    transition: max-height 0.6s ease-in;
}

/* Optional: Smooths the button wrapper's appearance */
.cinesist-grid-toggle-wrapper {
    transition: opacity 0.4s ease;
}

/* Hides the button when the grid is open (optional but clean) */
.cinesist-person-grid-wrapper.is-expanded .cinesist-grid-toggle-wrapper {
    /* You can hide it, or just let the JS text-swap work */
    opacity: 1;
}

/* --- Cast/Crew Differentiation Styles --- */

/* 1. Purple Border for CAST */
.cinesist-person-grid-wrapper.is-cast .cinesist-person-card .cinesist-person-image-link img {
    /* Example: Purple/Primary Color */
    border: 3px solid #7d3c98; /* Purple for Cast */
    box-shadow: 0 0 10px rgba(125, 60, 152, 0.5);
}

/* 2. Orange Border for CREW */
.cinesist-person-grid-wrapper.is-crew .cinesist-person-card .cinesist-person-image-link img {
    /* Example: Orange/Secondary Color */
    border: 3px solid #f27405; /* Orange for Crew */
    box-shadow: 0 0 10px rgba(242, 116, 5, 0.5);
}

/* Optional: Different name color for crew to separate the text visually 
.cinesist-person-grid-wrapper.is-crew
  .cinesist-person-info
  .cinesist-person-name {
  color: #ffb347; /* Lighter Orange or Gold tone 
}

/* --- Snarkive Page Wrapper Style --- */
.snarkive-page-wrapper {
    /* This applies your 1536px max-width */
    max-width: var(--layout-max-width-full);

    /* This applies your 80px fluid padding */
    padding-left: var(--layout-padding-global);
    padding-right: var(--layout-padding-global);

    /* This centers it on the page */
    margin-left: auto;
    margin-right: auto;

    /* This is your 32-35px vertical gap */
    margin-bottom: var(--layout-block-gap);
}

/* --- Snarkive Linked Profiles Box Style --- */
.snarkive-links-box {
    background-color: var(--gc-spy);
    border-radius: 12px;
    padding: 20px 25px;
    margin-top: 30px;
    border: 1px solid #333;
}

.snarkive-links-box h3 {
    color: var(--gc-color); /* Cinesist Primary Orange Color */
    font-size: 18px;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
}

.snarkive-links-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Spacing between tags */
}

/* --- Snarkive Pill Tag Style --- */
.snarkive-tag-link {
    display: inline-flex;
    align-items: center;
    background-color: var(--page-bg-color);
    color: #dddddd;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    overflow: hidden;
    box-shadow: var(--shadow-1);
    padding: 3px 7px 3px 7px; /* Padding around the tag */
}

.snarkive-tag-link:hover {
    opacity: 0.75;
}

/* --- Snarkive Pill Tag Image Style --- */
.snarkive-tag-link img {
    width: 28px; /* Size of the thumbnail */
    height: 28px; /* Size of the thumbnail */
    object-fit: cover;
    margin-right: 10px; /* Space between image and text */
}

/* --- Snarkive Pill Tag Fallback Icon Style --- */
.snarkive-tag-link .snarkive-tag-icon {
    width: 28px;
    height: 28px;
    margin-right: 10px;
    background-color: #555; /* Fallback dot color */
    border-right: 1px solid #444;
}

/* --- Snarkive Pill Tag Text Style --- */
.snarkive-tag-link span {
    padding-right: 12px; /* Add padding to the text */
    /* The color is inherited from the <a> tag */
}
/* --- Snarkive Person Name Shortcode [person_name] --- */
.snarkive-person-name,
.snarkive-movie-title {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--flex-snarkive);
}

/*
-----------------
18 - Buddypress
-----------------
*/
/* --- Buddy Press Text Fields Style --- */
.buddypress-wrap .standard-form .groups-members-search input[type='search'],
.buddypress-wrap .standard-form .groups-members-search input[type='text'],
.buddypress-wrap .standard-form [data-bp-search] input[type='search'],
.buddypress-wrap .standard-form [data-bp-search] input[type='text'],
.buddypress-wrap .standard-form input[type='color'],
.buddypress-wrap .standard-form input[type='date'],
.buddypress-wrap .standard-form input[type='datetime-local'],
.buddypress-wrap .standard-form input[type='datetime'],
.buddypress-wrap .standard-form input[type='email'],
.buddypress-wrap .standard-form input[type='month'],
.buddypress-wrap .standard-form input[type='number'],
.buddypress-wrap .standard-form input[type='password'],
.buddypress-wrap .standard-form input[type='range'],
.buddypress-wrap .standard-form input[type='search'],
.buddypress-wrap .standard-form input[type='tel'],
.buddypress-wrap .standard-form input[type='text'],
.buddypress-wrap .standard-form input[type='time'],
.buddypress-wrap .standard-form input[type='url'],
.buddypress-wrap .standard-form input[type='week'],
.buddypress-wrap .standard-form select,
.buddypress-wrap .standard-form textarea {
    background: var(--flex-gray-15);
    border: 1px solid #d6d6d6;
    border-radius: 0;
    font: inherit;
    font-size: 100%;
    padding: 0.7em;
}
/* --- Buddy Press Tooltip Style --- */
[data-bp-tooltip]:after {
    background-color: var(--gc-color);
}
/* --- Buddy Press Profile Avatar Style --- */
#item-header-cover-image #item-header-avatar img.avatar {
    max-width: 175px;
    height: auto;
    border-radius: 50%; /* Make it circle */
}
#item-header-avatar img {
    border: solid 2px var(--flex-gray-1); /* Flex them colors to change with White and Black Spy Modes */
    background: var(--contrast-1); /* Flex them colors to change with White and Black Spy Modes */
    box-shadow: none;
    display: block;
    margin: 0 auto;
}
.users-header #item-header-avatar:hover .link-change-overlay {
    position: absolute;
    left: 15px;
    right: 0px;
    top: 0px;
    height: 175px;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    max-width: 175px;
}
/* --- Buddy Press NiceNames Style --- */
#buddypress div#item-header-cover-image h2 {
    color: #dd7b45;
    text-rendering: optimizelegibility;
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.05);
    margin: 0 0 0.6em;
    font-size: 200%;
    font-style: normal;
    text-transform: capitalize;
}
/* --- Buddy Press Navigation Menu Style --- */
.buddypress-wrap .bp-navs li:not(.current) a:hover,
.buddypress-wrap .bp-navs li:not(.selected) a:hover {
    background: var(--flex-overlay-1);
    color: var(--body-fcolor);
}
@media screen and (min-width: 46.8em) {
    .buddypress-wrap.bp-dir-hori-nav:not(.bp-vertical-navs) nav {
        border-bottom: 1px solid var(--flex-gray-1);
        border-top: 1px solid var(--flex-gray-1);
        margin-bottom: 20px;
        -webkit-box-shadow: var(--shadow-1);
        -moz-box-shadow: var(--shadow-1);
        box-shadow: var(--shadow-1);
        background-color: var(--flex-gray-2);
    }
}
@media screen and (min-width: 46.8em) {
    .buddypress-wrap .main-navs:not(.dir-navs) li.current a,
    .buddypress-wrap .main-navs:not(.dir-navs) li.selected a {
        background: var(--flex-overlay-1);
        color: var(--body-fcolor);
        font-weight: 600;
    }
}
/* --- Buddy Press Status Update Form Style --- */
#whats-new-form,
.bp-nouveau-activity-form-placeholder- {
    background-color: var(--contrast-1);
}
.bb-poll-form .bb-model-footer {
    background-color: var(--flex-gray-2);
}
.bb-action-popup .bb-action-popup-content {
    margin: 0 -30px;
    max-height: calc(100vh - 220px);
    overflow: auto;
    padding: 20px 30px;
    background-color: var(--gc-spy);
}
.buddypress .buddypress-wrap button {
    background: var(--gc-color);
    color: var(--alight);
}
.buddypress .buddypress-wrap button:hover {
    background: var(--gc-color);
    color: var(--alight);
}
.buddypress .buddypress-wrap a.button {
    background: var(--gc-color);
}
.buddypress .buddypress-wrap a.button:hover {
    background: var(--gc-color);
    color: var(--alight);
}
/* --- Whats New Update Status --- */
#whats-new-textarea [contenteditable='true']:empty:before,
#whats-new-textarea-placeholder [contenteditable='true']:empty:before {
    content: attr(placeholder);
    color: var(--body-fcolor);
    cursor: text;
    display: block;
}
.activity-update-form .whats-new-title,
.bp-nouveau-activity-form-placeholder- .whats-new-title {
    color: var(--body-fcolor);
}
.activity-update-form .bb-model-header,
.bp-nouveau-activity-form-placeholder- .bb-model-header {
    display: none;
    background-color: var(--flex-gray-2) !important;
}
.activity-update-form #whats-new-form #whats-new-toolbar,
.activity-update-form #whats-new-form-placeholder #whats-new-toolbar,
.bp-nouveau-activity-form-placeholder- #whats-new-form #whats-new-toolbar,
.bp-nouveau-activity-form-placeholder- #whats-new-form-placeholder #whats-new-toolbar {
    padding: 12px 16px;
    background-color: var(--flex-gray-2);
    border-top: 1px solid #eee;
}
#whats-new-toolbar [class*=' bb-icon-'] {
    color: var(--flex-icon-1); /* make them icons change with the spies */
}
.activity-update-form .whats-new-form-footer,
.bp-nouveau-activity-form-placeholder- .whats-new-form-footer {
    display: flex;
    justify-content: space-between;
    background-color: var(--flex-gray-2);
    border-top: 1px solid #eee;
}
/* --- Buddy Press Activity Feed Style --- */
.activity-list.bp-list {
    background: var(--flex-gray-2);
    border: 1px solid var(--flex-decor-border);
}
/* --- BP Activity Feed H2 Title --- */
.activity-list .activity-item .activity-title h2 {
    color: var(--body-fcolor);
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px 0;
}
/* --- Buddy Press Activity Status Screen Overlay --- */
.activity-update-form.modal-popup,
.bp-nouveau-activity-form-placeholder-.modal-popup {
    background-color: var(--flex-overlay-1);
}
.activity-list.bp-list .activity-item {
    background: var(--gc-spy);
    border: 1px solid #b7b7b7;
    -webkit-box-shadow: 0 0 6px #d2d2d2;
    -moz-box-shadow: 0 0 6px #d2d2d2;
    box-shadow: 0 0 6px #d2d2d2;
    margin: 20px 0;
}
.activity-list .activity-item .activity-content > .bp-generic-meta.activity-meta,
.activity-list .activity-item .activity-content > .bp-generic-meta.groups-meta,
.activity-list .activity-item.elementor-activity-item .activity-actions > .bp-generic-meta.action,
.activity-list .activity-item > .bp-generic-meta.activity-meta,
.activity-list .activity-item > .bp-generic-meta.groups-meta,
.activity-list .activity-item > .bp-generic-meta[class*='-meta'] {
    display: flex;
    justify-content: space-around;
    border-top: 1px solid #eaeaea;
    padding: 5px 0;
    position: relative;
    background-color: var(--flex-gray-2);
}
.buddypress .buddypress-wrap .generic-button a,
.buddypress .buddypress-wrap a.button {
    color: var(--flex-icon-1);
}
#buddypress .activity-list .activity-item .activity-content .bp-generic-meta.action .button > .like-count {
    color: var(--flex-icon-1) !important;
}
.activity-list .activity-item .activity-content > .bp-generic-meta.activity-meta .acomment-reply.button .comment-count {
    color: var(--flex-icon-1);
}
.activity-list .activity-item .activity-content > .bp-generic-meta.activity-meta div.generic-button > a:hover {
    background-color: var(--flex-overlay-1);
}
.like-count reactions_item {
    color: var(--flex-icon-1);
}
.activity-list .activity-item .ac-emotions_list {
    background-color: var(--flex-gray-1);
}
/* --- Buddy Press View Profile Style --- */
.buddypress-wrap .bp-tables-user tbody tr {
    background-color: var(--flex-gray-15);
}
.buddypress-wrap .bp-tables-user tr.alt td {
    background-color: var(--flex-gray-2);
}
.buddypress-wrap .standard-form p.description {
    color: var(--body-fcolor);
    margin: 5px 0;
}
.buddypress-wrap .current-visibility-level {
    font-style: normal;
    color: var(--body-fcolor);
}
.buddypress-wrap .profile.edit .editfield {
    background: var(--flex-gray-2);
    border: 1px solid #eee;
    margin: 15px 0;
    padding: 1em;
}
.buddypress-wrap .current-visibility-level {
    font-style: normal;
    color: var(--body-fcolor);
}
.buddypress .buddypress-wrap input[type='submit'] {
    background: var(--gc-color);
    color: var(--alight);
}
/* --- Buddy Press Activity Feed --- */
.activity-list li.bbp_reply_create .activity-content .activity-inner .activity-discussion-title-wrap,
.activity-list li.bbp_reply_create .activity-content .activity-inner .bb-post-title,
.activity-list li.bbp_topic_create .activity-content .activity-inner .activity-discussion-title-wrap,
.activity-list li.bbp_topic_create .activity-content .activity-inner .bb-post-title,
.activity-list li.blogs .activity-content .activity-inner .activity-discussion-title-wrap,
.activity-list li.blogs .activity-content .activity-inner .bb-post-title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px;
    display: block;
    color: var(--body-fcolor);
}
/* Activity Avatar */
.activity-list .activity-item div.item-avatar img {
    height: auto;
    max-width: 50%;
}
/* Activity Inner */
.activity-list li.blogs .activity-content .activity-inner {
    display: flex;
    border: 1px solid #eaeaea21;
    padding: 12px;
    border-radius: 5px;
    max-width: 640px;
}
.activity-list li.blogs .activity-content .activity-inner .bb-post-img-link {
    background-color: transparent;
    display: block;
    border-radius: 3px 3px 0 0;
}
/* Activity Entry Background */
.activity-list li.blogs .activity-content .activity-inner .bb-content-wrp {
    display: block;
    padding: 12px;
    background-color: transparent;
}
/* Activity Comments Section */
.acomment-content_wrap {
    width: 750px;
}
.buddypress-wrap .activity-comments .acomment_inner .acomment-content_block {
    background-color: var(--gc-snarkive-accent);
}
.buddypress-wrap .activity-comments .acomment-meta {
    padding-left: 0;
}
.buddypress .buddypress-wrap .generic-button a {
    background: transparent;
}
.buddypress-wrap .activity-comments .acomment-foot-actions .generic-button {
    background-color: var(--gc-color);
}
.like-count {
    color: var(--flex-snarkive);
}
.like-count:hover {
    color: var(--btn-accent-h, var(--awhite));
}
form.ac-form .ac-reply-content {
    border: 1px solid var(--cinefox-orange-accent);
    background-color: var(--flex-gray-7);
    border-radius: 5px;
    padding: 8px;
    margin-left: 10px;
}
form.ac-form .ac-reply-content:focus-within {
    border-color: var(--gc-snarkive-purple);
}
.acomment-content {
    color: var(--awhite);
}

/*
-----------------
19 - bbPress
-----------------
*/
/* --- Forum Header --- */
#bbpress-forums li.bbp-header {
    background: var(--flex-gray-1);
}
.page-header-1 img {
    width: 150px;
}
/* --- Forum Markers --- */
.rbct ul {
    list-style: none;
}
.rbct ul ul {
    list-style: none;
}
/* --- Forum Body --- */
#bbpress-forums div.odd,
#bbpress-forums ul.odd {
    background-color: var(--flex-overlay-1);
}
.bbp-forum-content ul.sticky,
.bbp-topics ul.sticky,
.bbp-topics ul.super-sticky,
.bbp-topics-front ul.super-sticky {
    background-color: #e6440a54 !important;
    font-size: 1.1em;
}
/* Forum Meta Avatar */
#bbpress-forums p.bbp-topic-meta img.avatar {
    float: none;
    margin-bottom: -3px;
    border: 3px solid #ddd;
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 30px;
    border-radius: 50%;
}
/* Forum Tags */
.select2-container--default .select2-selection--multiple {
    background-color: var(--flex-gray-7);
    border: 1px solid #d45f3559 !important;
    border-radius: 4px;
    cursor: text;
}
body .bb-select-dropdown.select2-dropdown {
    background: var(--flex-gray-7);
    box-shadow:
        0 2px 7px 1px rgba(0, 0, 0, 0.05),
        0 6px 32px 0 rgba(18, 43, 70, 0.1);
    border-radius: 4px;
    border: 0;
    padding: 5px 10px;
    margin-right: 0;
    max-width: 300px;
}

/* --- Forum Footer --- */
#bbpress-forums li.bbp-footer,
#bbpress-forums li.bbp-header {
    background: var(--flex-gray-1);
    border-top: 1px solid #eee;
    font-weight: 700;
    padding: 8px;
    text-align: center;
}
/* --- Thread Header --- */
#bbpress-forums div.bbp-forum-header,
#bbpress-forums div.bbp-reply-header,
#bbpress-forums div.bbp-topic-header {
    background-color: var(--flex-gray-7);
}

/* --- Thread Body --- */
#bbpress-forums div.even,
#bbpress-forums ul.even {
    background-color: var(--flex-gray-2);
    box-shadow: 0 0px 20px -5px;
}
span.bbp-admin-links a {
    color: var(--body-fcolor);
    font-weight: 400;
    font-size: 10px;
    text-transform: uppercase;
    text-decoration: none;
}
@media (min-width: 1025px) {
    .type-reply,
    .bbp-replies .topic {
        margin-bottom: 30px;
        padding: 40px;
        box-shadow: 0 2px 20px -5px;
    }
}
#bbpress-forums div.bbp-the-content-wrapper {
    margin-bottom: 10px;
    border: 1px solid #d45f3559 !important;
}
/* --- Single Forum Box Style --- */
.ruby-single-forum {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    width: 100%;
    min-height: 120px;
    padding: 20px;
    border-left: 5px solid;
    border-radius: var(--bbp-round-7);
    box-shadow: 0 5px 20px var(--shadow-7);
    gap: 30px;
    background-color: var(--bbp-white);
}

/* --- Thread Background Color --- */
@media (min-width: 1025px) {
    .type-reply,
    .bbp-replies .topic {
        margin-bottom: 30px;
        padding: 40px;
        box-shadow: 0 4px 20px;
    }
}

/* --- Thread Reply Box --- */
.bbp-reply-form .bbp-form {
    border: solid 1px;
}

/*
-----------------
20 - WooCommerce
-----------------
*/

/*-----------------
21 - Mailpoet
-------------------
*/

/* --- Mailpoet Form Field Background Color --- */
.mp-email-field {
    background-color: var(--input-bg, var(--flex-gray-7)) !important; /* Match Foxiz input background */
    color: var(--input-fcolor) !important; /* Match Foxiz input text color */
}
