/*
Theme Name: WP HDHub4u
Theme URI: https://wpcodequill.com/themes/hdhub4u-theme/
Author: WPCodeQuill
Author URI: https://wpcodequill.com
Description: 
Version: 1.2.0
Text Domain: wp-hdhub4u-theme
License: MIT License
License URI: https://wpcodequill.com/mit-license/

Tags: responsive-layout, custom-colors, blog, movies, custom-menu, featured-images, two-columns, grid-layout, translation-ready, rtl-language-support, full-width-template, accessibility-ready, sticky-post, threaded-comments, editor-style, block-styles, theme-options, ads-ready, movie, lightweight, fast-loading, seo-friendly
*/


/* Overall Theme Reset */
/* --- 1. Overall Theme Reset --- */
body { 
    background-color: #0b0b0b; 
    color: #ffffff; 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    margin: 0; 
    padding: 0; 
    line-height: 1.6;
}

a { text-decoration: none; color: #fff; transition: 0.3s; }
ul, li { list-style: none !important; margin: 0; padding: 0; }

/* --- 2. Navigation & Logo --- */
.main-nav { 
    background: #1a1a1a; 
    border-bottom: 3px solid #ff9933; 
    padding: 10px 0; 
    text-align: center; 
}

.logo-area img {
    max-height: 50px;
    width: auto;
    display: inline-block;
}

.section-title { 
    background: #111; 
    color: #fff; 
    padding: 12px; 
    font-size: 16px; 
    font-weight: bold; 
    border-left: 5px solid #ff9933; 
    margin: 15px 10px;
    text-transform: uppercase;
    border-radius: 4px;
}

/* --- 3. Movie Grid (2 Columns Mobile, Auto Desktop) --- */
.movie-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 Columns on Mobile */
    gap: 10px;
    padding: 10px;
}

@media (min-width: 768px) {
    .movie-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* Desktop Grid */
        gap: 15px;
        padding: 15px;
    }
}

/* --- 4. Movie Card Style --- */
.movie-card {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 5px;
    overflow: hidden;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
}

.movie-card:hover { 
    border-color: #ff9933; 
    transform: translateY(-3px); 
}

/* --- 5. Poster & Quality Badge --- */
.poster-container {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
    background: #222;
    overflow: hidden;
}

.poster-container img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

.quality-badge { 
    position: absolute; 
    top: 5px; 
    left: 5px; 
    background: rgba(0, 0, 0, 0.85); 
    color: #fff; 
    padding: 2px 7px; 
    font-size: 10px; 
    font-weight: bold; 
    text-align: center; 
    border: 1px solid #444; 
    border-radius: 3px; 
    z-index: 10; 
    text-transform: uppercase;
}

/* --- 6. Movie Details --- */
.movie-details {
    padding: 10px 8px;
    text-align: center;
    background: #222;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.movie-date { 
    font-size: 10px; 
    color: #2196f3; 
    display: block; 
    margin-bottom: 5px; 
    font-weight: bold; 
}

.movie-title { 
    font-size: 12px; 
    color: #eee; 
    font-weight: bold; 
    line-height: 1.4; 
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Shows exactly 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-transform: capitalize;
}

.movie-formats { 
    font-size: 10px; 
    color: #ffeb3b; 
    margin-top: 5px; 
    display: block; 
    font-weight: bold; 
}

/* --- 7. Pagination --- */
.pagination { 
    text-align: center; 
    padding: 40px 10px; 
}

.pagination .page-numbers {
    padding: 8px 15px;
    background: #1a1a1a;
    border: 1px solid #333;
    color: #bbb;
    margin: 0 3px;
    font-weight: bold;
    border-radius: 4px;
    font-size: 13px;
    display: inline-block;
}

.pagination .current { 
    background: #ff9933 !important; 
    color: #000 !important; 
    border-color: #ff9933 !important; 
}

.pagination a:hover { 
    background: #333; 
    color: #fff; 
}

 /* Mobile Fixes */
    @media (max-width: 600px) {
        .dl-btn { width: 100%; padding: 12px 0 !important; box-sizing: border-box; }
        .site-container { margin: 10px; }
        .r-btn-group { gap: 5px !important; }
        .c-notify-inputs { flex-direction: column; align-items: stretch !important; gap: 10px; }
        .comment-form { display: flex !important; flex-direction: column; padding-left: 0 !important; }
        .c-avatar-in-form { display: none !important; }
        .comment-form-author, .comment-form-email, .form-submit { width: 100% !important; }
    }

    .movie-content img { max-width: 100%; height: auto; border-radius: 5px; margin-bottom: 10px; border: 1px solid #333; }

    /* Reactions CSS */
    .reactions-box { text-align: center; padding: 30px 0; margin-bottom: 20px; }
    .reactions-box h3 { color: #fff; font-size: 20px; margin: 0 0 10px 0; font-weight: bold; }
    .reactions-box .react-count { color: #007bff; font-size: 13px; font-weight: bold; margin: 0 0 20px 0; }
    .r-btn-group { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
    .r-btn { display: flex; flex-direction: column; align-items: center; }
    .r-inner { background: #333; padding: 6px 12px; border-radius: 4px; font-size: 12px; font-weight: bold; color: #fff; cursor: pointer; border: 1px solid #444; transition: 0.2s; user-select: none; }
    .r-inner:hover { background: #444; }
    .r-inner.reacted { border-color: #007bff; background: #222; }
    .r-btn .num { color: #007bff; font-size: 13px; margin-top: 5px; font-weight: bold; }

    /* Notify Bar CSS */
    .c-notify-bar { padding-bottom: 15px; border-bottom: 1px solid #222; margin-bottom: 15px; }
    .c-notify-inputs { display: none; align-items: center; gap: 10px; margin-bottom: 25px; transition: 0.3s; }
    .c-notify-inputs.active { display: flex; }
    .c-notify-inputs select, .c-notify-inputs input { background: #fff; border: 1px solid #ccc; padding: 8px; border-radius: 2px; font-size: 13px; flex-grow: 1; color: #333; }
    .c-notify-inputs .sub-btn { background: #007bff; color: #fff; border: none; padding: 8px 15px; border-radius: 2px; cursor: pointer; font-weight: bold; }

    /* --- COMMENT FORM STYLING --- */
    #respond { position: relative; padding-left: 60px; margin-bottom: 30px; }
    .comment-form label { display: none !important; } /* Hide labels */
    
    .c-avatar-in-form { position: absolute; left: 0; top: 0; width: 45px; height: 45px; border-radius: 50%; background: #ccc; display: flex; justify-content: center; align-items: center; color: #fff; }

    .comment-form { 
        display: grid; 
        grid-template-columns: 1fr auto; 
        grid-template-areas: "comment comment" "author submit" "email submit"; 
        gap: 10px; 
        margin: 0;
    }
    .comment-form p { margin: 0; }
    
    .comment-form-comment { grid-area: comment; }
    .comment-form textarea { 
        background: #fff !important; color: #333 !important; border: 1px solid #ccc !important; 
        width: 100%; padding: 15px !important; border-radius: 4px !important; box-sizing: border-box; 
        height: 50px; font-size: 15px; font-family: inherit; resize: none; transition: height 0.3s ease;
    }
    
    .comment-form-author { grid-area: author; display: none; }
    .comment-form-email { grid-area: email; display: none; }
    .form-submit { grid-area: submit; display: none; align-items: center; justify-content: flex-end; }
    
    /* Expanded Form State */
    .comment-form.expanded textarea { height: 100px; resize: vertical; }
    .comment-form.expanded .comment-form-author,
    .comment-form.expanded .comment-form-email { display: block; }
    .comment-form.expanded .form-submit { display: flex; height: 100%; }

    .comment-form input[type="text"], .comment-form input[type="email"] { 
        background: #fff !important; color: #333 !important; border: 1px solid #ccc !important; 
        padding: 10px 15px; width: 100%; border-radius: 4px; box-sizing: border-box;
    }
    .comment-form .submit { 
        background: #007bff !important; color: #fff !important; border: none !important; 
        padding: 10px 24px !important; font-weight: bold !important; border-radius: 4px; 
        cursor: pointer; display: block; margin-top: 10px;
    }
    @media (min-width: 601px) {
        .comment-form .submit { margin-top: 0; padding: 0 30px !important; height: 100%; }
    }
    
    /* --- COMMENTS HEADER BAR --- */
    .comments-header-bar {
        display: flex; justify-content: space-between; align-items: flex-end; 
        border-bottom: 1px solid #333; padding-bottom: 5px; margin-bottom: 25px;
    }
    .comments-header-bar .c-count {
        color: #fff; font-size: 12px; font-weight: bold; text-transform: uppercase;
        position: relative; padding-bottom: 6px;
    }
    .comments-header-bar .c-count::after {
        content: ''; position: absolute; left: 0; bottom: -6px; height: 2px; width: 100%; background: #007bff;
    }
    
    /* Dropdown Styling */
    .c-sort-container { position: relative; padding-bottom: 5px; }
    .c-sort-toggle { color: #aaa; font-size: 12px; cursor: pointer; display: flex; align-items: center; gap: 3px; }
    .c-sort-dropdown { 
        display: none; position: absolute; right: 0; top: 100%; background: #fff; color: #333; 
        list-style: none; padding: 5px 0; margin-top: 5px; border-radius: 2px; 
        box-shadow: 0 4px 12px rgba(0,0,0,0.5); min-width: 100px; z-index: 100; text-align: center; 
    }
    .c-sort-dropdown li { padding: 10px 15px; cursor: pointer; font-size: 13px; margin: 0; }
    .c-sort-dropdown li:hover { background: #f1f1f1; }

    /* Threaded Replies Styling */
    .comment-list .children { 
        margin-left: 60px; list-style: none; padding-left: 15px; border-left: 1px solid #333; 
    }
    .comment-reply a:hover { color: #fff !important; }
            