/* =========================================================================
 * Danudirja Press - Light theme with black header/banner
 * Built on the default OMP theme (child). White background, dark text,
 * black sticky top banner + nav (white text). Elegant, fast, responsive.
 * Plain CSS (no compile). Optimised for PageSpeed & SEO.
 * ========================================================================= */
:root{
  --dp-black:#111112; --dp-black-2:#1c1c1e;
  --dp-ink:#1a1a1a; --dp-muted:#5c5c5c;
  --dp-line:#e6e6e6; --dp-bg:#ffffff; --dp-soft:#f7f7f8;
  --dp-radius:10px;
}

/* ---- Base ---- */
html,body{ background:var(--dp-bg) !important; color:var(--dp-ink) !important; }
body,.pkp_structure_page{
  background:var(--dp-bg);
  color:var(--dp-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{ color:var(--dp-ink); text-decoration:none; }
a:hover{ color:#000; text-decoration:underline; }
h1,h2,h3,h4{ color:var(--dp-ink); font-weight:700; }

/* ---- Black sticky header / banner ---- */
.pkp_structure_head{
  background:var(--dp-black); color:#fff;
  position:sticky; top:0; z-index:1000; border:0;
  box-shadow:0 2px 12px rgba(0,0,0,.18);
}
.pkp_structure_head a,.pkp_structure_head h1,
.pkp_structure_head .pkp_site_name a{ color:#fff !important; }
.pkp_head_wrapper{ max-width:1200px; margin:0 auto; padding:0 24px; }
.pkp_site_name_wrapper{ padding:14px 0; }
.pkp_site_name a{ font-weight:800; letter-spacing:.3px; font-size:1.6rem; }

/* nav bar (whole strip black, override default blue) */
.pkp_site_nav_menu,.pkp_navigation_primary_row,.pkp_navigation_primary_wrapper,
#navigationPrimary,.pkp_navigation_search_wrapper{ background:var(--dp-black) !important; }
.pkp_site_nav_menu{ border-top:1px solid rgba(255,255,255,.12) !important; }
.pkp_navigation_primary a,#navigationUser a{
  color:#fff !important; text-transform:uppercase;
  font-size:.8rem; letter-spacing:.6px; font-weight:600; padding:12px 14px;
}
.pkp_navigation_primary a:hover,#navigationUser a:hover{
  color:#fff !important; background:rgba(255,255,255,.10); border-radius:4px;
}
.pkp_navigation_primary .dropdown-menu{ background:var(--dp-black-2); border:1px solid rgba(255,255,255,.12); }
.pkp_navigation_primary .dropdown-menu a{ color:#fff !important; text-transform:none; letter-spacing:0; }
.pkp_search .fa,.pkp_site_nav_toggle{ color:#fff !important; }

/* ---- White body content ---- */
.pkp_structure_content{ background:var(--dp-bg) !important; border:0 !important; box-shadow:none !important;
  max-width:1200px; margin:0 auto; }
.pkp_structure_main{ background:var(--dp-bg) !important; border-left:0 !important; border-right:0 !important;
  color:var(--dp-ink); padding:32px 24px; }
.pkp_structure_sidebar{ border-left:0 !important; border-right:0 !important; }
.page,.page_homepage,.page_catalog{ color:var(--dp-ink); }
.monograph_count{ color:var(--dp-muted); }

/* breadcrumbs */
.cmp_breadcrumbs{ font-size:.82rem; color:var(--dp-muted); }
.cmp_breadcrumbs a{ color:var(--dp-muted); }
.cmp_breadcrumbs a:hover{ color:var(--dp-ink); }

/* ---- Monograph / book grid (OMP catalog) ---- */
.cmp_monographs_list,ul.list.monographs{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:24px; list-style:none; padding:0; margin:24px 0;
}
.cmp_monographs_list > li,ul.list.monographs > li{
  background:#fff; border:1px solid var(--dp-line); border-radius:var(--dp-radius);
  overflow:hidden; transition:transform .18s ease, box-shadow .18s ease;
}
.cmp_monographs_list > li:hover,ul.list.monographs > li:hover{
  transform:translateY(-4px); box-shadow:0 10px 28px rgba(0,0,0,.10);
}
.obj_monograph_summary img,.cmp_monograph .cover img{ width:100%; height:auto; display:block; }
.obj_monograph_summary .title a{ font-weight:600; }

/* series / category headings */
.cmp_monographs_header,.obj_series_full h2,.obj_category_full h2{
  border-bottom:2px solid var(--dp-black); padding-bottom:8px; margin-top:32px;
}

/* ---- Buttons & forms ---- */
.pkp_button,button.pkp_button,.cmp_button,a.button,.btn,input[type="submit"]{
  background:var(--dp-black); color:#fff !important; border:0; border-radius:6px;
  padding:10px 18px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; cursor:pointer;
}
.pkp_button:hover,.cmp_button:hover,a.button:hover,.btn:hover,input[type="submit"]:hover{
  background:#333; color:#fff !important; text-decoration:none;
}
input[type="text"],input[type="search"],input[type="email"],input[type="password"],textarea,select{
  border:1px solid var(--dp-line); border-radius:6px; padding:8px 10px; background:#fff; color:var(--dp-ink);
}
input:focus,textarea:focus,select:focus{ outline:0; border-color:var(--dp-black); box-shadow:0 0 0 3px rgba(0,0,0,.08); }

/* ---- Footer ---- */
.pkp_structure_footer_wrapper{ background:var(--dp-black); color:#fff; margin-top:48px; }
.pkp_structure_footer{ max-width:1200px; margin:0 auto; padding:28px 24px; }
.pkp_structure_footer a{ color:#fff; }
.pkp_brand_footer,.pkp_brand_footer a{ color:rgba(255,255,255,.6) !important; }
.pkp_brand_footer svg,.pkp_brand_footer img{ filter:invert(1) brightness(2) opacity(.6); }

/* pagination */
.cmp_pagination a,.cmp_pagination span{ border:1px solid var(--dp-line); border-radius:6px; padding:6px 12px; margin:0 2px; }
.cmp_pagination .current{ background:var(--dp-black); color:#fff; border-color:var(--dp-black); }

/* ---- Mobile / responsive (aligns with default theme breakpoint) ---- */
@media (max-width:991px){
  .pkp_head_wrapper{ padding:0 16px; }
  .pkp_site_name a{ font-size:1.3rem; }
  .pkp_structure_main{ padding:20px 16px; }
  .pkp_navigation_primary a,#navigationUser a{ padding:12px 10px; display:block; }
  .pkp_site_nav_menu .pkp_navigation_primary,
  .pkp_site_nav_menu #navigationUserWrapper{ background:var(--dp-black) !important; }
  .cmp_monographs_list,ul.list.monographs{ grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:16px; }
}
@media (max-width:600px){
  .cmp_monographs_list,ul.list.monographs{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .pkp_site_name a{ font-size:1.15rem; }
}
