/*
Theme Name: ASIMA Bersatu
Theme URI: https://asima.kabsml.my.id/
Author: Aliansi Simalungun Bersatu
Description: Tema WordPress portal organisasi Aliansi Simalungun Bersatu (ASIMA) — berita, pendaftaran anggota, KTA, surat tugas, DPD/DPC/PAC, pengaduan masyarakat, dan layanan LBH.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: asima-bersatu
*/
:root{--primary:#8b1a1a;--secondary:#c0932a;--dark:#1a1208;--muted:#6b6456;--light:#f8f5f0;--white:#fff;--danger:#b42318;--border:#e6ddd0;--radius:16px;--shadow:0 10px 30px rgba(26,18,8,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dark);background:#fff;line-height:1.65}a{color:var(--primary);text-decoration:none}a:hover{color:#072b59}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--dark);color:#fff;font-size:13px}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand img{width:52px;height:52px;object-fit:contain}.brand-title{font-size:19px;line-height:1.15}.brand-title small{display:block;font-weight:500;color:var(--muted);font-size:11px;margin-top:4px}.main-nav{display:flex;align-items:center;gap:18px;font-weight:650;font-size:14px}.main-nav a{color:var(--dark)}.menu-toggle{display:none;border:0;background:var(--light);padding:10px 12px;border-radius:10px;min-width:44px;min-height:44px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:11px;border:1px solid transparent;font-weight:750;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-gold{background:var(--secondary);color:#142033}.btn-light{background:#fff;border-color:var(--border);color:var(--dark)}.hero{background:linear-gradient(135deg,#092e60,#0b3b78 55%,#174f94);color:#fff;padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:35px;align-items:center}.eyebrow{display:inline-block;padding:6px 10px;border-radius:99px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.06;margin:15px 0}.hero p{font-size:18px;color:#dce9f8;max-width:700px}.hero-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:24px;border-radius:20px;backdrop-filter:blur(8px)}.hero-card strong{font-size:27px;display:block}.section{padding:55px 0}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:25px}.section h2{font-size:30px;margin:0}.muted{color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card h3{margin:8px 0 8px}.icon{width:45px;height:45px;border-radius:12px;background:#edf4ff;color:var(--primary);display:grid;place-items:center;font-weight:900}.news-grid{display:grid;grid-template-columns:2fr 1fr;gap:25px}.post-card{border:1px solid var(--border);border-radius:15px;overflow:hidden;background:#fff}.post-card img{width:100%;height:220px;object-fit:cover;display:block}.post-body{padding:18px}.badge{display:inline-block;background:#edf4ff;color:var(--primary);padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800}.meta{font-size:12px;color:var(--muted)}.form-wrap{max-width:850px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:750;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.field textarea{min-height:130px}.notice{padding:14px 16px;border-radius:11px;background:#fff8e6;border:1px solid #f1d38a;margin:18px 0}.notice-danger{background:#fff1f0;border-color:#f3b4af}.success{padding:14px 16px;background:#ecfdf3;border:1px solid #abefc6;border-radius:11px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:11px;border-bottom:1px solid var(--border);text-align:left}.site-footer{background:#0c1c2e;color:#dce5ef;padding:45px 0 20px;margin-top:45px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-title{color:#fff;font-weight:800}.print-card{max-width:760px;margin:30px auto;border:1px solid #bbb;padding:28px;background:#fff}.kta{border:2px solid #0b3b78;border-radius:14px;padding:22px}.kta-head{display:flex;align-items:center;gap:15px;border-bottom:2px solid #d49a17;padding-bottom:12px}.kta-head img{width:65px;height:65px;object-fit:contain}.kta-number{font-size:20px;font-weight:900;letter-spacing:.05em}.print-only{display:none}@media(max-width:900px){.hero-grid,.news-grid,.footer-grid{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.main-nav{display:flex;align-items:center;gap:18px;font-weight:650;font-size:14px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:600px){.grid-3,.grid-4{grid-template-columns:1fr}.topbar .container{display:none}.hero{padding:50px 0}.section{padding:40px 0}.header-inner{padding:10px 0}}@media print{.topbar,.site-header,.site-footer,.no-print{display:none!important}.print-only{display:block}.print-card{border:0;box-shadow:none;margin:0;max-width:none}}

/* ── Logo header & footer ── */
.asima-header-logo{width:52px;height:52px;object-fit:contain;border-radius:8px}
.asima-footer-logo{width:72px;height:72px;object-fit:contain;border-radius:10px;margin-bottom:12px;display:block}
.brand-mark{width:48px;height:48px;background:#8b1a1a;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;border-radius:8px;flex-shrink:0}

/* ── Footer ── */
.site-footer{background:#1a0808;color:#e8d8d8;padding:55px 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px;padding-bottom:40px}
.footer-brand p{color:#c4a8a8;font-size:14px;line-height:1.6;margin:8px 0 0}
.footer-brand em{color:#f5a0a0;font-style:normal;font-size:13px}
.footer-address{font-size:13px;color:#a08080;margin-top:8px!important}
.footer-title{color:#fff;font-weight:800;font-size:14px;letter-spacing:.04em;margin-bottom:14px;text-transform:uppercase}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.footer-links li{font-size:13px;color:#c4a8a8}
.footer-links a{color:#c4a8a8;text-decoration:none;transition:color .2s}
.footer-links a:hover{color:#f5a0a0}
.footer-struktur{border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0;display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
.footer-struktur span{color:#f5a0a0;font-weight:800;font-size:13px;letter-spacing:.06em}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:12px;color:#a08080;flex-wrap:wrap;gap:10px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:25px}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}}

/* ── Auto Slider Banner ── */
.asima-slider{position:relative;width:100%;height:520px;overflow:hidden;background:#1a0808}
.asima-slider-track{position:relative;width:100%;height:100%}
.asima-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.asima-slide.is-active{opacity:1;pointer-events:auto;z-index:2}
.asima-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 7s ease}
.asima-slide.is-active .asima-slide-bg{transform:scale(1)}
.asima-slide-bg--fallback{background:linear-gradient(135deg,#5c0e0e,#2a0808)}
.asima-slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,2,2,.88) 0%,rgba(10,2,2,.55) 60%,rgba(10,2,2,.15) 100%)}
.asima-slide-content{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.asima-slide-inner{max-width:640px;color:#fff;padding:40px 0}
.asima-slide-cat{display:inline-block;background:#8b1a1a;color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:4px;margin-bottom:16px}
.asima-slide-title{font-family:Georgia,serif;font-size:clamp(26px,3.5vw,42px);font-weight:500;line-height:1.18;margin:0 0 14px;color:#fff}
.asima-slide-title a{color:#fff;text-decoration:none}
.asima-slide-title a:hover{color:#f5c6c6}
.asima-slide-desc{font-size:15px;color:rgba(255,255,255,.82);line-height:1.6;margin:0 0 20px}
.asima-slide-meta{display:flex;gap:16px;align-items:center;font-size:13px;color:rgba(255,255,255,.65);margin-bottom:22px}
.asima-slide-source{color:#f5a0a0;font-weight:700}
.asima-slide-btn{display:inline-block;background:#8b1a1a;color:#fff;font-weight:700;font-size:14px;padding:11px 22px;border-radius:8px;text-decoration:none;transition:background .2s}
.asima-slide-btn:hover{background:#6b1010;color:#fff}
.asima-slider-prev,.asima-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(0,0,0,.45);border:none;color:#fff;font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background .2s;line-height:1}
.asima-slider-prev{left:16px}.asima-slider-next{right:16px}
.asima-slider-prev:hover,.asima-slider-next:hover{background:rgba(139,26,26,.85)}
.asima-slider-dots{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.asima-slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:all .3s}
.asima-slider-dot.is-active{background:#fff;width:24px;border-radius:4px}
.asima-slider-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.15);z-index:10}
.asima-slider-progress-bar{height:100%;background:#8b1a1a;width:0}
@media(max-width:720px){.asima-slider{height:420px}.asima-slide-inner{padding:30px 0}.asima-slider-prev,.asima-slider-next{width:38px;height:38px;font-size:24px}.asima-slider-dots{bottom:42px}}
@media(max-width:480px){.asima-slider{height:360px}.asima-slide-overlay{background:linear-gradient(to top,rgba(10,2,2,.92) 0%,rgba(10,2,2,.6) 60%,rgba(10,2,2,.2) 100%)}.asima-slide-inner{max-width:100%}}

/* Running ticker berita NNT */
.asima-ticker{display:flex;align-items:center;background:#1a0808;color:#fff;font-size:13px;overflow:hidden;height:36px;position:relative;z-index:60}
.asima-ticker-label{flex-shrink:0;background:#8b1a1a;color:#fff;font-weight:800;font-size:11px;letter-spacing:.08em;padding:0 14px;height:100%;display:flex;align-items:center;white-space:nowrap}
.asima-ticker-wrap{flex:1;overflow:hidden;height:100%;display:flex;align-items:center}
.asima-ticker-inner{display:flex;align-items:center;gap:0;white-space:nowrap;animation:asima-ticker-scroll 60s linear infinite}
.asima-ticker-inner a{color:#f5e6e6;text-decoration:none;padding:0 18px;font-size:13px;flex-shrink:0}
.asima-ticker-inner a:hover{color:#f8c0c0;text-decoration:underline}
.asima-ticker-sep{color:#8b1a1a;padding:0 4px;flex-shrink:0}
.asima-ticker-wrap:hover .asima-ticker-inner{animation-play-state:paused}
@keyframes asima-ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(max-width:600px){.asima-ticker-label{padding:0 10px;font-size:10px}.asima-ticker-inner a{font-size:12px;padding:0 12px}}

/* Hero banner NNT */
.hero-has-banner{background-size:cover!important;background-position:center!important}
.hero-news-badge{display:inline-block;background:#8b1a1a;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:4px;margin-bottom:10px}

/* Integrasi berita mitra NNT */
.agensi-nnt-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.agensi-nnt-item{border:1px solid var(--border);border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}
.agensi-nnt-item .agensi-nnt-thumb{width:100%;height:190px;object-fit:cover;display:block;background:#eef2f6}
.agensi-nnt-content{padding:17px;display:flex;flex-direction:column;gap:8px;flex:1}
.agensi-nnt-content h3{font-size:18px;line-height:1.35;margin:0}
.agensi-nnt-content p{margin:0;color:var(--muted);font-size:14px}
.agensi-nnt-content .meta{margin-top:auto;padding-top:8px}
.agensi-nnt-source{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--primary)}
.agensi-nnt-empty{padding:18px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;color:var(--muted)}
@media(max-width:900px){.agensi-nnt-feed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.agensi-nnt-feed{grid-template-columns:1fr}.agensi-nnt-item .agensi-nnt-thumb{height:210px}}


/* NNT image resilience and TV embed */
.agensi-nnt-image-link{display:block;overflow:hidden;background:#eef2f6;min-height:150px}
.agensi-nnt-item .agensi-nnt-thumb{width:100%;height:205px;object-fit:cover;display:block}
.agensi-nnt-tv-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#101828;margin:14px 0}
.agensi-nnt-tv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:600px){.agensi-nnt-tv-frame{aspect-ratio:9/16;max-height:70vh}}


/* v1.5.14: app-like mobile navigation and PWA install UX */
.agensi-mobile-appbar{display:none}
.agensi-install-help{display:none}
/* ── Navigasi responsif ── */
/* Desktop & tablet lebar (>760px): menu selalu tampil */
.main-nav{display:flex;align-items:center;gap:18px;font-weight:650;font-size:14px}
.main-nav a{color:var(--dark)}
.main-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:18px;align-items:center}
.main-nav ul li a{color:var(--dark);font-weight:650;font-size:14px}

@media(max-width:760px){
 body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
 .agensi-mobile-appbar{position:fixed;z-index:999;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #dfe5ee;box-shadow:0 -8px 24px rgba(16,32,51,.10);backdrop-filter:blur(14px)}
 .agensi-appbar-item{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#526176;font:600 10px/1.2 system-ui,sans-serif;text-decoration:none;padding:3px 1px;cursor:pointer;border-radius:10px}
 .agensi-appbar-item .agensi-appbar-icon{font-size:21px;line-height:1.15;font-weight:800}
 .agensi-appbar-item.is-active{color:#8b1a1a;background:#fff0f0}
 .agensi-appbar-item:focus-visible{outline:2px solid #8b1a1a;outline-offset:2px}
 .agensi-install-help:not([hidden]){display:block;position:fixed;z-index:1000;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));padding:14px 16px;background:#1a0808;color:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.2);font-size:14px}
 .site-header{top:0}
 /* Menu hamburger di HP */
 .menu-toggle{display:flex!important;align-items:center;justify-content:center}
 .main-nav{display:none;width:100%;position:absolute;top:100%;left:0;right:0;background:#fff;padding:14px 4%;border-bottom:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0;z-index:49}
 .main-nav.is-open{display:flex}
 .main-nav a,.main-nav ul li a{padding:11px 4px;border-bottom:1px solid #edf0f5;display:block;width:100%}
 .main-nav ul{flex-direction:column;gap:0;width:100%}
 .hero .btn{margin:4px 4px 4px 0}
 .section-head{align-items:flex-start;flex-direction:column}
 .agensi-nnt-feed{grid-template-columns:1fr}
}
