/* UNIHAZ visual identity
 * Source: analisis_warna_font_unihaz.md
 * Loaded after legacy theme files so one token layer controls the public UI.
 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');

:root {
    /* Core brand palette */
    --unihaz-navy: #0B2F6D;
    --unihaz-navy-deep: #071F49;
    --unihaz-navy-soft: #1A365D;
    --unihaz-blue: var(--unihaz-navy);
    --unihaz-gold: #F59E0B;
    --unihaz-gold-light: #FFC107;
    --unihaz-gold-dark: #D97706;
    --unihaz-charcoal: #212529;
    --unihaz-text-muted: #495057;
    --unihaz-surface: #FFFFFF;
    --unihaz-surface-muted: #F8F9FA;
    --unihaz-border: #DEE2E6;

    /* Bootstrap */
    --bs-primary: var(--unihaz-navy);
    --bs-primary-rgb: 11, 47, 109;
    --bs-warning: var(--unihaz-gold);
    --bs-warning-rgb: 245, 158, 11;
    --bs-body-color: var(--unihaz-charcoal);
    --bs-body-bg: var(--unihaz-surface);
    --bs-link-color: var(--unihaz-navy);
    --bs-link-hover-color: var(--unihaz-navy-soft);

    /* Tuva legacy tokens */
    --tuva-primary: var(--unihaz-navy);
    --tuva-primary-dark: var(--unihaz-navy-deep);
    --tuva-primary-light: var(--unihaz-navy-soft);
    --tuva-secondary: var(--unihaz-gold);
    --tuva-accent: var(--unihaz-gold-dark);
    --tuva-accent-light: var(--unihaz-gold-light);
    --tuva-blue-primary: var(--unihaz-navy);
    --tuva-blue-dark: var(--unihaz-navy-deep);
    --tuva-blue-light: var(--unihaz-navy-soft);
    --tuva-blue-lighter: #315F9E;
    --tuva-blue-darkest: #041631;
    --tuva-teal: var(--unihaz-gold-dark);
    --tuva-teal-light: var(--unihaz-gold);
    --tuva-yellow: var(--unihaz-gold);
    --tuva-yellow-light: var(--unihaz-gold-light);
    --tuva-purple: var(--unihaz-navy-soft);
    --tuva-purple-dark: var(--unihaz-navy-deep);
    --tuva-dark: var(--unihaz-charcoal);
    --tuva-text-dark: var(--unihaz-charcoal);
    --tuva-text-medium: var(--unihaz-text-muted);
    --tuva-text-light: #6C757D;
    --tuva-light-beige: var(--unihaz-surface-muted);
    --tuva-light-grey: var(--unihaz-surface-muted);
    --tuva-light-blue: #F2F5FA;
    --tuva-bg-light: var(--unihaz-surface-muted);
    --tuva-bg-white: var(--unihaz-surface);
    --tuva-border: var(--unihaz-border);

    /* Penmaru and enrollment legacy tokens */
    --penmaru-primary: var(--unihaz-navy);
    --penmaru-primary-dark: var(--unihaz-navy-deep);
    --penmaru-primary-light: var(--unihaz-navy-soft);
    --penmaru-secondary: var(--unihaz-gold);
    --penmaru-accent: var(--unihaz-gold-dark);
    --penmaru-accent-light: var(--unihaz-gold-light);
    --penmaru-text-dark: var(--unihaz-charcoal);
    --penmaru-text-medium: var(--unihaz-text-muted);
    --penmaru-text-light: #6C757D;
    --penmaru-bg-light: var(--unihaz-surface-muted);
    --penmaru-bg-white: var(--unihaz-surface);
    --penmaru-border: var(--unihaz-border);
    --primary-color: var(--unihaz-navy);
    --primary-dark: var(--unihaz-navy-deep);
    --primary-light: var(--unihaz-navy-soft);
    --secondary-color: var(--unihaz-gold);
    --accent-color: var(--unihaz-gold-dark);
    --accent-light: var(--unihaz-gold-light);
    --form-accent: var(--unihaz-navy);
    --form-accent-dark: var(--unihaz-navy-soft);
    --text-dark: var(--unihaz-charcoal);
    --text-medium: var(--unihaz-text-muted);
    --text-light: #6C757D;
    --bg-light: var(--unihaz-surface-muted);
    --bg-white: var(--unihaz-surface);
    --border-color: var(--unihaz-border);
}

html {
    font-family: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body,
button,
input,
select,
textarea {
    font-family: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body,
body.home-page {
    color: var(--unihaz-charcoal);
    font-weight: 400;
    line-height: 1.6;
    background-color: var(--unihaz-surface);
    background-image: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--unihaz-navy-soft);
    font-family: inherit;
    font-weight: 700;
    line-height: 1.25;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6 {
    color: #FFFFFF;
}

p,
li {
    font-weight: 400;
}

.nav-link,
.btn,
button,
.tuva-btn-primary,
.tuva-btn-outline,
.btn-hero-primary,
.btn-hero-outline,
.btn-penmaru-primary,
.btn-penmaru-secondary,
.btn-penmaru-outline {
    font-weight: 600;
}

a {
    color: var(--unihaz-navy);
}

a:hover {
    color: var(--unihaz-navy-soft);
}

/* Header and navigation */
.tuva-topbar-exact,
.penmaru-topbar {
    background: linear-gradient(135deg, var(--unihaz-navy-deep), var(--unihaz-navy));
}

.tuva-topbar-exact .btn-apply-top,
.tuva-navbar-exact .navbar-login-btn,
.tuva-navbar-exact .navbar-login-btn[style] {
    color: var(--unihaz-navy-deep) !important;
    background: linear-gradient(135deg, var(--unihaz-gold-light), var(--unihaz-gold)) !important;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.28);
}

.tuva-topbar-exact .btn-apply-top:hover,
.tuva-navbar-exact .navbar-login-btn:hover,
.tuva-navbar-exact .navbar-login-btn[style]:hover {
    color: var(--unihaz-navy-deep) !important;
    background: linear-gradient(135deg, var(--unihaz-gold), var(--unihaz-gold-dark)) !important;
    box-shadow: 0 8px 22px rgba(245, 158, 11, 0.34);
}

.tuva-navbar-exact .nav-link {
    color: var(--unihaz-charcoal) !important;
    font-weight: 500;
}

.tuva-navbar-exact .nav-link::before {
    background: var(--unihaz-gold);
}

.tuva-navbar-exact .nav-link:hover,
.tuva-navbar-exact .nav-link.active {
    color: var(--unihaz-navy) !important;
    background: rgba(11, 47, 109, 0.07);
}

.tuva-navbar-exact .navbar-toggler:focus,
.btn:focus-visible,
.form-control:focus,
.form-select:focus {
    border-color: var(--unihaz-gold);
    box-shadow: 0 0 0 0.2rem rgba(245, 158, 11, 0.25);
}

/* Hero and calls to action */
.tuva-hero-exact .hero-overlay {
    background: linear-gradient(90deg, rgba(7, 31, 73, 0.94) 0%, rgba(11, 47, 109, 0.78) 52%, rgba(26, 54, 93, 0.48) 100%);
}

.tuva-hero-exact h1,
.tuva-hero-exact .hero-subtitle,
.penmaru-hero h1,
.penmaru-hero .lead {
    color: #FFFFFF;
}

.tuva-hero-exact h1,
.penmaru-hero h1 {
    font-weight: 700;
}

.tuva-gradient-text {
    background: linear-gradient(135deg, #FFFFFF 35%, #FFF2C2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.tuva-hero-exact .btn-hero-primary,
.btn-penmaru-primary,
.tuva-btn-primary {
    color: var(--unihaz-navy-deep);
    font-weight: 600;
    background: linear-gradient(135deg, var(--unihaz-gold-light), var(--unihaz-gold));
    border-color: rgba(255, 255, 255, 0.35);
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.28);
}

.tuva-hero-exact .btn-hero-primary:hover,
.btn-penmaru-primary:hover,
.tuva-btn-primary:hover {
    color: var(--unihaz-navy-deep);
    background: linear-gradient(135deg, var(--unihaz-gold), var(--unihaz-gold-dark));
    box-shadow: 0 12px 30px rgba(245, 158, 11, 0.34);
}

.tuva-btn-outline,
.btn-penmaru-outline {
    color: var(--unihaz-navy);
    border-color: var(--unihaz-navy);
    background: var(--unihaz-surface);
}

.tuva-btn-outline:hover,
.btn-penmaru-outline:hover {
    color: #FFFFFF;
    border-color: var(--unihaz-navy);
    background: var(--unihaz-navy);
}

.tuva-hero-exact .btn-hero-outline {
    color: #FFFFFF;
    font-weight: 600;
    border-color: rgba(255, 255, 255, 0.9);
    background: rgba(7, 31, 73, 0.18);
}

.tuva-hero-strip .strip-btn-yellow {
    color: var(--unihaz-navy-deep);
    background: linear-gradient(135deg, var(--unihaz-gold-light), var(--unihaz-gold));
}

.tuva-hero-strip .strip-btn-blue {
    background: linear-gradient(135deg, var(--unihaz-navy-soft), var(--unihaz-navy));
}

.tuva-hero-strip .strip-btn-purple {
    background: linear-gradient(135deg, var(--unihaz-navy), var(--unihaz-navy-deep));
}

/* Content hierarchy and cards */
.tuva-section-title,
.penmaru-section-title,
.tuva-admission-panel-title,
.tuva-timeline-title,
.tuva-timeline-item-title,
.tuva-faq-q,
.tuva-about-modern .tuva-metric-title,
.tuva-about-modern .tuva-highlight-title,
.tuva-about-modern .tuva-leaders-title,
.form-section-title {
    color: var(--unihaz-navy-soft);
    font-weight: 700;
}

.tuva-section-subtitle,
.penmaru-section-subtitle,
.tuva-admission-panel-sub,
.tuva-timeline-sub,
.tuva-timeline-item-sub,
.tuva-faq-a {
    color: var(--unihaz-text-muted);
    font-weight: 400;
    line-height: 1.6;
}

.tuva-section-badge,
.tuva-tabs-nav .nav-link.active {
    color: var(--unihaz-navy-deep);
    background: rgba(245, 158, 11, 0.16);
    border-color: rgba(245, 158, 11, 0.38);
    font-weight: 600;
}

.tuva-tabs-nav .nav-link {
    color: var(--unihaz-text-muted);
    font-weight: 600;
}

.tuva-tabs-nav .nav-link.active {
    background: linear-gradient(135deg, var(--unihaz-gold-light), var(--unihaz-gold));
    box-shadow: 0 12px 26px rgba(245, 158, 11, 0.2);
}

.tuva-admission-section,
.tuva-about-modern,
.penmaru-bg-light,
.tuva-stats {
    background: var(--unihaz-surface-muted);
}

.tuva-admission-section::before,
.tuva-about-modern::before {
    background: radial-gradient(680px 320px at 10% 15%, rgba(11, 47, 109, 0.1), transparent 62%),
        radial-gradient(560px 280px at 95% 10%, rgba(245, 158, 11, 0.09), transparent 62%);
}

.tuva-admission-panel,
.tuva-wave-card,
.tuva-faq-item,
.tuva-timeline,
.tuva-about-modern .tuva-metric-card,
.tuva-about-modern .tuva-highlight-card,
.tuva-about-modern .tuva-leader-card,
.penmaru-card,
.penmaru-program-card,
.penmaru-testimonial,
.enroll-container,
.form-section {
    background: var(--unihaz-surface);
    border-color: var(--unihaz-border);
}

.tuva-admission-panel:hover,
.tuva-about-modern .tuva-metric-card:hover,
.tuva-about-modern .tuva-highlight-card:hover,
.tuva-about-modern .tuva-leader-card:hover,
.penmaru-card:hover,
.penmaru-program-card:hover,
.form-section:hover {
    border-color: rgba(11, 47, 109, 0.28);
}

.tuva-admission-panel-icon,
.tuva-timeline-dot,
.tuva-about-modern .tuva-metric-icon,
.tuva-about-modern .tuva-highlight-icon,
.penmaru-card-icon,
.penmaru-step-number,
.penmaru-testimonial-avatar {
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--unihaz-navy-soft), var(--unihaz-navy));
}

.tuva-timeline-modern .tuva-timeline-dot::after {
    background: linear-gradient(180deg, rgba(11, 47, 109, 0.38), rgba(245, 158, 11, 0.32));
}

.tuva-jenis-card-overlay,
.tuva-fakultas-card:hover .tuva-jenis-card-overlay {
    background: linear-gradient(135deg, rgba(7, 31, 73, 0.88), rgba(11, 47, 109, 0.78) 62%, rgba(245, 158, 11, 0.55));
}

.tuva-jenis-card::before {
    background: linear-gradient(90deg, var(--unihaz-navy), var(--unihaz-gold));
}

.tuva-jenis-card-blue .tuva-jenis-card-icon,
.tuva-jenis-card-purple .tuva-jenis-card-icon,
.tuva-jenis-card-teal .tuva-jenis-card-icon,
.tuva-jenis-card-red .tuva-jenis-card-icon,
.tuva-jenis-card-green .tuva-jenis-card-icon,
.tuva-jenis-card-cyan .tuva-jenis-card-icon {
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--unihaz-navy-soft), var(--unihaz-navy));
}

.tuva-jenis-card-yellow .tuva-jenis-card-icon,
.tuva-jenis-card-orange .tuva-jenis-card-icon,
.tuva-jenis-card-pink .tuva-jenis-card-icon {
    color: var(--unihaz-navy-deep);
    background: linear-gradient(135deg, var(--unihaz-gold-light), var(--unihaz-gold));
}

.tuva-pathway-icon-box {
    color: var(--unihaz-navy) !important;
    background: rgba(11, 47, 109, 0.10) !important;
}

.tuva-bento-section .bg-dark {
    background-color: var(--unihaz-navy-deep) !important;
}

.form-control:hover,
.form-select:hover {
    border-color: rgba(11, 47, 109, 0.45);
}

.form-section-header,
.form-section h5 {
    border-bottom-color: rgba(11, 47, 109, 0.2);
}

/* Footer */
.tuva-footer-exact,
.penmaru-footer {
    color: #FFFFFF;
    background: linear-gradient(135deg, var(--unihaz-navy-deep), var(--unihaz-navy));
}

.tuva-footer-exact h1,
.tuva-footer-exact h2,
.tuva-footer-exact h3,
.tuva-footer-exact h4,
.tuva-footer-exact h5,
.tuva-footer-exact h6,
.penmaru-footer h5,
.footer-heading {
    color: #FFFFFF;
    font-weight: 700;
}

.footer-heading::after {
    background: var(--unihaz-gold);
}

.footer-list li a:hover,
.tuva-footer-exact a:hover,
.penmaru-footer a:hover {
    color: var(--unihaz-gold-light) !important;
}

.footer-social-links .social-link-item:hover,
.contact-icon-bg-sm,
.tuva-floating-btn {
    color: var(--unihaz-navy-deep);
    border-color: var(--unihaz-gold);
    background: var(--unihaz-gold);
}

.tuva-floating-btn:hover {
    color: var(--unihaz-navy-deep);
    background: var(--unihaz-gold-light);
}

@media (max-width: 991px) {
    .tuva-navbar-exact .navbar-collapse {
        background: var(--unihaz-surface);
    }
}
