
:root{
    --tvsc-bg:#f8fafc;
    --tvsc-surface:#ffffff;
    --tvsc-text:#0f172a;
    --tvsc-muted:#475569;
    --tvsc-border:#e2e8f0;
    --tvsc-shadow:0 8px 24px rgba(15,23,42,.08);

    --tvsc-primary: var(--tvsc-primary, #006fb1);
    --tvsc-secondary: var(--tvsc-secondary, #28364b);
    --tvsc-accent: var(--tvsc-accent, #9b2a89);

    /* Legacy NSE variables your single event template expects */
    --bg-page:#f8fafc;
    --bg-card:#ffffff;

    --text-primary:#0f172a;
    --text-secondary:#334155;
    --text-muted:#64748b;

    --border-light:#e2e8f0;

    --primary-blue:#006fb1;
    --primary-blue-dark:#005a91;

    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:16px;
    --radius-full:999px;

    --shadow-sm:0 2px 8px rgba(15,23,42,.06);
    --shadow-md:0 8px 24px rgba(15,23,42,.08);
    --shadow-lg:0 16px 40px rgba(15,23,42,.12);
}

*,
*::before,
*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}
body.tvsc{
    margin:0;
    background:var(--tvsc-bg);
    color:var(--tvsc-text);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height:1.6;
}

img{max-width:100%;height:auto;}
a{color:var(--tvsc-primary);text-decoration:none;}
a:hover{text-decoration:underline;}

.tvsc-container{
    width:min(100%, var(--tvsc-max-width));
    margin:0 auto;
    padding-left:var(--tvsc-container-padding);
    padding-right:var(--tvsc-container-padding);
}

.tvsc-full{
    width:100%;
    padding:0;
    margin:0;
}

.tvsc-header{
    background:var(--tvsc-header-bg);
    color:var(--tvsc-header-text);
    border-bottom:1px solid var(--tvsc-border);
}
.tvsc-has-sticky-header .tvsc-header{
    position:sticky;
    top:0;
    z-index:50;
}
.tvsc-header-inner{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
    min-height:80px;
}
.tvsc-site-title{
    color:var(--tvsc-header-text);
    font-weight:800;
    font-size:1.4rem;
}
.tvsc-menu{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
    justify-content:center;
}
.tvsc-menu li a{color:var(--tvsc-header-text);font-weight:700;}

.tvsc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:var(--tvsc-button-radius);
    border:1px solid transparent;
    font-weight:800;
}
.tvsc-btn-primary{
    background:var(--tvsc-primary);
    color:#fff;
}
.tvsc-btn-primary:hover{
    filter:brightness(.95);
    text-decoration:none;
}

.tvsc-main{padding:24px 0;}
.tvsc-main-full{padding:0;}

.tvsc-page-card,
.tvsc-card{
    background:var(--tvsc-surface);
    border:1px solid var(--tvsc-border);
    border-radius:var(--tvsc-card-radius);
    box-shadow:var(--tvsc-shadow);
    overflow:hidden;
}
.tvsc-page-card{padding:24px;}
.tvsc-page-title,
.tvsc-archive-title{
    margin:0 0 16px;
    line-height:1.1;
    font-size:clamp(1.8rem,2vw,2.4rem);
}
.tvsc-page-content,
.tvsc-card-content,
.tvsc-archive-description{color:var(--tvsc-muted);}

.tvsc-archive-hero,
.tvsc-archive-header{
    margin-bottom:24px;
}

.tvsc-archive-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:16px;
}

.tvsc-card-media img{
    display:block;
    width:100%;
    aspect-ratio: 16 / 10;
    object-fit:cover;
}
.tvsc-card-body{padding:18px;}
.tvsc-card-title{
    margin:0 0 10px;
    font-size:1.15rem;
    line-height:1.2;
}
.tvsc-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}
.tvsc-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:4px 10px;
    border-radius:999px;
    background:#eef2ff;
    color:#334155;
    font-size:.85rem;
    font-weight:800;
}

.tvsc-footer{
    background:var(--tvsc-footer-bg);
    color:var(--tvsc-footer-text);
    margin-top:40px;
}
.tvsc-footer-inner{padding-top:32px;padding-bottom:24px;}
.tvsc-footer-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.tvsc-footer-heading,
.tvsc-footer-widget-title{
    margin:0 0 12px;
    color:var(--tvsc-footer-text);
}
.tvsc-footer a{color:var(--tvsc-footer-text);}
.tvsc-footer-menu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}
.tvsc-footer-bottom{
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.12);
    font-size:.95rem;
}

@media (max-width: 980px){
    .tvsc-header-inner{
        grid-template-columns:1fr;
        justify-items:center;
        padding-top:16px;
        padding-bottom:16px;
    }
    .tvsc-footer-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 768px){
    .tvsc-container{
        padding-left:var(--tvsc-mobile-padding);
        padding-right:var(--tvsc-mobile-padding);
    }
    .tvsc-main{
        padding:16px 0;
    }
    .tvsc-page-card{
        padding:16px;
    }
    .tvsc-archive-grid{
        grid-template-columns:1fr;
    }
}
