/* =========================
   GLOBAL PAGE WRAPPER
========================= */

.page-wrapper {
    padding: 20px 0;
    background: #f8f9fb;
}

/* =========================
   MINI HERO
========================= */

}
/* MINI HERO */
.mini-hero{
    margin-bottom: 20px;
}

.mini-hero-content{
    background: linear-gradient(135deg,#6610f2,#e31e24,#228B22);
    border-radius: 20px;

    padding: 20px 25px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;

    color: #fff;

    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}

.hero-left{
    flex: 1;
}

.hero-tag{
    display: inline-block;
    font-size: 11px;
    font-weight: 600;

    padding: 5px 12px;

    background: rgba(255,255,255,0.15);
    border-radius: 50px;

    margin-bottom: 10px;
}

.mini-title{
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: 6px;
    line-height: 1.2;
}

.mini-text{
    font-size: 13px;
    opacity: 0.92;
    margin: 0;
}

.hero-right{
    display: flex;
    gap: 12px;
}

.mini-stat{
    min-width: 110px;

    background: rgba(255,255,255,0.12);

    border: 1px solid rgba(255,255,255,0.12);

    border-radius: 16px;

    padding: 12px 16px;

    text-align: center;

    backdrop-filter: blur(8px);
}

.mini-stat h3{
    margin: 0;
    font-size: 1.3rem;
    font-weight: 800;
}

.mini-stat span{
    font-size: 11px;
    opacity: 0.9;
}

/* MOBILE */
@media(max-width:768px){

    .mini-hero-content{
        flex-direction: column;
        align-items: flex-start;
        padding: 18px;
    }

    .hero-right{
        width: 100%;
    }

    .mini-stat{
        flex: 1;
    }

    .mini-title{
        font-size: 1.35rem;
    }

}

/* =========================
   FILTER CARD
========================= */

.filter-card {
    background: #fff;
    padding: 15px;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

/* =========================
   MAIN GRID LAYOUT
========================= */

.content-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
}

/* =========================
   JOB GRID (2 COLUMNS)
========================= */

.jobs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

/* Tablet */
@media (max-width: 992px) {
    .content-grid {
        grid-template-columns: 1fr;
    }

    .jobs-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 768px) {
    .jobs-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   JOB CARD
========================= */

.job-card {
    background: #fff;
    border-radius: 14px;
    padding: 15px;
    display: flex;
    gap: 12px;
    border: 1px solid #eee;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    transition: all 0.2s ease;
    height: 100%;
}

.job-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.1);
}

/* LEFT SIDE */
.job-left {
    display: flex;
    gap: 12px;
    width: 100%;
}

.logo-box img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid #eee;
}

/* JOB INFO */
.job-info {
    flex: 1;
    min-width: 0;
}

.job-title {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

.job-title a {
    text-decoration: none;
    color: #1f4e79;
}

.job-title a:hover {
    color: #e31e24;
}

.company-name {
    font-size: 14px;
    color: #198754;
    font-weight: 600;
    margin-top: 4px;
}

/* META */
.job-meta {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: #555;
}

.meta-item {
    background: #f4f6f9;
    padding: 4px 8px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* =========================
   BADGES
========================= */

.badge-remote {
    background: #198754;
    color: #fff;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
}

.badge-onsite {
    background: #0d6efd;
    color: #fff;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
}

.badge-hybrid {
    background: #fd7e14;
    color: #fff;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
}

/* =========================
   SIDEBAR
========================= */

.sidebar-card {
    background: #fff;
    padding: 15px;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    margin-bottom: 15px;
}

.sidebar-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

.country-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.country-link {
    background: #f1f3f5;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 12px;
    text-decoration: none;
    color: #333;
    transition: 0.2s;
}

.country-link:hover {
    background: #198754;
    color: #fff;
}

.country-flag{
    width:18px;
    height:13px;
    border-radius:3px;
    object-fit:cover;
}

/* =========================
   ADS SPACING
========================= */

.adsbygoogle {
    margin: 15px 0;
}

/* =========================
   LOADER
========================= */

#loader {
    text-align: center;
    padding: 20px;
    color: #666;
}

/* =========================
   MOBILE IMPROVEMENTS
========================= */

@media (max-width: 576px) {

    .job-card {
        flex-direction: row;
        padding: 12px;
    }

    .job-title {
        font-size: 14px;
    }

    .company-name {
        font-size: 13px;
    }

    .meta-item {
        font-size: 11px;
    }
}

.sidebar{
    position:sticky;
    top:90px;
}

.sidebar-card{
    background:#fff;
    border:1px solid #e9ecef;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 5px 18px rgba(0,0,0,.06);
}

.sidebar-header{
    display:flex;
    align-items:center;
    gap:10px;
    padding:16px 18px;
    border-bottom:1px solid #eef2f7;
    background:#f8fafc;
}

.sidebar-header h3{
    margin:0;
    font-size:16px;
    font-weight:700;
}

.sidebar-body{
    padding:10px;
}

.sidebar-link{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 14px;
    border-radius:10px;
    color:#212529;
    text-decoration:none;
    transition:.25s;
}

.sidebar-link:hover{
    background:#f3f8ff;
    color:#0d6efd;
    transform:translateX(4px);
}

.sidebar-link-name{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:500;
}

.sidebar-stat{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 4px;
    border-bottom:1px solid #f1f1f1;
}

.sidebar-stat:last-child{
    border-bottom:none;
}

.sidebar-stat strong{
    font-size:20px;
    color:#0d6efd;
}

.sidebar-stat span{
    color:#6c757d;
    font-size:14px;
}

@media(max-width:991px){
    .sidebar{
        position:static;
        margin-top:20px;
    }
}