/*
Theme Name: Sarkari Portal
Theme URI: https://sarkarijobs.stylishletter.com
Description: Sarkari Result / Sarkari Jobs type portal theme. "Sarkari Jobs Manager" plugin ke saath use karein.
Version: 1.1.0
Requires at least: 5.8
Requires PHP: 7.4
Author: Sarkari Jobs
Text Domain: sarkari-portal
*/

:root {
	--sp-ink: #14213d;
	--sp-primary: #1b2a5c;
	--sp-primary-dark: #121c40;
	--sp-accent: #c1272d;
	--sp-saffron: #f59f00;
	--sp-bg: #eef1f6;
	--sp-card: #ffffff;
	--sp-line: #d9dee8;
	--sp-muted: #5b6577;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--sp-bg);
	color: var(--sp-ink);
	font-family: "Noto Sans Devanagari", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}

a { color: var(--sp-primary); }
img { max-width: 100%; height: auto; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

a:focus-visible, button:focus-visible, input:focus-visible {
	outline: 3px solid var(--sp-saffron);
	outline-offset: 2px;
}

.sp-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 16px; }

/* ---------- Header ---------- */
.sp-header { background: var(--sp-primary); color: #fff; border-bottom: 4px solid var(--sp-saffron); }

.sp-header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
}

.sp-brand a { color: #fff; text-decoration: none; }
.sp-site-title { margin: 0; font-size: 28px; line-height: 1.15; font-weight: 800; letter-spacing: .2px; }
.sp-site-tagline { margin: 2px 0 0; font-size: 13.5px; color: #c9d3f2; }
.custom-logo { max-height: 56px; width: auto; }

.sp-social { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-social a {
	padding: 7px 14px;
	border-radius: 3px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.sp-social .sp-tg { background: #1d8fd1; }
.sp-social .sp-wa { background: #1f9d55; }
.sp-social a:hover { filter: brightness(1.1); }

/* ---------- Navigation ---------- */
.sp-nav { background: var(--sp-primary-dark); }
.sp-nav-inner { display: flex; align-items: center; }

.sp-nav-toggle {
	display: none;
	margin: 8px 0;
	padding: 8px 14px;
	border: 1px solid #4b5b94;
	border-radius: 3px;
	background: transparent;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.sp-menu { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.sp-menu li { margin: 0; }
.sp-menu a {
	display: block;
	padding: 11px 14px;
	color: #e6ebfb;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}
.sp-menu a:hover,
.sp-menu .current-menu-item > a { background: var(--sp-accent); color: #fff; }

/* ---------- Ticker ---------- */
.sp-ticker { background: #fff3cd; border-bottom: 1px solid #f0d98a; overflow: hidden; }
.sp-ticker-inner { display: flex; align-items: center; gap: 12px; padding: 7px 0; }
.sp-ticker-label {
	flex: none;
	padding: 2px 10px;
	border-radius: 3px;
	background: var(--sp-accent);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}
.sp-ticker-track { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; }
.sp-ticker-move { display: inline-block; padding-left: 100%; animation: sp-scroll 55s linear infinite; }
.sp-ticker-track:hover .sp-ticker-move { animation-play-state: paused; }
.sp-ticker-move a { margin-right: 36px; color: var(--sp-ink); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.sp-ticker-move a:hover { text-decoration: underline; }
@keyframes sp-scroll { to { transform: translateX(-100%); } }

@media (prefers-reduced-motion: reduce) {
	.sp-ticker-move { animation: none; padding-left: 0; white-space: normal; }
	.sp-ticker-track { white-space: normal; }
}

/* ---------- Layout ---------- */
.sp-main { padding-top: 20px; padding-bottom: 32px; }

.sp-hero {
	margin: 0 0 20px;
	padding: 20px;
	background: var(--sp-card);
	border: 1px solid var(--sp-line);
	border-left: 6px solid var(--sp-accent);
	border-radius: 4px;
}
.sp-hero h1 { margin: 0 0 6px; font-size: 24px; line-height: 1.3; }
.sp-hero p { margin: 0 0 14px; color: var(--sp-muted); }

.sp-section-title {
	margin: 8px 0 12px;
	padding: 10px 14px;
	background: var(--sp-primary);
	color: #fff;
	font-size: 19px;
	border-radius: 4px;
}

.sp-text {
	margin: 24px 0 0;
	padding: 20px;
	background: var(--sp-card);
	border: 1px solid var(--sp-line);
	border-radius: 4px;
}

/* ---------- Article ---------- */
.sp-article {
	padding: 22px;
	background: var(--sp-card);
	border: 1px solid var(--sp-line);
	border-radius: 4px;
}
.sp-breadcrumb { margin: 0 0 10px; font-size: 13.5px; color: var(--sp-muted); }
.sp-breadcrumb a { text-decoration: none; }
.sp-breadcrumb a:hover { text-decoration: underline; }
.sp-entry-title { margin: 0 0 8px; font-size: 27px; line-height: 1.3; }
.sp-entry-meta { margin: 0 0 14px; font-size: 14px; color: var(--sp-muted); }
.sp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.sp-tags a {
	padding: 2px 10px;
	border: 1px solid var(--sp-line);
	border-radius: 14px;
	background: #f3f5f9;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}
.sp-share { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.sp-share a {
	padding: 6px 14px;
	border-radius: 3px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.sp-share .sp-wa { background: #1f9d55; }
.sp-share .sp-tg { background: #1d8fd1; }

.sp-entry-content { overflow-wrap: anywhere; }
.sp-entry-content h2, .sp-entry-content h3 { line-height: 1.3; }
.sp-related { margin-top: 24px; }

/* ---------- Archive ---------- */
.sp-archive-desc { margin: 0 0 14px; color: var(--sp-muted); }
.sp-archive-box .sjm-box-title { font-size: 20px; }
.sp-plain-list { list-style: none; margin: 0; padding: 0; }
.sp-plain-list li { padding: 10px 14px; border-bottom: 1px solid #edf0f5; }

.navigation.pagination { margin: 20px 0 0; }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.nav-links .page-numbers {
	padding: 7px 13px;
	border: 1px solid var(--sp-line);
	border-radius: 3px;
	background: #fff;
	font-weight: 700;
	text-decoration: none;
}
.nav-links .page-numbers.current { background: var(--sp-primary); border-color: var(--sp-primary); color: #fff; }

/* ---------- Footer ---------- */
.sp-footer { background: var(--sp-primary-dark); color: #c9d3f2; border-top: 4px solid var(--sp-saffron); }
.sp-footer-inner { padding: 22px 0; font-size: 14px; }
.sp-footer a { color: #fff; }
.sp-footer-menu { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0 0 12px; padding: 0; }
.sp-footer-menu a { text-decoration: none; font-weight: 600; }
.sp-footer-menu a:hover { text-decoration: underline; }
.sp-disclaimer { margin: 0 0 10px; }
.sp-copy { margin: 0; color: #9aa8d6; }

/* ---------- Responsive ---------- */
@media (max-width: 800px) {
	.sp-header-top { flex-direction: column; align-items: flex-start; }
	.sp-site-title { font-size: 23px; }
	.sp-nav-toggle { display: block; }
	.sp-menu { display: none; width: 100%; flex-direction: column; }
	.sp-nav.is-open .sp-menu { display: flex; }
	.sp-nav-inner { flex-direction: column; align-items: stretch; }
	.sp-hero h1 { font-size: 20px; }
	.sp-entry-title { font-size: 22px; }
	.sp-article { padding: 16px; }
}
