.site-body {
    background: #f8fafc;
    color: #1e293b;
    font-family: var(--font-display, 'Plus Jakarta Sans'), sans-serif;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, .95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #f1f5f9;
    box-shadow: 0 1px 8px rgba(15, 23, 42, .04);
}

.site-header-inner {
    max-width: 80rem;
    margin: 0 auto;
    padding: .75rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.site-brand { display: flex; align-items: center; gap: .75rem; }
.site-logo {
    height: 3rem;
    width: 3rem;
    border-radius: 1rem;
    background: var(--c-primary-800);
    color: var(--c-accent-400);
    display: grid;
    place-items: center;
    font-size: 1.25rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .15);
    overflow: hidden;
    flex-shrink: 0;
}
.site-logo.has-image {
    background: #fff;
    padding: 3px;
}
.site-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.site-name { font-weight: 800; color: var(--c-primary-800); line-height: 1.15; }
.site-tagline { font-size: .75rem; color: #64748b; }

.site-footer { margin-top: 4rem; background: var(--c-primary-900); color: #e2e8f0; }
.site-footer a:hover { color: var(--c-accent-400); }

/* Aurora Glass */
.tpl-aurora {
    background:
        radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--c-highlight-500) 16%, transparent), transparent 28%),
        radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--c-accent-400) 18%, transparent), transparent 26%),
        #f8fafc;
}
.tpl-aurora .site-header {
    margin: .7rem 1rem 0;
    border-radius: 1.6rem;
    border: 1px solid rgba(255,255,255,.6);
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .08);
}
.tpl-aurora .site-logo,
.tpl-aurora .btn-primary,
.tpl-aurora .rounded-2xl,
.tpl-aurora .rounded-3xl { border-radius: 1.6rem !important; }
.tpl-aurora .nav-link { border-radius: 999px; }
.tpl-aurora .page-hero { border-radius: 0 0 2.4rem 2.4rem; }
.tpl-aurora .card-hover:hover { transform: translateY(-8px) scale(1.01); }

/* Metro Editorial */
.tpl-metro { background: #f4f4f5; }
.tpl-metro .site-header { box-shadow: none; border-bottom: 2px solid var(--c-primary-800); }
.tpl-metro .site-logo { border-radius: .35rem; }
.tpl-metro .nav-link {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
    border-radius: 0;
}
.tpl-metro h1, .tpl-metro h2, .tpl-metro .site-name {
    font-family: 'Playfair Display', serif;
}
.tpl-metro .rounded-2xl,
.tpl-metro .rounded-3xl { border-radius: .4rem !important; }
.tpl-metro .card-hover { box-shadow: none; border-left: 3px solid var(--c-accent-500); }
.tpl-metro .page-hero { background: var(--c-primary-900); }
.tpl-metro .btn-primary { border-radius: .25rem; letter-spacing: .04em; text-transform: uppercase; }

/* Kampus Center */
.tpl-kampus .site-header-inner {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}
.tpl-kampus .site-brand {
    width: 100%;
    justify-content: center;
}
.tpl-kampus .site-nav {
    width: 100%;
    justify-content: center;
}
.tpl-kampus .site-name { font-family: Merriweather, serif; }
.tpl-kampus .page-hero {
    background: linear-gradient(180deg, var(--c-primary-900), var(--c-primary-700));
}
.tpl-kampus .site-footer { border-top: 6px solid var(--c-accent-500); }

/* Horizon Fresh */
.tpl-horizon { background: #f0fdf9; }
.tpl-horizon .site-header {
    border: none;
    box-shadow: none;
}
.tpl-horizon .site-header-inner {
    background: #fff;
    border-radius: 999px;
    margin-top: .5rem;
    box-shadow: 0 10px 30px rgba(13, 148, 136, .08);
}
.tpl-horizon .site-logo { border-radius: 999px; }
.tpl-horizon .nav-link { border-radius: 999px; }
.tpl-horizon .btn-primary,
.tpl-horizon a.bg-gold-500 { border-radius: 999px !important; }
.tpl-horizon .page-hero { border-radius: 0 0 3rem 3rem; }
.tpl-horizon .card-hover { border-radius: 1.8rem; }

@media (max-width: 1023px) {
    .tpl-horizon .site-header-inner { border-radius: 1.4rem; }
    .tpl-kampus .site-nav { display: none; }
    .tpl-aurora .site-header { margin: .5rem .6rem 0; }
}

html[dir="rtl"] body,
html.locale-zh body,
html.locale-ko body { font-family: inherit; }
html[dir="rtl"] body { font-family: 'Noto Naskh Arabic', var(--font-display, sans-serif); }
html.locale-zh body { font-family: 'Noto Sans SC', var(--font-display, sans-serif); }
html.locale-ko body { font-family: 'Noto Sans KR', var(--font-display, sans-serif); }
