* {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    background: #080808;
    color: #ffffff;
    font-family: Inter, Arial, sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

.c3-container {
    width: min(1280px, calc(100% - 40px));
    margin: 0 auto;
}

/* HEADER */

.c3-header {
    position: relative;
    z-index: 100;
    border-bottom: 1px solid #202020;
    background: #0d0d0d;
}

.c3-header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 35px;
}

.c3-logo {
    display: flex;
    align-items: center;
    gap: 11px;
    flex-shrink: 0;
}

.c3-logo-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border-radius: 9px;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-size: 14px;
    font-weight: 900;
}

.c3-logo-name {
    font-size: 18px;
    font-weight: 800;
}

.c3-navigation {
    display: flex;
    align-items: center;
    gap: 26px;
}

.c3-navigation a {
    color: #b5b5b5;
    font-size: 14px;
    font-weight: 600;
}

.c3-navigation a:hover {
    color: var(--c3-accent, #d4af37);
}

.c3-header-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 9px;
}

.c3-search-button,
.c3-account-button {
    min-height: 38px;
    padding: 0 15px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
}

.c3-search-button {
    border: 1px solid #292929;
    background: #151515;
    color: #d0d0d0;
    cursor: pointer;
}

.c3-account-button {
    display: inline-flex;
    align-items: center;
    background: var(--c3-accent, #d4af37);
    color: #080808;
}

/* HOME */

.c3-main {
    min-height: calc(100vh - 145px);
}

.c3-home {
    padding: 80px 0;
}

.c3-home-test {
    max-width: 720px;
    padding: 60px 0;
}

.c3-eyebrow {
    color: var(--c3-accent, #d4af37);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
}

.c3-home-test h1 {
    margin: 14px 0;
    font-size: clamp(36px, 6vw, 68px);
    line-height: 1.05;
}

.c3-home-test p {
    max-width: 600px;
    margin: 0;
    color: #969696;
    font-size: 17px;
    line-height: 1.7;
}

/* FOOTER */

.c3-footer {
    border-top: 1px solid #202020;
    background: #0d0d0d;
}

.c3-footer-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #777777;
    font-size: 12px;
}

.c3-footer-credit {
    color: var(--c3-accent, #d4af37);
}

/* MOBILE */

@media (max-width: 760px) {

    .c3-container {
        width: min(100% - 28px, 1280px);
    }

    .c3-header-inner {
        min-height: 64px;
    }

    .c3-logo-name {
        display: none;
    }

    .c3-navigation {
        gap: 14px;
    }

    .c3-navigation a {
        font-size: 13px;
    }

    .c3-header-actions {
        gap: 6px;
    }

    .c3-search-button {
        display: none;
    }

    .c3-home {
        padding: 45px 0;
    }

    .c3-footer-inner {
        padding: 20px 0;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }
}


/* =========================================================
   MOVIE GRID
   ========================================================= */

.c3-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 28px;
}

.c3-section-heading h1 {
    margin: 8px 0 0;
    font-size: 27px;
    line-height: 1.2;
}

.c3-view-all {
    flex-shrink: 0;
    color: #a8a8a8;
    font-size: 13px;
    font-weight: 700;
    transition: color .2s ease;
}

.c3-view-all:hover {
    color: var(--c3-accent, #d4af37);
}


/* GRID */

.c3-movie-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 28px 18px;
}


/* CARD */

.c3-movie-card {
    min-width: 0;
}

.c3-movie-poster {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 2 / 3;
    border-radius: 10px;
    background: #141414;
    box-shadow:
        0 12px 35px
        rgba(0, 0, 0, .22);
}

.c3-movie-poster img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform .35s ease,
        opacity .35s ease;
}

.c3-movie-card:hover
.c3-movie-poster img {
    transform: scale(1.045);
    opacity: .82;
}


/* NO POSTER */

.c3-no-poster {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 9px;
    background:
        linear-gradient(
            145deg,
            #191919,
            #0c0c0c
        );
    color: var(--c3-accent, #d4af37);
}

.c3-no-poster span {
    font-size: 27px;
    font-weight: 900;
}

.c3-no-poster small {
    color: #777777;
    font-size: 11px;
}


/* BADGES */

.c3-featured-badge,
.c3-rating-badge,
.c3-vip-badge {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 8px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 800;
}

.c3-featured-badge {
    top: 10px;
    left: 10px;
    background: var(--c3-accent, #d4af37);
    color: #090909;
}

.c3-rating-badge {
    right: 10px;
    bottom: 10px;
    background: rgba(0, 0, 0, .82);
    color: var(--c3-accent, #d4af37);
    backdrop-filter: blur(8px);
}

.c3-vip-badge {
    top: 10px;
    right: 10px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(10, 10, 10, .86);
    color: var(--c3-accent, #d4af37);
    backdrop-filter: blur(8px);
}


/* INFO */

.c3-movie-info {
    padding-top: 12px;
}

.c3-movie-info h2 {
    margin: 0;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.c3-movie-info h2 a {
    transition: color .2s ease;
}

.c3-movie-info h2 a:hover {
    color: var(--c3-accent, #d4af37);
}

.c3-movie-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin-top: 7px;
    color: #747474;
    font-size: 11px;
}

.c3-original-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* EMPTY */

.c3-empty-state {
    padding: 80px 30px;
    border: 1px dashed #292929;
    border-radius: 14px;
    background: #0d0d0d;
    text-align: center;
}

.c3-empty-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-size: 17px;
    font-weight: 900;
}

.c3-empty-state h2 {
    margin: 0;
    font-size: 20px;
}

.c3-empty-state p {
    margin: 9px 0 0;
    color: #777777;
    font-size: 13px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .c3-movie-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 850px) {

    .c3-movie-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .c3-section-heading {
        align-items: center;
    }

    .c3-section-heading h1 {
        font-size: 22px;
    }

    .c3-movie-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 22px 12px;
    }

    .c3-movie-poster {
        border-radius: 8px;
    }

    .c3-featured-badge {
        top: 7px;
        left: 7px;
    }

    .c3-vip-badge {
        top: 7px;
        right: 7px;
    }

    .c3-rating-badge {
        right: 7px;
        bottom: 7px;
    }
}




/* =========================================================
   FRONTEND EXTENSIONS
   ========================================================= */

.c3-content-section {
    padding: 45px 0 70px;
}

.c3-page-header {
    padding: 55px 0 35px;
    border-bottom: 1px solid #1c1c1c;
    background: #0b0b0b;
}

.c3-page-header h1 {
    margin: 8px 0 0;
    font-size: 34px;
}

.c3-page-header p {
    margin: 10px 0 0;
    color: #858585;
}


/* HEADER SEARCH */

.c3-header-search {
    margin-left: auto;
    display: flex;
    width: min(330px, 30vw);
}

.c3-header-search input {
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 0 13px;
    border: 1px solid #292929;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    outline: none;
    background: #151515;
    color: #fff;
}

.c3-header-search button {
    border: 0;
    padding: 0 14px;
    border-radius: 0 8px 8px 0;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}


/* HERO */

.c3-hero {
    min-height: 510px;
    display: flex;
    align-items: flex-end;
    padding: 80px 0 65px;
    background-color: #0c0c0c;
    background-position: center;
    background-size: cover;
}

.c3-hero-content {
    max-width: 670px;
}

.c3-hero-content h1 {
    margin: 12px 0;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1;
}

.c3-hero-content p {
    max-width: 600px;
    color: #b1b1b1;
    line-height: 1.7;
}

.c3-hero-meta {
    display: flex;
    gap: 15px;
    color: #d0d0d0;
    font-size: 13px;
}

.c3-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 20px;
    padding: 0 20px;
    border-radius: 8px;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-size: 13px;
    font-weight: 800;
}


/* SINGLE MOVIE */

.c3-single-hero {
    padding: 90px 0 55px;
    background-position: center top;
    background-size: cover;
}

.c3-single-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 720px);
    gap: 38px;
    align-items: end;
}

.c3-single-poster img {
    display: block;
    width: 100%;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 12px;
}

.c3-single-content h1 {
    margin: 0 0 10px;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.05;
}

.c3-tagline {
    margin-bottom: 16px;
    color: #9d9d9d;
    font-style: italic;
}

.c3-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
}

.c3-single-meta span {
    padding: 6px 9px;
    border: 1px solid #303030;
    border-radius: 6px;
    background: rgba(0,0,0,.55);
    font-size: 11px;
}

.c3-single-meta .c3-imdb {
    border-color: #6b5922;
    color: var(--c3-accent, #d4af37);
}

.c3-description {
    max-width: 720px;
    color: #b2b2b2;
    font-size: 14px;
    line-height: 1.8;
}

.c3-tax-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 20px;
}

.c3-tax-list a,
.c3-tags a {
    padding: 7px 10px;
    border: 1px solid #2c2c2c;
    border-radius: 6px;
    background: #111;
    color: #aaa;
    font-size: 11px;
}

.c3-tax-list a:hover,
.c3-tags a:hover {
    border-color: var(--c3-accent, #d4af37);
    color: var(--c3-accent, #d4af37);
}


/* PLAYER */

.c3-player-section {
    padding: 45px 0;
}

.c3-player {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 1px solid #252525;
    border-radius: 12px;
    background: #000;
}

.c3-player iframe,
.c3-player video {
    width: 100%;
    height: 100%;
    border: 0;
}

.c3-server-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.c3-server-button {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #2c2c2c;
    border-radius: 7px;
    background: #141414;
    color: #aaa;
    cursor: pointer;
}

.c3-server-button small {
    margin-left: 5px;
    color: #666;
}

.c3-server-button.active {
    border-color: var(--c3-accent, #d4af37);
    background: var(--c3-accent, #d4af37);
    color: #080808;
}


/* DETAILS */

.c3-movie-details {
    padding: 20px 0 70px;
}

.c3-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}

.c3-details-grid h2 {
    margin: 0 0 22px;
}

.c3-detail-row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 15px;
    padding: 11px 0;
    border-bottom: 1px solid #1e1e1e;
    font-size: 13px;
}

.c3-detail-row strong {
    color: #777;
}

.c3-detail-row a {
    color: var(--c3-accent, #d4af37);
}

.c3-cast {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.c3-cast-person img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: 8px;
    border-radius: 50%;
    object-fit: cover;
}

.c3-cast-person strong,
.c3-cast-person small {
    display: block;
    text-align: center;
}

.c3-cast-person strong {
    font-size: 12px;
}

.c3-cast-person small {
    margin-top: 3px;
    color: #777;
    font-size: 10px;
}

.c3-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 35px;
}


/* SEARCH */

.c3-big-search {
    display: flex;
    max-width: 700px;
    margin-bottom: 35px;
}

.c3-big-search input {
    width: 100%;
    height: 50px;
    padding: 0 16px;
    border: 1px solid #303030;
    border-right: 0;
    border-radius: 9px 0 0 9px;
    outline: none;
    background: #111;
    color: #fff;
}

.c3-big-search button {
    padding: 0 24px;
    border: 0;
    border-radius: 0 9px 9px 0;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-weight: 800;
    cursor: pointer;
}


/* PAGINATION */

.c3-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 45px;
}

.c3-pagination a,
.c3-pagination span {
    padding: 10px 14px;
    border: 1px solid #292929;
    border-radius: 7px;
    background: #111;
    color: #aaa;
    font-size: 12px;
}

.c3-pagination a:hover {
    border-color: var(--c3-accent, #d4af37);
    color: var(--c3-accent, #d4af37);
}


/* 404 */

.c3-error-page {
    min-height: 65vh;
    display: flex;
    align-items: center;
    padding: 70px 0;
}

.c3-error-box {
    text-align: center;
}

.c3-error-box > span {
    color: var(--c3-accent, #d4af37);
    font-size: 80px;
    font-weight: 900;
}

.c3-error-box h1 {
    margin: 5px 0;
}

.c3-error-box p {
    color: #777;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .c3-header-search {
        display: none;
    }

    .c3-navigation {
        margin-left: auto;
    }

    .c3-single-layout {
        grid-template-columns: 170px 1fr;
        gap: 25px;
    }

    .c3-details-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {

    .c3-hero {
        min-height: 430px;
        padding: 80px 0 40px;
    }

    .c3-hero-content h1 {
        font-size: 38px;
    }

    .c3-single-layout {
        display: block;
    }

    .c3-single-poster {
        width: 150px;
        margin-bottom: 25px;
    }

    .c3-single-content h1 {
        font-size: 34px;
    }

    .c3-cast {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .c3-page-header h1 {
        font-size: 28px;
    }
}


/* =========================================================
   USER SYSTEM
   ========================================================= */

.c3-guest-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.c3-login-link,
.c3-register-link {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 15px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
}

.c3-login-link {
    border: 1px solid #303030;
    color: #ccc;
}

.c3-register-link {
    background: var(--c3-accent, #d4af37);
    color: #080808;
}


/* USER MENU */

.c3-user-menu {
    position: relative;
}

.c3-user-trigger {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 9px 5px 5px;
    border: 1px solid #292929;
    border-radius: 10px;
    background: #141414;
    color: #fff;
    cursor: pointer;
}

.c3-header-avatar {
    overflow: hidden;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-size: 12px;
    font-weight: 900;
}

.c3-header-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c3-header-user-name {
    max-width: 120px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 700;
}

.c3-menu-arrow {
    color: #777;
}

.c3-user-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 500;
    display: none;
    width: 220px;
    overflow: hidden;
    padding: 7px;
    border: 1px solid #292929;
    border-radius: 12px;
    background: #111;
    box-shadow: 0 20px 50px rgba(0,0,0,.5);
}

.c3-user-menu.open
.c3-user-dropdown {
    display: block;
}

.c3-dropdown-user {
    padding: 10px 11px 13px;
}

.c3-dropdown-user strong,
.c3-dropdown-user span {
    display: block;
}

.c3-dropdown-user strong {
    font-size: 13px;
}

.c3-dropdown-user span {
    margin-top: 3px;
    color: #777;
    font-size: 11px;
}

.c3-user-dropdown > a,
.c3-logout-form button {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 0 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #bbb;
    font-size: 12px;
    text-align: left;
    cursor: pointer;
}

.c3-user-dropdown > a:hover,
.c3-logout-form button:hover {
    background: #1b1b1b;
    color: #fff;
}

.c3-admin-menu-link {
    color: var(--c3-accent, #d4af37) !important;
}

.c3-dropdown-separator {
    height: 1px;
    margin: 6px 4px;
    background: #292929;
}


/* AUTH */

.c3-auth-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 65px 20px;
}

.c3-auth-box {
    width: 100%;
    max-width: 440px;
    padding: 32px;
    border: 1px solid #292929;
    border-radius: 15px;
    background: #101010;
}

.c3-auth-heading {
    margin-bottom: 25px;
}

.c3-auth-heading h1 {
    margin: 7px 0;
    font-size: 28px;
}

.c3-auth-heading p {
    margin: 0;
    color: #777;
    font-size: 13px;
}

.c3-auth-form {
    display: grid;
    gap: 16px;
}

.c3-auth-form label {
    display: grid;
    gap: 7px;
    color: #aaa;
    font-size: 12px;
    font-weight: 700;
}

.c3-auth-form input,
.c3-auth-form textarea {
    width: 100%;
    border: 1px solid #303030;
    border-radius: 8px;
    outline: none;
    background: #0a0a0a;
    color: #fff;
}

.c3-auth-form input {
    height: 44px;
    padding: 0 12px;
}

.c3-auth-form textarea {
    padding: 12px;
    resize: vertical;
}

.c3-auth-form input:focus,
.c3-auth-form textarea:focus {
    border-color: var(--c3-accent, #d4af37);
}

.c3-auth-submit {
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-weight: 900;
    cursor: pointer;
}

.c3-auth-footer {
    margin-top: 20px;
    color: #777;
    font-size: 12px;
    text-align: center;
}

.c3-auth-footer a {
    color: var(--c3-accent, #d4af37);
}

.c3-form-error,
.c3-form-success {
    margin-bottom: 20px;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 12px;
}

.c3-form-error {
    border: 1px solid #572a2a;
    background: #241111;
    color: #ff9292;
}

.c3-form-success {
    border: 1px solid #28513a;
    background: #102019;
    color: #74d69a;
}


/* ACCOUNT */

.c3-account-page {
    padding: 55px 0 80px;
}

.c3-account-header {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 35px;
}

.c3-account-avatar,
.c3-profile-avatar {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font-weight: 900;
}

.c3-account-avatar {
    width: 70px;
    height: 70px;
    font-size: 24px;
}

.c3-account-avatar img,
.c3-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c3-account-header h1 {
    margin: 0 0 5px;
}

.c3-account-username {
    color: #777;
    font-size: 12px;
}

.c3-secondary-button {
    margin-left: auto;
    padding: 10px 14px;
    border: 1px solid #303030;
    border-radius: 8px;
    color: #bbb;
    font-size: 12px;
    font-weight: 700;
}

.c3-account-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.c3-account-card {
    padding: 25px;
    border: 1px solid #272727;
    border-radius: 13px;
    background: #101010;
}

.c3-account-card h2 {
    margin: 0 0 22px;
}

.c3-account-email {
    margin-bottom: 20px;
    color: #777;
    font-size: 12px;
}

.c3-role-badge {
    display: inline-flex;
    margin-left: 7px;
    padding: 3px 6px;
    border: 1px solid var(--role-color);
    border-radius: 5px;
    color: var(--role-color);
    font-size: 9px;
    font-weight: 900;
}


/* PROFILE */

.c3-profile-page {
    min-height: 65vh;
    padding: 70px 0;
}

.c3-profile-card {
    max-width: 650px;
    margin: auto;
    text-align: center;
}

.c3-profile-avatar {
    width: 120px;
    height: 120px;
    margin: 0 auto 20px;
    font-size: 40px;
}

.c3-profile-card h1 {
    margin: 0;
    color: var(--role-color, #fff);
    font-size: 32px;
}

.c3-profile-username {
    margin: 7px 0 12px;
    color: #777;
}

.c3-profile-bio {
    max-width: 500px;
    margin: 22px auto 0;
    color: #aaa;
    line-height: 1.7;
}


/* MOBILE */

@media (max-width: 700px) {

    .c3-account-grid {
        grid-template-columns: 1fr;
    }

    .c3-header-user-name {
        display: none;
    }

    .c3-guest-actions {
        gap: 5px;
    }

    .c3-login-link {
        display: none;
    }

    .c3-account-header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .c3-secondary-button {
        margin-left: 0;
    }
}

/* Custom logo */

.c3-custom-logo {
    display: block;
    width: auto;
    max-width: 190px;
    height: 38px;
    object-fit: contain;
}


/* =========================================================
   TRAILER
========================================================= */

.c3-single-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.c3-trailer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 22px;
    border: 0;
    border-radius: 10px;
    background: var(--c3-accent, #d4af37);
    color: #080808;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition:
        transform .2s ease,
        opacity .2s ease;
}

.c3-trailer-button:hover {
    transform: translateY(-2px);
}

.c3-trailer-play {
    font-size: 13px;
}

.c3-trailer-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.c3-trailer-modal.is-open {
    display: flex;
}

.c3-trailer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .88);
    backdrop-filter: blur(8px);
}

.c3-trailer-dialog {
    position: relative;
    z-index: 2;
    width: min(1100px, 100%);
}

.c3-trailer-player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 14px;
    background: #000;
    box-shadow:
        0 25px 80px rgba(0, 0, 0, .6);
}

.c3-trailer-player iframe,
.c3-trailer-player video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
}

.c3-trailer-close {
    position: absolute;
    z-index: 3;
    top: -46px;
    right: 0;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 28px;
    line-height: 38px;
    cursor: pointer;
}

.c3-modal-open {
    overflow: hidden;
}

@media (max-width: 700px) {

    .c3-trailer-modal {
        padding: 14px;
    }

    .c3-trailer-dialog {
        width: 100%;
    }

    .c3-trailer-close {
        top: -44px;
    }

}


/* =========================================================
   MOVIE PLAYER
========================================================= */

.c3-player-section {
    padding: 48px 0;
}

.c3-player-section .c3-section-heading {
    margin-bottom: 18px;
}

.c3-player-section .c3-section-heading h2 {
    margin: 0;
}

.c3-player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 16px;
    background: #000;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, .35);
}

.c3-player iframe,
.c3-player video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
}

.c3-player video {
    object-fit: contain;
}


/* Server buttons */

.c3-server-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.c3-server-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 9px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.c3-server-button:hover {
    transform: translateY(-1px);
    border-color: rgba(212, 175, 55, .5);
}

.c3-server-button.active {
    border-color:
        var(--c3-accent, #d4af37);

    background:
        var(--c3-accent, #d4af37);

    color: #080808;
}

.c3-server-button small {
    opacity: .7;
    font-size: 11px;
    font-weight: 700;
}


/* Player message */

.c3-player-message {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    color: rgba(255, 255, 255, .72);
    text-align: center;
}


/* No servers */

.c3-player-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 360px;
}

.c3-player-empty-content {
    max-width: 520px;
    padding: 40px 24px;
    text-align: center;
}

.c3-player-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background:
        var(--c3-accent, #d4af37);
    color: #080808;
    font-size: 21px;
    padding-left: 3px;
}

.c3-player-empty-content strong {
    display: block;
    margin-bottom: 9px;
    color: #fff;
    font-size: 20px;
}

.c3-player-empty-content p {
    margin: 0;
    color: rgba(255, 255, 255, .58);
    line-height: 1.6;
}


/* Mobile */

@media (max-width: 700px) {

    .c3-player-section {
        padding: 32px 0;
    }

    .c3-player {
        border-radius: 10px;
    }

    .c3-server-buttons {
        gap: 8px;
    }

    .c3-server-button {
        flex: 1 1 auto;
        justify-content: center;
    }

    .c3-player-empty {
        min-height: 240px;
    }

    .c3-player-empty-content strong {
        font-size: 17px;
    }
}


/* =========================================================
   CAST
========================================================= */

.c3-cast {
    display: grid;
    grid-template-columns:
        repeat(auto-fill, minmax(135px, 1fr));
    gap: 20px;
}

.c3-cast-person {
    min-width: 0;
}

.c3-cast-photo {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
}

.c3-cast-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c3-cast-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .45);
    font-size: 36px;
}

.c3-cast-person strong {
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 1.35;
}

.c3-cast-person small {
    display: block;
    margin-top: 4px;
    text-align: center;
    opacity: .6;
    line-height: 1.35;
}

@media (max-width: 700px) {

    .c3-cast {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .c3-cast-person strong {
        font-size: 13px;
    }

    .c3-cast-person small {
        font-size: 11px;
    }
}


/* =========================================================
   PERSON PAGE
========================================================= */

.c3-person-page {
    padding: 60px 0 80px;
}

.c3-person-hero {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    margin-bottom: 60px;
}

.c3-person-page-photo {
    overflow: hidden;
    width: 220px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
}

.c3-person-page-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c3-person-page-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 64px;
}

.c3-person-label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    opacity: .55;
}

.c3-person-page-info h1 {
    margin: 0 0 14px;
    font-size: clamp(32px, 5vw, 54px);
    line-height: 1.05;
}

.c3-person-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.c3-person-roles span {
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    font-size: 13px;
    font-weight: 600;
}

.c3-person-biography {
    max-width: 800px;
    font-size: 15px;
    line-height: 1.8;
    opacity: .8;
}

.c3-person-filmography {
    margin-top: 30px;
}

@media (max-width: 700px) {

    .c3-person-page {
        padding-top: 35px;
    }

    .c3-person-hero {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .c3-person-page-photo {
        width: 160px;
    }
}


.c3-person-link {
    color: inherit;
    text-decoration: none;
    transition: opacity .2s ease;
}

.c3-person-link:hover {
    opacity: .7;
}


/* =========================================================
   PERSON PAGE
========================================================= */

.c3-person-page {
    position: relative;
    min-height: 70vh;
    padding: 70px 0 90px;
}

.c3-person-page .c3-container {
    position: relative;
}


/* =========================================================
   PERSON HERO
========================================================= */

.c3-person-hero {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 44px;
    align-items: center;

    margin-bottom: 64px;
    padding: 34px;

    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .06),
            rgba(255, 255, 255, .015)
        );

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .22);
}


/* =========================================================
   PERSON PHOTO
========================================================= */

.c3-person-page-photo {
    position: relative;

    overflow: hidden;

    width: 240px;
    height: 240px;

    border-radius: 22px;

    background: rgba(255, 255, 255, .06);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, .35);
}

.c3-person-page-photo::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: inherit;
}

.c3-person-page-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .35s ease;
}

.c3-person-page-photo:hover img {
    transform: scale(1.035);
}

.c3-person-page-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    font-size: 58px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .08),
            rgba(255, 255, 255, .025)
        );

    opacity: .7;
}


/* =========================================================
   PERSON INFO
========================================================= */

.c3-person-page-info {
    min-width: 0;
}

.c3-person-label {
    display: inline-flex;
    align-items: center;

    margin-bottom: 12px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .16em;

    text-transform: uppercase;

    opacity: .55;
}

.c3-person-page-info h1 {
    margin:
        0
        0
        16px;

    font-size:
        clamp(
            36px,
            5vw,
            58px
        );

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -.035em;
}


/* =========================================================
   ROLES
========================================================= */

.c3-person-roles {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 22px;
}

.c3-person-roles span {
    display: inline-flex;
    align-items: center;

    min-height: 30px;

    padding:
        6px
        12px;

    border:
        1px solid
        rgba(255, 255, 255, .09);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, .06);

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   BIOGRAPHY
========================================================= */

.c3-person-biography {
    max-width: 850px;

    font-size: 15px;

    line-height: 1.8;

    opacity: .76;
}


/* =========================================================
   FILMOGRAPHY
========================================================= */

.c3-person-filmography {
    margin-top: 20px;
}

.c3-person-filmography .c3-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 24px;
}

.c3-person-filmography .c3-section-heading h2 {
    margin: 0;

    font-size: 27px;

    line-height: 1.2;
}

.c3-person-filmography .c3-section-heading > span {
    font-size: 13px;

    opacity: .55;
}


/* =========================================================
   PERSON MOVIE GRID
========================================================= */

.c3-person-filmography .c3-movie-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(170px, 1fr)
        );

    gap: 24px 18px;
}

.c3-person-filmography .c3-movie-card {
    min-width: 0;
}

.c3-person-filmography .c3-movie-card-link {
    display: block;

    color: inherit;

    text-decoration: none;
}

.c3-person-filmography .c3-movie-card-poster {
    position: relative;

    overflow: hidden;

    width: 100%;

    aspect-ratio: 2 / 3;

    border-radius: 14px;

    background:
        rgba(255, 255, 255, .05);

    box-shadow:
        0 12px 32px
        rgba(0, 0, 0, .22);
}

.c3-person-filmography .c3-movie-card-poster img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.c3-person-filmography
.c3-movie-card:hover
.c3-movie-card-poster img {
    transform: scale(1.045);
}

.c3-person-filmography .c3-movie-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    font-size: 38px;

    opacity: .35;
}


/* =========================================================
   RATING
========================================================= */

.c3-person-filmography .c3-movie-rating {
    position: absolute;

    top: 10px;
    right: 10px;

    z-index: 2;

    padding:
        5px
        8px;

    border-radius: 7px;

    background:
        rgba(0, 0, 0, .78);

    font-size: 11px;
    font-weight: 800;

    backdrop-filter: blur(8px);
}


/* =========================================================
   MOVIE INFO
========================================================= */

.c3-person-filmography .c3-movie-card-content {
    padding-top: 11px;
}

.c3-person-filmography .c3-movie-card-content h3 {
    overflow: hidden;

    margin:
        0
        0
        6px;

    font-size: 14px;
    font-weight: 700;

    line-height: 1.4;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.c3-person-filmography .c3-movie-card-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 5px 9px;

    font-size: 12px;

    opacity: .55;
}


/* =========================================================
   EMPTY
========================================================= */

.c3-person-filmography .c3-empty-state {
    padding: 45px 25px;

    border:
        1px dashed
        rgba(255, 255, 255, .10);

    border-radius: 16px;

    text-align: center;

    opacity: .55;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .c3-person-hero {
        grid-template-columns:
            190px
            minmax(0, 1fr);

        gap: 30px;

        padding: 26px;
    }

    .c3-person-page-photo {
        width: 190px;
        height: 190px;
    }

    .c3-person-filmography .c3-movie-grid {
        grid-template-columns:
            repeat(
                auto-fill,
                minmax(145px, 1fr)
            );
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .c3-person-page {
        padding:
            32px
            0
            60px;
    }

    .c3-person-hero {
        display: block;

        margin-bottom: 42px;

        padding: 22px;

        border-radius: 18px;
    }

    .c3-person-page-photo {
        width: 145px;
        height: 145px;

        margin-bottom: 24px;

        border-radius: 18px;
    }

    .c3-person-page-info h1 {
        font-size: 34px;
    }

    .c3-person-biography {
        font-size: 14px;

        line-height: 1.7;
    }

    .c3-person-filmography
    .c3-section-heading h2 {
        font-size: 23px;
    }

    .c3-person-filmography .c3-movie-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            20px
            12px;
    }

    .c3-person-filmography
    .c3-movie-card-content h3 {
        font-size: 13px;
    }
}


/* =========================================================
   C3 THEME ENGINE
   ========================================================= */

body {
    background: var(--c3-background, #080808);
    color: var(--c3-text, #ffffff);
}

.c3-container {
    width: min(
        var(--c3-site-width, 1280px),
        calc(100% - 40px)
    );
}


/* HEADER */

.c3-header {
    background:
        var(--c3-header-bg, #0d0d0d);
}

.c3-header-inner {
    min-height:
        var(--c3-header-height, 72px);
}

.c3-sticky-header .c3-header {
    position: sticky;
    top: 0;
}

.c3-transparent-header .c3-header {
    background:
        color-mix(
            in srgb,
            var(--c3-header-bg) 78%,
            transparent
        );

    backdrop-filter: blur(18px);
}


/* FOOTER */

.c3-footer {
    background:
        var(--c3-footer-bg, #0d0d0d);
}


/* GLOBAL SURFACES */

.c3-auth-box,
.c3-account-card,
.c3-empty-state,
.c3-user-trigger,
.c3-user-dropdown {
    background:
        var(--c3-surface, #121212);
}


/* MOVIE GRID */

.c3-movie-grid {
    grid-template-columns:
        repeat(
            var(--c3-movie-columns, 5),
            minmax(0, 1fr)
        );
}


/* POSTERS */

.c3-movie-poster,
.c3-single-poster img {
    border-radius:
        var(--c3-poster-radius, 10px);
}


/* GENERAL RADIUS */

.c3-auth-box,
.c3-account-card,
.c3-empty-state,
.c3-player,
.c3-trailer-player {
    border-radius:
        var(--c3-radius, 14px);
}


/* =========================================================
   CARD STYLES
   ========================================================= */

.c3-card-minimal .c3-movie-poster {
    box-shadow: none;
}

.c3-card-glass .c3-movie-card {
    padding: 8px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius:
        var(--c3-radius, 14px);
    background: rgba(255,255,255,.035);
    backdrop-filter: blur(12px);
}

.c3-card-cinema .c3-movie-poster {
    box-shadow:
        0 18px 50px rgba(0,0,0,.38);
}


/* =========================================================
   HOVER STYLES
   ========================================================= */

.c3-hover-none
.c3-movie-card:hover
.c3-movie-poster img {
    transform: none;
    opacity: 1;
}

.c3-hover-zoom
.c3-movie-card:hover
.c3-movie-poster img {
    transform: scale(1.055);
}

.c3-hover-lift
.c3-movie-card {
    transition: transform .25s ease;
}

.c3-hover-lift
.c3-movie-card:hover {
    transform: translateY(-7px);
}

.c3-hover-glow
.c3-movie-poster {
    transition:
        box-shadow .25s ease,
        border-color .25s ease;
}

.c3-hover-glow
.c3-movie-card:hover
.c3-movie-poster {
    box-shadow:
        0 0 0 1px var(--c3-accent),
        0 15px 45px
        color-mix(
            in srgb,
            var(--c3-accent) 25%,
            transparent
        );
}


/* =========================================================
   MIDNIGHT BLUE
   ========================================================= */

.c3-design-midnight-blue {
    color-scheme: dark;
}

.c3-design-midnight-blue
.c3-header {
    box-shadow:
        0 10px 40px rgba(0,0,0,.16);
}


/* =========================================================
   CRIMSON CINEMA
   ========================================================= */

.c3-design-crimson-cinema {
    color-scheme: dark;
}

.c3-design-crimson-cinema
.c3-logo-mark {
    box-shadow:
        0 0 25px
        color-mix(
            in srgb,
            var(--c3-accent) 28%,
            transparent
        );
}


/* =========================================================
   CLEAN LIGHT
   ========================================================= */

.c3-design-clean-light {
    color-scheme: light;
}

.c3-design-clean-light .c3-header {
    border-bottom-color: #e5e7eb;
}

.c3-design-clean-light .c3-navigation a,
.c3-design-clean-light .c3-login-link {
    color: #4b5563;
}

.c3-design-clean-light .c3-header-search input,
.c3-design-clean-light .c3-big-search input,
.c3-design-clean-light .c3-auth-form input,
.c3-design-clean-light .c3-auth-form textarea {
    border-color: #e5e7eb;
    background: #ffffff;
    color: #111827;
}

.c3-design-clean-light .c3-user-trigger {
    border-color: #e5e7eb;
    color: #111827;
}

.c3-design-clean-light .c3-user-dropdown {
    border-color: #e5e7eb;
    box-shadow:
        0 20px 50px rgba(15,23,42,.12);
}

.c3-design-clean-light
.c3-user-dropdown > a,
.c3-design-clean-light
.c3-logout-form button {
    color: #4b5563;
}

.c3-design-clean-light
.c3-user-dropdown > a:hover,
.c3-design-clean-light
.c3-logout-form button:hover {
    background: #f3f4f6;
    color: #111827;
}

.c3-design-clean-light .c3-page-header {
    border-bottom-color: #e5e7eb;
    background: #f9fafb;
}

.c3-design-clean-light .c3-movie-poster {
    background: #e5e7eb;
    box-shadow:
        0 12px 35px rgba(15,23,42,.10);
}

.c3-design-clean-light .c3-no-poster {
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #e5e7eb
        );
}

.c3-design-clean-light .c3-empty-state {
    border-color: #d1d5db;
}

.c3-design-clean-light .c3-auth-box,
.c3-design-clean-light .c3-account-card {
    border-color: #e5e7eb;
}

.c3-design-clean-light .c3-description,
.c3-design-clean-light .c3-tagline,
.c3-design-clean-light .c3-profile-bio {
    color: var(--c3-muted);
}


/* =========================================================
   RESPONSIVE THEME ENGINE
   ========================================================= */

@media (max-width: 1100px) {

    .c3-movie-grid {
        grid-template-columns:
            repeat(
                min(
                    var(--c3-movie-columns, 5),
                    4
                ),
                minmax(0, 1fr)
            );
    }
}

@media (max-width: 850px) {

    .c3-movie-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .c3-container {
        width: min(
            100% - 28px,
            var(--c3-site-width, 1280px)
        );
    }

    .c3-movie-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}