/* ====== BASE RESET ====== */
body {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 0;
    background-color: #f9f9f9;
}

a {
    color: #0066cc;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}
a:hover {
    color: #ff6600;
    text-decoration: underline;
}

/* ====== HEADER ====== */
.pkp_site_name {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.pkp_site_name > a {
    padding-top: 0;
    padding-bottom: 0;
    display: inline-block;
}
/* Logo / site image */
.pkp_site_name .is_img img {
    max-height: 200px !important;
    width: auto;
    max-width: 100%;
    height: auto;
    transition: transform 0.3s ease-in-out;
}
.pkp_site_name .is_img img:hover {
    transform: scale(1.05);
}

.pkp_site_name_wrapper {
    padding-left: 0;
    padding-right: 0;
}
.pkp_head_wrapper {
    background: none !important;
    background-color: transparent !important;
}

.pkp_navigation_user_wrapper {
    /* diletakkan di kanan header; styling terpisah di bagian USER NAV */
    top: 0;
    right: 0;
    padding-right: 30px;
    position: absolute;
    z-index: 999;
}

/* Pastikan header elements tidak memiliki bayangan default */
.pkp_site_name_wrapper,
.pkp_head_wrapper,
.pkp_structure_head,
.pkp_navigation_primary_wrapper {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Pastikan header center di mobile */
@media (max-width: 768px) {
    .pkp_site_name {
        text-align: center;
    }
    .pkp_site_name .is_img img {
        max-height: 120px !important;
    }
    .pkp_navigation_primary {
        text-align: center;
    }
    /* letakkan user nav di bawah header pada perangkat kecil */
    .pkp_navigation_user_wrapper {
        position: static;
        transform: none;
        padding-right: 0;
    }
}

/* ====== MAIN STRUCTURE ====== */
.pkp_structure_page {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
}

/* ====== NAVIGATION (PRIMARY / MAIN MENU) ====== */
.pkp_navigation_primary {
    background-color: #004080;
    padding: 10px 0;
    box-shadow: none;
}

/* MAIN MENU LINKS - sangat spesifik supaya tidak tertimpa aturan lain */
.pkp_navigation_primary li a,
.pkp_navigation_primary a {
    color: #ffffff !important;         /* teks putih agar kontras di latar biru */
    padding: 8px 16px;
    display: inline-block;
    border-radius: 4px;
    transition: background 0.2s ease, color 0.2s ease;
    font-weight: 600;
    text-decoration: none;
}

/* Hover / focus untuk menu utama */
.pkp_navigation_primary li a:hover,
.pkp_navigation_primary li a:focus,
.pkp_navigation_primary li a:focus-visible {
    background-color: #ff6600 !important; /* oranye highlight */
    color: #ffffff !important;
    text-decoration: none;
    outline: none;
}

/* Active / current page state */
.pkp_navigation_primary li.current a,
.pkp_navigation_primary li.active a,
.pkp_navigation_primary a.current,
.pkp_navigation_primary a.active {
    background-color: #083a61;   /* sedikit lebih gelap */
    color: #ffffff !important;
    box-shadow: inset 0 -3px 0 rgba(0,0,0,0.12);
}

/* ====== FIX SUBMENU DROPDOWN TEXT ====== */
.pkp_navigation_primary li ul {
    background: #ffffff !important;   /* kotak dropdown putih */
    border: 1px solid #ddd;
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
}

.pkp_navigation_primary li ul li a,
.pkp_navigation_primary li ul li a:link,
.pkp_navigation_primary li ul li a:visited {
    color: #004080 !important;        /* teks biru gelap agar terlihat */
    background: #ffffff !important;
    padding: 8px 14px;
    display: block;
    font-weight: 500;
}

.pkp_navigation_primary li ul li a:hover {
    background: #ff6600 !important;   /* oranye saat hover */
    color: #ffffff !important;        /* teks putih kontras */
}

/* ====== USER NAVIGATION (Login / Register) ====== */
/* Ruang untuk link user (login/register) - pisahkan agar tidak menimpa main menu */
.pkp_navigation_user_wrapper {
    display: flex;
    gap: 8px;
    align-items: center;
    right: 30px;
    top: 18px;
}

/* Styling khusus Register & Login */
.pkp_navigation_user_wrapper a,
.pkp_navigation_user_wrapper a:link,
.pkp_navigation_user_wrapper a:visited {
    font-weight: 700 !important;       /* tebal */
    color: #ffcc00 !important;         /* warna utama lebih menarik (emas) */
    background: transparent;
    padding: 6px 14px;
    border-radius: 6px;
    transition: all 0.3s ease-in-out;
    text-decoration: none;
}

/* Hover effect */
.pkp_navigation_user_wrapper a:hover,
.pkp_navigation_user_wrapper a:focus {
    background-color: #ff6600;         /* oranye terang saat hover */
    color: #ffffff !important;         /* teks jadi putih */
    text-decoration: none;
    transform: translateY(-2px);       /* sedikit mengangkat */
    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
}

/* ====== BUTTONS ====== */
button,
input[type="submit"],
.pkp_button {
    background-color: #0066cc;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.3s ease-in-out, transform 0.2s ease-in-out;
}
button:hover,
input[type="submit"]:hover,
.pkp_button:hover {
    background-color: #ff6600;
    transform: translateY(-2px);
}

/* ====== TABLES ====== */
table {
    border-collapse: collapse;
    width: 100%;
    margin: 20px 0;
}
table th,
table td {
    border: 1px solid #ddd;
    padding: 10px;
}
table th {
    background-color: #f1f1f1;
    text-align: left;
}

/* ====== FOOTER ====== */
.pkp_structure_footer_wrapper {
    background-color: #004080;
    color: #fff;
    padding: 30px 20px;
    text-align: left;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    gap: 20px;
}
.footer-content {
    flex: 1 1 300px;
    font-size: 14px;
    line-height: 1.6;
}
.footer-content strong {
    font-size: 16px;
    display: block;
    margin-bottom: 8px;
}
.footer-content a {
    color: #ffcc00;
    text-decoration: none;
}
.footer-content a:hover {
    color: #fff;
    text-decoration: underline;
}
.footer-map {
    flex: 1 1 400px;
}
.footer-map iframe {
    width: 100%;
    height: 250px;
    border-radius: 8px;
    border: none;
}

/* ====== RESPONSIVE FOOTER ====== */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
    }
    .footer-map iframe {
        height: 200px;
    }
}

/* ====== CUSTOM HOVER EFFECTS ====== */
img {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
img:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

.card, .pkp_block {
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.3s ease-in-out;
}
.card:hover, .pkp_block:hover {
    transform: translateY(-4px);
}

/* ====== HAMBURGER MENU (mobile nav toggle) ====== */
.pkp_site_nav_toggle {
    color: #222 !important;
    border: none !important;
    background: transparent !important;
    font-size: 28px;
    cursor: pointer;
}
.pkp_site_nav_toggle .fa,
.pkp_site_nav_toggle span {
    color: #222 !important;
}
.pkp_site_nav_toggle:hover,
.pkp_site_nav_toggle:focus {
    color: #ff6600 !important;
    outline: none !important;
}

/* ===== ABOUT PAGE LAYOUT ===== */
.about-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 20px;
}
.about-img {
    max-width: 180px;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.about-text {
    flex: 1;
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.6;
    font-size: 15px;
}

/* Pada desktop, gambar di kiri teks; di mobile di atas */
@media (min-width: 769px) {
    .about-text .about-img {
        float: left;
        margin: 0 15px 10px 0;
        max-width: 180px;
    }
}
@media (max-width: 768px) {
    .about-wrapper {
        flex-direction: column;
        align-items: center;
        text-align: justify;
    }
    .about-img {
        max-width: 250px;
        margin-bottom: 15px;
    }
}

/* editorial team */
.editorial-team {
  max-width: 800px;
  margin: 30px auto;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #333;
}
.editorial-team h2 {
  text-align: left;
  color: #222;
  margin-bottom: 20px;
  border-bottom: 2px solid #ddd;
  padding-bottom: 5px;
}
.editorial-team h3 {
  margin-top: 30px;
  color: #444;
  border-left: 4px solid #ff6600;
  padding-left: 8px;
  font-size: 18px;
}
.editor {
  display: flex;
  align-items: flex-start;
  margin: 15px 0;
}
.editor img {
  width: 100px;
  height: auto;
  border-radius: 4px;
  margin-right: 15px;
}
.editor-info {
  font-size: 15px;
  line-height: 1.5;
}
.editor-info strong {
  color: #004080;
  font-size: 16px;
}
.editor-info a {
  color: #0073e6;
  text-decoration: none;
}
.editor-info a:hover {
  text-decoration: underline;
}

/* ====== Accessibility focus rings ====== */
.pkp_navigation_primary li a:focus,
.pkp_navigation_user_wrapper a:focus,
button:focus,
.pkp_button:focus {
  outline: 3px solid rgba(255,102,0,0.35);
  outline-offset: 3px;
}
