﻿/* Filmdata frontend â€” shared styles from WP shortcodes */

:root {
    --fd-gold: #E2B616;
    --fd-gold-hover: #f5c518;
    --fd-layout-max: 1280px;
    --fd-layout-gutter: 16px;
    --fd-hero-banner-width: 850px;
    --fd-hero-grid-gap: 24px;
    --fd-font-family: YekanBakh, Tahoma, sans-serif;
}

body {
    font-family: var(--fd-font-family);
}

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

.fd-site-header,
.fd-home-hero,
.fd-home-main,
.fd-carousel-block,
.fd-carousel-wrapper,
.fd-person-carousel-wrapper,
.fd-person-track,
.fd-home-hero-top,
.fd-home-hero-top__inner,
.fd-home-hero-top__grid,
.fd-home-hero-top__slider,
.fd-home-hero-top__sidebar,
.imdb-header,
.imdb-header__inner {
    min-width: 0;
    max-width: 100%;
}

/* â”€â”€ Section header â”€â”€ */
.fd-section-header {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}
.fd-section-title-link {
    display: inline-flex;
    text-decoration: none;
    color: inherit;
}
.fd-section-title {
    font-size: 24px;
    margin: 0;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
}
.fd-section-title__text {
    color: #fff;
    transition: color 0.2s ease;
}
.fd-section-title__arrow {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    margin-inline-start: 8px;
    color: #fff;
    transition: color 0.2s ease;
}
.fd-section-title-link:hover .fd-section-title__arrow {
    color: var(--fd-gold);
}
.fd-section-title__meta {
    margin-inline-start: 8px;
    font-size: 14px;
    color: var(--fd-gold);
    font-weight: 700;
}
.fd-section-title .fd-bar {
    align-self: center;
}
.fd-bar {
    display: inline-block;
    flex-shrink: 0;
    width: 5px;
    min-width: 5px;
    height: 1.15em;
    background: var(--fd-gold);
    border-radius: 999px;
    margin-inline-end: 10px;
    vertical-align: middle;
}
.fd-section-title__arrow--meta {
    width: 22px;
    height: 22px;
    margin-inline-start: 4px;
    color: #888;
}
.fd-section-divider {
    height: 1px;
    background: #444;
    margin: 12px 0 16px;
}

/* â”€â”€ Home hero (IMDb-style) â”€â”€ */
.fd-home-hero {
    width: 100%;
    background: #000;
    margin-bottom: 32px;
    padding: 0 var(--fd-layout-gutter) 8px;
}
.fd-home-hero-top__inner {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 0;
}
.fd-home-hero-top__grid {
    display: grid;
    grid-template-columns: minmax(0, var(--fd-hero-banner-width)) minmax(0, 1fr);
    gap: var(--fd-hero-grid-gap);
    align-items: start;
}
.fd-home-hero-top__slider {
    min-width: 0;
    order: 1;
    width: 100%;
    max-width: var(--fd-hero-banner-width);
    justify-self: start;
}
.fd-home-hero-top__sidebar {
    min-width: 0;
    order: 2;
    justify-self: end;
    width: 100%;
}
.fd-cinema-widgets {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
}
.fd-cinema-widget {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 14px 16px;
    text-align: right;
}
.fd-cinema-widget__title {
    margin: 0 0 8px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--fd-gold, #f5c518);
    letter-spacing: 0.02em;
}
.fd-cinema-widget__date {
    margin: 0 0 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}
.fd-cinema-widget__headline {
    margin: 0 0 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}
.fd-cinema-widget__body {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
}
.fd-cinema-widget__body a {
    color: var(--fd-gold, #f5c518);
    text-decoration: none;
}
.fd-cinema-widget__body a:hover {
    text-decoration: underline;
}
.fd-cinema-widget__meta {
    margin: 10px 0 0;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.65);
}
.fd-cinema-widget__meta a {
    color: var(--fd-gold, #f5c518);
    text-decoration: none;
}
.fd-cinema-widget__meta a:hover {
    text-decoration: underline;
}
@media (max-width: 992px) {
    .fd-home-hero {
        margin-bottom: 20px;
        padding: 0 var(--fd-layout-gutter) 4px;
    }
    .fd-home-hero-top__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .fd-home-hero-top__slider,
    .fd-home-hero-top__sidebar { order: unset; }
    .fd-home-hero-top__slider { width: 100%; max-width: 100%; }
    .fd-imdb-hero__carousel {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 5 / 3;
        border-radius: 12px;
    }
    .fd-up-next { min-height: 0; }
}
.fd-home-main {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 0 var(--fd-layout-gutter) 40px;
}
.fd-banner-link { display: block; text-decoration: none; }
.fd-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 0;
    margin-bottom: 0;
}
.fd-banner .fd-bg {
    width: 100%;
    height: auto;
    display: block;
}
.fd-banner .fd-logo {
    position: absolute;
    right: 15%;
    top: 50%;
    transform: translateY(50%) scale(0.6);
    opacity: 0;
    max-width: 220px;
    transition: all 1s ease;
    z-index: 2;
}
.fd-banner .fd-title-img {
    position: absolute;
    left: 20%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    max-width: 400px;
    transition: opacity 0.8s ease;
    z-index: 2;
}
.fd-banner.active .fd-logo {
    transform: translateY(-50%) scale(0.6);
    opacity: 1;
}
.fd-banner.active .fd-title-img { opacity: 1; }
@media (max-width: 768px) {
    .fd-banner .fd-logo {
        right: 20%;
        top: 49%;
        transform: translateY(-50%);
        width: 20%;
        max-width: none;
    }
    .fd-banner .fd-title-img {
        left: 20%;
        top: 50%;
        transform: translateY(-50%);
        width: 40%;
        max-width: none;
    }
}

/* â”€â”€ News grid â”€â”€ */
.fd-news-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 10px;
    margin-bottom: 32px;
}
.fd-news-card {
    position: relative;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    background-size: cover;
    background-position: center;
    min-height: 160px;
}
.fd-news-card--featured {
    grid-row: 1 / 3;
    min-height: 350px;
}
.fd-news-card__overlay {
    position: absolute;
    bottom: 0;
    padding: 15px;
    width: 100%;
    background: linear-gradient(0deg, rgba(0,0,0,1) 15%, rgba(0,0,0,0) 85%);
}
.fd-news-card--small .fd-news-card__overlay { padding: 10px; }
.fd-news-card h4 {
    margin: 0;
    font-size: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fd-news-card--featured h4 { font-size: 1.5rem; }
.fd-news-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media (max-width: 768px) {
    .fd-news-grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 10px;
    }
    .fd-news-grid::-webkit-scrollbar { display: none; }
    .fd-news-grid > a,
    .fd-news-grid .fd-news-bottom > a {
        flex: 0 0 85%;
        scroll-snap-align: start;
        min-height: 260px !important;
    }
    .fd-news-bottom { display: contents; }
    .fd-news-card h4 { font-size: 1.1rem; line-height: 1.4; }
}

/* â”€â”€ Person carousel (birthdays / deceased) â”€â”€ */
.fd-person-carousel-wrapper {
    position: relative;
    margin-bottom: 32px;
}
.fd-person-carousel-wrapper .fd-section-title,
.fd-person-carousel-wrapper .fd-section-title__text {
    color: #fff;
    font-weight: 700;
}
.fd-person-carousel-wrapper .fd-section-divider {
    background: rgba(255, 255, 255, 0.2);
    margin-bottom: 12px;
}
.fd-person-carousel-wrapper .fd-carousel-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.fd-person-carousel-wrapper .fd-carousel-arrow {
    width: 25px;
    height: 50px;
    border-radius: 0;
    background: rgba(0, 0, 0, 0.5);
    color: var(--fd-gold);
    font-size: 28px;
    line-height: 1;
}
.fd-person-carousel-wrapper .fd-carousel-arrow:hover {
    color: var(--fd-gold-hover);
}
.fd-person-track {
    display: flex;
    flex-wrap: nowrap;
    direction: rtl;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 20px;
    scroll-behavior: smooth;
    padding: 10px 36px;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.fd-person-track::-webkit-scrollbar { display: none; }
.fd-person-item {
    flex: 0 0 calc((100% - 5 * 20px) / 6);
    text-align: center;
    min-width: 0;
    pointer-events: auto;
}
.fd-person-item a,
.fd-person-item__link { text-decoration: none; color: inherit; display: block; }
.fd-person-avatar {
    width: 150px;
    height: 150px;
    max-width: 100%;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    position: relative;
    background: #1a1a1a;
}
.fd-person-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    display: block;
}
.fd-person-item h4,
.fd-person-item__name {
    margin: 10px 0 0;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.fd-person-age {
    color: #aaa;
    font-size: 14px;
    margin: 4px 0 0;
}
@media (max-width: 1024px) { .fd-person-item { flex: 0 0 calc((100% - 3 * 20px) / 4); } }
@media (max-width: 768px) {
    .fd-person-item {
        flex: 0 0 auto;
        width: 124px;
    }
    .fd-person-avatar { width: 124px; height: 124px; }
    .fd-person-item h4,
    .fd-person-item__name {
        font-size: 13px;
        margin-top: 10px;
        text-align: center;
    }
    .fd-person-age {
        font-size: 12px;
        color: #9a9a9a;
        text-align: center;
    }
    .fd-person-track { gap: 14px; padding: 8px 4px 4px; }
    .fd-person-carousel-wrapper .fd-carousel-arrow { display: none; }
}
@media (max-width: 480px) {
    .fd-person-item { width: 118px; }
    .fd-person-avatar { width: 118px; height: 118px; }
}

/* â”€â”€ Movie carousel â”€â”€ */
.fd-carousel-block { margin-bottom: 32px; }
.fd-carousel-wrapper {
    position: relative;
}
.fd-carousel-track {
    display: flex;
    direction: rtl;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    gap: 12px;
    padding: 10px 0;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    width: 100%;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
}
.fd-carousel-track::-webkit-scrollbar { display: none; }
.fd-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 64px;
    padding: 0;
    border: none;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    transition: color 0.2s ease, opacity 0.2s ease, visibility 0.2s ease;
}
.fd-carousel-arrow:hover { color: var(--fd-gold); }
.fd-carousel-arrow.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.fd-carousel-arrow--forward { left: 0; }
.fd-carousel-arrow--back { right: 0; }
.fd-carousel-arrow--prev { left: 0; }
.fd-carousel-arrow--next { right: 0; }

.fd-movie-card {
    flex: 0 0 calc((100% - 5 * 12px) / 6);
    background: #222;
    text-align: center;
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 8px 0 8px 8px;
}
.fd-movie-card__poster-wrap {
    position: relative;
    border-radius: 8px 0 0 0;
    overflow: hidden;
    line-height: 0;
}
.fd-movie-card__poster-link {
    display: block;
}
.fd-movie-card__poster-wrap img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-movie-card h3 {
    margin: 8px 0 4px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}
.fd-movie-info {
    text-align: center;
    font-size: 12px;
    color: #aaa;
    padding: 0 6px 10px;
}
.fd-movie-info a { color: var(--fd-gold); text-decoration: none; }
.fd-movie-rating { font-size: 14px; color: #f5c518; margin-top: 6px; }
@media (max-width: 1024px) { .fd-movie-card { flex: 0 0 calc((100% - 3 * 12px) / 4); } }
@media (max-width: 768px) {
    .fd-movie-card {
        flex: 0 0 auto;
        width: 140px;
        background: transparent;
        border-radius: 0;
    }
    .fd-movie-card__poster-wrap {
        border-radius: 6px;
    }
    .fd-movie-card__poster-wrap img {
        border-radius: 6px;
    }
}
@media (max-width: 480px) {
    .fd-movie-card { width: 132px; }
}

/* â”€â”€ Homepage work cards (movie / series) â”€â”€ */
.fd-home-work-card {
    flex: 0 0 calc((100% - 5 * 12px) / 6);
    background: #222;
    text-align: center;
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 8px 0 8px 8px;
    display: flex;
    flex-direction: column;
}
.fd-home-work-card--cover {
    flex: 0 0 calc((100% - 2 * 12px) / 3);
}
.fd-carousel-track--series {
    gap: 12px;
}
.fd-home-work-card__poster-wrap {
    position: relative;
    border-radius: 8px 0 0 0;
    overflow: hidden;
    line-height: 0;
}
.fd-home-work-card__poster-link {
    display: block;
}
.fd-home-work-card__poster-wrap img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-home-work-card--cover .fd-home-work-card__poster-wrap img {
    aspect-ratio: 16/9;
}
.fd-home-work-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 8px 8px 10px;
    text-align: center;
}
.fd-home-work-card__title {
    display: block;
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.fd-home-work-card__title:hover {
    color: var(--fd-gold);
}
.fd-home-work-card__meta {
    margin: 0 0 4px;
    font-size: 12px;
    line-height: 1.4;
    color: #aaa;
}
.fd-home-work-card__director {
    margin: 0 0 8px;
    font-size: 12px;
    line-height: 1.4;
    color: #fff;
    min-height: 2.8em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.fd-home-work-card__director--empty {
    visibility: hidden;
}
.fd-home-work-card__director a {
    color: #fff;
    text-decoration: none;
}
.fd-home-work-card__director a:hover {
    color: var(--fd-gold);
}
.fd-home-work-card__platform {
    margin: 0;
    font-size: 0.82rem;
    color: #5b6472;
    line-height: 1.4;
}
.fd-home-work-card__stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    min-height: 24px;
}
.fd-home-work-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 700;
    color: var(--fd-gold);
}
.fd-home-work-card__info {
    flex-shrink: 0;
    color: #ccc;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    line-height: 0;
    transition: color 0.2s ease;
}
.fd-home-work-card__info:hover {
    color: var(--fd-gold);
}
@media (max-width: 1024px) {
    .fd-home-work-card { flex: 0 0 calc((100% - 3 * 12px) / 4); }
    .fd-home-work-card--cover { flex: 0 0 calc((100% - 12px) / 2); }
}
@media (max-width: 768px) {
    .fd-home-work-card {
        flex: 0 0 auto;
        width: 140px;
        background: transparent;
        border-radius: 0;
    }
    .fd-home-work-card--cover {
        width: 78%;
        max-width: 320px;
    }
    .fd-home-work-card__poster-wrap {
        border-radius: 6px;
    }
    .fd-home-work-card__poster-wrap img {
        border-radius: 6px;
    }
    .fd-home-work-card__body {
        padding: 8px 2px 0;
        text-align: start;
    }
    .fd-home-work-card__title {
        font-size: 13px;
        line-height: 1.35;
        -webkit-line-clamp: 2;
    }
    .fd-home-work-card__director,
    .fd-home-work-card__meta {
        font-size: 11px;
        margin-top: 4px;
    }
    .fd-carousel-wrapper--movies .fd-carousel-arrow,
    .fd-carousel-wrapper--series .fd-carousel-arrow {
        display: none;
    }
    .fd-carousel-track {
        gap: 10px;
        padding: 4px 0 8px;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x pan-y;
        overscroll-behavior-x: contain;
    }
}
@media (max-width: 480px) {
    .fd-home-work-card { width: 132px; }
    .fd-home-work-card--cover {
        width: 82%;
        max-width: none;
    }
}

/* â”€â”€ Today persons listing â”€â”€ */
.fd-today-persons__meta,
.fd-today-persons__empty {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.6;
}
.fd-today-persons__empty {
    margin: 8px 0 0;
}
.fd-today-persons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 24px 20px;
}
.fd-today-person-card {
    text-align: center;
    text-decoration: none;
    color: inherit;
}
.fd-today-person-card__avatar {
    width: 150px;
    height: 150px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
}
.fd-today-person-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.fd-today-person-card__name {
    margin: 12px 0 0;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
}
.fd-today-person-card__age {
    margin: 4px 0 0;
    font-size: 14px;
    color: #aaa;
}
.fd-today-person-card:hover .fd-today-person-card__name {
    color: var(--fd-gold);
}

/* â”€â”€ Series list page grid â”€â”€ */
.fd-series-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.fd-series-list-grid .fd-home-work-card,
.fd-series-list-grid .fd-home-work-card--cover {
    flex: unset;
    width: 100%;
}

/* â”€â”€ Series carousel â”€â”€ */
.fd-series-card {
    flex: 0 0 calc((100% - 2 * 12px) / 3);
    background: #222;
    text-align: center;
    overflow: hidden;
    scroll-snap-align: start;
}
.fd-series-card img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}
@media (max-width: 1024px) { .fd-series-card { flex: 0 0 calc((100% - 12px) / 2); } }
@media (max-width: 768px) { .fd-series-card { flex: 0 0 82%; } }
@media (max-width: 480px) { .fd-series-card { flex: 0 0 86%; } }

/* â”€â”€ IMDb header (RTL) â”€â”€ */
.imdb-header {
    background: #000;
    padding: 8px var(--fd-layout-gutter);
}
.imdb-header__inner {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    width: 100%;
}
.imdb-header__start {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 1 auto;
    min-width: 0;
}
.imdb-header__logo {
    display: block;
    line-height: 0;
    flex-shrink: 0;
}
.imdb-header__logo-img {
    height: 36px;
    width: auto;
    max-width: min(160px, 42vw);
    display: block;
    object-fit: contain;
}
.imdb-header__menu-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.15s;
}
.imdb-header__menu-btn:hover { background: rgba(255,255,255,0.08); }
.imdb-header__search {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}
.imdb-header__end {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-inline-start: 0;
}
.imdb-header__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: none;
    background: transparent;
    color: #fff !important;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    border-radius: 4px;
    white-space: nowrap;
    transition: background 0.15s;
}
.imdb-header__action:hover { background: rgba(255,255,255,0.08); }

/* â”€â”€ IMDb search (wide bar) â”€â”€ */
.imdb-search {
    position: relative;
    width: 100%;
    max-width: 720px;
}
.imdb-search__bar {
    display: flex;
    align-items: stretch;
    height: 40px;
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.imdb-search__scope {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    border: none;
    border-left: 1px solid #ccc;
    background: #fff;
    color: #000;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 72px;
}
.imdb-search__scope:hover { background: #f5f5f5; }
.imdb-search__input {
    flex: 1;
    min-width: 0;
    border: none;
    background: #fff !important;
    color: #000 !important;
    font-size: 0.9375rem;
    padding: 0 12px;
    outline: none;
}
.imdb-search__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    flex-shrink: 0;
    border: none;
    background: #fff;
    color: #555;
    cursor: pointer;
    padding: 0;
}
.imdb-search__submit:hover { color: #000; }
.imdb-search__dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    width: 280px;
    background: #1f1f1f;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.5);
    z-index: 10000;
    overflow: hidden;
}
.imdb-search__categories {
    list-style: none;
    margin: 0;
    padding: 6px 0;
}
.imdb-search__category {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 14px;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: right;
    cursor: pointer;
    transition: background 0.12s;
}
.imdb-search__category:hover { background: rgba(255,255,255,0.06); }
.imdb-search__category.is-active { color: #f5c518; }
.imdb-search__category-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    flex-shrink: 0;
    opacity: 0.85;
}
.imdb-search__category.is-active .imdb-search__category-icon { opacity: 1; }
.imdb-search__dropdown-divider {
    height: 1px;
    background: rgba(255,255,255,0.12);
    margin: 0;
}
.imdb-search__advanced {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.12s;
}
.imdb-search__advanced:hover {
    background: rgba(255,255,255,0.06);
    color: #fff;
}
.imdb-search__advanced-arrow {
    margin-right: auto;
    opacity: 0.6;
}
.imdb-search__results {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    width: 280px;
    background: #fff;
    max-height: 320px;
    overflow-y: auto;
    z-index: 9999;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    display: none;
}
.imdb-search__results.is-open { display: block; }
.imdb-search__result-item {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    color: #222;
    font-size: 0.8125rem;
    text-align: right;
}
.imdb-search__result-item:hover { background: #f5f5f5; }
.imdb-search__result-item small {
    display: block;
    color: #888;
    font-size: 0.6875rem;
    margin-top: 2px;
}

@media (max-width: 992px) {
    .imdb-header__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "start end"
            "search search";
        align-items: center;
        gap: 8px 10px;
        width: 100%;
    }
    .imdb-header__start {
        grid-area: start;
        flex: 0 1 auto;
        min-width: 0;
    }
    .imdb-header__search {
        grid-area: search;
        width: 100%;
        max-width: 100%;
        flex: none;
    }
    .imdb-header__end {
        grid-area: end;
        margin-inline-start: 0;
        justify-self: end;
    }
    .imdb-search {
        width: 100%;
        max-width: 100%;
    }
    .imdb-search__dropdown,
    .imdb-search__results {
        width: 100%;
        max-width: 100%;
    }
    .imdb-header__menu-text,
    .imdb-header__action span {
        display: none;
    }
    .imdb-header__action {
        padding: 8px;
    }
}

/* â”€â”€ Legacy user/fav (other pages) â”€â”€ */
.fd-user-menu {
    display: flex;
    gap: 10px;
    align-items: center;
}
.fd-user-menu a {
    padding: 6px 10px;
    border-radius: 30px;
    text-decoration: none;
    color: #fff !important;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.fd-user-menu a:hover { box-shadow: 0 0 8px rgba(200,200,200,0.5); }
.fd-admin-link,
.fd-favorite-link {
    color: #fff !important;
    border: none;
    border-radius: 30px;
    padding: 3px 10px;
    text-decoration: none;
    background: transparent;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.fd-admin-link:hover,
.fd-favorite-link:hover { box-shadow: 0 0 8px rgba(200,200,200,0.5); }
.fd-logout-link {
    background: none;
    border: none;
    color: #fff !important;
    font-size: 14px;
    padding: 6px 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.fd-logout-link:hover { box-shadow: 0 0 8px rgba(200,200,200,0.5); }

/* â”€â”€ Admin bar (front) â”€â”€ */
.fd-admin-bar {
    background: #1d2327;
    color: #f0f0f1;
    border-bottom: 1px solid #2c3338;
    font-size: 13px;
    line-height: 1;
    z-index: 100100;
}
.fd-admin-bar__inner {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 0 var(--fd-layout-gutter);
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 4px 14px;
    flex-wrap: wrap;
}
.fd-admin-bar__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #f0f0f1;
    text-decoration: none;
    padding: 8px 0;
    white-space: nowrap;
    transition: color 0.15s ease;
}
.fd-admin-bar__link:hover {
    color: var(--fd-gold);
}
.fd-admin-bar__link--primary {
    font-weight: 700;
}
.fd-admin-bar__spacer {
    flex: 1 1 auto;
    min-width: 8px;
}
.fd-admin-bar__user {
    color: #a7aaad;
    white-space: nowrap;
    padding: 8px 0;
}
@media (max-width: 640px) {
    .fd-admin-bar__inner {
        gap: 4px 12px;
    }
    .fd-admin-bar__link:not(.fd-admin-bar__link--primary),
    .fd-admin-bar__user {
        display: none;
    }
}

/* â”€â”€ Site header wrapper + drawer â”€â”€ */
.fd-site-header {
    background: #000;
    border-bottom: none;
    padding: 0;
    margin-bottom: 0;
}
.fd-site-nav-drawer {
    display: none;
}

/* â”€â”€ IMDb full-screen menu (slide from top) â”€â”€ */
.imdb-menu {
    position: fixed;
    inset: 0;
    z-index: 3000;
    visibility: hidden;
    pointer-events: none;
}
.imdb-menu.is-open {
    visibility: visible;
    pointer-events: auto;
}
.imdb-menu__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.35s ease;
}
.imdb-menu.is-open .imdb-menu__backdrop {
    opacity: 1;
}
.imdb-menu__panel {
    position: relative;
    z-index: 2;
    background: #12181c;
    max-height: min(88vh, 720px);
    overflow-y: auto;
    transform: translateY(-100%);
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}
.imdb-menu.is-open .imdb-menu__panel {
    transform: translateY(0);
}
.imdb-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.imdb-menu__logo img {
    height: 40px;
    width: auto;
    display: block;
}
.imdb-menu__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: #f5c518;
    color: #000;
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.15s, background 0.15s;
}
.imdb-menu__close:hover {
    background: #ffda3a;
    transform: scale(1.05);
}
.imdb-menu__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 32px;
    padding: 24px 32px 32px;
    max-width: 1100px;
    margin: 0 auto;
}
.imdb-menu__col {
    min-width: 0;
}
.imdb-menu__section {
    margin-bottom: 28px;
}
.imdb-menu__section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
}
.imdb-menu__section-icon {
    display: flex;
    color: #f5c518;
    flex-shrink: 0;
}
.imdb-menu__links {
    list-style: none;
    margin: 0;
    padding: 0;
}
.imdb-menu__links li {
    margin-bottom: 2px;
}
.imdb-menu__links a {
    display: block;
    padding: 5px 0;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    font-size: 0.9375rem;
    line-height: 1.5;
    transition: color 0.12s;
}
.imdb-menu__links a:hover {
    color: #f5c518;
}
@media (max-width: 900px) {
    .imdb-menu__grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 20px 20px 28px;
    }
}
@media (max-width: 560px) {
    .imdb-menu__grid {
        grid-template-columns: 1fr;
    }
    .imdb-menu__top {
        padding: 12px 16px;
    }
}

.fd-site-nav-overlay {
    display: none;
}
body.fd-menu-open { overflow: hidden; }

/* â”€â”€ Search results grid â”€â”€ */
.fd-search-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 15px;
}
.fd-search-grid .fd-search-grid-item {
    text-decoration: none;
    text-align: center;
}
.fd-search-grid img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 10px;
}
.fd-search-grid .fd-search-grid-title {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 14px;
}
.fd-search-grid-meta {
    margin-top: 2px;
    font-size: 12px;
    color: #aaa;
}
@media (max-width: 1200px) { .fd-search-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px) {
    .fd-search-grid { grid-template-columns: repeat(3, 1fr); }
    .fd-search-grid img { height: 200px; }
}
@media (max-width: 600px) {
    .fd-search-grid { grid-template-columns: repeat(2, 1fr); }
    .fd-search-grid img { height: 280px; }
    .fd-search-grid .fd-search-grid-title { font-size: 12px; }
}

/* â”€â”€ Browse movie/series grid (homepage-style cards, 5 columns) â”€â”€ */
.fd-browse-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.fd-browse-grid .fd-home-work-card,
.fd-browse-grid .fd-home-work-card--cover {
    flex: unset;
    width: 100%;
    min-width: 0;
}
@media (max-width: 1200px) {
    .fd-browse-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .fd-browse-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .fd-browse-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) { .fd-fav-text { display: none; } }

/* â”€â”€ IMDb hero carousel (RTL: right column) â”€â”€ */
.fd-imdb-hero { height: 100%; }
.fd-imdb-hero__carousel {
    position: relative;
    width: 100%;
    max-width: var(--fd-hero-banner-width);
    height: 547px;
    border-radius: 8px;
    overflow: hidden;
    background: #1a1a1a;
}
.fd-imdb-hero__track {
    position: relative;
    width: 100%;
    height: 100%;
}
.fd-imdb-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.45s ease;
    pointer-events: none;
}
.fd-imdb-hero__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}
.fd-imdb-hero__bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-imdb-hero__gradient {
    position: absolute;
    inset: auto 0 0 0;
    height: 62%;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0.88) 30%,
        rgba(0, 0, 0, 0.45) 65%,
        transparent 100%
    );
    z-index: 1;
    pointer-events: none;
}
.fd-imdb-hero__info {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    gap: 12px;
    padding: 0 16px 14px;
}
.fd-imdb-hero__poster-wrap {
    flex-shrink: 0;
    position: relative;
    line-height: 0;
    border-radius: 8px 0 8px 8px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.8);
}
.fd-movie-card__poster-wrap .fd-poster-fav-form,
.fd-movie-card__poster-wrap > .fd-poster-fav-btn,
.fd-home-work-card__poster-wrap .fd-poster-fav-form,
.fd-home-work-card__poster-wrap > .fd-poster-fav-btn,
.fd-imdb-hero__poster-wrap .fd-poster-fav-form,
.fd-imdb-hero__poster-wrap > .fd-poster-fav-btn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    margin: 0;
    padding: 0;
    line-height: 0;
}
.fd-poster-fav-form {
    border: none;
}
.fd-poster-fav-btn {
    display: block;
    position: relative;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    line-height: 0;
}
.fd-poster-fav-btn--lg {
    width: 40px;
    height: 53px;
}
.fd-poster-fav-btn--sm {
    width: 30px;
    height: 40px;
}
.fd-poster-fav-btn--md {
    width: 45px;
    height: 60px;
}
.fd-poster-fav-btn--lg .fd-imdb-hero__fav-icon-wrap,
.fd-poster-fav-btn--lg .fd-imdb-hero__fav-icon {
    width: 40px;
    height: 53px;
}
.fd-poster-fav-btn .fd-imdb-hero__fav-icon {
    display: block;
    width: 100%;
    height: 100%;
}
.fd-poster-fav-btn--sm .fd-imdb-hero__fav-icon-wrap,
.fd-poster-fav-btn--sm .fd-imdb-hero__fav-icon {
    width: 30px;
    height: 40px;
}
.fd-poster-fav-btn--md .fd-imdb-hero__fav-icon-wrap,
.fd-poster-fav-btn--md .fd-imdb-hero__fav-icon {
    width: 45px;
    height: 60px;
}
.fd-poster-fav-btn--lg .fd-imdb-hero__fav-plus {
    width: 27px;
    height: 27px;
    top: 7px;
}
.fd-poster-fav-btn--lg .fd-imdb-hero__fav-check {
    width: 24px;
    height: 24px;
    top: 7px;
}
.fd-poster-fav-btn--sm .fd-imdb-hero__fav-plus {
    width: 18px;
    height: 18px;
    top: 5px;
}
.fd-poster-fav-btn--sm .fd-imdb-hero__fav-check {
    width: 16px;
    height: 16px;
    top: 5px;
}
.fd-poster-fav-btn--md .fd-imdb-hero__fav-plus {
    width: 27px;
    height: 27px;
    top: 7px;
}
.fd-poster-fav-btn--md .fd-imdb-hero__fav-check {
    width: 24px;
    height: 24px;
    top: 7px;
}
.fd-poster-fav-btn .fd-imdb-hero__fav-plus,
.fd-poster-fav-btn .fd-imdb-hero__fav-check {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    pointer-events: none;
}
.fd-poster-fav-btn .fd-imdb-hero__fav-check {
    display: none;
    color: #000;
}
.fd-poster-fav-btn.is-favorited .fd-imdb-hero__fav-plus {
    display: none;
}
.fd-poster-fav-btn.is-favorited .fd-imdb-hero__fav-check {
    display: block;
}
.fd-poster-fav-btn .fd-imdb-hero__fav-ribbon-bg {
    fill: #1a1008;
    transition: fill 0.2s ease;
}
.fd-poster-fav-btn:hover .fd-imdb-hero__fav-ribbon-bg {
    fill: #2d1a10;
}
.fd-poster-fav-btn.is-favorited .fd-imdb-hero__fav-ribbon-bg,
.fd-poster-fav-btn.is-favorited:hover .fd-imdb-hero__fav-ribbon-bg {
    fill: #f5c518;
}
.fd-imdb-hero__poster-link {
    display: block;
    line-height: 0;
}
.fd-imdb-hero__poster {
    width: 165px;
    height: 244px;
    object-fit: cover;
    display: block;
}
.fd-imdb-hero__fav-icon-wrap {
    display: block;
    position: relative;
}
.fd-imdb-hero__fav-icon {
    display: block;
}
.fd-imdb-hero__copy {
    flex: 1;
    min-width: 0;
    text-align: right;
    padding-bottom: 8px;
}
.fd-imdb-hero__title-row {
    display: block;
    text-decoration: none;
    color: #fff;
    margin-bottom: 8px;
}
.fd-imdb-hero__title-row h3 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.3;
    color: #fff;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
.fd-imdb-hero__story {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
    text-align: justify;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fd-imdb-hero__nav {
    position: absolute;
    top: calc((100% - 258px) / 2 + 44px);
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 66px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.85);
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fd-imdb-hero__nav:hover {
    background: rgba(0, 0, 0, 0.65);
    border-color: #fff;
}
.fd-imdb-hero__nav--prev { left: 0; border-radius: 0 4px 4px 0; }
.fd-imdb-hero__nav--next { right: 0; border-radius: 4px 0 0 4px; }
.fd-imdb-hero__nav svg {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
}

/* â”€â”€ IMDb "Up next" sidebar (RTL: left column) â”€â”€ */
.fd-up-next {
    display: flex;
    flex-direction: column;
    min-height: 547px;
}
.fd-up-next__heading {
    margin: 0 0 16px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffad00;
    letter-spacing: 0.01em;
}
.fd-up-next__list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.fd-up-next__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.15s ease;
}
.fd-up-next__item:hover { opacity: 0.82; }
.fd-up-next__thumb {
    flex-shrink: 0;
    width: 128px;
    height: 72px;
    object-fit: cover;
    border-radius: 4px;
    background: #222;
}
.fd-up-next__body {
    flex: 1;
    min-width: 0;
    text-align: right;
}
.fd-up-next__meta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.5);
}
.fd-up-next__play-icon { flex-shrink: 0; opacity: 0.7; }
.fd-up-next__title {
    margin: 0 0 3px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fd-up-next__sub {
    margin: 0;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.3;
}
.fd-up-next__more {
    display: inline-block;
    margin-top: 18px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    transition: color 0.15s ease;
}
.fd-up-next__more:hover { color: #ffad00; }

/* â”€â”€ News simple list â”€â”€ */
.fd-news-simple-box {
    margin-bottom: 32px;
    background: #000;
}
.fd-news-simple-box--sidebar {
    margin-bottom: 0;
    min-height: 547px;
    display: flex;
    flex-direction: column;
}
.fd-news-simple-box--sidebar .fd-section-header {
    margin-bottom: 0;
}
.fd-news-simple-box--sidebar .fd-section-title {
    font-size: 20px;
}
.fd-news-simple-box--sidebar .fd-section-divider {
    margin: 12px 0;
}
.fd-news-simple-box--sidebar .fd-news-simple-list {
    flex: 1;
}
.fd-news-simple-box--sidebar .fd-news-simple-item h4 {
    font-size: 15px;
    line-height: 2;
    margin: 6px 0 0;
}
.fd-news-simple-box--sidebar .fd-news-simple-text {
    font-size: 14px;
    line-height: 1.9;
    margin: 0 0 1em;
}
.fd-news-simple-box--sidebar .fd-news-simple-divider {
    margin: 12px 0;
    border-top-color: #444;
}
@media (max-width: 992px) {
    .fd-news-simple-box--sidebar { min-height: 0; }
}
.fd-news-simple-item {
    margin-bottom: 0;
}
.fd-news-simple-item a {
    text-decoration: none;
    color: inherit;
    display: block;
}
.fd-news-simple-item a:hover h4 {
    color: #fff;
    opacity: 0.9;
}
.fd-news-simple-item h4 {
    font-size: 15px;
    line-height: 2;
    margin: 6px 0 0;
    text-align: justify;
    color: #fff;
    font-weight: 700;
}
.fd-news-simple-item:not(:has(.fd-news-simple-text)) h4 {
    margin-bottom: 0;
}
.fd-news-simple-text {
    font-size: 14px;
    color: #afadad;
    line-height: 1.9;
    margin: 0 0 1em;
    text-align: justify;
}
.fd-news-simple-divider {
    border: none;
    border-top: 1px solid #444;
    margin: 12px 0;
}

@media (max-width: 768px) {
    .fd-imdb-hero__carousel {
        border-radius: 12px;
        aspect-ratio: 5 / 3;
        height: auto;
    }
    .fd-imdb-hero__gradient {
        height: 62%;
    }
    .fd-imdb-hero__info {
        gap: 10px;
        padding: 0 12px 6px;
        align-items: flex-end;
        z-index: 4;
    }
    .fd-imdb-hero__poster-wrap {
        border-radius: 8px 0 8px 8px;
        box-shadow: 0 3px 12px rgba(0, 0, 0, 0.75);
        position: relative;
        z-index: 5;
        margin-top: 8px;
    }
    .fd-imdb-hero__poster {
        width: 100px;
        height: 144px;
    }
    .fd-imdb-hero__poster-wrap .fd-poster-fav-btn--lg {
        width: 32px;
        height: 42px;
    }
    .fd-imdb-hero__poster-wrap .fd-poster-fav-btn--lg .fd-imdb-hero__fav-icon-wrap,
    .fd-imdb-hero__poster-wrap .fd-poster-fav-btn--lg .fd-imdb-hero__fav-icon {
        width: 32px;
        height: 42px;
    }
    .fd-imdb-hero__poster-wrap .fd-poster-fav-btn--lg .fd-imdb-hero__fav-plus {
        width: 20px;
        height: 20px;
        top: 6px;
    }
    .fd-imdb-hero__poster-wrap .fd-poster-fav-btn--lg .fd-imdb-hero__fav-check {
        width: 18px;
        height: 18px;
        top: 6px;
    }
    .fd-imdb-hero__copy {
        padding-bottom: 4px;
    }
    .fd-imdb-hero__title-row {
        margin-bottom: 4px;
    }
    .fd-imdb-hero__title-row h3 {
        font-size: 0.95rem;
        line-height: 1.25;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    .fd-imdb-hero__story {
        font-size: 0.72rem;
        line-height: 1.35;
        -webkit-line-clamp: 2;
        margin: 0;
    }
    .fd-imdb-hero__nav {
        width: 36px;
        height: 48px;
        top: 22%;
        transform: translateY(-50%);
        z-index: 6;
    }
    .fd-imdb-hero__nav svg {
        width: 18px;
        height: 18px;
    }
    .fd-up-next__thumb {
        width: 100px;
        height: 56px;
    }

    .fd-home-main {
        padding: 0 var(--fd-layout-gutter) 28px;
    }
    .fd-section-title {
        font-size: 18px;
    }
    .fd-section-title__arrow {
        width: 22px;
        height: 22px;
    }
    .fd-carousel-block,
    .fd-person-carousel-wrapper {
        margin-bottom: 22px;
    }
    .fd-carousel-track {
        gap: 10px;
        padding: 4px 0 8px;
    }
    .fd-home-work-card__title {
        font-size: 13px;
    }
    .fd-home-work-card__body {
        padding: 8px 2px 0;
    }
    .fd-home-work-card__rating {
        font-size: 12px;
    }
    .fd-news-simple-box--sidebar .fd-section-title {
        font-size: 15px;
    }
    .fd-news-simple-item h4 {
        font-size: 12px;
        line-height: 1.5;
        margin-top: 4px;
    }
    .fd-news-simple-text {
        font-size: 11px;
        line-height: 1.5;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-bottom: 0.6em;
    }
    .fd-news-simple-divider {
        margin: 8px 0;
    }
    .fd-news-simple-box--sidebar .fd-news-simple-item h4 {
        font-size: 12px;
        line-height: 1.5;
    }
    .fd-news-simple-box--sidebar .fd-news-simple-text {
        font-size: 11px;
        line-height: 1.5;
    }
}

@media (max-width: 480px) {
    .fd-imdb-hero__poster {
        width: 100px;
        height: 144px;
    }
    .fd-imdb-hero__title-row h3 {
        font-size: 0.88rem;
    }
    .fd-imdb-hero__story {
        -webkit-line-clamp: 2;
    }
    .fd-carousel-arrow {
        width: 34px;
        height: 52px;
    }
}

/* â”€â”€ Festival carousel card â”€â”€ */
.fd-festival-card {
    flex: 0 0 calc((100% - 5 * 12px) / 6);
    background: #222;
    text-align: center;
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 12px;
}
.fd-festival-card__poster-wrap {
    position: relative;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    line-height: 0;
}
.fd-festival-card__poster-link {
    display: block;
}
.fd-festival-card__poster-wrap img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-festival-card h3 {
    margin: 8px 0 4px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}
.fd-festival-card__year {
    margin: 0 0 10px;
    padding: 0 6px;
    font-size: 13px;
    color: #aaa;
    text-align: center;
}
.fd-festival-card__title-link {
    display: block;
}
.fd-festival-card__year {
    margin: 0 0 10px;
    padding: 0 6px;
    font-size: 13px;
    color: #aaa;
    text-align: center;
}
.fd-festival-card__poster-wrap .fd-profile-fav-form,
.fd-festival-card__poster-wrap > .fd-profile-fav-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 5;
    margin: 0;
    padding: 0;
}
.fd-festival-card__poster-wrap .fd-profile-fav-btn {
    width: 34px;
    height: 34px;
}
.fd-festival-card__poster-wrap .fd-profile-fav-btn__icon {
    width: 18px;
    height: 18px;
}
@media (max-width: 1024px) { .fd-festival-card { flex: 0 0 calc((100% - 3 * 12px) / 4); } }
@media (max-width: 768px) {
    .fd-festival-card {
        flex: 0 0 auto;
        width: 140px;
        background: transparent;
        border-radius: 0;
    }
    .fd-festival-card__poster-wrap,
    .fd-festival-card__poster-wrap img {
        border-radius: 6px;
    }
}
@media (max-width: 480px) {
    .fd-festival-card { width: 132px; }
}

/* â”€â”€ Movie page layout â”€â”€ */
.fd-movie-main {
    width: 100%;
    max-width: none !important;
    padding: 0 !important;
    margin: 0;
}
/* If Bootstrap .container was applied by mistake, still force full width */
body:has(.fd-movie-page) > main {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
    margin-inline: 0 !important;
}
.fd-movie-page {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}
.fd-movie-backdrop {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #000;
}
.fd-movie-backdrop--has-bg::before {
    content: '';
    position: absolute;
    inset: -15%;
    z-index: 0;
    background-image: var(--fd-movie-cover);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    filter: blur(72px) saturate(1.3) brightness(0.75);
    opacity: 0.95;
    transform: scale(1.22);
}
.fd-movie-backdrop__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 100% 80% at 50% 10%, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.9) 100%),
        linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.65) 55%, #000 100%);
}
.fd-movie-backdrop__inner {
    position: relative;
    z-index: 2;
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 15px var(--fd-layout-gutter) 0;
}
.fd-movie-body--light {
    background: #fff;
    color: #1a1a1a;
    padding: 0 0 48px;
    /* Edge-to-edge white band across the viewport */
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
}
.fd-movie-body__inner {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 24px var(--fd-layout-gutter) 0;
}
.fd-movie-body--light .fd-section-title,
.fd-movie-body--light .fd-section-title__text,
.fd-movie-body--light .fd-subsection-title {
    color: #000;
    font-weight: 800;
}
.fd-movie-body--light .fd-section-title .fd-bar,
.fd-movie-body--light .fd-subsection-title .fd-bar {
    background: var(--fd-gold);
}
.fd-movie-body--light .fd-section-divider {
    background: #e5e5e5;
}
.fd-movie-body--light .fd-section-title__arrow {
    color: #111;
}
.fd-movie-body--light .fd-section-title-link:hover .fd-section-title__arrow {
    color: var(--fd-gold);
}
.fd-movie-body--light .fd-cast-person,
.fd-movie-body--light .fd-cast-table a,
.fd-movie-body--light .fd-block--light a,
.fd-movie-body--light .fd-awards-list a {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-movie-body--light .fd-cast-person:hover,
.fd-movie-body--light .fd-cast-table a:hover,
.fd-movie-body--light .fd-block--light a:hover,
.fd-movie-body--light .fd-awards-list a:hover {
    color: #0d47a1;
    text-decoration: underline;
}
.fd-movie-body--light .fd-section-title__meta,
.fd-movie-body--light .fd-section-title small {
    color: #666;
    font-weight: 700;
}
.fd-movie-body--light .fd-about-box {
    background: #f5f5f5;
    border-color: #ddd;
    color: #333;
}
.fd-movie-body--light .fd-cast-table-wrap {
    border-color: #ddd;
    background: #fafafa;
}
.fd-movie-body--light .fd-cast-table td {
    color: #333;
    border-bottom-color: #e5e5e5;
}
.fd-movie-body--light .fd-cast-table tr:nth-child(even) {
    background: #f3f3f3;
}
.fd-movie-body--light .fd-awards-list {
    color: #444;
}
.fd-movie-body--light .fd-spec-label {
    color: #000;
    font-weight: 800;
}
.fd-movie-body--light .fd-related-news-item {
    background: #f5f5f5;
}
.fd-movie-body--light .fd-related-news-item__title {
    color: #222;
}
.fd-movie-body--light .fd-related-news-item__date {
    color: #666;
}

.fd-movie-hero {
    position: relative;
    width: 100%;
    padding: 0;
    margin-bottom: 15px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: clamp(16px, 3vw, 32px);
    row-gap: 10px;
    align-items: start;
}
.fd-movie-hero__actions-row,
.fd-movie-hero__top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    margin-bottom: 0;
    grid-column: 2;
    grid-row: 1;
}

.fd-person-page .fd-movie-hero,
.fd-award-page .fd-movie-hero,
.fd-news-page .fd-movie-hero,
.fd-genre-page .fd-movie-hero,
.fd-activity-page .fd-movie-hero {
    padding: 0;
    margin-bottom: 15px;
}
.fd-person-page .fd-movie-hero__actions-row,
.fd-person-page .fd-movie-hero__top,
.fd-award-page .fd-movie-hero__actions-row,
.fd-award-page .fd-movie-hero__top,
.fd-news-page .fd-movie-hero__actions-row,
.fd-news-page .fd-movie-hero__top {
    margin-bottom: 0;
}
.fd-person-page .fd-movie-hero__actions-row,
.fd-person-page .fd-movie-hero__top {
    justify-content: flex-end;
    justify-self: stretch;
    width: 100%;
}
/* News: toolbar outside the 813px title card â€” full layout width, physical left */
.fd-news-page .fd-news-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 15px;
}
.fd-news-page .fd-news-hero__toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* RTL â†’ physical left of full layout */
    gap: 20px;
    width: 100%;
    margin: 0;
}
.fd-news-page .fd-news-hero__title-card {
    width: 813px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.fd-news-page .fd-news-hero__title-card .fd-movie-hero__title {
    font-size: clamp(1.125rem, 3.2vw, 1.875rem);
    line-height: 1.35 !important;
    text-align: justify;
}
.fd-movie-hero__actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.fd-movie-hero__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 18px;
}
.fd-movie-hero__nav-link {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    font-size: 0.875rem;
    white-space: nowrap;
    transition: color 0.2s ease;
}
.fd-movie-hero__nav-link:hover {
    color: #fff;
}
.fd-movie-hero__top .fd-share-wrap {
    flex-shrink: 0;
}
.fd-movie-hero__top .fd-share-btn {
    color: rgba(255, 255, 255, 0.78);
}
.fd-movie-hero__top .fd-share-btn:hover {
    color: #fff;
}
.fd-movie-page [id] {
    scroll-margin-top: 24px;
}
html.fd-movie-scroll {
    scroll-behavior: smooth;
    overflow-y: scroll;
}
.fd-movie-hero__headline {
    display: contents;
}
.fd-movie-hero__copy {
    grid-column: 1;
    grid-row: 1 / -1;
    align-self: end;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    min-width: 0;
    max-width: 100%;
}
.fd-movie-hero__title {
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    min-width: 0;
    max-width: 100%;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.15 !important;
    color: #fff;
    text-align: justify;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}
.fd-movie-hero__details {
    margin: 0;
    text-align: justify;
}
.fd-movie-hero__body,
.fd-movie-hero__main {
    display: contents;
}
.fd-movie-hero__subtitle {
    margin: 0 !important;
    padding: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}
.fd-movie-hero__details .fd-movie-hero__subtitle + .fd-movie-hero__meta {
    margin-top: 8px !important;
}
.fd-movie-hero__title + .fd-movie-hero__subtitle,
.fd-movie-hero__title + .fd-movie-hero__meta {
    margin-top: 15px !important;
}
.fd-movie-hero__subtitle + .fd-movie-hero__meta {
    margin-top: 8px !important;
}
.fd-movie-hero__subtitle-link {
    color: var(--fd-gold);
    text-decoration: none;
    transition: color 0.2s ease;
}
.fd-movie-hero__subtitle-link:hover {
    color: #fff;
    text-decoration: underline;
}
.fd-movie-hero__subtitle-sep {
    color: rgba(255, 255, 255, 0.72);
}
.fd-movie-hero__meta {
    margin: 0 !important;
    padding: 0;
    width: 100%;
    font-size: 1rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.72);
}
.fd-movie-hero__meta-dot {
    display: inline-block;
    font-size: 1.4em;
    line-height: 1;
    vertical-align: middle;
    margin: 0 0.35em;
    color: rgba(255, 255, 255, 0.72);
}
.fd-movie-hero__stats {
    display: flex;
    flex: 0 0 auto;
    gap: 28px;
    align-items: flex-start;
    margin: 0;
    padding: 0;
    grid-column: 2;
    grid-row: 2;
    align-self: end;
    justify-self: stretch;
    width: 100%;
    justify-content: flex-end;
}
.fd-movie-hero__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 72px;
    text-align: center;
    margin: 0;
    padding: 0;
}
.fd-movie-hero__stat-label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 0 6px;
    padding: 0;
    white-space: nowrap;
}
.fd-movie-hero__stat-value {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}
.fd-movie-hero__stat-denom {
    font-size: 0.875rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.65);
}
.fd-movie-hero__stat-sub {
    margin-top: 4px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
}
.fd-movie-hero__star {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.fd-movie-hero__star--gold {
    color: #f5c518;
}
.fd-movie-hero__star--blue {
    color: #5799ef;
}
.fd-movie-hero__rate-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: none;
    background: transparent;
    color: #5799ef;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.2;
}
.fd-movie-hero__rate-btn:hover {
    color: #7eb3f7;
}
.fd-movie-hero__stat-value--pop {
    gap: 2px;
}
.fd-movie-hero__trend {
    width: 18px;
    height: 18px;
    color: #e87c7c;
}
.fd-movie-backdrop .fd-block--light .fd-section-title {
    color: #eee;
}
.fd-movie-backdrop .fd-story-text {
    color: #eee;
}
.fd-movie-backdrop .fd-crew-inline__label {
    color: #fff;
}
.fd-movie-backdrop .fd-crew-inline-wrap {
    margin-bottom: 0;
}

/* Movie info panel â€” below poster (IMDb-style, dark hero only) */
.fd-movie-page {
    --fd-movie-main-width: 784px;
}
.fd-movie-info-panel {
    width: 100%;
    max-width: 100%;
    margin-top: 4px;
    margin-bottom: 4px;
}
.fd-person-page .fd-movie-backdrop .fd-movie-info-panel {
    width: 100%;
    max-width: 100%;
    margin-bottom: 28px;
}
.fd-person-page .fd-movie-backdrop__inner {
    padding-bottom: 8px;
}
.fd-person-actions {
    color: #fff;
}
.fd-person-actions__meta {
    margin: 0 0 10px;
}
.fd-person-actions__born,
.fd-person-actions__died {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
}
.fd-person-actions__born strong,
.fd-person-actions__died strong {
    font-weight: 800;
    margin-inline-end: 4px;
}
.fd-person-actions .fd-movie-actions__watchlist-main {
    justify-content: flex-start;
    text-align: right;
}
.fd-person-actions .fd-movie-actions__watchlist-copy {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
}
.fd-person-actions .fd-movie-actions__watchlist-count {
    color: rgba(18, 18, 18, 0.72);
    font-weight: 500;
}
.fd-movie-info-panel__split {
    display: grid;
    grid-template-columns: minmax(0, var(--fd-movie-main-width)) minmax(280px, 1fr);
    column-gap: clamp(24px, 4vw, 64px);
    align-items: start;
    width: 100%;
}
.fd-movie-info-panel__main {
    grid-column: 1;
    min-width: 0;
    max-width: var(--fd-movie-main-width);
}
.fd-movie-actions {
    grid-column: 2;
    justify-self: stretch;
    align-self: start;
    width: 100%;
    max-width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.fd-movie-actions__fav-form,
.fd-movie-actions__watched-form {
    margin: 0;
}
.fd-movie-actions__watchlist-wrap {
    display: flex;
    align-items: stretch;
    border-radius: 999px;
    overflow: hidden;
    background: #f5c518;
}
.fd-movie-actions__watchlist {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #121212;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.fd-movie-actions__watchlist-main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px 16px;
}
.fd-movie-actions__watchlist.is-favorited .fd-movie-actions__watchlist-main {
    justify-content: flex-start;
    text-align: right;
}
.fd-movie-actions__watchlist-plus {
    flex: 0 0 auto;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}
.fd-movie-actions__watchlist-copy {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    min-width: 0;
}
.fd-movie-actions__watchlist.is-favorited .fd-movie-actions__watchlist-copy {
    justify-content: flex-start;
}
.fd-movie-actions__watchlist-label {
    font-size: 0.9375rem;
    font-weight: 800;
    line-height: 1.2;
}
.fd-movie-actions__watchlist-count,
.fd-movie-actions__watched-count {
    font-size: 0.75rem;
    font-weight: 600;
    opacity: 0.85;
    line-height: 1.2;
}
.fd-movie-actions__watchlist-count.is-hidden,
.fd-movie-actions__watched-count.is-hidden {
    display: none;
}
.fd-movie-actions__watchlist.is-favorited .fd-movie-actions__watchlist-plus {
    color: #121212;
}
.fd-movie-actions__watchlist-menu {
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-inline-start: 1px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    color: #121212;
    text-decoration: none;
}
.fd-movie-actions__watchlist-menu:hover {
    background: rgba(0, 0, 0, 0.08);
}
.fd-movie-actions__watched {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #5799ef;
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.fd-movie-actions__watched:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #7eb0f5;
}
.fd-movie-actions__watched.is-watched {
    justify-content: flex-start;
    text-align: right;
    background: rgba(87, 153, 239, 0.18);
    color: #8ec0ff;
}
.fd-movie-actions__watched-copy {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
}
.fd-movie-actions__watched.is-watched .fd-movie-actions__watched-copy {
    justify-content: flex-start;
}
.fd-movie-actions__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 4px 2px 0;
}
.fd-movie-actions__link {
    color: #9a9a9a;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
}
.fd-movie-actions__link strong {
    color: #9a9a9a;
    font-weight: 700;
}
.fd-movie-actions__link:hover {
    color: #c0c0c0;
    text-decoration: underline;
}
.fd-movie-actions__link--muted {
    cursor: default;
}
.fd-movie-actions__link--muted:hover {
    text-decoration: none;
    color: #9a9a9a;
}
.fd-movie-actions__score {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 2px;
}
.fd-movie-actions__score-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    border-radius: 4px;
    background: #66cc33;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 800;
}
.fd-movie-actions__score-label {
    color: #9a9a9a;
    font-size: 0.8125rem;
    font-weight: 600;
}
.fd-movie-info-panel .fd-crew-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.fd-movie-info-panel .fd-crew-inline__main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.fd-movie-info-panel .fd-crew-inline__more {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
}
.fd-movie-info-panel .fd-crew-inline__more:hover {
    color: #fff;
}
@media (max-width: 900px) {
    .fd-movie-info-panel__split {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .fd-movie-info-panel__main,
    .fd-movie-actions {
        grid-column: unset;
        justify-self: unset;
        max-width: 100%;
        width: 100%;
    }
}
.fd-movie-info-panel .fd-genre-tags {
    margin: 0 0 14px;
    gap: 10px;
}
.fd-movie-info-panel .fd-genre-tag {
    padding: 5px 14px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fd-movie-info-panel .fd-genre-tag:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.8);
    color: #fff;
}
.fd-movie-info-panel .fd-story-block--compact {
    margin-bottom: 0;
}
.fd-movie-info-panel .fd-story-block--compact + .fd-crew-inline-divider {
    margin-top: 14px;
}
.fd-movie-info-panel .fd-story-text,
.fd-movie-info-panel .fd-story-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    text-align: justify;
    color: #fff;
}
.fd-movie-info-panel .fd-story-text p + p {
    margin-top: 0.75em;
}
.fd-movie-info-panel .fd-crew-inline-wrap {
    margin-bottom: 0;
}
.fd-movie-info-panel .fd-crew-inline {
    margin: 0;
    padding: 12px 0;
    font-size: 15px;
    line-height: 1.55;
    gap: 6px;
}
.fd-movie-info-panel .fd-crew-inline__label {
    color: #fff;
    font-weight: 700;
}
.fd-movie-info-panel .fd-crew-inline a:not(.fd-crew-inline__more) {
    color: #5799ef;
    font-weight: 600;
    text-decoration: none;
}
.fd-movie-info-panel .fd-crew-inline a:not(.fd-crew-inline__more):hover {
    color: #7eb3f7;
    text-decoration: underline;
}
.fd-movie-info-panel .fd-crew-inline__credit {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 600;
}
.fd-movie-info-panel .fd-crew-inline__more {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
}
.fd-movie-info-panel .fd-crew-inline__more:hover {
    color: #fff;
    text-decoration: none;
}
.fd-movie-info-panel .fd-crew-inline-divider {
    height: 1px;
    background: #333;
    margin: 0;
}

.fd-movie-info-panel--light {
    width: min(var(--fd-movie-main-width), 100%);
    max-width: 100%;
    margin-inline-start: 0;
    margin-inline-end: auto;
    margin-bottom: 28px;
}
.fd-movie-info-panel--light .fd-movie-gallery-block {
    margin-bottom: 28px;
}
.fd-movie-info-panel--light .fd-section-divider {
    background: #e5e5e5;
}

/* Awards bar (IMDb-style) */
.fd-awards-section {
    margin-bottom: 24px;
}
.fd-awards-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px 14px 0;
    border: 1px solid #d8d8d8;
    background: #fff;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    text-align: inherit;
    font: inherit;
    color: inherit;
}
.fd-awards-bar:hover {
    background: #fafafa;
}
.fd-awards-bar__accent {
    flex-shrink: 0;
    width: 28px;
    align-self: stretch;
    background: var(--fd-gold);
    clip-path: polygon(0 0, 100% 0, 72% 100%, 0 100%);
}
.fd-awards-bar__title {
    font-size: 1rem;
    font-weight: 800;
    color: #000;
    white-space: nowrap;
}
.fd-awards-bar__summary {
    font-size: 0.9375rem;
    color: #444;
    flex: 1;
    min-width: 0;
}
.fd-awards-bar__chevron {
    flex-shrink: 0;
    color: #888;
    margin-inline-start: auto;
    transition: transform 0.2s ease;
}
.fd-awards-section--open .fd-awards-bar__chevron {
    transform: rotate(90deg);
}
.fd-awards-section__panel[hidden] {
    display: none;
}
.fd-awards-list--compact {
    margin: 10px 0 0;
    padding: 0 0 0 18px;
    color: #444;
    font-size: 14px;
    line-height: 1.7;
}
.fd-awards-list--compact a {
    color: #1a5fb4;
    font-weight: 600;
    text-decoration: none;
}

/* Top cast grid (IMDb-style) */
.fd-cast-top {
    margin-bottom: 8px;
}
.fd-cast-top__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    margin-top: 4px;
}
.fd-cast-top__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.fd-cast-top__avatar {
    position: relative;
    flex-shrink: 0;
    display: block;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    background: #e8e8e8;
    text-decoration: none;
}
.fd-cast-top__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.fd-cast-top__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    flex: 1;
    padding-top: 28px;
}
.fd-cast-top__name {
    display: block;
    font-size: 1.0625rem;
    font-weight: 800;
    color: #1a5fb4;
    line-height: 1.35;
    text-decoration: none;
    transition: color 0.2s ease;
}
.fd-cast-top__name:hover {
    color: #0d47a1;
    text-decoration: underline;
}
.fd-cast-top__role {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #444;
    line-height: 1.35;
}
.fd-movie-body--light .fd-cast-top__name {
    color: #1a5fb4;
}
.fd-movie-body--light .fd-cast-top__role {
    color: #333;
}
@media (max-width: 520px) {
    .fd-cast-top__grid {
        grid-template-columns: 1fr;
    }
}

/* Crew credits rows (IMDb-style) */
.fd-crew-credits {
    margin: 20px 0 24px;
    border-top: 1px solid #e5e5e5;
}
.fd-crew-credits__row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
    font-size: 0.9375rem;
    line-height: 1.5;
}
.fd-crew-credits__label {
    flex: 0 0 88px;
    color: #666;
    font-weight: 600;
}
.fd-crew-credits__value {
    flex: 1;
    min-width: 0;
}
.fd-crew-credits__value a {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-crew-credits__value a:hover {
    text-decoration: underline;
}
.fd-crew-credits__sep {
    color: #999;
}
.fd-crew-credits__nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
    color: #111;
    font-weight: 700;
    font-size: 0.9375rem;
    text-decoration: none;
    transition: color 0.2s ease;
}
.fd-crew-credits__nav-row:hover {
    color: #1a5fb4;
}
.fd-crew-credits__nav-row svg {
    flex-shrink: 0;
    color: #888;
}

.fd-movie-credits-page {
    padding-top: 24px;
}
.fd-movie-credits-page__back {
    margin-bottom: 16px;
}
.fd-movie-credits-page__back a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
    font-size: 0.9375rem;
}
.fd-movie-credits-page__back a:hover {
    text-decoration: underline;
}
.fd-movie-credits-page__title {
    margin: 0 0 24px;
    font-size: 1.5rem;
    font-weight: 800;
    color: #111;
}

.fd-movie-credits-page .fd-cast-table {
    table-layout: fixed;
    width: 100%;
}
.fd-movie-credits-page .fd-cast-table__col-name {
    width: 38%;
}
.fd-movie-credits-page .fd-cast-table__col-role {
    width: 62%;
}
.fd-movie-credits-page .fd-cast-table__name {
    padding-block: 8px;
    padding-inline-end: 24px;
    vertical-align: middle;
    font-weight: 700;
}
.fd-credits-row__person {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.fd-credits-row__avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    flex-shrink: 0;
}
.fd-credits-row__name {
    min-width: 0;
}
.fd-movie-credits-page .fd-cast-table__role {
    padding-block: 8px;
    padding-inline-start: 0;
    vertical-align: middle;
    color: #444;
    font-weight: 500;
    line-height: 1.6;
}
.fd-movie-credits-page .fd-cast-table-wrap {
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
    overflow: hidden;
    margin-bottom: 12px;
}
.fd-movie-credits-page .fd-cast-table td {
    border-bottom: 1px solid #e5e5e5;
}
.fd-movie-credits-page .fd-cast-table tr:last-child td {
    border-bottom: none;
}
.fd-movie-credits-page .fd-cast-table tr:nth-child(even) {
    background: #f3f3f3;
}
.fd-movie-credits-page .fd-subsection-title {
    margin-top: 20px;
    margin-bottom: 8px;
}
.fd-movie-credits-page .fd-cast-full {
    margin-bottom: 28px;
}

.fd-person-filmography-page .fd-cast-table,
.fd-person-filmography .fd-cast-table {
    table-layout: fixed;
    width: 100%;
}
.fd-person-filmography-page .fd-cast-table__col-name,
.fd-person-filmography .fd-cast-table__col-name {
    width: 38%;
}
.fd-person-filmography-page .fd-cast-table__col-role,
.fd-person-filmography .fd-cast-table__col-role {
    width: 62%;
}
.fd-person-filmography-page .fd-cast-table__name,
.fd-person-filmography .fd-cast-table__name {
    padding-block: 8px;
    padding-inline-end: 24px;
    vertical-align: middle;
    font-weight: 700;
}
.fd-person-filmography-page .fd-cast-table__role,
.fd-person-filmography .fd-cast-table__role {
    padding-block: 8px;
    vertical-align: middle;
    color: #444;
    font-weight: 500;
}
.fd-person-filmography-page .fd-cast-table-wrap,
.fd-person-filmography .fd-cast-table-wrap {
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
    overflow: hidden;
}
.fd-person-filmography-page .fd-cast-table tr:nth-child(even),
.fd-person-filmography .fd-cast-table tr:nth-child(even) {
    background: #f3f3f3;
}

/* Person filmography list (IMDb-style) */
.fd-filmography {
    margin-bottom: 28px;
}
.fd-filmography__list {
    border-top: 1px solid #e5e5e5;
}
.fd-filmography__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #e5e5e5;
}
.fd-filmography__poster {
    flex: 0 0 56px;
    width: 56px;
    height: 84px;
    border-radius: 6px;
    overflow: hidden;
    background: #e8e8e8;
}
.fd-filmography__poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-filmography__body {
    flex: 1;
    min-width: 0;
}
.fd-filmography__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 4px;
}
.fd-filmography__title {
    font-size: 1rem;
    font-weight: 800;
    color: #1a5fb4;
    text-decoration: none;
    line-height: 1.4;
}
.fd-filmography__title:hover {
    text-decoration: underline;
}
.fd-filmography__year {
    flex-shrink: 0;
    font-size: 0.9375rem;
    color: #666;
    font-weight: 600;
}
.fd-filmography__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
    font-size: 0.8125rem;
    color: #666;
}
.fd-filmography__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #111;
    font-weight: 700;
}
.fd-filmography__rating svg {
    color: var(--fd-gold);
}
.fd-filmography__type {
    color: #666;
    font-weight: 600;
}
.fd-filmography__role {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #444;
}
.fd-filmography__episodes {
    margin: 4px 0 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1a5fb4;
}
.fd-filmography__info {
    flex-shrink: 0;
    align-self: center;
    color: #1a5fb4;
    opacity: 0.85;
    transition: opacity 0.2s ease;
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
}
.fd-filmography__info:hover {
    opacity: 1;
}
@media (max-width: 640px) {
    .fd-filmography__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
}

/* Work quick-view modal (IMDb-style) */
body.fd-work-modal-open { overflow: hidden; }
.fd-work-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}
.fd-work-modal[hidden] { display: none !important; }
.fd-work-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}
.fd-work-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 440px);
    max-height: min(88vh, 640px);
    overflow: auto;
    padding: 20px;
    border-radius: 12px;
    background: #1f1f1f;
    color: #fff;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45);
}
.fd-work-modal__close {
    position: absolute;
    top: 10px;
    left: 12px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}
.fd-work-modal__close:hover { color: #fff; }
.fd-work-modal__header {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
    padding-top: 8px;
}
.fd-work-modal__poster-wrap {
    flex: 0 0 64px;
    width: 64px;
    height: 96px;
    border-radius: 6px;
    overflow: hidden;
    background: #333;
}
.fd-work-modal__poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-work-modal__header-body {
    flex: 1;
    min-width: 0;
}
.fd-work-modal__title-row {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    color: #fff;
    text-decoration: none;
    margin-bottom: 6px;
}
.fd-work-modal__title-row:hover .fd-work-modal__title {
    text-decoration: underline;
}
.fd-work-modal__title {
    font-size: 1.0625rem;
    font-weight: 800;
    line-height: 1.4;
}
.fd-work-modal__title-row svg {
    flex-shrink: 0;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.65);
}
.fd-work-modal__meta {
    margin: 0 0 8px;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.62);
}
.fd-work-modal__rating-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.fd-work-modal__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.875rem;
    font-weight: 700;
}
.fd-work-modal__rating svg {
    color: var(--fd-gold);
}
.fd-work-modal__rate-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #5799ef;
    font-size: 0.8125rem;
    font-weight: 700;
    text-decoration: none;
}
.fd-work-modal__rate-link:hover {
    text-decoration: underline;
}
.fd-work-modal__desc {
    margin: 0 0 14px;
    font-size: 0.875rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
    text-align: justify;
}
.fd-work-modal__credit {
    margin-bottom: 16px;
}
.fd-work-modal__credit-label {
    margin: 0 0 4px;
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--fd-gold);
}
.fd-work-modal__credit-value {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #fff;
}
.fd-work-modal__episodes {
    margin: 6px 0 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #5799ef;
}
.fd-work-modal__actions {
    padding-top: 4px;
}
.fd-work-modal__fav-form {
    margin: 0;
}
.fd-work-modal__watchlist {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #444;
    border-radius: 999px;
    background: #2a2a2a;
    color: #5799ef;
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fd-work-modal__watchlist:hover {
    background: #333;
    border-color: #555;
}
.fd-work-modal__watchlist.is-favorited {
    color: var(--fd-gold);
    border-color: rgba(245, 197, 24, 0.35);
}
.fd-work-modal__watchlist-icon {
    font-size: 1.125rem;
    line-height: 1;
}

/* User reviews (IMDb-style) */
.fd-user-reviews {
    margin-bottom: 28px;
    padding-top: 4px;
}
.fd-user-reviews__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.fd-user-reviews__title-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #000;
    min-width: 0;
}
.fd-user-reviews__title-link .fd-bar {
    display: inline-block;
    width: 4px;
    height: 22px;
    border-radius: 2px;
    background: var(--fd-gold);
    flex-shrink: 0;
}
.fd-user-reviews__title {
    font-size: 1.25rem;
    font-weight: 800;
}
.fd-user-reviews__count {
    color: #666;
    font-weight: 700;
    font-size: 1rem;
}
.fd-user-reviews__chevron {
    color: #888;
    flex-shrink: 0;
}
.fd-user-reviews__add-btn {
    flex-shrink: 0;
    border: 1px solid #c9c9c9;
    background: #fff;
    color: #111;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 6px 14px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fd-user-reviews__add-btn:hover {
    background: #f5f5f5;
    border-color: #999;
}
.fd-user-reviews__body {
    display: flex;
    align-items: flex-end;
    gap: 36px;
    width: 100%;
}
.fd-user-reviews__score {
    flex-shrink: 0;
    min-width: 96px;
}
.fd-user-reviews__score-main {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    column-gap: 4px;
    row-gap: 2px;
    align-items: center;
    justify-items: start;
}
.fd-user-reviews__star {
    grid-column: 1;
    grid-row: 1;
    width: 42px;
    height: 42px;
    color: var(--fd-gold);
    align-self: center;
}
.fd-user-reviews__avg {
    grid-column: 2;
    grid-row: 1;
    font-size: 2.75rem;
    font-weight: 700;
    color: #121212;
    line-height: 1;
    letter-spacing: -0.02em;
}
.fd-user-reviews__votes {
    grid-column: 2;
    grid-row: 2;
    font-size: 0.8125rem;
    color: #757575;
    font-weight: 500;
    line-height: 1.2;
}
.fd-user-reviews__empty {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-size: 0.9375rem;
    color: #666;
    font-weight: 600;
}
.fd-user-reviews__yours {
    margin: 8px 0 0;
    font-size: 0.8125rem;
    color: #1a5fb4;
    font-weight: 700;
}
.fd-user-reviews__chart {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: none;
    height: 118px;
    padding-bottom: 22px;
    position: relative;
}
.fd-user-reviews__bar-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    position: relative;
    min-width: 0;
}
.fd-user-reviews__bar {
    width: 100%;
    max-width: 28px;
    background: #5799ef;
    border-radius: 4px 4px 0 0;
    min-height: 2px;
    transition: height 0.3s ease;
}
.fd-user-reviews__bar-label {
    position: absolute;
    bottom: -20px;
    font-size: 0.75rem;
    color: #757575;
    font-weight: 500;
    line-height: 1;
}
#crew-full-section .fd-cast-full {
    margin-bottom: 0;
}
@media (max-width: 640px) {
    .fd-crew-credits__row {
        flex-direction: column;
        gap: 6px;
    }
    .fd-crew-credits__label {
        flex: none;
    }
    .fd-user-reviews__body {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: stretch;
    }
    .fd-user-reviews__chart {
        max-width: none;
        width: 100%;
    }
}

/* Discovery carousels (More like this / Related interests) */
.fd-discovery-block {
    margin-bottom: 28px;
}
.fd-movie-info-panel--light .fd-discovery-block .fd-carousel-arrow {
    background: rgba(255, 255, 255, 0.95);
    color: #333;
    border: 1px solid #ddd;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.fd-movie-info-panel--light .fd-discovery-block .fd-carousel-arrow:hover {
    color: #111;
    border-color: #bbb;
}
.fd-carousel-track--similar {
    gap: 14px;
    padding: 8px 4px 12px;
    align-items: stretch;
}
.fd-similar-card {
    flex: 0 0 148px;
    scroll-snap-align: start;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.fd-similar-card__poster-wrap {
    position: relative;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    background: #e8e8e8;
    line-height: 0;
    flex-shrink: 0;
}
.fd-similar-card__poster-link {
    display: block;
}
.fd-similar-card__poster-wrap img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-similar-card__poster-wrap .fd-poster-fav-form,
.fd-similar-card__poster-wrap > .fd-poster-fav-btn,
.fd-similar-card__poster-wrap > a.fd-poster-fav-btn {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    z-index: 2;
}
.fd-similar-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    margin-top: 0;
    padding: 8px 8px 7px;
    background: #ececec;
    border-radius: 0 0 8px 8px;
    align-items: center;
    text-align: center;
}
.fd-similar-card__text {
    flex: 1;
    min-height: 58px;
    width: 100%;
    text-align: center;
}
.fd-similar-card__title {
    display: block;
    width: 100%;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #111;
    line-height: 1.35;
    text-decoration: none;
    text-align: center;
    overflow: hidden;
    max-height: calc(1.35em * 2);
}
.fd-similar-card__title:hover {
    color: #1a5fb4;
}
.fd-similar-card__director {
    display: block;
    width: 100%;
    margin: 4px 0 0;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #666;
    text-align: center;
    overflow: hidden;
    max-height: calc(1.4em * 2);
}
.fd-similar-card__director--empty {
    visibility: hidden;
}
.fd-similar-card__director a {
    color: inherit;
    text-decoration: none;
}
.fd-similar-card__director a:hover {
    color: #1a5fb4;
}
.fd-similar-card__stats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    min-height: 22px;
    flex-shrink: 0;
}
.fd-similar-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #111;
}
.fd-similar-card__rating svg {
    color: var(--fd-gold);
}
.fd-similar-card__info {
    flex-shrink: 0;
    color: #1a5fb4;
    opacity: 0.85;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    line-height: 0;
    transition: opacity 0.2s ease;
}
.fd-similar-card__info:hover {
    opacity: 1;
}
.fd-carousel-track--interests {
    gap: 16px;
    padding: 8px 4px 12px;
}
.fd-interest-card {
    flex: 0 0 220px;
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
.fd-interest-card__image-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: #ddd;
    aspect-ratio: 16/10;
}
.fd-interest-card__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-interest-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #d8d8d8, #ececec);
}
.fd-interest-card__add {
    position: absolute;
    left: 10px;
    bottom: 10px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 26px;
    text-align: center;
}
.fd-interest-card__label {
    display: block;
    margin-top: 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #111;
}
.fd-interest-card:hover .fd-interest-card__label {
    color: #1a5fb4;
}
@media (max-width: 520px) {
    .fd-similar-card {
        flex-basis: 132px;
    }
    .fd-interest-card {
        flex-basis: 180px;
    }
}

/* Storyline (IMDb-style) */
.fd-storyline {
    margin-bottom: 28px;
}
.fd-storyline__text {
    color: #333;
    line-height: 1.85;
    font-size: 0.9375rem;
    margin-bottom: 16px;
    text-align: justify;
}
.fd-storyline__subjects {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.fd-storyline__subject {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #888;
    border-radius: 16px;
    background: #f7f7f7;
    color: #222;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fd-storyline__subject:hover {
    background: #efefef;
    border-color: #666;
    color: #111;
    text-decoration: none;
}
.fd-storyline__keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.fd-storyline__keyword {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #d0d0d0;
    border-radius: 999px;
    background: #f7f7f7;
    color: #1a5fb4;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}
.fd-storyline__keyword:hover {
    background: #efefef;
    text-decoration: none;
}
.fd-storyline__keyword--more {
    color: #666;
    cursor: default;
}
.fd-storyline__row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid #e8e8e8;
    font-size: 0.9375rem;
}
.fd-storyline__label {
    flex: 0 0 72px;
    color: #666;
    font-weight: 600;
}
.fd-storyline__value {
    flex: 1;
    color: #222;
}
.fd-storyline__value a {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-storyline__value a:hover {
    text-decoration: underline;
}
.fd-storyline__sep {
    color: #999;
}
.fd-storyline__guide-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    padding: 14px 0;
    border-top: 1px solid #e8e8e8;
    color: #111;
    font-weight: 700;
    font-size: 0.9375rem;
    text-decoration: none;
}
.fd-storyline__guide-link:hover {
    color: #1a5fb4;
}

/* Did you know (IMDb-style) */
.fd-did-you-know {
    margin-bottom: 28px;
}
.fd-did-you-know__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.fd-did-you-know__card {
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
    padding: 16px;
    min-height: 120px;
}
.fd-did-you-know__card-title {
    margin: 0 0 10px;
    font-size: 0.9375rem;
    font-weight: 800;
    color: #111;
}
.fd-did-you-know__card-body {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.75;
    color: #444;
}
@media (max-width: 720px) {
    .fd-did-you-know__grid {
        grid-template-columns: 1fr;
    }
    .fd-storyline__row {
        flex-direction: column;
        gap: 6px;
    }
    .fd-storyline__label {
        flex: none;
    }
}

/* Movie details (IMDb-style) */
.fd-movie-details {
    margin-bottom: 28px;
}
.fd-movie-details__list {
    margin: 0;
    padding: 0;
}
.fd-movie-details__row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #e8e8e8;
}
.fd-movie-details__row:first-child {
    padding-top: 4px;
}
.fd-movie-details__row dt {
    flex: 0 0 180px;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 800;
    color: #111;
}
.fd-movie-details__row dd {
    flex: 1;
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: #333;
}
.fd-movie-details__row dd a {
    color: #1a5fb4;
    text-decoration: none;
    font-weight: 600;
}
.fd-movie-details__row dd a:hover {
    text-decoration: underline;
}

/* Box office (IMDb-style) */
.fd-box-office {
    margin-bottom: 28px;
}
.fd-box-office__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 32px;
    padding-top: 4px;
}
.fd-box-office__item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fd-box-office__label {
    font-size: 0.875rem;
    font-weight: 800;
    color: #111;
}
.fd-box-office__value {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: #333;
}
@media (max-width: 720px) {
    .fd-movie-details__row {
        flex-direction: column;
        gap: 4px;
    }
    .fd-movie-details__row dt {
        flex: none;
    }
    .fd-box-office__grid {
        grid-template-columns: 1fr;
    }
}

/* Tech specs */
.fd-tech-specs {
    margin-bottom: 28px;
}

/* Related news (IMDb-style on movie page) */
.fd-related-news--imdb {
    margin-bottom: 28px;
}
.fd-related-news--imdb__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 28px;
    padding-top: 4px;
}
.fd-related-news--imdb__card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    text-decoration: none;
    color: inherit;
    min-width: 0;
}
.fd-related-news--imdb__card:hover .fd-related-news--imdb__title {
    color: #1a5fb4;
}
.fd-related-news--imdb__thumb {
    flex: 0 0 88px;
    width: 88px;
    height: 88px;
    border-radius: 8px;
    overflow: hidden;
    background: #e8e8e8;
}
.fd-related-news--imdb__thumb--empty {
    background: linear-gradient(135deg, #e8e8e8, #d0d0d0);
}
.fd-related-news--imdb__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-related-news--imdb__body {
    flex: 1;
    min-width: 0;
}
.fd-related-news--imdb__title {
    margin: 0 0 8px;
    font-size: 0.9375rem;
    font-weight: 800;
    line-height: 1.45;
    color: #111;
    text-align: justify;
    transition: color 0.2s ease;
}
.fd-related-news--imdb__meta {
    margin: 0;
    font-size: 0.8125rem;
    color: #666;
    font-weight: 600;
    line-height: 1.4;
}
.fd-related-news--imdb__sep {
    margin: 0 6px;
}
@media (max-width: 720px) {
    .fd-related-news--imdb__grid {
        grid-template-columns: 1fr;
    }
}

.fd-movie-page .fd-media-layout {
    padding-top: 0;
    margin-top: 0;
}
@media (max-width: 768px) {
    .fd-movie-hero__actions-row,
    .fd-movie-hero__top {
        justify-content: flex-start;
        margin-bottom: 15px;
    }
    .fd-person-page .fd-movie-hero__actions-row,
    .fd-person-page .fd-movie-hero__top,
    .fd-award-page .fd-movie-hero__actions-row,
    .fd-award-page .fd-movie-hero__top,
    .fd-news-page .fd-movie-hero__actions-row,
    .fd-news-page .fd-movie-hero__top {
        margin-bottom: 15px;
    }
    .fd-movie-hero {
        display: block;
    }
    .fd-movie-hero__actions-row,
    .fd-movie-hero__top {
        grid-column: unset;
        grid-row: unset;
        justify-content: flex-end;
        margin-bottom: 15px;
    }
    .fd-person-page .fd-movie-hero__actions-row,
    .fd-person-page .fd-movie-hero__top,
    .fd-award-page .fd-movie-hero__actions-row,
    .fd-award-page .fd-movie-hero__top,
    .fd-news-page .fd-movie-hero__actions-row,
    .fd-news-page .fd-movie-hero__top {
        margin-bottom: 15px;
    }
    .fd-movie-hero__copy {
        grid-column: unset;
        grid-row: unset;
        align-self: unset;
        margin-bottom: 15px;
    }
    .fd-movie-hero__headline {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }
    .fd-movie-hero__title {
        grid-column: unset;
        grid-row: unset;
    }
    .fd-movie-hero__stats {
        grid-column: unset;
        grid-row: unset;
        justify-content: flex-start;
        gap: 20px;
        margin-bottom: 15px;
    }
    .fd-movie-hero__details {
        grid-column: unset;
        grid-row: unset;
        margin-top: 0;
    }
    .fd-movie-hero__actions {
        gap: 14px;
    }
    .fd-movie-hero__stat {
        align-items: flex-start;
        min-width: 0;
        text-align: right;
    }
}

.fd-movie-title { font-size: 30px; font-weight: bold; line-height: 1.4; margin-bottom: 12px; }
.fd-movie-info-line { display: flex; align-items: center; flex-wrap: wrap; font-size: 16px; gap: 10px; }
.fd-movie-info-line__divider { flex: 1; height: 1px; background: #555; min-width: 40px; }
.fd-block { margin-bottom: 28px; }
.fd-block--light { color: #333; }
.fd-block--light .fd-section-title { color: #eee; }
.fd-award-page .fd-awards-list a { color: #1a5fb4; text-decoration: none; }
.fd-award-page .fd-awards-list a:hover { text-decoration: underline; }
.fd-news-page .fd-movie-title { color: #111; }
.fd-news-page__date { color: #666; font-size: 0.9rem; }
.fd-news-page__poster {
    border-radius: 10px;
    overflow: hidden;
    background: #f0f0f0;
}
.fd-news-page__poster img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}
.fd-news-page__content {
    color: #333;
    line-height: 1.9;
    font-size: 1rem;
}
.fd-news-page__source {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-news-page__source:hover { text-decoration: underline; }
.fd-news-page__related {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 2;
}
.fd-news-page__related a {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-news-page__related a:hover { text-decoration: underline; }
.fd-movie-info-panel--light .fd-related-news-grid {
    grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 640px) {
    .fd-movie-info-panel--light .fd-related-news-grid {
        grid-template-columns: 1fr;
    }
}
.fd-story-text { font-size: 16px; line-height: 2; text-align: justify; color: #eee; }
.fd-about-box { background: #1a1a1a; border: 1px solid #333; padding: 15px; border-radius: 8px; line-height: 2; text-align: justify; color: #ddd; }
.fd-credit-position {
    color: var(--fd-gold, #f5c518);
    font-weight: 700;
}
.fd-credit-job {
    color: #888;
    font-size: 0.85em;
    font-weight: 400;
}
.fd-rich-text a,
.fd-inline-mention {
    color: var(--fd-gold, #f5c518);
    font-weight: 600;
    text-decoration: none;
}
.fd-rich-text a:hover,
.fd-inline-mention:hover { text-decoration: underline; }
.fd-rich-text p { margin: 0 0 0.75em; }
.fd-rich-text p:last-child { margin-bottom: 0; }
.fd-rich-text ul,
.fd-rich-text ol { padding-inline-start: 1.4rem; margin: 0.5em 0; }
.fd-genre-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.fd-genre-tag {
    padding: 4px 10px; border: 1px solid #888; border-radius: 16px;
    background: rgba(255,255,255,0.05); color: #fff; font-size: 14px; text-decoration: none;
}
.fd-crew-inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; font-size: 15px; }
.fd-crew-inline__label { font-weight: bold; color: #fff; }
.fd-crew-inline a { color: var(--fd-gold); font-weight: bold; text-decoration: none; }
.fd-crew-inline__person {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
}
.fd-crew-inline__credit {
    color: rgba(255, 255, 255, 0.72);
    font-weight: 600;
    font-size: 0.92em;
}
.fd-crew-inline__dot {
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: 0 0.55em;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.7);
    vertical-align: middle;
    flex-shrink: 0;
}
.fd-crew-inline-divider { height: 1px; background: #555; margin: 10px 0; }
.fd-activity-links { margin-bottom: 16px; }
.fd-activity-link { color: var(--fd-gold); font-weight: bold; text-decoration: none; }
.fd-activity-link:hover { color: #7f766c; }

/* Media layout */
.fd-media-layout {
    display: flex; flex-direction: row; direction: rtl; width: 100%; height: 415px;
    gap: 0.5%; margin-bottom: 20px;
}
.fd-media-layout > div { border-radius: 10px; overflow: hidden; position: relative; }
.fd-media-layout__poster { width: 22%; position: relative; }
.fd-media-layout__poster-frame {
    width: 100%;
    height: 100%;
    position: relative;
}
.fd-media-layout__poster-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-media-layout__poster--ribbon {
    border-radius: 8px 0 0 0;
    overflow: hidden;
}
.fd-media-layout__poster--ribbon .fd-poster-fav-form,
.fd-media-layout__poster--ribbon > .fd-poster-fav-btn,
.fd-media-layout__poster--ribbon .fd-poster-fav-btn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    margin: 0;
    padding: 0;
}
.fd-media-layout__poster--profile,
.fd-media-layout__poster--festival {
    border-radius: 12px;
    overflow: hidden;
}
.fd-media-layout__poster--profile .fd-profile-fav-form,
.fd-media-layout__poster--profile > .fd-profile-fav-btn,
.fd-media-layout__poster--festival .fd-profile-fav-form,
.fd-media-layout__poster--festival > .fd-profile-fav-btn {
    position: absolute;
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 5;
    margin: 0;
    padding: 0;
}
.fd-profile-fav-form {
    border: none;
    line-height: 0;
}
.fd-profile-fav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    line-height: 0;
    transition: background 0.2s ease, transform 0.15s ease;
}
.fd-profile-fav-btn:hover {
    background: rgba(0, 0, 0, 0.72);
    transform: scale(1.05);
}
.fd-profile-fav-btn.is-favorited {
    background: rgba(245, 197, 24, 0.92);
    color: #1a1008;
}
.fd-profile-fav-btn.is-favorited:hover {
    background: rgba(245, 197, 24, 1);
}
.fd-profile-fav-btn__icon {
    width: 20px;
    height: 20px;
    display: block;
}
.fd-profile-fav-btn__heart {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    transition: fill 0.2s ease, stroke 0.2s ease;
}
.fd-profile-fav-btn.is-favorited .fd-profile-fav-btn__heart {
    fill: currentColor;
    stroke: currentColor;
}
.fd-media-layout__poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fd-media-layout > .fd-media-layout__video-col {
    width: 58%;
    height: 100%;
    overflow: visible;
    border-radius: 10px;
}
.fd-media-layout__video {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: visible;
    border-radius: 10px;
}
.fd-media-layout__video-player {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: visible;
    border-radius: 10px;
    background: #000;
}
.fd-media-layout__video-player video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
    /* Keep native volume slider usable (LTR controls). */
    direction: ltr;
}
.fd-media-layout__pip-close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 4;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
.fd-media-layout__pip-close:hover {
    background: rgba(0, 0, 0, 0.9);
}
.fd-media-layout__video-player.is-pip {
    position: fixed;
    left: 16px;
    bottom: 16px;
    width: min(320px, calc(100vw - 32px));
    height: auto;
    aspect-ratio: 16 / 9;
    z-index: 1200;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
    overflow: hidden;
}
.fd-media-layout__video-player.is-pip video {
    border-radius: 12px;
    object-fit: contain;
    background: #000;
}
.fd-media-layout__video-player.is-pip .fd-media-layout__pip-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fd-media-layout__video-player.is-pip .fd-media-layout__pip-close[hidden] {
    display: inline-flex !important;
}

/* Reactions overlay on video */
.fd-reaction-selector {
    position: absolute;
    inset: 0;
    z-index: 8;
    direction: ltr;
    pointer-events: none;
}
.fd-reaction-selector__summary {
    position: absolute;
    left: 12px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 10px;
    border-radius: 8px;
    background: rgba(18, 18, 18, 0.45);
    color: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0.72;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease, bottom 0.2s ease;
}
.fd-reaction-selector__summary.is-empty {
    opacity: 0;
    visibility: hidden;
}
/* Hide faded summary while the full reaction bar is open (avoids duplicate icons). */
.fd-media-layout__video.is-react-open .fd-reaction-selector__summary {
    opacity: 0;
    visibility: hidden;
}
.fd-reaction-selector__summary-emojis {
    display: inline-flex;
    align-items: center;
}
.fd-reaction-selector__summary-emoji {
    font-size: 0.95rem;
    line-height: 1;
    margin-inline-end: -4px;
    filter: saturate(0.85);
}
.fd-reaction-selector__summary-emoji:last-child {
    margin-inline-end: 0;
}
.fd-reaction-selector__summary-count {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1;
    opacity: 0.9;
}
.fd-reaction-selector__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    padding: 10px 12px 46px;
    border-radius: 0 0 10px 10px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0) 100%);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.fd-media-layout__video.is-playing.is-react-open .fd-reaction-selector__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transform: translateY(0);
}
.fd-media-layout__video.is-playing.is-react-open .fd-reaction-selector__panel .fd-reaction-selector__thumb,
.fd-media-layout__video.is-playing.is-react-open .fd-reaction-selector__panel .fd-reaction-selector__chip {
    pointer-events: auto;
}
.fd-reaction-selector__actions {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.fd-reaction-selector__thumb,
.fd-reaction-selector__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 4px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    pointer-events: auto;
    transition: background 0.15s ease, color 0.15s ease;
}
.fd-reaction-selector__thumb:hover:not(:disabled),
.fd-reaction-selector__chip:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.1);
}
.fd-reaction-selector__thumb:disabled,
.fd-reaction-selector__chip:disabled {
    opacity: 0.65;
    cursor: wait;
}
.fd-reaction-selector__thumb.is-active {
    color: var(--fd-gold, #f5c518);
}
.fd-reaction-selector__chip {
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    background: rgba(30, 30, 30, 0.55);
    padding: 3px 10px;
    min-height: 30px;
}
.fd-reaction-selector__chip.is-active {
    border-color: rgba(245, 197, 24, 0.7);
    background: rgba(245, 197, 24, 0.18);
}
.fd-reaction-selector__icon {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}
.fd-reaction-selector__emoji {
    font-size: 1rem;
    line-height: 1;
}
.fd-reaction-selector__count {
    font-size: 0.8125rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.fd-reaction-selector__divider {
    width: 1px;
    height: 22px;
    background: rgba(255, 255, 255, 0.28);
    flex-shrink: 0;
}
.fd-reaction-selector__chips {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
@media (max-width: 768px) {
    .fd-reaction-selector__summary {
        left: 8px;
        bottom: 10px;
        padding: 4px 8px;
    }
    .fd-reaction-selector__panel {
        padding: 8px;
        gap: 6px;
    }
    .fd-reaction-selector__chip {
        min-height: 28px;
        padding: 2px 8px;
    }
    .fd-reaction-selector__count {
        font-size: 0.75rem;
    }
    .fd-media-layout__video-player.is-pip {
        left: 12px;
        bottom: 12px;
        width: min(240px, calc(100vw - 24px));
    }
}
.fd-media-layout__side { width: 19.5%; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5%; }
.fd-media-box {
    background: #2a2a2a; color: #fff; border-radius: 10px; flex: 1;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-decoration: none; gap: 8px; font-size: 16px;
    transition: background 0.2s ease, color 0.2s ease;
}
.fd-media-box:hover {
    background: #3a3a3a;
    color: #fff;
}
.fd-media-box img { width: 30px; height: 30px; }

/* Share */
.fd-share-wrap { position: relative; display: inline-block; }
.fd-share-btn { background: none; border: none; color: #ccc; cursor: pointer; padding: 4px; }
.fd-share-btn:hover { color: var(--fd-gold); }
.fd-share-menu {
    display: none; position: absolute; top: 36px; left: 0; background: #111;
    padding: 8px; border-radius: 8px; flex-direction: column; gap: 6px; min-width: 150px; z-index: 999;
}
.fd-share-menu.is-open { display: flex; }
.fd-share-menu a, .fd-share-menu button {
    color: #fff; text-decoration: none; padding: 6px 10px; border-radius: 6px;
    background: #222; border: none; cursor: pointer; text-align: right;
}

/* Star rating */
.fd-star-rating__btn { background: none; border: none; color: gold; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.fd-star-rating__star { font-size: 28px; }
body.fd-rating-open { overflow: hidden; }
.fd-rating-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}
.fd-rating-modal[hidden] { display: none !important; }
.fd-rating-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
}
.fd-rating-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 420px);
    padding: 48px 28px 28px;
    border-radius: 16px;
    background: #1b2328;
    color: #fff;
    text-align: center;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}
.fd-rating-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.75);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.fd-rating-modal__close:hover { color: #fff; }
.fd-rating-modal__badge {
    display: flex;
    justify-content: center;
    position: relative;
    margin: -76px auto 12px;
    width: 64px;
    height: 64px;
}
.fd-rating-modal__badge-value {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    pointer-events: none;
}
.fd-rating-modal__label {
    margin: 0 0 10px;
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--fd-gold);
}
.fd-rating-modal__title {
    margin: 0 0 22px;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.45;
    color: #fff;
}
.fd-rating-modal__stars {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2px;
    margin-bottom: 22px;
}
.fd-rating-modal__star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    transition: color 0.12s ease, transform 0.12s ease;
}
.fd-rating-modal__star:hover {
    transform: scale(1.08);
}
.fd-rating-modal__star-fill {
    opacity: 0;
    transition: opacity 0.12s ease;
}
.fd-rating-modal__star.is-active {
    color: #5799ef;
}
.fd-rating-modal__star.is-active .fd-rating-modal__star-fill {
    opacity: 1;
}
.fd-rating-modal__star.is-active .fd-rating-modal__star-outline {
    opacity: 0;
}
.fd-rating-modal__form {
    margin: 0;
}
.fd-rating-modal__submit {
    width: 100%;
    padding: 12px 20px;
    border: none;
    border-radius: 999px;
    background: #3a4449;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}
.fd-rating-modal__submit:hover:not(:disabled) {
    background: #4a555b;
}
.fd-rating-modal__submit:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.fd-rating-modal__login {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
}
.fd-rating-modal__login a {
    color: var(--fd-gold);
    font-weight: 700;
    text-decoration: none;
}

/* Tables & galleries */
.fd-cast-table-wrap { border: 1px solid #444; border-radius: 8px; overflow: hidden; background: #1a1a1a; }
.fd-cast-table { width: 100%; border-collapse: collapse; direction: rtl; }
.fd-cast-table td { padding: 8px 10px; border-bottom: 1px solid #333; vertical-align: middle; font-size: 14px; color: #ddd; }
.fd-cast-table tr:last-child td { border-bottom: none; }
.fd-cast-table tr:nth-child(even) { background: #151515; }
.fd-cast-person { display: flex; align-items: center; gap: 8px; text-decoration: none; color: #EF9015; font-weight: bold; }
.fd-cast-person img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.fd-subsection-title {
    display: flex;
    align-items: center;
    font-size: 16px;
    margin: 12px 0 8px;
    color: #eee;
}
.fd-subsection-title .fd-bar {
    align-self: center;
}
.fd-awards-list { padding-right: 20px; color: #ccc; line-height: 1.9; }
.fd-award-status--winner { color: var(--fd-gold); }
.fd-award-status--nominee { color: #777; }
.fd-media-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.fd-media-grid__item {
    position: relative;
    cursor: pointer;
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    text-align: inherit;
}
.fd-media-grid__item img { width: 100%; height: 163px; object-fit: cover; border-radius: 8px; display: block; }
.fd-media-grid__more {
    position: absolute; inset: 0; background: rgba(0,0,0,0.6); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 28px; border-radius: 8px;
    pointer-events: none;
}
.fd-video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.fd-video-grid__trigger {
    position: relative;
    display: block;
    width: 100%;
    height: 163px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    cursor: pointer;
}
.fd-video-grid__item {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
    background: #000;
    display: block;
    pointer-events: none;
}
.fd-video-grid__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0.15));
    pointer-events: none;
}
.fd-video-grid__trigger:hover .fd-video-grid__play { background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0.2)); }
.fd-video-grid__wrap { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fd-related-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fd-related-news-item { display: block; background: #111; border-radius: 10px; overflow: hidden; text-decoration: none; transition: 0.3s; }
.fd-related-news-item:hover { transform: translateY(-4px); }
.fd-related-news-item__img { aspect-ratio: 16/9; overflow: hidden; background: #000; }
.fd-related-news-item__img img { width: 100%; height: 100%; object-fit: cover; }
.fd-related-news-item__body { padding: 12px; }
.fd-related-news-item__title { font-size: 14px; font-weight: bold; color: #ddd; line-height: 1.6; }
.fd-related-news-item__date { font-size: 12px; color: #777; margin-top: 6px; }
@media (max-width: 768px) {
    .fd-media-layout { flex-direction: column; height: auto; gap: 12px; }
    .fd-media-layout__poster,
    .fd-media-layout > .fd-media-layout__video-col,
    .fd-media-layout__video-col,
    .fd-media-layout__video,
    .fd-media-layout__video-player {
        width: 100%;
        max-width: 100%;
    }
    .fd-media-layout > .fd-media-layout__video-col,
    .fd-media-layout__video-col {
        height: auto;
        align-self: stretch;
    }
    .fd-media-layout__video,
    .fd-media-layout__video-player {
        min-height: 0;
        height: auto;
        aspect-ratio: 16 / 9;
    }
    .fd-media-layout__video-player video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .fd-media-layout__side {
        flex-direction: row;
        width: 100%;
        height: auto;
        gap: 12px;
    }
    .fd-media-box {
        flex: 1 1 0;
        min-height: 92px;
        padding: 14px 10px;
        font-size: 15px;
        gap: 8px;
    }
    .fd-media-grid { grid-template-columns: repeat(2, 1fr); }
    .fd-related-news-grid { grid-template-columns: 1fr; }
}

/* Fullscreen image lightbox */
body.fd-image-lightbox-open { overflow: hidden; }
.fd-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10050;
    background: #000;
    color: #fff;
    display: flex;
    flex-direction: column;
}
.fd-image-lightbox[hidden] { display: none !important; }
.fd-image-lightbox__toolbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent);
}
.fd-image-lightbox__toolbar-close {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: none;
    background: none;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
}
.fd-image-lightbox__toolbar-close:hover { color: #fff; }
.fd-image-lightbox__toolbar-end {
    display: flex;
    align-items: center;
    gap: 12px;
}
.fd-image-lightbox__counter {
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}
.fd-image-lightbox__stage {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 56px 72px 108px;
}
.fd-image-lightbox__img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    user-select: none;
}
.fd-video-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: rgba(0, 0, 0, 0.96);
}
.fd-video-lightbox[hidden] { display: none !important; }
.fd-video-lightbox__stage {
    min-height: 0;
    padding: 56px 72px 108px;
}
.fd-video-lightbox__video {
    width: min(100%, 1200px);
    max-height: 100%;
    border-radius: 12px;
    background: #000;
}
.fd-image-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 48px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 4px;
    background: rgba(18, 18, 18, 0.55);
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.fd-image-lightbox__nav:hover {
    background: rgba(30, 30, 30, 0.85);
    color: #fff;
}
.fd-image-lightbox__nav--prev { left: 12px; }
.fd-image-lightbox__nav--next { right: 12px; }
.fd-image-lightbox__panel {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    width: min(820px, calc(100% - 112px));
    z-index: 4;
    background: rgba(0, 0, 0, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
    backdrop-filter: blur(6px);
}
.fd-image-lightbox__panel-inner {
    display: flex;
    align-items: stretch;
    gap: 16px;
    padding: 12px 14px 12px 16px;
    min-height: 72px;
}
.fd-image-lightbox__panel-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}
.fd-image-lightbox__title {
    display: inline-block;
    font-size: 1rem;
    font-weight: 800;
    color: var(--fd-gold);
    text-decoration: none;
    line-height: 1.3;
}
.fd-image-lightbox__title:hover {
    text-decoration: underline;
}
.fd-image-lightbox__caption {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    color: #79b8f2;
}
.fd-image-lightbox__panel-divider {
    width: 1px;
    align-self: stretch;
    min-height: 44px;
    background: rgba(255, 255, 255, 0.22);
    flex-shrink: 0;
}
.fd-image-lightbox__panel-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    min-width: 130px;
    max-width: 200px;
    flex-shrink: 0;
}
.fd-image-lightbox__meta-block {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.fd-image-lightbox__meta-label {
    font-size: 0.6875rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
    letter-spacing: 0.01em;
}
.fd-image-lightbox__meta-value {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #79b8f2;
    line-height: 1.45;
}
.fd-image-lightbox__meta-link {
    color: #79b8f2;
    text-decoration: none;
}
.fd-image-lightbox__meta-link:hover {
    text-decoration: underline;
}
.fd-image-lightbox__panel-actions {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-shrink: 0;
    padding-top: 2px;
}
.fd-image-lightbox__panel-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.fd-image-lightbox__panel-close:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #fff;
    color: #fff;
}
@media (max-width: 768px) {
    .fd-image-lightbox__stage {
        padding: 52px 12px 148px;
    }
    .fd-video-lightbox__stage {
        padding: 52px 12px 148px;
    }
    .fd-image-lightbox__nav {
        width: 40px;
        height: 60px;
    }
    .fd-image-lightbox__nav--prev { left: 4px; }
    .fd-image-lightbox__nav--next { right: 4px; }
    .fd-image-lightbox__panel {
        width: calc(100% - 24px);
        bottom: 12px;
    }
    .fd-image-lightbox__panel-inner {
        flex-wrap: wrap;
        gap: 12px;
        padding: 12px 14px 14px;
    }
    .fd-image-lightbox__panel-main {
        flex: 1 1 calc(100% - 48px);
        min-width: 0;
    }
    .fd-image-lightbox__panel-actions {
        margin-inline-start: auto;
    }
    .fd-image-lightbox__panel-divider {
        width: 100%;
        height: 1px;
        min-height: 0;
    }
    .fd-image-lightbox__panel-meta {
        max-width: none;
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px 24px;
    }
    .fd-image-lightbox__meta-block {
        min-width: 120px;
    }
}


/* Series episodes â€” IMDb-style */
.fd-series-episodes {
    margin-bottom: 32px;
}
.fd-series-episodes__head {
    margin-bottom: 8px;
}
.fd-series-episodes__title {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    font-size: 1.375rem;
    font-weight: 800;
    color: #000;
}
.fd-series-episodes__title-link {
    display: inline-flex;
    align-items: center;
    gap: 0;
    margin: 0;
    font-size: 1.375rem;
    font-weight: 800;
    color: #000;
    text-decoration: none;
}
.fd-series-episodes__title-link:hover {
    color: #000;
}
.fd-series-episodes__title-link:hover .fd-series-episodes__title-arrow {
    color: #e2b616;
}
.fd-series-episodes__title-arrow {
    flex-shrink: 0;
    margin-inline-start: 6px;
    color: #000;
    transition: color 0.2s ease;
}
.fd-series-episodes__panel {
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    background: #fff;
    padding: 16px 18px 18px;
}
.fd-series-episodes__season-row {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 6px;
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 4px;
}
.fd-series-episodes__season-label {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #222;
    padding-bottom: 8px;
}
.fd-series-episodes__season-tabs {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.fd-series-episodes__season-tab {
    border: none;
    background: transparent;
    color: #444;
    font-size: 0.9375rem;
    font-weight: 700;
    padding: 8px 4px 10px;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.2s ease;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.fd-series-episodes__season-tab:hover {
    color: #1a5fb4;
}
.fd-series-episodes__season-tab.is-active {
    color: #1a5fb4;
    border-bottom-color: #1a5fb4;
}
.fd-series-episodes__season-meta {
    margin: 10px 0 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #666;
    line-height: 1.5;
}
.fd-series-episodes__episodes-heading {
    display: flex;
    align-items: center;
    margin: 18px 0 10px;
    font-size: 1rem;
    font-weight: 800;
    color: #111;
}
.fd-series-episodes__thumbs-wrap {
    margin-bottom: 18px;
    padding-bottom: 14px;
    overflow-x: auto;
    border-bottom: 1px dashed #ddd;
}
.fd-series-episodes__thumbs {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    direction: rtl;
    min-height: 0;
    padding: 2px;
}
.fd-series-episodes__thumb {
    flex: 0 0 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
}
.fd-series-episodes__thumb-poster {
    display: block;
    width: 72px;
    height: 108px;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid #d8d8d8;
    background: #ececec;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fd-series-episodes__thumb-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-series-episodes__thumb-poster--empty {
    background: linear-gradient(135deg, #ececec, #d8d8d8);
}
.fd-series-episodes__thumb.is-active .fd-series-episodes__thumb-poster {
    border-color: var(--fd-gold);
    box-shadow: 0 0 0 1px var(--fd-gold);
}
.fd-series-episodes__thumb-num {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #333;
}
.fd-series-episodes__thumb.is-active .fd-series-episodes__thumb-num {
    color: #111;
}
.fd-series-episodes__detail-wrap {
    position: relative;
}
.fd-series-episodes__detail-wrap[hidden] {
    display: none;
}
.fd-series-episodes__detail {
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 16px;
    background: #fff;
}
.fd-series-episodes__detail-main {
    display: grid;
    grid-template-columns: 336px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    min-width: 0;
    direction: rtl;
}
.fd-series-episodes__detail-media {
    border-radius: 8px;
    overflow: hidden;
    background: #ececec;
    line-height: 0;
    aspect-ratio: 16 / 9;
    min-height: 190px;
}
.fd-series-episodes__detail-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-series-episodes__detail-media--empty {
    width: 100%;
    height: 100%;
    min-height: 190px;
    background: linear-gradient(135deg, #ececec, #ddd);
}
.fd-series-episodes__detail-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-end;
}
.fd-series-episodes__detail-meta {
    margin: 0 0 8px;
    width: 100%;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #666;
    line-height: 1.5;
}
.fd-series-episodes__meta-dot {
    color: #aaa;
    font-size: 0.625rem;
    vertical-align: middle;
    padding: 0 2px;
}
.fd-series-episodes__detail-title {
    margin: 0 0 10px;
    width: 100%;
    font-size: 1.25rem;
    font-weight: 800;
    color: #111;
    line-height: 1.35;
}
.fd-series-episodes__detail-rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 8px;
    padding: 0;
    color: var(--fd-gold);
    font-size: 1rem;
    font-weight: 800;
    direction: ltr;
}
.fd-series-episodes__detail-desc {
    margin: 0 0 12px;
    width: 100%;
    padding-top: 14px;
    border-top: 1px solid #eee;
    font-size: 0.875rem;
    color: #333;
    line-height: 1.8;
}
.fd-series-episodes__detail-desc[hidden] {
    display: none;
    margin: 0;
    padding: 0;
    border: none;
}
.fd-series-episodes__detail-nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 4px;
    width: 100%;
}
.fd-series-episodes__your-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 16px;
    margin-top: 4px;
    text-align: center;
}
.fd-series-episodes__your-rating-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #444;
    white-space: nowrap;
}
.fd-series-episodes__your-rating-value {
    color: #5799ef;
    margin-inline-start: 4px;
}
.fd-series-episodes__your-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}
.fd-series-episodes__your-star {
    border: none;
    background: transparent;
    padding: 0;
    line-height: 0;
    cursor: pointer;
    color: #ccc;
    transition: color 0.15s ease;
}
.fd-series-episodes__your-star svg path[fill="currentColor"] {
    opacity: 0;
}
.fd-series-episodes__your-star.is-active,
.fd-series-episodes__your-star.is-hover {
    color: #5799ef;
}
.fd-series-episodes__your-star.is-active svg path[fill="currentColor"],
.fd-series-episodes__your-star.is-hover svg path[fill="currentColor"] {
    opacity: 1;
}
.fd-series-episodes__nav {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    color: #444;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.fd-series-episodes__nav:hover:not(:disabled) {
    border-color: #1a5fb4;
    color: #1a5fb4;
}
.fd-series-episodes__nav:disabled {
    opacity: 0.3;
    cursor: default;
}
.fd-series-episodes__nav[hidden] {
    display: none;
}
@media (max-width: 900px) {
    .fd-series-episodes__detail-main {
        grid-template-columns: 1fr;
    }
    .fd-series-episodes__detail-media {
        max-width: 100%;
    }
}
@media (max-width: 768px) {
    .fd-series-episodes__thumb {
        flex-basis: 64px;
    }
    .fd-series-episodes__thumb-poster {
        width: 64px;
        height: 96px;
    }
}

/* Series episode list page (IMDb-style) */
.fd-series-ep-list-page {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    background: #f5f5f5;
    min-height: 60vh;
}
.fd-series-ep-list-hero {
    position: relative;
    width: 100%;
    background: #121212;
    color: #fff;
    padding: 18px var(--fd-layout-gutter) 28px;
}
.fd-series-ep-list-hero--has-bg {
    background-color: #121212;
    background-image: var(--fd-series-ep-cover);
    background-size: cover;
    background-position: center top;
}
.fd-series-ep-list-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.72) 0%, rgba(8, 8, 8, 0.92) 100%);
}
.fd-series-ep-list-body__inner {
    position: relative;
    z-index: 1;
    max-width: var(--fd-layout-max);
    margin: 0 auto;
}
.fd-series-ep-list-hero__content,
.fd-series-ep-list-top,
.fd-series-ep-list-main {
    width: 813px;
    max-width: 100%;
}
.fd-series-ep-list-hero__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.fd-series-ep-list-hero__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
}
.fd-series-ep-list-hero__actions .fd-share-wrap {
    flex-shrink: 0;
}
.fd-series-ep-list-hero__actions .fd-share-btn {
    color: rgba(255, 255, 255, 0.78);
}
.fd-series-ep-list-hero__actions .fd-share-btn:hover {
    color: #fff;
}
.fd-series-ep-list-hero__back {
    flex-shrink: 0;
}
.fd-series-ep-list-hero__back a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0;
}
.fd-series-ep-list-hero__back a:hover {
    color: #79b8ff;
}
.fd-series-ep-list-hero__head {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}
.fd-series-ep-list-hero__poster {
    flex-shrink: 0;
    width: 96px;
    line-height: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    display: block;
}
.fd-series-ep-list-hero__poster img {
    width: 100%;
    height: auto;
    display: block;
}
.fd-series-ep-list-hero__poster-empty {
    display: block;
    width: 96px;
    aspect-ratio: 2 / 3;
    background: linear-gradient(135deg, #444, #222);
}
.fd-series-ep-list-hero__title {
    margin: 0 0 6px;
    font-size: clamp(1.625rem, 3.5vw, 2.125rem);
    font-weight: 800;
    line-height: 1.25;
}
.fd-series-ep-list-hero__title a {
    color: #fff;
    text-decoration: none;
}
.fd-series-ep-list-hero__title a:hover {
    color: #79b8ff;
}
.fd-series-ep-list-hero__subtitle {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.4;
}
.fd-series-ep-list-body {
    padding: 0 var(--fd-layout-gutter) 48px;
}
.fd-series-ep-list-top {
    margin-top: -18px;
    position: relative;
    z-index: 2;
    padding-bottom: 8px;
}
.fd-series-ep-list-top__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.fd-series-ep-list-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 14px 16px 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.fd-series-ep-list-card__badge {
    display: inline-block;
    margin-bottom: 8px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f5c518;
    color: #111;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.fd-series-ep-list-card__date {
    display: block;
    margin-bottom: 6px;
    font-size: 0.8125rem;
    color: #666;
}
.fd-series-ep-list-card__title {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}
.fd-series-ep-list-card__title a {
    color: #111;
    text-decoration: none;
}
.fd-series-ep-list-card__title a:hover {
    color: #1a5fb4;
}
.fd-series-ep-list-card__story {
    margin: 0 0 10px;
    font-size: 0.8125rem;
    color: #444;
    line-height: 1.65;
}
.fd-series-ep-list-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 8px;
    border-top: 1px solid #eee;
}
.fd-series-ep-list-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #111;
    font-size: 0.875rem;
    font-weight: 800;
}
.fd-series-ep-list-card__rating svg {
    color: var(--fd-gold);
    flex-shrink: 0;
}
.fd-series-ep-list-card__link {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1a5fb4;
    text-decoration: none;
}
.fd-series-ep-list-card__link:hover {
    text-decoration: underline;
}
.fd-series-ep-list-main {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 0 0 8px;
    margin-top: 12px;
}
.fd-series-ep-list-main__tabs {
    display: flex;
    gap: 24px;
    padding: 0 18px;
    border-bottom: 1px solid #e8e8e8;
}
.fd-series-ep-list-main__tab {
    display: inline-block;
    padding: 14px 0 11px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #666;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
}
.fd-series-ep-list-main__tab.is-active {
    color: #111;
    border-bottom-color: #1a5fb4;
}
.fd-series-ep-list-seasons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 18px 10px;
}
.fd-series-ep-list-season {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: #fff;
    color: #222;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.fd-series-ep-list-season:hover {
    border-color: #f5c518;
    color: #111;
}
.fd-series-ep-list-season.is-active {
    background: #f5c518;
    border-color: #f5c518;
    color: #111;
}
.fd-series-ep-list-items {
    padding: 4px 0 0;
}
.fd-series-ep-list-item {
    display: grid;
    grid-template-columns: 202px minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
    border-top: 1px solid #eee;
    align-items: stretch;
}
.fd-series-ep-list-item:first-child {
    border-top: none;
}
.fd-series-ep-list-item__media {
    line-height: 0;
}
.fd-series-ep-list-item__body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-width: 0;
}
.fd-series-ep-list-item__thumb-link {
    display: block;
}
.fd-series-ep-list-item__thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    background: #ececec;
    display: block;
}
.fd-series-ep-list-item__thumb--empty {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    background: linear-gradient(135deg, #ececec, #ddd);
}
.fd-series-ep-list-item__title {
    margin: 0 0 6px;
    font-size: 1.0625rem;
    font-weight: 800;
    line-height: 1.35;
}
.fd-series-ep-list-item__title a {
    color: #111;
    text-decoration: none;
}
.fd-series-ep-list-item__title a:hover {
    color: #1a5fb4;
}
.fd-series-ep-list-item__meta {
    margin: 0 0 10px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #666;
    line-height: 1.5;
}
.fd-series-ep-list-item__date {
    flex-shrink: 0;
    font-size: 0.8125rem;
    color: #666;
    white-space: nowrap;
}
.fd-series-ep-list-item__story {
    margin: 0 0 12px;
    flex: 1 1 auto;
    font-size: 0.875rem;
    color: #333;
    line-height: 1.75;
}
.fd-series-ep-list-item__foot {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: auto;
    align-self: flex-end;
    direction: ltr;
}
.fd-series-ep-list-item__rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #111;
    font-size: 0.875rem;
    font-weight: 800;
}
.fd-series-ep-list-item__rating svg {
    color: var(--fd-gold);
    flex-shrink: 0;
}
.fd-series-ep-list-item__sep {
    color: #000;
    font-size: 0.875rem;
    line-height: 1;
}
.fd-series-ep-list-item__more {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1a5fb4;
    text-decoration: none;
}
.fd-series-ep-list-item__more:hover {
    text-decoration: underline;
}
.fd-series-ep-list-empty {
    margin: 0;
    padding: 24px 18px;
    color: #666;
    font-size: 0.9375rem;
}
@media (max-width: 900px) {
    .fd-series-ep-list-top__grid {
        grid-template-columns: 1fr;
    }
    .fd-series-ep-list-item {
        grid-template-columns: 144px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }
}
@media (max-width: 640px) {
    .fd-series-ep-list-item {
        grid-template-columns: 1fr;
    }
}

/* Entity media pages (photos / videos / news) */
.fd-entity-media-page {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    background: #f5f5f5;
    min-height: 60vh;
}
.fd-entity-media-hero {
    position: relative;
    width: 100%;
    background: #121212;
    color: #fff;
    padding: 18px var(--fd-layout-gutter) 28px;
}
.fd-entity-media-hero--has-bg {
    background-color: #121212;
    background-image: var(--fd-entity-media-cover);
    background-size: cover;
    background-position: center top;
}
.fd-entity-media-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.72) 0%, rgba(8, 8, 8, 0.92) 100%);
}
.fd-entity-media-body__inner {
    position: relative;
    z-index: 1;
    max-width: var(--fd-layout-max);
    margin: 0 auto;
}
.fd-entity-media-hero__content,
.fd-entity-media-panel {
    width: 813px;
    max-width: 100%;
}
.fd-entity-media-hero__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.fd-entity-media-hero__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
}
.fd-entity-media-hero__actions .fd-share-wrap { flex-shrink: 0; }
.fd-entity-media-hero__actions .fd-share-btn { color: rgba(255, 255, 255, 0.78); }
.fd-entity-media-hero__actions .fd-share-btn:hover { color: #fff; }
.fd-entity-media-hero__actions .fd-movie-hero__nav-link.is-active {
    color: #fff;
    font-weight: 800;
}
.fd-entity-media-hero__back { flex-shrink: 0; }
.fd-entity-media-hero__back a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
}
.fd-entity-media-hero__back a:hover { color: #79b8ff; }
.fd-entity-media-hero__head {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}
.fd-entity-media-hero__poster {
    flex-shrink: 0;
    width: 96px;
    line-height: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    display: block;
}
.fd-entity-media-hero__poster img {
    width: 100%;
    height: auto;
    display: block;
}
.fd-entity-media-hero__poster-empty {
    display: block;
    width: 96px;
    aspect-ratio: 2 / 3;
    background: linear-gradient(135deg, #444, #222);
}
.fd-entity-media-hero__parent {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}
.fd-entity-media-hero__parent a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
}
.fd-entity-media-hero__parent a:hover { color: #79b8ff; }
.fd-entity-media-hero__title {
    margin: 0;
    font-size: clamp(1.625rem, 3.5vw, 2.125rem);
    font-weight: 800;
    line-height: 1.25;
}
.fd-entity-media-body {
    padding: 0 var(--fd-layout-gutter) 48px;
}
.fd-entity-media-panel {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 0 0 20px;
    margin-top: 12px;
}
.fd-entity-media-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #eee;
}
.fd-entity-media-toolbar__count {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #333;
}
.fd-entity-media-grid {
    display: grid;
    gap: 12px;
    padding: 16px 18px 0;
}
.fd-entity-media-grid--photos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.fd-entity-media-grid__item {
    border: none;
    padding: 0;
    background: transparent;
    cursor: pointer;
    border-radius: 10px;
    overflow: hidden;
    line-height: 0;
}
.fd-entity-media-grid__item img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}
.fd-entity-media-grid--videos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fd-entity-media-grid__video-wrap {
    border-radius: 10px;
    overflow: hidden;
    background: #111;
}
.fd-entity-media-grid__video-trigger {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: #111;
    cursor: pointer;
}
.fd-entity-media-grid__video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    background: #111;
    pointer-events: none;
}
.fd-video-grid__play--entity { border-radius: 0; }
.fd-entity-news-list {
    padding: 8px 18px 0;
}
.fd-entity-news-item {
    padding: 18px 0;
    border-bottom: 1px solid #eee;
}
.fd-entity-news-item:last-child { border-bottom: none; }
.fd-entity-news-item__link {
    text-decoration: none;
    color: inherit;
}
.fd-entity-news-item__title {
    margin: 0 0 12px;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.45;
    color: #111;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.fd-entity-news-item__link:hover .fd-entity-news-item__title { color: #1a5fb4; }
.fd-entity-news-item__external {
    display: inline-block;
    vertical-align: middle;
    margin-inline-start: 6px;
    color: #666;
}
.fd-entity-news-item__media {
    display: block;
    margin-bottom: 12px;
    border-radius: 10px;
    overflow: hidden;
    line-height: 0;
}
.fd-entity-news-item__media img {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    display: block;
}
.fd-entity-news-item__excerpt {
    margin: 0 0 10px;
    font-size: 0.9375rem;
    line-height: 1.75;
    color: #333;
}
.fd-entity-news-item__meta {
    margin: 0;
    font-size: 0.8125rem;
    color: #666;
    font-weight: 600;
}
.fd-entity-news-item__sep { margin: 0 6px; }
@media (max-width: 900px) {
    .fd-entity-media-grid--photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fd-entity-media-grid--videos { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .fd-entity-media-grid--photos { grid-template-columns: 1fr; }
}

/* Legacy series seasons table (unused) */
.fd-series-seasons {
    margin-bottom: 32px;
}
.fd-series-seasons__season {
    margin-bottom: 24px;
}
.fd-series-seasons__season:last-child {
    margin-bottom: 0;
}
.fd-series-seasons__season-title {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 800;
    color: #000;
}
.fd-series-seasons__season-name {
    font-weight: 700;
}
.fd-series-seasons__season-year {
    color: #666;
    font-weight: 600;
}
.fd-series-seasons__season-desc {
    color: #444;
    font-size: 0.875rem;
    margin: 0 0 12px;
    line-height: 1.75;
}
.fd-series-seasons__table-wrap {
    overflow-x: auto;
    border-radius: 10px;
    border: 1px solid #e8e8e8;
    background: #fff;
}
.fd-series-seasons__table {
    width: 100%;
    border-collapse: collapse;
    direction: rtl;
    font-size: 0.875rem;
}
.fd-series-seasons__table th,
.fd-series-seasons__table td {
    padding: 12px 16px;
    text-align: right;
    border-bottom: 1px solid #eee;
}
.fd-series-seasons__table th {
    background: #f8f9fa;
    font-weight: 800;
    color: #222;
    white-space: nowrap;
}
.fd-series-seasons__table tr:nth-child(even) td {
    background: #fafafa;
}
.fd-series-seasons__table tr:last-child td {
    border-bottom: none;
}

/* Festival page */
.fd-festival-backdrop {
    background: #121212;
}
.fd-festival-backdrop__inner {
    padding-bottom: 32px;
}
.fd-festival-hero.fd-movie-hero {
    /* Festival uses the shared movie/crew/award hero layout */
}

.fd-festival-page .fd-media-layout {
    margin-bottom: 24px;
    padding-top: 0;
    height: auto;
    min-height: 415px;
    align-items: flex-start;
}
.fd-festival-page .fd-media-layout > .fd-media-layout__poster--festival {
    overflow: visible;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: auto;
    align-self: flex-start;
}
.fd-festival-page .fd-media-layout__poster--festival .fd-media-layout__poster-frame {
    position: relative;
    width: 100%;
    height: 415px;
    overflow: hidden;
    border-radius: 12px;
}
.fd-festival-page .fd-media-layout__poster--festival .fd-media-layout__poster-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-festival-page .fd-media-layout__poster--festival .fd-profile-fav-form,
.fd-festival-page .fd-media-layout__poster--festival > .fd-media-layout__poster-frame .fd-profile-fav-btn,
.fd-festival-page .fd-media-layout__poster--festival .fd-profile-fav-btn {
    position: absolute;
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 5;
}
.fd-festival-page .fd-media-layout__poster--festival .fd-profile-fav-btn {
    width: 44px;
    height: 44px;
}
.fd-festival-page .fd-media-layout__poster--festival .fd-profile-fav-btn__icon {
    width: 22px;
    height: 22px;
}
.fd-festival-page .fd-media-layout__video-col,
.fd-festival-page .fd-media-layout__side {
    height: 415px;
}

.fd-festival-poster-award {
    margin-top: 0;
    text-align: center;
    line-height: 1.55;
    padding: 0 4px 4px;
}
.fd-festival-poster-award__label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.82);
}
.fd-festival-poster-award__title {
    display: inline-block;
    margin-top: 2px;
    font-size: 0.95rem;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
}
.fd-festival-poster-award__title:hover {
    text-decoration: underline;
}
.fd-festival-highlights {
    margin-top: 8px;
    width: min(var(--fd-movie-main-width), 100%);
    max-width: 100%;
    margin-inline-start: 0;
    margin-inline-end: auto;
}
.fd-festival-highlights .fd-festival-sections {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #333;
}
.fd-festival-highlights .fd-festival-winners--dark {
    margin-bottom: 0;
}
.fd-festival-sections__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}
.fd-festival-sections__pill {
    appearance: none;
    border: 1px solid #555;
    border-radius: 999px;
    padding: 8px 18px;
    background: transparent;
    color: #fff;
    font-size: 0.9rem;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color 0.2s, color 0.2s;
}
.fd-festival-sections__pill:hover,
.fd-festival-sections__pill.is-active {
    border-color: var(--fd-gold);
    color: var(--fd-gold);
}

.fd-festival-winners--dark {
    margin-bottom: 0;
}
.fd-festival-winners__list.fd-festival-winners--dark {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: block;
    gap: 0;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__row {
    padding: 10px 0;
    border-bottom: 1px solid #333;
    font-size: 15px;
    line-height: 1.55;
    text-align: right;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__label {
    color: #fff;
    font-weight: 700;
    min-width: 0;
    display: inline;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__winner {
    color: #5799ef;
    font-weight: 600;
    text-decoration: none;
    display: inline;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__winner:hover {
    color: #7eb3f7;
    text-decoration: underline;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__names {
    display: inline;
    margin-inline-start: 0.35em;
}
.fd-festival-winners__list.fd-festival-winners--dark .fd-festival-winners__dot {
    display: inline-block;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.55em;
    vertical-align: middle;
    margin: 0 0.45em;
    line-height: 1;
}

.fd-festival-winners { margin-bottom: 32px; }
.fd-festival-winners__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 12px;
}
.fd-festival-winners__list li {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
    font-size: 0.95rem;
}
.fd-festival-winners__label {
    font-weight: 700;
    color: #333;
    min-width: 140px;
}
.fd-festival-winners__list a {
    color: #1a5fb4;
    text-decoration: none;
    font-weight: 600;
}
.fd-festival-winners__list a:hover { text-decoration: underline; }

.fd-festival-movies { margin-bottom: 32px; }
.fd-festival-movies__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}
.fd-festival-movies__card { display: flex; flex-direction: column; gap: 8px; }
.fd-festival-movies__poster {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 2/3;
    background: #eee;
}
.fd-festival-movies__poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fd-festival-movies__title {
    color: #1a5fb4;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    line-height: 1.4;
}
.fd-festival-movies__title:hover { text-decoration: underline; }
.fd-festival-movies__section { display: block; font-size: 0.8rem; color: #666; }

.fd-festival-organizers {
    margin-bottom: 28px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8e8e8;
}
.fd-festival-organizers__list {
    margin: 0;
    padding: 0;
}
.fd-festival-organizers__row {
    margin: 0 0 14px;
    font-size: 0.9rem;
    line-height: 1.9;
    color: #333;
}
.fd-festival-organizers__row:last-child {
    margin-bottom: 0;
}
.fd-festival-organizers__label {
    font-weight: 800;
    color: #111;
}
.fd-festival-organizers__members {
    display: inline;
}
.fd-festival-organizers__link {
    color: #1a5fb4;
    font-weight: 600;
    text-decoration: none;
}
.fd-festival-organizers__link:hover {
    text-decoration: underline;
}
.fd-festival-organizers__sep {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 4px;
    border-radius: 50%;
    background: #b0b0b0;
    vertical-align: middle;
    flex-shrink: 0;
}

.fd-festival-page .fd-video-grid--festival {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.fd-festival-page .fd-video-grid--festival .fd-video-grid__trigger {
    height: 140px;
    border-radius: 10px;
}
.fd-festival-page .fd-video-grid--festival .fd-video-grid__item {
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.fd-festival-page .fd-media-grid--festival {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.fd-festival-page .fd-media-grid--festival .fd-media-grid__item img {
    height: 140px;
    border-radius: 10px;
}

.fd-festival-about__block { margin-bottom: 28px; }
.fd-story-text--light { color: #333; }

.fd-festival-story {
    margin-bottom: 28px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8e8e8;
}
.fd-festival-story__text {
    font-size: 0.95rem;
    line-height: 2;
    text-align: justify;
    color: #333;
}

.fd-festival-film-awards {
    margin-bottom: 28px;
}
.fd-festival-film-awards__category {
    margin-bottom: 24px;
}
.fd-festival-film-awards__category-head {
    margin-bottom: 4px;
}
.fd-festival-film-awards__category-link {
    display: inline-flex;
    text-decoration: none;
    color: inherit;
}
.fd-festival-film-awards__category-title {
    margin: 12px 0 8px;
}
.fd-festival-film-awards__category-link:hover .fd-section-title__arrow {
    color: var(--fd-gold);
}
.fd-movie-body--light .fd-festival-film-awards__category-link .fd-section-title__arrow {
    color: #111;
}
.fd-movie-body--light .fd-festival-film-awards__category-link:hover .fd-section-title__arrow {
    color: var(--fd-gold);
}
.fd-festival-film-awards__category:last-child {
    margin-bottom: 0;
}
.fd-carousel-track--festival-awards {
    gap: 14px;
    padding: 4px 2px 8px;
}
.fd-festival-film-award-card {
    flex: 0 0 118px;
    scroll-snap-align: start;
    min-width: 0;
}
.fd-festival-film-award-card__poster-wrap {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    background: #e8e8e8;
    line-height: 0;
}
.fd-festival-film-award-card__poster-link {
    display: block;
}
.fd-festival-film-award-card__poster-wrap img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-festival-film-award-card__poster-wrap .fd-poster-fav-form,
.fd-festival-film-award-card__poster-wrap > .fd-poster-fav-btn,
.fd-festival-film-award-card__poster-wrap > a.fd-poster-fav-btn {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    z-index: 5;
    margin: 0;
    padding: 0;
    line-height: 0;
}
.fd-festival-film-award-card__title {
    display: block;
    margin-top: 8px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1a5fb4;
    text-decoration: none;
    line-height: 1.45;
    text-align: center;
}
.fd-festival-film-award-card__title:hover {
    text-decoration: underline;
}
.fd-festival-film-award-card__status {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}
.fd-festival-film-award-card__status--winner {
    color: var(--fd-gold);
    font-weight: 800;
}
.fd-festival-film-award-card__status--nominee {
    color: #888;
    font-weight: 600;
}
.fd-festival-film-award-card__status--diploma {
    color: #b8860b;
    font-weight: 700;
}

.fd-festival-crew-awards {
    margin-bottom: 28px;
}
.fd-festival-crew-awards__category {
    margin-bottom: 28px;
}
.fd-festival-crew-awards__category-head {
    margin: 0 0 10px;
}
.fd-festival-crew-awards__category-title {
    display: flex;
    align-items: center;
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #000;
    line-height: 1.45;
}
.fd-festival-crew-awards__category-name {
    min-width: 0;
}
.fd-festival-crew-awards__category-link {
    display: inline-flex;
    text-decoration: none;
    color: inherit;
}
.fd-festival-crew-awards__category-link .fd-section-title__arrow {
    color: #111;
}
.fd-festival-crew-awards__category-link:hover .fd-section-title__arrow {
    color: var(--fd-gold);
}
.fd-movie-body--light .fd-festival-crew-awards__category-link .fd-section-title__arrow {
    color: #111;
}
.fd-movie-body--light .fd-festival-crew-awards__category-link:hover .fd-section-title__arrow {
    color: var(--fd-gold);
}
.fd-festival-crew-awards__card {
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
.fd-festival-crew-awards__table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    direction: rtl;
}
.fd-festival-crew-awards__col-person {
    width: 38%;
}
.fd-festival-crew-awards__col-film {
    width: 42%;
}
.fd-festival-crew-awards__col-status {
    width: 20%;
}
.fd-festival-crew-award__row {
    font-size: 0.875rem;
}
.fd-festival-crew-award__row td {
    padding: 12px 16px;
    vertical-align: middle;
    border: none;
}
.fd-festival-crew-award__row:nth-child(odd) td {
    background: #fff;
}
.fd-festival-crew-award__row:nth-child(even) td {
    background: #f8f9fa;
}
.fd-festival-crew-award__person {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.fd-festival-crew-award__avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    flex-shrink: 0;
    background: #e8e8e8;
}
.fd-festival-crew-award__person-link {
    color: #1a5fb4;
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
    line-height: 1.45;
}
.fd-festival-crew-award__person-link:hover {
    text-decoration: underline;
}
.fd-festival-crew-award__film {
    text-align: center;
    min-width: 0;
}
.fd-festival-crew-award__film a {
    color: #1a5fb4;
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
    line-height: 1.45;
}
.fd-festival-crew-award__film a:hover {
    text-decoration: underline;
}
.fd-festival-crew-award__status {
    text-align: left;
    white-space: nowrap;
}
.fd-festival-crew-award__status--winner {
    color: var(--fd-gold);
    font-weight: 800;
}
.fd-festival-crew-award__status--nominee {
    color: #888;
    font-weight: 600;
}
.fd-festival-crew-award__status--diploma {
    color: #b8860b;
    font-weight: 700;
}
.fd-simorgh-icon {
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .fd-festival-crew-awards__table,
    .fd-festival-crew-awards__table tbody,
    .fd-festival-crew-award__row,
    .fd-festival-crew-award__row td {
        display: block;
        width: 100%;
    }
    .fd-festival-crew-award__row td {
        padding: 8px 16px;
        text-align: right;
    }
    .fd-festival-crew-award__row td + td {
        padding-top: 0;
    }
    .fd-festival-crew-award__film {
        text-align: right;
    }
    .fd-festival-crew-award__status {
        text-align: right;
    }
}

.fd-news-page.fd-movie-page {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding: 0;
}
.fd-genre-page .fd-genre-hero {
    display: block;
    width: 813px;
    max-width: 100%;
}
.fd-genre-page .fd-genre-hero__eyebrow {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.85rem;
    font-weight: 600;
}
.fd-genre-page .fd-genre-hero .fd-movie-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fd-genre-page .fd-genre-hero__about {
    width: 813px;
    max-width: 100%;
    margin-top: 8px;
    margin-bottom: 20px;
}
.fd-genre-page .fd-movie-info-panel--light {
    width: 100%;
    max-width: 100%;
}
.fd-activity-page .fd-activity-hero {
    display: block;
    width: 813px;
    max-width: 100%;
}
.fd-activity-page .fd-activity-hero__eyebrow {
    margin: 0 0 8px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.85rem;
    font-weight: 600;
}
.fd-activity-page .fd-activity-hero .fd-movie-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fd-activity-page .fd-activity-hero__about {
    width: 813px;
    max-width: 100%;
    margin-top: 8px;
    margin-bottom: 20px;
}
.fd-activity-page .fd-movie-info-panel--light {
    width: 100%;
    max-width: 100%;
}
.fd-activity-page .fd-search-grid .fd-search-grid-title {
    color: #1a5fb4;
    font-weight: 600;
}
.fd-activity-page .fd-search-grid .fd-search-grid-item:hover .fd-search-grid-title {
    color: #0b4ea2;
    text-decoration: underline;
}
.fd-news-page .fd-news-page__hero-poster,
.fd-news-page .fd-movie-info-panel {
    width: 813px;
    max-width: 100%;
}
.fd-news-page__hero-poster {
    margin: 0 0 24px;
    border-radius: 10px;
    overflow: hidden;
}
.fd-news-page__hero-poster img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}
.fd-news-article { margin-bottom: 32px; }
.fd-news-article__content {
    color: #222;
    line-height: 1.95;
    font-size: 1rem;
    text-align: justify;
}
.fd-news-article__content p {
    margin: 0 0 1em;
}
.fd-news-article__content p:last-child {
    margin-bottom: 0;
}
.fd-news-article__content.fd-rich-text a,
.fd-news-article__content a,
.fd-news-article__content .fd-inline-mention {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-news-article__content.fd-rich-text a:hover,
.fd-news-article__content a:hover,
.fd-news-article__content .fd-inline-mention:hover {
    color: #0b4a9a;
    text-decoration: underline;
}
.fd-news-article__source { margin-top: 24px; }
.fd-news-article__source a {
    color: #1a5fb4;
    font-weight: 700;
    text-decoration: none;
}
.fd-news-article__source a:hover { text-decoration: underline; }

.fd-news-page__article-poster {
    margin: 0 0 32px;
    border-radius: 12px;
    overflow: hidden;
    background: #eee;
}
.fd-news-page__article-poster img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
}

.fd-news-page__video {
    margin: 0 0 32px;
}
.fd-news-page__video-player {
    border-radius: 12px;
    overflow: hidden;
    background: #111;
}
.fd-news-page__video-player video {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    background: #111;
}

.fd-news-related { margin-bottom: 32px; }
.fd-news-related__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}
.fd-news-related__card {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    color: inherit;
}
.fd-news-related__media {
    flex: 0 0 auto;
    text-decoration: none;
}
.fd-news-related__thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 72px;
    border-radius: 6px;
    overflow: hidden;
    background: #e8e8e8;
}
.fd-news-related__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fd-news-related__thumb--empty { background: #ddd; }
.fd-news-related__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fd-news-related__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111;
    line-height: 1.35;
    text-decoration: none;
}
.fd-news-related__title:hover { color: #1a5fb4; }
.fd-news-related__subtitle {
    font-size: 0.7rem;
    color: #888;
    line-height: 1.25;
    pointer-events: none;
}

/* News index listing */
.fd-news-index {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 813px;
}
.fd-news-index__item {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid #2a2a2a;
}
.fd-news-index__item:last-child { border-bottom: none; }
.fd-news-index__media {
    display: block;
    width: 160px;
    aspect-ratio: 16 / 10;
    border-radius: 10px;
    overflow: hidden;
    background: #1a1a1a;
    line-height: 0;
}
.fd-news-index__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-news-index__media--empty {
    background: #222;
}
.fd-news-index__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.fd-news-index__title-link {
    text-decoration: none;
    color: inherit;
}
.fd-news-index__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.45;
    color: #fff;
}
.fd-news-index__title-link:hover .fd-news-index__title {
    color: var(--fd-gold);
}
.fd-news-index__excerpt {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.75;
    color: #bbb;
}
.fd-news-index__meta {
    margin: 0;
    font-size: 0.8125rem;
    color: #888;
    font-weight: 600;
}
.fd-news-index__sep { margin: 0 6px; }
@media (max-width: 640px) {
    .fd-news-index__item {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .fd-news-index__media {
        width: 100%;
        max-width: 100%;
    }
}

/* Award page hero */
.fd-award-page .fd-movie-backdrop:not(.fd-movie-backdrop--has-bg) {
    background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
}
.fd-award-media-layout__poster-link {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}
.fd-award-media-layout__poster-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* Award page â€” editions layout (winner + nominee thumbnails) */
.fd-award-editions {
    margin-bottom: 32px;
}
.fd-award-editions__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.fd-award-edition {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 24px;
    padding: 16px 0;
    border-bottom: 1px solid #e8e8e8;
}
.fd-award-edition:last-child {
    border-bottom: none;
}
.fd-award-edition__winner {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 12px;
    flex-shrink: 0;
}
.fd-award-edition__photo {
    overflow: hidden;
    background: #e8e8e8;
    line-height: 0;
}
.fd-award-edition__photo--link {
    text-decoration: none;
    display: block;
}
.fd-award-edition__photo--winner {
    width: 112px;
    height: 200px;
    flex-shrink: 0;
    border-radius: 6px;
}
.fd-award-edition__photo--winner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.fd-award-edition__winner-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 4px;
    min-width: 120px;
    max-width: 200px;
    padding-bottom: 2px;
}
.fd-award-edition__badge--winner {
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--fd-gold);
    line-height: 1.2;
}
.fd-award-edition__name {
    font-size: 0.875rem;
    font-weight: 800;
    color: #1a5fb4;
    text-decoration: none;
    line-height: 1.35;
}
.fd-award-edition__name:hover {
    text-decoration: underline;
}
.fd-award-edition__name--winner {
    font-size: 0.9375rem;
}
.fd-award-edition__year {
    font-size: 0.875rem;
    font-weight: 700;
    color: #222;
}
.fd-award-edition__film {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #444;
    text-decoration: none;
    line-height: 1.4;
}
.fd-award-edition__film:hover {
    color: #1a5fb4;
    text-decoration: underline;
}
.fd-award-edition__festival {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #666;
    text-decoration: none;
    line-height: 1.4;
}
.fd-award-edition__festival:hover {
    color: #1a5fb4;
    text-decoration: underline;
}
.fd-award-edition__nominees-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 6px;
    flex: 1;
    min-width: 0;
}
.fd-award-edition__nominees-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #444;
    line-height: 1.2;
}
.fd-award-edition__nominees {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
    flex-wrap: wrap;
    padding-bottom: 0;
}
.fd-award-edition__photo--nominee {
    width: 52px;
    height: 92px;
    flex-shrink: 0;
    border-radius: 4px;
    transition: opacity 0.2s ease;
}
.fd-award-edition__photo--nominee:hover {
    opacity: 0.88;
}
.fd-award-edition__photo--nominee img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
@media (max-width: 768px) {
    .fd-award-edition {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }
    .fd-award-edition__winner {
        align-items: flex-end;
    }
    .fd-award-edition__nominees-wrap {
        align-items: flex-end;
    }
    .fd-award-edition__nominees {
        justify-content: flex-end;
    }
    .fd-award-edition__photo--nominee {
        width: 46px;
        height: 82px;
    }
}

/* Fajr logo */
.fd-fajr-logo {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    object-fit: contain;
    width: auto;
}
.fd-fajr-logo--sm {
    height: 16px;
}
.fd-fajr-logo--md {
    height: 22px;
}
.fd-fajr-logo--lg {
    height: 28px;
}
.fd-fajr-logo--winner {
    filter: none;
}
.fd-fajr-logo--nominee {
    filter: grayscale(100%) brightness(0.55);
    opacity: 0.85;
}
.fd-festival-crew-award__row--winner td {
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Festival hub â€” editions grid */
.fd-festival-editions {
    margin-bottom: 36px;
}
.fd-festival-editions__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
    gap: 20px 16px;
    width: min(var(--fd-movie-main-width, 760px), 100%);
}
.fd-festival-editions__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}
.fd-festival-editions__poster-link {
    display: block;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: 6px;
    background: #e8e8e8;
    line-height: 0;
}
.fd-festival-editions__poster-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.fd-festival-editions__title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #5799ef;
    text-decoration: none;
    line-height: 1.4;
}
.fd-festival-editions__title:hover {
    text-decoration: underline;
}
.fd-festival-editions__meta {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #555;
    line-height: 1.35;
}
@media (max-width: 640px) {
    .fd-festival-editions__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 12px;
    }
}

/* Festival films list page */
.fd-fest-films-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px 48px;
}
.fd-fest-films-page__back {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--imdb-gold);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
}
.fd-fest-films-page__back:hover {
    text-decoration: underline;
}
.fd-fest-films-page__title {
    margin: 0 0 8px;
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--imdb-gold);
}
.fd-fest-films-page__filter {
    margin: 0 0 24px;
    color: var(--imdb-muted);
    font-size: 0.9rem;
}
.fd-fest-films-page__empty {
    color: var(--imdb-muted);
}
.fd-fest-films-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}
.fd-fest-film-card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    background: #111;
    padding: 15px;
    border-radius: 10px;
}
.fd-fest-film-card__poster-link {
    flex-shrink: 0;
}
.fd-fest-film-card__poster {
    width: 180px;
    height: 270px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}
.fd-fest-film-card__info {
    flex: 1;
    min-width: 0;
    color: #fff;
    text-align: right;
}
.fd-fest-film-card__title {
    margin: 0 0 10px;
    font-size: 1.125rem;
    font-weight: 800;
    line-height: 1.4;
}
.fd-fest-film-card__title a {
    color: var(--imdb-gold);
    text-decoration: none;
}
.fd-fest-film-card__title a:hover {
    text-decoration: underline;
}
.fd-fest-film-card__director,
.fd-fest-film-card__meta,
.fd-fest-film-card__genre {
    margin: 0 0 8px;
    font-size: 0.875rem;
    line-height: 1.6;
    color: #ddd;
}
.fd-fest-film-card__label {
    color: #fff;
}
.fd-fest-film-card__director a {
    color: var(--imdb-gold);
    text-decoration: none;
}
.fd-fest-film-card__director a:hover {
    text-decoration: underline;
}
.fd-fest-film-card__meta span + span::before {
    content: ' â€¢ ';
    color: #888;
}
.fd-fest-film-card__story {
    margin: 10px 0 0;
    font-size: 0.8125rem;
    line-height: 1.7;
    color: #ccc;
}
.fd-fest-film-card__awards {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.fd-fest-film-card__award {
    display: inline-flex;
}
.fd-fest-film-card__award .fd-fajr-logo {
    height: 42px;
}

@media (max-width: 700px) {
    .fd-fest-films-grid {
        grid-template-columns: 1fr;
    }
    .fd-fest-film-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .fd-fest-film-card__info {
        text-align: center;
    }
}

/* Related news â€” festival dark cards */
.fd-related-news--festival {
    margin-bottom: 28px;
}
.fd-related-news--festival__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding-top: 8px;
}
.fd-related-news--festival__card {
    display: flex;
    flex-direction: column;
    background: #111;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s ease;
}
.fd-related-news--festival__card:hover {
    transform: translateY(-4px);
}
.fd-related-news--festival__thumb {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
}
.fd-related-news--festival__thumb--empty {
    background: linear-gradient(135deg, #222, #111);
}
.fd-related-news--festival__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fd-related-news--festival__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px;
    padding: 14px 14px 12px;
}
.fd-related-news--festival__title {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 800;
    line-height: 1.55;
    color: #fff;
}
.fd-related-news--festival__excerpt {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.65;
    color: #999;
    flex: 1;
}
.fd-related-news--festival__date {
    margin-top: auto;
    font-size: 0.75rem;
    color: #777;
    text-align: left;
}

@media (max-width: 900px) {
    .fd-related-news--festival__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .fd-related-news--festival__grid {
        grid-template-columns: 1fr;
    }
}

/* â”€â”€ Site footer â”€â”€ */
.fd-site-footer {
    position: relative;
    margin-top: auto;
    flex-shrink: 0;
    background:
        radial-gradient(120% 80% at 100% 0%, rgba(226, 182, 22, 0.08), transparent 55%),
        linear-gradient(180deg, #0d0d0d 0%, #050505 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: #9a9a9a;
    overflow: hidden;
}
.fd-site-footer__glow {
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(226, 182, 22, 0.55) 35%,
        rgba(226, 182, 22, 0.85) 50%,
        rgba(226, 182, 22, 0.55) 65%,
        transparent 100%
    );
    opacity: 0.9;
    pointer-events: none;
}
.fd-site-footer__inner {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 48px var(--fd-layout-gutter) 36px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.6fr);
    gap: 40px 56px;
    align-items: start;
}
.fd-site-footer__brand {
    max-width: 28rem;
}
.fd-site-footer__logo {
    display: inline-block;
    line-height: 0;
    margin-bottom: 16px;
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.fd-site-footer__logo:hover {
    opacity: 0.88;
    transform: translateY(-1px);
}
.fd-site-footer__logo img {
    height: 40px;
    width: auto;
    display: block;
}
.fd-site-footer__tagline {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.75;
    color: #b0b0b0;
    font-weight: 500;
}
.fd-site-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 24px;
}
.fd-site-footer__heading {
    margin: 0 0 14px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fd-gold);
}
.fd-site-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.fd-site-footer__list a {
    position: relative;
    display: inline-block;
    color: #c4c4c4;
    font-size: 0.9rem;
    font-weight: 600;
    transition: color 0.2s ease;
}
.fd-site-footer__list a::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background: var(--fd-gold);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.22s ease;
}
.fd-site-footer__list a:hover {
    color: #fff;
}
.fd-site-footer__list a:hover::after {
    transform: scaleX(1);
}
.fd-site-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(0, 0, 0, 0.35);
}
.fd-site-footer__bottom-inner {
    max-width: var(--fd-layout-max);
    margin: 0 auto;
    padding: 16px var(--fd-layout-gutter);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 20px;
}
.fd-site-footer__copy,
.fd-site-footer__credit {
    margin: 0;
    font-size: 0.8rem;
    color: #777;
}
.fd-site-footer__brand-mark {
    color: #d0d0d0;
    font-weight: 800;
}
.fd-site-footer__copy {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.fd-search-grid-meta {
    color: #cfcfcf;
}
.fd-search-grid-director {
    color: #fff;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.45;
}
.fd-search-grid-director a {
    color: #fff;
    text-decoration: none;
}
.fd-search-grid-director a:hover {
    color: var(--fd-gold, #f5c518);
}

@media (max-width: 900px) {
    .fd-site-footer__inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 36px var(--fd-layout-gutter) 28px;
    }
    .fd-site-footer__nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px 12px;
    }
    .fd-site-footer__brand {
        max-width: none;
        text-align: center;
    }
    .fd-site-footer__logo {
        margin-bottom: 10px;
    }
    .fd-site-footer__tagline {
        font-size: 0.85rem;
    }
}

@media (max-width: 600px) {
    .fd-site-footer__inner {
        padding: 28px var(--fd-layout-gutter) 22px;
        gap: 22px;
    }
    .fd-site-footer__nav {
        grid-template-columns: 1fr 1fr;
        gap: 20px 14px;
    }
    .fd-site-footer__col:last-child {
        grid-column: 1 / -1;
    }
    .fd-site-footer__heading {
        margin-bottom: 10px;
        font-size: 0.72rem;
    }
    .fd-site-footer__list {
        gap: 8px;
    }
    .fd-site-footer__list a {
        font-size: 0.84rem;
    }
    .fd-site-footer__logo img {
        height: 34px;
        margin-inline: auto;
    }
    .fd-site-footer__bottom-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 6px;
        padding: 14px var(--fd-layout-gutter);
    }
    .fd-site-footer__copy,
    .fd-site-footer__credit {
        font-size: 0.75rem;
    }
}

/* â€”â€” PWA install banner â€”â€” */
.fd-pwa-banner {
    position: fixed;
    right: 12px;
    left: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 1200;
    pointer-events: none;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .25s ease, transform .25s ease;
}
.fd-pwa-banner.is-visible {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}
.fd-pwa-banner__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 12px 12px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, #1a1a1a 0%, #0d0d0d 100%);
    border: 1px solid #333;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .55);
}
.fd-pwa-banner__icon img {
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    object-fit: contain;
    background: #111;
    padding: 4px;
}
.fd-pwa-banner__text {
    flex: 1 1 auto;
    min-width: 0;
}
.fd-pwa-banner__title {
    display: block;
    color: #f5c518;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 2px;
}
.fd-pwa-banner__desc {
    margin: 0;
    color: #c8c8c8;
    font-size: 12.5px;
    line-height: 1.55;
}
.fd-pwa-banner__desc em {
    font-style: normal;
    color: #fff;
    font-weight: 700;
}
.fd-pwa-banner__share {
    display: inline-block;
    padding: 0 4px;
    color: #f5c518;
    font-weight: 800;
}
.fd-pwa-banner__actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.fd-pwa-banner__install {
    border: 0;
    border-radius: 999px;
    background: #f5c518;
    color: #111;
    font-weight: 800;
    font-size: 13px;
    padding: 8px 14px;
    white-space: nowrap;
}
.fd-pwa-banner__install:active {
    transform: scale(.97);
}
.fd-pwa-banner__close {
    border: 0;
    background: transparent;
    color: #888;
    font-size: 22px;
    line-height: 1;
    width: 32px;
    height: 32px;
    border-radius: 999px;
}
.fd-pwa-banner__close:hover {
    color: #fff;
    background: #222;
}

@media (min-width: 901px) {
    .fd-pwa-banner {
        display: none !important;
    }
}

body.fd-pwa-banner-open {
    padding-bottom: 96px;
}

/* â”€â”€ Public user profile (IMDb-style) â”€â”€ */
.fd-user-profile {
    background: #fff;
    color: #111;
    margin: 0;
}
.fd-user-profile__hero {
    background: #1f1f1f;
    color: #fff;
    padding: 28px 20px 32px;
}
.fd-user-profile__hero-inner {
    max-width: 1260px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.fd-user-profile__identity {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}
.fd-user-profile__avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: #3a3a3a;
    color: #f5c518;
    display: grid;
    place-items: center;
    font-size: 1.75rem;
    font-weight: 800;
    flex-shrink: 0;
}
.fd-user-profile__name {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 800;
    line-height: 1.25;
}
.fd-user-profile__joined {
    margin: 8px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b0b0b0;
    font-size: 0.9rem;
}
.fd-user-profile__edit {
    display: inline-flex;
    margin-top: 12px;
    padding: 6px 14px;
    border-radius: 999px;
    background: #0e63c5;
    color: #fff;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 700;
}
.fd-user-profile__edit:hover {
    background: #0b529f;
    color: #fff;
}
.fd-user-profile__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 150px));
    gap: 10px;
}
.fd-user-profile__stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #2a2a2a;
    border: 1px solid #3a3a3a;
    text-decoration: none;
    color: inherit;
    min-height: 78px;
}
.fd-user-profile__stat:hover {
    border-color: #555;
    color: inherit;
}
.fd-user-profile__stat--muted {
    opacity: 0.85;
}
.fd-user-profile__stat-label {
    font-size: 0.8rem;
    color: #c7c7c7;
}
.fd-user-profile__stat-value {
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1;
}
.fd-user-profile__body {
    max-width: 1260px;
    margin: 0 auto;
    padding: 28px 20px 48px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 36px;
    align-items: start;
}
.fd-user-profile__section + .fd-user-profile__section {
    margin-top: 36px;
}
.fd-user-profile__section-head {
    margin-bottom: 14px;
}
.fd-user-profile__section-title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.25rem;
    font-weight: 800;
}
.fd-user-profile__accent {
    width: 4px;
    height: 1.15em;
    border-radius: 2px;
    background: #f5c518;
    flex-shrink: 0;
}
.fd-user-profile__count {
    color: #777;
    font-size: 0.95rem;
    font-weight: 700;
}
.fd-user-profile__empty {
    margin: 0;
    padding: 28px 12px;
    text-align: center;
    color: #666;
    font-weight: 600;
}
.fd-user-profile__empty--sm {
    padding: 16px 8px;
    font-size: 0.9rem;
}
.fd-user-profile__cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
    gap: 16px;
}
.fd-user-profile__card {
    min-width: 0;
}
.fd-user-profile__card-poster {
    position: relative;
    display: block;
    border-radius: 8px;
    overflow: hidden;
    background: #e8e8e8;
    line-height: 0;
}
.fd-user-profile__card-poster img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-user-profile__card-badge {
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: 28px;
    height: 34px;
    display: grid;
    place-items: center;
    background: #f5c518;
    color: #111;
    border-radius: 0 0 6px 0;
}
.fd-user-profile__card-body {
    padding-top: 8px;
}
.fd-user-profile__card-ratings {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
    font-size: 0.8rem;
    font-weight: 800;
}
.fd-user-profile__card-avg {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #111;
}
.fd-user-profile__card-avg svg {
    color: #f5c518;
}
.fd-user-profile__card-user {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #0e63c5;
}
.fd-user-profile__card-title {
    display: block;
    color: #111;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
}
.fd-user-profile__card-title:hover {
    color: #0e63c5;
}
.fd-user-profile__people {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}
.fd-user-profile__person-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
.fd-user-profile__person-photo {
    background: #eee;
    line-height: 0;
}
.fd-user-profile__person-photo img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-user-profile__person-body {
    padding: 10px 12px 12px;
}
.fd-user-profile__person-name {
    display: block;
    font-weight: 800;
    font-size: 0.92rem;
    color: #111;
}
.fd-user-profile__aside-label {
    margin: 0 0 12px;
    font-size: 0.95rem;
    font-weight: 800;
}
.fd-user-profile__aside-desc {
    margin: -6px 0 14px;
    color: #777;
    font-size: 0.85rem;
}
.fd-user-profile__bars {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 4px;
    align-items: end;
    min-height: 120px;
    padding: 8px 0 0;
}
.fd-user-profile__bar-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;
}
.fd-user-profile__bar-track {
    width: 100%;
    height: 96px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.fd-user-profile__bar-fill {
    width: 70%;
    max-width: 18px;
    border-radius: 3px 3px 0 0;
    background: #0e63c5;
    min-height: 0;
}
.fd-user-profile__bar-label {
    font-size: 0.7rem;
    color: #666;
    font-weight: 700;
}
.fd-user-profile__interest-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.fd-user-profile__interest {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eef5fc;
    text-decoration: none;
    color: inherit;
}
a.fd-user-profile__interest:hover {
    background: #e2effb;
}
.fd-user-profile__interest-name {
    display: block;
    font-weight: 800;
    margin-bottom: 2px;
}
.fd-user-profile__interest-meta {
    display: block;
    font-size: 0.8rem;
    color: #666;
}
@media (max-width: 960px) {
    .fd-user-profile__body {
        grid-template-columns: 1fr;
    }
    .fd-user-profile__stats {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 560px) {
    .fd-user-profile__avatar {
        width: 72px;
        height: 72px;
        font-size: 1.35rem;
    }
    .fd-user-profile__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Favorites page cards */
.fd-fav-card {
    background: #1a1a1a;
    border-radius: 10px;
    overflow: hidden;
    height: 100%;
    color: #fff;
}
.fd-fav-card__poster {
    background: #2a2a2a;
    line-height: 0;
}
.fd-fav-card__poster img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-fav-card__body {
    padding: 12px;
}
.fd-fav-card__title {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #fff;
}
.fd-fav-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.fd-fav-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    font-weight: 800;
    color: #f5c518;
}

/* ── IMDb-style watchlist / favorites ── */
.fd-watchlist {
    background: #f5f5f5;
    color: #111;
    min-height: 60vh;
}
.fd-watchlist__header {
    background: #121212;
    color: #fff;
    padding: 28px 20px;
}
.fd-watchlist__header-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}
.fd-watchlist__title {
    margin: 0;
    font-size: clamp(1.6rem, 2.5vw, 2.1rem);
    font-weight: 800;
}
.fd-watchlist__subtitle {
    margin: 8px 0 0;
    color: #bdbdbd;
    font-size: 0.95rem;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.fd-watchlist__subtitle a {
    color: #79b8ff;
    text-decoration: none;
    font-weight: 700;
}
.fd-watchlist__subtitle a:hover {
    text-decoration: underline;
}
.fd-watchlist__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.fd-watchlist__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid transparent;
}
.fd-watchlist__btn--primary {
    background: #f5c518;
    color: #111;
}
.fd-watchlist__btn--primary:hover {
    background: #e2b40f;
    color: #111;
}
.fd-watchlist__btn--ghost {
    background: transparent;
    border-color: #555;
    color: #fff;
}
.fd-watchlist__btn--ghost:hover {
    border-color: #aaa;
    color: #fff;
}
.fd-watchlist__body {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 16px 48px;
}
.fd-watchlist__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 16px;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 10px;
}
.fd-watchlist__sort {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}
.fd-watchlist__sort label {
    font-size: 0.85rem;
    font-weight: 700;
    color: #555;
}
.fd-watchlist__sort select {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 6px 10px;
    background: #fff;
    font-size: 0.9rem;
    min-width: 140px;
}
.fd-watchlist__toolbar-count {
    margin: 0;
    color: #777;
    font-size: 0.85rem;
}
.fd-watchlist__empty {
    text-align: center;
    padding: 64px 16px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e8e8e8;
}
.fd-watchlist__empty p {
    margin: 0 0 16px;
    color: #666;
    font-weight: 600;
}
.fd-watchlist__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fd-watchlist__item {
    display: grid;
    grid-template-columns: 36px 96px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 16px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
}
.fd-watchlist__rank {
    font-size: 1.1rem;
    font-weight: 800;
    color: #999;
    padding-top: 8px;
    text-align: center;
}
.fd-watchlist__poster {
    position: relative;
    display: block;
    border-radius: 8px;
    overflow: hidden;
    background: #ddd;
    line-height: 0;
}
.fd-watchlist__poster img {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
}
.fd-watchlist__ribbon {
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: 28px;
    height: 34px;
    display: grid;
    place-items: center;
    background: #f5c518;
    color: #111;
    border-radius: 0 0 6px 0;
}
.fd-watchlist__content-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.fd-watchlist__item-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.35;
}
.fd-watchlist__item-title a {
    color: #0e63c5;
    text-decoration: none;
}
.fd-watchlist__item-title a:hover {
    text-decoration: underline;
}
.fd-watchlist__year {
    color: #666;
    font-weight: 600;
}
.fd-watchlist__remove {
    margin: 0;
    flex-shrink: 0;
}
.fd-watchlist__remove-btn {
    border: 1px solid #ddd;
    background: #fafafa;
    color: #555;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
}
.fd-watchlist__remove-btn:hover {
    border-color: #bbb;
    color: #111;
}
.fd-watchlist__meta {
    margin: 6px 0 0;
    color: #666;
    font-size: 0.875rem;
}
.fd-watchlist__ratings {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 10px;
}
.fd-watchlist__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.9rem;
    font-weight: 800;
}
.fd-watchlist__rating--community {
    color: #111;
}
.fd-watchlist__rating--community svg {
    color: #f5c518;
}
.fd-watchlist__rating--user {
    color: #0e63c5;
}
.fd-watchlist__plot {
    margin: 10px 0 0;
    color: #444;
    font-size: 0.92rem;
    line-height: 1.65;
}
.fd-watchlist__credits {
    margin: 10px 0 0;
    font-size: 0.875rem;
    color: #444;
}
.fd-watchlist__credits-label {
    color: #777;
    margin-inline-end: 6px;
}
.fd-watchlist__credits a {
    color: #0e63c5;
    text-decoration: none;
    font-weight: 700;
}
.fd-watchlist__credits a:hover {
    text-decoration: underline;
}
.fd-watchlist__pagination {
    margin-top: 24px;
    display: flex;
    justify-content: center;
}
@media (max-width: 700px) {
    .fd-watchlist__item {
        grid-template-columns: 28px 72px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }
    .fd-watchlist__item-title {
        font-size: 1rem;
    }
    .fd-watchlist__plot {
        display: none;
    }
}

/* Mobile: allow vertical page scroll even when touching carousels/cards */
@media (hover: none) and (pointer: coarse) {
    .fd-carousel-track,
    .fd-person-track {
        touch-action: pan-x pan-y;
    }
    .fd-home-work-card,
    .fd-similar-card,
    .fd-movie-page,
    .fd-media-layout,
    .fd-watchlist__item,
    .fd-user-profile__card {
        touch-action: manipulation;
    }
}
/* Contact page */
.fd-contact-page {
    background: #0a0a0a;
    color: #eee;
    min-height: 55vh;
    padding: 40px 20px 64px;
}
.fd-contact-page__inner {
    max-width: 720px;
    margin: 0 auto;
}
.fd-contact-page__title {
    margin: 0;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 800;
}
.fd-contact-page__lead {
    margin: 12px 0 0;
    color: #aaa;
    font-size: 1rem;
    line-height: 1.7;
}
.fd-contact-page__channels {
    margin-top: 28px;
    display: grid;
    gap: 14px;
}
.fd-contact-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    border-radius: 14px;
    background: #161616;
    border: 1px solid #2a2a2a;
    text-decoration: none;
    color: inherit;
    transition: border-color .15s ease, background .15s ease;
}
.fd-contact-card:hover {
    border-color: #f5c518;
    background: #1b1b1b;
    color: inherit;
}
.fd-contact-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #222;
    color: #f5c518;
    flex-shrink: 0;
}
.fd-contact-card__label {
    display: block;
    font-size: .85rem;
    color: #999;
    margin-bottom: 4px;
}
.fd-contact-card__value {
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .02em;
    color: #fff;
}
.fd-contact-alert {
    margin-top: 20px;
    padding: 12px 16px;
    border-radius: 10px;
    font-weight: 700;
}
.fd-contact-alert--success {
    background: #14301a;
    border: 1px solid #2f6b3c;
    color: #b6f0c2;
}
.fd-contact-form-wrap {
    margin-top: 36px;
    padding: 24px;
    border-radius: 16px;
    background: #161616;
    border: 1px solid #2a2a2a;
}
.fd-contact-form__title {
    margin: 0 0 18px;
    font-size: 1.2rem;
    font-weight: 800;
}
.fd-contact-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.fd-contact-form__field {
    margin-bottom: 14px;
}
.fd-contact-form__field label {
    display: block;
    margin-bottom: 6px;
    font-size: .9rem;
    color: #bbb;
    font-weight: 700;
}
.fd-contact-form__field input,
.fd-contact-form__field textarea {
    width: 100%;
    border: 1px solid #3a3a3a;
    background: #101010;
    color: #fff;
    border-radius: 10px;
    padding: 11px 12px;
    font-size: .95rem;
}
.fd-contact-form__field input:focus,
.fd-contact-form__field textarea:focus {
    outline: none;
    border-color: #f5c518;
}
.fd-contact-form__field textarea {
    resize: vertical;
    min-height: 140px;
    line-height: 1.7;
}
.fd-contact-form__error {
    margin: 6px 0 0;
    color: #ff8f8f;
    font-size: .85rem;
}
.fd-contact-form__submit {
    border: 0;
    border-radius: 999px;
    background: #f5c518;
    color: #111;
    font-weight: 800;
    padding: 11px 28px;
    cursor: pointer;
}
.fd-contact-form__submit:hover {
    background: #e2b40f;
}
@media (max-width: 700px) {
    .fd-contact-form__row {
        grid-template-columns: 1fr;
    }
    .fd-contact-form-wrap {
        padding: 18px 14px;
    }
}
.fd-contact-page__channels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.fd-contact-card__icon--email { color: #79b8ff; }
.fd-contact-card__icon--telegram { color: #2AABEE; }
.fd-contact-card__icon--bale { color: #00AEEF; }
.fd-contact-card__icon--instagram { color: #E4405F; }
.fd-contact-card__icon--address { color: #f5c518; }
.fd-contact-card__icon--phone { color: #f5c518; }
@media (max-width: 700px) {
    .fd-contact-page__channels {
        grid-template-columns: 1fr;
    }
}
/* ── Sitewide content justify (titles + body copy) ── */
.fd-movie-hero__subtitle,
.fd-movie-hero__meta,
.fd-movie-title,
.fd-movie-credits-page__title,
.fd-credits-row__name,
.fd-credits-row__role,
.fd-cast-table td,
.fd-cast-table__name,
.fd-cast-top__name,
.fd-cast-top__role,
.fd-crew-credits__label,
.fd-crew-credits__value,
.fd-filmography__title,
.fd-filmography__meta,
.fd-filmography__credit,
.fd-rich-text,
.fd-rich-text p,
.fd-rich-text li,
.fd-story-text,
.fd-story-text p,
.fd-storyline__text,
.fd-storyline__text p,
.fd-about-box,
.fd-news-article__content,
.fd-news-article__content p,
.fd-news-simple-item h4,
.fd-news-simple-text,
.fd-related-news--imdb__title,
.fd-related-news--festival__title,
.fd-related-news--festival__excerpt,
.fd-related-news-item__title,
.fd-work-modal__title,
.fd-work-modal__desc,
.fd-work-modal__credit-value,
.fd-entity-media-hero__title,
.fd-entity-media-hero__parent,
.fd-series-ep-list-hero__title,
.fd-series-ep-list-item__title,
.fd-series-ep-list-item__story,
.fd-series-ep-list-card__title,
.fd-series-ep-list-card__story,
.fd-watchlist__plot,
.fd-watchlist__title,
.fd-user-profile__bio,
.fd-user-profile__name,
.fd-contact-page__lead,
.fd-contact-page__title,
.fd-person-actions__born,
.fd-person-actions__died,
.fd-awards-bar__title,
.fd-awards-bar__summary,
.fd-imdb-hero__title-row h3,
.fd-imdb-hero__story,
.fd-up-next__title,
.fd-up-next__item h4,
.fd-section-title__text,
.fd-festival-about,
.fd-festival-about .fd-story-text,
.fd-genre-hero__about,
.fd-activity-hero__about,
.fd-review-card__body,
.fd-review-card__text,
.fd-review-card__title,
.fd-similar-card__title,
.fd-fav-card__title,
.fd-search-grid-title,
.fd-search-grid-director,
.fd-series-episodes__title,
.fd-series-episodes__story,
main h1,
main h2,
main h3,
main h4,
main p {
    text-align: justify;
}

/* Keep intentionally centered UI labels */
.fd-person-item h4,
.fd-person-item__name,
.fd-person-age,
.fd-home-work-card__title,
.fd-today-person-card__name,
.fd-festival-card__title,
.fd-media-box,
.fd-movie-card__title,
.fd-movie-info,
.fd-movie-actions__watchlist,
.fd-movie-actions__watched,
.fd-contact-card,
.fd-contact-form__submit {
    text-align: center;
}