ï»¿/* VSI Phim Dark Theme for Gallery Page */

/* ===========================================
   GLOBAL STYLES
   =========================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body - Dark Theme */
body.gallery-page,
body.watch-page {
    font-family: 'Segoe UI', 'Roboto', Arial, sans-serif;
    background: #0f1419;
    color: #e4e6eb;
    min-height: 100vh;
    padding: 0;
}

/* ===========================================
   HEADER SECTION - PhimMoi Style
   =========================================== */
.watch-header {
    background: #000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #1a1a1a;
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
    height: 50px;
}

/* Logo/Brand - PhimMoi Style */
.brand-logo {
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    background: rgba(0, 0, 0, 0.15);
    border-radius: 20px;
    white-space: nowrap;
    transition: color 0.3s;
}

.brand-logo:hover {
    color: #ff6b35;
}

.brand-logo i {
    font-size: 1.5rem;
    color: #ff6b35;
}

.brand-logo sup {
    font-size: 0.7rem;
    color: #ff6b35;
    margin-left: -4px;
}

/* Main Navigation Menu */
.main-nav {
    display: flex;
    align-items: center;
    gap: 25px;
    flex: 1;
    justify-content: center;
    margin: 0 20px;
}

.main-nav a {
    color: #fff;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    padding: 15px 0;
    position: relative;
    transition: color 0.3s;
}

.main-nav a:hover {
    color: #ff6b35;
}

.main-nav a.nav-highlight {
    color: #ff9500;
}

.main-nav a.nav-highlight:hover {
    color: #ffb340;
}

/* Header Search Box */
.header-search {
    position: relative;
    display: flex;
    align-items: center;
}

.header-search input {
    width: 240px;
    padding: 8px 45px 8px 15px;
    border: 1px solid #333;
    border-radius: 3px;
    font-size: 0.85rem;
    outline: none;
    transition: all 0.3s;
    background: #1a1a1a;
    color: #fff;
}

.header-search input:focus {
    background: #222;
    border-color: #ff6b35;
    box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.1);
}

.header-search input::placeholder {
    color: #666;
}

/* Search Buttons */
.header-search .search-btn,
.header-search .clear-search-btn {
    position: absolute;
    right: 0;
    height: 100%;
    width: 40px;
    background: transparent;
    border: none;
    color: #999;
    cursor: pointer;
    transition: color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-search .clear-search-btn {
    right: 35px;
    color: #ff6b35;
}

.header-search .clear-search-btn:hover {
    color: #ff8c66;
}

.header-search .search-btn:hover {
    color: #ff6b35;
}

/* ===========================================
   ACTIVE FILTER BADGE
   =========================================== */
.active-filter-badge {
    background: rgba(26, 29, 41, 0.95); border-bottom: 2px solid #ff6b35;
    padding: 6px 0;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.active-filter-badge .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
}

.filter-badge-content {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    background: rgba(0, 0, 0, 0.15);
    border-radius: 20px;
    color: white;
    font-size: 0.82rem;
    font-weight: 500;
}

.filter-badge-content i {
    font-size: 0.85rem;
}

.filter-badge-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    transition: all 0.3s;
}

.filter-badge-close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(90deg);
}

/* ===========================================
   NAVIGATION ENHANCEMENTS
   =========================================== */
.main-nav a::after {
    content: '';
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    height: 2px;
    background: #ff6b35;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.main-nav a:hover::after {
    transform: scaleX(1);
}

.main-nav a.nav-highlight::after {
    background: #ff9500;
}

/* Secondary Controls Bar */
.secondary-controls {
    background: #0f1419;
    border-bottom: 1px solid #1a1d29;
    padding: 10px 0;
}

.secondary-controls .container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
}

/* Back Button (keep for other pages) */
.back-btn {
    color: #ff6b35;
    text-decoration: none;
    font-weight: 600;
    padding: 8px 15px;
    border-radius: 4px;
    background: rgba(255, 107, 53, 0.1);
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    background: rgba(0, 0, 0, 0.15);
    border-radius: 20px;
}

.back-btn:hover {
    background: rgba(255, 107, 53, 0.2);
}

/* Search Box (deprecated - using header-search now) */
.search-box {
    position: relative;
    width: 50%;
    max-width: 600px;
    margin: 0 auto;
}

.search-box input {
    width: 100%;
    padding: 12px 45px 12px 20px;
    border: 1px solid #2a2d3a;
    border-radius: 4px;
    font-size: 0.95rem;
    outline: none;
    transition: all 0.3s;
    background: #141820;
    color: #e4e6eb;
}

.search-box input:focus {
    background: #1a1d29;
    border-color: #ff6b35;
    box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1);
}

.search-box input::placeholder {
    color: #6b7280;
}

.search-box i {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    pointer-events: none;
}

/* Sort Box */
.sort-box {
    width: auto;
    display: flex;
    justify-content: flex-end;
}

.sort-box select {
    padding: 8px 12px;
    border: 1px solid #2a2d3a;
    border-radius: 4px;
    font-size: 0.85rem;
    outline: none;
    background: #141820;
    color: #e4e6eb;
    cursor: pointer;
    transition: all 0.3s;
}

.sort-box select:hover,
.sort-box select:focus {
    border-color: #ff6b35;
    background: #1a1d29;
}

.sort-box select option {
    background: #1a1d29;
    color: #e4e6eb;
}

/* Language Selector */
.language-selector {
    min-width: 140px;
    display: flex;
    justify-content: flex-start;
}

.language-selector select {
    padding: 8px 12px;
    border: 1px solid #2a2d3a;
    border-radius: 4px;
    font-size: 0.85rem;
    outline: none;
    background: #141820;
    color: #e4e6eb;
    cursor: pointer;
    transition: all 0.3s;
}

.language-selector select:hover,
.language-selector select:focus {
    border-color: #ff6b35;
    background: #1a1d29;
}

.language-selector select option {
    background: #1a1d29;
    color: #e4e6eb;
}


/* ===========================================
   GALLERY GRID
   =========================================== */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 30px 20px;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 15px;
}

/* Movie Card - VSI Phim Style */
.movie-card {
    background: transparent;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}

.movie-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}

/* Card Poster */
.card-poster {
    position: relative;
    padding-top: 150%;
    /* 2:3 Aspect Ratio */
    overflow: hidden;
    border-radius: 6px;
    background: #1a1d29;
}

.card-poster img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.movie-card:hover .card-poster img {
    transform: scale(1.08);
}

/* Card Badges */
.card-badges {
    position: absolute;
    bottom: 8px;
    left: 8px;
    right: 8px;
    display: flex;
    flex-direction: row;
    gap: 4px;
    z-index: 2;
}

.badge {
    display: inline-block;
    padding: 2px 6px;
    font-size: 0.65rem;
    font-weight: 600;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.badge-hd {
    background: rgba(255, 107, 53, 0.9);
    color: white;
}

.badge-vietsub {
    background: rgba(59, 130, 246, 0.9);
    color: white;
}

.badge-ep {
    background: rgba(16, 185, 129, 0.9);
    color: white;
}

/* Card Overlay */
.card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.movie-card:hover .card-overlay {
    opacity: 1;
}

.play-icon {
    font-size: 3rem;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* Card Info */
.card-info {
    padding: 10px 0;
}

.card-info h3 {
    font-size: 0.85rem;
    margin: 0 0 5px;
    color: #e4e6eb;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

.card-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    color: #9ca3af;
}

/* ===========================================
   PAGINATION
   =========================================== */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 0 20px;
}

.pagination button {
    background: #1a1d29;
    border: 1px solid #2a2d3a;
    color: #e4e6eb;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.82rem;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pagination button:hover:not(:disabled) {
    background: #ff6b35;
    border-color: #ff6b35;
    color: white;
}

.pagination button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination .page-info {
    font-size: 0.95rem;
    color: #9ca3af;
    padding: 0 15px;
}

/* ===========================================
   PLAYER PAGE STYLES
   =========================================== */
.watch-layout {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 20px;
    padding: 20px 0;
}

/* Player Section */
.player-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 Aspect Ratio */
    height: 0;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.player-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Movie Meta Info */
.movie-meta-info {
    margin-top: 20px;
    background: #1a1d29;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.movie-meta-info h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    color: #e4e6eb;
}

.stats-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 15px;
    color: #9ca3af;
}

.stats-badges span {
    font-size: 0.82rem;
}

.badge-genre {
    background: rgba(255, 107, 53, 0.2);
    color: #ff6b35;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 600;
}

.description-text {
    line-height: 1.6;
    color: #9ca3af;
    font-size: 1rem;
}

/* Episodes Panel */
.sidebar-content {
    height: fit-content;
}

.episodes-panel {
    background: #1a1d29;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    position: sticky;
    top: 80px;
}

.episodes-panel h3 {
    margin-bottom: 15px;
    font-size: 1.2rem;
    border-bottom: 2px solid #2a2d3a;
    padding-bottom: 10px;
    color: #e4e6eb;
}

.episode-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
    gap: 8px;
}

.ep-btn {
    background: #141820;
    border: 1px solid #2a2d3a;
    border-radius: 6px;
    padding: 10px 0;
    text-align: center;
    cursor: pointer;
    font-weight: 600;
    color: #9ca3af;
    transition: all 0.2s;
}

.ep-btn:hover {
    background: #2a2d3a;
    border-color: #ff6b35;
    color: #e4e6eb;
}

.ep-btn.active {
    background: #ff6b35;
    border-color: #ff6b35;
    color: white;
}

/* Scrollbar for episodes */
.episodes-panel::-webkit-scrollbar {
    width: 6px;
}

.episodes-panel::-webkit-scrollbar-track {
    background: #0f1419;
    border-radius: 10px;
}

.episodes-panel::-webkit-scrollbar-thumb {
    background: #ff6b35;
    border-radius: 10px;
}

/* ===========================================
   RESPONSIVE DESIGN
   =========================================== */
@media (max-width: 1400px) {
    .gallery-grid {
        grid-template-columns: repeat(6, 1fr);
    }

    .main-nav {
        gap: 18px;
    }

    .main-nav a {
        font-size: 0.8rem;
    }
}

@media (max-width: 1024px) {
    .gallery-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .main-nav {
        gap: 15px;
    }

    .main-nav a {
        font-size: 0.75rem;
    }

    .header-search input {
        width: 200px;
    }
}

@media (max-width: 900px) {
    .watch-layout {
        grid-template-columns: 1fr;
    }

    .episodes-panel {
        max-height: 400px;
        position: static;
    }

    /* Simplified header for tablets */
    .header-container {
        flex-wrap: wrap;
        height: auto;
        padding: 10px 15px;
        gap: 8px;
    }

    .main-nav {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        gap: 20px;
        padding: 10px 0;
        margin: 0;
    }

    .main-nav::-webkit-scrollbar {
        height: 3px;
    }

    .main-nav::-webkit-scrollbar-track {
        background: #000;
    }

    .main-nav::-webkit-scrollbar-thumb {
        background: #333;
        border-radius: 2px;
    }

    .header-search {
        order: 2;
    }
}

@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
    }

    .secondary-controls .container {
        flex-wrap: wrap;
        gap: 8px;
    }

    .language-selector,
    .sort-box {
        width: 100%;
        justify-content: stretch;
    }

    .language-selector select,
    .sort-box select {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }

    .container {
        padding: 20px 10px;
    }

    .header-container {
        padding: 10px;
    }

    .brand-logo {
        font-size: 1rem;
    }

    .brand-logo i {
        font-size: 1.2rem;
    }

    .header-search input {
        width: 160px;
        font-size: 0.8rem;
    }

    .main-nav a {
        font-size: 0.7rem;
    }

    .secondary-controls .container {
        padding: 0 10px;
    }
}

/* ===========================================
   FILTER MODAL STYLES
   =========================================== */
.filter-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 2500;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(5px);
}

.filter-modal-content {
    background: #1a1d29;
    width: 100%;
    max-width: 800px;
    border-radius: 12px;
    padding: 30px;
    position: relative;
    animation: zoomIn 0.3s ease;
    max-height: 90vh;
    overflow-y: auto;
}

.filter-modal-content h2 {
    font-size: 1.8rem;
    margin-bottom: 25px;
    color: #e4e6eb;
    text-align: center;
}

/* Filter Grid */
.filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.filter-btn {
    background: #141820;
    border: 2px solid #2a2d3a;
    color: #e4e6eb;
    padding: 12px 16px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.3s;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.filter-btn .genre-name {
    flex: 1;
    text-align: left;
}

.filter-btn .genre-count {
    background: rgba(255, 107, 53, 0.2);
    color: #ff6b35;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 600;
    min-width: 35px;
    text-align: center;
}

.filter-btn:hover {
    background: #2a2d3a;
    border-color: #ff6b35;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 107, 53, 0.2);
}

.filter-btn.active {
    background: #ff6b35;
    border-color: #ff6b35;
    color: white;
    font-weight: 600;
}

/* Filter Modal Footer */
.filter-modal-footer {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #2a2d3a;
}

.btn-clear-filter {
    background: transparent;
    border: 2px solid #ff6b35;
    color: #ff6b35;
    padding: 10px 24px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    transition: all 0.3s;
}

.btn-clear-filter:hover {
    background: #ff6b35;
    color: white;
}

/* Filter Modal Responsive */
@media (max-width: 768px) {
    .filter-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 8px;
    }

    .filter-modal-content {
        padding: 20px;
    }

    .filter-modal-content h2 {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .filter-btn {
        padding: 10px 12px;
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .filter-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 8px;
    }

    .filter-btn {
        padding: 8px 10px;
        font-size: 0.8rem;
    }
}

/* ===========================================
   MODAL STYLES (Dark Theme)
   =========================================== */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(5px);
}

.modal-content-large {
    background: #1a1d29;
    width: 100%;
    max-width: 900px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    animation: zoomIn 0.3s ease;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

.close-modal-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    font-size: 2rem;
    color: #e4e6eb;
    cursor: pointer;
    z-index: 10;
    line-height: 1;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.close-modal-btn:hover {
    background: #ff6b35;
    color: white;
}

.modal-body-layout {
    display: flex;
    flex-direction: row;
    overflow: hidden;
    height: 100%;
}

.modal-poster {
    width: 35%;
    background: #0f1419;
}

.modal-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-info {
    width: 35%;
    padding: 30px;
    overflow-y: auto;
    border-right: 1px solid #2a2d3a;
}

.modal-info h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
    color: #e4e6eb;
}

.modal-stats {
    margin-top: 15px;
    display: flex;
    gap: 15px;
    color: #9ca3af;
    font-weight: 500;
}

.modal-badges {
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.modal-desc {
    margin-top: 20px;
    color: #9ca3af;
    line-height: 1.6;
    font-size: 0.95rem;
}

.modal-episodes {
    width: 30%;
    padding: 20px;
    background: #141820;
    display: flex;
    flex-direction: column;
}

.modal-episodes h3 {
    margin-bottom: 15px;
    font-size: 1.1rem;
    color: #e4e6eb;
}

.episode-grid-modal {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
    gap: 8px;
    overflow-y: auto;
    padding-right: 5px;
    flex: 1;
}

.ep-btn-modal {
    background: #1a1d29;
    border: 1px solid #2a2d3a;
    border-radius: 6px;
    padding: 10px 0;
    cursor: pointer;
    font-weight: 600;
    color: #e4e6eb;
    transition: all 0.2s;
    font-size: 0.85rem;
}

.ep-btn-modal:hover {
    background: #ff6b35;
    color: white;
    border-color: #ff6b35;
    transform: translateY(-2px);
}

/* Scrollbar for modal */
.episode-grid-modal::-webkit-scrollbar {
    width: 6px;
}

.episode-grid-modal::-webkit-scrollbar-track {
    background: #0f1419;
    border-radius: 10px;
}

.episode-grid-modal::-webkit-scrollbar-thumb {
    background: #ff6b35;
    border-radius: 10px;
}

.modal-info::-webkit-scrollbar {
    width: 6px;
}

.modal-info::-webkit-scrollbar-track {
    background: #1a1d29;
}

.modal-info::-webkit-scrollbar-thumb {
    background: #ff6b35;
    border-radius: 10px;
}

@keyframes zoomIn {
    from {
        transform: scale(0.9);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* Modal Responsive */
@media (max-width: 800px) {
    .modal-body-layout {
        flex-direction: column;
        overflow-y: auto;
    }

    .modal-poster {
        display: none;
    }

    .modal-info {
        width: 100%;
        padding: 20px;
        height: auto;
        border-right: none;
    }

    .modal-episodes {
        width: 100%;
        height: 300px;
    }
}/ *   = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
/ *   = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =  
       S M O O T H   A N I M A T I O N S   &   V I S U A L   E N H A N C E M E N T S  
       = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =   * /  
  
 / *   F a d e - i n   a n i m a t i o n   f o r   m o v i e   c a r d s   * /  
 . m o v i e - c a r d   {  
         a n i m a t i o n :   f a d e I n U p   0 . 4 s   e a s e   f o r w a r d s ;  
         o p a c i t y :   0 ;  
 }  
  
 / *   S t a g g e r   a n i m a t i o n   f o r   g r i d   i t e m s   * /  
 . m o v i e - c a r d : n t h - c h i l d ( 1 )   {  
         a n i m a t i o n - d e l a y :   0 . 0 5 s ;  
 }  
  
 . m o v i e - c a r d : n t h - c h i l d ( 2 )   {  
         a n i m a t i o n - d e l a y :   0 . 1 s ;  
 }  
  
 . m o v i e - c a r d : n t h - c h i l d ( 3 )   {  
         a n i m a t i o n - d e l a y :   0 . 1 5 s ;  
 }  
  
 . m o v i e - c a r d : n t h - c h i l d ( 4 )   {  
         a n i m a t i o n - d e l a y :   0 . 2 s ;  
 }  
  
 . m o v i e - c a r d : n t h - c h i l d ( 5 )   {  
         a n i m a t i o n - d e l a y :   0 . 2 5 s ;  
 }  
  
 . m o v i e - c a r d : n t h - c h i l d ( 6 )   {  
         a n i m a t i o n - d e l a y :   0 . 3 s ;  
 }  
  
 . m o v i e - c a r d : n t h - c h i l d ( n + 7 )   {  
         a n i m a t i o n - d e l a y :   0 . 3 5 s ;  
 }  
  
 @ k e y f r a m e s   f a d e I n U p   {  
         f r o m   {  
                 o p a c i t y :   0 ;  
                 t r a n s f o r m :   t r a n s l a t e Y ( 2 0 p x ) ;  
         }  
  
         t o   {  
                 o p a c i t y :   1 ;  
                 t r a n s f o r m :   t r a n s l a t e Y ( 0 ) ;  
         }  
 }  
  
 / *   E n h a n c e d   L o a d i n g   S p i n n e r   * /  
 . l o a d i n g - s p i n n e r   {  
         p o s i t i o n :   r e l a t i v e ;  
         w i d t h :   6 0 p x ;  
         h e i g h t :   6 0 p x ;  
 }  
  
 . l o a d i n g - s p i n n e r : : b e f o r e ,  
 . l o a d i n g - s p i n n e r : : a f t e r   {  
         c o n t e n t :   ' ' ;  
         p o s i t i o n :   a b s o l u t e ;  
         b o r d e r - r a d i u s :   5 0 % ;  
 }  
  
 . l o a d i n g - s p i n n e r : : b e f o r e   {  
         w i d t h :   6 0 p x ;  
         h e i g h t :   6 0 p x ;  
         b o r d e r :   4 p x   s o l i d   r g b a ( 2 5 5 ,   1 0 7 ,   5 3 ,   0 . 2 ) ;  
 }  
  
 . l o a d i n g - s p i n n e r : : a f t e r   {  
         w i d t h :   6 0 p x ;  
         h e i g h t :   6 0 p x ;  
         b o r d e r :   4 p x   s o l i d   t r a n s p a r e n t ;  
         b o r d e r - t o p - c o l o r :   # f f 6 b 3 5 ;  
         b o r d e r - r i g h t - c o l o r :   # f f 6 b 3 5 ;  
         a n i m a t i o n :   s p i n L o a d e r   0 . 8 s   c u b i c - b e z i e r ( 0 . 5 ,   0 ,   0 . 5 ,   1 )   i n f i n i t e ;  
 }  
  
 @ k e y f r a m e s   s p i n L o a d e r   {  
         0 %   {  
                 t r a n s f o r m :   r o t a t e ( 0 d e g ) ;  
         }  
  
         1 0 0 %   {  
                 t r a n s f o r m :   r o t a t e ( 3 6 0 d e g ) ;  
         }  
 }  
  
 / *   E n h a n c e d   E m p t y   S t a t e   * /  
 . e m p t y - r e s u l t   {  
         b a c k g r o u n d :   l i n e a r - g r a d i e n t ( 1 3 5 d e g ,   # 1 a 1 d 2 9   0 % ,   # 1 4 1 8 2 0   1 0 0 % ) ;  
         b o r d e r :   2 p x   d a s h e d   r g b a ( 2 5 5 ,   1 0 7 ,   5 3 ,   0 . 3 ) ;  
         b o r d e r - r a d i u s :   1 2 p x ;  
         p a d d i n g :   5 0 p x   3 0 p x ;  
         t e x t - a l i g n :   c e n t e r ;  
         a n i m a t i o n :   f a d e I n   0 . 5 s   e a s e ;  
 }  
  
 . e m p t y - r e s u l t : : b e f o r e   {  
         c o n t e n t :   ' ð x}¬ ' ;  
         f o n t - s i z e :   4 r e m ;  
         d i s p l a y :   b l o c k ;  
         m a r g i n - b o t t o m :   2 0 p x ;  
         o p a c i t y :   0 . 5 ;  
         a n i m a t i o n :   f l o a t I c o n   3 s   e a s e - i n - o u t   i n f i n i t e ;  
 }  
  
 @ k e y f r a m e s   f l o a t I c o n   {  
  
         0 % ,  
         1 0 0 %   {  
                 t r a n s f o r m :   t r a n s l a t e Y ( 0 p x ) ;  
         }  
  
         5 0 %   {  
                 t r a n s f o r m :   t r a n s l a t e Y ( - 1 0 p x ) ;  
         }  
 }  
  
 @ k e y f r a m e s   f a d e I n   {  
         f r o m   {  
                 o p a c i t y :   0 ;  
         }  
  
         t o   {  
                 o p a c i t y :   1 ;  
         }  
 }  
  
 / *   S m o o t h   p a g e   t r a n s i t i o n s   * /  
 . g a l l e r y - c o n t a i n e r   {  
         a n i m a t i o n :   f a d e I n   0 . 3 s   e a s e ;  
 }  
  
 / *   A c t i v e   f i l t e r   c o u n t   b a d g e   h i g h l i g h t   * /  
 . f i l t e r - b t n . a c t i v e   . g e n r e - c o u n t   {  
         b a c k g r o u n d :   w h i t e ;  
         c o l o r :   # f f 6 b 3 5 ;  
         f o n t - w e i g h t :   7 0 0 ;  
 }  
  
 / *   = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =  
       O P T I M I Z E D   G E N R E   M O D A L   ( F L E X B O X   L A Y O U T )  
       = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =   * /  
  
 / *   M o d a l   C o n t e n t   W r a p p e r   -   F l e x b o x   C o l u m n   * /  
 . f i l t e r - m o d a l - c o n t e n t   {  
         b a c k g r o u n d :   # 1 a 1 d 2 9 ;  
         w i d t h :   1 0 0 % ;  
         m a x - w i d t h :   9 0 0 p x ;  
         h e i g h t :   8 5 v h ;  
         / *   F i x e d   h e i g h t   f o r   m o d a l   * /  
         m a x - h e i g h t :   8 0 0 p x ;  
         b o r d e r - r a d i u s :   1 6 p x ;  
         d i s p l a y :   f l e x ;  
         f l e x - d i r e c t i o n :   c o l u m n   ! i m p o r t a n t ;  
         / *   F o r c e   C o l u m n   * /  
         p o s i t i o n :   r e l a t i v e ;  
         o v e r f l o w :   h i d d e n   ! i m p o r t a n t ;  
         / *   P r e v e n t   c o n t a i n e r   s c r o l l   * /  
         b o x - s h a d o w :   0   2 0 p x   6 0 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 7 ) ;  
         a n i m a t i o n :   z o o m I n   0 . 3 s   e a s e ;  
         p a d d i n g :   0   ! i m p o r t a n t ;  
         / *   R e m o v e   l e g a c y   p a d d i n g   * /  
 }  
  
 / *   1 .   H e a d e r   -   F i x e d   * /  
 . f i l t e r - m o d a l - h e a d e r   {  
         f l e x :   0   0   a u t o ;  
         / *   D o n ' t   g r o w ,   d o n ' t   s h r i n k   * /  
         b a c k g r o u n d :   # 1 a 1 d 2 9 ;  
         p a d d i n g :   2 0 p x   3 0 p x   ! i m p o r t a n t ;  
         b o r d e r - b o t t o m :   n o n e ;  
         / *   S e p a r a t o r   h a n d l e d   b y   s e a r c h   b o x   * /  
         z - i n d e x :   1 0 ;  
         p o s i t i o n :   r e l a t i v e   ! i m p o r t a n t ;  
         / *   R e s e t   a b s o l u t e   * /  
         t o p :   a u t o ;  
         l e f t :   a u t o ;  
         r i g h t :   a u t o ;  
         b o r d e r - b o t t o m :   n o n e   ! i m p o r t a n t ;  
 }  
  
 . f i l t e r - m o d a l - h e a d e r - c o n t e n t   {  
         d i s p l a y :   f l e x ;  
         a l i g n - i t e m s :   c e n t e r ;  
         j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ;  
         m a r g i n :   0   ! i m p o r t a n t ;  
 }  
  
 . f i l t e r - m o d a l - c o n t e n t   h 2   {  
         f o n t - s i z e :   1 . 6 r e m ;  
         m a r g i n :   0 ;  
         c o l o r :   # e 4 e 6 e b ;  
         d i s p l a y :   f l e x ;  
         a l i g n - i t e m s :   c e n t e r ;  
         g a p :   1 2 p x ;  
 }  
  
 . f i l t e r - m o d a l - c o n t e n t   h 2   i   {  
         c o l o r :   # f f 6 b 3 5 ;  
 }  
  
 / *   2 .   S e a r c h   B o x   W r a p p e r   -   F i x e d   * /  
 . f i l t e r - s e a r c h - b o x - w r a p p e r   {  
         f l e x :   0   0   a u t o ;  
         / *   D o n ' t   g r o w ,   d o n ' t   s h r i n k   * /  
         b a c k g r o u n d :   # 1 a 1 d 2 9 ;  
         p a d d i n g :   0   3 0 p x   2 0 p x   ! i m p o r t a n t ;  
         b o r d e r - b o t t o m :   2 p x   s o l i d   r g b a ( 2 5 5 ,   1 0 7 ,   5 3 ,   0 . 2 ) ;  
         z - i n d e x :   1 0 ;  
         p o s i t i o n :   r e l a t i v e   ! i m p o r t a n t ;  
         t o p :   a u t o ;  
         m a r g i n - t o p :   0   ! i m p o r t a n t ;  
 }  
  
 / *   S e a r c h   I n p u t   S t y l i n g   * /  
 . f i l t e r - s e a r c h - b o x   {  
         p o s i t i o n :   r e l a t i v e ;  
         w i d t h :   1 0 0 % ;  
 }  
  
 . f i l t e r - s e a r c h - b o x   i   {  
         p o s i t i o n :   a b s o l u t e ;  
         l e f t :   1 5 p x ;  
         t o p :   5 0 % ;  
         t r a n s f o r m :   t r a n s l a t e Y ( - 5 0 % ) ;  
         c o l o r :   # 9 9 9 ;  
 }  
  
 . f i l t e r - s e a r c h - b o x   i n p u t   {  
         w i d t h :   1 0 0 % ;  
         p a d d i n g :   1 2 p x   1 5 p x   1 2 p x   4 5 p x ;  
         b a c k g r o u n d :   # 1 4 1 8 2 0 ;  
         b o r d e r :   2 p x   s o l i d   # 2 a 2 d 3 a ;  
         b o r d e r - r a d i u s :   8 p x ;  
         c o l o r :   # e 4 e 6 e b ;  
         f o n t - s i z e :   0 . 9 5 r e m ;  
         o u t l i n e :   n o n e ;  
         t r a n s i t i o n :   a l l   0 . 3 s ;  
 }  
  
 . f i l t e r - s e a r c h - b o x   i n p u t : f o c u s   {  
         b o r d e r - c o l o r :   # f f 6 b 3 5 ;  
 }  
  
 / *   3 .   B o d y   -   S c r o l l a b l e   * /  
 . f i l t e r - m o d a l - b o d y   {  
         f l e x :   1   1   a u t o ;  
         / *   G r o w   t o   f i l l   s p a c e   * /  
         o v e r f l o w - y :   a u t o   ! i m p o r t a n t ;  
         / *   E n a b l e   v e r t i c a l   s c r o l l   * /  
         p a d d i n g :   2 0 p x   3 0 p x   ! i m p o r t a n t ;  
         b a c k g r o u n d :   # 1 a 1 d 2 9 ;  
 }  
  
 / *   C u s t o m   S c r o l l b a r   f o r   B o d y   * /  
 . f i l t e r - m o d a l - b o d y : : - w e b k i t - s c r o l l b a r   {  
         w i d t h :   8 p x ;  
 }  
  
 . f i l t e r - m o d a l - b o d y : : - w e b k i t - s c r o l l b a r - t r a c k   {  
         b a c k g r o u n d :   # 1 4 1 8 2 0 ;  
 }  
  
 . f i l t e r - m o d a l - b o d y : : - w e b k i t - s c r o l l b a r - t h u m b   {  
         b a c k g r o u n d :   # f f 6 b 3 5 ;  
         b o r d e r - r a d i u s :   4 p x ;  
 }  
  
 / *   4 .   F o o t e r   -   F i x e d   * /  
 . f i l t e r - m o d a l - f o o t e r   {  
         f l e x :   0   0   a u t o ;  
         / *   D o n ' t   g r o w ,   d o n ' t   s h r i n k   * /  
         p a d d i n g :   2 0 p x   3 0 p x   ! i m p o r t a n t ;  
         b o r d e r - t o p :   2 p x   s o l i d   r g b a ( 2 5 5 ,   1 0 7 ,   5 3 ,   0 . 1 ) ;  
         b a c k g r o u n d :   # 1 a 1 d 2 9 ;  
         d i s p l a y :   f l e x ;  
         j u s t i f y - c o n t e n t :   c e n t e r ;  
 }  
  
 / *   C l o s e   B u t t o n   * /  
 . c l o s e - m o d a l - b t n   {  
         b a c k g r o u n d :   r g b a ( 2 5 5 ,   1 0 7 ,   5 3 ,   0 . 1 ) ;  
         b o r d e r :   2 p x   s o l i d   r g b a ( 2 5 5 ,   1 0 7 ,   5 3 ,   0 . 3 ) ;  
         c o l o r :   # f f 6 b 3 5 ;  
         w i d t h :   3 6 p x ;  
         h e i g h t :   3 6 p x ;  
         b o r d e r - r a d i u s :   5 0 % ;  
         c u r s o r :   p o i n t e r ;  
         f o n t - s i z e :   1 . 2 r e m ;  
         d i s p l a y :   f l e x ;  
         a l i g n - i t e m s :   c e n t e r ;  
         j u s t i f y - c o n t e n t :   c e n t e r ;  
         t r a n s i t i o n :   a l l   0 . 3 s ;  
 }  
  
 . c l o s e - m o d a l - b t n : h o v e r   {  
         b a c k g r o u n d :   # f f 6 b 3 5 ;  
         c o l o r :   w h i t e ;  
         t r a n s f o r m :   r o t a t e ( 9 0 d e g ) ;  
 }  
  
 / *   F i l t e r   G r i d   * /  
 . f i l t e r - g r i d   {  
         d i s p l a y :   g r i d ;  
         g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( a u t o - f i l l ,   m i n m a x ( 2 0 0 p x ,   1 f r ) ) ;  
         g a p :   1 2 p x ;  
 }  
  
 / *   C l e a r   F i l t e r   B u t t o n   * /  
 . b t n - c l e a r - f i l t e r   {  
         b a c k g r o u n d :   t r a n s p a r e n t ;  
         b o r d e r :   2 p x   s o l i d   # f f 6 b 3 5 ;  
         c o l o r :   # f f 6 b 3 5 ;  
         p a d d i n g :   1 0 p x   2 4 p x ;  
         b o r d e r - r a d i u s :   8 p x ;  
         c u r s o r :   p o i n t e r ;  
         f o n t - w e i g h t :   6 0 0 ;  
         t r a n s i t i o n :   a l l   0 . 3 s ;  
         d i s p l a y :   f l e x ;  
         a l i g n - i t e m s :   c e n t e r ;  
         g a p :   8 p x ;  
 }  
  
 . b t n - c l e a r - f i l t e r : h o v e r   {  
         b a c k g r o u n d :   # f f 6 b 3 5 ;  
         c o l o r :   w h i t e ;  
 }  
  
 / *   M o b i l e   R e s p o n s i v e n e s s   * /  
 @ m e d i a   ( m a x - w i d t h :   7 6 8 p x )   {  
         . f i l t e r - m o d a l - c o n t e n t   {  
                 h e i g h t :   1 0 0 v h ;  
                 m a x - h e i g h t :   n o n e ;  
                 b o r d e r - r a d i u s :   0 ;  
                 w i d t h :   1 0 0 % ;  
                 m a x - w i d t h :   n o n e ;  
         }  
  
         . f i l t e r - g r i d   {  
                 g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( 2 ,   1 f r ) ;  
         }  
 }  
 
/* Update after removing search box */
.filter-modal-header { border-bottom: 2px solid rgba(255, 107, 53, 0.2) !important; }
.filter-search-box-wrapper { display: none !important; }
