/* ============================================================
   ALUMNI PORTAL v2.0.0 — INSTITUTIONAL / KEMENTERIAN EDITION
   Visual override untuk halaman publik & alumni.
   Tidak meniru identitas kementerian tertentu.
============================================================ */

:root{
  --gov-navy:#0a2a4a;
  --gov-navy-2:#103b63;
  --gov-blue:#1769aa;
  --gov-blue-soft:#edf5fc;
  --gov-gold:#d6a53a;
  --gov-red:#b8323c;
  --gov-green:#17845a;
  --gov-ink:#1f3245;
  --gov-muted:#6e7f90;
  --gov-bg:#f5f8fb;
  --gov-border:#dfe7ee;
  --gov-white:#fff;
  --gov-radius:14px;
  --gov-shadow:0 14px 36px rgba(10,42,74,.08);
}

html,body{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif!important;background:var(--gov-bg)!important;color:var(--gov-ink)!important}
body{font-size:14px!important}
a{transition:.2s ease}

/* garis identitas institusional */
#header.public-header{position:relative!important;border-bottom:0!important;box-shadow:0 8px 28px rgba(10,42,74,.07)!important}
#header.public-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;z-index:2;
  background:linear-gradient(90deg,var(--gov-navy) 0 34%,var(--gov-blue) 34% 62%,var(--gov-gold) 62% 82%,var(--gov-red) 82% 100%);
}
.public-topbar{background:#061e34!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.public-news-label i,.public-news-track a i{color:var(--gov-gold)!important}
.public-brand-logo{border-radius:12px!important;border-color:#d8e2ea!important;box-shadow:0 4px 14px rgba(10,42,74,.05)!important}
.public-brand-main{font-weight:800!important;letter-spacing:-.25px!important;color:var(--gov-navy)!important}
.public-brand-school{color:#708193!important;font-weight:600!important}
#navbar.public-navbar>ul>li>a{font-weight:650!important;color:#405367!important;border-radius:9px!important}
#navbar.public-navbar>ul>li>a:hover{color:var(--gov-blue)!important;background:var(--gov-blue-soft)!important}
#navbar.public-navbar>ul>li>a.active{color:var(--gov-navy)!important;background:#eef4f9!important}
#navbar.public-navbar>ul>li>a.active::before{background:var(--gov-gold)!important}
#navbar.public-navbar .nav-login,#navbar.public-navbar .nav-dashboard{background:var(--gov-navy)!important;color:#fff!important;border-color:var(--gov-navy)!important}
#navbar.public-navbar .nav-register{border-color:#ccd9e4!important;color:var(--gov-navy)!important;background:#fff!important}
#navbar.public-navbar .nav-register:hover{background:var(--gov-blue-soft)!important;border-color:#bdd3e4!important}

/* HERO */
#home-hero{
  position:relative!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 86% 20%,rgba(214,165,58,.13),transparent 25%),
    radial-gradient(circle at 72% 90%,rgba(23,105,170,.18),transparent 30%),
    linear-gradient(135deg,#061e34 0%,#0a2a4a 46%,#0f416d 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
}
#home-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;
}
#home-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--gov-blue),var(--gov-gold),var(--gov-red),var(--gov-green))}
.hero-content,.hero-visual{position:relative;z-index:2}
.hero-eyebrow{border:1px solid rgba(255,255,255,.13)!important;background:rgba(255,255,255,.06)!important;color:#d8e7f4!important;border-radius:999px!important;padding:8px 12px!important;letter-spacing:.08em!important}
.hero-eyebrow i{color:var(--gov-gold)!important}
.hero-title{font-size:clamp(34px,4.3vw,58px)!important;line-height:1.08!important;letter-spacing:-1.6px!important;font-weight:800!important;max-width:760px!important}
.hero-title span{color:#f1c95e!important}
.hero-description{font-size:14px!important;line-height:1.9!important;color:rgba(255,255,255,.76)!important;max-width:700px!important}
.btn-home-primary{background:var(--gov-gold)!important;color:#132d45!important;border-radius:10px!important;box-shadow:0 10px 26px rgba(214,165,58,.20)!important}
.btn-home-primary:hover{transform:translateY(-1px);background:#e1b34c!important}
.btn-home-secondary{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;border-radius:10px!important}
.btn-home-secondary:hover{background:rgba(255,255,255,.12)!important}
.hero-mini-item,.hero-visual{border-radius:16px!important}
.hero-mini-item{border:1px solid rgba(255,255,255,.09)!important;background:rgba(255,255,255,.055)!important}
.hero-mini-icon{color:var(--gov-gold)!important}

/* Sections */
section{scroll-margin-top:90px}
.section-title h2,.section-title h3,.home-section h2,.home-section h3{color:var(--gov-navy)!important;font-weight:800!important;letter-spacing:-.4px!important}
.section-title h3 span,.section-title h2 span{color:var(--gov-blue)!important}
.section-title::after{content:"";display:block;width:62px;height:3px;margin:12px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--gov-blue),var(--gov-gold))}
.section-bg,.home-section-soft{background:#eef4f8!important}
.home-section-white{background:#fff!important}

/* Card universal */
.card,.member,.dashboard-card,.login-main-card,.register-main-card{
  border:1px solid var(--gov-border)!important;border-radius:var(--gov-radius)!important;
  box-shadow:0 8px 26px rgba(10,42,74,.055)!important;overflow:hidden;
}
.card:hover,.member:hover{box-shadow:var(--gov-shadow)!important;transform:translateY(-2px);transition:.22s ease}
.card-header,.card-footer{border-color:#e5ebf1!important}
.card-footer{background:#fff!important}
.member-info h4,.card-title{color:var(--gov-navy)!important;font-weight:750!important}
.member-info p,.card-text,.text-muted{color:var(--gov-muted)!important}

/* Tombol */
.btn{border-radius:9px!important;font-weight:650!important}
.btn-primary{background:var(--gov-blue)!important;border-color:var(--gov-blue)!important}
.btn-primary:hover{background:#115b94!important;border-color:#115b94!important}
.btn-outline-primary{color:var(--gov-blue)!important;border-color:#b7cddd!important}
.btn-outline-primary:hover{background:var(--gov-blue)!important;color:#fff!important}
.btn-success{background:var(--gov-green)!important;border-color:var(--gov-green)!important}

/* Forms */
.form-control,.form-select,select.form-control,textarea.form-control{
  min-height:43px;border:1px solid #d8e2ea!important;border-radius:9px!important;background:#fff!important;color:var(--gov-ink)!important;box-shadow:none!important
}
textarea.form-control{min-height:110px}
.form-control:focus,.form-select:focus{border-color:#79a8cc!important;box-shadow:0 0 0 3px rgba(23,105,170,.10)!important}
label{font-weight:650;color:#405366}

/* tabel */
.table{background:#fff;color:#31465a}
.table thead th{background:#edf3f8!important;color:var(--gov-navy)!important;border-bottom:1px solid #dce5ed!important;font-size:11px!important;font-weight:800!important;letter-spacing:.02em}
.table td{border-color:#e8edf2!important;vertical-align:middle!important}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,.page-item.active .page-link{background:var(--gov-navy)!important;border-color:var(--gov-navy)!important;color:#fff!important}

/* Logged-in alumni cards */
#main{min-height:60vh}
.profile-card,.alumni-profile-card,.forum-card,.message-card{border:1px solid var(--gov-border)!important;border-radius:14px!important;box-shadow:0 8px 28px rgba(10,42,74,.06)!important}

/* login publik */
.login-page-section{background:linear-gradient(180deg,#f4f8fb,#edf3f8)!important}
.login-information-panel{background:linear-gradient(145deg,#061e34 0%,#0a2a4a 55%,#104a79 100%)!important}
.login-information-panel::before{border-color:rgba(214,165,58,.20)!important}
.login-school-icon,.login-feature-icon,.login-information-footer i{color:#efc559!important}

/* footer */
#footer.public-footer{position:relative;background:linear-gradient(135deg,#051b30 0%,#082a4a 58%,#0d3d65 100%)!important}
#footer.public-footer::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--gov-blue) 0 34%,var(--gov-gold) 34% 63%,var(--gov-red) 63% 82%,var(--gov-green) 82%)}
.footer-brand-title strong{font-weight:800!important}
.sidebar-subscribe{background:linear-gradient(135deg,#082a4a,#0d4c79)!important;border-top:3px solid var(--gov-gold)!important}

/* breadcrumbs & page header */
.breadcrumb{background:transparent!important}
.breadcrumb a{color:var(--gov-blue)!important}

/* Responsive */
@media(max-width:991.98px){
  #header.public-header::after{bottom:-3px;height:3px}
  .hero-title{font-size:clamp(31px,8vw,44px)!important;letter-spacing:-1px!important}
  #home-hero{padding-top:28px!important}
}
@media(max-width:575.98px){
  body{font-size:13px!important}
  .hero-title{font-size:32px!important;line-height:1.12!important}
  .hero-description{font-size:12px!important}
  .card,.member{border-radius:12px!important}
}

/* ============================================================
   ALUMNI PORTAL v2.1.0 — TYPOGRAPHY & CONTRAST REFINEMENT
   Fokus: font publik sedikit lebih besar, hero lebih proporsional,
   serta kontras judul pada panel gelap/berwarna.
============================================================ */

:root{
  --gov-text-size:15.5px;
  --gov-text-mobile:14.5px;
  --gov-title:#0a2a4a;
  --gov-on-dark:#ffffff;
  --gov-on-dark-muted:#d6e3ef;
  --gov-on-dark-soft:#afc5d8;
}

/* Tipografi publik: lebih nyaman dibaca tanpa terasa membesar berlebihan */
html,body{
  font-size:var(--gov-text-size)!important;
  line-height:1.65!important;
}
body{font-size:var(--gov-text-size)!important}

p,.card-text,.member-info p,.home-section p,
.profile-card p,.alumni-profile-card p,.forum-card p,.message-card p{
  font-size:0.96rem!important;
  line-height:1.75!important;
}

#navbar.public-navbar>ul>li>a{
  font-size:0.91rem!important;
}
.public-brand-main{font-size:1rem!important}
.public-brand-school{font-size:.78rem!important}

/* Hero/tagline: sengaja diperkecil dibanding v2.0 agar tidak terlalu dominan */
.hero-title{
  font-size:clamp(32px,3.55vw,49px)!important;
  line-height:1.12!important;
  letter-spacing:-1.15px!important;
  max-width:690px!important;
  text-wrap:balance;
}
.hero-description{
  font-size:1rem!important;
  line-height:1.78!important;
  max-width:670px!important;
  color:rgba(255,255,255,.82)!important;
}
.hero-eyebrow{font-size:.72rem!important}
.btn-home-primary,.btn-home-secondary{font-size:.86rem!important}

/* Heading section dibuat sedikit lebih kuat tetapi bukan jumbo */
.section-title h2,.home-section h2{font-size:clamp(25px,2.4vw,34px)!important;line-height:1.25!important}
.section-title h3,.home-section h3{font-size:clamp(21px,2vw,29px)!important;line-height:1.3!important}
.section-title p{font-size:.98rem!important;line-height:1.75!important}

/* Kartu dan detail publik sedikit lebih readable */
.member-info h4,.card-title{font-size:1rem!important;line-height:1.45!important}
.member-info p,.card-text,.text-muted{font-size:.9rem!important}
.form-control,.form-select,select.form-control,textarea.form-control{font-size:.93rem!important}
label{font-size:.9rem!important}
.table{font-size:.88rem!important}
.table thead th{font-size:.75rem!important}

/* ============================================================
   CONTRAST SAFETY — PANEL GELAP
============================================================ */
.home-counter-wrapper,
.home-cta,
.tracer-intro-frame,
.berseri-brand-box,
.login-information-panel,
.sidebar-subscribe,
#footer.public-footer{
  color:var(--gov-on-dark)!important;
}

.home-counter-wrapper h1,.home-counter-wrapper h2,.home-counter-wrapper h3,.home-counter-wrapper h4,
.home-cta h1,.home-cta h2,.home-cta h3,.home-cta h4,
.tracer-intro-frame h1,.tracer-intro-frame h2,.tracer-intro-frame h3,.tracer-intro-frame h4,
.berseri-brand-box h1,.berseri-brand-box h2,.berseri-brand-box h3,.berseri-brand-box h4,
.login-information-panel h1,.login-information-panel h2,.login-information-panel h3,.login-information-panel h4,
.sidebar-subscribe h1,.sidebar-subscribe h2,.sidebar-subscribe h3,.sidebar-subscribe h4,
#footer.public-footer h1,#footer.public-footer h2,#footer.public-footer h3,#footer.public-footer h4,
#footer.public-footer h5,#footer.public-footer h6{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.08);
}

.home-counter-wrapper p,.home-counter-wrapper span,
.home-cta p,.home-cta span,
.tracer-intro-frame p,.tracer-intro-frame span,
.berseri-brand-box p,.berseri-brand-box span,
.login-information-panel p,.login-information-panel span,
.sidebar-subscribe p,.sidebar-subscribe span,
#footer.public-footer p,#footer.public-footer span,#footer.public-footer li,#footer.public-footer a{
  color:var(--gov-on-dark-muted)!important;
}

/* Label/aksen di panel gelap tetap emas agar hierarchy jelas */
.home-counter-header>span,
.home-cta-label,
.tracer-intro-content>span,
.berseri-school-label,
.sidebar-subscribe .sidebar-subscribe-label,
.login-information-panel .login-eyebrow{
  color:#f0c75d!important;
}

/* CTA: judul putih dan deskripsi lebih terang */
.home-cta-title,.home-cta h2,.home-cta h3{color:#fff!important}
.home-cta-description,.home-cta p{color:#d6e3ef!important}

/* Counter */
.home-counter-header h2{font-size:26px!important;color:#fff!important}
.home-counter-wrapper .count-box span{font-size:24px!important;color:#fff!important}
.home-counter-wrapper .count-box p{font-size:.78rem!important;color:#d6e3ef!important}

/* Tracer */
.tracer-intro-content h3{font-size:24px!important;color:#fff!important}
.tracer-intro-content p{font-size:.9rem!important;color:#d6e3ef!important}
.tracer-intro-point strong{font-size:.82rem!important;color:#fff!important}
.tracer-intro-point span{font-size:.72rem!important;color:#c4d5e4!important}

/* BERSERI / informational frame */
.berseri-intro h2{font-size:30px!important;line-height:1.3!important}
.berseri-description{font-size:.94rem!important;line-height:1.78!important}
.berseri-brand-text strong{font-size:16px!important}
.berseri-brand-text span{font-size:.72rem!important}

/* Subscribe pada sidebar/footer */
.sidebar-subscribe h4{color:#fff!important;font-size:1.08rem!important}
.sidebar-subscribe p{color:#d7e5f0!important;font-size:.9rem!important}

/* Footer links: tetap jelas dan punya hover */
#footer.public-footer a{color:#d7e5f0!important}
#footer.public-footer a:hover{color:#f0c75d!important}

/* Beberapa card/header Bootstrap dengan background warna */
.bg-primary h1,.bg-primary h2,.bg-primary h3,.bg-primary h4,.bg-primary h5,.bg-primary h6,
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,
.bg-info h1,.bg-info h2,.bg-info h3,.bg-info h4,.bg-info h5,.bg-info h6,
.card-header.bg-primary,.card-header.bg-dark,.card-header.bg-info{
  color:#fff!important;
}
.bg-primary p,.bg-dark p,.bg-info p{color:#e2ebf3!important}

/* Judul pada panel terang wajib kembali ke navy */
.home-berseri-frame h2,.home-berseri-frame h3,
.card:not(.bg-primary):not(.bg-dark):not(.bg-info) .card-title,
.section-bg .section-title h2,.section-bg .section-title h3,
.home-section-white .section-title h2,.home-section-white .section-title h3{
  color:var(--gov-navy)!important;
}

/* Responsive refinement */
@media(max-width:991.98px){
  body{font-size:15px!important}
  .hero-title{font-size:clamp(31px,6.7vw,42px)!important;line-height:1.14!important}
  .hero-description{font-size:.95rem!important}
}
@media(max-width:575.98px){
  html,body{font-size:var(--gov-text-mobile)!important}
  body{font-size:var(--gov-text-mobile)!important}
  .hero-title{font-size:30px!important;line-height:1.16!important;letter-spacing:-.65px!important}
  .hero-description{font-size:.94rem!important;line-height:1.7!important}
  .section-title h2,.home-section h2{font-size:25px!important}
  .section-title h3,.home-section h3{font-size:22px!important}
}
