/*
Theme Name: Disdikbud Kubar
Theme URI: https://example.com
Author: Tim IT Dinas
Description: Tema WordPress kustom bergaya website resmi Dinas Pendidikan & Kebudayaan, dengan hero mesh-gradient, kartu interaktif, dan tipografi modern.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: disdikbud
*/

:root{
  --hijau-tua:#0b3d2a;
  --hijau:#178a4c;
  --hijau-terang:#22b365;
  --hijau-muda:#e6f6ec;
  --kuning:#f5b400;
  --kuning-terang:#ffd23f;
  --teks-gelap:#12211a;
  --teks-abu:#647a6e;
  --putih:#ffffff;
  --radius:16px;
  --radius-sm:10px;
  --border:#e9f1ec;
  --shadow-sm:0 2px 8px rgba(11,61,42,.06);
  --shadow-md:0 12px 32px rgba(11,61,42,.12);
  --shadow-lg:0 24px 60px rgba(11,61,42,.18);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:"Inter","Segoe UI",Tahoma,Arial,sans-serif;
  color:var(--teks-gelap);
  background:#fbfdfb;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.brand .nama h1,.hero h2,.banner-slide h2{font-family:"Poppins","Inter",sans-serif;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;height:auto;}
.container{max-width:1200px;margin:0 auto;padding:0 20px;}
::selection{background:var(--kuning-terang);color:var(--teks-gelap);}

/* ===== Topbar ===== */
.topbar{background:var(--hijau-tua);color:rgba(255,255,255,.92);font-size:.78rem;letter-spacing:.01em;}
.topbar .wrap{max-width:1200px;margin:0 auto;padding:8px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.topbar a{opacity:.85;transition:opacity .15s;}
.topbar a:hover{opacity:1;}
.topbar .links{display:flex;gap:18px;flex-wrap:wrap;}

/* ===== Header / Nav ===== */
header.site-header{
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
  box-shadow:0 1px 0 rgba(11,61,42,.02);
}
.header-inner{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px;justify-content:space-between;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;}
.brand .logo{
  width:50px;height:50px;border-radius:14px;
  background:linear-gradient(145deg,var(--hijau-terang),var(--hijau-tua));
  color:var(--putih);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.05rem;overflow:hidden;
  box-shadow:0 6px 16px rgba(11,61,42,.25);
}
.brand .logo img{width:100%;height:100%;object-fit:cover;}
.brand .nama h1{font-size:1.05rem;font-weight:700;color:var(--hijau-tua);letter-spacing:-.01em;}
.brand .nama p{font-size:.78rem;color:var(--teks-abu);}

nav.main-menu ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;position:relative;}
nav.main-menu li{position:relative;}
nav.main-menu a{
  font-size:.9rem;font-weight:600;color:var(--teks-gelap);
  padding:9px 14px;display:inline-block;border-radius:999px;
  transition:background .2s ease, color .2s ease;
}
nav.main-menu a:hover{background:var(--hijau-muda);color:var(--hijau-tua);}
nav.main-menu ul ul{
  display:none;position:absolute;top:110%;left:0;background:var(--putih);
  min-width:220px;box-shadow:var(--shadow-md);border-radius:12px;padding:8px;z-index:60;
  border:1px solid var(--border);
}
nav.main-menu li:hover > ul{display:block;}
nav.main-menu ul ul a{display:block;padding:9px 12px;font-size:.85rem;border-radius:8px;}
nav.main-menu ul ul a:hover{background:var(--hijau-muda);}

.btn-lapor{
  background:linear-gradient(135deg,var(--kuning-terang),var(--kuning));
  color:#4a2f00;font-weight:700;font-size:.85rem;
  padding:10px 20px;border-radius:999px;white-space:nowrap;display:inline-block;
  box-shadow:0 8px 18px rgba(245,180,0,.35);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-lapor:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(245,180,0,.45);}

/* ===== Hero (mesh gradient) ===== */
.hero{
  position:relative;overflow:hidden;color:var(--putih);
  background:
    radial-gradient(ellipse 700px 500px at 15% -10%, rgba(34,179,101,.55), transparent 60%),
    radial-gradient(ellipse 600px 500px at 100% 10%, rgba(245,180,0,.28), transparent 55%),
    linear-gradient(160deg,var(--hijau-tua) 0%, #0d4f34 55%, var(--hijau) 100%);
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px);
  background-size:22px 22px;opacity:.35;
}
.hero-inner{max-width:1200px;margin:0 auto;padding:76px 20px 88px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative;z-index:1;}
.hero-tag{
  display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  padding:7px 16px;border-radius:999px;font-size:.78rem;font-weight:600;margin-bottom:20px;
}
.hero h2{font-size:2.35rem;font-weight:700;line-height:1.22;margin-bottom:16px;letter-spacing:-.02em;}
.hero p{font-size:1.02rem;opacity:.9;margin-bottom:28px;max-width:52ch;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn{padding:12px 24px;border-radius:12px;font-weight:600;font-size:.92rem;display:inline-block;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn-primary{background:linear-gradient(135deg,var(--kuning-terang),var(--kuning));color:#4a2f00;box-shadow:0 10px 22px rgba(245,180,0,.35);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(245,180,0,.45);}
.btn-outline{border:1.5px solid rgba(255,255,255,.55);color:var(--putih);}
.btn-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
.hero-emblem{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
  border-radius:20px;padding:32px;text-align:center;backdrop-filter:blur(6px);
  box-shadow:var(--shadow-lg);
}
.hero-emblem .circle{
  width:110px;height:110px;border-radius:28px;background:var(--putih);color:var(--hijau-tua);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.35rem;
  margin:0 auto 18px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.15);
}
.hero-emblem .circle img{width:100%;height:100%;object-fit:cover;}
.hero-emblem h3{font-size:1.05rem;margin-bottom:6px;font-weight:700;}
.hero-emblem p{font-size:.85rem;opacity:.85;}

/* ===== Banner carousel (halaman utama dalam) ===== */
.banner{max-width:1200px;margin:22px auto 0;padding:0 20px;}
.banner-slide{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--hijau-tua),var(--hijau) 70%);
  border-radius:20px;color:var(--putih);padding:44px;
  display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:center;min-height:220px;
  box-shadow:var(--shadow-md);
}
.banner-slide::before{
  content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,180,0,.35),transparent 70%);
}
.banner-slide .eyebrow{font-size:.78rem;background:rgba(255,255,255,.16);display:inline-block;padding:6px 14px;border-radius:999px;margin-bottom:14px;font-weight:600;}
.banner-slide h2{font-size:1.55rem;font-weight:700;margin-bottom:10px;line-height:1.32;}
.banner-slide p{font-size:.92rem;opacity:.9;max-width:56ch;margin-bottom:18px;}

/* ===== Layanan cepat mengambang ===== */
.layanan{max-width:1200px;margin:-34px auto 0;padding:0 20px;position:relative;z-index:2;}
.layanan-grid{
  background:var(--putih);border-radius:20px;box-shadow:var(--shadow-lg);
  display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--border);
}
.layanan-grid a{
  padding:24px 18px;text-align:center;border-right:1px solid var(--border);
  font-size:.88rem;font-weight:600;color:var(--hijau-tua);
  transition:background .2s ease, transform .2s ease;
}
.layanan-grid a:last-child{border-right:none;}
.layanan-grid a:hover{background:var(--hijau-muda);transform:translateY(-2px);}
.layanan-grid .ico{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(145deg,var(--hijau-muda),#d3ecdc);
  color:var(--hijau);display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;
}
.layanan-grid .ico svg{width:20px;height:20px;}

/* ===== Layanan tiga kartu ===== */
.layanan3{max-width:1200px;margin:40px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.layanan3 .kartu{
  background:var(--putih);border:1px solid var(--border);border-radius:18px;
  padding:26px;display:flex;flex-direction:column;gap:10px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.layanan3 .kartu:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent;}
.layanan3 .kartu .ico{
  width:44px;height:44px;border-radius:12px;background:var(--hijau-muda);color:var(--hijau);
  display:flex;align-items:center;justify-content:center;margin-bottom:6px;
}
.layanan3 .kartu .ico svg{width:22px;height:22px;}
.layanan3 .kartu h3{font-size:1.02rem;color:var(--hijau-tua);font-weight:700;}
.layanan3 .kartu p{font-size:.87rem;color:var(--teks-abu);}
.layanan3 .kartu a{font-size:.85rem;font-weight:700;color:var(--hijau);margin-top:auto;display:inline-flex;align-items:center;gap:4px;}

/* ===== JDIH search box ===== */
.jdih{max-width:1200px;margin:44px auto 0;padding:0 20px;}
.jdih-box{
  background:linear-gradient(120deg,var(--hijau-muda),#f3fbf5);
  border:1px solid var(--border);
  border-radius:20px;padding:32px;display:grid;grid-template-columns:1fr 1.3fr;gap:28px;align-items:center;
}
.jdih-box h3{color:var(--hijau-tua);font-size:1.15rem;margin-bottom:8px;font-weight:700;}
.jdih-box p{font-size:.87rem;color:var(--teks-abu);}
.jdih-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.jdih-form select, .jdih-form input{
  padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:.85rem;background:var(--putih);
}
.jdih-form select:focus, .jdih-form input:focus{outline:2px solid var(--hijau-terang);outline-offset:1px;}
.jdih-form button{
  grid-column:span 2;background:linear-gradient(135deg,var(--hijau-terang),var(--hijau-tua));
  color:var(--putih);border:none;padding:12px;border-radius:10px;font-weight:700;font-size:.88rem;cursor:pointer;
  transition:transform .15s ease;
}
.jdih-form button:hover{transform:translateY(-1px);}

/* ===== Section umum ===== */
section.blok-section{max-width:1200px;margin:0 auto;padding:48px 20px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;flex-wrap:wrap;gap:10px;}
.section-head h2{font-size:1.55rem;font-weight:700;color:var(--teks-gelap);letter-spacing:-.01em;}
.section-head span{color:var(--teks-abu);font-size:.9rem;}
.section-head .lihat-semua{color:var(--hijau);font-weight:700;font-size:.88rem;}
.section-head .lihat-semua:hover{text-decoration:underline;}

/* ===== Kartu berita (grid) ===== */
.berita-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.kartu-berita{
  border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--putih);display:block;
  transition:transform .2s ease, box-shadow .2s ease;
}
.kartu-berita:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.kartu-berita .thumb{
  height:150px;background:linear-gradient(135deg,var(--hijau-muda),#dcf1e3);
  display:flex;align-items:center;justify-content:center;color:var(--hijau);font-weight:700;overflow:hidden;
}
.kartu-berita .thumb img{width:100%;height:100%;object-fit:cover;}
.kartu-berita .isi{padding:20px;}
.kartu-berita .tanggal{font-size:.76rem;color:var(--teks-abu);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.kartu-berita h3{font-size:1.02rem;margin-bottom:8px;line-height:1.4;font-weight:700;}
.kartu-berita p{font-size:.88rem;color:var(--teks-abu);}

/* ===== List berita (dua kolom + sidebar) ===== */
.main-grid{max-width:1200px;margin:20px auto 0;padding:0 20px 60px;display:grid;grid-template-columns:2.1fr .9fr;gap:40px;}
.blok{margin-bottom:48px;}
.list-berita{display:flex;flex-direction:column;}
.list-berita li{border-bottom:1px solid var(--border);padding:18px 0;transition:padding-left .2s ease;}
.list-berita li:hover{padding-left:4px;}
.list-berita li:first-child{padding-top:0;}
.list-berita h4{font-size:.96rem;margin-bottom:6px;line-height:1.45;font-weight:600;}
.list-berita a:hover h4{color:var(--hijau);}
.list-berita .meta{font-size:.77rem;color:var(--teks-abu);}
.list-berita p{font-size:.85rem;color:var(--teks-abu);margin-top:6px;}

/* ===== Sidebar widget-ready ===== */
.sidebar .widget{background:var(--putih);border:1px solid var(--border);border-radius:18px;padding:22px;margin-bottom:20px;box-shadow:var(--shadow-sm);}
.sidebar .widget-title{font-size:.95rem;color:var(--hijau-tua);margin-bottom:14px;font-weight:700;}
.tokoh{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px;}
.tokoh:last-child{margin-bottom:0;}
.tokoh .foto{width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,var(--hijau-muda),#d3ecdc);flex-shrink:0;overflow:hidden;}
.tokoh .foto img{width:100%;height:100%;object-fit:cover;}
.tokoh blockquote{font-size:.8rem;color:var(--teks-abu);font-style:italic;margin-bottom:4px;}
.tokoh .nama{font-size:.85rem;font-weight:700;}
.tokoh .peran{font-size:.75rem;color:var(--teks-abu);}

.lapor-cta{
  background:linear-gradient(150deg,var(--hijau-tua),var(--hijau) 80%);
  color:var(--putih);border-radius:18px;padding:26px;text-align:center;
  position:relative;overflow:hidden;box-shadow:var(--shadow-md);
}
.lapor-cta::after{content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(245,180,0,.3),transparent 70%);}
.lapor-cta h3{font-size:1.02rem;margin-bottom:8px;font-weight:700;position:relative;}
.lapor-cta p{font-size:.83rem;opacity:.9;margin-bottom:16px;position:relative;}
.lapor-cta a{background:linear-gradient(135deg,var(--kuning-terang),var(--kuning));color:#4a2f00;padding:10px 20px;border-radius:10px;font-weight:700;font-size:.85rem;display:inline-block;position:relative;}

/* ===== Konten single/page (artikel WordPress) ===== */
.single-wrap{max-width:820px;margin:0 auto;padding:56px 20px;}
.single-wrap h1{font-size:1.85rem;font-weight:700;margin-bottom:12px;color:var(--teks-gelap);letter-spacing:-.01em;}
.single-wrap .meta{font-size:.85rem;color:var(--teks-abu);margin-bottom:28px;}
.single-wrap .entry-content{font-size:1rem;}
.single-wrap .entry-content p{margin-bottom:16px;}
.single-wrap .entry-content img{border-radius:14px;margin:20px 0;}
.single-wrap .entry-content h2{font-size:1.25rem;margin:28px 0 12px;font-weight:700;color:var(--hijau-tua);}
.single-wrap .entry-content ul, .single-wrap .entry-content ol{margin:0 0 16px 20px;}

/* ===== Pagination & search form ===== */
.pagination{display:flex;gap:8px;justify-content:center;padding:30px 0;}
.pagination a, .pagination span{padding:9px 15px;border:1px solid var(--border);border-radius:10px;font-size:.85rem;}
.pagination .current{background:var(--hijau);color:var(--putih);border-color:var(--hijau);}
.search-form{display:flex;gap:8px;}
.search-form input[type="search"]{flex:1;padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:.85rem;}
.search-form button{background:var(--hijau);color:var(--putih);border:none;padding:11px 18px;border-radius:10px;font-weight:700;cursor:pointer;}

/* ===== Footer ===== */
footer.site-footer{background:var(--hijau-tua);color:rgba(255,255,255,.8);position:relative;overflow:hidden;}
footer.site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 600px 300px at 90% 0%, rgba(34,179,101,.25), transparent 60%);
}
.footer-inner{max-width:1200px;margin:0 auto;padding:56px 20px 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;position:relative;}
.footer-inner h4{color:var(--putih);font-size:.95rem;margin-bottom:16px;font-weight:700;}
.footer-inner li{margin-bottom:10px;font-size:.86rem;}
.footer-inner a:hover{color:var(--kuning-terang);}
.footer-brand .logo{
  width:46px;height:46px;border-radius:12px;background:var(--putih);color:var(--hijau-tua);
  display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:14px;overflow:hidden;
}
.footer-brand p{font-size:.85rem;opacity:.82;max-width:32ch;line-height:1.6;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:18px 20px;font-size:.8rem;opacity:.7;position:relative;}

/* ===== Responsif ===== */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .banner-slide{grid-template-columns:1fr;}
  .layanan-grid{grid-template-columns:repeat(2,1fr);}
  .layanan3{grid-template-columns:1fr;}
  .jdih-box{grid-template-columns:1fr;}
  .jdih-form{grid-template-columns:1fr;}
  .jdih-form button{grid-column:span 1;}
  .berita-grid{grid-template-columns:repeat(2,1fr);}
  .main-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:repeat(2,1fr);}
  nav.main-menu{display:none;}
}
@media (max-width:560px){
  .layanan-grid{grid-template-columns:1fr;}
  .layanan-grid a{border-right:none;border-bottom:1px solid var(--border);}
  .berita-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .hero h2{font-size:1.7rem;}
}
