/* =====================================================
   HIMATIKA — Public Site · Medieval × Modern
   Gold #c9a84c · Navy #06112a · Parchment #f4e4c1
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@700;800&family=Cinzel:wght@400;600;700;900&family=Cinzel+Decorative:wght@700&family=IM+Fell+English:ital@0;1&display=swap');

:root {
  --yellow:#c9a84c;   --kuning:#c9a84c;  --yellow-d:#b8963c;
  --amber:#a07830;    --amber-dark:#8a6520; --amber-d:#8a6520;
  --dark:#06112a;     --dark-2:#0d1e3e;
  --text:#2a1e0a;     --muted:#7a6040;
  --bg:#faf4e4;       --bg2:#f4ead0;    --bg3:#ece0c0;
  --border:#d4b87a;   --border-2:#c9a84c;
  --radius:10px;      --radius-sm:5px;  --radius-lg:16px;
  --shadow:0 1px 3px rgba(0,0,0,.1),0 6px 20px rgba(0,0,0,.08);
  --shadow-lg:0 4px 6px rgba(0,0,0,.06),0 16px 36px rgba(0,0,0,.12);
  --header-h:64px;
  --font:'Inter',system-ui,sans-serif;
  --font-display:'Cinzel',serif;
  --font-serif:'IM Fell English',Georgia,serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}

/* ── HEADER ── */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:linear-gradient(135deg,#c9a84c 0%,#e0c060 50%,#c9a84c 100%);
  border-bottom:2px solid #a07830;
  display:flex;justify-content:space-between;align-items:center;
  padding:0 48px;height:var(--header-h);
  box-shadow:0 2px 16px rgba(0,0,0,.15),0 1px 0 rgba(255,255,255,.2) inset;
}
/* Subtle grid pattern on header */
.site-header::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(6,17,42,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(6,17,42,.06) 1px,transparent 1px);
  background-size:24px 24px;pointer-events:none;
}
.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:17px;color:var(--dark);letter-spacing:1px;font-family:'Cinzel',serif;position:relative;}
.logo-img{width:38px;height:38px;object-fit:contain;border-radius:50%;background:white;padding:2px;box-shadow:0 0 0 2px rgba(6,17,42,.2),0 2px 8px rgba(0,0,0,.1);flex-shrink:0;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;z-index:1001;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:all .3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.site-nav{display:flex;align-items:center;gap:2px;position:relative;}
.site-nav>a,.site-nav>.dropdown>a{color:var(--dark);text-decoration:none;font-weight:700;font-size:13px;padding:8px 13px;border-radius:3px;transition:all .2s;white-space:nowrap;font-family:'Cinzel',serif;letter-spacing:.3px;}
.site-nav>a:hover,.site-nav>.dropdown>a:hover{background:rgba(6,17,42,.1);}
.site-nav>a.active{background:var(--dark);color:var(--yellow);}
.btn-login-nav{background:var(--dark)!important;color:var(--yellow)!important;padding:8px 18px!important;border-radius:3px!important;font-size:12px!important;font-weight:700!important;text-decoration:none;transition:all .2s;white-space:nowrap;margin-left:8px;font-family:'Cinzel',serif!important;letter-spacing:.5px;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);}
.btn-login-nav:hover{background:#162b52!important;transform:translateY(-1px);}
.btn-login-nav[href*="logout"]{background:#7a1a1a!important;}
.btn-login-nav[href*="logout"]:hover{background:#991b1b!important;}
.dropdown{position:relative;}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;background:#faf4e4;border-radius:4px;box-shadow:var(--shadow-lg);min-width:210px;overflow:hidden;border:1px solid var(--border);z-index:999;}
.dropdown-menu.open{display:block;animation:dropFade .15s ease;}
@keyframes dropFade{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.dropdown-menu a{display:block;padding:11px 16px;color:var(--text);text-decoration:none;font-size:13px;font-weight:600;transition:all .15s;border-bottom:1px solid var(--border);font-family:'Cinzel',serif;letter-spacing:.3px;}
.dropdown-menu a:last-child{border-bottom:none;}
.dropdown-menu a:hover{background:#f0e8d0;color:var(--dark);}
.drop-arrow{display:inline-block;transition:transform .2s;font-size:10px;opacity:.6;}
.dropdown.open>a .drop-arrow{transform:rotate(180deg);}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:998;}
.nav-overlay.show{display:block;}
.nav-close{display:none;position:absolute;top:16px;right:16px;background:rgba(255,255,255,.1);border:none;color:white;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;line-height:36px;text-align:center;padding:0;transition:background .2s;}
.nav-close:hover{background:rgba(255,255,255,.2);}

/* ── PAGE HERO (shared across all inner pages) ── */
.page-hero{
  background:linear-gradient(160deg,#06112a 0%,#0d1e3e 40%,#0b1834 75%,#06101e 100%);
  color:white;padding:72px 48px 60px;text-align:center;position:relative;overflow:hidden;
}
/* Stone grid */
.page-hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.05) 1px,transparent 1px),
    linear-gradient(rgba(201,168,76,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.02) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,24px 24px,24px 24px;
  pointer-events:none;
}
/* Radial glow */
.page-hero::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%,rgba(201,168,76,.08) 0%,transparent 60%);
  pointer-events:none;
}
/* Top ornamental border */
.page-hero-inner{position:relative;z-index:2;}
.page-hero .hero-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.4);color:#c9a84c;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:18px;font-family:'Cinzel',serif;}
.page-hero h1{font-family:'Cinzel',serif;font-size:clamp(28px,4.5vw,52px);line-height:1.1;margin-bottom:12px;font-weight:700;letter-spacing:-.3px;color:white;position:relative;z-index:2;}
.page-hero h1 span{color:#c9a84c;}
.page-hero p{font-size:clamp(14px,1.8vw,16px);color:rgba(255,255,255,.62);max-width:520px;margin:0 auto;line-height:1.75;font-family:'IM Fell English',Georgia,serif;font-style:italic;position:relative;z-index:2;}
/* Gold ornament below h1 */
.page-hero::after{
  content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:80%;max-width:600px;height:2px;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);
}

/* ── HERO actions ── */
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ── BUTTONS ── */
.btn-primary{
  background:linear-gradient(135deg,#b8963c 0%,#dfc060 45%,#c9a840 100%);
  color:var(--dark);font-weight:700;padding:12px 28px;
  border-radius:3px;text-decoration:none;transition:all .25s;font-size:14px;
  font-family:'Cinzel',serif;border:none;letter-spacing:.4px;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  box-shadow:0 3px 14px rgba(201,168,76,.25),inset 0 1px 0 rgba(255,255,255,.25);
  display:inline-flex;align-items:center;
}
.btn-primary:hover{filter:brightness(1.07);transform:translateY(-2px);box-shadow:0 7px 22px rgba(201,168,76,.32);}
.btn-outline{
  background:transparent;border:1px solid rgba(201,168,76,.5);color:rgba(255,255,255,.85);
  font-weight:600;padding:12px 28px;border-radius:3px;text-decoration:none;transition:all .25s;font-size:14px;
  font-family:'Cinzel',serif;letter-spacing:.4px;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  display:inline-flex;align-items:center;
}
.btn-outline:hover{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.75);transform:translateY(-2px);}

/* ── STATS BAR ── */
.stats-bar{background:linear-gradient(180deg,#f0e8d0,#e8dcc0);border-bottom:2px solid var(--border);display:flex;justify-content:center;gap:clamp(24px,5vw,72px);padding:24px 24px;flex-wrap:wrap;}
.stat-item{text-align:center;min-width:80px;}
.stat-item .num{font-size:clamp(26px,4vw,34px);font-weight:700;color:var(--dark);font-family:'Cinzel',serif;}
.stat-item .lbl{font-size:11px;color:var(--muted);font-weight:600;margin-top:3px;letter-spacing:.5px;font-family:'Cinzel',serif;text-transform:uppercase;}

/* ── SECTION ── */
.section{padding:72px 48px;max-width:1140px;margin:0 auto;}
.section-alt{background:var(--bg2);}
.section-amber{background:#fdf6e4;}
.section-label{
  display:inline-block;
  background:linear-gradient(135deg,#c9a84c,#e0c060);
  color:var(--dark);font-size:9.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  padding:3px 12px;border-radius:2px;margin-bottom:12px;
  font-family:'Cinzel',serif;
  clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%);
}
.section-title{font-family:'Cinzel',serif;font-size:clamp(22px,3.5vw,38px);color:var(--dark);line-height:1.15;margin-bottom:10px;font-weight:700;letter-spacing:-.3px;}
.section-title span{color:var(--amber);font-family:'IM Fell English',Georgia,serif;font-style:italic;}
.section-sub{color:var(--muted);font-size:15px;max-width:560px;line-height:1.75;font-family:'IM Fell English',Georgia,serif;font-style:italic;}

/* Page hero for inner pages */
.page-hero-wrap{position:relative;z-index:1;}

/* ── CARDS ── */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:32px;}
.card{
  background:linear-gradient(160deg,#faf4e4 0%,#f4ead0 100%);
  border-radius:4px;border:1px solid var(--border);
  border-top:3px solid var(--border);
  padding:22px;transition:all .25s;position:relative;overflow:hidden;
}
.card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--border);transition:all .3s;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-2);}
.card:hover::before{background:var(--yellow);width:4px;}
.card-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:2px;margin-bottom:12px;font-family:'Cinzel',serif;clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%);}
.badge-pengumuman{background:linear-gradient(135deg,#f5e88a,#e8d060);color:#6b4400;}
.badge-kegiatan{background:linear-gradient(135deg,#c4d8f0,#a0c0e8);color:#1a3060;}
.badge-prestasi{background:linear-gradient(135deg,#a8e8c8,#80d4a8);color:#0d4020;}
.badge-lainnya{background:#e8e0d0;color:#5a4020;}
.card-title{font-size:15px;font-weight:700;margin-bottom:8px;color:var(--dark);line-height:1.4;font-family:'Cinzel',serif;}
.card-body{font-size:14px;color:var(--muted);line-height:1.7;font-family:'IM Fell English',Georgia,serif;font-style:italic;}
.card-date{font-size:11px;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--border);letter-spacing:.3px;}

/* ── TABLE ── */
.table-wrapper{overflow-x:auto;border-radius:6px;border:1px solid var(--border);box-shadow:var(--shadow);}
table{width:100%;border-collapse:collapse;background:var(--bg);font-size:14px;}
th{background:linear-gradient(180deg,#0d1e3e,#162b52);color:var(--yellow);padding:12px 16px;text-align:left;font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:'Cinzel',serif;white-space:nowrap;}
td{padding:11px 16px;border-bottom:1px solid var(--border);color:var(--text);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(201,168,76,.08);}
.th-sort{cursor:pointer;user-select:none;transition:background .15s;}
.th-sort:hover{background:rgba(201,168,76,.2)!important;}
.th-sort.asc{background:rgba(201,168,76,.3)!important;color:var(--dark)!important;}
.sort-icon{font-size:10px;opacity:.4;margin-left:4px;}
.th-sort.asc .sort-icon,.th-sort.desc .sort-icon{opacity:1;}
.status-badge{display:inline-block;padding:3px 10px;border-radius:2px;font-size:10px;font-weight:700;white-space:nowrap;font-family:'Cinzel',serif;letter-spacing:.5px;clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%);}
.status-aktif{background:linear-gradient(135deg,#a8e8c8,#80d4a8);color:#0d4020;}
.status-cuti{background:linear-gradient(135deg,#f5e88a,#e8d060);color:#6b4400;}
.status-lulus{background:linear-gradient(135deg,#c4d8f0,#a0c0e8);color:#1a3060;}
.status-dropout{background:linear-gradient(135deg,#f0a8a8,#e08080);color:#6b0000;}

/* ── IG ── */
.ig-info-box{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:white;border-radius:4px;padding:32px;text-align:center;margin-bottom:36px;}
.ig-info-box .ig-handle{font-size:clamp(18px,3.5vw,26px);font-weight:800;margin:8px 0;font-family:'Cinzel',serif;}
.ig-info-box .ig-bio{opacity:.85;font-size:14px;margin-bottom:18px;font-family:'IM Fell English',Georgia,serif;font-style:italic;}
.btn-ig{display:inline-block;background:white;color:#833ab4;padding:10px 24px;border-radius:3px;font-weight:700;text-decoration:none;transition:all .2s;font-family:'Cinzel',serif;font-size:13px;}
.btn-ig:hover{transform:scale(1.04);}

/* ── EMPTY ── */
.empty-state{text-align:center;padding:64px 24px;color:var(--muted);}
.empty-state .empty-icon{font-size:44px;margin-bottom:14px;}
.empty-state p{font-size:15px;font-family:'IM Fell English',Georgia,serif;font-style:italic;}

/* ── FOOTER ── */
.site-footer{
  background:linear-gradient(180deg,#06112a 0%,#040d1e 100%);
  color:rgba(255,255,255,.52);margin-top:80px;
  border-top:2px solid rgba(201,168,76,.3);
}
.footer-inner{max-width:1140px;margin:0 auto;padding:56px 48px 40px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:56px;}
.footer-logo-img{width:50px;height:50px;object-fit:contain;border-radius:50%;background:white;padding:3px;display:block;margin-bottom:14px;box-shadow:0 0 0 2px rgba(201,168,76,.5);}
.footer-brand strong{color:white;font-size:16px;letter-spacing:1px;display:block;margin:0 0 12px;font-family:'Cinzel',serif;font-weight:700;}
.footer-brand p{font-size:13px;line-height:1.8;font-family:'IM Fell English',Georgia,serif;font-style:italic;}
.footer-links{display:flex;flex-direction:column;gap:8px;}
.footer-links strong{color:var(--yellow);font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;display:block;font-family:'Cinzel',serif;}
.footer-links a{color:rgba(255,255,255,.45);text-decoration:none;font-size:13px;transition:color .2s;font-family:'IM Fell English',Georgia,serif;}
.footer-links a:hover{color:var(--yellow);}
.footer-bottom{text-align:center;padding:20px 20px;font-size:12px;border-top:1px solid rgba(201,168,76,.15);font-family:'Cinzel',serif;letter-spacing:.5px;}

/* ── VISI MISI ── */
.visi-misi-box{
  background:linear-gradient(160deg,#faf4e4,#f4ead0);
  border-radius:6px;border:1px solid var(--border);overflow:hidden;margin-top:28px;box-shadow:var(--shadow);
}
.vm-section{padding:28px 32px;}
.vm-section+.vm-section{border-top:1px solid var(--border);}
.vm-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.vm-icon{
  background:linear-gradient(135deg,#c9a84c,#e0c060);
  width:42px;height:42px;border-radius:4px;
  display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);
}
.vm-heading h3{font-size:18px;font-weight:700;color:var(--dark);font-family:'Cinzel',serif;}
.vm-section p,.vm-section li{color:var(--muted);line-height:1.85;font-family:'IM Fell English',Georgia,serif;font-style:italic;}
.vm-section ul{padding-left:20px;}
.vm-section li{margin-bottom:8px;}

/* ── SEARCH / PAGINATION ── */
.match-highlight{background:var(--yellow);border-radius:2px;padding:0 2px;font-weight:700;color:var(--dark);}
.page-btn{
  min-width:34px;height:34px;border:1px solid var(--border);border-radius:3px;background:var(--bg);
  font-family:'Cinzel',serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;
  display:inline-flex;align-items:center;justify-content:center;padding:0 10px;color:var(--dark);
}
.page-btn:hover{border-color:var(--yellow);background:#f0e8d0;}
.page-btn.active{background:linear-gradient(135deg,#c9a84c,#e0c060);border-color:var(--yellow);color:var(--dark);}
.page-btn:disabled{opacity:.4;cursor:default;}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){.site-header{padding:0 24px;}.section{padding:56px 24px;}.footer-inner{padding:40px 24px 28px;gap:28px;}.page-hero{padding:60px 28px 48px;}.cards-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){
  .site-header{padding:0 16px;height:58px;}
  .nav-toggle{display:flex;}.nav-close{display:block;}
  .site-nav{position:fixed;top:0;right:-105%;width:min(300px,85vw);height:100dvh;background:var(--dark);flex-direction:column;align-items:stretch;padding:64px 16px 32px;gap:2px;z-index:1000;transition:right .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;box-shadow:-8px 0 32px rgba(0,0,0,.3);}
  .site-nav.open{right:0;}
  .site-nav>a,.site-nav>.dropdown>a{color:rgba(255,255,255,.82);font-size:14px;padding:13px 16px;width:100%;border-radius:3px;display:block;}
  .site-nav>a:hover,.site-nav>.dropdown>a:hover{background:rgba(255,255,255,.08);color:white;}
  .site-nav>a.active{background:var(--yellow);color:var(--dark)!important;}
  .dropdown{width:100%;}.dropdown-menu{position:static;box-shadow:none;border:none;border-radius:4px;background:rgba(255,255,255,.06);animation:none;margin:4px 0 4px 12px;min-width:unset;}
  .dropdown-menu a{color:rgba(255,255,255,.7);padding:10px 16px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.06);}
  .dropdown-menu a:hover{background:rgba(255,255,255,.08);color:white;}
  .btn-login-nav{margin:16px 0 0!important;display:block!important;text-align:center;width:100%;padding:12px 16px!important;border-radius:3px!important;font-size:13px!important;clip-path:none!important;}
  .page-hero{padding:52px 20px 44px;}.page-hero h1{font-size:26px;}.page-hero p{font-size:14px;max-width:100%;}
  .hero-actions{flex-direction:column;align-items:center;}.btn-primary,.btn-outline{width:100%;max-width:320px;text-align:center;justify-content:center;}
  .stats-bar{gap:10px;padding:18px 14px;}.stat-item .num{font-size:24px;}
  .section{padding:40px 16px;}.section-title{font-size:20px;}
  .page-hero-wrap,.page-hero{padding-left:16px;padding-right:16px;}
  .cards-grid{grid-template-columns:1fr;gap:12px;margin-top:18px;}.card{padding:18px;}
  .table-wrapper{border-radius:4px;}table{min-width:520px;}th,td{padding:9px 12px;font-size:12px;}
  .footer-inner{grid-template-columns:1fr;gap:22px;padding:32px 16px 22px;}.site-footer{margin-top:48px;}
  .vm-section{padding:20px 16px;}
  .periods-grid{grid-template-columns:repeat(2,1fr)!important;}.member-grid{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:480px){
  .site-logo span{display:none;}.page-hero{padding:44px 14px 36px;}.page-hero h1{font-size:22px;}
  .section{padding:32px 14px;}.page-hero h1{font-size:20px;}
  .card{padding:14px;}th,td{padding:7px 9px;font-size:11px;}
  .periods-grid{grid-template-columns:1fr!important;}.member-grid{grid-template-columns:1fr!important;}
}
@media(max-width:390px){
  .site-header{padding:0 12px;height:54px;}
  .site-logo{gap:7px;font-size:13px;}.logo-img{width:30px;height:30px;}
  .section{padding:24px 12px;}.section-title{font-size:16px;}.section-sub{font-size:13px;}
  .card{padding:12px;}.card-title{font-size:13px;}.card-body{font-size:13px;}
  .page-hero{padding:36px 12px 28px;}.page-hero h1{font-size:18px;}
  .footer-inner{padding:24px 12px 18px;}.footer-brand strong{font-size:13px;}.footer-brand p{font-size:12px;}.footer-links a{font-size:12px;}.footer-bottom{font-size:11px;}
  table{min-width:420px;}th,td{padding:6px 8px;font-size:10px;}
}
