/* ===========================================================
   PPID TNI AD — Shared stylesheet
   Palet: hijau-hitam #010B00 · aksen oranye #FF9529 · Inter
   =========================================================== */
:root{
  --ink:#010B00;
  --ink-2:#0F130F;
  --green:#043008;
  --green-line:#13351a;
  --accent:#FF9529;
  --accent-700:#e07e16;
  --paper:#F5F4F0;
  --line:#E6E7E2;
  --muted:#6E6E6E;
  --white:#fff;
  --maxw:1200px;
  --r:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:"Inter",system-ui,Segoe UI,Roboto,sans-serif;
  color:#1a1f1a;background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--accent)}
h2.section-title{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:.01em;text-transform:uppercase;margin:.2em 0 .1em;color:var(--ink)}
.section{padding:72px 0}
.lead{color:#3a423a;font-size:18px}

/* ---------- TOP UTILITY BAR ---------- */
.topbar{background:var(--ink);color:#cfd6cd;font-size:13.5px}
.topbar .wrap{display:flex;align-items:center;gap:28px;min-height:42px;flex-wrap:wrap}
.topbar .ti{display:flex;align-items:center;gap:8px}
.topbar .ti svg{width:15px;height:15px;color:var(--accent);flex:none}
.topbar .spacer{margin-left:auto}
.topbar a:hover{color:#fff}

/* ---------- HEADER ---------- */
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.nav{display:flex;align-items:center;gap:24px;min-height:84px}
.brand{display:flex;align-items:center;gap:14px;flex:none}
.emblem{width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 38%,#0a5b16,#043008 70%);border:2px solid var(--accent);position:relative}
.emblem svg{width:26px;height:26px;color:var(--accent)}
.brand .bt{line-height:1.05}
.brand .bt b{display:block;font-size:21px;font-weight:800;letter-spacing:.04em;color:var(--ink)}
.brand .bt span{display:block;font-size:11px;letter-spacing:.22em;font-weight:600;color:var(--green);text-transform:uppercase}

nav.main{margin-left:auto;display:flex;align-items:stretch;gap:2px}
nav.main > ul{list-style:none;display:flex;margin:0;padding:0}
nav.main > ul > li{position:relative}
nav.main > ul > li > a{
  display:flex;align-items:center;gap:6px;height:84px;padding:0 15px;font-size:13.5px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:#23291f;border-bottom:3px solid transparent;transition:.18s}
nav.main > ul > li > a.active{color:var(--ink);border-bottom-color:var(--accent)}
nav.main > ul > li > a .car{width:8px;height:8px;border-right:2px solid #9aa295;border-bottom:2px solid #9aa295;transform:rotate(45deg);margin-top:-3px;transition:.18s}
nav.main > ul > li:hover > a{color:var(--ink);border-bottom-color:var(--accent)}
nav.main > ul > li:hover > a .car{border-color:var(--accent);transform:rotate(225deg);margin-top:3px}
nav.main .sub{
  position:absolute;top:84px;left:0;min-width:262px;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--accent);border-radius:0 0 var(--r) var(--r);box-shadow:0 24px 48px -18px rgba(1,11,0,.32);
  list-style:none;margin:0;padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:60}
nav.main > ul > li:hover .sub{opacity:1;visibility:visible;transform:translateY(0)}
nav.main .sub li a{display:block;padding:11px 13px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#2a312a;border-radius:7px;text-transform:uppercase}
nav.main .sub li a:hover{background:var(--paper);color:var(--green);padding-left:18px}
.nav .searchbtn{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--green);transition:.18s}
.nav .searchbtn:hover{background:var(--green);color:#fff;border-color:var(--green)}
.nav .searchbtn svg{width:18px;height:18px}
.burger{display:none;flex:none;width:46px;height:46px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:22px;height:2px;background:var(--ink);position:relative;transition:.2s}
.burger span::before{position:absolute;top:-7px}.burger span::after{position:absolute;top:7px}

/* ---------- BUTTONS ---------- */
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;color:var(--green);border:1.5px solid var(--green);padding:11px 20px;border-radius:8px;transition:.18s;cursor:pointer}
.btn-ghost:hover{background:var(--green);color:#fff}
.btn-ghost svg{width:16px;height:16px}
.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:.02em;background:var(--accent);color:#231200;border:0;padding:13px 26px;border-radius:9px;transition:.18s;cursor:pointer}
.btn-accent:hover{background:var(--accent-700)}
.btn-accent svg{width:17px;height:17px}

/* ---------- PAGE HERO + BREADCRUMB ---------- */
.pagehero{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.pagehero .bg{position:absolute;inset:0;background-position:center 30%;background-size:cover;background-repeat:no-repeat;opacity:.4}
.pagehero .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,11,0,.95),rgba(1,11,0,.7))}
.pagehero .wrap{position:relative;padding:54px 24px 48px}
.crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#b9c2b6;margin-bottom:14px;flex-wrap:wrap}
.crumb a:hover{color:var(--accent)}
.crumb .sep{opacity:.5}
.crumb b{color:#ffd9ad;font-weight:600}
.pagehero h1{font-size:clamp(26px,3.6vw,40px);font-weight:800;letter-spacing:.01em;margin:0;line-height:1.12}
.pagehero p.sub{margin:12px 0 0;color:#cdd5ca;font-size:16px;max-width:680px}

/* ---------- FOOTER ---------- */
footer.site{background:var(--ink);color:#aeb6ac;font-size:14px}
.f-top{padding:60px 0 40px;border-bottom:1px solid var(--green-line)}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px}
.f-brand .emblem{margin-bottom:16px}
.f-brand p{max-width:300px;line-height:1.7}
footer.site h4{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
footer.site ul a:hover{color:var(--accent)}
.f-contact div{display:flex;gap:10px;margin-bottom:14px}
.f-contact svg{width:17px;height:17px;color:var(--accent);flex:none;margin-top:3px}
.f-bottom{padding:20px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:#7e8a7c}
.f-bottom a:hover{color:#fff}

/* ---------- MOBILE NAV ---------- */
.scrim{position:fixed;inset:0;background:rgba(1,11,0,.5);opacity:0;visibility:hidden;transition:.2s;z-index:70}
.scrim.on{opacity:1;visibility:visible}
@media(max-width:1080px){.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .burger{display:flex}
  nav.main{position:fixed;top:0;right:-340px;width:320px;max-width:88vw;height:100vh;background:#fff;flex-direction:column;
    margin:0;padding:24px;overflow-y:auto;box-shadow:-30px 0 60px -20px rgba(1,11,0,.4);transition:right .26s;z-index:80}
  nav.main.on{right:0}
  nav.main > ul{flex-direction:column;width:100%}
  nav.main > ul > li > a{height:auto;padding:14px 4px;border-bottom:1px solid var(--line)}
  nav.main > ul > li > a .car{margin-left:auto}
  nav.main .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-top:0;
    min-width:0;padding:2px 0 10px 10px;display:none}
  nav.main > ul > li.open .sub{display:block}
  .nav .searchbtn{margin-left:auto}
  .topbar .ti.hidem{display:none}
  .f-grid{grid-template-columns:1fr}
  .section{padding:52px 0}
}

/* Pagination (shared paginator view pagination/ppid.blade.php) */
.pager{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pager a,.pager span{min-width:36px;height:36px;display:grid;place-items:center;padding:0 11px;border:1px solid var(--line,#e0e3db);background:#fff;border-radius:8px;font-size:13.5px;font-weight:600;color:#33402f;text-decoration:none;transition:.14s}
.pager a:hover{border-color:var(--accent);color:var(--green)}
.pager .cur{background:var(--green);border-color:var(--green);color:#fff}
.pager .disabled{color:#b9c0b3;cursor:not-allowed}
.pager .dots{border-color:transparent;background:transparent;font-weight:700;color:var(--muted,#6e6e6e)}

/* ---------- FOOTER mobile responsiveness ---------- */
@media(max-width:760px){
  .f-top{padding:40px 0 28px}
  .f-grid{grid-template-columns:1fr;gap:28px}
  .f-brand p{max-width:none}
  .f-contact span{word-break:break-word}
  .f-bottom{flex-direction:column;align-items:center;text-align:center;gap:8px}
}
@media(max-width:480px){
  .wrap{padding:0 16px}
}

/* Fix 2026-06-08: prevent horizontal overflow on mobile (long words/tables/media). */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,table{max-width:100%}
.doc .dbody{overflow-x:auto}
