/* ==========================================================================
   STAR INDIA ENTERTAINMENT  |  Bollywood Cinematic Theme
   Loaded LAST on every page (public site, dashboards, admin panels).
   Black + gold + crimson, red-carpet glow, curtains, sparkles, film strips.
   ASCII only - safe for any file encoding.
   ========================================================================== */

:root {
    --si-black: #07070b;
    --si-ink: #0d0d16;
    --si-panel: rgba(20, 20, 32, .86);
    --si-panel-solid: #14141f;
    --si-line: rgba(255, 213, 74, .22);
    --si-gold: #ffd54a;
    --si-gold-2: #f5a623;
    --si-gold-3: #fff0b3;
    --si-crimson: #c1121f;
    --si-crimson-2: #7a0c14;
    --si-royal: #2a6bd1;
    --si-text: #f0e6d3;
    --si-muted: #a89880;
    --si-radius: 14px;
    --si-glow: 0 0 22px rgba(255, 213, 74, .28);
}

/* ---------- Base ---------- */
html { background: var(--si-black) !important; scroll-behavior: smooth; }
body {
    background: transparent !important;
    color: var(--si-text);
    font-family: 'Poppins', 'Segoe UI', Tahoma, sans-serif;
    -webkit-font-smoothing: antialiased;
}
::selection { background: var(--si-gold); color: #000; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a0a10; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--si-gold), var(--si-crimson)); border-radius: 10px; }
a { transition: color .25s, background .25s, box-shadow .25s, transform .25s; }
a:hover { text-decoration: none; }

h1, h2, h3, h4, h5, h6,
.page-title, .box-title, .card-title, .section-title, .modal-title {
    color: var(--si-gold-3);
    letter-spacing: .3px;
}
label, .form-label, .control-label, .info-label, strong, b { color: inherit; }
.form-label, label { color: #e8d9b0; }
.text-muted, .text-secondary, small.text-muted, .help-block, .form-text { color: var(--si-muted) !important; }
.text-dark, .text-body, .text-black { color: var(--si-text) !important; }
.text-primary { color: var(--si-gold) !important; }
hr { border-color: var(--si-line); opacity: 1; }
.content-box a:not(.btn), .box a:not(.btn), .card a:not(.btn), table a:not(.btn), .detail-card a:not(.btn), .form-box a:not(.btn), .modal-content a:not(.btn) { color: var(--si-gold); }
.content-box a:not(.btn):hover, .box a:not(.btn):hover, .card a:not(.btn):hover, table a:not(.btn):hover, .detail-card a:not(.btn):hover, .form-box a:not(.btn):hover { color: #fff; }

/* ---------- Animated cinematic backdrop (injected by JS) ---------- */
#si-stage { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background:
    radial-gradient(1100px 600px at 12% -10%, rgba(193, 18, 31, .22), transparent 60%),
    radial-gradient(900px 600px at 95% 5%, rgba(42, 107, 209, .16), transparent 60%),
    radial-gradient(900px 700px at 50% 115%, rgba(255, 213, 74, .12), transparent 60%),
    linear-gradient(180deg, #07070b 0%, #0b0b14 55%, #07070b 100%); }
#si-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
#si-stage .si-beam { position: absolute; top: -20%; width: 34vmax; height: 140%; opacity: .5; filter: blur(30px);
    background: linear-gradient(180deg, rgba(255, 224, 140, .22), transparent 75%);
    transform-origin: 50% 0; mix-blend-mode: screen; }
#si-stage .si-beam.b1 { left: 8%; animation: si-sweep 11s ease-in-out infinite alternate; }
#si-stage .si-beam.b2 { right: 6%; animation: si-sweep 14s ease-in-out infinite alternate-reverse;
    background: linear-gradient(180deg, rgba(255, 120, 130, .18), transparent 75%); }
#si-stage .si-grain { position: absolute; inset: -50%; opacity: .07;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    animation: si-grain 1.2s steps(6) infinite; }
@keyframes si-sweep { from { transform: rotate(-16deg); } to { transform: rotate(16deg); } }
@keyframes si-grain {
    0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -3%); }
    60% { transform: translate(-2%, -1%); } 80% { transform: translate(3%, 3%); } 100% { transform: translate(0, 0); }
}

/* ---------- Scroll progress + cursor stars ---------- */
#si-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 100001;
    background: linear-gradient(90deg, var(--si-crimson), var(--si-gold), #fff, var(--si-gold), var(--si-crimson));
    box-shadow: 0 0 12px var(--si-gold); }
.si-trail { position: fixed; z-index: 100000; pointer-events: none; width: 14px; height: 14px; margin: -7px 0 0 -7px;
    background: radial-gradient(circle, #fff 0%, var(--si-gold) 45%, transparent 70%);
    clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%);
    animation: si-trail .9s ease-out forwards; }
@keyframes si-trail { to { transform: translateY(26px) scale(.1) rotate(120deg); opacity: 0; } }

/* ---------- Preloader: red velvet curtains + logo ---------- */
#si-preloader { position: fixed; inset: 0; z-index: 100002; display: none; align-items: center; justify-content: center;
    background: #050508; overflow: hidden; }
.si-js:not(.si-seen) #si-preloader { display: flex; animation: si-pre-failsafe .5s ease 4.2s forwards; }
#si-preloader .cur { position: absolute; top: 0; bottom: 0; width: 50.5%; z-index: 3;
    background:
        repeating-linear-gradient(90deg, rgba(0, 0, 0, .38) 0 3%, rgba(255, 255, 255, .05) 3% 6%, rgba(0, 0, 0, .0) 6% 9%),
        linear-gradient(180deg, #9d0f1b, #5d0710 60%, #3a040a);
    box-shadow: inset 0 -40px 80px rgba(0, 0, 0, .55); transition: transform 1.25s cubic-bezier(.77, 0, .18, 1) .15s; }
#si-preloader .cur.l { left: 0; border-right: 3px solid var(--si-gold); }
#si-preloader .cur.r { right: 0; border-left: 3px solid var(--si-gold); }
#si-preloader .pel { position: absolute; top: 0; left: 0; right: 0; height: 46px; z-index: 4;
    background: linear-gradient(180deg, #2b0207, #6e0a14); border-bottom: 3px solid var(--si-gold); }
#si-preloader .core { position: relative; z-index: 5; text-align: center; transition: opacity .5s, transform .9s; }
#si-preloader .core img { width: min(320px, 70vw); filter: drop-shadow(0 0 28px rgba(255, 213, 74, .55));
    animation: si-pop 1.1s cubic-bezier(.2, 1.4, .3, 1) both, si-glow 2s ease-in-out 1.1s infinite; }
#si-preloader .core .tag { margin-top: 14px; font-family: 'Cinzel', serif; letter-spacing: 7px; font-size: .78rem; color: var(--si-gold);
    animation: si-fade-up .9s ease .5s both; }
#si-preloader .core .bar { width: 180px; height: 3px; margin: 16px auto 0; background: rgba(255, 255, 255, .1); border-radius: 3px; overflow: hidden; }
#si-preloader .core .bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--si-gold-2), #fff, var(--si-gold)); animation: si-load 1.4s ease forwards; }
#si-preloader.open .cur.l { transform: translateX(-102%); }
#si-preloader.open .cur.r { transform: translateX(102%); }
#si-preloader.open .core { opacity: 0; transform: scale(1.25); }
#si-preloader.open { background: transparent; transition: background .6s ease .5s; }
#si-preloader.gone { display: none !important; }
@keyframes si-load { to { width: 100%; } }
@keyframes si-pop { from { transform: scale(.4) rotate(-8deg); opacity: 0; } to { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes si-glow { 0%, 100% { filter: drop-shadow(0 0 18px rgba(255, 213, 74, .35)); } 50% { filter: drop-shadow(0 0 42px rgba(255, 213, 74, .85)); } }
@keyframes si-pre-failsafe { to { opacity: 0; visibility: hidden; } }

/* ---------- Brand mark (star) injected into every brand/logo ---------- */
.si-mark { height: 38px; width: 38px; object-fit: contain; margin-right: 10px; vertical-align: middle;
    filter: drop-shadow(0 0 8px rgba(255, 213, 74, .6)); animation: si-twinkle 3.2s ease-in-out infinite; }
.logo .si-mark, .brand .si-mark { height: 34px; width: 34px; }
.brand-link .si-mark { height: 30px; width: 30px; margin-left: 12px; }
@keyframes si-twinkle { 0%, 100% { transform: scale(1) rotate(0); filter: drop-shadow(0 0 6px rgba(255, 213, 74, .5)); }
    50% { transform: scale(1.1) rotate(8deg); filter: drop-shadow(0 0 16px rgba(255, 213, 74, .95)); } }
.logo, .navbar-brand, .brand, .brand-link { display: inline-flex; align-items: center; }

/* ---------- Navbars (all variants) ---------- */
.navbar, .navbar-inverse, .navbar-custom, .navbar-white, .navbar-light, .topbar, .admin-topbar, .main-header, nav.navbar {
    background: linear-gradient(180deg, rgba(0, 0, 0, .96), rgba(14, 10, 14, .94)) !important;
    border: 0 !important; border-bottom: 2px solid var(--si-gold) !important;
    box-shadow: 0 6px 28px rgba(255, 213, 74, .16) !important; color: var(--si-text) !important;
    backdrop-filter: blur(10px); }
.admin-topbar, .topbar, .main-header { position: relative; }
.navbar::after, .admin-topbar::after, .topbar::after, .main-header::after {
    content: ''; position: absolute; left: 0; bottom: -2px; height: 2px; width: 100%; pointer-events: none;
    background: linear-gradient(90deg, transparent 0, #fff 45%, transparent 55%); background-size: 220% 100%;
    animation: si-line 4.5s linear infinite; }
@keyframes si-line { from { background-position: 220% 0; } to { background-position: -120% 0; } }
.navbar .navbar-brand, .navbar-inverse .navbar-brand, .navbar-custom .navbar-brand, .topbar .brand, .admin-topbar .brand, .admin-topbar a.brand,
.logo, nav .logo, .brand-link, .brand-text {
    font-family: 'Cinzel', serif !important; color: var(--si-gold) !important; font-weight: 700 !important; letter-spacing: 2px;
    text-shadow: 0 0 18px rgba(255, 213, 74, .45); background: transparent !important; }
.logo span { color: #fff !important; }
.navbar .nav-link, .navbar-nav > li > a, .navbar-text, .navbar-inverse .navbar-nav > li > a, .navbar .navbar-text,
.nav-links a, .nav-links li a, .main-header .nav-link, .admin-topbar span {
    color: var(--si-text) !important; }
.navbar .nav-link:hover, .navbar-nav > li > a:hover, .nav-links a:hover, .main-header .nav-link:hover { color: var(--si-gold) !important; background: rgba(255, 213, 74, .08) !important; }
.nav-links a.active { color: var(--si-gold) !important; background: rgba(255, 213, 74, .1); }
.btn-logout, .btn-out, .admin-topbar a.btn-out, .topbar .btns a {
    background: transparent !important; color: var(--si-gold) !important; border: 1px solid rgba(255, 213, 74, .55) !important; border-radius: 30px !important; }
.btn-logout:hover, .btn-out:hover, .topbar .btns a:hover { background: var(--si-gold) !important; color: #000 !important; box-shadow: var(--si-glow); }
.navbar-toggler, .navbar-toggle { border-color: rgba(255, 213, 74, .5) !important; }

/* Public site nav (Home / OTT / News / Register / Profile) */
body > nav:first-of-type { background: linear-gradient(180deg, rgba(0, 0, 0, .95), rgba(18, 8, 12, .92)) !important; backdrop-filter: blur(10px); }

/* ---------- Containers / cards (dark glass) ---------- */
.page-header, .stats-card, .quick-actions, .content-box, .artist-card, .casting-card, .filter-box, .detail-card, .form-box, .form-card,
.casting-info, .application-card, .card-box, .stat-box, .action-card, .card, .modal-content, .box, .panel, .panel-default, .well, .info-box,
.list-group-item, .dropdown-menu, .login-container, .reg-card, .news-card, .ott-card, .service-card, .callout, .jumbotron, .accordion-item,
.main-footer, .card-header, .card-footer, .box-footer, .box-header, .panel-heading, .panel-footer {
    background: var(--si-panel) !important; color: var(--si-text) !important;
    border: 1px solid var(--si-line) !important; border-radius: var(--si-radius);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .04) !important; backdrop-filter: blur(6px); }
.card-header, .card-footer, .box-header, .box-footer, .panel-heading, .panel-footer, .modal-header, .modal-footer { border-radius: 0 !important; box-shadow: none !important; background: rgba(255, 213, 74, .05) !important; }
.box { border-top: 3px solid var(--si-gold) !important; }
.stats-card, .stat-box, .casting-card, .artist-card, .application-card, .detail-card, .action-card, .card, .box {
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s; position: relative; }
.stats-card:hover, .stat-box:hover, .casting-card:hover, .artist-card:hover, .application-card:hover, .action-card:hover, .card:hover {
    transform: translateY(-6px); border-color: rgba(255, 213, 74, .6) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .55), 0 0 28px rgba(255, 213, 74, .22) !important; }
/* gold sheen that sweeps across cards on hover */
.stats-card::after, .stat-box::after, .casting-card::after, .artist-card::after, .service-card::after, .news-card::after, .ott-card::after {
    content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0;
    background: linear-gradient(115deg, transparent 35%, rgba(255, 240, 179, .16) 50%, transparent 65%); background-size: 250% 100%; background-position: 120% 0;
    transition: opacity .3s; }
.stats-card:hover::after, .stat-box:hover::after, .casting-card:hover::after, .artist-card:hover::after, .service-card:hover::after, .news-card:hover::after, .ott-card:hover::after {
    opacity: 1; animation: si-sheen 1.1s ease forwards; }
@keyframes si-sheen { to { background-position: -120% 0; } }
.stats-card, .stat-box, .casting-card, .artist-card, .service-card, .news-card, .ott-card { overflow: hidden; }
.stats-card p, .stat-box h3, .exp-text { color: var(--si-muted) !important; }
.stats-card h3, .stat-box .number { color: #fff !important; text-shadow: 0 0 18px rgba(255, 213, 74, .35); font-family: 'Cinzel', serif; }
.stat-box h3 { color: #e6c766 !important; }
.section-title, .info-label { color: var(--si-gold) !important; border-color: var(--si-line) !important; }
.urgent-deadline { background: rgba(255, 193, 7, .1) !important; border-left: 4px solid var(--si-gold) !important; color: #ffe9a8; }
.casting-info { border-left: 4px solid var(--si-gold) !important; }
.page-header { border-left: 4px solid var(--si-crimson) !important; }
.login-container, .reg-card { border-color: rgba(255, 213, 74, .35) !important; box-shadow: 0 20px 60px rgba(0, 0, 0, .7), 0 0 40px rgba(193, 18, 31, .18) !important; }
.content-wrapper, .content, .content-header, .wrapper, .container-main { background: transparent !important; }
.main-footer { border-radius: 0 !important; border-width: 1px 0 0 0 !important; color: var(--si-muted) !important; }
.main-footer a { color: var(--si-gold) !important; }
footer { color: var(--si-muted); }
footer.text-center { color: var(--si-muted) !important; }

/* ---------- Tables ---------- */
.table, table { color: var(--si-text) !important; --bs-table-bg: transparent; --bs-table-color: var(--si-text); --bs-table-striped-bg: rgba(255, 213, 74, .035);
    --bs-table-striped-color: var(--si-text); --bs-table-hover-bg: rgba(255, 213, 74, .09); --bs-table-hover-color: #fff; --bs-border-color: rgba(255, 213, 74, .14); }
.table > :not(caption) > * > *, .table td, .table th { background-color: transparent !important; color: inherit !important; border-color: rgba(255, 213, 74, .13) !important; }
.table thead th, .table > thead > tr > th { background: rgba(255, 213, 74, .09) !important; color: var(--si-gold) !important; text-transform: uppercase; font-size: .76rem; letter-spacing: 1px; border-bottom: 2px solid var(--si-gold) !important; }
.table tbody tr { transition: background .25s, transform .25s; }
.table tbody tr:hover > * { background-color: rgba(255, 213, 74, .08) !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background-color: rgba(255, 213, 74, .03) !important; }
.table-responsive { border-radius: var(--si-radius); }
#v_table th { color: var(--si-gold) !important; }

/* ---------- Forms ---------- */
.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="url"],
input[type="date"], input[type="search"], input[type="datetime-local"], textarea, select, .input-group-text, .custom-select, .select2-selection {
    background-color: rgba(255, 255, 255, .055) !important; color: #fff !important;
    border: 1px solid rgba(255, 213, 74, .28) !important; border-radius: 10px !important;
    transition: border-color .25s, box-shadow .25s, background .25s; }
.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus {
    background-color: rgba(255, 255, 255, .09) !important; border-color: var(--si-gold) !important;
    box-shadow: 0 0 0 3px rgba(255, 213, 74, .18), 0 0 18px rgba(255, 213, 74, .15) !important; outline: 0; color: #fff !important; }
::placeholder { color: #7d7260 !important; opacity: 1; }
option, select option { background: #12121a; color: #fff; }
.form-control:disabled, .form-control[readonly], input[readonly] { background-color: rgba(255, 255, 255, .03) !important; color: var(--si-muted) !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--si-gold); }
input[type="file"]::file-selector-button { background: linear-gradient(135deg, var(--si-gold), var(--si-gold-2)); color: #000; border: 0; padding: 6px 14px; border-radius: 8px; margin-right: 10px; font-weight: 600; cursor: pointer; }
.form-check-input { background-color: rgba(255, 255, 255, .1); border-color: rgba(255, 213, 74, .5); }
.form-check-input:checked { background-color: var(--si-gold); border-color: var(--si-gold); }

/* ---------- Buttons ---------- */
.btn { border-radius: 10px; font-weight: 600; letter-spacing: .3px; position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s, background .25s, color .25s; }
.btn::after { content: ''; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; transform: skewX(-22deg); pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent); }
.btn:hover::after { left: 150%; transition: left .7s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary, .btn-login, .btn-gold, .btn-primary:focus, button.btn-primary, .btn-info {
    background: linear-gradient(135deg, var(--si-gold), var(--si-gold-2)) !important; color: #120d00 !important; border: 0 !important; box-shadow: 0 6px 20px rgba(245, 166, 35, .3); }
.btn-primary:hover, .btn-login:hover, .btn-gold:hover, .btn-info:hover { color: #000 !important; box-shadow: 0 10px 30px rgba(245, 166, 35, .55), 0 0 22px rgba(255, 213, 74, .35); filter: brightness(1.06); }
.btn-success { background: linear-gradient(135deg, #1fa971, #0f7a50) !important; border: 0 !important; color: #fff !important; }
.btn-success:hover { box-shadow: 0 8px 24px rgba(31, 169, 113, .45); }
.btn-danger { background: linear-gradient(135deg, var(--si-crimson), var(--si-crimson-2)) !important; border: 0 !important; color: #fff !important; }
.btn-danger:hover { box-shadow: 0 8px 24px rgba(193, 18, 31, .55); }
.btn-warning { background: linear-gradient(135deg, #ff9f1c, #e07b00) !important; border: 0 !important; color: #1a1000 !important; }
.btn-secondary, .btn-default, .btn-light { background: rgba(255, 255, 255, .08) !important; color: var(--si-text) !important; border: 1px solid rgba(255, 255, 255, .18) !important; }
.btn-secondary:hover, .btn-default:hover, .btn-light:hover { background: rgba(255, 213, 74, .14) !important; border-color: var(--si-gold) !important; color: #fff !important; }
.btn-outline-primary, .btn-outline-secondary, .btn-outline-info, .btn-outline-dark, .btn-outline-light { color: var(--si-gold) !important; border: 1px solid rgba(255, 213, 74, .6) !important; background: transparent !important; }
.btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-info:hover, .btn-outline-dark:hover, .btn-outline-light:hover, .btn-outline-primary.active { background: var(--si-gold) !important; color: #000 !important; }
.btn-outline-success { color: #44d49a !important; border-color: #1fa971 !important; background: transparent !important; }
.btn-outline-success:hover { background: #1fa971 !important; color: #fff !important; }
.btn-outline-danger { color: #ff6b78 !important; border-color: var(--si-crimson) !important; background: transparent !important; }
.btn-outline-danger:hover { background: var(--si-crimson) !important; color: #fff !important; }
.btn-primary, .btn-gold, .btn-login, .nav-signup-btn { animation: si-pulse 3.2s ease-in-out infinite; }
@keyframes si-pulse { 0%, 100% { box-shadow: 0 6px 20px rgba(245, 166, 35, .28); } 50% { box-shadow: 0 8px 34px rgba(255, 213, 74, .6); } }
.btn:disabled, .btn.disabled { animation: none; opacity: .55; }
.btn-close { filter: invert(1) brightness(1.4); opacity: .85; }
.close, button.close { color: #fff !important; text-shadow: none; opacity: .8; }

/* ---------- Badges, alerts, pills ---------- */
.badge.bg-primary, .label-primary { background: var(--si-gold) !important; color: #000 !important; }
.badge.bg-info { background: var(--si-royal) !important; color: #fff !important; }
.badge.bg-warning { color: #000 !important; }
.alert { border-radius: 12px; border: 1px solid transparent; backdrop-filter: blur(4px); animation: si-fade-up .6s ease both; }
.alert-success { background: rgba(31, 169, 113, .14) !important; color: #7dffc2 !important; border-color: rgba(31, 169, 113, .5) !important; }
.alert-danger, .alert-error { background: rgba(193, 18, 31, .16) !important; color: #ff9aa2 !important; border-color: rgba(193, 18, 31, .55) !important; }
.alert-info { background: rgba(42, 107, 209, .16) !important; color: #a9ccff !important; border-color: rgba(42, 107, 209, .55) !important; }
.alert-warning { background: rgba(255, 193, 7, .13) !important; color: #ffe08a !important; border-color: rgba(255, 193, 7, .5) !important; }
.nav-tabs, .nav-pills { border-color: var(--si-line) !important; }
.nav-tabs .nav-link.active, .nav-pills .nav-link.active { background: linear-gradient(135deg, var(--si-gold), var(--si-gold-2)) !important; color: #000 !important; border-color: transparent !important; }
.page-link { background: rgba(255, 255, 255, .05) !important; color: var(--si-gold) !important; border-color: var(--si-line) !important; }
.page-item.active .page-link { background: var(--si-gold) !important; color: #000 !important; }
.dropdown-item { color: var(--si-text) !important; }
.dropdown-item:hover { background: rgba(255, 213, 74, .12) !important; color: var(--si-gold) !important; }
.dropdown-divider, .modal-header, .modal-footer { border-color: var(--si-line) !important; }
.modal-backdrop { background: #000; }
.modal-content { animation: si-zoom .35s cubic-bezier(.2, 1.1, .3, 1) both; }
@keyframes si-zoom { from { transform: scale(.9); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------- AdminLTE sidebar (Views/Shared/_Layout) ---------- */
.main-sidebar, .sidebar-dark-primary { background: linear-gradient(180deg, #050508, #120a0e) !important; border-right: 1px solid var(--si-line); }
.brand-link { border-bottom: 1px solid var(--si-line) !important; }
.nav-sidebar .nav-link { color: #d8c9a6 !important; border-radius: 10px; transition: all .3s; }
.nav-sidebar .nav-link:hover { background: rgba(255, 213, 74, .1) !important; color: var(--si-gold) !important; transform: translateX(4px); }
.nav-sidebar .nav-link.active, .nav-sidebar > .nav-item > .nav-link.active { background: linear-gradient(135deg, var(--si-gold), var(--si-gold-2)) !important; color: #000 !important; box-shadow: var(--si-glow) !important; }
.user-panel { border-bottom: 1px solid var(--si-line) !important; }
.user-panel .info a { color: #fff !important; }
.small-box { border-radius: var(--si-radius) !important; box-shadow: 0 10px 28px rgba(0, 0, 0, .5) !important; transition: transform .35s; overflow: hidden; }
.small-box:hover { transform: translateY(-6px); }
.small-box .icon > i { transition: transform .5s; }
.small-box:hover .icon > i { transform: scale(1.18) rotate(-6deg); }

/* ---------- PUBLIC SITE: Home / OTT / News / Register / Profile ---------- */
.hero { position: relative; overflow: hidden; background:
    radial-gradient(800px 420px at 50% 0, rgba(255, 213, 74, .14), transparent 70%),
    radial-gradient(700px 400px at 12% 90%, rgba(193, 18, 31, .22), transparent 65%),
    radial-gradient(700px 400px at 90% 80%, rgba(42, 107, 209, .18), transparent 65%),
    linear-gradient(180deg, rgba(5, 5, 8, .35), rgba(5, 5, 8, .75)) !important; }
.hero::before { animation: si-hero-pan 18s ease-in-out infinite alternate; }
@keyframes si-hero-pan { from { transform: scale(1) translateX(0); } to { transform: scale(1.12) translateX(-2%); } }
.hero h1 { background: linear-gradient(100deg, #fff 0%, var(--si-gold) 28%, #fff 50%, var(--si-gold-2) 72%, #fff 100%) !important; background-size: 250% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; animation: si-shimmer 6s linear infinite; }
@keyframes si-shimmer { to { background-position: 250% center; } }
.hero-logo { width: min(340px, 72vw); margin: 0 auto 8px; display: block; position: relative; z-index: 1;
    filter: drop-shadow(0 0 30px rgba(255, 213, 74, .45)); animation: si-float 5s ease-in-out infinite, si-pop 1.2s cubic-bezier(.2, 1.3, .3, 1) both; }
@keyframes si-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.hero-badge { animation: si-fade-up .9s ease .2s both; backdrop-filter: blur(6px); }
.hero h1 { animation: si-shimmer 6s linear infinite, si-fade-up 1s ease .35s both; }
.hero p { animation: si-fade-up 1s ease .55s both; }
.hero-btns { animation: si-fade-up 1s ease .75s both; }
@keyframes si-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

/* film strip decorations */
.si-filmstrip { height: 34px; width: 100%; position: relative; overflow: hidden; background: #050507; border-top: 2px solid var(--si-gold); border-bottom: 2px solid var(--si-gold); }
.si-filmstrip::before { content: ''; position: absolute; inset: 7px 0; width: 200%;
    background: repeating-linear-gradient(90deg, rgba(255, 213, 74, .85) 0 16px, transparent 16px 34px); border-radius: 3px; opacity: .85;
    -webkit-mask: linear-gradient(#000, #000); animation: si-film 14s linear infinite; }
@keyframes si-film { to { transform: translateX(-340px); } }

/* ticker */
.si-ticker { overflow: hidden; background: linear-gradient(90deg, var(--si-crimson-2), var(--si-crimson), var(--si-crimson-2)); border-top: 1px solid var(--si-gold); border-bottom: 1px solid var(--si-gold); position: relative; z-index: 2; }
.si-ticker .track { display: inline-flex; white-space: nowrap; animation: si-marquee 28s linear infinite; padding: 10px 0; }
.si-ticker span { font-family: 'Cinzel', serif; letter-spacing: 5px; font-size: .8rem; color: #fff; padding: 0 26px; text-transform: uppercase; }
.si-ticker span b { color: var(--si-gold); margin-left: 52px; font-weight: 400; }
.si-ticker:hover .track { animation-play-state: paused; }
@keyframes si-marquee { to { transform: translateX(-50%); } }

.stats-bar { position: relative; background: linear-gradient(135deg, rgba(14, 14, 22, .92), rgba(26, 10, 14, .92)) !important; }
.stat-item { transition: transform .35s; }
.stat-item:hover { transform: translateY(-6px) scale(1.04); }
.stat-item h3 { text-shadow: 0 0 22px rgba(255, 213, 74, .5); }
.section-title { position: relative; display: block; }
.section-title::after { content: ''; display: block; width: 90px; height: 3px; margin: 12px auto 0; border-radius: 3px;
    background: linear-gradient(90deg, transparent, var(--si-gold), transparent); animation: si-expand 3s ease-in-out infinite; }
@keyframes si-expand { 0%, 100% { width: 50px; opacity: .6; } 50% { width: 150px; opacity: 1; } }
.service-card, .news-card, .ott-card { transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s, border-color .4s; position: relative; }
.service-card:hover, .news-card:hover { transform: translateY(-9px) !important; box-shadow: 0 22px 50px rgba(0, 0, 0, .6), 0 0 34px rgba(255, 213, 74, .25) !important; }
.service-card .icon { display: inline-block; animation: si-float 4.6s ease-in-out infinite; filter: drop-shadow(0 0 12px rgba(255, 213, 74, .5)); }
.service-card:nth-child(2) .icon { animation-delay: .7s; } .service-card:nth-child(3) .icon { animation-delay: 1.4s; }
.ott-card:hover { transform: translateY(-8px) scale(1.03) !important; box-shadow: 0 22px 46px rgba(0, 0, 0, .7), 0 0 30px rgba(255, 213, 74, .3) !important; z-index: 3; }
.ott-card .thumb img, .news-card .nimg img, .featured .fimg img { transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.ott-card:hover .thumb img, .news-card:hover .nimg img, .featured:hover .fimg img { transform: scale(1.12); }
.ott-card .play-ov i { transition: transform .35s, filter .35s; filter: drop-shadow(0 0 14px rgba(255, 213, 74, .8)); }
.ott-card:hover .play-ov i { transform: scale(1.25); }
.filters button, .filters .btn { transition: all .3s; }
.filters button:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(255, 213, 74, .25); }
.page-head, .article, .reg-head { animation: si-fade-up .9s ease both; }
.floating-download a { background: linear-gradient(135deg, var(--si-crimson), var(--si-crimson-2)) !important; border: 1px solid rgba(255, 213, 74, .6); }
footer { background: linear-gradient(180deg, rgba(10, 10, 15, .9), #050508) !important; border-top: 2px solid var(--si-gold) !important; position: relative; }
footer p { color: var(--si-muted) !important; }
.si-foot-logo { width: 150px; margin: 0 auto 10px; display: block; opacity: .95; filter: drop-shadow(0 0 14px rgba(255, 213, 74, .35)); }

/* Login logo */
.si-login-logo { width: 210px; max-width: 70%; margin: -6px auto 6px; display: block; filter: drop-shadow(0 0 22px rgba(255, 213, 74, .5)); animation: si-float 5s ease-in-out infinite; }
.login-container { position: relative; overflow: hidden; }
@property --si-ang { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.login-container::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 2px; z-index: 0; pointer-events: none;
    background: conic-gradient(from var(--si-ang), rgba(255, 213, 74, .15) 0 55%, var(--si-gold) 75%, #fff 83%, var(--si-gold) 91%, rgba(255, 213, 74, .15) 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: si-ang 6s linear infinite; }
@keyframes si-ang { to { --si-ang: 360deg; } }
.login-container > * { position: relative; z-index: 1; }
.login-header h2 { font-family: 'Cinzel', serif; }
.login-header p, .forgot-link a { color: var(--si-muted) !important; }
.forgot-link a:hover { color: var(--si-gold) !important; }

/* ---------- Reveal on scroll (classes added by JS only) ---------- */
.si-js .si-reveal { opacity: 0; transform: translateY(34px) scale(.98); transition: opacity .85s cubic-bezier(.2, .7, .2, 1), transform .85s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--si-d, 0s); }
.si-js .si-reveal.si-in { opacity: 1; transform: none; }

/* ---------- Language switcher (Google Translate) ---------- */
#si-translate { position: fixed; left: 18px; bottom: 18px; z-index: 99990; display: flex; align-items: center; gap: 8px;
    background: rgba(10, 10, 16, .9); border: 1px solid rgba(255, 213, 74, .55); border-radius: 40px; padding: 7px 8px 7px 14px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .55), 0 0 22px rgba(255, 213, 74, .18); backdrop-filter: blur(10px); font-family: 'Poppins', sans-serif; }
#si-translate svg { width: 20px; height: 20px; fill: none; stroke: var(--si-gold); stroke-width: 1.6; flex: none; }
#si-translate select { appearance: none; -webkit-appearance: none; background: transparent !important; border: 0 !important; color: #fff !important; font-size: .82rem; font-weight: 600;
    cursor: pointer; padding: 5px 24px 5px 4px !important; outline: 0; box-shadow: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23ffd54a' stroke-width='2'/></svg>") !important;
    background-repeat: no-repeat !important; background-position: right 4px center !important; border-radius: 0 !important; }
#si-translate select option { background: #12121a; color: #fff; }
#si-translate:hover { border-color: var(--si-gold); box-shadow: 0 8px 28px rgba(0, 0, 0, .55), 0 0 30px rgba(255, 213, 74, .4); }
#google_translate_element { position: absolute !important; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
body > .skiptranslate, .goog-te-banner-frame, iframe.goog-te-banner-frame, #goog-gt-tt, .goog-te-balloon-frame, .goog-tooltip, .goog-tooltip:hover { display: none !important; }
body { top: 0 !important; position: static !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
font[style] { background: transparent !important; box-shadow: none !important; }

/* ---------- Responsive + accessibility ---------- */
@media (max-width: 768px) {
    #si-translate { left: 10px; bottom: 10px; padding: 5px 6px 5px 10px; }
    .si-mark { height: 30px; width: 30px; margin-right: 8px; }
    .si-ticker span { letter-spacing: 3px; font-size: .7rem; }
    #si-preloader .core .tag { letter-spacing: 4px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    #si-stage canvas, #si-stage .si-grain { display: none; }
    .si-js .si-reveal { opacity: 1; transform: none; }
}

/* ---------- Polish pass ---------- */
.si-ticker .st { color: var(--si-gold) !important; padding: 0 6px; letter-spacing: 0; }
.bg-white, .bg-light, .bg-body, .bg-body-tertiary { background-color: var(--si-panel) !important; color: var(--si-text) !important; }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--si-line) !important; }
.login-header h2 { color: #fff !important; }
.login-header p { color: var(--si-muted) !important; }
.breadcrumb { background: transparent !important; }
.breadcrumb-item, .breadcrumb-item a, .breadcrumb > li, .breadcrumb > li > a { color: var(--si-muted) !important; }
.breadcrumb-item.active, .breadcrumb > .active { color: var(--si-gold) !important; }
.box-primary, .box-info, .box-success, .box-warning, .box-danger { border-top-width: 3px !important; }
.box-info { border-top-color: var(--si-royal) !important; }
.box-success { border-top-color: #1fa971 !important; }
.box-warning { border-top-color: var(--si-gold-2) !important; }
.box-danger { border-top-color: var(--si-crimson) !important; }
.profile-username, .profile-user-img + h3 { color: #fff !important; }
.profile-user-img { border: 3px solid var(--si-gold) !important; box-shadow: 0 0 22px rgba(255, 213, 74, .4); }
dl.dl-horizontal dt { color: var(--si-gold) !important; }
dl.dl-horizontal dd { color: var(--si-text) !important; }
.portfolio-item { border: 1px solid var(--si-line) !important; border-radius: 12px; overflow: hidden; transition: transform .35s, box-shadow .35s; }
.portfolio-item:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 16px 36px rgba(0, 0, 0, .6), 0 0 26px rgba(255, 213, 74, .25); }
.thumb, .artist-avatar { box-shadow: 0 0 0 2px rgba(255, 213, 74, .35); }
.artist-avatar { border-color: rgba(255, 213, 74, .6) !important; }
.welcome-banner { background: linear-gradient(135deg, var(--si-gold) 0%, var(--si-gold-2) 55%, #ff7a18 100%) !important; box-shadow: 0 14px 40px rgba(245, 166, 35, .35) !important; position: relative; overflow: hidden; }
.welcome-banner::after { content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .35) 50%, transparent 65%); background-size: 250% 100%; animation: si-sheen 5s ease-in-out infinite; }
.welcome-banner h1, .welcome-banner p { color: #1a1000 !important; -webkit-text-fill-color: #1a1000; }
.label { border-radius: 6px; }
.modal-content .close, .modal-header .close { color: #fff !important; }
.stats-card-icon { color: var(--si-gold); opacity: .18 !important; transition: transform .6s, opacity .3s; }
.stats-card:hover .stats-card-icon { transform: translateY(-50%) scale(1.2) rotate(-8deg); opacity: .3 !important; }
.filter-pills .btn, .quick-action-btn { box-shadow: none; }
.quick-action-btn { border: 1px solid var(--si-line) !important; }
.table .btn-action, .btn-action { animation: none; }
.card-blue, .card-green, .card-orange, .card-red, .card-purple, .card-teal, .card-pink, .card-indigo { border-left-width: 4px !important; }
.card-blue { border-left-color: #3b8bff !important; } .card-green { border-left-color: #1fa971 !important; } .card-orange { border-left-color: #ff9f1c !important; }
.card-red { border-left-color: var(--si-crimson) !important; } .card-purple { border-left-color: #9b6bff !important; } .card-teal { border-left-color: #20c9b7 !important; }
.card-pink { border-left-color: #ff5fa2 !important; } .card-indigo { border-left-color: #6a5af9 !important; }
.stat-box.blue { border-left-color: #3b8bff !important; } .stat-box.green { border-left-color: #1fa971 !important; } .stat-box.yellow, .stat-box.orange { border-left-color: var(--si-gold) !important; }
.stat-box.red { border-left-color: var(--si-crimson) !important; } .stat-box.purple { border-left-color: #9b6bff !important; }

/* ---------- Full logo in navbars ---------- */
.si-mark.full { height: 54px; width: auto; margin-right: 10px; animation: none; transition: transform .35s, filter .35s;
    filter: drop-shadow(0 0 10px rgba(255, 213, 74, .35)); }
.logo .si-mark.full, .brand .si-mark.full { height: 76px; width: auto; margin: 0; }
.navbar-brand .si-mark.full { height: 58px; }
.brand-link .si-mark.full { height: 42px; margin-left: 10px; }
.logo:hover .si-mark.full, .navbar-brand:hover .si-mark.full, .brand:hover .si-mark.full { transform: scale(1.06); filter: drop-shadow(0 0 18px rgba(255, 213, 74, .8)); }
body > nav:first-of-type { height: 86px !important; }
.navbar-brand { padding-top: 4px !important; padding-bottom: 4px !important; }
.navbar-fixed-top .navbar-brand { height: auto; }

/* ---------- Photo upload: show the WHOLE picture, big ---------- */
.photo-up .avatar, .photo-up .ph, .pic-box img {
    width: min(280px, 82%); height: 350px; border-radius: 18px; margin-left: auto; margin-right: auto;
    object-fit: contain; background: rgba(255, 255, 255, .04); }
.photo-up .ph i { font-size: 2.8rem; }
.photo-up .ph span { font-size: .9rem; }
.photo-up .avatar, .pic-box img { border: 3px solid var(--si-gold); box-shadow: 0 0 30px rgba(255, 213, 74, .3); }
.pic-box img { display: block; }
.photo-up .hint { margin-top: .9rem; }
@media (max-width: 480px) { .photo-up .avatar, .photo-up .ph, .pic-box img { height: 300px; } }
