/*
Theme Name: JobKaka Child
Theme URI: http://jobkaka.local/
Description: Custom child theme cloning jobkaka.com layout and design.
Author: Krunal
Version: 1.2.0
Template: astra
Text Domain: jobkaka-child
*/

/* ==================== RESET / BASE ==================== */
html { box-sizing: border-box; font-size: 62.5%; }
*, *::before, *::after { box-sizing: inherit; }

body {
	background-color: #fff !important;
	color: #333 !important;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif !important;
	font-size: 18px !important;
	line-height: 1.625 !important;
	margin: 0;
}
body > div { font-size: 18px; }

a { color: #b71c1c; text-decoration: none; transition: color .2s ease-in-out; }
a:hover, a:focus { color: #0073e5; text-decoration: none; }

img { max-width: 100%; height: auto; }

.wrap { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.ast-container, #primary.content-area { max-width: none; }

/* ==================== SITE HEADER (logo area) ==================== */
.site-header {
	background: #fff;
	padding: 12px 0;
	border-bottom: none;
}
.site-header .wrap { display: flex; align-items: center; justify-content: center; }
.title-area { text-align: center; }
.title-area .site-title {
	font-size: 42px;
	font-weight: 800;
	margin: 0;
	line-height: 1;
	letter-spacing: -1px;
}
.title-area .site-title a {
	color: #b71c1c;
	text-decoration: none;
}
/* Split "JobKaka" - "Job" red, "Kaka" darker */
.title-area .site-description {
	color: #777;
	font-size: 12px;
	margin: 4px 0 0;
	font-style: italic;
}
.title-area .custom-logo-link img {
	max-height: 70px;
	width: auto;
}

/* ==================== PRIMARY NAV (RED BAR with icons) ==================== */
.nav-primary {
	background: #b71c1c;
	border: none;
}
.nav-primary .wrap { padding: 0; }
.nav-primary ul.menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.nav-primary ul.menu > li { position: relative; }
.nav-primary ul.menu > li > a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	transition: background .2s;
}
.nav-primary ul.menu > li > a:hover,
.nav-primary ul.menu > li.current-menu-item > a {
	background: rgba(0,0,0,0.15);
	color: #fff;
}
/* Menu icons */
.nav-primary ul.menu > li > a::before {
	font-family: dashicons;
	font-size: 18px;
	line-height: 1;
	font-weight: normal;
}
.nav-primary ul.menu > li.trending > a::before { content: "\f238"; } /* chart-bar */
.nav-primary ul.menu > li.qualification > a::before { content: "\f463"; } /* welcome-learn-more */
.nav-primary ul.menu > li.job-type > a::before { content: "\f322"; } /* portfolio */
.nav-primary ul.menu > li.get-app > a::before { content: "\f470"; } /* smartphone */
/* Fallback for standard category items - subtle bullet */
.nav-primary ul.menu > li:not(.trending):not(.qualification):not(.job-type):not(.get-app) > a::before {
	content: "\f102"; /* arrow-right */
}

/* Submenu (dropdown) */
.nav-primary ul.menu ul.sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	min-width: 200px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	display: none;
	list-style: none;
	padding: 0;
	z-index: 100;
}
.nav-primary ul.menu > li:hover > ul.sub-menu { display: block; }
.nav-primary ul.menu ul.sub-menu a {
	color: #333;
	padding: 10px 16px;
	display: block;
	font-size: 14px;
}
.nav-primary ul.menu ul.sub-menu a:hover { background: #f5f5f5; color: #b71c1c; }

/* ==================== SITE INNER ==================== */
.site-inner { padding: 25px 0; }
.site-inner .wrap { display: flex; gap: 25px; }
.content-sidebar-wrap { display: contents; }
main.content { flex: 1; min-width: 0; }
aside.sidebar { width: 280px; }

/* ==================== HOME SEARCH ==================== */
.home-search { margin-bottom: 30px; }
.search-area-kaka { text-align: center; margin-bottom: 15px; }
.kaka-search .search-form {
	display: inline-flex;
	align-items: stretch;
	width: 100%;
	max-width: 600px;
	background: #fff;
	border: 2px solid #b71c1c;
	border-radius: 50px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.search-form-input {
	flex: 1;
	border: 0 !important;
	border-bottom: 0 !important;
	padding: 14px 24px !important;
	font-size: 15px;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	color: #333;
	line-height: 1.4;
	margin: 0 !important;
}
.search-form-input:focus {
	outline: none !important;
	box-shadow: none !important;
	border: 0 !important;
}
.search-form-input::placeholder { color: #999; }
.search-form-submit {
	background: #b71c1c !important;
	color: #fff !important;
	border: 0 !important;
	width: 52px;
	min-width: 52px;
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: background .2s;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.search-form-submit:hover { background: #0073e5 !important; }
.search-form-submit svg,
.search-icon {
	width: 20px !important;
	height: 20px !important;
	fill: #fff !important;
	display: block !important;
}
.search-form-submit svg path,
.search-icon path { fill: #fff !important; }
.screen-reader-text {
	position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;
}

/* Search by qualification/type rows */
.sort-kaka {
	text-align: center;
	padding: 8px 12px;
	font-size: 14px;
	color: #333;
}
.sort-kaka b { color: #b71c1c; display: block; margin-bottom: 4px; font-size: 14px; }
.sort-kaka a { margin: 0 6px; color: #b71c1c; text-decoration: none; font-weight: 500; }
.sort-kaka a:hover { text-decoration: underline; }
.sort-kaka + .sort-kaka { border-top: 1px solid #eee; padding-top: 10px; margin-top: 8px; }

/* ==================== SECTION HEADING (RED BAR) ==================== */
.kaka-main-heading {
	background: #b71c1c;
	margin: 25px 0 20px;
	padding: 12px 20px;
	text-align: center;
	border-radius: 3px;
}
.kaka-main-heading h1,
.kaka-main-heading h2 {
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin: 0;
	text-align: center;
	letter-spacing: 0.3px;
}

/* ==================== JOB CARDS GRID ==================== */
.trending-list-cl {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 20px;
}
.articles {
	background: #fff;
	border: 1.5px solid #b71c1c;
	border-radius: 4px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s, transform .2s;
	min-height: 220px;
}
.articles:hover {
	box-shadow: 0 6px 16px rgba(183, 28, 28, 0.15);
	transform: translateY(-2px);
}
.articles .entry-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 12px;
	text-align: center;
	color: #b71c1c;
	min-height: 62px;
}
.articles .entry-title a {
	color: #b71c1c;
	text-decoration: none;
}
.articles .entry-title a:hover { color: #0073e5; }

.bfooter {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 12px;
	color: #555;
	border-top: 1px dashed #e0e0e0;
	padding-top: 12px;
	margin-top: auto;
}
.entry-job-liner-1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}
.entry-job-date {
	color: #777;
	font-weight: 500;
	font-size: 12px;
}
.entry-job-date-details {
	color: #333;
	font-weight: 600;
	font-size: 12px;
	text-align: right;
}

/* View More button */
.view-more-link {
	text-align: center;
	margin: 15px 0 30px;
}
.view-more-link a {
	display: inline-block;
	background: #b71c1c;
	color: #fff;
	padding: 10px 28px;
	border-radius: 3px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: background .2s;
}
.view-more-link a::after { content: ""; }
.view-more-link a:hover { background: #0073e5; color: #fff; }

/* ==================== SINGLE POST — jobkaka format ==================== */
.single main.content > article {
	background: #fff;
	padding: 0;
	border-radius: 4px;
}
.single .entry-header {
	margin-bottom: 16px;
}
.single .entry-title {
	font-size: 24px;
	font-weight: 700;
	color: #b71c1c;
	margin: 0 0 10px;
	line-height: 1.35;
}
.single .entry-meta {
	color: #333;
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 16px;
	padding: 12px 16px;
	background: #f5f5f5;
	border-radius: 4px;
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
}
.single .entry-meta .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
	color: #b71c1c;
	margin-right: 6px;
	vertical-align: middle;
}
.single .entry-meta time,
.single .entry-meta item { font-size: 16px; }
.single .entry-meta item {
	display: inline-flex;
	align-items: center;
}
.single .entry-meta a { color: #b71c1c; text-decoration: none; }
.single .entry-meta a:hover { text-decoration: underline; }

/* ==================== bsectioncol — jobkaka section wrapper ==================== */
.bsectioncol {
	background: #fff;
	border: 1px solid #eee;
	border-left: 4px solid #b71c1c;
	padding: 16px 20px;
	margin: 20px 0;
	border-radius: 3px;
}
.bsectioncol h2 {
	font-size: 22px;
	font-weight: 700;
	color: #b71c1c;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #b71c1c;
	line-height: 1.35;
}
.bsectioncol h3 {
	font-size: 19px;
	font-weight: 700;
	color: #333;
	margin: 0 0 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid #eee;
}
.bsectioncol p:last-child { margin-bottom: 0; }

/* Content-level headings (fallback for non-structured posts) */
.entry-content > h2 {
	font-size: 22px;
	color: #b71c1c;
	margin: 24px 0 12px;
	padding-left: 12px;
	border-left: 4px solid #b71c1c;
}
.entry-content > h3 { font-size: 19px; margin: 18px 0 8px; color: #333; }
.entry-content > ul {
	background: #f5f5f5;
	padding: 16px 20px 16px 40px;
	border-radius: 4px;
	margin: 12px 0;
}
.entry-content > ul li { margin-bottom: 6px; font-size: 17px; }
.entry-content > ul li strong { color: #b71c1c; }

.entry-content p { margin: 0 0 14px; font-size: 17px; line-height: 1.7; color: #333; }

.entry-content a.button,
.entry-content .wp-block-button__link {
	display: inline-block;
	background: #b71c1c;
	color: #fff !important;
	padding: 10px 22px;
	border-radius: 3px;
	text-decoration: none;
	font-weight: 600;
	transition: background .2s;
}
.entry-content a.button:hover { background: #0073e5; }

/* ==================== TABLE #customers — jobkaka table style ==================== */
/* Wrap tables in a horizontal-scroll container on small screens */
.bsectioncol { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bsectioncol table {
	min-width: 100%;
}
table#customers, .bsectioncol table {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0 0;
	font-size: 16px;
	table-layout: auto;
}
table#customers th, .bsectioncol table th {
	background: #b71c1c;
	color: #fff;
	padding: 10px 12px;
	text-align: left;
	font-weight: 600;
	border: 1px solid #b71c1c;
}
table#customers td, .bsectioncol table td {
	padding: 10px 12px;
	border: 1px solid #e0e0e0;
	color: #333;
	vertical-align: top;
}
table#customers tbody tr:nth-child(even),
.bsectioncol table tbody tr:nth-child(even) {
	background: #fafafa;
}
table#customers tbody tr:hover,
.bsectioncol table tbody tr:hover {
	background: #fff5f5;
}
table#customers tbody tr:last-child td b,
.bsectioncol table tbody tr:last-child td b {
	color: #b71c1c;
}
table#customers a, .bsectioncol table a {
	color: #b71c1c;
	font-weight: 600;
	text-decoration: none;
}
table#customers a:hover, .bsectioncol table a:hover {
	color: #0073e5;
	text-decoration: underline;
}

/* ==================== SIDEBAR ==================== */
aside.sidebar .widget {
	background: #fff;
	border: 1px solid #eee;
	padding: 16px;
	margin-bottom: 18px;
	border-radius: 4px;
}
aside.sidebar .widget-title {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	background: #b71c1c;
	margin: -16px -16px 12px;
	padding: 10px 14px;
	border-radius: 4px 4px 0 0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}
aside.sidebar ul { list-style: none; padding: 0; margin: 0; }
aside.sidebar li a {
	display: block;
	padding: 7px 0;
	border-bottom: 1px dashed #eee;
	color: #333;
	text-decoration: none;
	font-size: 13px;
}
aside.sidebar li a:hover { color: #b71c1c; }
aside.sidebar li:last-child a { border-bottom: 0; }

/* ==================== PAGINATION ==================== */
.pagination, .archive-pagination, .navigation.pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 30px 0;
}
.pagination a, .pagination .page-numbers,
.archive-pagination a, .archive-pagination .page-numbers,
.navigation.pagination .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	background: #fff;
	border: 1px solid #ddd;
	color: #333;
	text-decoration: none;
	border-radius: 3px;
	font-size: 13px;
}
.pagination .current, .archive-pagination .current,
.navigation.pagination .current {
	background: #b71c1c;
	color: #fff;
	border-color: #b71c1c;
}
.pagination a:hover, .archive-pagination a:hover {
	background: #b71c1c;
	color: #fff;
	border-color: #b71c1c;
}

/* ==================== FOOTER ==================== */
.site-footer {
	background: #222;
	color: #ccc;
	padding: 20px 0;
	margin-top: 30px;
	font-size: 13px;
}
.site-footer .wrap { text-align: center; }
.nav-secondary ul.menu {
	list-style: none;
	padding: 0;
	margin: 10px 0 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
}
.nav-secondary ul.menu a { color: #fff; text-decoration: none; font-size: 12px; }
.nav-secondary ul.menu a:hover { color: #b71c1c; }

/* ==================== RESPONSIVE ==================== */
@media (max-width: 900px) {
	.site-inner .wrap { flex-direction: column; }
	aside.sidebar { width: 100%; }
	.trending-list-cl { grid-template-columns: repeat(2, 1fr); }
	.nav-primary ul.menu > li > a { padding: 12px 16px; font-size: 13px; }
	.title-area .site-title { font-size: 32px; }
	body { font-size: 16px !important; }
	.entry-content p { font-size: 15px; }
	.bsectioncol { padding: 12px 14px; }
	.bsectioncol h2 { font-size: 19px; }
	.bsectioncol h3 { font-size: 17px; }
	table#customers, .bsectioncol table { font-size: 14px; }
	table#customers th, .bsectioncol table th,
	table#customers td, .bsectioncol table td { padding: 8px 10px; }
	.single .entry-title { font-size: 22px; }
	/* Faint scroll-hint edge to signal horizontal scroll */
	.bsectioncol { position: relative; }
	.bsectioncol::after {
		content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 24px;
		background: linear-gradient(to right, transparent, rgba(183, 28, 28, 0.08));
		pointer-events: none;
	}
}

@media (max-width: 600px) {
	.trending-list-cl { grid-template-columns: 1fr; }
	.nav-primary ul.menu { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; }
	.nav-primary ul.menu > li > a { padding: 12px 14px; font-size: 12px; white-space: nowrap; }
	.kaka-search .search-form { max-width: 100%; }
	body { font-size: 15px !important; }
	.entry-content p { font-size: 14px; line-height: 1.6; }
	.bsectioncol { padding: 10px 12px; margin: 14px 0; }
	.bsectioncol h2 { font-size: 17px; padding-bottom: 6px; }
	.bsectioncol h3 { font-size: 15px; }
	table#customers, .bsectioncol table { font-size: 13px; }
	table#customers th, .bsectioncol table th,
	table#customers td, .bsectioncol table td { padding: 6px 8px; }
	.single .entry-title { font-size: 20px; }
	.single .entry-meta { font-size: 14px; gap: 12px; padding: 10px 12px; }
	.single .entry-meta time, .single .entry-meta item { font-size: 14px; }
	.single .entry-meta .dashicons { font-size: 16px; width: 16px; height: 16px; }
	.single main.content > article { padding: 0 4px; }
	/* Prevent horizontal-scroll on tiny screens by allowing text wrap */
	.bsectioncol table td { word-break: break-word; }
}

/* ==================== JOBS-BY-QUALIFICATION STRIP (search page) ==================== */
.kaka-qual-strip { max-width: 1000px; margin: 20px auto 10px; padding: 0 12px; }
.kaka-qual-strip .strip-header {
	background: #b71c1c;
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	padding: 8px 10px;
	letter-spacing: .2px;
}
.kaka-qual-strip .strip-body {
	background: #f4f4f4;
	padding: 14px 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.kaka-qual-strip .strip-btn {
	display: flex;
	align-items: center;
	background: #0000ff;
	color: #fff;
	text-decoration: none;
	border-radius: 999px;
	padding: 12px 16px;
	font-weight: 600;
	font-size: 16px;
	transition: background .15s ease;
}
.kaka-qual-strip .strip-btn:hover { background: #111; color: #fff; }
.kaka-qual-strip .strip-btn .left-ic,
.kaka-qual-strip .strip-btn .right-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255,255,255,.18);
	font-size: 13px;
	line-height: 1;
	flex-shrink: 0;
}
.kaka-qual-strip .strip-btn .label { flex: 1; text-align: center; }
@media (max-width: 600px) {
	.kaka-qual-strip .strip-btn { font-size: 14px; padding: 10px 12px; }
}

/* ==================== NOT FOUND (empty category/archive) ==================== */
.kaka-notfound {
	text-align: center;
	padding: 60px 20px;
	color: #555;
}
.kaka-notfound .icon { font-size: 56px; margin-bottom: 12px; }
.kaka-notfound h2 { color: #b71c1c; font-size: 28px; margin: 0 0 6px; font-weight: 700; }
.kaka-notfound p { color: #777; font-size: 15px; margin: 0; }

/* ==================== TILE-SELECT LANDING PAGES (Qualification, Job Type) ==================== */
.kaka-select-page {
	max-width: 1100px;
	margin: 30px auto;
	padding: 10px 16px 40px;
	text-align: center;
}
.kaka-select-heading {
	color: #b71c1c;
	font-size: 28px;
	font-weight: 700;
	margin: 10px 0 4px;
}
.kaka-select-subheading {
	color: #666;
	font-size: 16px;
	margin: 0 0 24px;
}
.kaka-select-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.kaka-select-tile {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	padding: 24px 12px 18px;
	text-decoration: none;
	color: #222;
	display: block;
	transition: transform .15s ease, box-shadow .15s ease;
}
.kaka-select-tile:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.10);
}
.kaka-select-tile .icon { font-size: 44px; line-height: 1; margin-bottom: 10px; }
.kaka-select-tile .title { font-weight: 700; font-size: 16px; color: #222; }
.kaka-select-tile .subtitle { font-size: 13px; color: #777; margin-top: 4px; }
@media (max-width: 900px) {
	.kaka-select-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.kaka-select-grid { grid-template-columns: repeat(2, 1fr); }
	.kaka-select-heading { font-size: 22px; }
}
