/*
Theme Name: Career Pointer
Theme URI: https://careerpointer.ng
Author: Career Pointer
Author URI: https://careerpointer.ng
Description: Custom job board theme for Career Pointer — browse jobs, scholarships and career resources across Nigeria. Fully responsive, SEO optimized, PWA ready.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: revjobs
*/

/* ==========================================================================
   1. Custom properties / theme tokens
   ========================================================================== */
:root{
	--rj-blue: #0F16A6;
	--rj-blue-dark: #034AA6;
	--rj-blue-light: #eaf0fd;
	--rj-green: #14A62A;
	--rj-green-dark: #118C23;
	--rj-navy: #0b1220;
	--rj-navy-2: #10192b;
	--rj-ink: #101828;
	--rj-text: #344054;
	--rj-muted: #667085;
	--rj-border: #e4e7ec;
	--rj-bg: #F2F2F2;
	--rj-white: #ffffff;
	--rj-accent: #14A62A;
	--rj-accent-dark: #118C23;
	--rj-radius: 12px;
	--rj-radius-sm: 8px;
	--rj-shadow: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.08);
	--rj-shadow-lg: 0 8px 24px rgba(16,24,40,.12);
	--rj-container: 1280px;
	--rj-font: "Plus Jakarta Sans", "Helvetica Neue", Helvetica, Arial, "Segoe UI", sans-serif;
}

/* ==========================================================================
   2. Reset
   ========================================================================== */
*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
	margin:0;
	font-family: var(--rj-font);
	color: var(--rj-text);
	background: var(--rj-bg);
	line-height:1.6;
	font-size:16px;
	overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
svg{ width:18px; height:18px; flex:none; display:inline-block; vertical-align:middle; }
a{ color: var(--rj-blue); text-decoration:none; }
a:hover{ color: var(--rj-blue-dark); }
ul, ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,h5,h6{ margin:0 0 .5em; color: var(--rj-ink); font-weight:800; line-height:1.2; }
p{ margin:0 0 1em; }
button, input, select, textarea{ font-family:inherit; font-size:inherit; color:inherit; }
button{ cursor:pointer; }
table{ width:100%; border-collapse:collapse; }
.screen-reader-text{
	position:absolute !important;
	width:1px; height:1px; overflow:hidden;
	clip:rect(1px,1px,1px,1px);
	white-space:nowrap;
}
.skip-link{
	position:absolute; top:-100px; left:0; z-index:100000;
	background:var(--rj-blue); color:#fff; padding:12px 20px; border-radius:0 0 8px 0;
	transition: top .2s ease;
}
.skip-link:focus{ top:0; color:#fff; }

/* ==========================================================================
   3. Layout helpers
   ========================================================================== */
.container{
	max-width: var(--rj-container);
	margin:0 auto;
	padding:0 24px;
}
.section{ padding: 56px 0; }
.section-head{
	display:flex; align-items:center; justify-content:space-between;
	gap:16px; margin-bottom:24px; flex-wrap:wrap;
}
.section-title{
	font-size:28px; margin:0; position:relative; padding-left:20px;
	display:flex; align-items:center; gap:12px;
}
.section-title::before{
	content:""; width:32px; height:4px; background:var(--rj-blue);
	border-radius:2px; position:absolute; left:0;
}
.section-link{ font-weight:700; color:var(--rj-blue); white-space:nowrap; }
.section-link:hover{ color:var(--rj-blue-dark); }
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	border-radius:999px; padding:10px 22px; font-weight:700; font-size:14px;
	border:2px solid transparent; transition:.2s ease; white-space:nowrap;
	background:transparent;
}
.btn-primary{ background:var(--rj-blue); color:#fff; }
.btn-primary:hover{ background:var(--rj-blue-dark); color:#fff; }
.btn-outline{ border-color: rgba(255,255,255,.5); color:#fff; }
.btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,.08); color:#fff; }
.btn-outline-light{ border-color: var(--rj-border); color: var(--rj-text); background:#fff; }
.btn-outline-light:hover{ border-color: var(--rj-blue); color: var(--rj-blue); }
.btn-dark{ background:var(--rj-navy); color:#fff; }
.btn-dark:hover{ background:#000; color:#fff; }
.btn-accent{ background: var(--rj-accent); color:#fff; }
.btn-accent:hover{ background: var(--rj-accent-dark); color:#fff; }
.btn-whatsapp{ background:#25d366; color:#fff; }
.btn-whatsapp:hover{ background:#1eb958; color:#fff; }
.btn-white{ background:#fff; color:var(--rj-ink); }
.btn-white:hover{ background:var(--rj-blue-light); color:var(--rj-ink); }
.btn-sm{ padding:8px 16px; font-size:13px; }
.btn-lg{ padding:16px 34px; font-size:16px; }
.btn svg{ width:16px; height:16px; }
.pill{
	display:inline-flex; align-items:center; gap:6px;
	border:1px solid var(--rj-border); border-radius:999px;
	padding:5px 12px; font-size:12.5px; color:var(--rj-muted); background:#fff;
}
.pill svg{ width:14px; height:14px; flex:none; }
.tag{
	display:inline-block; border:1px solid var(--rj-border); border-radius:999px;
	padding:5px 14px; font-size:12.5px; font-weight:700; color:var(--rj-blue);
	background: var(--rj-blue-light);
}
.badge-cat{
	position:absolute; top:14px; left:14px; z-index:2;
	background:var(--rj-blue); color:#fff; font-size:12px; font-weight:700;
	padding:6px 12px; border-radius:999px;
}

/* ==========================================================================
   4. Header
   ========================================================================== */
.site-header{
	background: #fff;
	position:sticky; top:0; z-index:1000;
	border-bottom:1px solid var(--rj-border);
}
.site-header-inner{
	display:flex; align-items:center; justify-content:space-between;
	gap:24px; padding:16px 24px;
}
.site-branding{ display:flex; align-items:center; }
.site-logo{ display:flex; align-items:center; gap:2px; font-weight:800; font-size:22px; color:var(--rj-ink); }
.site-logo img{ max-height:38px; width:auto; }
.site-logo .accent{ color: var(--rj-blue); }
.site-logo .check{ color: var(--rj-blue); margin-left:2px; }

.primary-nav{ display:flex; align-items:center; gap:28px; }
.primary-nav ul{ display:flex; align-items:center; gap:28px; }
.primary-nav a{ color:var(--rj-text); font-weight:600; font-size:15px; }
.primary-nav a:hover{ color:var(--rj-ink); }
.primary-nav li.menu-item-has-children{ position:relative; }
.primary-nav li.menu-item-has-children > a::after{
	content:""; display:inline-block; margin-left:6px; width:7px; height:7px;
	border-right:2px solid currentColor; border-bottom:2px solid currentColor;
	transform:rotate(45deg); vertical-align:2px;
}
.primary-nav .sub-menu{
	position:absolute; top:100%; left:0; background:#fff; min-width:220px;
	border-radius:var(--rj-radius-sm); box-shadow:var(--rj-shadow-lg);
	padding:8px; opacity:0; visibility:hidden; transform:translateY(6px);
	transition:.18s ease; border:1px solid var(--rj-border);
}
.primary-nav li.menu-item-has-children:hover > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.primary-nav .sub-menu a{ color:var(--rj-text); padding:8px 12px; border-radius:6px; display:block; }
.primary-nav .sub-menu a:hover{ background:var(--rj-blue-light); color:var(--rj-blue); }
.header-cta{ display:flex; align-items:center; gap:12px; }
.header-cta .btn-outline{ border-color: var(--rj-border); color: var(--rj-text); }
.header-cta .btn-outline:hover{ border-color: var(--rj-blue); color: var(--rj-blue); background:transparent; }
.menu-toggle{
	display:none; background:transparent; border:0; color:var(--rj-ink); padding:8px;
}
.menu-toggle svg{ width:26px; height:26px; }

@media (max-width: 1080px){
	.primary-nav{ display:none; }
	.menu-toggle{ display:inline-flex; }
	.header-cta .btn-outline{ display:none; }
}
.mobile-nav{
	display:none; background:#fff; border-top:1px solid var(--rj-border);
}
.mobile-nav.is-open{ display:block; }
.mobile-nav ul{ display:flex; flex-direction:column; padding:8px 24px 16px; }
.mobile-nav a{ display:block; padding:12px 0; color:var(--rj-text); font-weight:600; border-bottom:1px solid var(--rj-border); }
.mobile-nav .sub-menu{ padding-left:16px; }

@media (max-width: 640px){
	.site-header-inner{ padding:22px 20px; gap:16px; }
	.site-logo{ font-size:26px; }
	.site-logo img, .custom-logo{ max-height:48px; }
	.menu-toggle svg{ width:30px; height:30px; }
	.header-cta{ gap:16px; }
}

/* ==========================================================================
   5. Hero
   ========================================================================== */
.hero{
	position:relative; color:#fff; background:#0b1220 center/cover no-repeat;
	overflow:hidden;
}
.hero::before{
	content:""; position:absolute; inset:0;
	background:linear-gradient(120deg, rgba(3,8,30,.88) 0%, rgba(15,22,166,.82) 42%, rgba(20,166,42,.68) 100%);
}
.hero-inner{
	position:relative; z-index:2; padding:96px 24px 84px; max-width:var(--rj-container); margin:0 auto;
}
.hero-eyebrow{ font-weight:700; letter-spacing:.02em; color:#dbe2f5; font-size:17px; margin-bottom:6px; }
.hero-title{ font-size:64px; line-height:1.05; max-width:680px; color:#fff; }
.hero-title .accent{ color:#eaffef; -webkit-text-stroke: 0; }
.hero-cta{ margin-top:24px; }
.hero-desc{ max-width:520px; color:#e7ecfa; font-size:17px; margin:20px 0 32px; }

.hero-search{
	max-width:820px; background:#fff; border-radius:999px; padding:8px;
	box-shadow:var(--rj-shadow-lg);
}
.hero-search-row{ display:flex; align-items:center; gap:4px; }
.hero-search-field{
	flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:10px; padding:10px 18px;
}
.hero-search-field svg{ width:18px; height:18px; color:var(--rj-muted); flex:none; }
.hero-search-field input{
	background:transparent; border:0; outline:0; color:var(--rj-ink); width:100%; font-size:15px;
}
.hero-search-field input::placeholder{ color:var(--rj-muted); }
.hero-search-divider{ width:1px; height:26px; background:var(--rj-border); flex:none; }
.hero-search button.btn-search{
	flex:none; background:var(--rj-blue); color:#fff; border:0; border-radius:999px;
	padding:14px 28px; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; gap:10px;
	white-space:nowrap;
}
.hero-search button.btn-search:hover{ background:var(--rj-blue-dark); }
.hero-search button.btn-search svg{ width:18px; height:18px; }

@media (max-width: 780px){
	.hero-search{ max-width:100%; border-radius:var(--rj-radius); padding:10px; }
	.hero-search-row{ flex-wrap:wrap; }
	.hero-search-field{ flex:1 1 100%; padding:10px 12px; }
	.hero-search-divider{ width:100%; height:1px; margin:0; }
	.hero-search button.btn-search{ flex:1 1 100%; margin-top:6px; }
}
@media (max-width: 640px){
	.hero-title{ font-size:42px; }
	.hero-inner{ padding:64px 20px 56px; }
}

/* ==========================================================================
   6. Opportunities section (job listings + sidebar)
   ========================================================================== */
.opportunities-layout{ display:grid; grid-template-columns:2fr 1fr; gap:32px; align-items:start; }
.news-ticker{
	display:flex; align-items:center; background:var(--rj-navy); color:#fff;
	border-radius:var(--rj-radius-sm); overflow:hidden; margin-bottom:24px;
}
.news-ticker-label{
	background:var(--rj-blue); font-weight:800; font-size:13px; letter-spacing:.04em;
	padding:12px 18px; flex:none;
}
.news-ticker-track{ overflow:hidden; flex:1; padding:12px 18px; }
.news-ticker-track a{ color:#fff; }
.news-ticker-track .date{ color:#9aa4b8; margin-right:10px; }
.news-ticker-track .cat{ color:var(--rj-blue); font-weight:800; margin-left:10px; }

.job-list{ display:flex; flex-direction:column; gap:20px; }
.job-card{
	background:#fff; border:1px solid var(--rj-border); border-radius:var(--rj-radius);
	padding:22px; display:flex; gap:18px; transition:.2s ease;
}
.job-card:hover{ box-shadow:var(--rj-shadow-lg); border-color:transparent; }
.job-card-thumb{
	width:72px; height:72px; border-radius:var(--rj-radius-sm); overflow:hidden; flex:none;
	background:var(--rj-blue-light); display:flex; align-items:center; justify-content:center;
}
.job-card-thumb img{ width:100%; height:100%; object-fit:cover; }
.job-card-body{ flex:1; min-width:0; }
.job-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.job-card-title{ font-size:19px; margin-bottom:6px; }
.job-card-title a{ color:var(--rj-ink); }
.job-card-title a:hover{ color:var(--rj-blue); }
.job-card-meta{ display:flex; flex-wrap:wrap; gap:14px; color:var(--rj-muted); font-size:13.5px; margin-bottom:10px; }
.job-card-meta span{ display:inline-flex; align-items:center; gap:6px; }
.job-card-meta svg{ width:15px; height:15px; flex:none; }
.job-card-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.job-card-excerpt{ color:var(--rj-text); font-size:14.5px; margin-bottom:12px; }
.job-card-arrow{ color:var(--rj-muted); flex:none; align-self:center; }
.job-card-arrow svg{ width:20px; height:20px; }
.job-card:hover .job-card-arrow{ color:var(--rj-blue); }

/* Sidebar */
.sidebar-widget{
	background:#fff; border:1px solid var(--rj-border); border-radius:var(--rj-radius);
	padding:22px; margin-bottom:24px;
}
.sidebar-widget-title{
	display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;
}
.sidebar-widget-title h3{ font-size:16px; margin:0; display:flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.02em; }
.sidebar-widget-title svg{ width:18px; height:18px; color:var(--rj-blue); }
.trending-item{ display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--rj-border); }
.trending-item:last-child{ border-bottom:0; padding-bottom:0; }
.trending-rank{ font-weight:800; color:#c2c8d4; font-size:15px; width:16px; flex:none; }
.trending-thumb{ width:56px; height:56px; border-radius:8px; overflow:hidden; flex:none; background:var(--rj-blue-light); }
.trending-thumb img{ width:100%; height:100%; object-fit:cover; }
.trending-content a{ font-size:14px; font-weight:700; color:var(--rj-ink); line-height:1.35; }
.trending-content a:hover{ color:var(--rj-blue); }
.trending-sub{ display:flex; align-items:center; gap:8px; margin-top:6px; font-size:12px; color:var(--rj-muted); }
.trending-sub svg{ width:12px; height:12px; }
.trending-sub .cat{ color:var(--rj-blue); font-weight:700; }

.promo-banner{
	position:relative; border-radius:var(--rj-radius); overflow:hidden; margin-bottom:24px;
	background:var(--rj-navy) center/cover no-repeat; min-height:200px; display:flex; align-items:flex-end;
}
.promo-banner::before{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.75), rgba(0,0,0,.15)); }
.promo-banner-content{ position:relative; z-index:2; padding:22px; color:#fff; }
.promo-banner-content h4{ color:#fff; font-size:19px; margin-bottom:14px; }

.expert-card{ text-align:center; }
.expert-avatar{
	width:76px; height:76px; border-radius:50%; overflow:hidden; margin:0 auto 12px;
	background:var(--rj-blue-light);
}
.expert-avatar img{ width:100%; height:100%; object-fit:cover; }
.expert-name{ font-size:18px; display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:10px; }
.expert-badge{
	font-size:11px; font-weight:800; color:var(--rj-blue); border:1px solid var(--rj-blue);
	border-radius:999px; padding:2px 10px;
}
.expert-card p{ font-size:14px; color:var(--rj-text); }
.expert-card .btn{ margin-top:6px; width:100%; }

.cv-analysis-card{ background:var(--rj-navy); color:#fff; border-radius:var(--rj-radius); overflow:hidden; margin-bottom:24px; }
.cv-analysis-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; }
.cv-analysis-head h4{ color:#fff; font-size:16px; margin-bottom:4px; }
.cv-analysis-head .price{ font-size:20px; font-weight:800; color:var(--rj-blue-light); }
.cv-analysis-head small{ color:#9aa4b8; }
.cv-analysis-list{ padding:0 22px 20px; }
.cv-analysis-list li{ display:flex; align-items:center; gap:10px; padding:6px 0; font-size:14px; color:#dbe2f5; }
.cv-analysis-list svg{ width:16px; height:16px; color:var(--rj-blue-light); flex:none; }
.cv-analysis-card .btn{ margin:0 22px 22px; }

@media (max-width: 992px){
	.opportunities-layout{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
	.job-card{ flex-direction:column; }
	.job-card-thumb{ width:100%; height:150px; }
}

/* ==========================================================================
   7. Pagination
   ========================================================================== */
.pagination{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:32px; flex-wrap:wrap; }
.pagination a, .pagination span{
	min-width:40px; height:40px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
	border-radius:999px; border:1px solid var(--rj-border); color:var(--rj-text); font-weight:700; font-size:14px; background:#fff;
}
.pagination a:hover{ border-color:var(--rj-blue); color:var(--rj-blue); }
.pagination .current{ background:var(--rj-blue); color:#fff; border-color:var(--rj-blue); }
.pagination .dots{ border:0; background:transparent; }

/* ==========================================================================
   8. Career insights / article grid
   ========================================================================== */
.article-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.article-card{
	background:#fff; border:1px solid var(--rj-border); border-radius:var(--rj-radius);
	overflow:hidden; transition:.2s ease;
}
.article-card:hover{ box-shadow:var(--rj-shadow-lg); transform:translateY(-2px); }
.article-thumb{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--rj-blue-light); }
.article-thumb img{ width:100%; height:100%; object-fit:cover; }
.article-card-body{ padding:16px; }
.article-card-title{ font-size:16px; margin-bottom:10px; }
.article-card-title a{ color:var(--rj-ink); }
.article-card-title a:hover{ color:var(--rj-blue); }
.article-card-meta{ display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--rj-muted); }
.article-card-meta span{ display:inline-flex; align-items:center; gap:5px; }
.article-card-meta svg{ width:13px; height:13px; }
@media (max-width: 992px){ .article-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 560px){ .article-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   9. Footer
   ========================================================================== */
.site-footer{ background:var(--rj-navy); color:#aeb5c4; padding-top:56px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-bottom:40px; }
.footer-about .site-logo{ margin-bottom:14px; color:#fff; }
.footer-about .custom-logo-link img,
.footer-about .site-logo img{ filter:brightness(0) invert(1); }
.footer-about p{ font-size:14px; color:#9aa4b8; max-width:280px; }
.footer-col h4{ color:#fff; font-size:15px; margin-bottom:16px; }
.footer-col ul li{ margin-bottom:10px; }
.footer-col a{ color:#aeb5c4; font-size:14px; }
.footer-col a:hover{ color:#fff; }
.footer-col .view-all{ color:var(--rj-blue-light); font-weight:700; }
.footer-social-list li{ margin-bottom:12px; }
.footer-social-list a{
	display:inline-flex; align-items:center; gap:10px; color:#aeb5c4; font-weight:600; font-size:14px;
}
.footer-social-list a:hover{ color:#fff; }
.footer-social-list svg{
	width:34px; height:34px; padding:9px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; flex:none;
}
.footer-social-list a:hover svg{ background:var(--rj-blue); }
.footer-bottom{
	border-top:1px solid rgba(255,255,255,.08); padding:20px 0; font-size:13px;
	display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.footer-bottom a{ color:#aeb5c4; }
.footer-bottom a:hover{ color:#fff; }
@media (max-width: 992px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 560px){ .footer-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   10. Search / archive / single job page (base, extendable)
   ========================================================================== */
.page-header{ background:var(--rj-navy); color:#fff; padding:48px 0; }
.page-header h1{ color:#fff; margin-bottom:8px; }
.breadcrumbs{ font-size:13px; color:#9aa4b8; }
.breadcrumbs a{ color:#c3c9d4; }
.breadcrumbs a:hover{ color:#fff; }
.content-area{ padding:48px 0; }
.no-results{ text-align:center; padding:60px 20px; color:var(--rj-muted); }

.single-job-header{ background:#fff; border:1px solid var(--rj-border); border-radius:var(--rj-radius); padding:28px; margin-bottom:24px; }
.single-job-header h1{ font-size:28px; margin-bottom:12px; }
.single-job-body{ background:#fff; border:1px solid var(--rj-border); border-radius:var(--rj-radius); padding:28px; }
.single-job-body h2,.single-job-body h3{ margin-top:1.4em; }
.single-job-body ul{ list-style:disc; padding-left:20px; margin-bottom:1em; }
.single-job-body ul li{ margin-bottom:6px; }
.job-apply-box{ background:var(--rj-blue-light); border-radius:var(--rj-radius); padding:22px; text-align:center; }
.job-apply-box .btn-primary{ width:100%; padding:14px; }

/* ==========================================================================
   10b. Single job page — actions, share, promo cards
   ========================================================================== */
.single-job-header{ position:relative; }
.job-save-btn{
	position:absolute; top:22px; right:22px; width:40px; height:40px; border-radius:50%;
	border:1px solid var(--rj-border); background:#fff; display:flex; align-items:center; justify-content:center;
	color:var(--rj-muted); transition:.2s ease;
}
.job-save-btn:hover{ border-color:var(--rj-blue); color:var(--rj-blue); }
.job-save-btn.is-saved{ background:var(--rj-blue); border-color:var(--rj-blue); color:#fff; }
.job-save-btn svg{ width:18px; height:18px; }

.job-actions-row{ display:flex; flex-wrap:wrap; gap:12px; margin:18px 0 6px; padding-top:18px; border-top:1px solid var(--rj-border); }
.job-actions-hint{ font-size:12.5px; color:var(--rj-muted); margin:6px 0 0; }
.job-actions-divider{ border-top:1px solid var(--rj-border); margin:18px 0; }
.btn[disabled], .btn.is-done{ opacity:.65; cursor:default; }

.share-row{ display:flex; flex-wrap:wrap; gap:10px; }
.share-btn{
	display:inline-flex; align-items:center; gap:8px; border:1px solid var(--rj-border);
	border-radius:999px; padding:9px 16px; font-size:13.5px; font-weight:700; color:var(--rj-text);
	background:#fff;
}
.share-btn:hover{ border-color:var(--rj-blue); color:var(--rj-blue); }
.share-btn svg{ width:16px; height:16px; }
.share-btn.copied{ border-color:var(--rj-blue); color:var(--rj-blue); }

.single-job-body h2, .single-job-body h3{ font-size:20px; }
.single-job-body a{ color:var(--rj-accent); text-decoration:underline; font-weight:700; }
.single-job-body a:hover{ color:var(--rj-accent-dark); }
.job-deadline{ font-weight:700; color:var(--rj-ink); }

.follow-card{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px; }
.follow-card + .follow-card{ margin-top:12px; }
.follow-card-user{ display:flex; align-items:center; gap:12px; }
.follow-avatar{ width:44px; height:44px; border-radius:50%; overflow:hidden; background:var(--rj-blue-light); flex:none; }
.follow-avatar img{ width:100%; height:100%; object-fit:cover; }
.follow-name{ font-weight:700; font-size:14.5px; display:flex; align-items:center; gap:6px; color:var(--rj-ink); }
.follow-name svg{ width:15px; height:15px; color:var(--rj-blue); }
.follow-sub{ font-size:12.5px; color:var(--rj-muted); }
.follow-icon-circle{
	width:44px; height:44px; border-radius:50%; background:#e9fbf1; color:#25d366;
	display:flex; align-items:center; justify-content:center; flex:none;
}
.follow-icon-circle svg{ width:20px; height:20px; }

.about-company{ display:flex; align-items:center; gap:14px; }
.about-company-thumb{ width:64px; height:64px; border-radius:var(--rj-radius-sm); overflow:hidden; background:var(--rj-blue-light); flex:none; }
.about-company-thumb img{ width:100%; height:100%; object-fit:cover; }
.about-company-name{ font-size:17px; margin-bottom:4px; }
.about-company-loc{ display:flex; align-items:center; gap:6px; color:var(--rj-muted); font-size:13.5px; }
.about-company-loc svg{ width:14px; height:14px; }

.ready-apply-box{ border:1px solid var(--rj-border); border-radius:var(--rj-radius); padding:26px; background:#fff; }
.ready-apply-box h2{ margin-bottom:8px; }
.ready-apply-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }

/* ==========================================================================
   11. Utility
   ========================================================================== */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.alignwide{ max-width:1100px; margin-left:auto; margin-right:auto; }
.aligncenter{ display:block; margin-left:auto; margin-right:auto; }
::selection{ background:var(--rj-blue); color:#fff; }
