/*
Theme Name: Astra Child JobAttend
Theme URI: https://jobattend.com/
Description: Custom Astra child theme for JobAttend
Author: JobAttend
Author URI: https://jobattend.com/
Template: astra
Version: 1.0.0
Text Domain: astra-child-jobattend
*/

/* ===== Root ===== */
:root{
  --ja-primary:#0d47a1;
  --ja-primary-dark:#08306b;
  --ja-accent:#ff9800;
  --ja-bg:#f4f6f9;
  --ja-card:#ffffff;
  --ja-text:#1f2937;
  --ja-muted:#6b7280;
  --ja-border:#dbe3ea;
  --ja-success:#0f9d58;
  --ja-radius:10px;
  --ja-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* ===== Base ===== */
body{
  background:var(--ja-bg);
  color:var(--ja-text);
}

.site-content,
.ast-container{
  max-width:1280px;
}

a{
  text-decoration:none;
}

img{
  max-width:100%;
  height:auto;
}

/* ===== Utility ===== */
.ja-wrap{
  width:min(1280px, 94%);
  margin:0 auto;
}

.ja-card{
  background:var(--ja-card);
  border:1px solid var(--ja-border);
  border-radius:var(--ja-radius);
  box-shadow:var(--ja-shadow);
}

.ja-section{
  margin:18px 0;
}

.ja-section-title{
  background:var(--ja-primary);
  color:#fff;
  font-size:20px;
  font-weight:700;
  padding:12px 16px;
  border-radius:10px 10px 0 0;
  margin:0;
}

.ja-section-body{
  padding:14px;
}

.ja-view-all{
  display:inline-block;
  padding:8px 16px;
  background:var(--ja-accent);
  color:#fff;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
}

.ja-pill-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px;
}

.ja-pill-nav a{
  display:inline-block;
  padding:8px 12px;
  background:var(--ja-primary);
  color:#fff;
  font-size:13px;
  border-radius:999px;
  font-weight:600;
}

.ja-pill-nav a:hover{
  background:var(--ja-primary-dark);
}

/* ===== Homepage ===== */
.ja-top-strip{
  background:#111827;
  color:#fff;
  padding:10px 0;
}

.ja-top-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.ja-logo-title{
  display:flex;
  align-items:center;
  gap:12px;
}

.ja-logo-title img{
  width:48px;
  height:48px;
  object-fit:contain;
}

.ja-logo-title .title{
  font-size:26px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
}

.ja-logo-title .subtitle{
  font-size:13px;
  color:#d1d5db;
}

.ja-header-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.ja-header-links a{
  color:#fff;
  font-size:14px;
  font-weight:600;
}

.ja-home-grid{
  display:grid;
  grid-template-columns: 280px minmax(0,1fr) 280px;
  gap:18px;
  align-items:start;
}

.ja-sidebar-list,
.ja-link-list{
  list-style:none;
  margin:0;
  padding:0;
}

.ja-sidebar-list li,
.ja-link-list li{
  border-bottom:1px solid var(--ja-border);
}

.ja-sidebar-list li:last-child,
.ja-link-list li:last-child{
  border-bottom:none;
}

.ja-sidebar-list a,
.ja-link-list a{
  display:block;
  padding:10px 2px;
  color:var(--ja-text);
  font-size:14px;
  line-height:1.5;
}

.ja-sidebar-list a:hover,
.ja-link-list a:hover{
  color:var(--ja-primary);
}

.ja-updates-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px 24px;
}

.ja-featured-boxes{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.ja-featured-box{
  border-radius:10px;
  color:#fff;
  padding:16px 12px;
  font-weight:700;
  min-height:92px;
  display:flex;
  align-items:center;
}

.ja-featured-box:nth-child(1){background:#1e88e5;}
.ja-featured-box:nth-child(2){background:#fb8c00;}
.ja-featured-box:nth-child(3){background:#43a047;}
.ja-featured-box:nth-child(4){background:#8e24aa;}
.ja-featured-box:nth-child(5){background:#d81b60;}
.ja-featured-box:nth-child(6){background:#3949ab;}
.ja-featured-box:nth-child(7){background:#00897b;}
.ja-featured-box:nth-child(8){background:#ef6c00;}

.ja-edu-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}

.ja-edu-item{
  background:#f8fafc;
  border:1px solid var(--ja-border);
  border-radius:10px;
  padding:14px;
  text-align:center;
  font-weight:700;
}

.ja-three-col{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.ja-mini-list li{
  margin-bottom:10px;
}

.ja-mini-list{
  padding-left:18px;
  margin:0;
}

.ja-ad-box{
  text-align:center;
  background:#fff8e1;
  border:1px dashed #f59e0b;
  padding:14px;
  border-radius:10px;
  color:#92400e;
  font-weight:600;
}

/* ===== Single Post ===== */
.single .entry-header{
  margin-bottom:16px;
}

.ja-single-wrap{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  gap:24px;
}

.ja-article{
  background:#fff;
  border:1px solid var(--ja-border);
  border-radius:12px;
  box-shadow:var(--ja-shadow);
  padding:22px;
}

.ja-article h1{
  font-size:34px;
  line-height:1.25;
  margin-bottom:12px;
}

.ja-article h2{
  font-size:24px;
  margin-top:30px;
  margin-bottom:14px;
  color:var(--ja-primary-dark);
  border-bottom:2px solid #eef2f7;
  padding-bottom:8px;
}

.ja-article h3{
  font-size:20px;
  margin-top:22px;
  margin-bottom:10px;
}

.ja-post-intro{
  font-size:17px;
  color:#374151;
  line-height:1.8;
}

.ja-summary-table,
.ja-data-table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0;
  overflow:hidden;
  border-radius:10px;
}

.ja-summary-table th,
.ja-summary-table td,
.ja-data-table th,
.ja-data-table td{
  border:1px solid var(--ja-border);
  padding:12px;
  text-align:left;
  font-size:15px;
}

.ja-summary-table th,
.ja-data-table th{
  width:32%;
  background:#f8fafc;
  font-weight:700;
}

.ja-highlight-box{
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:10px;
  padding:14px 16px;
  margin:16px 0;
}

.ja-important-links a{
  display:inline-block;
  margin:6px 8px 6px 0;
  padding:10px 14px;
  background:var(--ja-primary);
  color:#fff;
  border-radius:8px;
  font-weight:700;
  font-size:14px;
}

.ja-related-posts ul{
  margin:0;
  padding-left:18px;
}

.ja-sticky-sidebar{
  position:sticky;
  top:20px;
}

.ja-sidebar-widget{
  background:#fff;
  border:1px solid var(--ja-border);
  border-radius:12px;
  box-shadow:var(--ja-shadow);
  margin-bottom:18px;
  overflow:hidden;
}

.ja-sidebar-widget h3{
  margin:0;
  padding:12px 14px;
  background:var(--ja-primary);
  color:#fff;
  font-size:18px;
}

.ja-sidebar-widget .inner{
  padding:14px;
}

.ja-sidebar-widget ul{
  margin:0;
  padding-left:18px;
}

.ja-sidebar-widget li{
  margin-bottom:10px;
}

.ja-inline-ad{
  margin:18px 0;
}

/* ===== Responsive ===== */
@media (max-width: 1100px){
  .ja-home-grid{
    grid-template-columns:1fr;
  }

  .ja-single-wrap{
    grid-template-columns:1fr;
  }

  .ja-sticky-sidebar{
    position:static;
  }

  .ja-featured-boxes{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .ja-three-col{
    grid-template-columns:1fr;
  }

  .ja-edu-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 767px){
  .ja-top-strip-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .ja-logo-title .title{
    font-size:22px;
  }

  .ja-updates-grid{
    grid-template-columns:1fr;
  }

  .ja-featured-boxes{
    grid-template-columns:1fr;
  }

  .ja-edu-grid{
    grid-template-columns:1fr;
  }

  .ja-article{
    padding:16px;
  }

  .ja-article h1{
    font-size:28px;
  }

  .ja-summary-table th,
  .ja-summary-table td,
  .ja-data-table th,
  .ja-data-table td{
    font-size:14px;
    padding:10px;
  }

  .ja-pill-nav a{
    font-size:12px;
    padding:7px 10px;
  }
}

/* ===== Phase 2 Production ===== */

.ja-breadcrumbs{
  font-size:14px;
  color:#6b7280;
  margin-bottom:16px;
}
.ja-breadcrumbs a{
  color:var(--ja-primary);
}
.ja-breadcrumbs span{
  margin:0 6px;
}

.ja-article-header{
  margin-bottom:18px;
}
.ja-post-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  font-size:14px;
  color:var(--ja-muted);
  margin:10px 0 14px;
}
.ja-featured-image-wrap{
  margin-top:16px;
}

.ja-toc{
  margin:20px 0;
  padding:16px;
}
.ja-toc h3{
  margin:0 0 12px;
  font-size:20px;
}
.ja-toc ul{
  margin:0;
  padding-left:18px;
}
.ja-toc li{
  margin-bottom:8px;
}

.ja-author-box{
  margin-top:24px;
  padding:16px;
}
.ja-author-inner{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ja-author-name{
  font-weight:700;
  font-size:18px;
}
.ja-author-text{
  color:var(--ja-muted);
  font-size:14px;
}

.ja-faq-item{
  background:#f8fafc;
  border:1px solid var(--ja-border);
  border-radius:10px;
  padding:14px;
  margin-bottom:12px;
}

.ja-archive-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
}
.ja-archive-main{
  padding:18px;
}
.ja-archive-header{
  margin-bottom:18px;
}
.ja-archive-header h1{
  margin-bottom:12px;
  font-size:34px;
}
.ja-archive-desc{
  color:#374151;
  line-height:1.8;
}
.ja-archive-item{
  border-bottom:1px solid var(--ja-border);
  padding:18px 0;
}
.ja-archive-item:last-child{
  border-bottom:none;
}
.ja-archive-item-inner{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:18px;
}
.ja-archive-thumb img{
  width:100%;
  height:auto;
  border-radius:12px;
  display:block;
}
.ja-archive-content h2{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.35;
}
.ja-archive-content h2 a{
  color:var(--ja-text);
}
.ja-archive-content h2 a:hover{
  color:var(--ja-primary);
}
.ja-archive-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  color:var(--ja-muted);
  font-size:14px;
  margin-bottom:10px;
}
.ja-read-more{
  display:inline-block;
  margin-top:10px;
  background:var(--ja-primary);
  color:#fff;
  padding:10px 14px;
  border-radius:8px;
  font-weight:700;
}
.ja-pagination{
  margin-top:20px;
}
.ja-pagination .nav-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.ja-pagination .page-numbers{
  padding:10px 14px;
  background:#fff;
  border:1px solid var(--ja-border);
  border-radius:8px;
  color:var(--ja-text);
}
.ja-pagination .current{
  background:var(--ja-primary);
  color:#fff;
}

.ja-search-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.ja-search-input{
  flex:1 1 220px;
  border:1px solid var(--ja-border);
  border-radius:8px;
  padding:12px 14px;
  background:#fff;
}
.ja-search-btn{
  border:none;
  background:var(--ja-primary);
  color:#fff;
  padding:12px 16px;
  border-radius:8px;
  font-weight:700;
  cursor:pointer;
}

.ja-content-section table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
}
.ja-content-section table th,
.ja-content-section table td{
  border:1px solid var(--ja-border);
  padding:10px;
  text-align:left;
}

.ja-content-section ul,
.ja-content-section ol{
  padding-left:20px;
}
.ja-content-section li{
  margin-bottom:8px;
}

@media (max-width: 1100px){
  .ja-archive-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px){
  .ja-archive-item-inner{
    grid-template-columns:1fr;
  }

  .ja-archive-header h1{
    font-size:28px;
  }

  .ja-post-meta-row{
    gap:8px;
    font-size:13px;
  }

  .ja-search-form{
    flex-direction:column;
  }

  .ja-search-input,
  .ja-search-btn{
    width:100%;
  }
}

/* ===== COMPACT HOMEPAGE FIX ===== */

body.home {
  background: #f3f5f8;
}

body.home .site-content,
body.home .ast-container,
body.home .entry-content,
body.home .site-primary-footer-wrap,
body.home .site-header-section {
  width: 100%;
}

.ja-homepage {
  width: 100%;
}

.ja-container {
  width: min(1380px, calc(100% - 24px));
  margin: 0 auto;
}

.ja-topbar {
  background: #ffffff;
  border-bottom: 1px solid #dbe2ea;
  padding: 12px 0;
}

.ja-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.ja-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ja-logo img,
.custom-logo {
  max-height: 48px;
  width: auto;
}

.ja-brand-text h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 800;
  color: #0d47a1;
}

.ja-brand-text p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 14px;
}

.ja-menu-strip {
  background: #ffffff;
  border-bottom: 1px solid #dbe2ea;
  padding: 10px 0;
}

.ja-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ja-pills a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #114aad;
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  transition: 0.2s ease;
}

.ja-pills a:hover {
  background: #0b357d;
  color: #fff;
}

.ja-main-home {
  padding: 18px 0 26px;
}

.ja-home-grid {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: start;
}

.ja-home-center {
  min-width: 0;
}

.ja-box {
  background: #fff;
  border: 1px solid #dbe2ea;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(0,0,0,0.04);
}

.ja-box-title {
  background: #114aad;
  color: #fff;
  padding: 12px 14px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.ja-box-body {
  padding: 12px 14px;
}

.ja-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ja-link-list li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #edf2f7;
}

.ja-link-list li:last-child {
  border-bottom: none;
}

.ja-link-list a {
  display: block;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.45;
  color: #1f2937;
  word-break: break-word;
}

.ja-link-list a:hover {
  color: #114aad;
}

.ja-two-col-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.ja-ad-placeholder,
.ja-small-ad {
  border: 2px dashed #f59e0b;
  background: #fff7e8;
  color: #8a5200;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  border-radius: 12px;
}

.ja-ad-placeholder {
  padding: 18px;
  margin: 16px 0;
}

.ja-small-ad {
  padding: 14px;
  margin-top: 16px;
}

.ja-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.ja-feature-card {
  min-height: 92px;
  border-radius: 12px;
  padding: 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  display: flex;
  align-items: center;
  box-shadow: 0 3px 12px rgba(0,0,0,0.08);
}

.ja-feature-card:hover {
  color: #fff;
  transform: translateY(-2px);
}

.ja-color-1 { background: #1976d2; }
.ja-color-2 { background: #ef6c00; }
.ja-color-3 { background: #00897b; }
.ja-color-4 { background: #8e24aa; }
.ja-color-5 { background: #c2185b; }
.ja-color-6 { background: #3949ab; }
.ja-color-7 { background: #2e7d32; }
.ja-color-8 { background: #d84315; }

.ja-edu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ja-edu-grid a {
  background: #f8fafc;
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  padding: 14px 10px;
  text-align: center;
  color: #0f172a;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.35;
}

.ja-edu-grid a:hover {
  border-color: #114aad;
  color: #114aad;
}

.ja-section-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.ja-search-form {
  display: flex;
  gap: 10px;
  align-items: center;
}

.ja-search-input {
  width: 280px;
  max-width: 100%;
  padding: 11px 14px;
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
}

.ja-search-btn {
  background: #114aad;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 11px 16px;
  font-weight: 700;
  cursor: pointer;
}

.ja-search-btn:hover {
  background: #0b357d;
}

@media (max-width: 1199px) {
  .ja-home-grid {
    grid-template-columns: 230px minmax(0, 1fr) 230px;
  }

  .ja-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ja-edu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ja-section-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .ja-topbar-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .ja-home-grid {
    grid-template-columns: 1fr;
  }

  .ja-home-center {
    order: 1;
  }

  .ja-home-grid > aside:first-child {
    order: 2;
  }

  .ja-home-grid > aside:last-child {
    order: 3;
  }

  .ja-two-col-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .ja-container {
    width: min(100%, calc(100% - 14px));
  }

  .ja-brand-text h1 {
    font-size: 22px;
  }

  .ja-brand-text p {
    font-size: 13px;
  }

  .ja-pills {
    gap: 6px;
  }

  .ja-pills a {
    font-size: 12px;
    padding: 7px 10px;
  }

  .ja-feature-grid {
    grid-template-columns: 1fr;
  }

  .ja-edu-grid {
    grid-template-columns: 1fr;
  }

  .ja-search-form {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .ja-search-input {
    width: 100%;
  }
}

/* ===== COMPACT BRAND POLISH ===== */

:root{
  --ja-primary:#114aad;
  --ja-primary-dark:#0b357d;
  --ja-accent:#ff9800;
  --ja-bg:#eef2f7;
  --ja-card:#ffffff;
  --ja-text:#1e293b;
  --ja-muted:#64748b;
  --ja-border:#d9e1ea;
  --ja-soft:#f8fafc;
}

/* overall */
body{
  background:var(--ja-bg);
  color:var(--ja-text);
  font-size:15px;
  line-height:1.55;
}

p{
  margin:0 0 12px;
}

body.home .site,
body.single .site,
body.archive .site,
body.search .site{
  overflow-x:hidden;
}

/* tighter page width */
.ja-container{
  width:min(1320px, calc(100% - 16px));
  margin:0 auto;
}

@media (max-width:767px){
  .ja-container{
    width:min(100%, calc(100% - 10px));
  }
}

/* remove unnecessary outer gaps */
.ja-main-home{
  padding:10px 0 14px;
}

.ja-topbar{
  padding:10px 0;
}

.ja-menu-strip{
  padding:8px 0;
}

/* brand */
.ja-brand{
  gap:10px;
}

.ja-logo img,
.custom-logo{
  max-height:42px;
}

.ja-brand-text h1{
  font-size:22px;
  margin:0;
  line-height:1.1;
  font-weight:800;
  color:var(--ja-primary);
}

.ja-brand-text p{
  margin:3px 0 0;
  font-size:13px;
  color:var(--ja-muted);
}

/* search compact */
.ja-search-form{
  gap:8px;
}

.ja-search-input{
  width:260px;
  padding:10px 12px;
  font-size:14px;
  border-radius:8px;
}

.ja-search-btn{
  padding:10px 14px;
  font-size:14px;
  border-radius:8px;
}

/* pills compact */
.ja-pills{
  gap:7px;
}

.ja-pills a{
  padding:7px 11px;
  font-size:12px;
  border-radius:999px;
  font-weight:700;
}

/* grid more compact */
.ja-home-grid{
  grid-template-columns:250px minmax(0,1fr) 240px;
  gap:12px;
}

.ja-section-grid{
  gap:12px;
  margin-top:12px;
}

.ja-two-col-links{
  gap:14px;
}

.ja-feature-grid{
  gap:10px;
  margin:12px 0;
}

.ja-edu-grid{
  gap:10px;
}

/* cards */
.ja-box{
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}

.ja-box-title{
  padding:10px 12px;
  font-size:16px;
  font-weight:800;
  border-radius:0;
}

.ja-box-body{
  padding:10px 12px;
}

/* links */
.ja-link-list a{
  padding:8px 0;
  font-size:13px;
  line-height:1.4;
}

/* feature cards */
.ja-feature-card{
  min-height:76px;
  padding:12px;
  font-size:14px;
  line-height:1.3;
  border-radius:10px;
}

/* edu cards */
.ja-edu-grid a{
  padding:11px 8px;
  font-size:13px;
  border-radius:8px;
}

/* ad boxes */
.ja-ad-placeholder,
.ja-small-ad,
.ja-real-ad,
.ja-ad-fallback{
  border-radius:10px;
}

.ja-ad-placeholder{
  margin:10px 0 12px;
  padding:8px;
  background:#fff7e8;
  border:1px dashed #f59e0b;
}

.ja-small-ad{
  margin-top:12px;
  padding:8px;
  background:#fff7e8;
  border:1px dashed #f59e0b;
}

.ja-ad-fallback{
  padding:14px;
  text-align:center;
  color:#8a5200;
  font-size:13px;
  font-weight:700;
}

/* single page compact */
.ja-single-wrap{
  grid-template-columns:minmax(0,1fr) 280px;
  gap:14px;
}

.ja-article{
  padding:14px;
  border-radius:10px;
}

.ja-article h1{
  font-size:30px;
  line-height:1.2;
  margin-bottom:10px;
}

.ja-article h2{
  font-size:20px;
  margin-top:20px;
  margin-bottom:10px;
  padding-bottom:6px;
}

.ja-article h3{
  font-size:17px;
  margin-top:16px;
  margin-bottom:8px;
}

.ja-post-meta-row{
  gap:8px;
  font-size:13px;
  margin:8px 0 10px;
}

.ja-post-intro{
  font-size:15px;
  line-height:1.65;
}

.ja-highlight-box{
  padding:10px 12px;
  font-size:13px;
  margin:10px 0 12px;
  border-radius:8px;
}

.ja-summary-table th,
.ja-summary-table td,
.ja-data-table th,
.ja-data-table td{
  padding:9px 10px;
  font-size:13px;
}

.ja-important-links a{
  padding:8px 12px;
  font-size:13px;
  border-radius:7px;
}

.ja-toc{
  padding:12px;
  margin:12px 0;
}

.ja-toc h3{
  font-size:17px;
  margin-bottom:8px;
}

.ja-toc li{
  margin-bottom:5px;
}

.ja-content-section table th,
.ja-content-section table td{
  padding:8px 9px;
  font-size:13px;
}

.ja-content-section li{
  margin-bottom:6px;
  font-size:14px;
}

.ja-faq-item{
  padding:10px 12px;
  margin-bottom:10px;
  border-radius:8px;
}

.ja-author-box{
  padding:12px;
  margin-top:14px;
}

.ja-author-name{
  font-size:16px;
}

.ja-author-text{
  font-size:13px;
}

.ja-related-posts ul li{
  margin-bottom:5px;
  font-size:13px;
}

/* sidebar compact */
.ja-sidebar-widget{
  border-radius:10px;
  margin-bottom:12px;
}

.ja-sidebar-widget h3{
  padding:10px 12px;
  font-size:16px;
}

.ja-sidebar-widget .inner{
  padding:10px 12px;
}

.ja-sidebar-widget li{
  margin-bottom:8px;
  font-size:13px;
}

/* archive/search compact */
.ja-archive-layout{
  grid-template-columns:minmax(0,1fr) 280px;
  gap:14px;
}

.ja-archive-main{
  padding:14px;
}

.ja-archive-header h1{
  font-size:28px;
  margin-bottom:8px;
}

.ja-archive-item{
  padding:14px 0;
}

.ja-archive-item-inner{
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
}

.ja-archive-content h2{
  font-size:20px;
  margin-bottom:8px;
}

.ja-archive-meta{
  gap:8px;
  font-size:13px;
  margin-bottom:8px;
}

.ja-read-more{
  margin-top:8px;
  padding:8px 12px;
  font-size:13px;
  border-radius:7px;
}

/* footer compact */
.site-footer,
.ast-footer-overlay{
  font-size:13px;
}

.site-footer a{
  font-size:13px;
}

/* mobile */
@media (max-width: 1100px){
  .ja-home-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .ja-single-wrap,
  .ja-archive-layout{
    grid-template-columns:1fr;
    gap:12px;
  }

  .ja-section-grid{
    grid-template-columns:1fr;
  }

  .ja-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ja-edu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 767px){
  body{
    font-size:14px;
  }

  .ja-topbar-inner{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .ja-main-home{
    padding:8px 0 10px;
  }

  .ja-brand-text h1{
    font-size:20px;
  }

  .ja-brand-text p{
    font-size:12px;
  }

  .ja-search-form{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .ja-search-input,
  .ja-search-btn{
    width:100%;
  }

  .ja-box-title{
    padding:9px 11px;
    font-size:15px;
  }

  .ja-box-body{
    padding:9px 11px;
  }

  .ja-link-list a{
    font-size:13px;
    padding:7px 0;
  }

  .ja-feature-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .ja-feature-card{
    min-height:68px;
    padding:10px;
    font-size:13px;
  }

  .ja-edu-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .ja-article{
    padding:10px;
  }

  .ja-article h1{
    font-size:24px;
  }

  .ja-article h2{
    font-size:18px;
  }

  .ja-article h3{
    font-size:16px;
  }

  .ja-summary-table th,
  .ja-summary-table td,
  .ja-data-table th,
  .ja-data-table td{
    padding:7px 8px;
    font-size:12px;
  }

  .ja-sidebar-widget h3{
    font-size:15px;
    padding:9px 11px;
  }

  .ja-sidebar-widget .inner{
    padding:9px 11px;
  }

  .ja-archive-main{
    padding:10px;
  }

  .ja-archive-header h1{
    font-size:22px;
  }

  .ja-archive-item-inner{
    grid-template-columns:1fr;
    gap:10px;
  }
}

/* remove too much astra page width on mobile */
@media (max-width:767px){
  body.home .ast-container,
  body.single .ast-container,
  body.archive .ast-container,
  body.search .ast-container,
  body.home .site-content,
  body.single .site-content,
  body.archive .site-content,
  body.search .site-content{
    max-width:100% !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* ===== HOMEPAGE FINAL POLISH ===== */

/* compact search strip below main header */
.ja-home-search-strip{
  background:#ffffff;
  border-bottom:1px solid #d9e1ea;
  padding:10px 0;
}

.ja-home-search-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.ja-home-search-text h2{
  margin:0;
  font-size:18px;
  line-height:1.25;
  color:#114aad;
  font-weight:800;
}

.ja-home-search-box{
  min-width:280px;
}

/* underline link lists so users know these are clickable */
.ja-link-list a,
.ja-sidebar-list a,
.ja-box .ja-link-list a{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:#c9d4e3;
}

.ja-link-list a:hover,
.ja-sidebar-list a:hover,
.ja-box .ja-link-list a:hover{
  text-decoration-color:#114aad;
}

/* underline links inside homepage cards only */
body.home .ja-link-list a{
  color:#1f2937;
}

/* sticky sidebars on desktop */
@media (min-width: 1101px){
  .ja-home-grid > aside:first-child,
  .ja-home-grid > aside:last-child{
    position:sticky;
    top:86px;
    align-self:start;
  }
}

/* better column balance */
.ja-home-grid{
  grid-template-columns:260px minmax(0,1fr) 230px;
}

/* if only one updates column, make it compact */
.ja-two-col-links.has-one-col{
  display:block;
  max-width:760px;
}

.ja-two-col-links.has-two-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

/* tighten lists a bit more */
.ja-link-list li{
  border-bottom:1px solid #e8edf3;
}

.ja-link-list a{
  padding:8px 0;
  font-size:13px;
  line-height:1.45;
}

/* right quick access more compact */
.ja-box-title{
  font-size:15px;
  padding:10px 12px;
}

.ja-box-body{
  padding:10px 12px;
}

/* smaller menu pills */
.ja-pills a{
  font-size:12px;
  padding:7px 11px;
}

/* reduce empty visual height feel */
.ja-box{
  min-height:auto;
}

/* better spacing for new updates section */
.ja-home-center .ja-box:first-child .ja-box-body{
  padding-top:8px;
}

/* make search strip mobile-friendly */
@media (max-width: 991px){
  .ja-home-search-strip-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .ja-home-search-box{
    width:100%;
    min-width:0;
  }

  .ja-home-search-box .ja-search-form{
    width:100%;
  }

  .ja-home-search-text h2{
    font-size:16px;
  }
}

/* mobile: reduce side padding further */
@media (max-width: 767px){
  .ja-container{
    width:min(100%, calc(100% - 8px));
  }

  .ja-main-home{
    padding:8px 0;
  }

  .ja-home-search-strip{
    padding:8px 0;
  }

  .ja-box-title{
    font-size:14px;
    padding:9px 10px;
  }

  .ja-box-body{
    padding:8px 10px;
  }

  .ja-link-list a{
    font-size:13px;
    line-height:1.4;
    padding:7px 0;
  }

  .ja-two-col-links.has-two-cols{
    grid-template-columns:1fr;
    gap:10px;
  }
}

/* ===== FINAL LAYOUT FIX: SINGLE SCROLL + STICKY + FOOTER COMPACT ===== */

/* Ensure single page scroll only */
html,
body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  max-width: 100%;
}

/* Prevent nested scroll areas from theme wrappers */
body.home,
body.single,
body.archive,
body.search,
.site,
.site-content,
.ast-container,
.content-area,
.site-primary-footer-wrap,
.ast-builder-grid-row-container,
.ast-builder-layout-element,
.ast-separate-container,
.ast-separate-container #primary,
.ast-separate-container .ast-article-post,
.main-header-container,
.site-primary-header-wrap {
  overflow: visible !important;
}

/* Make sure no wrapper creates second scrollbar */
body.home .site,
body.single .site,
body.archive .site,
body.search .site {
  min-height: auto !important;
  height: auto !important;
}

/* Homepage sidebars sticky */
@media (min-width: 1101px) {
  .ja-home-grid > aside:first-child,
  .ja-home-grid > aside:last-child {
    position: sticky !important;
    top: 90px;
    align-self: start;
  }
}

/* Single/archive sidebar sticky */
@media (min-width: 1101px) {
  .ja-sticky-sidebar,
  .ja-archive-sidebar {
    position: sticky !important;
    top: 90px;
    align-self: start;
  }
}

/* Important: parent containers for sticky must allow visible overflow */
.ja-home-grid,
.ja-single-wrap,
.ja-archive-layout,
.ja-home-center,
.ja-article,
.ja-archive-main {
  overflow: visible !important;
}

/* Compact homepage top spacing */
.ja-home-search-strip {
  padding: 8px 0 !important;
}

.ja-home-search-strip-inner {
  gap: 10px !important;
}

.ja-home-search-text h2 {
  font-size: 17px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

/* Reduce wide visual feel of new updates */
.ja-home-grid {
  grid-template-columns: 250px minmax(0, 1fr) 230px !important;
  gap: 12px !important;
}

/* More compact cards */
.ja-box {
  border-radius: 10px !important;
}

.ja-box-title {
  font-size: 15px !important;
  padding: 10px 12px !important;
}

.ja-box-body {
  padding: 9px 12px !important;
}

.ja-link-list a {
  font-size: 13px !important;
  line-height: 1.4 !important;
  padding: 8px 0 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: #c7d3e2;
}

.ja-link-list a:hover {
  text-decoration-color: #114aad;
}

/* Search compact */
.ja-search-input {
  padding: 10px 12px !important;
  font-size: 14px !important;
  border-radius: 8px !important;
}

.ja-search-btn {
  padding: 10px 14px !important;
  font-size: 14px !important;
  border-radius: 8px !important;
}

/* Footer compactness */
.site-footer,
.site-primary-footer-wrap,
.ast-footer-overlay {
  margin: 0 !important;
  padding: 0 !important;
}

.site-above-footer-wrap,
.site-primary-footer-wrap,
.site-below-footer-wrap {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.site-above-footer-wrap .ast-builder-grid-row,
.site-primary-footer-wrap .ast-builder-grid-row,
.site-below-footer-wrap .ast-builder-grid-row {
  min-height: auto !important;
}

.site-footer-section {
  margin: 0 !important;
}

.site-footer p,
.site-footer a,
.site-footer div,
.site-footer span {
  line-height: 1.55 !important;
}

/* Reduce giant copyright/footer gap */
.site-below-footer-wrap {
  border-top: 1px solid #d9e1ea !important;
}

/* Back to top button slightly above footer ads */
.ast-scroll-top-icon,
.ast-scroll-top-icon:visited {
  bottom: 22px !important;
}

/* Mobile compact fix */
@media (max-width: 1100px) {
  .ja-home-grid,
  .ja-single-wrap,
  .ja-archive-layout {
    grid-template-columns: 1fr !important;
  }

  .ja-home-grid > aside:first-child,
  .ja-home-grid > aside:last-child,
  .ja-sticky-sidebar,
  .ja-archive-sidebar {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  .ja-container {
    width: min(100%, calc(100% - 8px)) !important;
  }

  .ja-box-title {
    font-size: 14px !important;
    padding: 9px 10px !important;
  }

  .ja-box-body {
    padding: 8px 10px !important;
  }

  .ja-home-search-text h2 {
    font-size: 15px !important;
  }
}

/* ===== PREMIUM HEADER + FOOTER + SEARCH POLISH ===== */

:root{
  --ja-primary:#114aad;
  --ja-primary-dark:#0b357d;
  --ja-accent:#ff9800;
  --ja-text:#1e293b;
  --ja-muted:#64748b;
  --ja-border:#d9e1ea;
  --ja-bg:#eef2f7;
  --ja-card:#ffffff;
}

/* ===== Astra Header Premium ===== */
.site-header-primary-section-left,
.site-header-primary-section-right{
  align-items:center;
}

.ast-primary-header-bar{
  border-bottom:1px solid var(--ja-border);
  background:#ffffff;
}

.main-header-container{
  max-width:1320px !important;
  padding-left:14px !important;
  padding-right:14px !important;
}

.site-branding{
  gap:10px;
}

.custom-logo-link img,
.site-logo-img img{
  max-height:42px;
  width:auto;
}

.site-title a,
.ast-site-title-wrap a{
  font-size:18px;
  font-weight:800;
  color:var(--ja-primary-dark) !important;
  letter-spacing:.2px;
}

.main-header-menu > .menu-item > a{
  font-size:15px;
  font-weight:600;
  color:var(--ja-text) !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.main-header-menu > .menu-item.current-menu-item > a,
.main-header-menu > .menu-item > a:hover{
  color:var(--ja-primary) !important;
}

.main-header-menu .sub-menu{
  border:1px solid var(--ja-border);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  border-radius:10px;
  overflow:hidden;
}

.main-header-menu .sub-menu a{
  font-size:14px;
  padding:10px 14px;
}

/* ===== Homepage search strip premium ===== */
.ja-home-search-strip{
  background:#ffffff;
  border-bottom:1px solid var(--ja-border);
  padding:12px 0;
}

.ja-home-search-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.ja-home-search-text{
  flex:1 1 auto;
  min-width:0;
}

.ja-home-search-text h2{
  margin:0 0 4px;
  font-size:20px;
  line-height:1.2;
  font-weight:800;
  color:var(--ja-primary);
}

.ja-home-search-text p{
  margin:0;
  color:var(--ja-muted);
  font-size:14px;
  line-height:1.5;
}

.ja-home-search-box{
  flex:0 0 470px;
  max-width:470px;
}

/* Search same row on desktop */
.ja-search-form{
  width:100%;
  margin:0;
}

.ja-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
}

.ja-search-input{
  flex:1 1 auto;
  width:auto !important;
  min-width:0;
  height:48px;
  padding:0 14px !important;
  font-size:15px !important;
  border:1px solid var(--ja-border);
  border-radius:10px !important;
  background:#fff;
  color:var(--ja-text);
  box-sizing:border-box;
}

.ja-search-input::placeholder{
  color:#94a3b8;
}

.ja-search-btn{
  flex:0 0 auto;
  height:48px;
  padding:0 18px !important;
  border:none;
  border-radius:10px !important;
  background:var(--ja-primary) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}

.ja-search-btn:hover{
  background:var(--ja-primary-dark) !important;
}

/* ===== Footer premium ===== */
.site-footer{
  background:#f8fafc;
  border-top:1px solid var(--ja-border);
}

.site-above-footer-wrap{
  background:#f8fafc;
  border-bottom:1px solid var(--ja-border);
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.site-primary-footer-wrap{
  background:#ffffff;
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.site-below-footer-wrap{
  background:#f8fafc;
  border-top:1px solid var(--ja-border);
  padding-top:14px !important;
  padding-bottom:14px !important;
}

.site-footer .widget,
.site-footer-section{
  margin:0 !important;
}

.site-footer p,
.site-footer div,
.site-footer span{
  color:var(--ja-text);
  line-height:1.65;
  font-size:14px;
}

.site-footer a{
  color:var(--ja-primary);
  font-size:14px;
  text-decoration:none;
}

.site-footer a:hover{
  color:var(--ja-primary-dark);
  text-decoration:underline;
}

.site-footer .menu{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
  padding:0;
  margin:0;
  list-style:none;
}

.site-footer .menu li{
  margin:0;
}

.site-footer .menu a{
  font-weight:600;
}

.site-below-footer-wrap .ast-builder-grid-row{
  min-height:auto !important;
}

.site-above-footer-wrap .ast-builder-grid-row,
.site-primary-footer-wrap .ast-builder-grid-row{
  min-height:auto !important;
}

/* ===== Suggested compliance block style if used in footer text widget ===== */
.ja-footer-disclaimer{
  max-width:980px;
  margin:0 auto;
  text-align:center;
  color:var(--ja-text);
  font-size:14px;
  line-height:1.7;
}

.ja-footer-disclaimer strong{
  color:var(--ja-primary-dark);
}

/* ===== Mobile ===== */
@media (max-width: 991px){
  .main-header-container{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .ja-home-search-strip-inner{
    flex-direction:column;
    align-items:stretch;
  }

  .ja-home-search-box{
    flex:1 1 auto;
    max-width:none;
    width:100%;
  }

  .ja-home-search-text h2{
    font-size:18px;
  }

  .ja-home-search-text p{
    font-size:13px;
  }
}

@media (max-width: 767px){
  .site-title a,
  .ast-site-title-wrap a{
    font-size:17px;
  }

  .ja-home-search-strip{
    padding:10px 0;
  }

  .ja-home-search-text h2{
    font-size:16px;
    margin-bottom:4px;
  }

  .ja-home-search-text p{
    font-size:12px;
  }

  .ja-search-row{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }

  .ja-search-input,
  .ja-search-btn{
    width:100% !important;
    height:44px;
  }

  .site-footer .menu{
    gap:8px 14px;
  }

  .site-footer p,
  .site-footer a,
  .site-footer div,
  .site-footer span{
    font-size:13px;
  }
}