/* Shared styles for the District Judiciary Kohistan Lower job portal */

:root { --bs-body-font-family: 'Times New Roman', Times, serif; }
body, input, select, textarea, button, .btn, .form-control, .form-select, .form-text, .alert, .badge, table, summary {
    font-family: 'Times New Roman', Times, serif !important;
}
html { -webkit-text-size-adjust: 100%; }

/* ---------- Page frame (new pages) ---------- */
.portal-page { background-color: #eaf2ed; font-size: 1.05rem; }
.portal-page .main-wrapper {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 60px);
    width: 100%;
    max-width: 1100px;
    margin: 30px auto;
    background: #ffffff;
    box-shadow: 0 0 20px rgba(0,0,0,0.08);
    border-radius: 8px;
    overflow: hidden;
}
.portal-page .header-strip { background-color: #0d5c3f; color: #ffffff; padding: 30px 20px; text-align: center; }
.portal-page .content { flex: 1; padding: 24px; }
.portal-page .site-footer {
    margin-top: auto;
    background: linear-gradient(135deg, #0d5c3f 0%, #083d2a 100%);
    color: #ffffff;
    text-align: center;
    padding: 26px 15px 20px;
    font-size: 13px;
    border-top: 4px solid #d4af37;
}
.site-footer .footer-icon {
    width: 46px; height: 46px; line-height: 46px;
    border-radius: 50%;
    background: #d4af37; color: #083d2a;
    font-size: 20px;
    margin: -45px auto 10px;
    border: 4px solid #ffffff;
    text-align: center;
}
.site-footer .divider { width: 60px; height: 2px; background: #d4af37; margin: 10px auto; }
.site-footer p { margin: 3px 0; }

/* ---------- Public navigation ---------- */
.portal-nav { display: flex; flex-wrap: wrap; background: #083d2a; }
.portal-nav a {
    color: #ffffff;
    text-decoration: none;
    padding: 12px 18px;
    border-bottom: 3px solid transparent;
    flex: 0 0 auto;
}
.portal-nav a:hover, .portal-nav a.active { background: #0d5c3f; border-bottom-color: #d4af37; }

/* ---------- Notices, FAQ, contact ---------- */
.notice-item {
    border: 1px solid #dee2e6;
    border-left: 5px solid #0d5c3f;
    padding: 12px 14px;
    margin-bottom: 12px;
    background: #ffffff;
}
.notice-item h5 { margin: 0 0 2px; color: #0d5c3f; font-weight: bold; }
.notice-item .date { font-size: 0.85rem; color: #6c757d; margin-bottom: 6px; }
.faq details { border: 1px solid #dee2e6; border-radius: 6px; margin-bottom: 10px; background: #ffffff; }
.faq summary { cursor: pointer; padding: 12px 14px; font-weight: bold; color: #0d5c3f; }
.faq details[open] summary { border-bottom: 1px solid #dee2e6; }
.faq .answer { padding: 12px 14px; }
.contact-card { border: 1px solid #dee2e6; border-radius: 8px; padding: 14px; height: 100%; background: #f8fbf9; }
.contact-card i { color: #0d5c3f; font-size: 1.4rem; margin-bottom: 6px; }
.rules-text { white-space: pre-line; line-height: 1.7; }

/* ---------- Captcha / honeypot ---------- */
.captcha-box { background: #f4faf6; border: 1px dashed #0d5c3f; border-radius: 8px; padding: 10px 12px; }
.hp-field { position: absolute; left: -9999px; top: -9999px; height: 0; width: 0; overflow: hidden; opacity: 0; }

/* ---------- Admin ---------- */
.admin-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.admin-nav a {
    background: #ffffff;
    color: #0d5c3f;
    border: 1px solid #0d5c3f;
    border-radius: 6px;
    padding: 7px 14px;
    text-decoration: none;
    font-weight: bold;
}
.admin-nav a:hover, .admin-nav a.active { background: #0d5c3f; color: #ffffff; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 20px; }
.stat-card { background: #ffffff; border: 1px solid #dee2e6; border-top: 4px solid #0d5c3f; border-radius: 8px; padding: 12px 14px; }
.stat-card .num { font-size: 1.9rem; font-weight: bold; line-height: 1.1; color: #0d5c3f; }
.stat-card .lbl { font-size: 0.9rem; color: #6c757d; }
.stat-card.warn { border-top-color: #ffc107; } .stat-card.warn .num { color: #b8860b; }
.stat-card.good { border-top-color: #198754; }
.stat-card.bad { border-top-color: #dc3545; } .stat-card.bad .num { color: #dc3545; }

/* ---------- Mobile ---------- */
@media (max-width: 767.98px) {
    .portal-page .main-wrapper { margin: 0; border-radius: 0; box-shadow: none; }
    .portal-page .header-strip { padding: 20px 12px; }
    .portal-page .content { padding: 14px; }
    .portal-nav { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .portal-nav a { white-space: nowrap; padding: 10px 12px; font-size: 0.95rem; }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-nav a { flex: 1 1 45%; text-align: center; font-size: 0.95rem; }
}