/* =========================================================
   GEOFLIX MODERN SKIN
========================================================= */

:root {
    --green: #00d26a;
    --green-dark: #00a956;
    --bg: #080a0b;
    --bg-soft: #101315;
    --card: #121618;
    --text: #ffffff;
    --muted: #8c9498;
    --border: rgba(255,255,255,.08);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Montserrat', Arial, sans-serif;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font-family: inherit;
}

img {
    max-width: 100%;
    display: block;
}


/* =========================================================
   HEADER
========================================================= */

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.85),
        rgba(0,0,0,0)
    );
}

.header-inner {
    width: 100%;
    max-width: 1800px;
    height: 82px;
    margin: auto;
    padding: 0 45px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -1px;
    white-space: nowrap;
}

.logo span,
.footer-logo span {
    color: #fff;
}

.logo strong,
.footer-logo strong {
    color: var(--green);
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 32px;
}

.main-nav a {
    color: rgba(255,255,255,.78);
    font-size: 14px;
    font-weight: 600;
    transition: .25s;
}

.main-nav a:hover {
    color: var(--green);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.favorite-btn {
    width: 42px;
    height: 42px;

    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;
    transition: .25s;
}

.favorite-btn:hover {
    color: var(--green);
    border-color: var(--green);
    transform: translateY(-2px);
}

.favorite-btn span {
    font-size: 18px;
}

.mobile-menu-btn {
    display: none;
}


/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu {
    display: none;
}


/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;
    width: 100%;
    height: min(760px, 88vh);
    min-height: 560px;
    overflow: hidden;
}

.hero-background {
    position: absolute;
    inset: 0;
}

.hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-gradient {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.92) 0%,
            rgba(0,0,0,.72) 28%,
            rgba(0,0,0,.20) 70%,
            rgba(0,0,0,.45) 100%
        ),
        linear-gradient(
            0deg,
            var(--bg) 0%,
            transparent 30%
        );
}

.hero-content {
    position: relative;
    z-index: 2;

    max-width: 1800px;
    height: 100%;
    margin: auto;
    padding: 190px 80px 80px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.hero-label {
    display: flex;
    align-items: center;
    gap: 9px;

    color: var(--green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;

    margin-bottom: 20px;
}

.hero-dot {
    width: 7px;
    height: 7px;
    background: var(--green);
    border-radius: 50%;
    box-shadow: 0 0 12px var(--green);
}

.hero h1 {
    max-width: 700px;
    font-size: clamp(38px, 5vw, 72px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -2px;
    margin-bottom: 22px;
}

.hero p {
    max-width: 600px;
    color: rgba(255,255,255,.72);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 32px;
}

.hero-buttons {
    display: flex;
    gap: 12px;
}

.hero-watch,
.hero-more {
    min-height: 50px;
    padding: 0 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    font-size: 14px;
    font-weight: 700;

    transition: .25s;
}

.hero-watch {
    background: var(--green);
    color: #061009;
}

.hero-watch:hover {
    background: #fff;
    transform: translateY(-2px);
}

.hero-watch span {
    margin-right: 10px;
}

.hero-more {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(10px);
}

.hero-more:hover {
    background: rgba(255,255,255,.18);
}

.hero-arrows {
    position: absolute;
    right: 55px;
    bottom: 85px;

    display: flex;
    gap: 8px;
    z-index: 5;
}

.hero-arrow {
    width: 48px;
    height: 48px;

    border: 1px solid rgba(255,255,255,.2);
    background: rgba(0,0,0,.35);
    color: white;

    border-radius: 6px;

    font-size: 30px;
    cursor: pointer;

    transition: .25s;
}

.hero-arrow:hover {
    background: var(--green);
    color: #000;
    border-color: var(--green);
}

.hero-dots {
    position: absolute;
    left: 80px;
    bottom: 55px;
    z-index: 5;

    display: flex;
    gap: 7px;
}

.hero-dots span {
    width: 28px;
    height: 3px;

    background: rgba(255,255,255,.3);
    border-radius: 10px;
}

.hero-dots span.active {
    width: 55px;
    background: var(--green);
}


/* =========================================================
   MAIN
========================================================= */

.main-content {
    width: 100%;
    max-width: 1800px;
    margin: auto;
    padding: 20px 55px 80px;
}

.content-section {
    margin-top: 70px;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 24px;
}

.section-kicker {
    display: block;
    color: var(--green);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.section-heading h2 {
    font-size: 27px;
    font-weight: 700;
    letter-spacing: -.5px;
}

.section-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.view-all {
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    margin-right: 12px;
    transition: .2s;
}

.view-all:hover {
    color: var(--green);
}

.slider-btn {
    width: 38px;
    height: 38px;

    border: 1px solid var(--border);
    border-radius: 5px;

    background: #111516;
    color: #fff;

    font-size: 23px;
    cursor: pointer;

    transition: .2s;
}

.slider-btn:hover {
    background: var(--green);
    color: #000;
    border-color: var(--green);
}

.random-refresh {
    height: 38px;
    padding: 0 13px;

    background: #111516;
    color: #aaa;

    border: 1px solid var(--border);
    border-radius: 5px;

    cursor: pointer;
    transition: .2s;
}

.random-refresh:hover {
    color: #000;
    background: var(--green);
}


/* =========================================================
   POSTER SLIDER
========================================================= */

.poster-slider {
    display: flex;
    gap: 17px;

    overflow-x: auto;
    scroll-behavior: smooth;

    scrollbar-width: none;
    padding-bottom: 8px;
}

.poster-slider::-webkit-scrollbar {
    display: none;
}

.movie-card {
    flex: 0 0 calc((100% - 85px) / 6);
    min-width: 0;
}

.movie-card a {
    display: block;
}

.poster-image {
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: 8px;
    background: #15191a;
}

.poster-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.movie-card:hover .poster-image img {
    transform: scale(1.07);
}

.card-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,.58);

    opacity: 0;
    transition: .3s;
}

.movie-card:hover .card-overlay {
    opacity: 1;
}

.card-play {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--green);
    color: #000;

    border-radius: 50%;
    font-size: 18px;

    padding-left: 3px;
}

.movie-card h3 {
    font-size: 14px;
    font-weight: 600;
    margin-top: 12px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-meta {
    display: flex;
    gap: 9px;
    margin-top: 7px;

    color: #737b7f;
    font-size: 10px;
}


/* =========================================================
   LANDSCAPE
========================================================= */

.landscape-slider {
    display: flex;
    gap: 18px;

    overflow-x: auto;
    scroll-behavior: smooth;

    scrollbar-width: none;
}

.landscape-slider::-webkit-scrollbar {
    display: none;
}

.series-card {
    flex: 0 0 calc((100% - 54px) / 4);
}

.landscape-image {
    position: relative;

    aspect-ratio: 16 / 9;

    overflow: hidden;
    border-radius: 8px;

    background: #15191a;
}

.landscape-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform .45s ease;
}

.series-card:hover .landscape-image img {
    transform: scale(1.05);
}

.landscape-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,.45);

    opacity: 0;
    transition: .3s;
}

.series-card:hover .landscape-overlay {
    opacity: 1;
}

.landscape-play {
    width: 54px;
    height: 54px;

    border-radius: 50%;
    background: var(--green);
    color: #000;

    display: flex;
    align-items: center;
    justify-content: center;

    padding-left: 3px;
}

.landscape-info {
    padding-top: 12px;
}

.landscape-info h3 {
    font-size: 15px;
    font-weight: 600;
}

.landscape-info span {
    display: block;

    margin-top: 6px;

    color: #747d80;
    font-size: 10px;
}


/* =========================================================
   EMPTY HISTORY
========================================================= */

.empty-history {
    width: 100%;
    min-height: 180px;

    border: 1px dashed rgba(255,255,255,.12);
    border-radius: 10px;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    text-align: center;
}

.empty-history-icon {
    font-size: 30px;
    color: var(--green);
    margin-bottom: 10px;
}

.empty-history h3 {
    font-size: 15px;
}

.empty-history p {
    color: var(--muted);
    font-size: 11px;
    margin-top: 6px;
}


/* =========================================================
   COLLECTIONS
========================================================= */

.collections-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.collection-card {
    position: relative;

    height: 220px;

    overflow: hidden;
    border-radius: 10px;

    background: #151719;

    isolation: isolate;
}

.collection-bg {
    position: absolute;
    inset: 0;
    z-index: -1;

    background-position: center;
    background-size: cover;

    transition: transform .5s;
}

.collection-card:hover .collection-bg {
    transform: scale(1.08);
}

.collection-card.netflix .collection-bg {
    background:
        linear-gradient(120deg, rgba(0,0,0,.8), rgba(0,0,0,.25)),
        url("../images/collection-netflix.jpg") center/cover;
}

.collection-card.hbo .collection-bg {
    background:
        linear-gradient(120deg, rgba(0,0,0,.8), rgba(0,0,0,.25)),
        url("../images/collection-hbo.jpg") center/cover;
}

.collection-card.marvel .collection-bg {
    background:
        linear-gradient(120deg, rgba(0,0,0,.8), rgba(0,0,0,.25)),
        url("../images/collection-marvel.jpg") center/cover;
}

.collection-card.horror .collection-bg {
    background:
        linear-gradient(120deg, rgba(0,0,0,.8), rgba(0,0,0,.25)),
        url("../images/collection-horror.jpg") center/cover;
}

.collection-content {
    position: absolute;
    inset: auto 22px 20px;
}

.collection-content span {
    color: var(--green);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
}

.collection-content h3 {
    font-size: 28px;
    margin: 3px 0 8px;
}

.collection-content strong {
    font-size: 10px;
    color: #aaa;
}


/* =========================================================
   ACTORS
========================================================= */

.actors-section {
    margin-top: 90px;
}

.actors-slider {
    display: flex;
    gap: 24px;

    overflow-x: auto;
    scrollbar-width: none;

    padding: 8px 3px 20px;
}

.actors-slider::-webkit-scrollbar {
    display: none;
}

.actor-placeholder {
    flex: 0 0 120px;

    text-align: center;
}

.actor-circle {
    width: 95px;
    height: 95px;

    margin: auto;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle,
            #1b2522,
            #0c1110
        );

    border: 1px solid rgba(0,210,106,.25);

    color: var(--green);
    font-size: 25px;

    transition: .3s;
}

.actor-placeholder:hover .actor-circle {
    transform: translateY(-5px);
    border-color: var(--green);
    box-shadow: 0 0 25px rgba(0,210,106,.18);
}

.actor-placeholder span {
    display: block;
    margin-top: 10px;

    color: #b8bdbf;
    font-size: 11px;
}


/* =========================================================
   DLE CONTENT
========================================================= */

.dle-content {
    margin-top: 70px;
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
    margin-top: 80px;

    background: #050707;
    border-top: 1px solid rgba(255,255,255,.06);
}

.footer-inner {
    max-width: 1500px;
    margin: auto;
    padding: 55px;

    display: grid;
    grid-template-columns: 2fr repeat(3, 1fr);
    gap: 50px;
}

.footer-logo {
    font-size: 28px;
    font-weight: 800;
}

.footer-brand p {
    max-width: 340px;

    color: #70787b;
    font-size: 12px;
    line-height: 1.8;

    margin-top: 15px;
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.footer-column h4 {
    color: #fff;
    font-size: 12px;
    margin-bottom: 5px;
}

.footer-column a {
    color: #6e7679;
    font-size: 11px;
    transition: .2s;
}

.footer-column a:hover {
    color: var(--green);
}

.footer-bottom {
    max-width: 1500px;
    margin: auto;

    padding: 18px 55px;

    border-top: 1px solid rgba(255,255,255,.05);

    display: flex;
    justify-content: space-between;

    color: #555d60;
    font-size: 10px;
}


/* =========================================================
   BACK TO TOP
========================================================= */

.back-to-top {
    position: fixed;

    right: 25px;
    bottom: 25px;

    width: 43px;
    height: 43px;

    border: 0;
    border-radius: 50%;

    background: var(--green);
    color: #000;

    font-size: 20px;
    font-weight: 700;

    cursor: pointer;

    opacity: 0;
    visibility: hidden;

    transition: .3s;

    z-index: 900;
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1200px) {

    .header-inner {
        padding: 0 30px;
    }

    .main-nav {
        gap: 20px;
    }

    .hero-content {
        padding-left: 50px;
        padding-right: 50px;
    }

    .hero-dots {
        left: 50px;
    }

    .main-content {
        padding-left: 30px;
        padding-right: 30px;
    }

    .movie-card {
        flex-basis: calc((100% - 68px) / 5);
    }

    .series-card {
        flex-basis: calc((100% - 36px) / 3);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    .site-header {
        position: absolute;
    }

    .header-inner {
        height: 68px;
        padding: 0 18px;
    }

    .logo {
        font-size: 24px;
    }

    .main-nav {
        display: none;
    }

    .favorite-btn {
        width: 38px;
        height: 38px;
    }

    .mobile-menu-btn {
        width: 38px;
        height: 38px;

        border: 1px solid rgba(255,255,255,.15);
        border-radius: 50%;

        background: transparent;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;

        cursor: pointer;
    }

    .mobile-menu-btn span {
        width: 15px;
        height: 1px;
        background: #fff;
        transition: .25s;
    }

    .mobile-menu {
        position: fixed;
        top: 68px;
        left: 0;
        width: 100%;

        background: rgba(8,10,11,.98);

        padding: 15px 20px;

        display: flex;
        flex-direction: column;
        gap: 0;

        transform: translateY(-120%);
        transition: .3s;

        z-index: 999;
    }

    .mobile-menu.open {
        transform: translateY(0);
    }

    .mobile-menu a {
        padding: 15px 5px;

        border-bottom: 1px solid rgba(255,255,255,.06);

        color: #bbb;
        font-size: 13px;
        font-weight: 600;
    }

    .mobile-menu a:hover {
        color: var(--green);
    }

    .hero {
        height: 570px;
        min-height: 570px;
    }

    .hero-gradient {
        background:
            linear-gradient(
                0deg,
                #080a0b 2%,
                rgba(8,10,11,.75) 30%,
                rgba(0,0,0,.12) 100%
            );
    }

    .hero-content {
        padding: 100px 20px 80px;
        justify-content: flex-end;
    }

    .hero h1 {
        font-size: 36px;
        letter-spacing: -1px;
    }

    .hero p {
        font-size: 12px;
        line-height: 1.7;
        margin-bottom: 20px;
    }

    .hero-buttons {
        width: 100%;
    }

    .hero-watch,
    .hero-more {
        flex: 1;
        min-height: 45px;
        padding: 0 12px;
        font-size: 11px;
    }

    .hero-arrows {
        right: 20px;
        bottom: 35px;
    }

    .hero-arrow {
        width: 38px;
        height: 38px;
        font-size: 23px;
    }

    .hero-dots {
        left: 20px;
        bottom: 52px;
    }

    .main-content {
        padding: 10px 18px 50px;
    }

    .content-section {
        margin-top: 48px;
    }

    .section-heading {
        margin-bottom: 16px;
    }

    .section-heading h2 {
        font-size: 21px;
    }

    .section-kicker {
        font-size: 8px;
    }

    .view-all {
        display: none;
    }

    .slider-btn {
        width: 33px;
        height: 33px;
    }

    .movie-card {
        flex: 0 0 calc((100% - 10px) / 2);
    }

    .poster-slider {
        gap: 10px;
    }

    .movie-card h3 {
        font-size: 12px;
        margin-top: 9px;
    }

    .card-meta {
        font-size: 9px;
    }

    .series-card {
        flex: 0 0 88%;
    }

    .landscape-slider {
        gap: 12px;
    }

    .collections-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .collection-card {
        height: 150px;
    }

    .collection-content {
        inset: auto 13px 13px;
    }

    .collection-content h3 {
        font-size: 20px;
    }

    .footer-inner {
        padding: 40px 20px;

        grid-template-columns: 1fr 1fr;
        gap: 35px 20px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        padding: 16px 20px;

        flex-direction: column;
        gap: 5px;
    }

    .actors-section {
        margin-top: 60px;
    }

    .actor-placeholder {
        flex-basis: 90px;
    }

    .actor-circle {
        width: 70px;
        height: 70px;
        font-size: 18px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .hero h1 {
        font-size: 31px;
    }

    .hero {
        height: 540px;
        min-height: 540px;
    }

    .collection-card {
        height: 135px;
    }

    .collection-content h3 {
        font-size: 17px;
    }

}
/* ===== GeoFlix functional cards + hero ===== */
.hero-track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease}.hero-slide.active{opacity:1;visibility:visible;z-index:1}.hero-slide .hero-background img{width:100%;height:100%;object-fit:cover}.hero-subtitle-new{font-size:14px;color:rgba(255,255,255,.65);margin:-10px 0 14px}.hero-meta-new{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.hero-meta-new span{padding:5px 8px;border-radius:4px;background:rgba(10,14,15,.62);border:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:700}.hero-meta-new .hero-geo{background:var(--green);color:#041008;border-color:var(--green)}.hero-meta-new .hero-imdb{background:#f5c518;color:#090909;border-color:#f5c518}.hero-dots button{width:28px;height:3px;padding:0;border:0;background:rgba(255,255,255,.3);border-radius:10px;cursor:pointer;transition:.25s}.hero-dots button.active{width:55px;background:var(--green)}
.poster-image>a.poster-link,.landscape-image>a.landscape-link{display:block;width:100%;height:100%}.poster-image>a.poster-link>img,.landscape-image>a.landscape-link>img{width:100%;height:100%;object-fit:cover}.geo-fav-btn{position:absolute;z-index:6;top:9px;left:9px;width:30px;height:30px;display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:rgba(5,8,9,.72);border:1px solid rgba(255,255,255,.18);color:#fff!important;backdrop-filter:blur(7px);transition:.2s}.geo-fav-btn:hover,.geo-fav-btn.active{background:var(--green);border-color:var(--green);color:#061009!important}.geo-card-badge{position:absolute;z-index:5;top:9px;right:9px;padding:4px 7px;border-radius:4px;background:var(--green);color:#041008;font-size:9px;font-weight:800;text-transform:uppercase}.poster-meta-top{position:absolute;z-index:5;left:8px;right:8px;bottom:8px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.poster-meta-top span{padding:4px 6px;border-radius:3px;font-size:9px;font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,.25)}.poster-imdb{background:#f5c518;color:#090909}.poster-year{background:rgba(4,8,9,.82);color:#fff}.poster-series-badge{position:absolute;z-index:5;left:50%;bottom:8px;transform:translateX(-50%);white-space:nowrap;padding:5px 8px;border-radius:4px;background:rgba(3,12,8,.88);border:1px solid rgba(0,200,83,.45);color:#fff;font-size:9px;font-weight:700}.movie-card:has(.poster-series-badge) .poster-meta-top{bottom:39px}.card-title-link{display:block}.card-eng-title{margin-top:3px;color:#5f686b;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landscape-image .poster-meta-top{bottom:8px}
@media(max-width:700px){.geo-fav-btn{width:27px;height:27px;top:7px;left:7px}.geo-card-badge{top:7px;right:7px}.hero-meta-new{gap:5px}.hero-meta-new span{font-size:9px}}


/* ===== GeoFlix v3: sticky header, search, badges fixes ===== */
.site-header{position:fixed;transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}
.site-header.is-scrolled{background:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,0));box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.header-search{position:relative;display:flex;align-items:center;justify-content:flex-end;height:42px}
.header-search-input{width:0;height:38px;opacity:0;pointer-events:none;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(7,11,13,.9);color:#fff;outline:none;padding:0;transition:width .25s ease,opacity .2s ease,padding .25s ease,border-color .2s ease}
.header-search.open .header-search-input{width:220px;opacity:1;pointer-events:auto;padding:0 42px 0 15px;border-color:rgba(0,200,83,.55)}
.header-search-input::placeholder{color:rgba(255,255,255,.42)}
.header-search-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(5,8,9,.38);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.header-search.open .header-search-btn{position:absolute;right:0;border-color:transparent;background:transparent;color:var(--green)}
.header-search-btn:hover{color:var(--green);border-color:var(--green)}
.geo-fav-btn{font-family:Arial,sans-serif!important;font-size:17px!important;line-height:1!important;opacity:1!important;visibility:visible!important}
.geo-fav-btn .geo-heart{display:block!important;color:inherit!important;font-size:17px!important;line-height:1!important}
.landscape-overlay{display:none!important}
.landscape-image,.landscape-image>a.landscape-link,.landscape-image img{border-radius:8px!important}
@media(max-width:700px){.header-search.open{position:absolute;left:15px;right:112px;z-index:5}.header-search.open .header-search-input{width:100%}.header-search-btn{width:38px;height:38px}.site-header.is-scrolled{background:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,0))}}

/* ===== GeoFlix v4: DLE live search + landscape favorite fix ===== */
.landscape-image>.geo-fav-btn{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
.landscape-image>.geo-fav-btn .geo-heart{font-size:15px!important}
.header-search-suggestions{display:none!important;position:absolute!important;top:46px!important;right:0!important;width:340px!important;max-height:440px!important;overflow-y:auto!important;padding:8px!important;background:rgba(7,10,12,.97)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;box-shadow:0 18px 50px rgba(0,0,0,.55)!important;z-index:1200!important;grid-template-columns:1fr!important;gap:0!important}
.header-search.open .header-search-suggestions:not(:empty){display:block!important}
.header-search-suggestions .movie-item,.header-search-suggestions .item{width:100%!important;min-width:0!important;margin:0!important}
.header-search-suggestions img{max-width:58px!important;max-height:82px!important;object-fit:cover!important}
.header-search-suggestions .seperator{display:block!important;padding:9px 10px!important;text-align:center!important}
.header-search-suggestions .notfound{display:block!important;padding:16px!important;color:rgba(255,255,255,.7)!important}
@media(max-width:700px){.header-search-suggestions{position:fixed!important;top:66px!important;left:12px!important;right:12px!important;width:auto!important;max-height:55vh!important}}

/* =========================================================
   GEOFLIX 2026 — COMPLETE RESPONSIVE PASS
========================================================= */
:root{--shell:1800px;--radius:16px;--panel:#0d1114;--panel2:#11171b}
.site-header{background:linear-gradient(to bottom,rgba(3,7,9,.88),rgba(3,7,9,.38) 56%,transparent);}
.site-header.is-scrolled{background:linear-gradient(to bottom,rgba(3,7,9,.88),rgba(3,7,9,.38) 56%,transparent)!important}
.nav-dropdown{position:relative;padding:28px 0}.nav-parent{display:flex!important;align-items:center;gap:5px}.nav-caret{font-size:12px;color:var(--green)}
.nav-dropdown-menu{position:absolute;top:70px;left:50%;transform:translate(-50%,10px);opacity:0;visibility:hidden;pointer-events:none;background:rgba(9,13,15,.98);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:0 22px 60px rgba(0,0,0,.5);transition:.2s;z-index:1100}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.genre-menu{width:620px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.collection-menu{width:190px}.nav-dropdown-menu a{display:block;padding:9px 10px;border-radius:8px;font-size:12px!important;white-space:nowrap}.nav-dropdown-menu a:hover{background:rgba(0,210,106,.1)}
.header-search-close{display:none;position:absolute;right:40px;width:34px;height:34px;border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer;z-index:3}.header-search.open .header-search-close{display:block}.header-search.open .header-search-input{padding-right:72px}.header-search.open .header-search-btn{right:3px}.header-search.open .search-icon{color:var(--green)}
.hero{height:min(650px,76vh);min-height:500px}.hero-content{padding-top:145px;padding-bottom:70px}.hero-arrows{inset:0;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.hero-arrow{pointer-events:auto;width:50px;height:50px;border-radius:50%;font-size:0;background:rgba(5,10,12,.48);backdrop-filter:blur(8px);position:relative}.hero-arrow:before{content:"";width:11px;height:11px;border-top:2px solid #fff;border-right:2px solid #fff;position:absolute;top:50%;left:50%}.hero-prev:before{transform:translate(-35%,-50%) rotate(-135deg)}.hero-next:before{transform:translate(-65%,-50%) rotate(45deg)}.hero-arrow:hover:before{border-color:#fff}.hero-arrow:hover{background:var(--green);transform:scale(1.06)}
.slider-btn{border-radius:50%!important;position:relative;font-size:0!important}.slider-btn:before{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;position:absolute;top:50%;left:50%}.slider-btn[data-direction="prev"]:before{transform:translate(-35%,-50%) rotate(-135deg)}.slider-btn[data-direction="next"]:before{transform:translate(-65%,-50%) rotate(45deg)}
.poster-slider,.landscape-slider{cursor:grab;user-select:none;scrollbar-width:none}.poster-slider.dragging,.landscape-slider.dragging{cursor:grabbing;scroll-behavior:auto!important}.poster-slider.dragging a,.landscape-slider.dragging a{pointer-events:none}
.card-overlay{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(2,8,7,.12)!important;opacity:0;transition:.25s;z-index:3;pointer-events:none}.movie-card:hover .card-overlay,.series-card:hover .card-overlay{opacity:1}.card-play{width:52px;height:52px;border-radius:50%;background:var(--green);box-shadow:0 10px 35px rgba(0,210,106,.35);position:relative;transform:scale(.82);transition:.25s}.movie-card:hover .card-play,.series-card:hover .card-play{transform:scale(1)}.card-play:after{content:"";position:absolute;left:21px;top:16px;border-left:15px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.geo-card-badge{color:#fff!important}.geo-fav-btn{font-size:0}.geo-heart{font-size:17px;color:#fff;line-height:1;transition:.2s}.geo-fav-btn:hover .geo-heart,.geo-fav-btn.active .geo-heart{color:#fff;transform:scale(1.08)}.geo-fav-btn.active{background:var(--green)!important;box-shadow:0 0 0 3px rgba(0,210,106,.15)}
.poster-meta-top{justify-content:flex-start!important;gap:5px}.poster-imdb{white-space:nowrap}.poster-year{white-space:nowrap}.poster-series-badge{right:8px;left:auto!important;transform:none!important;max-width:62%;overflow:hidden;text-overflow:ellipsis}.movie-card:has(.poster-series-badge) .poster-meta-top{bottom:8px!important}
/* Inner/category shell */
.inner-shell{width:min(var(--shell),calc(100% - 70px));margin:0 auto;padding:118px 0 90px;min-height:70vh}.category-page{width:100%}.category-topbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.category-topbar h1{font-size:clamp(28px,3vw,44px);letter-spacing:-1px}.filter-toggle{display:none}.catalog-filters{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:14px;margin-bottom:28px}.catalog-filters label{display:flex;flex-direction:column;gap:7px}.catalog-filters label>span{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1px}.catalog-filters select{height:44px;border:1px solid var(--border);background:#080c0e;color:#fff;border-radius:9px;padding:0 12px;outline:none}.catalog-filters select:focus{border-color:var(--green)}.filter-reset{align-self:end;height:44px;display:flex;align-items:center;padding:0 18px;border-radius:9px;background:rgba(255,255,255,.06);font-size:12px;font-weight:700}.filter-reset:hover{background:rgba(0,210,106,.12);color:var(--green)}
.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 16px}.category-grid .movie-card{width:auto!important;min-width:0!important}.catalog-pagination{margin-top:45px}.catalog-pagination .bottom-nav{display:flex;justify-content:center}.catalog-pagination .navigation{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.catalog-pagination .navigation a,.catalog-pagination .navigation span{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel);font-size:12px}.catalog-pagination .navigation span,.catalog-pagination .navigation a:hover{background:var(--green);color:#061009;border-color:var(--green)}
/* Full story visual modernization, keeping existing DLE/player logic */
.movie-page{padding-top:100px}.movie-page .container{width:min(1500px,calc(100% - 60px));margin-inline:auto}.movie-hero{padding-top:18px}.unified-player-card,.player-card.page__player{background:linear-gradient(145deg,#0d1419,#091014)!important;border:1px solid rgba(255,255,255,.07);border-radius:18px!important;padding:14px!important;box-shadow:0 22px 70px rgba(0,0,0,.3)}.unified-player-tabs,.page__player-controls{gap:8px!important}.unified-player-tab,.tabs-block__select span{border-radius:9px!important;background:#121a20!important;color:#dbe1e4!important}.unified-player-tab.active,.tabs-block__select span.is-active{background:var(--green)!important;color:#061009!important}.player-card .poster,.movie-player-wrap .poster{border-radius:14px!important;overflow:hidden;background:#000}.big-play,.movie-big-play{width:72px!important;height:72px!important;border-radius:50%!important;background:rgba(0,210,106,.92)!important;box-shadow:0 12px 40px rgba(0,210,106,.25)!important}.big-play:after,.movie-big-play:after{border-left-color:#fff!important}.episodes-toggle{background:var(--green)!important;color:#fff!important}.episodes-menu{border:1px solid rgba(0,210,106,.22)!important}.season-tabs button,.episodes-list button,.player-navigation button{background:#17241e!important}.season-tabs button:hover,.episodes-list button:hover,.player-navigation button:hover:not(:disabled){background:#1f3b2d!important}.season-tabs button.active,.episodes-list button.active{background:var(--green)!important;color:#fff!important;box-shadow:none!important}.movie-info-section{padding:28px 0 20px}.movie-info-grid{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;gap:22px!important;align-items:start}.movie-sidebar,.movie-main-content{min-width:0}.info-card{background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:14px!important;box-shadow:none!important}.poster-card{padding:10px!important}.detail-section_poster img{border-radius:10px}.title-card,.description-card,.details-card{padding:22px!important;margin-bottom:14px!important}.detail-section_title h2{font-size:clamp(27px,3vw,44px)!important}.movie-meta-row{display:flex!important;gap:8px!important;flex-wrap:wrap}.movie-meta-row>*{border-radius:7px!important}.details-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}.detail-item{background:rgba(255,255,255,.025);padding:13px;border-radius:9px}.detail-item-full{grid-column:1/-1}.related-section{padding:25px 0 60px}.full-fav-btn{border-radius:9px!important}.trailer-under-btn{border-radius:9px!important}
@media(max-width:1100px){.genre-menu{width:520px;grid-template-columns:repeat(3,1fr)}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{height:620px}.main-nav{gap:18px}.main-nav a{font-size:12px}}
@media(max-width:800px){.inner-shell{width:min(100% - 28px,720px);padding-top:92px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}.catalog-filters{grid-template-columns:1fr 1fr}.filter-reset{align-self:end}.filter-toggle{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);color:#fff;border-radius:9px;padding:10px 13px}.catalog-filters{display:none}.catalog-filters.open{display:grid}.movie-page .container{width:calc(100% - 28px)}.movie-info-grid{grid-template-columns:180px minmax(0,1fr)!important}.hero-arrows{padding:0 12px}.hero-arrow{width:44px;height:44px}}
@media(max-width:700px){.hero{height:560px;min-height:520px}.hero-content{padding-top:105px;padding-left:24px;padding-right:24px}.hero-dots{left:24px;bottom:28px}.hero h1{font-size:36px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters.open{grid-template-columns:1fr}.movie-info-grid{grid-template-columns:1fr!important}.movie-sidebar{max-width:210px}.details-grid{grid-template-columns:1fr}.detail-item-full{grid-column:auto}.movie-page{padding-top:78px}.unified-player-card,.player-card.page__player{padding:8px!important;border-radius:12px!important}.big-play,.movie-big-play{width:58px!important;height:58px!important}.player-navigation{gap:6px!important}.player-navigation button{padding:9px 10px!important;font-size:11px!important}.episode-status{order:-1;width:100%}.header-search-close{right:37px}.nav-dropdown{padding:0}.nav-dropdown-menu{display:none}}
@media(min-width:1900px){.hero{height:700px}.category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.main-content{max-width:1900px}.inner-shell{max-width:1900px}.movie-page .container{max-width:1700px}}


/* ===== GeoFlix v6 fixes ===== */
/* remove browser-native blue/clear X; GeoFlix has its own close button */
.header-search-input::-webkit-search-cancel-button,.header-search-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.header-search{transition:width .32s cubic-bezier(.22,.61,.36,1),opacity .22s ease}
.header-search-input{transition:width .34s cubic-bezier(.22,.61,.36,1),opacity .22s ease,padding .34s cubic-bezier(.22,.61,.36,1),border-color .2s ease,background .2s ease!important}
.header-search-close{opacity:0;transform:scale(.75) rotate(-35deg);pointer-events:none;transition:opacity .18s ease,transform .25s cubic-bezier(.2,.8,.2,1)!important}
.header-search.open .header-search-close{display:block;opacity:1;transform:scale(1) rotate(0);pointer-events:auto}
.header-search-suggestions{transform-origin:top right;animation:geoSearchIn .2s ease both}
@keyframes geoSearchIn{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:none}}

/* DLE category pages are rendered from shortstory.tpl; main.tpl now provides the grid wrapper. */
.catalog-shell{padding-top:105px!important}
.category-page{width:100%}
.category-grid>.movie-card{width:100%!important;min-width:0!important}
.category-grid .poster-image{aspect-ratio:2/3}
.category-grid .poster-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.category-grid .card-title-link h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Full story: force a clean, wide, responsive layout over legacy inline rules. */
.inner-shell:has(.movie-page){width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.inner-shell:has(.movie-page)>.dle-content{width:100%!important;max-width:none!important}
.movie-page{width:100%!important;padding-top:92px!important;overflow:hidden}
.movie-page .container{width:min(1440px,calc(100% - 48px))!important;max-width:1440px!important;margin:0 auto!important;padding:0!important}
.movie-hero{padding:18px 0 0!important}
.unified-player-card,.player-card.page__player{width:100%!important;max-width:none!important;padding:12px!important;border-radius:16px!important}
.player-card.player-wrapper,.movie-player-wrap{width:100%!important;max-width:none!important}
.player-card.player-wrapper .poster,.movie-player-wrap .poster{width:100%!important;aspect-ratio:16/8.2!important;height:auto!important;min-height:0!important;position:relative!important;overflow:hidden!important}
.player-card.player-wrapper .poster img,.movie-player-wrap .poster img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.video-responsive,.movie-frame{position:relative!important;width:100%!important;aspect-ratio:16/9!important;height:auto!important;overflow:hidden!important;background:#000!important;border-radius:12px!important}
.video-responsive iframe,.video-responsive video,.movie-frame iframe,.movie-frame video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;border:0!important}
.movie-info-section{padding:24px 0!important}.movie-info-grid{grid-template-columns:230px minmax(0,1fr)!important;gap:20px!important}
.detail-section_poster img{width:100%!important;height:auto!important;display:block!important}.title-card,.description-card,.details-card{width:100%!important}
.related-section .swiper-wrapper,.related-section .related-list{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important;transform:none!important;width:100%!important}
.related-section .swiper-slide{width:auto!important;margin:0!important}.related-card{width:100%!important;min-width:0!important}.related-card .poster-image{aspect-ratio:2/3}.related-card .poster-image img{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:1000px){.related-section .swiper-wrapper,.related-section .related-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}.movie-info-grid{grid-template-columns:190px minmax(0,1fr)!important}}
@media(max-width:700px){.catalog-shell{padding-top:82px!important}.movie-page{padding-top:74px!important}.movie-page .container{width:calc(100% - 20px)!important}.movie-info-grid{grid-template-columns:1fr!important}.movie-sidebar{max-width:180px!important}.related-section .swiper-wrapper,.related-section .related-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.player-card.player-wrapper .poster,.movie-player-wrap .poster{aspect-ratio:16/9!important}.unified-player-tabs,.page__player-controls .tabs-block__select{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important}.unified-player-tab,.tabs-block__select span{flex:0 0 auto!important}}

/* ===== GeoFlix v7 fullstory — cinema layout inspired by supplied reference ===== */
.movie-page{background:#080c10}
.movie-page .container{width:min(1320px,calc(100% - 44px))!important;max-width:1320px!important}
.movie-hero{padding-top:24px!important}
.full-top-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:stretch}
.full-top-poster{display:flex;flex-direction:column;gap:10px;min-width:0}
.full-top-poster-frame{height:100%;min-height:430px;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:#0d1318}
.full-top-poster-frame img{width:100%;height:100%;object-fit:cover;display:block}
.full-top-trailer{height:42px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#111820;color:#fff;font-weight:700;cursor:pointer;transition:.2s}.full-top-trailer:hover{border-color:var(--green);color:var(--green)}
.full-top-player{min-width:0}.full-top-player>style{display:none}
.full-top-player .unified-player-card,.full-top-player .player-card.page__player{height:100%;display:flex;flex-direction:column;background:#0d1319!important;border-radius:12px!important;padding:10px!important}
.full-top-player .geoflix-notice{order:-2;margin-bottom:9px}.full-top-player .unified-player-tabs,.full-top-player .page__player-controls{order:-1;margin-bottom:10px!important}
.full-top-player .player-card.player-wrapper,.full-top-player .tabs-block__content{flex:1;min-height:0}
.full-top-player .player-card.player-wrapper .poster,.full-top-player .movie-player-wrap .poster{aspect-ratio:auto!important;height:100%!important;min-height:430px!important;border-radius:9px!important}
.full-top-player .player-card.player-wrapper .poster img,.full-top-player .movie-player-wrap .poster img{object-fit:cover!important}
.unified-player-tab,.tabs-block__select span{padding:9px 14px!important;border-radius:7px!important;font-size:12px!important}
.movie-info-section{padding:18px 0 10px!important}.movie-info-grid{display:block!important}.movie-sidebar{display:none!important}.movie-main-content{width:100%}
.title-card,.description-card,.details-card{border-radius:9px!important;padding:18px!important;margin-bottom:10px!important;background:#0d1218!important;border-color:rgba(255,255,255,.07)!important}
.detail-section_title h2{font-size:26px!important;line-height:1.2!important;margin:6px 0!important}.eng-title{font-size:13px!important;color:#89949d!important}.movie-alt-title{font-size:12px!important;color:#65717a!important}
.movie-meta-row{margin-top:12px!important}.movie-meta-row>*{min-height:28px;display:inline-flex;align-items:center;padding:0 9px!important;font-size:11px!important}.movie-category{margin-top:10px;font-size:12px}
.card-title{font-size:15px!important;margin:0 0 10px!important}.description-card .detail-section_text{font-size:13px!important;line-height:1.75!important;color:#c8d0d5!important}
.details-grid{grid-template-columns:1fr!important;gap:0!important;border-top:1px solid rgba(255,255,255,.06)}.detail-item{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:11px 0!important;border-radius:0!important;border-bottom:1px solid rgba(255,255,255,.06);background:transparent!important;font-size:12px}.detail-item strong{color:#75818a}.detail-item span{color:#e6eaec}
.related-section{padding:28px 0 60px!important}.related-section .section__title>div{font-size:18px;font-weight:800}.related-section .swiper-wrapper,.related-section .related-list{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}.related-card h3{font-size:12px!important}.related-card .card-eng-title{font-size:9px!important}
@media(max-width:950px){.full-top-grid{grid-template-columns:190px minmax(0,1fr)}.full-top-poster-frame,.full-top-player .player-card.player-wrapper .poster,.full-top-player .movie-player-wrap .poster{min-height:340px!important}.related-section .swiper-wrapper,.related-section .related-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:700px){.movie-page .container{width:calc(100% - 20px)!important}.full-top-grid{grid-template-columns:1fr;gap:10px}.full-top-poster{display:none}.full-top-player .player-card.player-wrapper .poster,.full-top-player .movie-player-wrap .poster{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}.title-card,.description-card,.details-card{padding:14px!important}.detail-section_title h2{font-size:23px!important}.detail-item{grid-template-columns:90px 1fr}.related-section .swiper-wrapper,.related-section .related-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ===== GeoFlix v8 Fullstory rebuild ===== */
.movie-page{padding-top:22px;background:#060a0d}.movie-page>br,.movie-page>center{display:none!important}.movie-page .container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.movie-hero{padding:28px 0 14px}.movie-hero>.container{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.movie-hero .movie-sidebar{grid-column:1;grid-row:1}.movie-hero .unified-player-card,.movie-hero .page__player{grid-column:2;grid-row:1;background:#0b1218;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.22)}
.movie-hero .movie-sidebar .info-card{background:transparent;border:0;padding:0}.movie-hero .detail-section_poster{position:relative}.movie-hero .detail-section_poster>img,.movie-hero .detail-section_poster>picture img,.movie-hero .detail-section_poster>a>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:2/3!important;object-fit:cover!important;border-radius:14px!important}.movie-hero .trailer-under-btn,.movie-hero .full-fav-btn{width:100%;margin-top:10px;min-height:42px;border-radius:10px}
.movie-hero .poster,.movie-hero .movie-poster{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;overflow:hidden!important;border-radius:12px!important;background:#000!important;padding:0!important;line-height:0!important}.movie-hero .poster img,.movie-hero .movie-poster img,.movie-hero .poster picture,.movie-hero .movie-poster picture{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}.movie-hero .poster br,.movie-hero .movie-poster br{display:none!important}.movie-hero iframe,.movie-hero .video-responsive iframe,.movie-hero .video-inside iframe{width:100%!important;height:auto!important;aspect-ratio:16/9!important;border:0!important;border-radius:12px!important;background:#000!important}.movie-hero .big-play,.movie-hero .movie-big-play{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:5!important;width:66px!important;height:66px!important;border-radius:50%!important;background:#00c96b!important;box-shadow:0 10px 30px rgba(0,201,107,.28)!important}.movie-hero .big-play:after,.movie-hero .movie-big-play:after{content:"";position:absolute;left:27px;top:21px;border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}
.page__player-controls,.unified-player-tabs{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 12px!important}.tabs-block__select{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.tabs-block__select>span,.unified-player-tab{border:1px solid rgba(255,255,255,.08)!important;background:#111b23!important;color:#eaf0f4!important;border-radius:9px!important;padding:9px 14px!important;font-size:13px!important}.tabs-block__select>span.is-active,.tabs-block__select>span.active,.unified-player-tab.active{background:#00c96b!important;color:#04100a!important;border-color:#00c96b!important}.geoflix-notice{border:1px solid rgba(0,201,107,.32)!important;border-radius:10px!important;background:rgba(0,201,107,.055)!important;margin-bottom:12px!important;overflow:hidden!important}
.movie-info-section{padding:8px 0 28px}.movie-info-grid{display:block!important}.movie-info-section .movie-sidebar{display:none!important}.movie-main-content{display:grid!important;gap:12px!important}.info-card{background:#0b1116!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:13px!important;padding:18px!important;box-shadow:none!important}.title-card h2{font-size:28px!important;line-height:1.2!important;margin:6px 0!important}.eng-title{color:#9aa7b2!important}.movie-meta-row{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin-top:12px!important}.movie-meta-row .age,.movie-meta-row .quality,.imdb-badge{display:inline-flex!important;align-items:center!important;min-height:28px!important;border-radius:7px!important;padding:0 9px!important;font-size:12px!important;font-weight:800!important}.movie-meta-row .quality{background:#00c96b!important;color:#fff!important}.imdb-badge{background:#f5c518!important;color:#111!important}.description-card .detail-section_text{line-height:1.75!important;color:#c5ced5!important}.details-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1px!important;background:rgba(255,255,255,.07)!important;border-radius:9px!important;overflow:hidden!important}.detail-item{background:#0d151b!important;padding:13px 14px!important;display:grid!important;grid-template-columns:110px 1fr!important;gap:12px!important}.detail-item-full{grid-column:1/-1!important}.detail-item strong{color:#81909c!important}.related-section{padding:14px 0 54px}.related-section .films-header{margin-bottom:14px}.related-section .swiper-wrapper{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important;transform:none!important}.related-section .swiper-slide{width:auto!important;margin:0!important}.related-section .films-nav{display:none!important}
.episodes-toggle{background:#00c96b!important}.episodes-menu{border:1px solid rgba(0,201,107,.25)!important}.season-tabs button,.episodes-list button,.scroll-btn,.player-navigation button{background:#0e8d51!important}.season-tabs button.active,.episodes-list button.active{background:#f5c518!important;color:#111!important}
@media(max-width:900px){.movie-page{padding-top:8px}.movie-page .container{width:min(100% - 20px,720px)}.movie-hero{padding-top:12px}.movie-hero>.container{grid-template-columns:1fr}.movie-hero .movie-sidebar{display:none!important}.movie-hero .unified-player-card,.movie-hero .page__player{grid-column:1;padding:8px}.info-card{padding:14px!important}.title-card h2{font-size:22px!important}.details-grid{grid-template-columns:1fr!important}.detail-item-full{grid-column:auto!important}.related-section .swiper-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))!important}.episodes-menu{right:8px!important;max-width:calc(100% - 16px)!important}}
@media(max-width:560px){.movie-page .container{width:calc(100% - 14px)}.movie-hero .poster,.movie-hero .movie-poster,.movie-hero iframe,.movie-hero .video-responsive iframe,.movie-hero .video-inside iframe{border-radius:9px!important}.tabs-block__select>span,.unified-player-tab{padding:8px 10px!important;font-size:11px!important}.detail-item{grid-template-columns:1fr!important;gap:4px!important}.related-section .swiper-wrapper{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}

/* ===== GeoFlix v9 — final player selector fix ===== */
.geoflix-movie-player{display:block!important;overflow:hidden!important}
.geoflix-source-tabs{display:flex!important;align-items:center;gap:8px!important;flex-wrap:wrap!important;margin:0 0 12px!important}
.geoflix-source-tabs .unified-player-tab{appearance:none;border:1px solid rgba(255,255,255,.08)!important;background:#111a21!important;color:#eef4f6!important;font:inherit;font-weight:700;line-height:1;cursor:pointer;padding:11px 15px!important;border-radius:9px!important;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.geoflix-source-tabs .unified-player-tab:hover{background:#17252d!important;border-color:rgba(0,201,107,.35)!important;transform:translateY(-1px)}
.geoflix-source-tabs .unified-player-tab.active{background:#00c96b!important;border-color:#00c96b!important;color:#03110a!important}
.geoflix-source-tabs .help-tab{margin-left:auto;min-width:40px;padding-inline:12px!important}
.geoflix-player-stage{position:relative;width:100%;background:#030608;border-radius:12px;overflow:hidden}
.geoflix-player-stage>.unified-player-pane{display:none!important;width:100%;margin:0!important;padding:0!important}
.geoflix-player-stage>.unified-player-pane.active{display:block!important}
.geoflix-player-stage .movie-player-wrap{position:relative;width:100%;margin:0!important;padding:0!important}
.geoflix-player-stage .movie-poster,.geoflix-player-stage .movie-frame,.geoflix-player-stage iframe{width:100%!important;aspect-ratio:16/9!important;min-height:0!important;height:auto!important;border:0!important}
.geoflix-player-stage .movie-poster{position:relative;display:block;overflow:hidden;background:#020405}
.geoflix-player-stage .movie-poster img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.geoflix-player-stage .video-responsive{position:relative!important;padding:0!important;overflow:hidden!important}
.geoflix-player-stage .video-responsive iframe{position:absolute!important;inset:0!important;height:100%!important}
.geoflix-player-stage .player-help-box{min-height:280px;padding:40px;display:flex;flex-direction:column;justify-content:center;background:#0a1116}
@media(max-width:700px){.geoflix-source-tabs{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none}.geoflix-source-tabs::-webkit-scrollbar{display:none}.geoflix-source-tabs .unified-player-tab{flex:0 0 auto;padding:9px 12px!important;font-size:12px!important}.geoflix-source-tabs .help-tab{margin-left:0}.geoflix-player-stage .player-help-box{min-height:180px;padding:22px}}

/* ===== GeoFlix v10 — reference-style fullstory top ===== */
.movie-page{padding-top:0!important}
.movie-hero{padding:34px 0 18px!important}
.movie-hero>.container{
  width:min(1320px,calc(100% - 40px))!important;
  display:grid!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
.full-player-poster{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;min-width:0}
.full-player-poster-image{position:relative;overflow:hidden;border-radius:12px;background:#0b1116;border:1px solid rgba(255,255,255,.1);flex:1;min-height:0}
.full-player-poster-image img,.full-player-poster-image picture,.full-player-poster-image picture img,.full-player-poster-image>a,.full-player-poster-image>a>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border:0!important;border-radius:0!important}
.full-player-trailer{height:44px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#101821;color:#fff;font-weight:700;cursor:pointer;transition:.2s ease}
.full-player-trailer:hover{border-color:#00c96b;background:#13231d}
.movie-hero>.container>.unified-player-card,.movie-hero>.container>.page__player{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;padding:10px!important;border-radius:12px!important;background:#0b1218!important}
.movie-hero .geoflix-notice{display:none!important}
.movie-hero .unified-player-tabs{margin:0 0 9px!important;min-height:38px}
.movie-hero .geoflix-player-stage,.movie-hero .player-card.player-wrapper{border-radius:9px!important}
.movie-hero .geoflix-player-stage .movie-poster,.movie-hero .geoflix-player-stage .movie-frame,.movie-hero .geoflix-player-stage iframe,.movie-hero .player-card.player-wrapper .poster,.movie-hero .player-card.player-wrapper #videoPlayer{aspect-ratio:16/9!important;width:100%!important;height:auto!important;max-height:none!important}
.movie-info-section{padding-top:6px!important}
.movie-info-section .movie-sidebar{display:none!important}
@media(min-width:1200px){
 .movie-hero>.container{min-height:540px;max-height:650px}
 .full-player-poster-image{height:calc(100% - 54px)}
 .movie-hero>.container>.unified-player-card,.movie-hero>.container>.page__player{height:100%;display:flex!important;flex-direction:column}
 .movie-hero .geoflix-player-stage{flex:1;display:flex;align-items:center;background:#000}
 .movie-hero .geoflix-player-stage>.unified-player-pane.active{width:100%}
}
@media(max-width:900px){
 .movie-hero{padding-top:14px!important}
 .movie-hero>.container{width:min(100% - 20px,760px)!important;grid-template-columns:1fr!important}
 .full-player-poster{display:none!important}
 .movie-hero>.container>.unified-player-card,.movie-hero>.container>.page__player{grid-column:1!important;grid-row:auto!important}
}

/* ===== GeoFlix v11 — correct poster proportions, no stretching ===== */
.movie-hero>.container{
  width:min(1240px,calc(100% - 40px))!important;
  grid-template-columns:245px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.full-player-poster{height:auto!important;align-self:start!important}
.full-player-poster-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  flex:none!important;
  min-height:0!important;
  background:#070b0e!important;
}
.full-player-poster-image img,
.full-player-poster-image picture,
.full-player-poster-image picture img,
.full-player-poster-image>a,
.full-player-poster-image>a>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.full-player-trailer{width:100%!important;height:42px!important}
.movie-hero>.container>.unified-player-card,
.movie-hero>.container>.page__player{
  height:auto!important;
  align-self:start!important;
}
.movie-hero .geoflix-player-stage,
.movie-hero .player-card.player-wrapper{
  width:100%!important;
  height:auto!important;
  flex:none!important;
}
.movie-hero .geoflix-player-stage .movie-poster,
.movie-hero .geoflix-player-stage .movie-frame,
.movie-hero .geoflix-player-stage iframe,
.movie-hero .player-card.player-wrapper .poster,
.movie-hero .player-card.player-wrapper #videoPlayer{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  object-fit:cover!important;
}
@media(min-width:1200px){
 .movie-hero>.container{min-height:0!important;max-height:none!important}
 .full-player-poster-image{height:auto!important}
 .movie-hero>.container>.unified-player-card,.movie-hero>.container>.page__player{height:auto!important}
 .movie-hero .geoflix-player-stage{flex:none!important;display:block!important}
}
@media(max-width:1100px) and (min-width:901px){
 .movie-hero>.container{grid-template-columns:210px minmax(0,1fr)!important;width:min(1040px,calc(100% - 30px))!important}
}

/* ===== GeoFlix v12 — poster + player reference geometry ===== */
/* Desktop: the poster and player form one balanced media row. The poster keeps
   its real 2:3 ratio; the player keeps 16:9. Nothing is stretched. */
@media (min-width: 901px){
  .movie-hero{padding:28px 0 16px!important}
  .movie-hero>.container{
    width:min(1440px,calc(100% - 48px))!important;
    grid-template-columns:clamp(280px,20.5vw,350px) minmax(0,1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .full-player-poster{
    width:100%!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    align-self:start!important;
  }
  .full-player-poster-image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
    flex:0 0 auto!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#080c10!important;
  }
  .full-player-poster-image img,
  .full-player-poster-image picture,
  .full-player-poster-image picture img,
  .full-player-poster-image>a,
  .full-player-poster-image>a>img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .full-player-trailer{
    width:100%!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
  }
  .movie-hero>.container>.unified-player-card,
  .movie-hero>.container>.page__player{
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    align-self:start!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .movie-hero .geoflix-source-tabs,
  .movie-hero .unified-player-tabs,
  .movie-hero .page__player-controls{
    min-height:44px!important;
    margin:0 0 10px!important;
  }
  .movie-hero .geoflix-player-stage,
  .movie-hero .player-card.player-wrapper{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    min-height:0!important;
    flex:none!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#000!important;
  }
  .movie-hero .geoflix-player-stage>.unified-player-pane.active,
  .movie-hero .geoflix-player-stage .movie-player-wrap,
  .movie-hero .geoflix-player-stage .movie-poster,
  .movie-hero .geoflix-player-stage .movie-frame,
  .movie-hero .geoflix-player-stage iframe,
  .movie-hero .player-card.player-wrapper .poster,
  .movie-hero .player-card.player-wrapper #videoPlayer{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
  }
  .movie-hero .geoflix-player-stage .movie-poster img,
  .movie-hero .player-card.player-wrapper .poster img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}
@media (min-width:901px) and (max-width:1199px){
  .movie-hero>.container{
    width:min(1120px,calc(100% - 30px))!important;
    grid-template-columns:clamp(220px,24vw,270px) minmax(0,1fr)!important;
    gap:14px!important;
  }
}

/* ===== GeoFlix v13 — mobile fullstory polish + separated category chips ===== */
.movie-category{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;margin-top:12px!important}
.movie-category a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:6px 11px!important;margin:0!important;border:1px solid rgba(0,201,107,.24)!important;border-radius:999px!important;background:rgba(0,201,107,.08)!important;color:#dff9ec!important;font-size:12px!important;font-weight:700!important;line-height:1.15!important;text-decoration:none!important;white-space:nowrap!important;transition:.18s ease!important}
.movie-category a:hover{background:#00c96b!important;border-color:#00c96b!important;color:#04110b!important;transform:translateY(-1px)!important}

@media(max-width:700px){
  .movie-page{padding-top:62px!important;background:#070b10!important}
  .movie-page .container{width:calc(100% - 20px)!important;max-width:none!important}
  .movie-hero{padding:10px 0 8px!important}
  .movie-hero>.container{display:block!important;width:calc(100% - 20px)!important}
  .full-player-poster{display:none!important}
  .movie-hero>.container>.unified-player-card,.movie-hero>.container>.page__player{display:block!important;width:100%!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .geoflix-source-tabs,.unified-player-tabs{gap:6px!important;margin:0 0 8px!important;padding:0 1px 3px!important}
  .geoflix-source-tabs .unified-player-tab,.unified-player-tab{min-height:34px!important;padding:8px 11px!important;border-radius:8px!important;font-size:11px!important}
  .movie-hero .geoflix-player-stage,.movie-hero .player-card.player-wrapper{width:100%!important;aspect-ratio:16/9!important;border-radius:10px!important;overflow:hidden!important;background:#000!important;border:1px solid rgba(255,255,255,.07)!important}
  .movie-hero .geoflix-player-stage .movie-poster,.movie-hero .geoflix-player-stage .movie-frame,.movie-hero .geoflix-player-stage iframe,.movie-hero .player-card.player-wrapper .poster,.movie-hero .player-card.player-wrapper #videoPlayer{width:100%!important;height:100%!important;aspect-ratio:auto!important}

  .movie-info-section{padding:8px 0 18px!important}
  .movie-info-grid{display:block!important}
  .movie-sidebar{display:none!important}
  .movie-main-content{display:flex!important;flex-direction:column!important;gap:10px!important}
  .info-card{padding:14px!important;margin:0!important;border-radius:11px!important;background:#0b1118!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:none!important}
  .title-card{order:1!important}
  .description-card{order:2!important}
  .details-card{order:3!important}
  .detail-section_title{position:relative!important}
  .detail-section_title h2{font-size:21px!important;line-height:1.25!important;margin:7px 0 3px!important}
  .eng-title{font-size:12px!important;color:#91a0ad!important}
  .geo-like-dislike{display:flex!important;align-items:center!important;gap:6px!important;margin-bottom:8px!important;overflow-x:auto!important;scrollbar-width:none!important}
  .geo-like-dislike::-webkit-scrollbar{display:none!important}
  .geo-rate-btn{flex:0 0 auto!important;font-size:11px!important;padding:6px 8px!important;border-radius:7px!important}
  .download-btn{display:none!important}
  .movie-meta-row{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:10px!important}
  .movie-meta-row .age,.movie-meta-row .quality,.movie-meta-row .imdb-badge{display:inline-flex!important;align-items:center!important;min-height:26px!important;padding:5px 8px!important;border-radius:6px!important;font-size:11px!important;line-height:1!important}
  .movie-category{gap:6px!important;margin-top:10px!important}
  .movie-category a{min-height:28px!important;padding:6px 9px!important;font-size:11px!important}
  .card-title{font-size:15px!important;margin:0 0 9px!important}
  .mobile-description{font-size:13px!important;line-height:1.65!important;color:#d5dde4!important}
  .details-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
  .detail-item{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:9px!important;padding:9px 0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;font-size:12px!important}
  .detail-item:last-child{border-bottom:0!important}
  .detail-item strong{color:#8e9aa5!important}

  .related-section{padding-top:8px!important}
  .related-section h2,.related-section .section-title{font-size:18px!important;margin-bottom:12px!important}
  .related-section .swiper-wrapper,.related-section .related-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  .related-card .poster-image{border-radius:8px!important;overflow:hidden!important}
  .related-card .poster-title,.related-card .title{font-size:11px!important;line-height:1.25!important;margin-top:5px!important}
}
@media(max-width:390px){
  .related-section .swiper-wrapper,.related-section .related-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ===== GeoFlix v14 — mobile player fix + horizontal related movies ===== */
.mobile-description-poster{display:none}
.related-section .films-nav{display:flex!important;gap:8px!important;align-items:center!important}
.related-section .films-prev,.related-section .films-next{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:50%!important;border:1px solid rgba(0,201,107,.34)!important;background:#0b1418!important;color:#fff!important;cursor:pointer!important;user-select:none!important;transition:.18s ease!important}
.related-section .films-prev:hover,.related-section .films-next:hover{background:#00c96b!important;color:#03110a!important;transform:translateY(-1px)!important}
.related-section .filmsSwiper{overflow:hidden!important;width:100%!important}
.related-section .swiper-wrapper{display:flex!important;grid-template-columns:none!important;gap:14px!important;width:100%!important;transform:none!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;padding-bottom:4px!important}
.related-section .swiper-wrapper::-webkit-scrollbar{display:none!important}
.related-section .related-card{flex:0 0 calc((100% - 70px)/6)!important;width:auto!important;min-width:0!important;scroll-snap-align:start!important}

@media(max-width:1000px){
 .related-section .related-card{flex-basis:calc((100% - 42px)/4)!important}
}
@media(max-width:700px){
 .movie-hero .geoflix-player-stage{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}
 .movie-hero .geoflix-player-stage>.unified-player-pane.active{display:block!important;width:100%!important;height:100%!important}
 .movie-hero .movie-player-wrap{display:block!important;width:100%!important;height:100%!important;min-height:0!important}
 .movie-hero .geoflix-movie-player .movie-frame{display:block;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;background:#000!important;overflow:hidden!important}
 .movie-hero .geoflix-movie-player .movie-frame iframe,
 .movie-hero .geoflix-movie-player .movie-frame video,
 .movie-hero .geoflix-movie-player .movie-frame embed,
 .movie-hero .geoflix-movie-player .movie-frame object{display:block!important;width:100%!important;height:100%!important;min-height:100%!important;border:0!important}

 .mobile-description{display:block!important;overflow:hidden!important}
 .mobile-description-poster{display:block!important;float:left!important;width:105px!important;margin:2px 12px 7px 0!important;border-radius:9px!important;overflow:hidden!important;background:#070b0e!important}
 .mobile-description-poster img,.mobile-description-poster picture,.mobile-description-poster a{display:block!important;width:100%!important;height:auto!important}
 .mobile-description-poster img{aspect-ratio:2/3!important;object-fit:cover!important}
 .mobile-description-copy{font-size:13px!important;line-height:1.65!important;color:#d5dde4!important}
 .description-card:after{content:"";display:block;clear:both}

 .related-section .films-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
 .related-section .films-nav{display:flex!important;flex:0 0 auto!important}
 .related-section .films-prev,.related-section .films-next{width:34px!important;height:34px!important;font-size:15px!important}
 .related-section .swiper-wrapper,.related-section .related-list{display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important}
 .related-section .related-card{flex:0 0 calc((100% - 20px)/3)!important;width:auto!important}
}
@media(max-width:390px){
 .related-section .related-card{flex-basis:calc((100% - 10px)/2)!important}
 .mobile-description-poster{width:96px!important}
}

/* ===== GeoFlix v15 — fullstory actions + related navigation polish ===== */
.geo-title-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 0 10px!important}
.geo-like-dislike{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;overflow:visible!important}
.geo-rate-btn{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:6px 10px 6px 7px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:11px!important;background:linear-gradient(180deg,#121b22,#0d1419)!important;color:#e8eef2!important;text-decoration:none!important;box-shadow:0 5px 16px rgba(0,0,0,.18)!important;transition:transform .18s ease,border-color .18s ease,background .18s ease!important}
.geo-rate-btn:hover{transform:translateY(-1px)!important;border-color:rgba(0,201,107,.38)!important;background:#111e1a!important}
.geo-rate-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;border-radius:8px!important;background:rgba(255,255,255,.06)!important;font-size:14px!important;line-height:1!important}
.geo-like:hover .geo-rate-icon{background:rgba(0,201,107,.16)!important;color:#18e487!important}.geo-dislike:hover .geo-rate-icon{background:rgba(255,84,84,.13)!important;color:#ff7777!important}
.geo-rate-label{font-size:12px!important;font-weight:700!important;white-space:nowrap!important}.geo-rate-btn .ratingtypeplusminus{display:inline-grid!important;place-items:center!important;min-width:24px!important;height:24px!important;padding:0 6px!important;border-radius:7px!important;background:#070c10!important;color:#aeb9c1!important;font-size:11px!important;font-weight:800!important}
.download-btn{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin:0 0 0 auto!important;min-height:38px!important;padding:8px 13px!important;border-radius:10px!important;border:1px solid rgba(255,75,75,.34)!important;background:linear-gradient(180deg,rgba(187,30,39,.94),rgba(132,20,27,.94))!important;color:#fff!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 7px 20px rgba(128,15,22,.18)!important;transition:.18s ease!important;white-space:nowrap!important}.download-btn:hover{transform:translateY(-1px)!important;filter:brightness(1.1)!important}
.related-section .films-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}.related-section .films-nav{margin-left:auto!important}.related-section .films-prev,.related-section .films-next{font-family:Arial,sans-serif!important;font-weight:700!important;box-shadow:0 6px 18px rgba(0,0,0,.22)!important}.related-section .filmsSwiper{cursor:grab!important}.related-section .filmsSwiper:active{cursor:grabbing!important}
@media(max-width:700px){.geo-title-actions{gap:8px!important;align-items:stretch!important}.geo-like-dislike{gap:6px!important;min-width:0!important}.geo-rate-btn{min-height:34px!important;padding:5px 7px 5px 5px!important;gap:5px!important}.geo-rate-icon{width:23px!important;height:23px!important;border-radius:7px!important}.geo-rate-label{font-size:10px!important}.geo-rate-btn .ratingtypeplusminus{height:21px!important;min-width:20px!important;font-size:10px!important}.download-btn{display:inline-flex!important;min-height:34px!important;padding:6px 8px!important;font-size:10px!important;border-radius:9px!important}.related-section .films-nav{margin-left:auto!important}}
@media(max-width:430px){.geo-rate-label{display:none!important}.download-btn{font-size:0!important}.download-btn span{font-size:16px!important}.geo-title-actions{margin-bottom:8px!important}}


/* ===== GeoFlix v16 final interaction polish ===== */
.site-header,
.site-header.is-scrolled{
  background:linear-gradient(to bottom,rgba(3,7,9,.95) 0%,rgba(3,7,9,.68) 58%,rgba(3,7,9,.10) 100%)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
.movie-poster{cursor:pointer!important}
.movie-poster .movie-big-play{cursor:pointer!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}
.movie-poster:hover .movie-big-play{transform:scale(1.08)!important;box-shadow:0 12px 44px rgba(0,210,106,.42)!important}
.geo-card-clickable{cursor:pointer}
.geo-card-clickable .poster-image,.geo-card-clickable h3{cursor:pointer}

/* Help screen */
.geoflix-player-stage .geo-help-modern{min-height:clamp(300px,31vw,520px);text-align:center;align-items:center;padding:42px 8%!important;background:radial-gradient(circle at 50% 35%,rgba(0,200,83,.08),transparent 42%),#091117!important}
.geo-help-modern .geo-help-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin-bottom:15px;background:rgba(0,200,83,.12);border:1px solid rgba(0,200,83,.42);color:#00d26a;font-size:28px;font-weight:900}
.geo-help-modern h3{margin:0 0 16px;color:#fff;font-size:clamp(22px,2vw,34px)}
.geo-help-modern p{max-width:760px;margin:7px auto;color:#d3dadd;line-height:1.75;font-size:14px}
.geo-help-modern strong{color:#fff}
.geo-help-facebook{display:inline-flex;margin:7px 5px;padding:10px 16px;border-radius:999px;background:#1877f2;color:#fff!important;font-weight:800;box-shadow:0 8px 25px rgba(24,119,242,.22)}
.geo-help-facebook:hover{transform:translateY(-1px);filter:brightness(1.08)}
.geo-help-note{max-width:720px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);color:#9eaaaf;font-size:13px}
.geo-help-note strong{color:#00d26a}

/* Trailer modal */
.trailer-modal{display:none;position:fixed;inset:0;z-index:99999;padding:24px;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);align-items:center;justify-content:center}
.trailer-modal.is-open{display:flex}
.trailer-modal-content{position:relative;width:min(1000px,94vw);background:#05090c;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:12px;box-shadow:0 30px 90px rgba(0,0,0,.65)}
.trailer-close{position:absolute;z-index:3;right:-12px;top:-12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#00c864;color:#041008;border:3px solid #071015;font-size:25px;line-height:1;cursor:pointer;font-weight:800}
#trailerVideoContainer{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#000}
#trailerVideoContainer iframe,#trailerVideoContainer video,#trailerVideoContainer embed,#trailerVideoContainer object{display:block;width:100%!important;height:100%!important;border:0}
.geo-modal-open{overflow:hidden}

@media(max-width:700px){
 .site-header,.site-header.is-scrolled{background:linear-gradient(to bottom,rgba(3,7,9,.97),rgba(3,7,9,.78) 70%,rgba(3,7,9,.18))!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
 .geoflix-player-stage .geo-help-modern{min-height:220px;padding:25px 18px!important}
 .geo-help-modern .geo-help-icon{width:46px;height:46px;font-size:22px;margin-bottom:10px}
 .geo-help-modern h3{font-size:21px;margin-bottom:10px}.geo-help-modern p{font-size:12px;line-height:1.6}.geo-help-facebook{padding:8px 12px;font-size:12px}.geo-help-note{margin-top:13px;padding-top:12px;font-size:11px}
 .trailer-modal{padding:10px}.trailer-modal-content{width:100%;padding:7px;border-radius:12px}.trailer-close{right:2px;top:-44px}
}


/* ===== GeoFlix v17 — stable hero controls + reliable home-card navigation ===== */
/* The left poster/trailer column must never react to player hover or change geometry. */
@media (min-width:901px){
  .movie-hero>.container{align-items:start!important}
  .movie-hero .full-player-poster{
    position:relative!important;
    top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
    transform:none!important;
    align-self:start!important;
    display:grid!important;
    grid-template-rows:auto 44px!important;
    gap:10px!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .movie-hero .full-player-poster-image{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
    margin:0!important;
    transform:none!important;
    transition:none!important;
  }
  .movie-hero .full-player-poster-image:hover,
  .movie-hero .full-player-poster:hover,
  .movie-hero .full-player-poster:has(+ .unified-player-card:hover){transform:none!important}
  .movie-hero .full-player-trailer{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:0 14px!important;
    transform:none!important;
    flex:none!important;
    z-index:20!important;
  }
  .movie-hero .full-player-trailer:hover,
  .movie-hero .full-player-trailer:focus{transform:none!important;margin:0!important}
}
.geo-home-card{cursor:pointer!important}
.geo-home-card .movie-img,.geo-home-card .movie-title,.geo-home-card .play-btn{cursor:pointer!important}
.geo-home-card .play-btn{pointer-events:none!important}


/* GeoFlix v18 interaction hardening */
.geo-home-card{cursor:pointer!important;position:relative}
.geo-home-card .movie-img>a:first-child,.geo-home-card .movie-title,.geo-home-card .hover-play-btn{position:relative;z-index:6}
.geo-home-card .play-btn{cursor:pointer!important}
.geo-home-card .hover-card{pointer-events:none!important}
.geo-home-card .hover-card a{pointer-events:auto!important}
.movie-hero .full-player-poster{align-self:start!important;transform:none!important}
.movie-hero .full-player-poster-image{transform:none!important}
.movie-hero .full-player-trailer{display:block!important;position:relative!important;inset:auto!important;transform:none!important;margin:10px 0 0!important;width:100%!important;box-sizing:border-box!important;cursor:pointer!important}
.movie-hero .full-player-trailer:hover,.movie-hero .full-player-trailer:focus,.movie-hero .full-player-trailer:active{transform:none!important;margin:10px 0 0!important}


/* GeoFlix v19 emergency interaction fixes */
.geo-home-card{position:relative!important;cursor:pointer!important}
.geo-home-card .geo-card-hit{position:absolute!important;inset:0!important;display:block!important;z-index:4!important;pointer-events:auto!important;border-radius:inherit!important}
.geo-home-card .movie-img>a:first-child,.geo-home-card .movie-title,.geo-home-card .hover-play-btn{position:relative!important;z-index:7!important;pointer-events:auto!important}
.geo-home-card .fav-heart-btn{z-index:9!important;pointer-events:auto!important}
.geo-home-card .play-btn{z-index:8!important;pointer-events:none!important}
.geo-home-card .hover-card{z-index:6!important;pointer-events:none!important}
.geo-home-card .hover-card .hover-play-btn{pointer-events:auto!important}
html.geo-modal-open,body.geo-modal-open{overflow:auto!important}
.trailer-modal{z-index:2147483000!important;pointer-events:none!important}
.trailer-modal.is-open{display:flex!important;pointer-events:auto!important}
.trailer-modal-content{pointer-events:auto!important}
.full-player-trailer,.trailer-under-btn{position:relative!important;transform:none!important;translate:none!important;inset:auto!important;z-index:20!important;cursor:pointer!important}


/* ===== GeoFlix v20 — interaction reset (clicks + trailer) ===== */
.poster-slider.dragging a,.landscape-slider.dragging a{pointer-events:auto!important}
.poster-slider img,.landscape-slider img{-webkit-user-drag:none;user-drag:none}
.movie-card[data-full-link],.series-card[data-full-link]{cursor:pointer!important}
.movie-card .poster-link,.series-card .landscape-link{position:relative!important;z-index:2!important;pointer-events:auto!important}
.movie-card .card-title-link,.series-card .landscape-info a{position:relative!important;z-index:2!important;pointer-events:auto!important}

@media (min-width:901px){
  .movie-hero>.container{display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;gap:16px!important;align-items:start!important}
  .movie-hero .full-player-poster{display:grid!important;grid-template-rows:auto 44px!important;gap:10px!important;height:auto!important;align-self:start!important;position:relative!important;transform:none!important}
  .movie-hero .full-player-poster-image{width:100%!important;height:auto!important;aspect-ratio:2/3!important;transform:none!important;margin:0!important}
  .movie-hero .full-player-trailer{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;position:relative!important;inset:auto!important;transform:none!important;translate:none!important;flex:none!important;cursor:pointer!important}
  .movie-hero .full-player-trailer:hover,.movie-hero .full-player-trailer:focus,.movie-hero .full-player-trailer:active{margin:0!important;transform:none!important;translate:none!important}
}
#geoTrailerModal{display:none!important;position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(0,0,0,.82)!important;backdrop-filter:blur(8px)!important;padding:24px!important;align-items:center!important;justify-content:center!important;pointer-events:none!important}
#geoTrailerModal.is-open{display:flex!important;pointer-events:auto!important}
#geoTrailerModal .trailer-modal-content{position:relative!important;width:min(1000px,94vw)!important;background:#070c10!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;padding:8px!important;box-shadow:0 28px 90px rgba(0,0,0,.6)!important}
#geoTrailerModal .trailer-close{position:absolute!important;right:-12px!important;top:-12px!important;z-index:3!important}
#geoTrailerVideo{width:100%!important;aspect-ratio:16/9!important;border-radius:10px!important;overflow:hidden!important;background:#000!important}
#geoTrailerVideo iframe,#geoTrailerVideo video,#geoTrailerVideo embed,#geoTrailerVideo object{display:block!important;width:100%!important;height:100%!important;border:0!important}


/* ===== GeoFlix v21 — hero drag, homepage-style related rail, fullstory favorite ===== */
#geoflix-hero{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
#geoflix-hero.is-dragging{cursor:grabbing}
#geoflix-hero.is-dragging *{cursor:grabbing!important}
#geoflix-hero .hero-background img{-webkit-user-drag:none;user-drag:none;pointer-events:none}

.poster-slider,.landscape-slider{cursor:grab;scroll-snap-type:x proximity}
.poster-slider.dragging,.landscape-slider.dragging{cursor:grabbing;scroll-behavior:auto!important;scroll-snap-type:none}
.poster-slider .movie-card,.landscape-slider .series-card{scroll-snap-align:start}

.related-section.content-section{margin-top:58px!important;padding-top:0!important}
.related-section .container{max-width:1800px!important;width:100%!important}
.related-section .related-heading{margin-bottom:20px!important}
.related-section .related-slider{width:100%!important;overflow-x:auto!important;overflow-y:hidden!important}
.related-section .related-slider .related-card{flex:0 0 calc((100% - 85px)/6)!important;min-width:0!important}
.related-section .related-slider .card-overlay{pointer-events:none}

.full-favorite-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:7px 12px!important;border:1px solid rgba(0,201,107,.30)!important;border-radius:11px!important;background:linear-gradient(180deg,#111b20,#0b1317)!important;color:#e8eef2!important;text-decoration:none!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;box-shadow:0 5px 16px rgba(0,0,0,.18)!important;transition:.18s ease!important}
.full-favorite-btn:hover{transform:translateY(-1px)!important;border-color:rgba(0,201,107,.65)!important;background:#0e2119!important}
.full-favorite-heart{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:8px!important;background:rgba(0,201,107,.10)!important;color:#fff!important;font-size:15px!important;line-height:1!important;transition:.18s ease!important}
.full-favorite-btn.active{background:linear-gradient(180deg,#00c96b,#00ad5d)!important;border-color:#00c96b!important;color:#03110a!important}
.full-favorite-btn.active .full-favorite-heart{background:rgba(3,17,10,.15)!important;color:#fff!important}
.full-favorite-btn .fav-label-added{display:none}
.full-favorite-btn.active .fav-label-add{display:none}
.full-favorite-btn.active .fav-label-added{display:inline}

/* Poster button always opens trailer_watch in this dedicated modal. */
#geoTrailerModal .trailer-modal-content{width:min(1050px,94vw)!important}
#geoTrailerVideo{aspect-ratio:16/9!important}
#geoTrailerVideo iframe,#geoTrailerVideo video,#geoTrailerVideo embed,#geoTrailerVideo object{width:100%!important;height:100%!important}

@media(max-width:1000px){
  .related-section .related-slider .related-card{flex-basis:calc((100% - 51px)/4)!important}
}
@media(max-width:700px){
  .related-section.content-section{margin-top:34px!important}
  .related-section .related-heading{margin-bottom:14px!important}
  .related-section .related-slider{gap:10px!important;padding-bottom:4px!important}
  .related-section .related-slider .related-card{flex:0 0 calc((100% - 20px)/3)!important}
  .full-favorite-btn{min-height:34px!important;padding:5px 8px!important;gap:5px!important;border-radius:9px!important}
  .full-favorite-heart{width:23px!important;height:23px!important;border-radius:7px!important}
  .full-favorite-label{font-size:10px!important}
  #geoTrailerModal{padding:10px!important}
  #geoTrailerModal .trailer-modal-content{width:100%!important}
}
@media(max-width:430px){
  .related-section .related-slider .related-card{flex-basis:calc((100% - 10px)/2)!important}
  .full-favorite-label{display:none!important}
  .full-favorite-btn{width:34px!important;min-width:34px!important;padding:4px!important}
}

/* ===== GeoFlix v22 — mobile polish, lighter glass header, action layout ===== */
.logo{display:inline-flex!important;align-items:baseline!important;gap:0!important}
.logo-net{font-style:normal!important;font-size:.38em!important;font-weight:800!important;letter-spacing:.02em!important;color:rgba(255,255,255,.72)!important;margin-left:2px!important;transform:translateY(-1px)!important}

/* Mobile home quick categories, visually sitting above the hero like a streaming app rail. */
.home-quick-cats{display:none}

/* Fullstory secondary controls */
.geo-secondary-actions{display:flex;align-items:center;gap:8px}
.mobile-full-trailer{display:none;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,#111b22,#0b1318);color:#fff;border-radius:11px;min-height:38px;padding:7px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease}
.mobile-full-trailer:hover{border-color:rgba(0,201,107,.58);background:#102119;color:#fff}

@media(max-width:768px){
  /* Lighter translucent mobile header; readable but no longer a heavy black slab. */
  .site-header,.site-header.is-scrolled{
    position:fixed!important;
    background:linear-gradient(180deg,rgba(6,14,17,.76),rgba(6,14,17,.54))!important;
    border-bottom:1px solid rgba(255,255,255,.035)!important;
    box-shadow:0 8px 28px rgba(0,0,0,.12)!important;
    backdrop-filter:blur(11px) saturate(118%)!important;
    -webkit-backdrop-filter:blur(11px) saturate(118%)!important;
    transition:background .32s ease,backdrop-filter .32s ease,box-shadow .32s ease!important;
  }
  .site-header.is-scrolled{
    background:linear-gradient(180deg,rgba(8,17,20,.84),rgba(8,17,20,.64))!important;
    box-shadow:0 10px 32px rgba(0,0,0,.16)!important;
  }
  .header-inner{height:70px!important;padding:0 14px!important;gap:10px!important}
  .logo{font-size:22px!important;flex:0 0 auto!important;position:relative!important;z-index:8!important}
  .logo-net{font-size:9px!important;margin-left:1px!important}
  .header-actions{gap:8px!important;margin-left:auto!important}
  .favorite-btn,.mobile-menu-btn,.header-search-btn{width:38px!important;height:38px!important;flex:0 0 38px!important;background:rgba(10,18,22,.45)!important;border-color:rgba(255,255,255,.14)!important;backdrop-filter:blur(7px)!important}
  .mobile-menu-btn{display:flex!important}

  /* Search expands below the header instead of laying over the GeoFlix logo. */
  .header-search{position:relative!important;height:38px!important;width:38px!important;flex:0 0 38px!important}
  .header-search.open{
    position:fixed!important;
    top:76px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    height:44px!important;
    z-index:1300!important;
    padding:0!important;
    filter:drop-shadow(0 12px 28px rgba(0,0,0,.28));
  }
  .header-search.open .header-search-input{
    width:100%!important;height:44px!important;opacity:1!important;pointer-events:auto!important;
    padding:0 78px 0 16px!important;border-radius:13px!important;
    background:rgba(11,22,26,.96)!important;border-color:rgba(0,201,107,.48)!important;
    backdrop-filter:blur(14px)!important;
  }
  .header-search.open .header-search-btn{position:absolute!important;right:3px!important;top:3px!important;width:38px!important;height:38px!important;background:transparent!important;border-color:transparent!important}
  .header-search.open .header-search-close{display:grid!important;place-items:center!important;right:40px!important;top:5px!important;width:34px!important;height:34px!important}
  .header-search.open .header-search-suggestions{position:absolute!important;top:50px!important;left:0!important;right:0!important;width:100%!important;max-height:54vh!important;border-radius:13px!important}

  /* App-like category rail only on homepage, over the top area of the hero. */
  .home-quick-cats{
    display:flex!important;position:absolute!important;top:78px!important;left:10px!important;right:10px!important;z-index:25!important;
    gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 7px!important;scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;mask-image:linear-gradient(to right,transparent 0,#000 10px,#000 calc(100% - 18px),transparent 100%);
  }
  .home-quick-cats::-webkit-scrollbar{display:none!important}
  .home-quick-cats a{
    flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:34px!important;padding:0 14px!important;
    border-radius:9px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(27,36,42,.72)!important;color:#f4f7f8!important;
    font-size:11px!important;font-weight:800!important;backdrop-filter:blur(10px)!important;box-shadow:0 4px 16px rgba(0,0,0,.12)!important;
  }
  .home-quick-cats a:first-child{background:rgba(0,201,107,.92)!important;color:#04130b!important;border-color:#00c96b!important}
  .hero{padding-top:0!important}
  .hero-content{padding-top:132px!important}

  /* Fullstory player always preserves a clean 16:9 frame on phones. */
  .movie-hero .geoflix-player-stage,.movie-hero .player-card.player-wrapper{width:100%!important;aspect-ratio:16/9!important;height:auto!important;min-height:0!important;overflow:hidden!important;border-radius:10px!important;background:#000!important}
  .movie-hero .geoflix-player-stage>.unified-player-pane.active,.movie-hero .geoflix-player-stage .movie-player-wrap,.movie-hero .geoflix-player-stage .movie-poster,.movie-hero .geoflix-player-stage .movie-frame{width:100%!important;height:100%!important;aspect-ratio:auto!important;min-height:0!important}
  .movie-hero .geoflix-player-stage .movie-poster img,.movie-hero .geoflix-player-stage .movie-frame img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  .movie-hero .geoflix-player-stage iframe,.movie-hero .geoflix-player-stage video{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}

  /* Like/dislike first row, favorite + trailer second row, matching the supplied mobile reference. */
  .geo-title-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important;margin:0 0 12px!important}
  .geo-like-dislike{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;overflow:visible!important}
  .geo-rate-btn{width:100%!important;min-height:39px!important;justify-content:center!important;padding:6px 9px!important;border-radius:9px!important;background:#101923!important;border-color:rgba(255,255,255,.11)!important;box-shadow:none!important}
  .geo-rate-icon{width:24px!important;height:24px!important;border-radius:7px!important}
  .geo-rate-label{font-size:11px!important}
  .geo-rate-btn .ratingtypeplusminus{margin-left:auto!important;background:rgba(5,10,13,.72)!important}
  .geo-secondary-actions{display:contents!important}
  .full-favorite-btn{grid-column:1!important;width:100%!important;min-width:0!important;min-height:39px!important;padding:6px 10px!important;border-radius:9px!important}
  .full-favorite-label{display:inline!important;font-size:10px!important}
  .mobile-full-trailer{display:flex!important;grid-column:2!important;width:100%!important;min-height:39px!important;border-radius:9px!important}
  .download-btn{display:none!important}

  /* Description poster is compact and keeps 2:3 instead of stretching. */
  .mobile-description{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;overflow:visible!important}
  .mobile-description-poster{display:block!important;float:none!important;width:88px!important;max-width:88px!important;margin:0!important;border-radius:9px!important;overflow:hidden!important;background:#070b0e!important;aspect-ratio:2/3!important}
  .mobile-description-poster img,.mobile-description-poster picture,.mobile-description-poster a{display:block!important;width:100%!important;height:100%!important;margin:0!important}
  .mobile-description-poster img{object-fit:cover!important;object-position:center!important;aspect-ratio:auto!important}
  .mobile-description-copy{min-width:0!important;line-height:1.65!important}
}

@media(max-width:390px){
  .header-inner{padding:0 10px!important}
  .header-actions{gap:6px!important}
  .favorite-btn,.mobile-menu-btn,.header-search-btn{width:36px!important;height:36px!important;flex-basis:36px!important}
  .logo{font-size:20px!important}
  .home-quick-cats{left:7px!important;right:7px!important}
  .home-quick-cats a{padding:0 12px!important;font-size:10px!important}
  .mobile-description{grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important}
  .mobile-description-poster{width:78px!important;max-width:78px!important}
  .geo-rate-label{display:inline!important}
}

/* v22.1 — softer header and cleaner rating glyphs */
.site-header,.site-header.is-scrolled{
  background:linear-gradient(180deg,rgba(7,15,18,.68),rgba(7,15,18,.32))!important;
  backdrop-filter:blur(9px) saturate(114%)!important;
  -webkit-backdrop-filter:blur(9px) saturate(114%)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.025)!important;
}
.site-header.is-scrolled{background:linear-gradient(180deg,rgba(7,15,18,.76),rgba(7,15,18,.48))!important}
.geo-rate-icon svg{display:block;width:15px;height:15px}
.geo-rate-icon-down svg{transform:rotate(180deg)}
@media(max-width:768px){
  .site-header,.site-header.is-scrolled{background:linear-gradient(180deg,rgba(7,15,18,.74),rgba(7,15,18,.52))!important}
  .site-header.is-scrolled{background:linear-gradient(180deg,rgba(7,15,18,.81),rgba(7,15,18,.60))!important}
  .geo-rate-label{display:none!important}
  .geo-rate-btn{gap:8px!important}
  .geo-rate-btn .ratingtypeplusminus{margin-left:0!important}
}


/* ===== GeoFlix v23 — smooth mobile hero, centered play, aligned mobile poster ===== */
/* Keep the play button perfectly centered on both desktop and mobile, including hover. */
.movie-hero .big-play,
.movie-hero .movie-big-play{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  translate:none!important;
  margin:0!important;
  display:block!important;
}
.movie-hero .poster:hover .big-play,
.movie-hero .movie-poster:hover .movie-big-play,
.movie-hero .poster:focus-within .big-play,
.movie-hero .movie-poster:focus-within .movie-big-play{
  transform:translate(-50%,-50%) scale(1.08)!important;
}

@media (max-width: 768px){
  /* Homepage header: smoother/lighter like the MyKadri reference. */
  .site-header,
  .site-header.is-scrolled{
    background:linear-gradient(180deg,rgba(8,16,20,.62),rgba(8,16,20,.22))!important;
    border-bottom:1px solid rgba(255,255,255,.04)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.10)!important;
    backdrop-filter:blur(10px) saturate(118%)!important;
    -webkit-backdrop-filter:blur(10px) saturate(118%)!important;
  }
  .site-header.is-scrolled{
    background:linear-gradient(180deg,rgba(9,18,22,.76),rgba(9,18,22,.38))!important;
    box-shadow:0 10px 28px rgba(0,0,0,.14)!important;
  }
  .header-inner{
    height:68px!important;
    padding:0 13px!important;
    gap:10px!important;
  }
  .favorite-btn,
  .mobile-menu-btn,
  .header-search-btn{
    background:rgba(13,24,29,.42)!important;
    border-color:rgba(255,255,255,.11)!important;
  }

  /* Only on the homepage: no hamburger, and brighter quick-category background. */
  body.home-page .mobile-menu-btn{display:none!important}
  body.home-page .home-quick-cats{
    display:flex!important;
    top:77px!important;
    left:10px!important;
    right:10px!important;
    padding:8px!important;
    gap:8px!important;
    border-radius:14px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045))!important;
    border:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.15)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    mask-image:none!important;
  }
  body.home-page .home-quick-cats a{
    background:rgba(34,46,54,.72)!important;
    border-color:rgba(255,255,255,.10)!important;
    color:#f5f8fa!important;
    min-height:35px!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  body.home-page .home-quick-cats a:first-child{
    background:rgba(0,201,107,.92)!important;
    color:#04120b!important;
    border-color:#00c96b!important;
  }

  /* Mobile hero: clean photo, only Georgian + English titles at the bottom, arrows kept. */
  body.home-page .hero{
    height:72svh!important;
    min-height:510px!important;
    padding-top:0!important;
    border-radius:0 0 24px 24px!important;
    overflow:hidden!important;
  }
  body.home-page .hero-slide::after{
    content:"";
    position:absolute;
    inset:auto 18px 84px 18px;
    height:1px;
    background:linear-gradient(90deg,rgba(0,201,107,.85),rgba(255,255,255,.22));
    z-index:2;
  }
  body.home-page .hero-gradient{
    background:linear-gradient(180deg,rgba(3,8,10,.06) 0%,rgba(4,10,13,.20) 38%,rgba(4,10,13,.90) 100%)!important;
  }
  body.home-page .hero-content{
    min-height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    padding:0 20px 28px!important;
  }
  body.home-page .hero-label,
  body.home-page .hero-meta-new,
  body.home-page .hero p,
  body.home-page .hero-buttons{display:none!important}
  body.home-page .hero h1{
    margin:0 0 4px!important;
    font-size:30px!important;
    line-height:1.06!important;
    text-shadow:0 10px 35px rgba(0,0,0,.45)!important;
  }
  body.home-page .hero-subtitle-new{
    margin:0!important;
    font-size:13px!important;
    color:rgba(255,255,255,.78)!important;
    letter-spacing:.02em!important;
    text-shadow:0 8px 26px rgba(0,0,0,.42)!important;
  }
  body.home-page .hero-arrows{
    padding:0 10px!important;
  }
  body.home-page .hero-arrow{
    width:42px!important;
    height:42px!important;
    background:rgba(7,15,18,.42)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    backdrop-filter:blur(8px)!important;
  }
  body.home-page .hero-dots{
    left:20px!important;
    bottom:12px!important;
  }
}

@media (max-width: 700px){
  /* Rebuild the mobile fullstory top area: tabs above, poster+trailer left, player right. */
  .movie-hero>.container{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:calc(100% - 18px)!important;
  }
  .movie-hero>.container>.unified-player-card,
  .movie-hero>.container>.page__player{
    display:contents!important;
  }
  .movie-hero .geoflix-source-tabs,
  .movie-hero .unified-player-tabs,
  .movie-hero .page__player-controls{
    grid-column:1 / -1!important;
    grid-row:1!important;
    margin:0 0 2px!important;
  }
  .movie-hero .full-player-poster{
    display:grid!important;
    grid-template-rows:minmax(0,1fr) 40px!important;
    gap:8px!important;
    grid-column:1!important;
    grid-row:2!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
  }
  .movie-hero .full-player-poster-image{
    display:block!important;
    height:100%!important;
    min-height:0!important;
    border-radius:10px!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .movie-hero .full-player-poster-image img,
  .movie-hero .full-player-poster-image picture,
  .movie-hero .full-player-poster-image a{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  .movie-hero .full-player-poster-image img{
    object-fit:cover!important;
    object-position:center top!important;
  }
  .movie-hero .full-player-trailer{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 10px!important;
    margin:0!important;
    border-radius:10px!important;
    font-size:12px!important;
    font-weight:800!important;
  }
  .movie-hero .geoflix-player-stage,
  .movie-hero .player-card.player-wrapper{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    aspect-ratio:16 / 9!important;
    height:auto!important;
    min-height:0!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .movie-hero .geoflix-player-stage>.unified-player-pane.active,
  .movie-hero .geoflix-player-stage .movie-player-wrap,
  .movie-hero .geoflix-player-stage .movie-poster,
  .movie-hero .geoflix-player-stage .movie-frame{
    width:100%!important;
    height:100%!important;
  }
}

@media (max-width: 390px){
  .movie-hero>.container{grid-template-columns:100px minmax(0,1fr)!important;gap:8px!important}
  .movie-hero .full-player-trailer{font-size:11px!important}
  body.home-page .hero h1{font-size:27px!important}
}


/* ===== GeoFlix v24 — desktop media sync, mobile rollback, poster-card polish ===== */

/* News/poster cards: reference-like corner badges and cleaner image frame. */
.movie-card .poster-image{
  border-radius:13px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.06)!important;
  background:#080d10!important;
}
.movie-card .geo-fav-btn{
  top:10px!important;
  left:10px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  border-radius:50%!important;
  background:rgba(12,15,18,.88)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:0 5px 18px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(8px)!important;
}
.movie-card .geo-fav-btn .geo-heart{font-size:19px!important;color:#fff!important}
.movie-card .geo-fav-btn.active{
  background:var(--green)!important;
  border-color:var(--green)!important;
  box-shadow:0 0 0 3px rgba(0,201,107,.15),0 7px 22px rgba(0,0,0,.28)!important;
}
.movie-card .geo-card-badge{
  top:10px!important;
  right:10px!important;
  min-height:25px!important;
  padding:5px 9px!important;
  border-radius:5px!important;
  background:#00d474!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.18)!important;
}
.movie-card .poster-meta-top{
  left:9px!important;
  right:9px!important;
  bottom:9px!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.movie-card .poster-meta-top .poster-imdb,
.movie-card .poster-meta-top .poster-year{
  min-height:25px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 7px!important;
  border-radius:5px!important;
  font-size:10px!important;
  line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.25)!important;
}
.movie-card .poster-meta-top .poster-imdb{background:#f5c518!important;color:#111!important}
.movie-card .poster-meta-top .poster-year{margin-left:auto!important;background:rgba(11,15,18,.90)!important;color:#fff!important}
.movie-card .card-overlay{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.14) 100%)!important}

/* Desktop Fullstory: poster + trailer column always matches the player card height. */
@media (min-width:901px){
  .movie-hero>.container{
    grid-template-columns:clamp(285px,20vw,330px) minmax(0,1fr)!important;
    gap:18px!important;
    align-items:stretch!important;
  }
  .movie-hero .full-player-poster{
    display:grid!important;
    grid-template-rows:minmax(0,1fr) 44px!important;
    gap:10px!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    align-self:stretch!important;
  }
  .movie-hero .full-player-poster-image{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    border-radius:11px!important;
    background:#070b0e!important;
  }
  .movie-hero .full-player-poster-image img,
  .movie-hero .full-player-poster-image picture,
  .movie-hero .full-player-poster-image picture img,
  .movie-hero .full-player-poster-image>a,
  .movie-hero .full-player-poster-image>a>img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .movie-hero .full-player-trailer{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    flex:none!important;
  }
}

@media (max-width:768px){
  /* No thin separator under the phone header. */
  .site-header,.site-header.is-scrolled{
    border-bottom:0!important;
    box-shadow:0 10px 26px rgba(0,0,0,.12)!important;
  }

  /* Darker menu surfaces, closer to the MyKadri reference. */
  body.home-page .home-quick-cats{
    background:linear-gradient(180deg,rgba(30,34,38,.90),rgba(22,27,31,.82))!important;
    border:1px solid rgba(255,255,255,.065)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
  }
  body.home-page .home-quick-cats a{
    background:rgba(72,76,80,.58)!important;
    border-color:rgba(255,255,255,.08)!important;
  }
  body.home-page .home-quick-cats a:first-child{
    background:rgba(93,98,102,.64)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.10)!important;
  }
  .mobile-menu{
    background:rgba(10,15,18,.985)!important;
    box-shadow:0 18px 45px rgba(0,0,0,.34)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }

  /* Remove the decorative green line from the mobile hero. */
  body.home-page .hero-slide::after{display:none!important;content:none!important}

  /* Slightly refine mobile poster badges to match the provided poster reference. */
  .movie-card .geo-fav-btn{
    top:8px!important;left:8px!important;width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;
  }
  .movie-card .geo-fav-btn .geo-heart{font-size:16px!important}
  .movie-card .geo-card-badge{top:8px!important;right:8px!important;min-height:23px!important;padding:4px 8px!important;font-size:9px!important}
  .movie-card .poster-meta-top{left:8px!important;right:8px!important;bottom:8px!important}
  .movie-card .poster-meta-top .poster-imdb,.movie-card .poster-meta-top .poster-year{min-height:23px!important;padding:4px 6px!important;font-size:9px!important}
}

/* IMPORTANT: Mobile fullstory remains player-only at the top — no poster beside player. */
@media (max-width:700px){
  .movie-hero>.container{
    display:block!important;
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }
  .movie-hero .full-player-poster{display:none!important}
  .movie-hero>.container>.unified-player-card,
  .movie-hero>.container>.page__player{
    display:block!important;
    width:100%!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .movie-hero .geoflix-source-tabs,
  .movie-hero .unified-player-tabs,
  .movie-hero .page__player-controls{
    width:100%!important;
    margin:0 0 8px!important;
  }
  .movie-hero .geoflix-player-stage,
  .movie-hero .player-card.player-wrapper{
    width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
    min-height:0!important;
    border-radius:11px!important;
    overflow:hidden!important;
    background:#000!important;
  }
}


/* ===== GeoFlix v25 — square mobile hero, lighter quick categories, poster badge refinements ===== */
.poster-imdb{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  min-width:max-content!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
.poster-imdb .poster-imdb-label{color:#111!important;font-weight:900!important}
.poster-imdb .poster-imdb-value{color:#fff!important;font-weight:900!important;letter-spacing:.01em!important}
.movie-card .poster-meta-top .poster-imdb{min-width:62px!important;justify-content:center!important}
.landscape-image .poster-imdb{min-width:58px!important;justify-content:center!important}
.landscape-series-badge{
  right:9px!important;left:auto!important;bottom:9px!important;transform:none!important;max-width:64%!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
}
.landscape-image:has(.landscape-series-badge) .poster-meta-top{right:auto!important;max-width:40%!important}
.landscape-image:has(.landscape-series-badge) .poster-year{display:none!important}

@media(max-width:768px){
  body.home-page .hero{border-radius:0!important}
  body.home-page .home-quick-cats{
    background:linear-gradient(180deg,rgba(40,45,50,.92),rgba(30,35,40,.86))!important;
    border-color:rgba(255,255,255,.08)!important;
  }
  body.home-page .home-quick-cats a{
    background:rgba(84,89,94,.60)!important;
    border-color:rgba(255,255,255,.095)!important;
  }
  body.home-page .home-quick-cats a:first-child{
    background:rgba(103,108,113,.66)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.12)!important;
  }
  .movie-card .poster-meta-top .poster-imdb{
    min-width:58px!important;padding-left:7px!important;padding-right:7px!important;gap:4px!important;
  }
}


/* ===== GeoFlix v26 — mobile hero tap/zoom, landscape titles, IMDb polish ===== */
/* IMDb returns to one yellow badge: label black, numeric value white, with a natural gap. */
.poster-imdb{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  padding:4px 7px!important;
  background:#f5c518!important;
  color:#111!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
.poster-imdb strong{
  color:#fff!important;
  font:inherit!important;
  font-weight:900!important;
  margin:0!important;
  padding:0!important;
}
.poster-imdb-label,.poster-imdb-value{display:contents!important}
.movie-card .poster-meta-top .poster-imdb,
.landscape-image .poster-imdb{
  min-width:0!important;
  width:auto!important;
  padding-left:7px!important;
  padding-right:7px!important;
}

/* Landscape rows: title + English title, no season/episode line under the card. */
.landscape-eng-title{
  margin-top:3px!important;
  color:#69757b!important;
  font-size:10px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.landscape-info>span{display:none!important}

@media(max-width:768px){
  /* Entire active hero is tappable; shorten it slightly so the background is less zoomed/cropped. */
  body.home-page .hero{
    height:min(57svh,520px)!important;
    min-height:430px!important;
    cursor:pointer!important;
  }
  body.home-page .hero-slide.active{cursor:pointer!important}
  body.home-page .hero-background img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 42%!important;
  }

  /* Slightly larger poster inside the mobile article description only. */
  .mobile-description{
    grid-template-columns:98px minmax(0,1fr)!important;
  }
  .mobile-description-poster{
    width:98px!important;
    max-width:98px!important;
  }
}
@media(max-width:390px){
  .mobile-description{grid-template-columns:88px minmax(0,1fr)!important}
  .mobile-description-poster{width:88px!important;max-width:88px!important}
}

/* ===== GeoFlix v28 — keep season/episode badge; date sits beside IMDb ===== */
.poster-date-inline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  padding:4px 6px!important;
  border-radius:3px!important;
  background:rgba(4,8,9,.82)!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:800!important;
  box-shadow:0 2px 10px rgba(0,0,0,.25)!important;
}
/* Keep the category-page parser cleanup from v27 so values such as 8.2"> do not appear above cards. */
.category-grid>.catalog-card{font-size:0!important}
.category-grid>.catalog-card>*{font-size:initial}
.category-grid .card-title-link h3{font-size:13px!important}
.category-grid .card-eng-title{font-size:10px!important}
@media(max-width:700px){
  .poster-date-inline{padding:4px 5px!important;font-size:8px!important}
  .category-grid .card-title-link h3{font-size:11px!important}
  .category-grid .card-eng-title{font-size:9px!important}
}


/* ===== GeoFlix v29 — series badge above; XField year stays on bottom row ===== */
/* For series/Turkish-series vertical cards: IMDb stays bottom-left, XField year bottom-right. */
.movie-card:has(.poster-series-badge) .poster-meta-top{
  left:8px!important;
  right:8px!important;
  bottom:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.movie-card:has(.poster-series-badge) .poster-year{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
/* Season/episode moves above IMDb/year, centered and a little larger for readability. */
.movie-card .poster-series-badge{
  left:50%!important;
  right:auto!important;
  bottom:43px!important;
  transform:translateX(-50%)!important;
  max-width:82%!important;
  min-height:27px!important;
  padding:6px 11px!important;
  border-radius:6px!important;
  background:rgba(4,14,10,.90)!important;
  border:1px solid rgba(0,201,107,.52)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  box-shadow:0 5px 16px rgba(0,0,0,.30)!important;
}
@media(max-width:700px){
  .movie-card .poster-series-badge{
    bottom:39px!important;
    min-height:24px!important;
    padding:5px 9px!important;
    font-size:9px!important;
  }
}

/* ===== GeoFlix v30 — navigation, manual IMDb filter, recent history ===== */
/* Cleaner chevron for Films submenu (desktop). */
.nav-parent{gap:8px!important}
.nav-caret{
  position:relative!important;
  display:inline-block!important;
  width:9px!important;
  height:9px!important;
  font-size:0!important;
  color:transparent!important;
  flex:0 0 9px!important;
  transition:transform .22s ease!important;
}
.nav-caret::before{
  content:""!important;
  position:absolute!important;
  width:6px!important;
  height:6px!important;
  left:1px!important;
  top:0!important;
  border-right:1.6px solid var(--green)!important;
  border-bottom:1.6px solid var(--green)!important;
  transform:rotate(45deg)!important;
}
.nav-dropdown:hover .nav-caret{transform:translateY(2px) rotate(180deg)!important}

/* Manual IMDb field matches the selects. */
.catalog-filters input.js-imdb-filter{
  width:100%!important;
  height:44px!important;
  border:1px solid var(--border)!important;
  background:#080c0e!important;
  color:#fff!important;
  border-radius:9px!important;
  padding:0 12px!important;
  outline:none!important;
  font:inherit!important;
  appearance:textfield!important;
}
.catalog-filters input.js-imdb-filter:focus{border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(0,201,107,.08)!important}
.catalog-filters input.js-imdb-filter::-webkit-inner-spin-button,
.catalog-filters input.js-imdb-filter::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}
.category-topbar .section-kicker{display:none!important}

/* Recently watched is populated from localStorage and uses normal poster geometry. */
.recently-watched .recent-movie-card{flex:0 0 var(--card-width,190px)!important}
.recently-watched .recent-movie-card .poster-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}

@media(max-width:768px){
  /* Mobile menu keeps the requested top-level categories and gives Films a real collapsible submenu. */
  .mobile-menu{padding:12px 14px 18px!important;max-height:calc(100dvh - 68px)!important;overflow-y:auto!important}
  .mobile-nav-group{border-bottom:1px solid rgba(255,255,255,.055)!important}
  .mobile-nav-parent-row{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;align-items:center!important}
  .mobile-nav-parent-row .mobile-nav-parent-link{border-bottom:0!important;padding:15px 5px!important}
  .mobile-submenu-toggle{
    width:38px!important;height:38px!important;justify-self:end!important;display:grid!important;place-items:center!important;
    border:1px solid rgba(255,255,255,.09)!important;border-radius:10px!important;background:rgba(255,255,255,.035)!important;color:#fff!important;cursor:pointer!important;
  }
  .menu-chevron{position:relative!important;width:10px!important;height:10px!important;transition:transform .22s ease!important}
  .menu-chevron::before{content:""!important;position:absolute!important;inset:0 2px 2px 0!important;border-right:1.8px solid var(--green)!important;border-bottom:1.8px solid var(--green)!important;transform:rotate(45deg)!important}
  .mobile-nav-group.submenu-open .menu-chevron{transform:rotate(180deg)!important}
  .mobile-submenu{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 6px!important;max-height:0!important;opacity:0!important;overflow:hidden!important;
    padding:0 4px!important;transition:max-height .32s ease,opacity .22s ease,padding .32s ease!important;
  }
  .mobile-nav-group.submenu-open .mobile-submenu{max-height:720px!important;opacity:1!important;padding:5px 4px 13px!important}
  .mobile-submenu a{
    padding:9px 10px!important;border:0!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;color:#aeb8bd!important;font-size:11px!important;
  }
  .mobile-submenu a:hover{background:rgba(0,201,107,.09)!important;color:#e9fff4!important}
  .catalog-filters input.js-imdb-filter{height:42px!important}
  .recently-watched .recent-movie-card{flex-basis:43%!important;min-width:43%!important}
}

@media(max-width:768px){
  .home-quick-films{display:flex!important;align-items:stretch!important;flex:0 0 auto!important;gap:3px!important}
  .home-quick-films>a{border-radius:10px 7px 7px 10px!important}
  .home-quick-films-toggle{
    display:grid!important;place-items:center!important;width:32px!important;min-width:32px!important;border:1px solid rgba(255,255,255,.095)!important;
    border-radius:7px 10px 10px 7px!important;background:rgba(84,89,94,.60)!important;cursor:pointer!important
  }
  .home-quick-films-toggle .menu-chevron{width:9px!important;height:9px!important}
  .home-quick-films-toggle[aria-expanded="true"] .menu-chevron{transform:rotate(180deg)!important}
  .home-genre-panel{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;position:absolute!important;
    top:127px!important;left:10px!important;right:10px!important;z-index:60!important;max-height:0!important;opacity:0!important;overflow:hidden!important;
    padding:0 10px!important;border-radius:13px!important;background:rgba(10,15,18,.975)!important;border:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 20px 48px rgba(0,0,0,.38)!important;backdrop-filter:blur(15px)!important;transition:max-height .3s ease,opacity .2s ease,padding .3s ease!important;
  }
  .home-genre-panel.open{max-height:52vh!important;opacity:1!important;overflow-y:auto!important;padding:10px!important}
  .home-genre-panel a{padding:9px 10px!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;color:#bbc4c9!important;font-size:10px!important;font-weight:700!important}
  .home-genre-panel a:hover{background:rgba(0,201,107,.10)!important;color:#fff!important}
}


/* ===== GeoFlix v32 — clickable XField badges + reliable IMDb filter ===== */
.poster-xf-link{
  position:relative!important;
  z-index:9!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.poster-xf-link:hover{
  filter:brightness(1.08)!important;
  transform:translateY(-1px)!important;
}
.hero-xf-link{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.hero-xf-link:hover{filter:brightness(1.08)!important}
.catalog-card[hidden]{display:none!important}


/* ===== GeoFlix v33 — safe clickable XField badges (no DLE href parsing artifacts) ===== */
.poster-xf-link,
.hero-xf-link{
  border:0!important;
  outline:0!important;
  font:inherit!important;
  line-height:inherit!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.poster-xf-link{
  margin:0!important;
}
.hero-xf-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}


/* ===== GeoFlix v34 — clean XField badges + hero dots on the right ===== */
.poster-xf-link,.hero-xf-link{
  cursor:pointer!important;
  pointer-events:auto!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.poster-xf-link:hover,.hero-xf-link:hover{
  filter:brightness(1.06)!important;
}
/* Preserve the original compact badge appearance; no button chrome/text leakage. */
.poster-meta-top .poster-imdb,
.poster-meta-top .poster-year{
  border:0!important;
  outline:0!important;
  font-family:inherit!important;
  line-height:1!important;
  text-decoration:none!important;
}
.hero-meta-new .hero-imdb,
.hero-meta-new .hero-year{
  border-radius:4px!important;
  font-family:inherit!important;
  line-height:1!important;
  text-decoration:none!important;
}
.hero-dots{
  left:auto!important;
  right:70px!important;
  justify-content:flex-end!important;
}
@media(max-width:768px){
  .hero-dots{left:auto!important;right:18px!important}
}


/* ===== GeoFlix v35 — desktop hero polish + always-open live search ===== */
.hero-imdb{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  background:#f5c518!important;
  color:#111!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.hero-imdb-label{color:#111!important;font-weight:900!important}
.hero-imdb-value{color:#fff!important;font-weight:900!important;letter-spacing:.01em!important;text-shadow:0 1px 1px rgba(0,0,0,.18)!important}
.hero-year{font-weight:900!important}

.facebook-btn{
  width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:grid;place-items:center;
  color:#fff;background:rgba(255,255,255,.025);transition:.22s ease;
}
.facebook-btn svg{width:19px;height:19px;display:block}
.facebook-btn:hover{color:#fff;background:#1877f2;border-color:#1877f2;transform:translateY(-2px);box-shadow:0 8px 24px rgba(24,119,242,.22)}

@media(min-width:769px){
  /* A little shorter than v34 so the first content row peeks into the viewport. */
  #geoflix-hero.hero{
    height:min(594px,66vh)!important;
    min-height:535px!important;
  }
  #geoflix-hero .hero-content{
    padding:112px 80px 48px!important;
  }

  /* Old-template behavior: search is always visible on desktop. */
  .header-actions{gap:10px!important}
  .header-search{
    position:relative!important;
    width:235px!important;
    height:42px!important;
    flex:0 0 235px!important;
    opacity:1!important;
  }
  .header-search-input{
    display:block!important;
    width:100%!important;
    height:42px!important;
    opacity:1!important;
    pointer-events:auto!important;
    padding:0 43px 0 15px!important;
    border:1px solid rgba(255,255,255,.15)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
    outline:none!important;
    font:inherit!important;
    font-size:12px!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
    transition:border-color .2s ease,background .2s ease,box-shadow .22s ease!important;
  }
  .header-search-input::placeholder{color:rgba(255,255,255,.46)!important}
  .header-search:hover .header-search-input{
    background:rgba(255,255,255,.075)!important;
    border-color:rgba(255,255,255,.24)!important;
  }
  .header-search:focus-within .header-search-input{
    background:rgba(7,20,18,.76)!important;
    border-color:#00c96b!important;
    box-shadow:0 0 0 2px rgba(0,201,107,.12),0 0 18px rgba(0,201,107,.16)!important;
  }
  .header-search-btn{
    position:absolute!important;right:3px!important;top:3px!important;width:36px!important;height:36px!important;
    display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:transparent!important;color:rgba(255,255,255,.70)!important;
    cursor:pointer!important;transition:.2s ease!important;
  }
  .header-search:focus-within .header-search-btn,.header-search-btn:hover{color:#00d879!important;background:rgba(0,201,107,.08)!important}
  .header-search-close{display:none!important}

  .header-search-suggestions.live-search-results{
    position:absolute!important;top:50px!important;right:0!important;left:auto!important;width:350px!important;max-height:460px!important;
    overflow-y:auto!important;padding:7px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:14px!important;
    background:rgba(6,11,13,.97)!important;box-shadow:0 22px 60px rgba(0,0,0,.46)!important;
    backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
    opacity:0!important;visibility:hidden!important;transform:translateY(-5px) scale(.985)!important;pointer-events:none!important;
    transition:opacity .16s ease,transform .18s ease,visibility .18s ease!important;
  }
  .header-search-suggestions.live-search-results.active{
    opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;
  }
  .live-search-item{
    display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;padding:8px!important;border-radius:10px!important;
    color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.055)!important;transition:.16s ease!important;
  }
  .live-search-item:last-child{border-bottom:0!important}
  .live-search-item:hover{background:rgba(0,201,107,.075)!important}
  .live-search-poster{width:48px!important;height:68px!important;object-fit:cover!important;border-radius:6px!important;background:#111!important}
  .live-search-copy{min-width:0!important}
  .live-search-title{font-size:12px!important;font-weight:800!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .live-search-eng-title{font-size:10px!important;color:#9da9af!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .live-search-meta{font-size:10px!important;color:#d8e0e4!important;margin-top:3px!important;font-weight:700!important}
  .live-search-desc{font-size:9px!important;line-height:1.35!important;color:#7f8c92!important;margin-top:3px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .live-search-empty{padding:15px!important;text-align:center!important;color:#929da2!important;font-size:11px!important}
}

@media(max-width:768px){
  .facebook-btn{display:none!important}
}


/* ===== GeoFlix v36 — live-search both breakpoints + desktop hero/meta polish ===== */
.site-header,.header-inner,.header-actions,.header-search{overflow:visible!important}

@media(min-width:769px){
  /* Keep a little more of the first content section visible on common desktop screens. */
  #geoflix-hero.hero{
    height:min(555px,62vh)!important;
    min-height:500px!important;
  }
  #geoflix-hero .hero-content{
    padding:100px 80px 42px!important;
  }
  #geoflix-hero .hero h1{
    max-width:610px!important;
    font-size:clamp(35px,3.35vw,54px)!important;
    line-height:1.06!important;
    letter-spacing:-1.4px!important;
    margin-bottom:10px!important;
  }
  #geoflix-hero .hero-subtitle-new{margin:0 0 12px!important}

  /* IMDb is one clean yellow pill: black label, white bold value, no inner black box. */
  #geoflix-hero .hero-imdb{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    min-height:29px!important;
    padding:6px 10px!important;
    background:#f5c518!important;
    border:1px solid #f5c518!important;
    border-radius:7px!important;
    box-shadow:none!important;
  }
  #geoflix-hero .hero-imdb-label{
    display:inline!important;
    padding:0!important;
    margin:0!important;
    background:none!important;
    border:0!important;
    border-radius:0!important;
    color:#111!important;
    font-weight:900!important;
    line-height:1!important;
  }
  #geoflix-hero .hero-imdb-value{
    display:inline!important;
    padding:0!important;
    margin:0!important;
    background:none!important;
    border:0!important;
    border-radius:0!important;
    color:#fff!important;
    font-weight:900!important;
    line-height:1!important;
    text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
  }
  #geoflix-hero .hero-year{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:29px!important;
    padding:6px 10px!important;
    border-radius:7px!important;
    background:rgba(9,15,18,.72)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    color:#fff!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  }

  /* Base rules used display:none; force the active desktop live search dropdown to render. */
  .header-search-suggestions.live-search-results.active{
    display:block!important;
    z-index:3000!important;
  }
}

@media(max-width:768px){
  /* Facebook is now available on mobile too. */
  .facebook-btn{
    display:grid!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    background:rgba(10,18,22,.45)!important;
    border-color:rgba(255,255,255,.14)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
  }
  .facebook-btn svg{width:17px!important;height:17px!important}
  .facebook-btn:active,.facebook-btn:hover{
    background:#1877f2!important;
    border-color:#1877f2!important;
    transform:none!important;
    box-shadow:none!important;
  }

  /* Make live results a compact mobile poster list instead of a text wall. */
  .header-search.open .header-search-suggestions.live-search-results.active{
    display:block!important;
    top:50px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:58vh!important;
    padding:7px!important;
    overflow-y:auto!important;
    background:rgba(6,11,13,.985)!important;
    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:13px!important;
    box-shadow:0 18px 45px rgba(0,0,0,.48)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    z-index:3000!important;
  }
  .header-search-suggestions .live-search-item{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
    min-height:82px!important;
    padding:8px!important;
    margin:0!important;
    border-radius:10px!important;
    color:#fff!important;
    text-decoration:none!important;
    border-bottom:1px solid rgba(255,255,255,.055)!important;
    background:transparent!important;
  }
  .header-search-suggestions .live-search-item:last-child{border-bottom:0!important}
  .header-search-suggestions .live-search-poster{
    display:block!important;
    width:56px!important;
    height:80px!important;
    min-width:56px!important;
    max-width:56px!important;
    max-height:80px!important;
    margin:0!important;
    object-fit:cover!important;
    border-radius:7px!important;
    background:#111!important;
  }
  .header-search-suggestions .live-search-copy{min-width:0!important;padding:1px 0!important}
  .header-search-suggestions .live-search-title{
    font-size:12px!important;font-weight:800!important;line-height:1.3!important;color:#fff!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .header-search-suggestions .live-search-eng-title{
    margin-top:2px!important;font-size:10px!important;line-height:1.25!important;color:#9ba8af!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .header-search-suggestions .live-search-meta{margin-top:4px!important;font-size:10px!important;font-weight:800!important;color:#e1e7ea!important}
  .header-search-suggestions .live-search-desc{
    margin-top:3px!important;font-size:9px!important;line-height:1.35!important;color:#89969c!important;
    display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
  }
}

@media(max-width:390px){
  .facebook-btn{width:36px!important;height:36px!important;flex-basis:36px!important}
  .header-actions{gap:5px!important}
}

/* ===== GeoFlix v37 — tiny desktop hero rebalance ===== */
@media(min-width:769px){
  #geoflix-hero.hero{
    height:min(590px,65vh)!important;
    min-height:520px!important;
  }
  #geoflix-hero .hero-content{
    padding:104px 80px 44px!important;
  }
  #geoflix-hero .hero h1{
    max-width:600px!important;
    font-size:clamp(32px,2.85vw,47px)!important;
    line-height:1.08!important;
    letter-spacing:-1.1px!important;
    margin-bottom:9px!important;
  }
}

/* ===== GeoFlix v38 — slightly taller desktop hero, smaller title ===== */
@media(min-width:769px){
  #geoflix-hero.hero{
    height:min(615px,68vh)!important;
    min-height:535px!important;
  }
  #geoflix-hero .hero-content{
    padding:108px 80px 46px!important;
  }
  #geoflix-hero .hero h1{
    max-width:560px!important;
    font-size:clamp(29px,2.45vw,42px)!important;
    line-height:1.07!important;
    letter-spacing:-1px!important;
    margin-bottom:8px!important;
  }
}

/* ===== GeoFlix v39 — desktop hero title single-line clamp ===== */
@media(min-width:769px){
  #geoflix-hero .hero h1{
    width:min(680px,54vw)!important;
    max-width:min(680px,54vw)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
  }
}

/* ===== GeoFlix v40 — correct desktop hero title selector ===== */
@media(min-width:769px){
  #geoflix-hero.hero h1{
    width:min(690px,56vw)!important;
    max-width:min(690px,56vw)!important;
    font-size:clamp(28px,2.15vw,38px)!important;
    line-height:1.04!important;
    letter-spacing:-.8px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
    margin-bottom:8px!important;
  }
}


/* ===== GeoFlix v41 — title glyph fix + watch hover + hero pointer ===== */
@media(min-width:769px){
  /* Georgian glyphs need a little vertical breathing room even on a single line. */
  #geoflix-hero.hero h1{
    line-height:1.16!important;
    padding-top:2px!important;
    padding-bottom:5px!important;
    margin-top:-2px!important;
    margin-bottom:5px!important;
    box-sizing:content-box!important;
  }
}

/* Keep the watch button in the GeoFlix palette: only the text turns white on hover. */
#geoflix-hero .hero-watch:hover{
  background:var(--green)!important;
  color:#fff!important;
  border-color:var(--green)!important;
  box-shadow:0 9px 26px rgba(0,210,106,.22)!important;
  transform:translateY(-2px)!important;
}
#geoflix-hero .hero-watch:hover span{color:#fff!important}

/* The hero remains draggable/swipeable, but visually behaves like a clickable article. */
#geoflix-hero,
#geoflix-hero .hero-slide,
#geoflix-hero .hero-slide.active,
#geoflix-hero.is-dragging,
#geoflix-hero.is-dragging *{
  cursor:pointer!important;
}
#geoflix-hero .hero-arrow,
#geoflix-hero .hero-watch,
#geoflix-hero .hero-more,
#geoflix-hero .hero-dots button{cursor:pointer!important}


/* ===== GeoFlix v42 — hero detail modal + mobile header/search refresh ===== */

/* Better looking live-search scroll area on both desktop and mobile. */
.header-search-suggestions.live-search-results{
  scrollbar-width:thin!important;
  scrollbar-color:rgba(0,216,121,.58) rgba(255,255,255,.03)!important;
  overscroll-behavior:contain!important;
  padding-right:4px!important;
}
.header-search-suggestions.live-search-results::-webkit-scrollbar{width:8px;height:8px}
.header-search-suggestions.live-search-results::-webkit-scrollbar-track{
  background:transparent!important;
  border-radius:999px!important;
}
.header-search-suggestions.live-search-results::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(0,216,121,.72),rgba(0,153,90,.72))!important;
  border-radius:999px!important;
  border:2px solid rgba(6,11,13,.96)!important;
}
.header-search-suggestions.live-search-results::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(0,235,132,.9),rgba(0,171,99,.88))!important;
}

/* Hero details modal */
.geo-details-modal{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  z-index:2147483300!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease,visibility .22s ease!important;
}
.geo-details-modal.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.geo-details-backdrop{
  position:absolute!important;inset:0!important;
  background:rgba(4,9,12,.74)!important;
  backdrop-filter:blur(14px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(120%)!important;
}
.geo-details-dialog{
  position:relative!important;
  width:min(1000px,94vw)!important;
  max-height:min(88vh,920px)!important;
  background:linear-gradient(180deg,#081019,#09131d 48%,#071018)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:24px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.48)!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}
.geo-details-close{
  position:absolute!important;top:14px!important;right:14px!important;z-index:3!important;
  width:40px!important;height:40px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.1)!important;
  background:rgba(255,255,255,.06)!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;
  transition:.18s ease!important;
}
.geo-details-close:hover{background:rgba(0,201,107,.15)!important;border-color:rgba(0,201,107,.45)!important;color:#00e685!important}
.geo-details-scroll{max-height:min(88vh,920px)!important;overflow:auto!important;padding:22px!important;scrollbar-width:thin!important;scrollbar-color:rgba(0,216,121,.55) rgba(255,255,255,.04)!important}
.geo-details-scroll::-webkit-scrollbar{width:10px}
.geo-details-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.025)!important}
.geo-details-scroll::-webkit-scrollbar-thumb{background:rgba(0,201,107,.6)!important;border-radius:999px!important;border:2px solid rgba(5,10,13,.88)!important}
.geo-details-body{position:relative!important;color:#eef3f6!important}
.geo-details-top{display:grid!important;grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important;gap:22px!important;align-items:start!important}
.geo-details-poster{aspect-ratio:2/3!important;border-radius:20px!important;overflow:hidden!important;background:#0a1016!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 16px 36px rgba(0,0,0,.26)!important}
.geo-details-poster img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.geo-details-poster-fallback{display:grid!important;place-items:center!important;padding:20px!important;color:#fff!important;font-weight:800!important;text-align:center!important}
.geo-details-main{min-width:0!important;padding-right:10px!important}
.geo-details-kicker{font-size:12px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:#00d879!important;margin:2px 0 10px!important}
.geo-details-title{margin:0!important;font-size:clamp(31px,4vw,52px)!important;line-height:1.06!important;letter-spacing:-.03em!important;color:#fff!important}
.geo-details-subtitle{margin-top:8px!important;font-size:16px!important;font-weight:700!important;color:#8be6b6!important}
.geo-details-meta{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:18px 0 14px!important}
.geo-details-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:8px 14px!important;border-radius:12px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;color:#f2f6f8!important;font-size:14px!important;font-weight:800!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important}
.geo-details-badge.lang{background:linear-gradient(180deg,#00d46f,#00bf67)!important;border-color:#00d46f!important;color:#04110a!important}
.geo-details-badge.imdb{gap:7px!important;background:#f5c518!important;border-color:#f5c518!important;color:#111!important}
.geo-details-badge.imdb span{font-weight:900!important;color:#111!important}
.geo-details-badge.imdb strong{font-weight:900!important;color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.18)!important}
.geo-details-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.geo-details-chip{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(0,201,107,.12)!important;border:1px solid rgba(0,201,107,.3)!important;color:#dffceb!important;font-size:12px!important;font-weight:800!important}
.geo-details-chip.secondary{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.09)!important;color:#e9edf0!important}
.geo-details-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:18px!important}
.geo-details-card{border-radius:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.08)!important;padding:18px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.geo-details-story{margin-top:14px!important}
.geo-details-card h4{margin:0 0 12px!important;font-size:15px!important;font-weight:900!important;color:#00d879!important}
.geo-details-card p{margin:0!important;color:#dbe3e7!important;font-size:14px!important;line-height:1.75!important}
.geo-details-empty{display:inline-block!important;color:#8d9aa0!important;font-size:12px!important;font-weight:700!important}
.geo-details-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:18px!important}
.geo-details-primary,.geo-details-secondary{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:0 18px!important;border-radius:14px!important;
  text-decoration:none!important;font-size:14px!important;font-weight:900!important;cursor:pointer!important;transition:.2s ease!important
}
.geo-details-primary{background:linear-gradient(180deg,#00da72,#00c465)!important;border:1px solid #00da72!important;color:#04120b!important;box-shadow:0 12px 26px rgba(0,201,107,.18)!important}
.geo-details-primary:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(0,201,107,.24)!important}
.geo-details-secondary{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important}
.geo-details-secondary:hover{border-color:rgba(0,201,107,.4)!important;background:rgba(0,201,107,.08)!important}
.geo-details-loading{min-height:280px!important;display:grid!important;place-items:center!important;text-align:center!important}
.geo-details-loader{display:flex!important;gap:9px!important}
.geo-details-loader span{width:12px!important;height:12px!important;border-radius:50%!important;background:#00d879!important;display:block!important;animation:geoPulse .9s infinite ease-in-out}
.geo-details-loader span:nth-child(2){animation-delay:.14s}
.geo-details-loader span:nth-child(3){animation-delay:.28s}
.geo-details-loading-text{margin-top:14px!important;color:#c6d0d5!important;font-size:14px!important;font-weight:700!important}
@keyframes geoPulse{0%,80%,100%{transform:scale(.65);opacity:.45}40%{transform:scale(1);opacity:1}}

/* Mobile refresh: warmer MyKadri-like header, in-place search expansion, taller hero. */
@media(max-width:768px){
  .site-header,.site-header.is-scrolled{
    background:linear-gradient(180deg,rgba(88,69,52,.92),rgba(49,38,29,.76) 56%,rgba(16,14,13,.34))!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(12px) saturate(118%)!important;
    -webkit-backdrop-filter:blur(12px) saturate(118%)!important;
  }
  .site-header.is-scrolled{
    background:linear-gradient(180deg,rgba(94,72,55,.96),rgba(54,41,32,.82) 60%,rgba(16,14,13,.48))!important;
  }
  .header-inner{height:72px!important;padding:0 12px!important;gap:8px!important}
  .header-actions{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important}
  .favorite-btn,.mobile-menu-btn,.header-search-btn,.facebook-btn{
    background:rgba(255,255,255,.085)!important;
    border-color:rgba(255,255,255,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  }

  .header-search{
    position:relative!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    overflow:visible!important;
    transition:width .28s cubic-bezier(.22,.61,.36,1),flex-basis .28s cubic-bezier(.22,.61,.36,1)!important;
  }
  .header-search.open{
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;
    width:clamp(156px,52vw,208px)!important;
    height:38px!important;
    flex:0 0 clamp(156px,52vw,208px)!important;
    z-index:200!important;
    filter:none!important;
  }
  .header-search-input{
    height:38px!important;
  }
  .header-search.open .header-search-input{
    width:100%!important;
    height:38px!important;
    opacity:1!important;
    pointer-events:auto!important;
    padding:0 66px 0 14px!important;
    border-radius:999px!important;
    background:rgba(10,17,20,.96)!important;
    border-color:rgba(0,201,107,.42)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
  }
  .header-search.open .header-search-btn{
    position:absolute!important;top:1px!important;right:1px!important;width:36px!important;height:36px!important;
    background:transparent!important;border-color:transparent!important;
  }
  .header-search.open .header-search-close{
    display:grid!important;place-items:center!important;
    top:3px!important;right:33px!important;width:30px!important;height:30px!important;
    font-size:22px!important;
  }
  .header-search.open .header-search-suggestions.live-search-results.active{
    position:absolute!important;
    top:46px!important;
    right:0!important;
    left:auto!important;
    width:min(84vw,330px)!important;
    max-height:50vh!important;
    border-radius:16px!important;
    box-shadow:0 20px 46px rgba(0,0,0,.34)!important;
  }

  body.home-page #geoflix-hero.hero{
    height:650px!important;
    min-height:620px!important;
  }
  body.home-page #geoflix-hero .hero-content{
    padding-top:148px!important;
    padding-bottom:86px!important;
  }
  body.home-page #geoflix-hero .hero-dots{bottom:34px!important}
}
@media(max-width:430px){
  body.home-page #geoflix-hero.hero{height:624px!important;min-height:600px!important}
  .header-search.open{width:clamp(144px,50vw,188px)!important;flex-basis:clamp(144px,50vw,188px)!important}
  .header-search.open .header-search-suggestions.live-search-results.active{width:min(88vw,304px)!important}
  .geo-details-dialog{width:min(96vw,500px)!important}
}
@media(max-width:700px){
  .geo-details-dialog{border-radius:20px!important;max-height:min(92vh,900px)!important}
  .geo-details-scroll{padding:16px!important}
  .geo-details-top{grid-template-columns:1fr!important;gap:16px!important}
  .geo-details-poster{width:min(220px,55vw)!important;margin:0 auto!important}
  .geo-details-title{font-size:clamp(28px,8.3vw,38px)!important}
  .geo-details-grid{grid-template-columns:1fr!important}
}


/* ===== GeoFlix v43 — softer dark mobile header + old-template poster badge typography ===== */

/* English title below every poster: slightly larger and easier to read. */
.movie-card .card-eng-title,
.category-grid .card-eng-title,
.related-card .card-eng-title,
.series-card .landscape-eng-title,
.landscape-info .landscape-eng-title {
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: #7a878d !important;
    letter-spacing: .01em !important;
}

/* Old-template-inspired IMDb badge:
   yellow chip, black text, compact 12px label/value. */
.poster-image .poster-meta-top .poster-imdb,
.landscape-image .poster-meta-top .poster-imdb,
.movie-card .poster-meta-top .poster-imdb,
.series-card .poster-meta-top .poster-imdb {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 3px 6px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #f5c518 !important;
    color: #000 !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.24) !important;
    text-shadow: none !important;
}

.poster-image .poster-meta-top .poster-imdb strong,
.landscape-image .poster-meta-top .poster-imdb strong,
.movie-card .poster-meta-top .poster-imdb strong,
.series-card .poster-meta-top .poster-imdb strong {
    color: #000 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

/* Old-template-inspired GEO badge:
   richer green, white text and a touch more breathing room. */
.poster-image .geo-card-badge,
.landscape-image .geo-card-badge,
.movie-card .geo-card-badge,
.series-card .geo-card-badge {
    top: 9px !important;
    right: 9px !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    background: #1db954 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.20) !important;
}

/* Mobile only: remove the glass look and use a calm, slightly transparent dark header. */
@media (max-width: 768px) {
    .site-header,
    .site-header.is-scrolled {
        background: linear-gradient(
            180deg,
            rgba(8, 13, 15, .88) 0%,
            rgba(8, 13, 15, .78) 64%,
            rgba(8, 13, 15, .68) 100%
        ) !important;
        border-bottom: 0 !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.14) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .site-header.is-scrolled {
        background: linear-gradient(
            180deg,
            rgba(8, 13, 15, .93) 0%,
            rgba(8, 13, 15, .84) 68%,
            rgba(8, 13, 15, .76) 100%
        ) !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.17) !important;
    }

    /* Slightly smaller in-place mobile search expansion than v42. */
    .header-search.open {
        width: clamp(148px, 49vw, 198px) !important;
        flex: 0 0 clamp(148px, 49vw, 198px) !important;
    }

    .header-search.open .header-search-input {
        padding-left: 13px !important;
        padding-right: 64px !important;
        background: rgba(8, 14, 17, .97) !important;
    }

    .header-search.open .header-search-suggestions.live-search-results.active {
        width: min(81vw, 318px) !important;
    }

    /* Keep old badge character on small cards without overpowering the poster. */
    .poster-image .poster-meta-top .poster-imdb,
    .landscape-image .poster-meta-top .poster-imdb,
    .movie-card .poster-meta-top .poster-imdb,
    .series-card .poster-meta-top .poster-imdb {
        padding: 3px 5px !important;
        font-size: 10px !important;
    }

    .poster-image .geo-card-badge,
    .landscape-image .geo-card-badge,
    .movie-card .geo-card-badge,
    .series-card .geo-card-badge {
        padding: 4px 7px !important;
        font-size: 10px !important;
    }

    .movie-card .card-eng-title,
    .category-grid .card-eng-title,
    .related-card .card-eng-title,
    .series-card .landscape-eng-title,
    .landscape-info .landscape-eng-title {
        font-size: 10px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 430px) {
    .header-search.open {
        width: clamp(138px, 47vw, 178px) !important;
        flex-basis: clamp(138px, 47vw, 178px) !important;
    }

    .header-search.open .header-search-suggestions.live-search-results.active {
        width: min(86vw, 294px) !important;
    }
}


/* ===== GeoFlix v44 — clean section labels + native favorites + favorites page grid ===== */

/* The visible section title is Georgian; remove the small English/GEOFLIX kicker everywhere. */
.section-kicker,
.hero-label{
    display:none!important;
}

/* DLE's [add-favorites]/[del-favorites] generate the clickable link around these spans.
   Keep the modern GeoFlix button geometry and let the active state stay green after AJAX. */
.poster-image .geo-fav-btn,
.landscape-image .geo-fav-btn{
    cursor:pointer!important;
    user-select:none!important;
    -webkit-user-select:none!important;
}
.poster-image .geo-fav-btn.active,
.landscape-image .geo-fav-btn.active{
    background:var(--green)!important;
    border-color:var(--green)!important;
    box-shadow:0 0 0 3px rgba(0,201,107,.15),0 5px 18px rgba(0,0,0,.24)!important;
}
.poster-image .geo-fav-btn.active .geo-heart,
.landscape-image .geo-fav-btn.active .geo-heart{
    color:#fff!important;
}
.poster-image a:has(> .geo-fav-btn),
.landscape-image a:has(> .geo-fav-btn){
    position:static!important;
    display:contents!important;
}

/* Full-story native favorite link: generated anchor should not add its own chrome. */
.geo-secondary-actions a:has(> .full-favorite-btn){
    color:inherit!important;
    text-decoration:none!important;
}
.geo-secondary-actions a:has(> .full-favorite-btn.active){
    color:inherit!important;
}

/* /favorites/ now uses the same real card grid as categories instead of one stretched poster. */
.favorites-shell{
    width:min(1500px,calc(100% - 60px))!important;
    max-width:1500px!important;
    margin:0 auto!important;
    padding-top:112px!important;
}
.favorites-page{
    width:100%!important;
}
.favorites-topbar{
    margin-bottom:24px!important;
}
.favorites-topbar h1{
    margin:0!important;
    font-size:clamp(24px,2.2vw,34px)!important;
    line-height:1.2!important;
    color:#fff!important;
}
.favorites-grid.dle-content{
    margin-top:0!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:30px 16px!important;
    align-items:start!important;
}
.favorites-grid>.movie-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
}
.favorites-grid .poster-image{
    width:100%!important;
    aspect-ratio:2/3!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:10px!important;
}
.favorites-grid .poster-image>a.poster-link,
.favorites-grid .poster-image>a.poster-link>img,
.favorites-grid .poster-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}
.favorites-grid .card-title-link h3{
    margin-top:10px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

@media(max-width:1100px){
    .favorites-grid.dle-content{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:800px){
    .favorites-shell{width:min(100% - 28px,720px)!important;padding-top:92px!important}
    .favorites-grid.dle-content{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px 10px!important}
}
@media(max-width:700px){
    .favorites-shell{width:calc(100% - 20px)!important;padding-top:82px!important}
    .favorites-grid.dle-content{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 10px!important}
    .favorites-topbar{margin-bottom:18px!important}
    .favorites-topbar h1{font-size:24px!important}
}


/* ===== GeoFlix v45 — restore favmod plugin + robust /favorites/ grid ===== */

/* This site uses the custom favmod plugin, not DLE's native [add-favorites] tags. */
.geo-fav-btn.fav-heart-btn.favmod,
.fav-heart-btn.favmod,
.full-favorite-btn.favmod{
    cursor:pointer!important;
    text-decoration:none!important;
}
.geo-fav-btn.fav-heart-btn.favmod .fa-heart{
    display:block!important;
    font-size:17px!important;
    line-height:1!important;
    color:#fff!important;
    transition:color .2s ease,transform .2s ease!important;
}
.geo-fav-btn.fav-heart-btn.favmod:hover .fa-heart{
    transform:scale(1.08)!important;
}
.geo-fav-btn.fav-heart-btn.favmod.active{
    background:var(--green)!important;
    border-color:var(--green)!important;
    box-shadow:0 0 0 3px rgba(0,210,106,.15),0 4px 16px rgba(0,0,0,.24)!important;
}
.geo-fav-btn.fav-heart-btn.favmod.active .fa-heart,
.fav-heart-btn.favmod.active .fa-heart,
.fav-heart-btn.favmod.active i{
    color:#fff!important;
}

/* Slider cards keep the older plugin look: dark circle, green heart when active. */
.geo-home-card .fav-heart-btn.favmod.active{
    background:rgba(0,0,0,.55)!important;
    box-shadow:0 0 10px rgba(0,200,83,.35)!important;
}
.geo-home-card .fav-heart-btn.favmod.active i{
    color:#00d26a!important;
}

/* Full-story button follows the same plugin active class. */
.full-favorite-btn.favmod.active{
    background:linear-gradient(180deg,#00c96b,#00ad5d)!important;
    border-color:#00c96b!important;
    color:#03110a!important;
}
.full-favorite-btn.favmod.active .full-favorite-heart{color:#fff!important}
.full-favorite-btn.favmod.active .fav-label-add{display:none!important}
.full-favorite-btn.favmod.active .fav-label-added{display:inline!important}

/* The plugin's /favorites/ URL is not guaranteed to map to DLE's [available=favorites],
   so make the layout route-aware in the browser as well. */
body.favorites-route main.inner-shell,
body.favorites-route .inner-shell{
    width:min(100% - 64px,1540px)!important;
    max-width:1540px!important;
    margin:0 auto!important;
    padding-top:118px!important;
}
body.favorites-route .dle-content,
body.favorites-route .favorites-grid.dle-content{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:30px 14px!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
body.favorites-route .dle-content > .movie-card,
body.favorites-route .dle-content > .series-card,
body.favorites-route .dle-content > .swiper-slide,
body.favorites-route .favorites-grid > .movie-card,
body.favorites-route .favorites-grid > .series-card,
body.favorites-route .favorites-grid > .swiper-slide{
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
}
body.favorites-route .dle-content > .swiper-slide .movie-item,
body.favorites-route .favorites-grid > .swiper-slide .movie-item{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
body.favorites-route .movie-item .movie-img,
body.favorites-route .movie-card .poster-image{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
    overflow:hidden!important;
    border-radius:10px!important;
}
body.favorites-route .movie-item .movie-img > a:not(.fav-heart-btn),
body.favorites-route .movie-item .movie-img > a:not(.fav-heart-btn) img,
body.favorites-route .movie-card .poster-image > a.poster-link,
body.favorites-route .movie-card .poster-image > a.poster-link img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
body.favorites-route .movie-item .hover-card{display:none!important}
body.favorites-route .movie-item .movie-title,
body.favorites-route .movie-card .card-title-link{
    display:block!important;
    margin-top:9px!important;
    text-align:left!important;
}
body.favorites-route .movie-item .movie-title .title-main,
body.favorites-route .movie-card h3{
    display:block!important;
    color:#f4f6f7!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.35!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
body.favorites-route .movie-item .movie-title .title-eng,
body.favorites-route .movie-card .card-eng-title{
    display:block!important;
    margin-top:3px!important;
    color:#78848a!important;
    font-size:10px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

@media(max-width:1250px){
    body.favorites-route .dle-content,
    body.favorites-route .favorites-grid.dle-content{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
    body.favorites-route main.inner-shell,
    body.favorites-route .inner-shell{width:min(100% - 28px,760px)!important;padding-top:92px!important}
    body.favorites-route .dle-content,
    body.favorites-route .favorites-grid.dle-content{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px 10px!important}
}
@media(max-width:620px){
    body.favorites-route main.inner-shell,
    body.favorites-route .inner-shell{width:calc(100% - 20px)!important;padding-top:82px!important}
    body.favorites-route .dle-content,
    body.favorites-route .favorites-grid.dle-content{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 10px!important}
}


/* ===== GeoFlix v46 — visible heart icon + favmod active state ===== */
.fav-heart-btn .geo-heart-icon,
.geo-fav-btn .geo-heart-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    color:#fff!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:700!important;
    text-shadow:0 1px 5px rgba(0,0,0,.42)!important;
    transition:color .2s ease,transform .2s ease,opacity .2s ease!important;
    pointer-events:none!important;
}
.geo-home-card .fav-heart-btn .geo-heart-icon{font-size:17px!important}
.fav-heart-btn:hover .geo-heart-icon,
.geo-fav-btn:hover .geo-heart-icon{transform:scale(1.08)!important}

/* Plugin's [favmod] tag renders .active on items already in favorites. */
.fav-heart-btn.favmod.active .geo-heart-icon,
.geo-fav-btn.favmod.active .geo-heart-icon{
    color:#00d26a!important;
}

/* Poster cards: keep the dark circle and let the heart itself become green. */
.poster-image .geo-fav-btn.favmod.active,
.landscape-image .geo-fav-btn.favmod.active,
.geo-home-card .fav-heart-btn.favmod.active{
    background:rgba(5,8,9,.78)!important;
    border-color:rgba(0,210,106,.55)!important;
    box-shadow:0 0 0 2px rgba(0,210,106,.12),0 3px 12px rgba(0,0,0,.28)!important;
}

.favmod.is-loading{pointer-events:none!important}
.favmod.is-loading .geo-heart-icon,
.full-favorite-btn.favmod.is-loading .full-favorite-heart{
    opacity:.45!important;
    animation:geoFavPulse .7s ease-in-out infinite alternate!important;
}
@keyframes geoFavPulse{from{transform:scale(.9)}to{transform:scale(1.08)}}

@media(max-width:700px){
    .fav-heart-btn .geo-heart-icon,
    .geo-fav-btn .geo-heart-icon{font-size:16px!important}
}
\n\n/* ===== GeoFlix v47 — larger season/episode badges + random poster badge parity ===== */\n\n/* Season / episode badge: a little larger everywhere, while keeping the same placement. */\n.poster-series-badge,\n.landscape-series-badge,\n.season-badge,\n.random-series-badge {\n    font-size: 11px !important;\n    line-height: 1.15 !important;\n    font-weight: 800 !important;\n    padding: 6px 10px !important;\n    letter-spacing: .005em !important;\n    border-radius: 5px !important;\n}\n\n/* Shortstory-slider legacy season wrapper. */\n.series-meta .season-badge {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    white-space: nowrap !important;\n}\n\n/* Random-film poster now uses the same visual language as every other poster. */\n.random-feature__poster-wrap {\n    position: relative !important;\n    flex: 0 0 230px !important;\n    width: 230px !important;\n    aspect-ratio: 2 / 3 !important;\n    border-radius: 10px !important;\n    overflow: hidden !important;\n    background: #0b1012 !important;\n    box-shadow: 0 16px 38px rgba(0,0,0,.30) !important;\n}\n.random-feature__poster-link,\n.random-feature__poster {\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n}\n.random-feature__poster img {\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    object-fit: cover !important;\n}\n.random-feature__poster-wrap .fav-heart-btn {\n    position: absolute !important;\n    top: 10px !important;\n    left: 10px !important;\n    z-index: 8 !important;\n}\n.random-feature__poster-wrap .geo-card-badge {\n    position: absolute !important;\n    top: 10px !important;\n    right: 10px !important;\n    z-index: 8 !important;\n}\n.random-feature__poster-wrap .poster-meta-top {\n    position: absolute !important;\n    left: 9px !important;\n    right: 9px !important;\n    bottom: 9px !important;\n    z-index: 8 !important;\n    display: flex !important;\n    align-items: center !important;\n    gap: 6px !important;\n    pointer-events: auto !important;\n}\n.random-feature__poster-wrap .poster-year {\n    margin-left: auto !important;\n}\n.random-feature__poster-wrap:has(.random-series-badge) .poster-meta-top {\n    bottom: 44px !important;\n}\n.random-feature__poster-wrap .random-series-badge {\n    position: absolute !important;\n    left: 50% !important;\n    right: auto !important;\n    bottom: 8px !important;\n    transform: translateX(-50%) !important;\n    z-index: 9 !important;\n    max-width: calc(100% - 18px) !important;\n    overflow: hidden !important;\n    text-overflow: ellipsis !important;\n    white-space: nowrap !important;\n}\n\n/* Ensure the random poster IMDb/year/GEO match normal poster badges exactly. */\n.random-feature__poster-wrap .poster-imdb {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    gap: 4px !important;\n    padding: 3px 6px !important;\n    border-radius: 4px !important;\n    background: #f5c518 !important;\n    color: #000 !important;\n    font-size: 12px !important;\n    line-height: 1.15 !important;\n    font-weight: 600 !important;\n    box-shadow: 0 2px 10px rgba(0,0,0,.24) !important;\n}\n.random-feature__poster-wrap .poster-imdb strong {\n    color: #000 !important;\n    font-size: inherit !important;\n    font-weight: 600 !important;\n}\n.random-feature__poster-wrap .poster-year {\n    display: inline-flex !important;\n    align-items: center !important;\n    justify-content: center !important;\n    padding: 4px 7px !important;\n    border-radius: 4px !important;\n    background: rgba(11,15,18,.90) !important;\n    color: #fff !important;\n    font-size: 10px !important;\n    line-height: 1.15 !important;\n    font-weight: 800 !important;\n    box-shadow: 0 2px 10px rgba(0,0,0,.24) !important;\n}\n.random-feature__poster-wrap .geo-card-badge {\n    padding: 5px 10px !important;\n    border-radius: 5px !important;\n    background: #1db954 !important;\n    color: #fff !important;\n    font-size: 12px !important;\n    line-height: 1 !important;\n    font-weight: 700 !important;\n}\n\n@media (max-width: 768px) {\n    .poster-series-badge,\n    .landscape-series-badge,\n    .season-badge,\n    .random-series-badge {\n        font-size: 10px !important;\n        padding: 5px 8px !important;\n    }\n\n    .random-feature__poster-wrap {\n        flex-basis: 150px !important;\n        width: 150px !important;\n        border-radius: 9px !important;\n    }\n    .random-feature__poster-wrap .poster-imdb {\n        font-size: 10px !important;\n        padding: 3px 5px !important;\n    }\n    .random-feature__poster-wrap .poster-year {\n        font-size: 9px !important;\n        padding: 3px 5px !important;\n    }\n    .random-feature__poster-wrap .geo-card-badge {\n        font-size: 10px !important;\n        padding: 4px 7px !important;\n    }\n}\n
/* ===== GeoFlix v48 — random landscape year alignment ===== */
/* Keep IMDb at the bottom-left and push the year to the bottom-right,
   matching the regular poster layout. */
#random-slider .landscape-image .poster-meta-top{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    max-width:none!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
}
#random-slider .landscape-image .poster-year{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:auto!important;
    padding:3px 5px!important;
    border-radius:4px!important;
    font-size:9px!important;
    line-height:1!important;
    font-weight:800!important;
    background:rgba(11,15,18,.90)!important;
    color:#fff!important;
    box-shadow:0 2px 8px rgba(0,0,0,.22)!important;
}
@media(max-width:768px){
    #random-slider .landscape-image .poster-year{
        padding:2px 4px!important;
        font-size:8px!important;
    }
}

/* ===== GeoFlix v49 — landscape series year beside IMDb ===== */
/* Keep the series/episode badge on the right, and show year beside IMDb on the left. */
.landscape-image:has(.landscape-series-badge) .poster-meta-top{
    left: 8px !important;
    right: auto !important;
    bottom: 8px !important;
    max-width: 46% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
}
.landscape-image:has(.landscape-series-badge) .poster-year{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 0 !important;
    padding: 4px 6px !important;
    border-radius: 4px !important;
    background: rgba(11,15,18,.90) !important;
    color: #fff !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.24) !important;
}
.landscape-image:has(.landscape-series-badge) .poster-imdb{
    flex: 0 0 auto !important;
}
.landscape-image .landscape-series-badge{
    right: 8px !important;
    left: auto !important;
    bottom: 8px !important;
    transform: none !important;
    max-width: 49% !important;
}

@media (max-width: 768px){
    .landscape-image:has(.landscape-series-badge) .poster-meta-top{
        max-width: 45% !important;
        gap: 4px !important;
    }
    .landscape-image:has(.landscape-series-badge) .poster-year{
        padding: 3px 5px !important;
        font-size: 8px !important;
    }
    .landscape-image .landscape-series-badge{
        max-width: 50% !important;
    }
}


/* ===== GeoFlix v50 — linked homepage headings, actor rail, supplied logo ===== */

.section-title-link{
    color:inherit!important;
    text-decoration:none!important;
    transition:color .2s ease, opacity .2s ease!important;
}
.section-title-link:hover{color:var(--green)!important}

/* Supplied GeoFlix logo */
.logo.brand-logo{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    width:176px!important;
    height:58px!important;
    line-height:0!important;
    text-decoration:none!important;
}
.brand-logo-img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:left center!important;
}
.footer-logo.footer-brand-logo{
    display:block!important;
    width:220px!important;
    height:auto!important;
    line-height:0!important;
}
.footer-logo-img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
}

/* Modern actor strip built from the supplied actor folder. */
.actors-modern-section{
    margin-top:82px!important;
    overflow:hidden!important;
}
.actors-modern-section .section-heading{
    margin-bottom:20px!important;
}
.actor-top-label{
    color:#fff!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
}
.actors-modern-slider{
    display:flex!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    padding:5px 2px 16px!important;
    -webkit-overflow-scrolling:touch!important;
}
.actors-modern-slider::-webkit-scrollbar{display:none!important}
.actor-card-modern{
    flex:0 0 154px!important;
    min-width:154px!important;
    text-decoration:none!important;
    color:#fff!important;
    scroll-snap-align:start!important;
    cursor:pointer!important;
}
.actor-photo-wrap{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:4/5!important;
    overflow:hidden!important;
    border-radius:14px!important;
    background:#0d1417!important;
    border:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease!important;
}
.actor-photo-wrap:after{
    content:""!important;
    position:absolute!important;
    inset:auto 0 0!important;
    height:34%!important;
    background:linear-gradient(180deg,transparent,rgba(2,8,9,.34))!important;
    pointer-events:none!important;
}
.actor-photo-wrap img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
    transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .25s ease!important;
}
.actor-name{
    display:block!important;
    margin-top:10px!important;
    padding:0 2px!important;
    color:#dce3e6!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:700!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transition:color .2s ease!important;
}
.actor-card-modern:hover .actor-photo-wrap{
    transform:translateY(-4px)!important;
    border-color:rgba(0,210,106,.55)!important;
    box-shadow:0 16px 34px rgba(0,0,0,.30),0 0 0 1px rgba(0,210,106,.13)!important;
}
.actor-card-modern:hover .actor-photo-wrap img{
    transform:scale(1.035)!important;
    filter:saturate(1.04) contrast(1.02)!important;
}
.actor-card-modern:hover .actor-name{color:#fff!important}

@media(max-width:768px){
    .logo.brand-logo{
        width:122px!important;
        height:44px!important;
    }
    .footer-logo.footer-brand-logo{width:184px!important}
    .actors-modern-section{margin-top:58px!important}
    .actors-modern-slider{gap:12px!important;padding-bottom:12px!important}
    .actor-card-modern{flex-basis:112px!important;min-width:112px!important}
    .actor-photo-wrap{border-radius:12px!important}
    .actor-name{font-size:10.5px!important;margin-top:8px!important}
}
@media(max-width:420px){
    .logo.brand-logo{width:112px!important;height:40px!important}
    .actor-card-modern{flex-basis:104px!important;min-width:104px!important}
}


/* ===== GeoFlix v51 — rating interaction states ===== */
.geo-rate-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    font-family: inherit !important;
}

.geo-like-dislike.is-rating-loading .geo-rate-btn {
    pointer-events: none !important;
    opacity: .55 !important;
}

.geo-rate-btn.is-voted {
    transform: translateY(-1px) scale(1.025) !important;
}

.geo-like-dislike.has-like-vote .geo-like {
    border-color: rgba(0, 214, 112, .48) !important;
    background: rgba(0, 201, 107, .09) !important;
}

.geo-like-dislike.has-like-vote .geo-like .geo-rate-icon {
    color: #18e487 !important;
    background: rgba(0, 201, 107, .16) !important;
}

.geo-like-dislike.has-dislike-vote .geo-dislike {
    border-color: rgba(255, 91, 91, .38) !important;
    background: rgba(255, 84, 84, .075) !important;
}

.geo-like-dislike.has-dislike-vote .geo-dislike .geo-rate-icon {
    color: #ff7777 !important;
    background: rgba(255, 84, 84, .13) !important;
}


/* =====================================================================
   GeoFlix v54 — dedicated search results + TOP.GE footer integration
   ===================================================================== */

/* SEARCH PAGE */
.search-shell{
    padding-top:118px!important;
}
.search-page-modern{
    width:100%;
}
.search-page-topbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:18px;
}
.search-page-kicker{
    display:block;
    margin-bottom:7px;
    color:var(--green);
    font-size:10px;
    font-weight:800;
    letter-spacing:1.35px;
    text-transform:uppercase;
}
.search-page-topbar h1{
    margin:0;
    color:#fff;
    font-size:clamp(28px,3vw,44px);
    line-height:1.08;
    letter-spacing:-1px;
}
.search-results-grid.dle-content{
    margin-top:0!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:30px 16px!important;
    align-items:start!important;
}
.search-results-grid > .neon-wrapper,
.search-results-grid > .search-page,
.search-results-grid > .search,
.search-results-grid > form,
.search-results-grid > .berrors,
.search-results-grid > .info{
    grid-column:1/-1!important;
}
.search-results-grid > .movie-card,
.search-results-grid .movie-card{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
}
.search-results-grid .poster-image{
    width:100%!important;
    aspect-ratio:2/3!important;
    height:auto!important;
    border-radius:10px!important;
    overflow:hidden!important;
}
.search-results-grid .poster-image > a.poster-link,
.search-results-grid .poster-image > a.poster-link > img,
.search-results-grid .poster-image img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
}
.search-results-grid .card-title-link h3{
    margin-top:10px!important;
    font-size:13px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.search-results-grid .card-eng-title{
    font-size:10px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* The intro card occupies the full row instead of becoming a grid item. */
.search-intro-wrap{
    grid-column:1/-1!important;
    width:100%!important;
    margin:0 0 12px!important;
}
.search-feature-card{
    position:relative;
    overflow:hidden;
    min-height:150px;
    padding:24px 26px;
    border:1px solid rgba(0,216,121,.16);
    border-radius:16px;
    background:
        radial-gradient(circle at 8% 0%,rgba(0,216,121,.15),transparent 29%),
        linear-gradient(135deg,#0c1417 0%,#081014 54%,#090d0f 100%);
    box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.search-feature-card::after{
    content:"";
    position:absolute;
    width:230px;
    height:230px;
    right:-80px;
    top:-115px;
    border-radius:50%;
    border:1px solid rgba(0,216,121,.12);
    box-shadow:0 0 80px rgba(0,216,121,.08);
    pointer-events:none;
}
.search-feature-content{
    position:relative;
    z-index:1;
}
.search-feature-eyebrow{
    display:block;
    margin-bottom:7px;
    color:var(--green);
    font-size:9px;
    font-weight:900;
    letter-spacing:1.6px;
}
.search-feature-content h2{
    margin:0;
    max-width:700px;
    color:#fff;
    font-size:clamp(20px,2vw,30px);
    line-height:1.18;
    letter-spacing:-.5px;
}
.search-feature-content p{
    margin:8px 0 0;
    color:#899398;
    font-size:11px;
}
.search-feature-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:17px;
}
.search-feature-buttons .feature-btn{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    background:rgba(255,255,255,.045);
    color:#dce3e6;
    font-size:10px;
    font-weight:800;
    transition:.2s ease;
}
.search-feature-buttons .feature-btn:hover{
    background:var(--green);
    border-color:var(--green);
    color:#061009;
    transform:translateY(-1px);
}
.search-pagination{
    margin-top:38px!important;
}

@media(max-width:1200px){
    .search-results-grid.dle-content{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}
@media(max-width:900px){
    .search-results-grid.dle-content{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:24px 12px!important;
    }
}
@media(max-width:700px){
    .search-shell{
        padding-top:92px!important;
    }
    .search-page-topbar{
        margin-bottom:14px;
    }
    .search-page-topbar h1{
        font-size:27px;
    }
    .search-results-grid.dle-content{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:22px 10px!important;
    }
    .search-feature-card{
        min-height:0;
        padding:18px 16px;
        border-radius:13px;
    }
    .search-feature-content h2{
        font-size:20px;
    }
    .search-feature-content p{
        font-size:10px;
        line-height:1.5;
    }
    .search-feature-buttons{
        gap:6px;
        margin-top:14px;
    }
    .search-feature-buttons .feature-btn{
        min-height:32px;
        padding:0 11px;
        font-size:9px;
    }
}
@media(max-width:420px){
    .search-results-grid.dle-content{
        gap:20px 8px!important;
    }
    .search-results-grid .card-title-link h3{
        font-size:11px!important;
    }
    .search-results-grid .card-eng-title{
        font-size:9px!important;
    }
}


/* =====================================================================
   GeoFlix v56 — final responsive hardening
   Breakpoint audit: 320 / 360 / 390 / 430 / 768 / 900 / 1024 /
   1180 / 1366 / 1440 / 1920 / ultrawide.
   TOP.GE itself is intentionally left completely unstyled.
   ===================================================================== */

/* Safe sizing across every viewport. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
img,video,iframe,svg{max-width:100%}
.header-inner,.main-content,.inner-shell,.movie-page .container,.footer-inner,.footer-bottom,
.category-grid,.search-results-grid,.collections-grid,.poster-slider,.landscape-slider,.actors-modern-slider{min-width:0}
.poster-slider,.landscape-slider,.actors-modern-slider{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}

/* Keep the supplied TOP.GE counter exactly as counter.top.ge outputs it.
   Only the wrapper participates in footer positioning; no child/image styling. */
.footer-bottom{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:22px!important;
}
.footer-copy{justify-self:start!important;min-width:0}
.footer-topge{justify-self:end!important;align-self:center!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.footer-note{justify-self:end!important;text-align:right!important;min-width:0}

/* Wide desktop / television. */
@media (min-width:1600px){
  .header-inner,.main-content{width:min(100% - 80px,1800px)!important}
  .inner-shell{width:min(100% - 80px,1800px)!important}
  .footer-inner,.footer-bottom{width:min(100% - 80px,1500px)!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
}
@media (min-width:2200px){
  .header-inner,.main-content,.inner-shell{max-width:2200px!important}
  .movie-card{flex-basis:calc((100% - 119px)/8)!important}
  .series-card{flex-basis:calc((100% - 72px)/5)!important}
}

/* Laptop / tablet landscape: switch to the compact menu before the header can collide. */
@media (max-width:1180px) and (min-width:769px){
  .header-inner{height:78px!important;padding:0 24px!important;gap:16px!important}
  .logo.brand-logo{width:150px!important;height:50px!important}
  .main-nav{display:none!important}
  .mobile-menu-btn{
    width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(255,255,255,.15);border-radius:50%;
    background:rgba(8,14,17,.42);display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer
  }
  .mobile-menu-btn span{width:15px;height:1px;background:#fff}
  .mobile-menu{
    display:flex!important;position:fixed!important;top:78px!important;right:18px!important;left:auto!important;width:min(360px,calc(100vw - 36px))!important;
    max-height:calc(100dvh - 94px)!important;overflow-y:auto!important;flex-direction:column!important;padding:12px 16px!important;gap:0!important;
    background:rgba(7,12,15,.985)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important;
    box-shadow:0 24px 60px rgba(0,0,0,.42)!important;transform:translateY(-18px) scale(.98)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;z-index:2500!important
  }
  .mobile-menu.open{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .mobile-menu>a,.mobile-nav-parent-link{display:block!important;padding:12px 5px!important;border-bottom:1px solid rgba(255,255,255,.055)!important;color:#d8dee1!important;font-size:12px!important;font-weight:700!important}
  .mobile-nav-parent-row{display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.055)!important}
  .mobile-nav-parent-row .mobile-nav-parent-link{border-bottom:0!important}
  .mobile-submenu-toggle{width:36px!important;height:36px!important;justify-self:end!important;border:0!important;border-radius:9px!important;background:rgba(255,255,255,.045)!important;color:#fff!important}
  .mobile-submenu{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:0!important;overflow:hidden!important;opacity:0!important;transition:.25s ease!important}
  .mobile-nav-group.open .mobile-submenu{max-height:700px!important;opacity:1!important;padding:8px 0 10px!important}
  .mobile-submenu a{padding:8px!important;font-size:10px!important;color:#9ba7ac!important}
  .header-search.open .header-search-input{width:180px!important}
  .header-search-suggestions{width:320px!important}
  .main-content{padding-left:24px!important;padding-right:24px!important}
}

/* 1024-ish tablets and smaller laptops. */
@media (max-width:1024px){
  .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .collection-card{height:clamp(150px,20vw,205px)!important}
  .footer-inner{grid-template-columns:1.4fr repeat(2,minmax(0,1fr))!important;gap:34px 24px!important;padding-left:28px!important;padding-right:28px!important}
  .footer-inner .footer-column:last-child{grid-column:auto!important}
  .footer-bottom{padding-left:28px!important;padding-right:28px!important}
}

/* Phones / portrait tablets. */
@media (max-width:768px){
  .header-inner{width:100%!important;max-width:none!important}
  .main-content{width:100%!important;max-width:none!important;padding-left:14px!important;padding-right:14px!important}
  .inner-shell{width:calc(100% - 24px)!important;max-width:none!important}
  .content-section{margin-top:44px!important}
  .section-heading{gap:10px!important;min-width:0}
  .section-heading>div:first-child{min-width:0}
  .section-heading h2{font-size:clamp(19px,5.4vw,23px)!important;overflow-wrap:anywhere}
  .section-actions{flex:0 0 auto!important}
  .slider-btn{flex:0 0 34px!important}

  .movie-card{flex-basis:calc((100% - 10px)/2)!important}
  .series-card{flex-basis:min(88%,520px)!important;min-width:0!important}
  .poster-image,.landscape-image{width:100%!important}

  .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .collection-card{height:clamp(128px,40vw,170px)!important}
  .collection-content{inset:auto 11px 11px!important}
  .collection-content h3{font-size:clamp(16px,5vw,21px)!important}

  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important;padding:34px 18px!important}
  .footer-brand{grid-column:1/-1!important}
  .footer-logo.footer-brand-logo{max-width:min(184px,60vw)!important}
  .footer-bottom{grid-template-columns:minmax(0,1fr) auto!important;gap:8px 14px!important;padding:15px 18px!important}
  .footer-copy{grid-column:1!important;grid-row:1!important}
  .footer-topge{grid-column:2!important;grid-row:1!important}
  .footer-note{grid-column:1/-1!important;grid-row:2!important;justify-self:start!important;text-align:left!important}

  .search-results-grid.dle-content,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .search-shell{padding-top:88px!important}

  .movie-page,.movie-page .container,.movie-hero,.full-top-grid,.full-top-player{min-width:0!important;max-width:100%!important}
  .movie-hero iframe,.movie-hero video,.geoflix-player-stage iframe,.geoflix-player-stage video{max-width:100%!important}
}

/* Narrow phones, including 360/375/390/430 CSS-pixel devices. */
@media (max-width:480px){
  .header-inner{padding-left:9px!important;padding-right:9px!important;gap:6px!important}
  .logo.brand-logo{width:108px!important;height:39px!important}
  .header-actions{gap:5px!important;min-width:0!important}
  .favorite-btn,.facebook-btn,.mobile-menu-btn,.header-search-btn{width:35px!important;height:35px!important;flex:0 0 35px!important}

  /* Opening search must never force the header wider than the viewport. */
  .header-search.open{position:fixed!important;top:65px!important;left:8px!important;right:8px!important;width:auto!important;height:42px!important;z-index:3200!important}
  .header-search.open .header-search-input{width:100%!important;height:42px!important;background:rgba(6,11,13,.985)!important}
  .header-search.open .header-search-suggestions.live-search-results.active{top:48px!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100dvh - 130px)!important}

  .hero{max-width:100vw!important}
  body.home-page .hero{height:68svh!important;min-height:500px!important}
  body.home-page .hero-content{padding-left:15px!important;padding-right:15px!important}
  body.home-page .hero h1{font-size:clamp(25px,8vw,30px)!important;max-width:calc(100vw - 30px)!important}

  .main-content{padding-left:10px!important;padding-right:10px!important}
  .content-section{margin-top:38px!important}
  .section-heading{align-items:center!important}
  .section-heading h2{font-size:18px!important}
  .random-refresh{height:34px!important;padding:0 9px!important;font-size:10px!important}
  .slider-btn{width:32px!important;height:32px!important;font-size:20px!important}

  .collections-grid{gap:8px!important}
  .collection-card{height:126px!important;border-radius:9px!important}
  .collection-content h3{font-size:16px!important}
  .collection-content span,.collection-content strong{font-size:8px!important}

  .actors-modern-slider{gap:10px!important}
  .actor-card-modern{flex-basis:100px!important;min-width:100px!important}

  .footer-inner{grid-template-columns:1fr!important;gap:22px!important;padding:30px 14px!important}
  .footer-brand{grid-column:auto!important}
  .footer-column{gap:8px!important}
  .footer-bottom{padding-left:14px!important;padding-right:14px!important;font-size:9px!important}

  .search-page-topbar h1{font-size:24px!important}
  .search-results-grid.dle-content,.category-grid{gap:18px 8px!important}
  .search-results-grid .card-title-link h3,.category-grid .card-title-link h3{font-size:11px!important}

  .geo-details-modal{padding:8px!important}
  .geo-details-dialog{width:100%!important;max-height:94dvh!important;border-radius:16px!important}
}

@media (max-width:340px){
  .logo.brand-logo{width:100px!important}
  .header-actions{gap:4px!important}
  .favorite-btn,.facebook-btn,.mobile-menu-btn,.header-search-btn{width:33px!important;height:33px!important;flex-basis:33px!important}
  .main-content{padding-left:8px!important;padding-right:8px!important}
  .movie-card{flex-basis:calc((100% - 8px)/2)!important}
  .poster-slider{gap:8px!important}
  .collections-grid{grid-template-columns:1fr!important}
  .collection-card{height:150px!important}
}

/* Short landscape screens (small laptops / rotated tablets): prevent hero trapping the page. */
@media (min-width:769px) and (max-height:650px){
  #geoflix-hero.hero{height:560px!important;min-height:500px!important}
  #geoflix-hero .hero-content{padding-top:92px!important;padding-bottom:36px!important}
}


/* =====================================================================
   GeoFlix v57 — TOP.GE right position + 701–900px fullstory player fix
   ===================================================================== */

/* Keep TOP.GE completely original: only place its wrapper in the right column.
   No styles are applied to #top-ge-counter-container or to TOP.GE's own output. */
.footer-bottom{
    grid-template-columns:minmax(0,1fr) auto auto!important;
}
.footer-copy{
    grid-column:1!important;
    justify-self:start!important;
}
.footer-note{
    grid-column:2!important;
    justify-self:end!important;
    text-align:right!important;
}
.footer-topge{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
}

/* The old CSS generations leave a 2-column desktop player grid active at 701–900px.
   Force this breakpoint to be a clean, full-width, single-column player layout. */
@media (min-width:701px) and (max-width:900px){
    .movie-page,
    .movie-hero{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
    }

    .movie-hero>.container{
        display:block!important;
        width:min(860px,calc(100% - 28px))!important;
        max-width:860px!important;
        min-width:0!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .movie-hero .full-player-poster{
        display:none!important;
    }

    .movie-hero>.container>.unified-player-card,
    .movie-hero>.container>.page__player{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:auto!important;
        grid-column:1/-1!important;
        grid-row:auto!important;
        box-sizing:border-box!important;
        margin:0!important;
        padding:10px!important;
        align-self:stretch!important;
    }

    .movie-hero .geoflix-source-tabs,
    .movie-hero .unified-player-tabs,
    .movie-hero .page__player-controls{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
        margin:0 0 10px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        flex-wrap:nowrap!important;
        scrollbar-width:none!important;
        -webkit-overflow-scrolling:touch!important;
    }

    .movie-hero .geoflix-source-tabs::-webkit-scrollbar,
    .movie-hero .unified-player-tabs::-webkit-scrollbar,
    .movie-hero .page__player-controls::-webkit-scrollbar{
        display:none!important;
    }

    .movie-hero .geoflix-source-tabs .unified-player-tab,
    .movie-hero .unified-player-tabs .unified-player-tab,
    .movie-hero .tabs-block__select>span{
        flex:0 0 auto!important;
    }

    .movie-hero .geoflix-player-stage,
    .movie-hero .player-card.player-wrapper{
        display:block!important;
        position:relative!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:auto!important;
        min-height:0!important;
        aspect-ratio:16/9!important;
        margin:0!important;
        padding:0!important;
        overflow:hidden!important;
        border-radius:11px!important;
        background:#000!important;
        box-sizing:border-box!important;
    }

    .movie-hero .geoflix-player-stage>.unified-player-pane.active,
    .movie-hero .geoflix-player-stage .movie-player-wrap,
    .movie-hero .geoflix-player-stage .movie-poster,
    .movie-hero .geoflix-player-stage .movie-frame,
    .movie-hero .player-card.player-wrapper .poster{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:100%!important;
        min-height:0!important;
        aspect-ratio:auto!important;
        margin:0!important;
        padding:0!important;
    }

    .movie-hero .geoflix-player-stage iframe,
    .movie-hero .geoflix-player-stage video,
    .movie-hero .geoflix-player-stage embed,
    .movie-hero .geoflix-player-stage object,
    .movie-hero .player-card.player-wrapper iframe,
    .movie-hero .player-card.player-wrapper video,
    .movie-hero .player-card.player-wrapper #videoPlayer,
    .movie-hero .geoflix-player-stage .movie-poster img,
    .movie-hero .player-card.player-wrapper .poster img{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        height:100%!important;
        min-height:100%!important;
        aspect-ratio:auto!important;
        border:0!important;
        object-fit:cover!important;
        box-sizing:border-box!important;
    }

    .episodes-menu{
        right:10px!important;
        max-width:calc(100% - 20px)!important;
    }
}

/* On phones the counter stays at the right of the copyright row; TOP.GE itself remains untouched. */
@media (max-width:768px){
    .footer-bottom{
        grid-template-columns:minmax(0,1fr) auto!important;
    }
    .footer-copy{
        grid-column:1!important;
        grid-row:1!important;
    }
    .footer-topge{
        grid-column:2!important;
        grid-row:1!important;
        justify-self:end!important;
    }
    .footer-note{
        grid-column:1/-1!important;
        grid-row:2!important;
        justify-self:start!important;
        text-align:left!important;
    }
}


/* =====================================================================
   GeoFlix v58 — 769–1180 Films submenu button + footer meta alignment
   ===================================================================== */

/* Laptop / tablet landscape menu:
   make the Films submenu control visible and use the same working state as JS. */
@media (min-width:769px) and (max-width:1180px){
    .mobile-nav-group{
        width:100%!important;
    }

    .mobile-nav-parent-row{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 42px!important;
        align-items:center!important;
        width:100%!important;
        border-bottom:1px solid rgba(255,255,255,.055)!important;
    }

    .mobile-nav-parent-row .mobile-nav-parent-link{
        min-width:0!important;
        border-bottom:0!important;
        padding:12px 5px!important;
    }

    .mobile-submenu-toggle{
        display:grid!important;
        place-items:center!important;
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        min-height:36px!important;
        justify-self:end!important;
        padding:0!important;
        border:1px solid rgba(255,255,255,.09)!important;
        border-radius:9px!important;
        background:rgba(255,255,255,.045)!important;
        color:#fff!important;
        cursor:pointer!important;
        opacity:1!important;
        visibility:visible!important;
    }

    .menu-chevron{
        display:block!important;
        position:relative!important;
        width:10px!important;
        height:10px!important;
        flex:0 0 10px!important;
        transition:transform .22s ease!important;
    }

    .menu-chevron::before{
        content:""!important;
        position:absolute!important;
        inset:0 2px 2px 0!important;
        border-right:1.8px solid var(--green)!important;
        border-bottom:1.8px solid var(--green)!important;
        transform:rotate(45deg)!important;
    }

    .mobile-nav-group.submenu-open .menu-chevron{
        transform:rotate(180deg)!important;
    }

    .mobile-submenu{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:4px 6px!important;
        width:100%!important;
        max-height:0!important;
        padding:0 2px!important;
        overflow:hidden!important;
        opacity:0!important;
        transition:max-height .3s ease,opacity .2s ease,padding .3s ease!important;
    }

    /* JS toggles .submenu-open — this is the state that must open the panel. */
    .mobile-nav-group.submenu-open .mobile-submenu{
        max-height:760px!important;
        opacity:1!important;
        padding:8px 2px 11px!important;
    }

    .mobile-submenu a{
        min-width:0!important;
        padding:8px 9px!important;
        border:0!important;
        border-radius:8px!important;
        background:rgba(255,255,255,.03)!important;
        color:#aeb8bd!important;
        font-size:10px!important;
        line-height:1.35!important;
        white-space:normal!important;
    }
}

/* Footer bottom:
   copyright stays on the left.
   On the right: first the original TOP.GE counter, then the Georgian note beside it. */
.footer-bottom{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
}

.footer-copy{
    flex:0 1 auto!important;
    min-width:0!important;
}

.footer-meta-right{
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:12px!important;
    flex:0 0 auto!important;
    min-width:0!important;
}

.footer-topge{
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
}

/* Intentionally do not style TOP.GE's own generated content. */

.footer-note{
    display:block!important;
    flex:0 1 auto!important;
    margin:0!important;
    white-space:nowrap!important;
    text-align:right!important;
}

/* Narrow devices:
   copyright can occupy its own row, but TOP.GE and the note always remain SIDE BY SIDE. */
@media (max-width:620px){
    .footer-bottom{
        flex-wrap:wrap!important;
        gap:10px 12px!important;
    }

    .footer-copy{
        width:100%!important;
        flex-basis:100%!important;
    }

    .footer-meta-right{
        width:100%!important;
        margin-left:0!important;
        justify-content:flex-start!important;
        gap:9px!important;
    }

    .footer-note{
        white-space:normal!important;
        text-align:left!important;
        font-size:9px!important;
        line-height:1.3!important;
    }
}

@media (max-width:360px){
    .footer-meta-right{
        gap:7px!important;
    }

    .footer-note{
        font-size:8px!important;
    }
}


/* =====================================================================
   GeoFlix v59 — iPhone header search stays on the SAME header row
   ===================================================================== */

/* Override the older <=480px rule that moved the open search below the header. */
@media (max-width:480px){
    .header-inner{
        flex-wrap:nowrap!important;
        align-items:center!important;
        overflow:visible!important;
    }

    .header-actions{
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:flex-end!important;
        min-width:0!important;
        max-width:calc(100% - 108px - 6px)!important;
        overflow:visible!important;
    }

    /* While search is open, temporarily free space occupied by the two secondary icons.
       The menu button stays visible and the search expands exactly in place. */
    .header-actions.search-is-open .favorite-btn,
    .header-actions.search-is-open .facebook-btn{
        display:none!important;
    }

    .header-actions.search-is-open{
        gap:6px!important;
        flex:1 1 auto!important;
        max-width:none!important;
    }

    .header-actions.search-is-open .header-search{
        order:1!important;
    }

    .header-actions.search-is-open .mobile-menu-btn{
        order:2!important;
        display:flex!important;
        flex:0 0 35px!important;
    }

    .header-search.open{
        position:relative!important;
        top:auto!important;
        right:auto!important;
        bottom:auto!important;
        left:auto!important;

        /* 320px -> ~142px, 375/390/430px -> up to 190px.
           This keeps logo + search + menu on one row even on narrow iPhones. */
        width:clamp(132px,calc(100vw - 178px),190px)!important;
        flex:0 1 clamp(132px,calc(100vw - 178px),190px)!important;
        min-width:132px!important;
        max-width:190px!important;
        height:38px!important;

        margin:0!important;
        transform:none!important;
        z-index:3200!important;
    }

    .header-search.open .header-search-input{
        width:100%!important;
        min-width:0!important;
        height:38px!important;
        padding:0 61px 0 12px!important;
        border-radius:999px!important;
        background:rgba(6,11,13,.985)!important;
    }

    .header-search.open .header-search-btn{
        position:absolute!important;
        top:1px!important;
        right:1px!important;
        width:36px!important;
        height:36px!important;
        flex:0 0 36px!important;
    }

    .header-search.open .header-search-close{
        position:absolute!important;
        display:grid!important;
        place-items:center!important;
        top:4px!important;
        right:32px!important;
        width:29px!important;
        height:29px!important;
    }

    /* Results may drop below the header; only the SEARCH CONTROL itself stays inline. */
    .header-search.open .header-search-suggestions.live-search-results.active{
        position:fixed!important;
        top:66px!important;
        left:8px!important;
        right:8px!important;
        width:auto!important;
        max-width:none!important;
        max-height:calc(100dvh - 78px)!important;
        margin:0!important;
        z-index:3199!important;
    }
}

/* Extra-tight iPhones / older compact devices. */
@media (max-width:350px){
    .logo.brand-logo{
        width:96px!important;
        flex:0 0 96px!important;
    }

    .header-actions{
        max-width:calc(100% - 96px - 5px)!important;
    }

    .header-actions.search-is-open .mobile-menu-btn{
        width:33px!important;
        height:33px!important;
        flex-basis:33px!important;
    }

    .header-search.open{
        width:clamp(126px,calc(100vw - 163px),170px)!important;
        flex-basis:clamp(126px,calc(100vw - 163px),170px)!important;
        min-width:126px!important;
    }
}


/* =====================================================================
   GeoFlix v62 — ONLY fix: hide homepage genre panel on 769px+
   This panel is mobile-only; without a desktop base rule its genre links
   were rendering as plain text behind the header.
   ===================================================================== */
@media (min-width:769px){
    .home-genre-panel{
        display:none!important;
    }
}


/* ===== GeoFlix hero responsive poster source =====
   Desktop/tablet: big_poster
   Mobile <= 768px: first_poster
   Each side falls back to the other poster field when its preferred field is empty.
*/
.hero-bg-desktop,
.hero-bg-mobile {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-bg-mobile {
    display: none;
}

.hero-bg-desktop img,
.hero-bg-mobile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 768px) {
    .hero-bg-desktop {
        display: none;
    }

    .hero-bg-mobile {
        display: block;
    }
}


/* =====================================================================
   GeoFlix v70 — DESKTOP ONLY hero brightness / focus + MyKadri-like header
   Mobile (<=768px) is intentionally untouched.
   ===================================================================== */
@media (min-width: 769px) {

    /* Brighter desktop hero:
       most of the previous darkness came from the overlay, not the image itself. */
    body.home-page #geoflix-hero .hero-gradient {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.68) 0%,
                rgba(0,0,0,.46) 28%,
                rgba(0,0,0,.12) 68%,
                rgba(0,0,0,.28) 100%
            ),
            linear-gradient(
                0deg,
                var(--bg) 0%,
                rgba(8,10,11,.62) 8%,
                rgba(8,10,11,.12) 26%,
                transparent 42%
            ) !important;
    }

    /* Keep the source image clean/crisp and show a little more of its upper area. */
    body.home-page #geoflix-hero .hero-bg-desktop,
    body.home-page #geoflix-hero .hero-bg-desktop img {
        width: 100% !important;
        height: 100% !important;
    }

    body.home-page #geoflix-hero .hero-bg-desktop img {
        object-fit: cover !important;
        object-position: center 30% !important;
        image-rendering: auto !important;
        filter: none !important;
        transform: none !important;
        backface-visibility: hidden;
    }

    /* MyKadri-like desktop header:
       darkest at the very top, gradually fading into the hero below. */
    .site-header,
    .site-header.is-scrolled {
        background:
            linear-gradient(
                180deg,
                rgba(2,7,9,.96) 0%,
                rgba(3,8,11,.86) 34%,
                rgba(3,9,12,.60) 66%,
                rgba(3,9,12,.20) 100%
            ) !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* Soft continuation of the dark header shadow below the header itself. */
    .site-header::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 34px;
        pointer-events: none;
        background:
            linear-gradient(
                180deg,
                rgba(3,9,12,.20) 0%,
                rgba(3,9,12,.08) 48%,
                rgba(3,9,12,0) 100%
            );
    }
}


/* =====================================================================
   GeoFlix v71 — same gradient header on mobile too
   Only header appearance is extended to <=768px.
   ===================================================================== */
@media (max-width: 768px) {
    .site-header,
    .site-header.is-scrolled {
        background:
            linear-gradient(
                180deg,
                rgba(2,7,9,.96) 0%,
                rgba(3,8,11,.86) 34%,
                rgba(3,9,12,.60) 66%,
                rgba(3,9,12,.20) 100%
            ) !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .site-header::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 26px;
        pointer-events: none;
        background:
            linear-gradient(
                180deg,
                rgba(3,9,12,.20) 0%,
                rgba(3,9,12,.08) 48%,
                rgba(3,9,12,0) 100%
            );
    }
}


/* =====================================================================
   GeoFlix v72 — header very slightly darker on desktop + mobile
   Same gradient principle, only opacity increased a little.
   ===================================================================== */
.site-header,
.site-header.is-scrolled {
    background:
        linear-gradient(
            180deg,
            rgba(2,7,9,.98) 0%,
            rgba(3,8,11,.89) 34%,
            rgba(3,9,12,.64) 66%,
            rgba(3,9,12,.24) 100%
        ) !important;
}

.site-header::after {
    background:
        linear-gradient(
            180deg,
            rgba(3,9,12,.24) 0%,
            rgba(3,9,12,.10) 48%,
            rgba(3,9,12,0) 100%
        ) !important;
}


/* =====================================================================
   GeoFlix v73 — header one more subtle step darker
   Same gradient principle; only opacity is increased slightly again.
   ===================================================================== */
.site-header,
.site-header.is-scrolled {
    background:
        linear-gradient(
            180deg,
            rgba(2,7,9,.99) 0%,
            rgba(3,8,11,.92) 34%,
            rgba(3,9,12,.68) 66%,
            rgba(3,9,12,.28) 100%
        ) !important;
}

.site-header::after {
    background:
        linear-gradient(
            180deg,
            rgba(3,9,12,.28) 0%,
            rgba(3,9,12,.12) 48%,
            rgba(3,9,12,0) 100%
        ) !important;
}


/* =====================================================================
   GeoFlix v75 — DLE 18.x AJAX database filter
   ===================================================================== */
.gf-filter-panel{margin:0 0 20px;padding:14px;background:#0d141d;border:1px solid rgba(255,255,255,.08);border-radius:13px;box-shadow:0 14px 45px rgba(0,0,0,.16)}
.gf-filter-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px 11px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.gf-filter-head strong{font-size:13px;color:#fff}.gf-filter-head span{font-size:9px;color:#65717c}
.gf-filter-row{display:grid;gap:8px}.gf-filter-row-main{grid-template-columns:1.05fr 1fr 1fr 1fr 1fr}.gf-filter-row-extra{grid-template-columns:1fr;margin-top:8px}
.gf-filter-field{display:flex;flex-direction:column;gap:5px;min-width:0}.gf-filter-field>span,.gf-year-head>span{font-size:9px;font-weight:700;color:#6f7e8b}
.gf-filter-field select,.gf-filter-field input{width:100%;height:38px;padding:0 11px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#111925;color:#dfe6eb;outline:none;font:inherit;font-size:11px;transition:.18s}
.gf-filter-field select:focus,.gf-filter-field input:focus{border-color:rgba(0,210,106,.62);box-shadow:0 0 0 3px rgba(0,210,106,.07)}
.gf-filter-field input::placeholder{color:#53606b}.gf-filter-wide{width:100%}
.gf-year-box{margin-top:8px;padding:10px 11px 8px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#111925}
.gf-year-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.gf-year-head strong{font-size:10px;color:#ecf2f5}.gf-year-head b{font-weight:800}
.gf-range-wrap{position:relative;height:20px;display:flex;align-items:center}.gf-range-base,.gf-range-fill{position:absolute;left:3px;right:3px;top:9px;height:3px;border-radius:10px}.gf-range-base{background:#5b6570}.gf-range-fill{background:var(--green);right:auto}
.gf-range-wrap input[type=range]{position:absolute;inset:0;width:100%;height:20px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;outline:0}
.gf-range-wrap input[type=range]::-webkit-slider-runnable-track{height:3px;background:transparent}.gf-range-wrap input[type=range]::-moz-range-track{height:3px;background:transparent}
.gf-range-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;margin-top:-6px;border:3px solid #0e151e;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px rgba(255,255,255,.72);pointer-events:auto;cursor:pointer}
.gf-range-wrap input[type=range]::-moz-range-thumb{width:10px;height:10px;border:3px solid #0e151e;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px rgba(255,255,255,.72);pointer-events:auto;cursor:pointer}
.gf-year-scale{display:flex;justify-content:space-between;color:#4f5c68;font-size:8px;padding-top:1px}
.gf-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.gf-filter-count{font-size:9px;color:#6f7e8b;min-height:12px}.gf-filter-buttons{display:flex;gap:7px}.gf-filter-buttons button{height:36px;padding:0 15px;border-radius:7px;border:1px solid rgba(255,255,255,.08);font:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:.18s}
.gf-filter-search{background:var(--green);color:#061009;border-color:var(--green)!important}.gf-filter-search:hover{filter:brightness(1.08);transform:translateY(-1px)}
.gf-filter-reset{background:#111925;color:#7f8b95}.gf-filter-reset:hover{color:#fff;border-color:rgba(255,255,255,.16)}.gf-filter-buttons button:disabled{opacity:.55;cursor:wait;transform:none}
.gf-filter-message{padding:13px 15px;margin:0 0 16px;border:1px solid rgba(255,106,106,.18);border-radius:9px;background:rgba(117,25,25,.13);color:#e6b7b7;font-size:11px}
#gfFilterResults{position:relative;min-height:120px;transition:opacity .18s}#gfFilterResults.is-loading{opacity:.32;pointer-events:none}
.gf-ajax-empty{grid-column:1/-1;min-height:130px;display:grid;place-items:center;text-align:center;border:1px dashed rgba(255,255,255,.09);border-radius:11px;color:#68747e;font-size:11px;background:#0b1015}
.gf-ajax-pagination{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.gf-ajax-pagination button{min-width:38px;height:38px;padding:0 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0e141a;color:#dce3e7;cursor:pointer;font-weight:700}.gf-ajax-pagination button:hover,.gf-ajax-pagination button.active{background:var(--green);border-color:var(--green);color:#061009}.gf-ajax-pagination button.active{pointer-events:none}
@media(max-width:1050px){.gf-filter-row-main{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.gf-filter-panel{display:none}.gf-filter-panel.open{display:block}.gf-filter-row-main{grid-template-columns:repeat(2,minmax(0,1fr))}.gf-filter-head span{display:none}.gf-filter-actions{align-items:flex-end}.gf-filter-buttons{margin-left:auto}}
@media(max-width:520px){.gf-filter-panel{padding:11px}.gf-filter-row-main{grid-template-columns:1fr}.gf-filter-actions{flex-direction:column;align-items:stretch}.gf-filter-buttons{width:100%;margin:0}.gf-filter-buttons button{flex:1}.gf-filter-count{order:2}.gf-year-scale span:nth-child(2),.gf-year-scale span:nth-child(4){display:none}}


/* ===== GeoFlix v76 — MyKadri-like IMDb ranges + actor/director row ===== */
.gf-filter-row-extra{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.gf-imdb-field{position:relative}
.gf-imdb-picker{position:relative;min-width:0}
.gf-imdb-toggle{width:100%;height:38px;padding:0 35px 0 10px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#111925;color:#dfe6eb;display:flex;align-items:center;gap:8px;font:inherit;font-size:11px;cursor:pointer;text-align:left;transition:.18s}
.gf-imdb-toggle:hover,.gf-imdb-picker.open .gf-imdb-toggle{border-color:rgba(0,210,106,.50)}
.gf-imdb-badge{display:inline-flex;align-items:center;justify-content:center;height:23px;padding:0 7px;border-radius:4px;background:#f5c518;color:#080808;font-size:10px;font-weight:900;line-height:1;letter-spacing:-.2px}
.gf-imdb-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dfe6eb}
.gf-imdb-chevron{position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:1.5px solid #6f7e8b;border-bottom:1.5px solid #6f7e8b;transform:translateY(-65%) rotate(45deg);transition:.18s}
.gf-imdb-picker.open .gf-imdb-chevron{transform:translateY(-20%) rotate(225deg)}
.gf-imdb-menu{display:none;position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);max-height:300px;overflow:auto;padding:6px;background:#101824;border:1px solid rgba(255,255,255,.09);border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.46)}
.gf-imdb-picker.open .gf-imdb-menu{display:block}
.gf-imdb-menu label{display:flex;align-items:center;gap:9px;min-height:32px;padding:5px 8px;border-radius:6px;color:#cbd4da;font-size:10px;cursor:pointer;transition:.15s}
.gf-imdb-menu label:hover{background:rgba(255,255,255,.05);color:#fff}
.gf-imdb-menu input{appearance:none;-webkit-appearance:none;width:11px!important;height:11px!important;min-width:11px;padding:0!important;border:1px solid #465563!important;border-radius:50%!important;background:#111925!important;box-shadow:none!important;position:relative}
.gf-imdb-menu input:checked{border-color:var(--green)!important;box-shadow:inset 0 0 0 3px #111925!important;background:var(--green)!important}
.gf-imdb-menu label:has(input:checked){color:#fff;background:rgba(0,210,106,.07)}
@media(max-width:800px){.gf-filter-row-extra{grid-template-columns:1fr!important}.gf-imdb-menu{position:absolute;max-height:245px}}


/* =====================================================================
   GeoFlix v78 — filter readability + refined controls
   ===================================================================== */
.gf-filter-panel{
    position:relative;
    padding:17px 16px 15px!important;
    background:linear-gradient(145deg,#0f1721 0%,#0b121a 100%)!important;
    border-color:rgba(255,255,255,.10)!important;
    box-shadow:0 18px 55px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025)!important;
    overflow:visible;
}
.gf-filter-panel:before{
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    top:-1px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(0,210,106,.34),transparent);
    pointer-events:none;
}
.gf-filter-head{padding-bottom:13px!important;margin-bottom:12px!important}
.gf-filter-head strong{font-size:15px!important;letter-spacing:-.15px}
.gf-filter-head span{font-size:10.5px!important;color:#7f8b96!important}

.gf-filter-row{gap:10px!important}
.gf-filter-field{gap:6px!important}
.gf-filter-field>span,.gf-year-head>span{
    font-size:10.5px!important;
    line-height:1.25!important;
    color:#8b98a4!important;
    letter-spacing:.05px;
}
.gf-filter-field select,.gf-filter-field input,.gf-imdb-toggle{
    height:42px!important;
    border-radius:9px!important;
    border-color:rgba(255,255,255,.10)!important;
    background:#111b27!important;
    color:#eef3f6!important;
    font-size:12.5px!important;
    font-weight:600!important;
}
.gf-filter-field select{padding-left:12px!important;padding-right:34px!important}
.gf-filter-field input{padding-left:12px!important}
.gf-filter-field input::placeholder{color:#667482!important;opacity:1}
.gf-filter-field select:hover,.gf-filter-field input:hover,.gf-imdb-toggle:hover{
    border-color:rgba(255,255,255,.17)!important;
    background:#13202d!important;
}
.gf-filter-field select:focus,.gf-filter-field input:focus,.gf-imdb-picker.open .gf-imdb-toggle{
    border-color:rgba(0,210,106,.60)!important;
    box-shadow:0 0 0 3px rgba(0,210,106,.08)!important;
}

.gf-imdb-toggle{padding-left:11px!important;gap:9px!important}
.gf-imdb-badge{height:25px!important;padding:0 8px!important;font-size:11px!important;border-radius:5px!important}
.gf-imdb-current{font-size:12.5px!important;font-weight:700!important}
.gf-imdb-menu{padding:7px!important;border-radius:10px!important;background:#0f1925!important;border-color:rgba(255,255,255,.11)!important;box-shadow:0 20px 52px rgba(0,0,0,.52)!important}
.gf-imdb-menu label{min-height:36px!important;padding:6px 9px!important;font-size:12px!important}
.gf-imdb-menu input{width:13px!important;height:13px!important;min-width:13px!important}

.gf-year-box{
    margin-top:10px!important;
    padding:12px 13px 10px!important;
    border-radius:10px!important;
    background:#101a26!important;
    border-color:rgba(255,255,255,.09)!important;
}
.gf-year-head{margin-bottom:9px!important}
.gf-year-head strong{font-size:12px!important}
.gf-year-scale{font-size:9.5px!important;color:#667482!important;padding-top:3px!important}
.gf-range-wrap{height:22px!important}
.gf-range-base,.gf-range-fill{top:10px!important;height:3px!important}
.gf-range-wrap input[type=range]{height:22px!important}
.gf-range-wrap input[type=range]::-webkit-slider-thumb{width:17px!important;height:17px!important;margin-top:-7px!important}
.gf-range-wrap input[type=range]::-moz-range-thumb{width:12px!important;height:12px!important}

.gf-filter-row-extra{margin-top:10px!important;gap:10px!important}
.gf-filter-actions{margin-top:12px!important;padding-top:12px!important}
.gf-filter-count{font-size:10.5px!important;color:#8794a0!important;min-height:15px!important}
.gf-filter-buttons{gap:9px!important}
.gf-filter-buttons button{
    height:41px!important;
    padding:0 16px!important;
    border-radius:9px!important;
    font-size:11.5px!important;
    gap:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 7px 18px rgba(0,0,0,.14);
}
.gf-filter-search{box-shadow:0 8px 22px rgba(0,210,106,.13)!important}
.gf-filter-search:hover{filter:brightness(1.07)!important;transform:translateY(-1px)!important;box-shadow:0 10px 25px rgba(0,210,106,.20)!important}
.gf-filter-reset{background:#121d29!important;color:#9eabb5!important;border-color:rgba(255,255,255,.10)!important}
.gf-filter-reset:hover{background:#172330!important;color:#fff!important}
.gf-action-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    font-family:Arial,sans-serif;
    font-weight:700;
    line-height:1;
}
.gf-search-icon{font-size:22px!important;transform:translateY(-1px)}
.gf-reset-icon{font-size:23px!important;font-weight:400!important;transition:transform .18s ease}
.gf-filter-reset:hover .gf-reset-icon{transform:rotate(90deg)}
.gf-action-label{white-space:nowrap}
.gf-filter-message{font-size:12px!important}
.gf-ajax-empty{font-size:12px!important}

@media(max-width:800px){
    .gf-filter-panel{padding:14px!important}
    .gf-filter-head strong{font-size:14px!important}
    .gf-filter-field>span,.gf-year-head>span{font-size:10.5px!important}
    .gf-filter-field select,.gf-filter-field input,.gf-imdb-toggle{font-size:12px!important}
    .gf-filter-buttons button{font-size:11.5px!important}
}
@media(max-width:520px){
    .gf-filter-buttons button{height:42px!important;padding:0 13px!important}
    .gf-search-icon{font-size:23px!important}
    .gf-reset-icon{font-size:24px!important}
}
/* =====================================================================
   GeoFlix v80 — global "ყველა" behavior + polished IMDb scrollbar
   ===================================================================== */
.gf-imdb-menu{
    scrollbar-width:thin !important;
    scrollbar-color:#00b965 #111a24 !important;
    scrollbar-gutter:stable;
}
.gf-imdb-menu::-webkit-scrollbar{
    width:7px;
}
.gf-imdb-menu::-webkit-scrollbar-track{
    background:#111a24;
    border-radius:999px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
    margin:7px 2px;
}
.gf-imdb-menu::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#00d26a 0%,#00ad5b 100%);
    border:1px solid #0d1620;
    border-radius:999px;
    box-shadow:0 0 8px rgba(0,210,106,.18);
}
.gf-imdb-menu::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#13e37d 0%,#00c467 100%);
    box-shadow:0 0 10px rgba(0,210,106,.30);
}
.gf-imdb-menu::-webkit-scrollbar-corner{
    background:transparent;
}



/* =====================================================================
   GeoFlix v82 — fullstory cast rail (TMDB portraits, Georgian names)
   ===================================================================== */
.geo-cast-section{
    margin-top:10px;
    padding:20px 18px 18px;
    background:linear-gradient(145deg,#0d1319,#0a0f14);
    border:1px solid rgba(255,255,255,.07);
    border-radius:10px;
    overflow:hidden;
}
.geo-cast-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.geo-cast-kicker{display:block;color:var(--green);font-size:9px;font-weight:800;letter-spacing:1.8px;margin-bottom:3px}
.geo-cast-head h3{margin:0;color:#fff;font-size:18px;line-height:1.15}
.geo-cast-actions{display:flex;gap:7px;flex:0 0 auto}
.geo-cast-arrow{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#111920;color:#dfe5e8;font-size:22px;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.geo-cast-arrow:hover{background:var(--green);border-color:var(--green);color:#041008;transform:translateY(-1px)}
.geo-actors-raw{display:none!important}
.geo-cast-rail{display:flex;gap:15px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 1px 4px;cursor:grab;user-select:none;touch-action:auto}
.geo-cast-rail::-webkit-scrollbar{display:none}
.geo-cast-rail.is-dragging{cursor:grabbing;scroll-behavior:auto}
.geo-cast-card{flex:0 0 92px;min-width:0;display:flex;flex-direction:column;gap:8px;scroll-snap-align:start;color:#fff;text-decoration:none}
.geo-cast-photo{position:relative;display:block;width:92px;height:122px;border-radius:10px;overflow:hidden;background:linear-gradient(150deg,#172028,#10161c);border:1px solid rgba(255,255,255,.09);box-shadow:0 7px 24px rgba(0,0,0,.18);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.geo-cast-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#697681;font-size:24px;font-weight:800;background:radial-gradient(circle at 50% 34%,#25313b 0 19%,transparent 20%),radial-gradient(ellipse at 50% 88%,#202a33 0 37%,transparent 38%),linear-gradient(145deg,#151d24,#0d1318)}
.geo-cast-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transition:opacity .25s ease,transform .3s ease}
.geo-cast-photo.has-photo img{opacity:1}
.geo-cast-card:hover .geo-cast-photo{transform:translateY(-3px);border-color:rgba(0,210,106,.55);box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 0 2px rgba(0,210,106,.06)}
.geo-cast-card:hover .geo-cast-photo img{transform:scale(1.035)}
.geo-cast-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center;color:#e8ecee;font-size:10px;font-weight:700;line-height:1.35;transition:color .2s ease}
.geo-cast-card:hover .geo-cast-name{color:var(--green)}
.geo-cast-note{margin-top:12px;padding:9px 11px;border:1px dashed rgba(255,255,255,.1);border-radius:8px;color:#7e8990;font-size:10px;line-height:1.5}
@media(max-width:700px){
    /* Keep the cast rail below the Details/Director card on mobile. */
    .geo-cast-section{order:4!important;padding:16px 14px 14px;margin-top:8px}
    .geo-cast-head{margin-bottom:13px}
    .geo-cast-head h3{font-size:16px}
    .geo-cast-actions{display:none}
    .geo-cast-rail{gap:11px;margin-right:-14px;padding-right:14px}
    .geo-cast-card{flex-basis:78px}
    .geo-cast-photo{width:78px;height:104px;border-radius:9px}
    .geo-cast-name{font-size:9px}
}


/* ===== GeoFlix v86 — mobile "მსგავსი ფილმები" title spacing only ===== */
@media (max-width: 560px) {
    .related-section .related-heading {
        padding-left: 8px !important;
        padding-right: 4px !important;
    }
}


/* ===== GeoFlix v87 — related section spacing aligned on every viewport =====
   Audited against the template breakpoints (320/360/390/430/560/700/768/900/
   1024/1366/1440/1920). Keep one consistent side gutter for the whole related
   block, so the title, arrows and poster rail always start/end on the same line.
*/
.related-section .container {
    width: min(1180px, calc(100% - 28px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.related-section .related-heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Slightly roomier gutter on tablet/desktop without changing the 1180px shell. */
@media (min-width: 769px) {
    .related-section .container {
        width: min(1180px, calc(100% - 40px)) !important;
    }
}


/* =====================================================================
   GeoFlix v90 — definitive mobile quick-menu fix
   Quick menu lives inside #geoflix-hero so the background and menu items
   always share the same stable stacking context.
   ===================================================================== */
@media (max-width: 768px) {
    body.home-page #geoflix-hero {
        position: relative !important;
        isolation: isolate !important;
    }

    body.home-page #geoflix-hero .hero-track {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
    }

    body.home-page #geoflix-hero .hero-arrows,
    body.home-page #geoflix-hero .hero-dots {
        z-index: 30 !important;
    }

    body.home-page #geoflix-hero .home-quick-cats {
        display: flex !important;
        position: absolute !important;
        top: 77px !important;
        left: 10px !important;
        right: 10px !important;
        z-index: 80 !important;
        min-height: 51px !important;
        padding: 8px !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        border-radius: 14px !important;
        background: rgba(31,36,41,.94) !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        box-shadow: 0 10px 28px rgba(0,0,0,.24) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    body.home-page #geoflix-hero .home-quick-cats::-webkit-scrollbar {
        display: none !important;
    }

    body.home-page #geoflix-hero .home-quick-cats > *,
    body.home-page #geoflix-hero .home-quick-cats a,
    body.home-page #geoflix-hero .home-quick-cats button {
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.home-page #geoflix-hero .home-quick-cats a {
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 35px !important;
        padding: 0 14px !important;
        border-radius: 10px !important;
        background: rgba(84,89,94,.72) !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        color: #f5f8fa !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        box-shadow: none !important;
    }

    body.home-page #geoflix-hero .home-quick-films {
        display: flex !important;
        align-items: stretch !important;
        flex: 0 0 auto !important;
        gap: 3px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.home-page #geoflix-hero .home-quick-films-toggle {
        opacity: 1 !important;
        visibility: visible !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    body.home-page #geoflix-hero .home-genre-panel {
        position: absolute !important;
        top: 127px !important;
        left: 10px !important;
        right: 10px !important;
        z-index: 90 !important;
    }
}

@media (max-width: 390px) {
    body.home-page #geoflix-hero .home-quick-cats {
        left: 7px !important;
        right: 7px !important;
    }

    body.home-page #geoflix-hero .home-quick-cats a {
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 10px !important;
    }
}


/* =====================================================================
   GeoFlix v91 — quick menu: stable render + independent touch/click layer
   ===================================================================== */
@media (max-width: 768px) {
    #geoflix-hero {
        position: relative !important;
        isolation: isolate !important;
    }

    #geoflix-hero .hero-track {
        z-index: 1 !important;
    }

    #geoflix-hero .home-quick-cats {
        display: flex !important;
        position: absolute !important;
        top: 77px !important;
        left: 10px !important;
        right: 10px !important;
        z-index: 100 !important;

        min-height: 51px !important;
        padding: 8px !important;
        gap: 8px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
        touch-action: pan-x !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        background: rgba(31,36,41,.94) !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 28px rgba(0,0,0,.24) !important;

        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
        scrollbar-width: none !important;
    }

    #geoflix-hero .home-quick-cats::-webkit-scrollbar {
        display: none !important;
    }

    #geoflix-hero .home-quick-cats,
    #geoflix-hero .home-quick-cats *,
    #geoflix-hero .home-genre-panel,
    #geoflix-hero .home-genre-panel * {
        pointer-events: auto !important;
    }

    #geoflix-hero .home-quick-cats a,
    #geoflix-hero .home-quick-films-toggle {
        position: relative !important;
        z-index: 2 !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent;
    }

    #geoflix-hero .home-genre-panel {
        z-index: 110 !important;
    }

    #geoflix-hero .hero-arrows,
    #geoflix-hero .hero-dots {
        z-index: 30 !important;
    }
}


/* =====================================================================
   GeoFlix v94 — mobile quick-menu press feedback + selection fix
   ===================================================================== */
@media (max-width: 768px) {
    #geoflix-hero .home-quick-cats,
    #geoflix-hero .home-quick-cats * {
        -webkit-user-select: none !important;
        user-select: none !important;
        -webkit-touch-callout: none !important;
    }

    #geoflix-hero .home-quick-cats a,
    #geoflix-hero .home-quick-films-toggle {
        cursor: pointer !important;
        transition:
            transform .12s ease,
            background .12s ease,
            border-color .12s ease,
            box-shadow .12s ease,
            filter .12s ease !important;
    }

    /* Real phone tap feedback + desktop DevTools click feedback. */
    #geoflix-hero .home-quick-cats a:active,
    #geoflix-hero .home-quick-films-toggle:active,
    #geoflix-hero .home-quick-cats a.is-pressed,
    #geoflix-hero .home-quick-films-toggle.is-pressed {
        transform: scale(.955) !important;
        background: rgba(0,210,106,.20) !important;
        border-color: rgba(0,210,106,.72) !important;
        box-shadow: inset 0 0 0 1px rgba(0,210,106,.12) !important;
        filter: brightness(1.12) !important;
    }

    #geoflix-hero .home-quick-cats a:first-child:active,
    #geoflix-hero .home-quick-cats a:first-child.is-pressed {
        background: var(--green) !important;
        color: #04130b !important;
        filter: brightness(.92) !important;
    }
}

/* Desktop mouse testing: do not let dragging/clicking the quick menu select the hero. */
#geoflix-hero .home-quick-cats,
#geoflix-hero .home-quick-cats * {
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none;
}


/* =====================================================================
   GeoFlix v95 — equal green press state + no hero selection in emulation
   ===================================================================== */

/* The hero should never behave like selectable page content while swiping/testing. */
#geoflix-hero,
#geoflix-hero *,
#geoflix-hero img,
#geoflix-hero a,
#geoflix-hero button {
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
}

/* Every quick-menu item gets exactly the same pressed feedback. */
@media (max-width: 768px) {
    #geoflix-hero .home-quick-cats a:active,
    #geoflix-hero .home-quick-cats a.is-pressed,
    #geoflix-hero .home-quick-films-toggle:active,
    #geoflix-hero .home-quick-films-toggle.is-pressed {
        transform: scale(.955) !important;
        background: var(--green) !important;
        border-color: var(--green) !important;
        color: #04130b !important;
        box-shadow: 0 0 0 2px rgba(0,210,106,.14) inset !important;
        filter: brightness(.96) !important;
    }

    /* Remove the old special-case behavior that only made the first item green. */
    #geoflix-hero .home-quick-cats a:first-child:active,
    #geoflix-hero .home-quick-cats a:first-child.is-pressed {
        background: var(--green) !important;
        border-color: var(--green) !important;
        color: #04130b !important;
    }
}


/* =====================================================================
   GeoFlix v96 — quick-menu final press state / no hero-selection
   ===================================================================== */

/* Kill browser text/image selection/drag feedback inside the hero. */
#geoflix-hero,
#geoflix-hero * {
    -webkit-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
}

#geoflix-hero img,
#geoflix-hero a {
    -webkit-user-drag: none !important;
}

/* IMPORTANT: no item is permanently highlighted.
   The old "first-child is always green" rule is overridden here. */
@media (max-width: 768px) {
    #geoflix-hero .home-quick-cats a,
    #geoflix-hero .home-quick-cats a:first-child {
        background: rgba(84,89,94,.72) !important;
        border-color: rgba(255,255,255,.10) !important;
        color: #f5f8fa !important;
        transform: scale(1) !important;
        filter: none !important;
    }

    #geoflix-hero .home-quick-cats a,
    #geoflix-hero .home-quick-films-toggle {
        -webkit-tap-highlight-color: transparent !important;
        transition:
            transform .11s ease,
            background-color .11s ease,
            border-color .11s ease,
            color .11s ease,
            box-shadow .11s ease !important;
    }

    /* Every category has the same unmistakable green press state. */
    #geoflix-hero .home-quick-cats a.is-pressed,
    #geoflix-hero .home-quick-cats a:active,
    #geoflix-hero .home-quick-films-toggle.is-pressed,
    #geoflix-hero .home-quick-films-toggle:active {
        background: var(--green) !important;
        border-color: var(--green) !important;
        color: #04130b !important;
        transform: scale(.94) !important;
        box-shadow:
            0 0 0 2px rgba(0,210,106,.18) inset,
            0 4px 12px rgba(0,210,106,.18) !important;
        filter: brightness(.96) !important;
    }
}


/* =====================================================================
   GeoFlix v101 — ONLY related-section desktop width adjustment
   Mobile/tablet <=768px stays exactly as it was in v96.
   Card count, card size, slider behavior and all other layout remain untouched.
   ===================================================================== */
@media (min-width: 769px) {
    .movie-page .related-section .container {
        width: min(1440px, calc(100% - 48px)) !important;
        max-width: 1440px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* =====================================================================
   GeoFlix v105 — tag results use the normal category card grid
   /tags/ itself still uses tagscloud.tpl; clicked tags render shortstory.tpl
   cards in the same layout as category pages.
   ===================================================================== */

.tags-catalog-shell{
    padding-top:105px!important;
}

.tags-category-page{
    width:100%;
}

/* Tag result page: same visual structure as a normal category page. */
.tags-result-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:30px 16px!important;
    align-items:start!important;
    width:100%!important;
    margin-top:0!important;
}

.tags-result-grid > .movie-card,
.tags-result-grid > .series-card,
.tags-result-grid > .catalog-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
}

.tags-result-grid .poster-image{
    width:100%!important;
    aspect-ratio:2/3!important;
    height:auto!important;
    overflow:hidden!important;
}

.tags-result-grid .poster-image > .poster-link,
.tags-result-grid .poster-image > .poster-link > img,
.tags-result-grid .poster-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}

.tags-result-grid .card-title-link h3{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* On the master /tags/ page, tagscloud.tpl is the only child.
   Let its own beautiful heading/card remain and hide the result heading/pagination. */
.tags-category-page:has(.tags-page) .tags-result-topbar,
.tags-category-page:has(.tags-page) .tags-result-pagination{
    display:none!important;
}

.tags-category-page:has(.tags-page) .tags-result-grid{
    display:block!important;
}

.tags-category-page:has(.tags-page) .tags-page{
    width:100%!important;
    margin:0!important;
}

@media(max-width:1100px){
    .tags-result-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}

@media(max-width:800px){
    .tags-catalog-shell{
        padding-top:92px!important;
    }

    .tags-result-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:22px 10px!important;
    }
}

@media(max-width:700px){
    .tags-catalog-shell{
        padding-top:82px!important;
    }

    .tags-result-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:20px 10px!important;
    }

    .tags-result-topbar{
        margin-bottom:18px!important;
    }

    .tags-result-topbar h1{
        font-size:24px!important;
    }
}


/* =====================================================================
   GeoFlix v104 — tagscloud.tpl page
   Only styles the actual DLE tags cloud. No main.tpl changes required.
   ===================================================================== */

.geoflix-tags-page{
    width:min(100%, 1500px);
    margin:0 auto;
    padding:6px 0 40px;
}

.geoflix-tags-card{
    width:100%;
    padding:24px 22px 28px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:
        linear-gradient(180deg, rgba(17,25,36,.98) 0%, rgba(11,18,27,.98) 100%);
    box-shadow:0 18px 48px rgba(0,0,0,.18);
}

.geoflix-tags-kicker{
    margin:0 0 7px;
    color:#607991;
    font-size:10px;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
}

.geoflix-tags-title{
    margin:0;
    color:#fff;
    font-size:30px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.5px;
}

.geoflix-tags-subtitle{
    margin:8px 0 0;
    color:#7f91a4;
    font-size:13px;
    line-height:1.6;
}

.geoflix-tags-divider{
    height:1px;
    margin:18px 0;
    background:rgba(255,255,255,.08);
}

.geoflix-tags-cloud{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:8px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    font-size:0 !important;
    line-height:1 !important;
}

/* DLE may insert line breaks/spaces between tag links. */
.geoflix-tags-cloud br{
    display:none !important;
}

.geoflix-tags-cloud a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    margin:0 !important;
    padding:7px 12px !important;

    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:8px !important;
    background:rgba(255,255,255,.035) !important;

    color:#b9c9d8 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    text-decoration:none !important;

    white-space:normal !important;
    overflow-wrap:anywhere !important;

    transition:
        transform .16s ease,
        color .16s ease,
        background-color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease !important;
}

.geoflix-tags-cloud a:hover{
    color:#fff !important;
    background:rgba(0,210,106,.10) !important;
    border-color:rgba(0,210,106,.46) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
    transform:translateY(-1px);
}

.geoflix-tags-cloud a:active{
    color:#061009 !important;
    background:var(--green) !important;
    border-color:var(--green) !important;
    transform:scale(.97);
}

/* If DLE puts font/span wrappers inside the link, neutralize their inline size/color. */
.geoflix-tags-cloud a font,
.geoflix-tags-cloud a span{
    color:inherit !important;
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:inherit !important;
}

@media(max-width:768px){
    .geoflix-tags-page{
        padding:0 0 30px;
    }

    .geoflix-tags-card{
        padding:18px 14px 20px;
        border-radius:14px;
    }

    .geoflix-tags-kicker{
        font-size:9px;
    }

    .geoflix-tags-title{
        font-size:25px;
    }

    .geoflix-tags-subtitle{
        font-size:11px;
    }

    .geoflix-tags-divider{
        margin:14px 0;
    }

    .geoflix-tags-cloud{
        gap:7px !important;
    }

    .geoflix-tags-cloud a{
        min-height:31px !important;
        padding:6px 9px !important;
        border-radius:7px !important;
        font-size:10.5px !important;
    }
}


/* =====================================================================
   GeoFlix v109 — fullstory ambient poster background
   Very subtle YouTube-like ambience; fullstory only.
   ===================================================================== */
.movie-page{
    position:relative!important;
    isolation:isolate;
}

/* Keep all real fullstory content above the ambient layer. */
.movie-page > *{
    position:relative;
    z-index:1;
}

.movie-page.has-ambient-poster::before{
    content:"";
    position:fixed;
    z-index:0;
    top:-14vh;
    right:-10vw;
    bottom:-14vh;
    left:-10vw;
    pointer-events:none;

    background-image:
        linear-gradient(
            180deg,
            rgba(6,10,13,.70) 0%,
            rgba(6,10,13,.84) 36%,
            rgba(6,10,13,.94) 78%,
            #060a0d 100%
        ),
        var(--geo-ambient-poster);
    background-size:cover;
    background-position:center 18%;
    background-repeat:no-repeat;

    filter:blur(86px) saturate(1.28);
    opacity:.115;
    transform:scale(1.08);
    will-change:transform;
}

/* Add a restrained color bloom near the upper player area without
   ever making the poster itself recognizable. */
.movie-page.has-ambient-poster::after{
    content:"";
    position:absolute;
    z-index:0;
    top:0;
    left:0;
    right:0;
    height:min(72vh,720px);
    pointer-events:none;

    background-image:var(--geo-ambient-poster);
    background-size:cover;
    background-position:center 22%;
    background-repeat:no-repeat;

    filter:blur(110px) saturate(1.38);
    opacity:.055;
    transform:scale(1.04);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.72) 45%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.72) 45%,transparent 100%);
}

@media(max-width:700px){
    .movie-page.has-ambient-poster::before{
        filter:blur(72px) saturate(1.22);
        opacity:.095;
        background-position:center 12%;
    }

    .movie-page.has-ambient-poster::after{
        height:58vh;
        filter:blur(88px) saturate(1.28);
        opacity:.045;
    }
}

@media(prefers-reduced-motion:reduce){
    .movie-page.has-ambient-poster::before,
    .movie-page.has-ambient-poster::after{
        will-change:auto;
    }
}


/* =====================================================================
   GeoFlix v114 — Account / Login / Registration
   ===================================================================== */

.geo-account{
    position:relative!important;
    flex:0 0 auto!important;
    z-index:3600!important;
}
.geo-account-btn{
    position:relative!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.15)!important;
    border-radius:50%!important;
    background:rgba(5,8,9,.38)!important;
    color:#fff!important;
    cursor:pointer!important;
    transition:.2s ease!important;
}
.geo-account-btn:hover,
.geo-account.is-open .geo-account-btn{
    color:var(--green)!important;
    border-color:rgba(0,216,121,.7)!important;
    background:rgba(0,216,121,.08)!important;
    box-shadow:0 0 0 3px rgba(0,216,121,.06)!important;
}
.geo-account-btn svg{
    display:block!important;
    width:20px!important;
    height:20px!important;
    fill:currentColor!important;
}
.geo-account-avatar{
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    border-radius:50%!important;
    background-color:#10171b!important;
    background-size:cover!important;
    background-position:center!important;
    color:#fff!important;
}
.geo-account-avatar>span{
    width:100%!important;
    overflow:hidden!important;
    padding:0 3px!important;
    font-size:8px!important;
    font-weight:800!important;
    text-align:center!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.geo-account-pm{
    position:absolute!important;
    top:-3px!important;
    right:-4px!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    display:grid!important;
    place-items:center!important;
    border:2px solid #080d10!important;
    border-radius:20px!important;
    background:var(--green)!important;
    color:#03110a!important;
    font-size:8px!important;
    font-weight:900!important;
}

.geo-account-panel{
    position:absolute!important;
    top:calc(100% + 12px)!important;
    right:0!important;
    width:min(360px,calc(100vw - 24px))!important;
    padding:20px!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-8px) scale(.985)!important;
    transform-origin:top right!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:16px!important;
    background:rgba(7,11,14,.975)!important;
    box-shadow:0 24px 70px rgba(0,0,0,.58)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    transition:opacity .18s ease,transform .2s ease,visibility .18s!important;
    z-index:5000!important;
}
.geo-account.is-open .geo-account-panel{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0) scale(1)!important;
}
.geo-account-panel::before{
    content:""!important;
    position:absolute!important;
    top:-6px!important;
    right:15px!important;
    width:11px!important;
    height:11px!important;
    border-left:1px solid rgba(255,255,255,.10)!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    background:#080d10!important;
    transform:rotate(45deg)!important;
}
.geo-account-panel-head{
    margin-bottom:16px!important;
}
.geo-account-kicker,
.geo-auth-kicker{
    display:block!important;
    margin-bottom:6px!important;
    color:var(--green)!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:1.55px!important;
}
.geo-account-panel-head strong{
    display:block!important;
    color:#fff!important;
    font-size:21px!important;
    line-height:1.2!important;
}
.geo-account-panel-head p{
    margin:7px 0 0!important;
    color:#839097!important;
    font-size:11px!important;
    line-height:1.55!important;
}

.geo-login-form{
    display:grid!important;
    gap:11px!important;
}
.geo-auth-field{
    display:grid!important;
    gap:7px!important;
    min-width:0!important;
}
.geo-auth-field>span,
.geo-auth-recaptcha>span{
    color:#aeb8bd!important;
    font-size:10px!important;
    font-weight:800!important;
}
.geo-auth-field input,
.geo-auth-field textarea{
    width:100%!important;
    min-width:0!important;
    border:1px solid rgba(255,255,255,.11)!important;
    border-radius:10px!important;
    outline:none!important;
    background:#0c1317!important;
    color:#fff!important;
    font-family:inherit!important;
    font-size:12px!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.geo-auth-field input{
    height:43px!important;
    padding:0 12px!important;
}
.geo-auth-field textarea{
    padding:12px!important;
    resize:vertical!important;
}
.geo-auth-field input:focus,
.geo-auth-field textarea:focus{
    border-color:rgba(0,216,121,.65)!important;
    background:#0d1719!important;
    box-shadow:0 0 0 3px rgba(0,216,121,.07)!important;
}
.geo-auth-primary,
.geo-auth-secondary{
    border:0!important;
    border-radius:10px!important;
    font-family:inherit!important;
    font-weight:900!important;
    cursor:pointer!important;
    transition:transform .18s ease,filter .18s ease,border-color .18s ease!important;
}
.geo-auth-primary{
    min-height:43px!important;
    padding:0 16px!important;
    background:linear-gradient(180deg,#00d879,#00b965)!important;
    color:#02110a!important;
    font-size:12px!important;
}
.geo-auth-primary:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}
.geo-auth-secondary{
    min-height:43px!important;
    padding:0 14px!important;
    border:1px solid rgba(0,216,121,.32)!important;
    background:rgba(0,216,121,.06)!important;
    color:#dff8ec!important;
    font-size:10px!important;
}
.geo-account-links{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-top:14px!important;
    padding-top:14px!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
}
.geo-account-links a{
    color:#93a0a7!important;
    text-decoration:none!important;
    font-size:10px!important;
    font-weight:700!important;
}
.geo-account-links a:hover{color:#fff!important}
.geo-account-links .geo-auth-register{color:var(--green)!important}

.geo-account-user-head{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding-bottom:15px!important;
    margin-bottom:8px!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.geo-account-avatar-large{
    width:46px!important;
    height:46px!important;
    flex:0 0 46px!important;
    border:1px solid rgba(0,216,121,.25)!important;
}
.geo-account-avatar-large>span{font-size:9px!important}
.geo-account-user-head strong{
    display:block!important;
    max-width:230px!important;
    overflow:hidden!important;
    color:#fff!important;
    font-size:14px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.geo-account-menu{
    display:grid!important;
    gap:3px!important;
}
.geo-account-menu a{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 11px!important;
    border-radius:9px!important;
    color:#c8d0d4!important;
    text-decoration:none!important;
    font-size:11px!important;
    font-weight:750!important;
    transition:.18s ease!important;
}
.geo-account-menu a:hover{
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
}
.geo-account-menu a em{
    min-width:22px!important;
    height:22px!important;
    display:grid!important;
    place-items:center!important;
    padding:0 6px!important;
    border-radius:20px!important;
    background:rgba(0,216,121,.10)!important;
    color:var(--green)!important;
    font-style:normal!important;
    font-size:9px!important;
}
.geo-account-menu .geo-account-logout{
    margin-top:5px!important;
    color:#ff8c8c!important;
}

/* Registration / profile page */
.geo-auth-page{
    width:min(760px,100%)!important;
    margin:0 auto!important;
    padding:14px 0 50px!important;
}
.geo-auth-card{
    position:relative!important;
    overflow:hidden!important;
    padding:clamp(22px,4vw,38px)!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:20px!important;
    background:
        radial-gradient(circle at 15% 0%,rgba(0,216,121,.08),transparent 34%),
        linear-gradient(145deg,#0d1418,#080d10)!important;
    box-shadow:0 28px 80px rgba(0,0,0,.35)!important;
}
.geo-auth-card::after{
    content:""!important;
    position:absolute!important;
    width:260px!important;
    height:260px!important;
    right:-150px!important;
    top:-130px!important;
    border-radius:50%!important;
    background:rgba(0,216,121,.045)!important;
    filter:blur(10px)!important;
    pointer-events:none!important;
}
.geo-auth-brand{
    position:relative!important;
    z-index:1!important;
    margin-bottom:24px!important;
}
.geo-auth-logo{
    display:block!important;
    width:145px!important;
    margin-bottom:22px!important;
}
.geo-auth-logo img{
    display:block!important;
    width:100%!important;
    height:auto!important;
}
.geo-auth-brand h1{
    margin:0!important;
    color:#fff!important;
    font-size:clamp(27px,4vw,39px)!important;
    line-height:1.05!important;
    letter-spacing:-.9px!important;
}
.geo-auth-brand p{
    max-width:560px!important;
    margin:9px 0 0!important;
    color:#8c989e!important;
    font-size:12px!important;
    line-height:1.6!important;
}
.geo-auth-notice{
    margin-bottom:20px!important;
    padding:12px 14px!important;
    border:1px solid rgba(0,216,121,.14)!important;
    border-radius:10px!important;
    background:rgba(0,216,121,.045)!important;
    color:#9fb1aa!important;
    font-size:10px!important;
    line-height:1.5!important;
}
.geo-reg-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
}
.geo-reg-user-field,
.geo-auth-field-wide{grid-column:1/-1!important}
.geo-reg-login-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
}
.geo-reg-login-row #result-registration{
    grid-column:1/-1!important;
}
#result-registration{
    display:block!important;
    min-height:0!important;
    color:#93a0a7!important;
    font-size:9px!important;
}
.geo-auth-protect{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:12px!important;
    margin-top:16px!important;
}
.geo-auth-captcha{
    min-height:43px!important;
    display:flex!important;
    align-items:center!important;
}
.geo-auth-captcha img{
    max-height:43px!important;
    border-radius:8px!important;
}
.geo-auth-recaptcha{
    display:grid!important;
    gap:8px!important;
    margin-top:16px!important;
}
.geo-auth-xfields{
    margin-top:18px!important;
}
.geo-auth-xfields table{
    width:100%!important;
}
.geo-auth-submit-row{
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    margin-top:24px!important;
    padding-top:22px!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
}
.geo-auth-submit{min-width:160px!important}
.geo-auth-home-link{
    color:#849198!important;
    text-decoration:none!important;
    font-size:10px!important;
    font-weight:700!important;
}
.geo-auth-home-link:hover{color:#fff!important}

/* DLE may inject wrappers/tables into registration content. Keep them neutral. */
.geo-auth-page table,
.geo-auth-page tbody,
.geo-auth-page tr,
.geo-auth-page td{
    border:0!important;
    background:transparent!important;
}

@media(max-width:700px){
    .geo-account-btn{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
    }
    .geo-account-panel{
        position:fixed!important;
        top:66px!important;
        right:10px!important;
        left:10px!important;
        width:auto!important;
        max-height:calc(100dvh - 78px)!important;
        overflow:auto!important;
    }
    .geo-account-panel::before{display:none!important}
    .geo-auth-page{padding-top:4px!important}
    .geo-auth-card{
        padding:20px 15px!important;
        border-radius:16px!important;
    }
    .geo-auth-logo{width:125px!important;margin-bottom:18px!important}
    .geo-reg-grid{grid-template-columns:1fr!important;gap:13px!important}
    .geo-reg-user-field,
    .geo-auth-field-wide{grid-column:auto!important}
    .geo-auth-protect{grid-template-columns:1fr!important}
    .geo-auth-submit-row{
        align-items:stretch!important;
        flex-direction:column!important;
    }
    .geo-auth-submit{width:100%!important}
    .geo-auth-home-link{text-align:center!important}
}

@media(max-width:480px){
    .geo-account-btn{
        width:35px!important;
        height:35px!important;
        min-width:35px!important;
    }
    .geo-account-btn svg{width:18px!important;height:18px!important}
    .geo-account-avatar{width:27px!important;height:27px!important}
}


/* =====================================================================
   GeoFlix v115 — profile page + exact mobile account-button match
   ===================================================================== */

/* Account button must visually match the other header circles exactly. */
.geo-account-btn{
    background:rgba(5,8,9,.38)!important;
    border-color:rgba(255,255,255,.15)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}
@media(max-width:700px){
    .geo-account-btn{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        flex:0 0 38px!important;
        background:rgba(10,18,22,.45)!important;
        border-color:rgba(255,255,255,.14)!important;
        color:#fff!important;
        box-shadow:none!important;
        backdrop-filter:blur(7px)!important;
        -webkit-backdrop-filter:blur(7px)!important;
    }
    .geo-account-btn:hover,
    .geo-account.is-open .geo-account-btn{
        background:rgba(10,18,22,.45)!important;
        border-color:rgba(255,255,255,.14)!important;
        color:#fff!important;
        box-shadow:none!important;
    }
}
@media(max-width:480px){
    .geo-account-btn{
        width:35px!important;
        height:35px!important;
        min-width:35px!important;
        flex-basis:35px!important;
    }
}

/* Profile page */
.geo-profile-page{
    width:min(1180px,calc(100% - 48px))!important;
    margin:0 auto!important;
    padding:118px 0 60px!important;
}
.geo-profile-card,
.geo-profile-edit{
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:20px!important;
    background:
        radial-gradient(circle at 12% 0%,rgba(0,216,121,.07),transparent 34%),
        linear-gradient(145deg,#0d1418,#080d10)!important;
    box-shadow:0 26px 80px rgba(0,0,0,.30)!important;
}
.geo-profile-card{
    padding:28px!important;
}
.geo-profile-head{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr) auto!important;
    gap:20px!important;
    align-items:center!important;
}
.geo-profile-avatar{
    width:92px!important;
    height:92px!important;
    overflow:hidden!important;
    border:1px solid rgba(0,216,121,.24)!important;
    border-radius:18px!important;
    background:#0c1317!important;
    box-shadow:0 14px 36px rgba(0,0,0,.28)!important;
}
.geo-profile-avatar img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
.geo-profile-kicker{
    display:block!important;
    margin-bottom:7px!important;
    color:var(--green)!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:1.6px!important;
}
.geo-profile-main h1,
.geo-profile-edit-head h2{
    margin:0!important;
    color:#fff!important;
    line-height:1.1!important;
}
.geo-profile-main h1{
    font-size:clamp(25px,3vw,38px)!important;
}
.geo-profile-status-row{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:10px!important;
}
.geo-profile-group,
.geo-profile-online,
.geo-profile-offline{
    display:inline-flex!important;
    align-items:center!important;
    min-height:25px!important;
    padding:0 9px!important;
    border-radius:999px!important;
    font-size:9px!important;
    font-weight:850!important;
}
.geo-profile-group{
    background:rgba(255,255,255,.055)!important;
    color:#b7c1c5!important;
}
.geo-profile-online{
    background:rgba(0,216,121,.10)!important;
    color:#4de69d!important;
}
.geo-profile-offline{
    background:rgba(255,255,255,.045)!important;
    color:#758187!important;
}
.geo-profile-time{
    margin-top:8px!important;
    color:#7c898f!important;
    font-size:9px!important;
}
.geo-profile-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
    gap:8px!important;
}
.geo-profile-action a,
.geo-profile-edit-btn{
    min-height:38px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 13px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.035)!important;
    color:#dce3e6!important;
    text-decoration:none!important;
    font-family:inherit!important;
    font-size:10px!important;
    font-weight:800!important;
    cursor:pointer!important;
}
.geo-profile-edit-btn{
    border-color:rgba(0,216,121,.25)!important;
    background:rgba(0,216,121,.06)!important;
    color:#c9f6df!important;
}
.geo-profile-stats{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:26px!important;
    padding-top:22px!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
}
.geo-profile-stat{
    min-width:0!important;
    padding:14px!important;
    border:1px solid rgba(255,255,255,.065)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.025)!important;
}
.geo-profile-stat span{
    display:block!important;
    margin-bottom:6px!important;
    color:#718087!important;
    font-size:9px!important;
    font-weight:750!important;
}
.geo-profile-stat strong{
    display:block!important;
    overflow:hidden!important;
    color:#edf2f4!important;
    font-size:13px!important;
    font-weight:800!important;
    text-overflow:ellipsis!important;
}
.geo-profile-details{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:10px!important;
}
.geo-profile-detail{
    min-width:0!important;
    padding:14px!important;
    border:1px solid rgba(255,255,255,.055)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.018)!important;
}
.geo-profile-detail-wide{grid-column:1/-1!important}
.geo-profile-detail>span{
    display:block!important;
    margin-bottom:6px!important;
    color:#718087!important;
    font-size:9px!important;
    font-weight:750!important;
}
.geo-profile-detail strong,
.geo-profile-detail>div{
    color:#cbd4d8!important;
    font-size:11px!important;
    line-height:1.55!important;
}
.geo-profile-content-links{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin-top:18px!important;
}
.geo-profile-content-links a{
    color:var(--green)!important;
    font-size:10px!important;
    text-decoration:none!important;
}

.geo-profile-edit{
    margin-top:18px!important;
    padding:26px!important;
}
.geo-profile-edit.hidden{display:none!important}
.geo-profile-edit-head{
    margin-bottom:22px!important;
}
.geo-profile-edit-head h2{
    font-size:24px!important;
}
.geo-profile-edit-head p{
    margin:7px 0 0!important;
    color:#7e8b91!important;
    font-size:10px!important;
    line-height:1.55!important;
}
.geo-profile-edit-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
}
.geo-profile-wide{grid-column:1/-1!important}
.geo-profile-edit-block,
.geo-profile-ip{
    min-width:0!important;
    padding:14px!important;
    border:1px solid rgba(255,255,255,.06)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.02)!important;
}
.geo-profile-edit-label{
    display:block!important;
    margin-bottom:9px!important;
    color:#aeb8bd!important;
    font-size:10px!important;
    font-weight:800!important;
}
.geo-profile-check,
.geo-profile-check-stack{
    color:#aab5ba!important;
    font-size:10px!important;
    line-height:1.5!important;
}
.geo-profile-check-stack{
    display:grid!important;
    gap:7px!important;
}
.geo-profile-check input{
    margin-right:7px!important;
}
.geo-profile-select select{
    width:100%!important;
    min-height:42px!important;
    padding:0 10px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:9px!important;
    background:#0c1317!important;
    color:#fff!important;
}
.geo-profile-inline-content{
    color:#b3bec3!important;
    font-size:10px!important;
}
.geo-profile-xfields table{
    width:100%!important;
    border-collapse:collapse!important;
}
.geo-profile-xfields td{
    padding:5px!important;
    border:0!important;
}
.geo-profile-ip details summary{
    color:#b8c2c7!important;
    font-size:10px!important;
    font-weight:800!important;
    cursor:pointer!important;
}
.geo-profile-ip-body{
    display:grid!important;
    gap:8px!important;
    margin-top:12px!important;
}
.geo-profile-ip textarea{
    width:100%!important;
    min-height:110px!important;
    padding:10px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:9px!important;
    background:#0c1317!important;
    color:#fff!important;
}
.geo-profile-ip-note,
.geo-profile-ip small{
    color:#78868d!important;
    font-size:9px!important;
    line-height:1.5!important;
}
.geo-profile-save-row{
    margin-top:20px!important;
    padding-top:20px!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
}
.geo-profile-save{
    min-width:190px!important;
}

@media(max-width:900px){
    .geo-profile-page{
        width:calc(100% - 28px)!important;
        padding-top:92px!important;
    }
    .geo-profile-head{
        grid-template-columns:76px minmax(0,1fr)!important;
    }
    .geo-profile-avatar{
        width:76px!important;
        height:76px!important;
    }
    .geo-profile-actions{
        grid-column:1/-1!important;
        justify-content:flex-start!important;
    }
    .geo-profile-stats{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:600px){
    .geo-profile-page{
        width:calc(100% - 20px)!important;
        padding-top:80px!important;
    }
    .geo-profile-card,
    .geo-profile-edit{
        padding:16px!important;
        border-radius:15px!important;
    }
    .geo-profile-head{
        grid-template-columns:64px minmax(0,1fr)!important;
        gap:13px!important;
    }
    .geo-profile-avatar{
        width:64px!important;
        height:64px!important;
        border-radius:14px!important;
    }
    .geo-profile-main h1{font-size:22px!important}
    .geo-profile-actions{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
    }
    .geo-profile-action,
    .geo-profile-action a,
    .geo-profile-edit-btn{
        width:100%!important;
    }
    .geo-profile-stats{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
        margin-top:18px!important;
    }
    .geo-profile-stat{
        padding:11px!important;
    }
    .geo-profile-details,
    .geo-profile-edit-grid{
        grid-template-columns:1fr!important;
        gap:11px!important;
    }
    .geo-profile-detail-wide,
    .geo-profile-wide{
        grid-column:auto!important;
    }
    .geo-profile-save{
        width:100%!important;
    }
}


/* =====================================================================
   GeoFlix v116 — clean account/profile + auth polish
   ===================================================================== */

/* No private-message indicator or menu row. */
.geo-account-pm{display:none!important}

/* Registration direct POST button should look like the old link. */
.geo-register-direct-form{
    margin:0!important;
    padding:0!important;
}
.geo-auth-register-btn{
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:none!important;
    font-family:inherit!important;
    cursor:pointer!important;
}

/* Default account avatar: use the GeoFlix logo instead of DLE's generic camera. */
.geo-account-avatar[style*="noavatar"],
.geo-account-avatar[style*="no-avatar"],
.geo-account-avatar[style*="dleimages/noavatar"]{
    background-image:url('../images/logoflix.svg')!important;
    background-size:78%!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-color:#08100d!important;
}
.geo-account-avatar[style*="noavatar"]>span,
.geo-account-avatar[style*="no-avatar"]>span,
.geo-account-avatar[style*="dleimages/noavatar"]>span{
    opacity:0!important;
}

/* The same GeoFlix fallback on the profile page. */
.geo-profile-avatar{
    background:#08100d url('../images/logoflix.svg') center/82% auto no-repeat!important;
}
.geo-profile-avatar img[src*="noavatar"],
.geo-profile-avatar img[src*="no-avatar"]{
    opacity:0!important;
}

/* Minimal profile header — no group/status/action buttons. */
.geo-profile-head-clean{
    grid-template-columns:92px minmax(0,1fr)!important;
}
.geo-profile-subtitle{
    margin:8px 0 0!important;
    color:#7f8c92!important;
    font-size:10px!important;
    line-height:1.5!important;
}
.geo-profile-card-clean .geo-profile-actions,
.geo-profile-card-clean .geo-profile-status-row,
.geo-profile-card-clean .geo-profile-time{
    display:none!important;
}

/* Make old DLE CAPTCHA feel like part of the GeoFlix UI. */
.geo-captcha-box{
    padding:12px!important;
    border:1px solid rgba(255,255,255,.065)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.018)!important;
}
.geo-auth-captcha-pretty{
    min-width:150px!important;
    min-height:48px!important;
    padding:5px 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(0,216,121,.14)!important;
    border-radius:10px!important;
    background:#f3f6f5!important;
    overflow:hidden!important;
}
.geo-auth-captcha-pretty img{
    display:block!important;
    max-width:100%!important;
    max-height:44px!important;
    width:auto!important;
    height:auto!important;
    border-radius:6px!important;
    filter:contrast(1.03)!important;
}
.geo-recaptcha-box{
    padding:12px!important;
    border:1px solid rgba(255,255,255,.065)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.018)!important;
}
.geo-lost-card{
    max-width:650px!important;
    margin:0 auto!important;
}
.geo-lost-card>.geo-auth-field{
    margin-bottom:16px!important;
}

@media(max-width:700px){
    .geo-profile-head-clean{
        grid-template-columns:70px minmax(0,1fr)!important;
    }
    .geo-captcha-box{
        grid-template-columns:1fr!important;
    }
    .geo-auth-captcha-pretty{
        width:fit-content!important;
        min-width:140px!important;
    }
}


/* =====================================================================
   GeoFlix v120 — account button = Favorites / Facebook header control
   ===================================================================== */

/* Desktop: exact same circle size, border, base tone and vertical behavior. */
.header-actions .header-account-btn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
    padding:0!important;

    display:grid!important;
    place-items:center!important;

    border:1px solid rgba(255,255,255,.15)!important;
    border-radius:50%!important;

    background:rgba(255,255,255,.025)!important;
    color:#fff!important;

    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;

    cursor:pointer!important;
    transform:none!important;
    transition:.22s ease!important;
}

/* Match Favorites interaction language: green outline/icon + tiny lift. */
.header-actions .header-account-btn:hover,
.header-actions .geo-account.is-open .header-account-btn{
    color:var(--green)!important;
    border-color:var(--green)!important;
    background:rgba(255,255,255,.025)!important;
    box-shadow:none!important;
    transform:translateY(-2px)!important;
}

.header-actions .header-account-btn svg{
    display:block!important;
    width:19px!important;
    height:19px!important;
    fill:currentColor!important;
}

/* Logged-in avatar stays inside the exact same outer circle. */
.header-actions .header-account-btn .geo-account-avatar{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
}

/* Tablet/mobile: inherit the exact dimensions used by Favorites/Facebook. */
@media(max-width:480px){
    .header-actions .favorite-btn,
    .header-actions .facebook-btn,
    .header-actions .header-account-btn,
    .header-actions .mobile-menu-btn,
    .header-actions .header-search-btn{
        width:35px!important;
        height:35px!important;
        min-width:35px!important;
        flex:0 0 35px!important;
    }

    .header-actions .header-account-btn{
        background:rgba(255,255,255,.025)!important;
        border-color:rgba(255,255,255,.15)!important;
        color:#fff!important;
        transform:none!important;
    }

    .header-actions .header-account-btn:hover,
    .header-actions .geo-account.is-open .header-account-btn{
        color:var(--green)!important;
        border-color:var(--green)!important;
        background:rgba(255,255,255,.025)!important;
        box-shadow:none!important;
        transform:none!important;
    }

    .header-actions .header-account-btn svg{
        width:18px!important;
        height:18px!important;
    }

    .header-actions .header-account-btn .geo-account-avatar{
        width:25px!important;
        height:25px!important;
        min-width:25px!important;
    }
}

/* 481–768px: keep the same compact 38px family used by the current header. */
@media(min-width:481px) and (max-width:768px){
    .header-actions .header-account-btn{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        flex:0 0 38px!important;
        background:rgba(255,255,255,.025)!important;
        border-color:rgba(255,255,255,.15)!important;
    }

    .header-actions .header-account-btn:hover,
    .header-actions .geo-account.is-open .header-account-btn{
        color:var(--green)!important;
        border-color:var(--green)!important;
        background:rgba(255,255,255,.025)!important;
        box-shadow:none!important;
    }
}


/* =====================================================================
   GeoFlix v121 — mobile search/account visibility + lost-password result
   ===================================================================== */

/* When the mobile search expands, hide the account control exactly like
   the other compact header actions so the input gets the full width. */
@media(max-width:768px){
    .header-actions.search-is-open .geo-account{
        display:none!important;
    }
}

/* Dedicated lost-password route shell so post-submit DLE messages never
   fall onto a bare black page. */
.geo-lost-route-shell{
    width:min(760px,calc(100% - 32px))!important;
    min-height:calc(100dvh - 150px)!important;
    margin:0 auto!important;
    padding-top:105px!important;
    padding-bottom:55px!important;
}
.geo-lost-route-shell>.dle-content{
    width:100%!important;
}

/* Initial form from lostpassword.tpl */
.geo-lost-route-shell .geo-auth-page{
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

/* DLE native info.tpl result after password recovery submit. */
.geo-lost-route-shell .message-info{
    position:relative!important;
    width:100%!important;
    margin:0!important;
    padding:38px 30px 30px!important;
    border:1px solid rgba(255,255,255,.085)!important;
    border-radius:20px!important;
    background:
        radial-gradient(circle at 50% -15%,rgba(0,216,121,.12),transparent 40%),
        linear-gradient(145deg,#0d1418,#080d10)!important;
    box-shadow:0 28px 85px rgba(0,0,0,.38)!important;
    color:#9ca8ae!important;
    text-align:center!important;
    font-size:12px!important;
    line-height:1.72!important;
}
.geo-lost-route-shell .message-info::before{
    content:"✓"!important;
    width:58px!important;
    height:58px!important;
    margin:0 auto 18px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(0,216,121,.28)!important;
    border-radius:50%!important;
    background:rgba(0,216,121,.09)!important;
    color:var(--green)!important;
    box-shadow:0 0 0 7px rgba(0,216,121,.035)!important;
    font-size:30px!important;
    font-weight:900!important;
}
.geo-lost-route-shell .message-info--title{
    margin:0 0 12px!important;
    color:#fff!important;
    font-size:clamp(23px,4vw,34px)!important;
    font-weight:900!important;
    line-height:1.2!important;
}
.geo-lost-route-shell .message-info a{
    color:var(--green)!important;
    text-decoration:none!important;
    font-weight:800!important;
}

/* Add a real clickable return button after DLE's message. */
.geo-lost-result-home{
    min-width:190px!important;
    min-height:43px!important;
    margin:24px auto 0!important;
    padding:0 18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,#00d879,#00b965)!important;
    color:#02110a!important;
    text-decoration:none!important;
    font-size:11px!important;
    font-weight:900!important;
}

@media(max-width:600px){
    .geo-lost-route-shell{
        width:calc(100% - 20px)!important;
        min-height:calc(100dvh - 100px)!important;
        padding-top:78px!important;
        padding-bottom:32px!important;
    }
    .geo-lost-route-shell .message-info{
        padding:28px 16px 22px!important;
        border-radius:16px!important;
    }
}


/* =====================================================================
   GeoFlix v122 — VIP subscription / unique account ID
   ===================================================================== */
.vip-nav-link,
.mobile-vip-link,
.footer-vip-link{
    color:var(--green)!important;
}
.vip-nav-link:hover,
.mobile-vip-link:hover,
.footer-vip-link:hover{
    color:#fff!important;
}

.geo-account-vip-id{
    display:block;
    margin-top:5px;
    color:var(--green);
    font-size:9px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.45px;
}
.geo-profile-id-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid rgba(0,216,121,.16);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(0,216,121,.07),rgba(255,255,255,.018));
}
.geo-profile-id-card>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.geo-profile-id-card span{
    color:#dfe8e5;
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
}
.geo-profile-id-card small{
    color:#728187;
    font-size:9px;
}
.geo-profile-id-card strong{
    color:var(--green);
    font-size:14px;
    font-weight:900;
    letter-spacing:.7px;
}

.inner-shell:has(.vip-subscription-page){
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
}
.inner-shell:has(.vip-subscription-page)>.dle-content{
    width:100%!important;
    max-width:none!important;
}

.vip-subscription-page{
    --vip-green:#00d879;
    --vip-green-dark:#00b965;
    width:min(1320px,calc(100% - 34px));
    margin:0 auto;
    padding:112px 0 68px;
    color:#f4f7f6;
}
.vip-hero{
    position:relative;
    overflow:hidden;
    min-height:350px;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) 360px;
    align-items:center;
    gap:38px;
    padding:44px;
    border:1px solid rgba(0,216,121,.14);
    border-radius:21px;
    background:
        radial-gradient(circle at 12% 25%,rgba(0,216,121,.12),transparent 34%),
        radial-gradient(circle at 92% 18%,rgba(245,200,76,.06),transparent 24%),
        linear-gradient(145deg,#0b1417,#080d10);
    box-shadow:0 26px 80px rgba(0,0,0,.30);
}
.vip-hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.12;
    background-image:radial-gradient(rgba(255,255,255,.20) .6px,transparent .6px);
    background-size:18px 18px;
}
.vip-hero-copy,
.vip-plan-card{
    position:relative;
    z-index:1;
}
.vip-kicker,
.vip-section-kicker{
    color:var(--vip-green);
    font-size:9px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:1.45px;
}
.vip-kicker{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:0 11px;
    border:1px solid rgba(0,216,121,.22);
    border-radius:999px;
    background:rgba(0,216,121,.07);
}
.vip-hero h1{
    max-width:720px;
    margin:18px 0 12px;
    color:#fff;
    font-size:clamp(34px,4.2vw,56px);
    line-height:1.02;
    letter-spacing:-1.6px;
}
.vip-hero-copy>p{
    max-width:650px;
    margin:0;
    color:#94a2a7;
    font-size:13px;
    line-height:1.72;
}
.vip-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.vip-primary-btn,
.vip-secondary-btn{
    min-height:44px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    border:0;
    font-family:inherit;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    transition:.2s ease;
}
.vip-primary-btn{
    color:#02110a;
    background:linear-gradient(180deg,var(--vip-green),var(--vip-green-dark));
    box-shadow:0 11px 27px rgba(0,216,121,.14);
}
.vip-primary-btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.04);
}
.vip-secondary-btn{
    border:1px solid rgba(255,255,255,.10);
    color:#dbe3e5;
    background:rgba(255,255,255,.035);
}
.vip-plan-card{
    padding:25px;
    border:1px solid rgba(0,216,121,.21);
    border-radius:16px;
    background:linear-gradient(180deg,rgba(13,25,28,.97),rgba(7,13,16,.97));
    box-shadow:0 18px 55px rgba(0,0,0,.25);
}
.vip-plan-crown{
    width:56px;
    height:56px;
    margin-bottom:16px;
    display:grid;
    place-items:center;
    border:1px solid rgba(0,216,121,.18);
    border-radius:14px;
    background:rgba(0,216,121,.08);
    color:var(--vip-green);
    font-size:25px;
}
.vip-price{
    display:flex;
    align-items:flex-end;
    gap:8px;
}
.vip-price strong{
    color:var(--vip-green);
    font-size:46px;
    line-height:.95;
}
.vip-price span{
    padding-bottom:5px;
    color:#87969b;
    font-size:10px;
    font-weight:800;
}
.vip-plan-line{
    height:1px;
    margin:18px 0;
    background:rgba(255,255,255,.07);
}
.vip-plan-features{
    display:grid;
    gap:11px;
}
.vip-plan-features>div{
    display:flex;
    gap:9px;
    color:#ccd5d8;
    font-size:10px;
    line-height:1.45;
}
.vip-plan-features b{
    color:var(--vip-green);
}

.vip-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:14px 0;
}
.vip-steps article{
    min-height:110px;
    padding:18px;
    display:grid;
    grid-template-columns:40px 1fr;
    gap:13px;
    align-items:start;
    border:1px solid rgba(255,255,255,.07);
    border-radius:14px;
    background:rgba(11,18,22,.82);
}
.vip-steps article>span{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:linear-gradient(180deg,var(--vip-green),var(--vip-green-dark));
    color:#03110a;
    font-size:14px;
    font-weight:900;
}
.vip-steps h3{
    margin:3px 0 7px;
    color:#fff;
    font-size:12px;
}
.vip-steps p{
    margin:0;
    color:#7d8b91;
    font-size:9px;
    line-height:1.55;
}

.vip-main-grid{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) 340px;
    gap:14px;
    align-items:start;
}
.vip-payment-card,
.vip-side-stack article{
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;
    background:linear-gradient(145deg,#0b1216,#080d10);
    box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.vip-payment-card{
    padding:24px;
}
.vip-payment-head{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:20px;
}
.vip-payment-head h2{
    margin:3px 0 0;
    color:#fff;
    font-size:17px;
}
.vip-payment-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(0,216,121,.09);
    color:var(--vip-green);
    font-size:14px;
    font-weight:900;
}
.vip-bank-row{
    min-height:64px;
    display:grid;
    grid-template-columns:76px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:11px;
    background:rgba(255,255,255,.015);
}
.vip-bank-badge{
    width:max-content;
    padding:6px 10px;
    border-radius:7px;
    background:#ff7a1a;
    color:#fff7ef;
    font-size:9px;
    font-weight:900;
    box-shadow:0 6px 18px rgba(255,122,26,.18);
}
.vip-bank-row>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.vip-bank-recipient-line{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}
.vip-bank-row small{
    color:#748288;
    font-size:9px;
}
.vip-bank-recipient{
    color:#eaf0f2;
    font-size:10px;
    font-weight:800;
    letter-spacing:.2px;
}
.vip-bank-row strong{
    overflow:hidden;
    color:#f0f4f5;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
    letter-spacing:.45px;
}
.vip-copy-btn{
    min-height:34px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:8px;
    background:rgba(255,255,255,.03);
    color:#d3dcdf;
    font-family:inherit;
    font-size:9px;
    font-weight:850;
    cursor:pointer;
}
.vip-copy-btn.is-copied{
    border-color:rgba(0,216,121,.35);
    color:var(--vip-green);
}
.vip-amount-row{
    margin-top:12px;
    padding:15px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:11px;
    background:rgba(255,255,255,.018);
}
.vip-amount-row span{
    color:#819096;
    font-size:10px;
    font-weight:800;
}
.vip-amount-row strong{
    color:var(--vip-green);
    font-size:25px;
}
.vip-user-id-box{
    margin-top:12px;
    padding:16px;
    border:1px solid rgba(0,216,121,.16);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(0,216,121,.07),rgba(255,255,255,.018));
}
.vip-user-id-box>div:first-child{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.vip-user-id-box>div:first-child span{
    color:#e3eae8;
    font-size:10px;
    font-weight:900;
}
.vip-user-id-box small{
    color:#77868c;
    font-size:9px;
}
.vip-user-id-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:12px;
}
.vip-user-id-line strong{
    color:var(--vip-green);
    font-size:15px;
    letter-spacing:.7px;
}
.vip-user-id-box p{
    margin:10px 0 0;
    color:#708087;
    font-size:9px;
    line-height:1.55;
}
.vip-important-note{
    display:flex;
    gap:11px;
    margin-top:13px;
    padding:14px;
    border:1px solid rgba(245,200,76,.18);
    border-radius:11px;
    background:rgba(245,200,76,.04);
}
.vip-important-note>span{
    color:#f5c84c;
    font-size:18px;
}
.vip-important-note strong{
    display:block;
    margin-bottom:5px;
    color:#ede4c2;
    font-size:10px;
}
.vip-important-note p{
    margin:0;
    color:#948b70;
    font-size:9px;
    line-height:1.55;
}

.vip-login-required{
    max-width:620px;
    margin:0 auto;
    padding:26px 10px;
    text-align:center;
}
.vip-login-icon{
    width:60px;
    height:60px;
    margin:0 auto 16px;
    display:grid;
    place-items:center;
    border:1px solid rgba(0,216,121,.20);
    border-radius:50%;
    background:rgba(0,216,121,.08);
    color:var(--vip-green);
}
.vip-login-icon svg{
    width:27px;
    fill:currentColor;
}
.vip-login-required h2{
    margin:7px 0 9px;
    color:#fff;
    font-size:24px;
}
.vip-login-required p{
    max-width:520px;
    margin:0 auto 20px;
    color:#839198;
    font-size:11px;
    line-height:1.65;
}
.vip-login-open-btn{
    min-width:180px;
}
.vip-login-hint{
    display:block;
    margin-top:10px;
    color:#5f6d73;
    font-size:8px;
}

.vip-side-stack{
    display:grid;
    gap:12px;
}
.vip-side-stack article{
    padding:20px;
}
.vip-side-icon{
    width:38px;
    height:38px;
    margin-bottom:13px;
    display:grid;
    place-items:center;
    border:1px solid rgba(0,216,121,.16);
    border-radius:10px;
    background:rgba(0,216,121,.08);
    color:var(--vip-green);
    font-size:17px;
}
.vip-side-stack h3{
    margin:0 0 8px;
    color:#fff;
    font-size:12px;
}
.vip-side-stack p{
    margin:0;
    color:#7f8d93;
    font-size:9px;
    line-height:1.65;
}
.vip-side-warning{
    border-color:rgba(245,200,76,.15)!important;
}
.vip-side-warning .vip-side-icon{
    border-color:rgba(245,200,76,.17);
    background:rgba(245,200,76,.045);
    color:#f5c84c;
}

@media(max-width:980px){
    .vip-hero{
        grid-template-columns:1fr;
        padding:30px;
    }
    .vip-main-grid{
        grid-template-columns:1fr;
    }
    .vip-side-stack{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:720px){
    .vip-subscription-page{
        width:calc(100% - 18px);
        padding:82px 0 40px;
    }
    .vip-hero{
        min-height:0;
        padding:23px 16px;
        gap:22px;
        border-radius:17px;
    }
    .vip-hero h1{
        font-size:31px;
        letter-spacing:-1px;
    }
    .vip-hero-copy>p{
        font-size:10px;
    }
    .vip-plan-card{
        padding:19px;
    }
    .vip-price strong{
        font-size:40px;
    }
    .vip-steps{
        grid-template-columns:1fr;
    }
    .vip-steps article{
        min-height:0;
    }
    .vip-payment-card{
        padding:16px;
    }
    .vip-bank-row{
        grid-template-columns:1fr auto;
        gap:8px;
    }
    .vip-bank-badge{
        grid-column:1/-1;
    }
    .vip-bank-row strong{
        font-size:10px;
    }
    .vip-side-stack{
        grid-template-columns:1fr;
    }
    .geo-profile-id-card{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:390px){
    .vip-hero-actions{
        display:grid;
    }
    .vip-primary-btn,
    .vip-secondary-btn{
        width:100%;
    }
}


/* =====================================================================
   GeoFlix v123 — VIP guest CTA + gold breathing navigation
   ===================================================================== */

/* VIP navigation: attractive but still consistent with the GeoFlix header. */
.main-nav .vip-nav-link{
    position:relative;
    padding:7px 11px!important;
    border:1px solid rgba(245,200,76,.28)!important;
    border-radius:999px!important;
    background:rgba(245,200,76,.055)!important;
    color:#f5c84c!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:0 0 0 rgba(245,200,76,0);
    animation:geoVipBreath 4.2s ease-in-out infinite;
}
.main-nav .vip-nav-link:hover{
    color:#fff4c8!important;
    border-color:rgba(245,200,76,.62)!important;
    background:rgba(245,200,76,.10)!important;
    box-shadow:0 0 22px rgba(245,200,76,.15)!important;
}
@keyframes geoVipBreath{
    0%,100%{
        border-color:rgba(245,200,76,.24);
        box-shadow:0 0 0 rgba(245,200,76,0);
        filter:brightness(1);
    }
    50%{
        border-color:rgba(245,200,76,.55);
        box-shadow:0 0 12px rgba(245,200,76,.08);
        filter:brightness(1.035);
    }
}

/* Mobile menu VIP keeps the same structure, with a compact gold accent. */
.mobile-menu>a.mobile-vip-link{
    position:relative!important;
    margin:5px 0!important;
    padding:11px 10px!important;
    border:1px solid rgba(245,200,76,.24)!important;
    border-radius:10px!important;
    background:rgba(245,200,76,.05)!important;
    color:#f5c84c!important;
    font-weight:850!important;
    animation:geoVipBreath 4.2s ease-in-out infinite;
}
.mobile-menu>a.mobile-vip-link:hover{
    color:#fff4c8!important;
    border-color:rgba(245,200,76,.52)!important;
    background:rgba(245,200,76,.09)!important;
}

/* Footer link is highlighted, but intentionally not animated. */
.footer-vip-link{
    color:#f5c84c!important;
}
.footer-vip-link:hover{
    color:#fff4c8!important;
}

/* Guest state: do not hide payment information. Show a clear login CTA above it. */
.vip-login-required-inline{
    max-width:none!important;
    margin:0 0 18px!important;
    padding:16px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    border:1px solid rgba(245,200,76,.18)!important;
    border-radius:13px!important;
    background:
        radial-gradient(circle at 0 50%,rgba(245,200,76,.07),transparent 34%),
        rgba(255,255,255,.014)!important;
    text-align:left!important;
}
.vip-login-required-inline .vip-login-icon{
    width:44px!important;
    height:44px!important;
    margin:0!important;
    border-color:rgba(245,200,76,.24)!important;
    background:rgba(245,200,76,.06)!important;
    color:#f5c84c!important;
}
.vip-login-required-inline .vip-login-icon svg{
    width:21px!important;
}
.vip-login-required-copy{
    min-width:0;
}
.vip-login-required-inline h2{
    margin:3px 0 5px!important;
    font-size:14px!important;
    line-height:1.3!important;
}
.vip-login-required-inline p{
    max-width:none!important;
    margin:0!important;
    color:#8b989d!important;
    font-size:9px!important;
    line-height:1.55!important;
}
.vip-login-required-inline .vip-login-open-btn{
    min-width:128px!important;
    min-height:40px!important;
    padding:0 14px!important;
}

.vip-user-id-locked{
    border-color:rgba(245,200,76,.16)!important;
    background:linear-gradient(145deg,rgba(245,200,76,.045),rgba(255,255,255,.015))!important;
}
.vip-user-id-login-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-top:12px!important;
}
.vip-id-locked-label{
    color:#f5c84c!important;
    font-size:15px!important;
    font-weight:900!important;
    letter-spacing:.8px!important;
}
.vip-id-login-btn{
    min-height:34px!important;
    padding:0 12px!important;
    font-size:9px!important;
}

@media(prefers-reduced-motion:reduce){
    .main-nav .vip-nav-link,
    .mobile-menu>a.mobile-vip-link{
        animation:none!important;
    }
}

@media(max-width:720px){
    .vip-login-required-inline{
        grid-template-columns:40px minmax(0,1fr)!important;
        padding:14px!important;
    }
    .vip-login-required-inline .vip-login-icon{
        width:40px!important;
        height:40px!important;
    }
    .vip-login-required-inline .vip-login-open-btn{
        grid-column:1/-1!important;
        width:100%!important;
    }
    .vip-user-id-login-row{
        align-items:stretch!important;
        flex-direction:column!important;
    }
    .vip-id-login-btn{
        width:100%!important;
    }
}

/* GeoFlix VIP: gold button in the mobile hero overlay menu. */
@media (max-width:768px){
  #geoflix-hero .home-quick-cats a.home-quick-vip {
    color:#f5d789 !important;
    background:rgba(99,69,17,.80) !important;
    border:1px solid rgba(239,192,91,.48) !important;
    font-weight:800 !important;
    box-shadow:inset 0 1px 0 rgba(255,232,167,.09) !important;
  }
  #geoflix-hero .home-quick-cats a.home-quick-vip:active,
  #geoflix-hero .home-quick-cats a.home-quick-vip.is-pressed {
    background:rgba(169,122,39,.93) !important;
    border-color:#eac574 !important;
    color:#fff8df !important;
  }
}


/* ========================================================================
   GeoFlix VIP promo v125 — visual match to subscription.tpl.
   Home: desktop between films/series.
   Fullstory: desktop above the entire poster/player row.
   Everywhere on mobile: one floating compact banner. No persistent dismissal.
   ======================================================================== */
.gf-vip-promo[hidden],.gf-vip-mobile[hidden]{display:none!important}
.gf-vip-promo,.gf-vip-mobile,.gf-vip-promo *,.gf-vip-mobile *{box-sizing:border-box}
.gf-vip-promo{
    position:relative;
    display:flex;
    align-items:center;
    gap:clamp(14px,2vw,26px);
    min-height:112px;
    width:100%;
    margin-top:30px;
    padding:20px 57px 20px 24px;
    overflow:hidden;
    border:1px solid rgba(0,216,121,.20);
    border-radius:16px;
    color:#f4f7f6;
    background:
      radial-gradient(circle at 11% 20%,rgba(0,216,121,.095),transparent 34%),
      radial-gradient(circle at 95% 10%,rgba(245,200,76,.035),transparent 30%),
      linear-gradient(145deg,#0b1417,#080d10);
    box-shadow:0 18px 48px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.022);
    isolation:isolate;
}
.gf-vip-promo::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;
    background-image:radial-gradient(rgba(255,255,255,.19) .6px,transparent .6px);
    background-size:18px 18px;
}
.gf-vip-promo>*,.gf-vip-mobile>*{position:relative;z-index:1}
.gf-vip-promo-mark{
    display:grid;place-items:center;flex:0 0 62px;width:62px;height:62px;
    border:1px solid rgba(0,216,121,.18);
    border-radius:14px;background:rgba(0,216,121,.07);
    color:#00d879;font-size:38px;line-height:1;
}
.gf-vip-promo-copy{min-width:0;flex:1 1 auto}
.gf-vip-promo-label{
    display:inline-flex;align-items:center;gap:4px;
    border:1px solid rgba(0,216,121,.23);border-radius:999px;
    padding:4px 10px;margin-bottom:8px;
    background:rgba(0,216,121,.07);
    color:#00d879;font-size:10px;font-weight:900;letter-spacing:.45px;
    line-height:1.15;
}
.gf-vip-promo-label b{color:#f0c762;font-weight:900;animation:gfVipGoldBreathe 5.4s ease-in-out infinite}
.gf-vip-promo-copy h2{margin:0 0 7px;color:#fff;font-size:clamp(16px,1.5vw,22px);font-weight:850;line-height:1.3}
.gf-vip-promo-copy h2 em{font-style:normal;color:#00d879}
.gf-vip-promo-copy p{margin:0;color:#91a1a6;font-size:11px;line-height:1.5}
.gf-vip-promo-copy p span{margin:0 5px;color:#b0bdba}
.gf-vip-promo-offer{flex:0 0 auto;text-align:center;white-space:nowrap;min-width:89px}
.gf-vip-promo-offer strong{display:block;color:#00d879;font-size:34px;font-weight:900;line-height:1.05}
.gf-vip-promo-offer small{display:block;margin-top:4px;color:#8e9c9f;font-size:10px;font-weight:650}
.gf-vip-promo-cta{
    display:inline-flex;align-items:center;justify-content:center;gap:14px;
    flex:0 0 auto;min-width:135px;min-height:43px;padding:11px 18px;
    border:0;border-radius:10px;
    background:linear-gradient(180deg,#00d879,#00b965);
    box-shadow:0 10px 23px rgba(0,216,121,.13);
    color:#02110a;font-size:12px;font-weight:900;text-decoration:none;
    transition:filter .2s ease,transform .2s ease;
}
.gf-vip-promo-cta:hover{color:#02110a;filter:brightness(1.06);transform:translateY(-1px)}
.gf-vip-promo-cta span{font-size:23px;line-height:12px}
.gf-vip-promo-close,.gf-vip-mobile-close{
    position:absolute;top:11px;right:11px;
    display:grid;place-items:center;
    width:29px;height:29px;padding:0;
    border:1px solid rgba(255,255,255,.14);border-radius:50%;
    background:rgba(0,0,0,.28);color:#cbd6d3;
    font-family:inherit;font-size:22px;line-height:1;
    cursor:pointer;transition:background .18s ease,color .18s ease;
}
.gf-vip-promo-close:hover,.gf-vip-mobile-close:hover{background:rgba(255,255,255,.12);color:#fff}
@keyframes gfVipGoldBreathe{
    0%,100%{text-shadow:0 0 0 rgba(244,192,76,0)}
    50%{text-shadow:0 0 9px rgba(244,192,76,.5)}
}
/* Home page gap is restored as soon as its banner is closed. */
@media(min-width:769px){
  .gf-vip-promo-home:not([hidden]) + .content-section{margin-top:39px}
  .gf-vip-promo-fullstory{
      grid-column:1/-1!important;grid-row:1!important;margin:0!important;
  }
  /* Put poster + player on the next row together, without touching player internals. */
  .movie-hero>.container:has(>.gf-vip-promo-fullstory:not([hidden]))>.full-player-poster{grid-row:2!important}
  .movie-hero>.container:has(>.gf-vip-promo-fullstory:not([hidden]))>.unified-player-card{grid-row:2!important}
}
@media(min-width:769px) and (max-width:1080px){
  .gf-vip-promo{gap:12px;padding:15px 43px 15px 15px}
  .gf-vip-promo-mark{flex-basis:48px;width:48px;height:48px;font-size:29px}
  .gf-vip-promo-offer strong{font-size:25px}
  .gf-vip-promo-cta{min-width:112px;padding:10px 11px;font-size:11px}
  .gf-vip-promo-copy p{font-size:10px}
}
/* Mobile banner is global in main.tpl, not a duplicated homepage/player banner. */
.gf-vip-mobile{display:none}
@media(max-width:768px){
  .gf-vip-promo{display:none!important}
  .gf-vip-mobile:not([hidden]){
      position:fixed;z-index:940;
      left:12px;right:12px;
      bottom:calc(11px + env(safe-area-inset-bottom,0px));
      display:flex;flex-direction:column;justify-content:space-between;gap:7px;
      min-height:126px;padding:13px 14px 13px;
      border:1px solid rgba(0,216,121,.32);border-radius:15px;
      background:radial-gradient(circle at 10% 10%,rgba(0,216,121,.075),transparent 48%),
                 linear-gradient(130deg,rgba(10,22,22,.985),rgba(7,13,16,.985));
      color:#f4f7f6;
      box-shadow:0 15px 38px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.035);
      isolation:isolate;
  }
  .gf-vip-mobile-head{display:flex;justify-content:space-between;align-items:center;min-height:26px}
  .gf-vip-mobile-tag{
      display:inline-flex;align-items:center;gap:5px;
      padding:4px 9px;border:1px solid rgba(0,216,121,.21);
      background:rgba(0,216,121,.07);border-radius:999px;
      color:#00d879;font-size:11px;font-weight:850;line-height:1.2;
  }
  .gf-vip-mobile-tag b{color:#f0c762;animation:gfVipGoldBreathe 5.4s ease-in-out infinite}
  .gf-vip-mobile-close{position:static;width:26px;height:26px;font-size:19px;flex:0 0 26px}
  .gf-vip-mobile-title{margin:0;color:#f4f7f6;font-size:14px;line-height:1.3;font-weight:780}
  .gf-vip-mobile-title strong{color:#00d879;font-weight:900}
  .gf-vip-mobile-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .gf-vip-mobile-price{display:flex;align-items:baseline;gap:8px;min-width:0}
  .gf-vip-mobile-price strong{color:#f1ca6c;font-size:24px;font-weight:900;line-height:1}
  .gf-vip-mobile-price span{color:#8b9b9f;font-size:10px;white-space:nowrap}
  .gf-vip-mobile-cta{
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      min-height:35px;min-width:119px;padding:8px 12px;
      border-radius:8px;background:linear-gradient(180deg,#00d879,#00b965);
      box-shadow:0 6px 15px rgba(0,216,121,.14);
      color:#03110b;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap;
  }
  .gf-vip-mobile-cta:hover{color:#03110b;filter:brightness(1.04)}
  .gf-vip-mobile-cta span{font-size:21px;line-height:12px}
}
@media(max-width:360px){
  .gf-vip-mobile:not([hidden]){left:8px;right:8px;min-height:120px;padding:11px;gap:6px}
  .gf-vip-mobile-title{font-size:12px}
  .gf-vip-mobile-price strong{font-size:22px}
  .gf-vip-mobile-price span{font-size:9px}
  .gf-vip-mobile-cta{min-width:105px;padding:8px 9px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .gf-vip-promo-label b,.gf-vip-mobile-tag b{animation:none}
  .gf-vip-promo-cta{transition:none}
}


/* GeoFlix VIP avatar (DLE group 6 only). Keep ordinary members' avatar unchanged. */
.geo-account-avatar-vip img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    border-radius:50%!important;
}
.geo-account-avatar-vip{
    background-color:#07110e!important;
}
.geo-profile-avatar:has(img[src*="vip-avatar.svg"]){
    background:#07110e!important;
    border-color:rgba(232,188,88,.55)!important;
}
/* Insurance against another stylesheet overriding the subscription-page filter. */
.gf-vip-subscription-view .gf-vip-mobile,
.gf-vip-subscription-view .gf-vip-promo{
    display:none!important;
}
/* Reset password page */
.geo-reset-page{
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.geo-reset-card{
    max-width:760px!important;
    margin:0 auto!important;
}
.geo-reset-form{
    display:grid!important;
    gap:16px!important;
}
.geo-reset-form .geo-auth-field{
    margin:0!important;
}