/*
Theme Name: JobPortal
Theme URI: https://publishtopic.com/
Author: PublishTopic
Author URI: https://publishtopic.com/
Description: A clean job-listings theme inspired by the JobKaka layout. Card-based job archive, detailed single-job template, search and quick-filter links.
Version: 1.3.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jobportal
*/

:root{
  --jp-primary:#0a7d8c;
  --jp-primary-dark:#075f6b;
  --jp-accent:#f47c20;
  --jp-bg:#f4f6f8;
  --jp-card:#ffffff;
  --jp-text:#1f2937;
  --jp-muted:#6b7280;
  --jp-border:#e5e7eb;
  --jp-radius:10px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:var(--jp-bg);
  color:var(--jp-text);
  line-height:1.6;
  font-size:16px;
}
a{color:var(--jp-primary);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;}
.jp-container{max-width:1080px;margin:0 auto;padding:0 16px;}

/* Header */
.site-header{background:var(--jp-card);border-bottom:1px solid var(--jp-border);}
.site-header .jp-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px;}
.site-branding{display:flex;align-items:center;gap:14px;}
.site-branding img{max-height:54px;width:auto;}
.site-title{font-size:1.6rem;font-weight:800;margin:0;line-height:1.1;}
.site-title a{color:var(--jp-text);}
.site-description{margin:0;color:var(--jp-muted);font-size:.9rem;}
.main-navigation ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap;}
.main-navigation a{display:inline-block;padding:8px 14px;color:var(--jp-text);font-weight:600;border-radius:6px;}
.main-navigation a:hover{background:var(--jp-bg);text-decoration:none;color:var(--jp-primary);}
.menu-toggle{display:none;}

/* Search hero */
.jp-search-hero{background:linear-gradient(135deg,var(--jp-primary),var(--jp-primary-dark));color:#fff;padding:30px 0;}
.jp-search-hero form{display:flex;max-width:620px;margin:0 auto;gap:0;box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:8px;overflow:hidden;}
.jp-search-hero input[type="search"]{flex:1;border:0;padding:14px 18px;font-size:1rem;outline:none;}
.jp-search-hero button{border:0;background:var(--jp-accent);color:#fff;padding:0 26px;font-size:1rem;font-weight:700;cursor:pointer;}
.jp-search-hero button:hover{background:#d96a13;}
.jp-quick{max-width:760px;margin:18px auto 0;text-align:center;font-size:.92rem;}
.jp-quick p{margin:6px 0;}
.jp-quick strong{display:inline-block;margin-right:6px;}
.jp-quick a{color:#fff;font-weight:600;}

/* Sections */
.jp-section{padding:28px 0;}
.jp-section-title{font-size:1.4rem;font-weight:800;margin:0 0 16px;padding-bottom:8px;border-bottom:3px solid var(--jp-accent);display:inline-block;}
.jp-view-more{display:inline-block;margin-top:16px;background:var(--jp-primary);color:#fff;padding:9px 18px;border-radius:6px;font-weight:600;}
.jp-view-more:hover{background:var(--jp-primary-dark);text-decoration:none;color:#fff;}

/* Job cards */
.jp-jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
.jp-job-card{background:var(--jp-card);border:1px solid var(--jp-border);border-radius:var(--jp-radius);padding:18px;transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;}
.jp-job-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.08);transform:translateY(-2px);}
.jp-job-card h3{font-size:1.05rem;margin:0 0 12px;line-height:1.35;}
.jp-job-card h3 a{color:var(--jp-text);}
.jp-job-card h3 a:hover{color:var(--jp-primary);text-decoration:none;}
.jp-job-meta{margin-top:auto;border-top:1px dashed var(--jp-border);padding-top:10px;font-size:.85rem;color:var(--jp-muted);}
.jp-job-meta div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;}
.jp-job-meta span:first-child{font-weight:600;color:var(--jp-text);}
.jp-job-meta .jp-updated{color:var(--jp-accent);font-weight:600;}

/* Single job */
.jp-single{background:var(--jp-card);border:1px solid var(--jp-border);border-radius:var(--jp-radius);padding:28px;margin:24px 0;}
.jp-single h1.entry-title{font-size:1.7rem;margin:0 0 14px;line-height:1.3;}
.jp-single-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;font-size:.85rem;}
.jp-single-meta span{background:var(--jp-bg);border:1px solid var(--jp-border);border-radius:20px;padding:5px 14px;color:var(--jp-text);}
.jp-single-meta .jp-tag-type{background:#e6f4f1;border-color:#bfe3dc;color:var(--jp-primary-dark);font-weight:600;}
.entry-content{font-size:1rem;}
.entry-content h2{font-size:1.3rem;margin:26px 0 12px;color:var(--jp-primary-dark);border-left:4px solid var(--jp-accent);padding-left:10px;}
.entry-content h3{font-size:1.1rem;margin:20px 0 10px;}
.entry-content table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.95rem;}
.entry-content th,.entry-content td{border:1px solid var(--jp-border);padding:10px 12px;text-align:left;}
.entry-content th{background:var(--jp-primary);color:#fff;}
.entry-content tr:nth-child(even) td{background:#f9fafb;}
.entry-content a{font-weight:600;}
.jp-ad{background:#fafafa;border:1px dashed var(--jp-border);color:var(--jp-muted);text-align:center;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;padding:8px;margin:18px 0;border-radius:6px;}

/* Pages */
.jp-page{background:var(--jp-card);border:1px solid var(--jp-border);border-radius:var(--jp-radius);padding:28px;margin:24px 0;}
.jp-page h1.entry-title{font-size:1.7rem;margin:0 0 18px;}

/* Pagination */
.jp-pagination{margin:28px 0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.jp-pagination .page-numbers{display:inline-block;padding:8px 14px;background:var(--jp-card);border:1px solid var(--jp-border);border-radius:6px;color:var(--jp-text);font-weight:600;}
.jp-pagination .page-numbers.current{background:var(--jp-primary);color:#fff;border-color:var(--jp-primary);}
.jp-pagination a.page-numbers:hover{background:var(--jp-bg);text-decoration:none;}

/* Qualifications hub: card grid */
.jp-qual-wrap{padding:34px 0;}
.jp-qual-title{text-align:center;font-size:1.9rem;font-weight:800;color:var(--jp-primary-dark);margin:0 0 4px;}
.jp-qual-sub{text-align:center;color:var(--jp-muted);margin:0 0 30px;font-size:1.05rem;}
.jp-qual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1000px;margin:0 auto;}
.jp-qual-card{background:var(--jp-card);border:1px solid var(--jp-border);border-radius:14px;padding:30px 16px;text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.jp-qual-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.10);border-color:var(--jp-primary);text-decoration:none;}
.jp-qual-ic{font-size:2.7rem;line-height:1;}
.jp-qual-en{font-size:1.18rem;font-weight:800;color:var(--jp-text);}
.jp-qual-hi{font-size:.95rem;color:var(--jp-muted);}
@media(max-width:900px){.jp-qual-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:420px){.jp-qual-grid{grid-template-columns:1fr;}}

/* Qualification / sector pill buttons */
.jp-sector-head{text-align:center;font-size:1.35rem;font-weight:800;margin:6px 0 24px;}
.jp-qual-intro{color:var(--jp-muted);margin:0 auto 22px;max-width:760px;text-align:center;}
.jp-pill-list{display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto;}
.jp-pill{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(180deg,#2563eb,#1d4ed8);color:#fff;font-size:1.15rem;font-weight:700;padding:17px 24px;border-radius:50px;box-shadow:0 6px 16px rgba(29,78,216,.35);text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;}
.jp-pill:hover{background:linear-gradient(180deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 10px 24px rgba(29,78,216,.45);text-decoration:none;color:#fff;}
.jp-pill .jp-pill-ic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:.8rem;}
.jp-pill .jp-pill-tx{flex:1 1 auto;text-align:center;}
.jp-pill .jp-pill-ar{flex:0 0 auto;font-size:1.25rem;line-height:1;}
.jp-back-link{display:inline-block;margin-bottom:16px;font-weight:600;}
@media(max-width:600px){.jp-pill{font-size:1rem;padding:14px 18px;}}

/* Footer */
.site-footer{background:#10232a;color:#cbd5e1;margin-top:40px;padding:30px 0;}
.site-footer .jp-container{text-align:center;}
.site-footer .footer-copy{font-size:.95rem;margin-bottom:14px;}
.site-footer ul{list-style:none;display:flex;gap:8px 22px;justify-content:center;flex-wrap:wrap;margin:0;padding:0;}
.site-footer a{color:#cbd5e1;font-weight:600;}
.site-footer a:hover{color:#fff;}

/* Responsive */
@media(max-width:782px){
  .site-header .jp-container{flex-direction:column;align-items:flex-start;}
  .main-navigation ul{flex-wrap:wrap;}
  .jp-search-hero form{flex-direction:row;}
}
