/* ======================================================================
   JOB.COM.BD — Home Page Stylesheet
   File: public/css/home.css
   Version: 1.6  (cleaned)
   Depends on variables from: layout.css (:root)
   ====================================================================== */

/* ======================================================================
   PAGE WRAPPER
   ====================================================================== */
.page-wrap{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

/* ======================================================================
   HERO — Animated Background
   ====================================================================== */
.hero{
    background:linear-gradient(135deg,var(--first) 0%, var(--second) 100%);
    border-radius:var(--radius-lg);
    margin:16px 0;
    padding:22px 36px;
    color:#fff;
    box-shadow:var(--shadow-lg);
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        var(--first) 0%,
        #13637e 25%,
        #135d81 50%,
        #0f5870 75%,
        var(--second) 100%
    );
    background-size:400% 400%;
    animation:heroGradient 18s ease infinite;
    z-index:-2;
}

.hero::after{
    content:'';
    position:absolute;
    top:-40%;
    right:-10%;
    width:420px;
    height:420px;
    background:radial-gradient(circle,rgba(140,196,38,.18) 0%,transparent 65%);
    border-radius:50%;
    animation:blobFloat1 14s ease-in-out infinite;
    pointer-events:none;
    z-index:-1;
    filter:blur(8px);
}

.hero .hero-blob-2{
    position:absolute;
    bottom:-50%;
    left:-8%;
    width:340px;
    height:340px;
    background:radial-gradient(circle,rgba(255,255,255,.10) 0%,transparent 65%);
    border-radius:50%;
    animation:blobFloat2 16s ease-in-out infinite;
    pointer-events:none;
    z-index:-1;
    filter:blur(6px);
}

.hero .hero-blob-3{
    position:absolute;
    top:20%;
    left:45%;
    width:280px;
    height:280px;
    background:radial-gradient(circle,rgba(18,160,184,.15) 0%,transparent 70%);
    border-radius:50%;
    animation:blobFloat3 20s ease-in-out infinite;
    pointer-events:none;
    z-index:-1;
    filter:blur(10px);
}

.hero .hero-dots{
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:24px 24px;
    opacity:.55;
    animation:dotsDrift 30s linear infinite;
    pointer-events:none;
    z-index:-1;
    mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 85%);
    -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 85%);
}

.hero-inner{position:relative;z-index:1;max-width:860px;margin:0 auto;text-align:center}
.hero h1{font-family:var(--font-heading);font-size:24px;line-height:1.2;margin:0 0 4px;font-weight:800;letter-spacing:-.3px}
.hero h1 .grad{background:linear-gradient(90deg,var(--accent),#4CAF50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{color:rgba(255,255,255,.72);font-size:12px;line-height:1.5;margin:0 auto 12px;max-width:520px}

/* ======================================================================
   HERO ANIMATIONS
   ====================================================================== */
@keyframes heroGradient{
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes blobFloat1{
    0%,100% { transform: translate(0,0) scale(1); }
    33%     { transform: translate(-40px,30px) scale(1.08); }
    66%     { transform: translate(20px,-20px) scale(.96); }
}

@keyframes blobFloat2{
    0%,100% { transform: translate(0,0) scale(1); }
    50%     { transform: translate(50px,-40px) scale(1.12); }
}

@keyframes blobFloat3{
    0%,100% { transform: translate(0,0) scale(1); opacity:.9; }
    50%     { transform: translate(-30px,20px) scale(1.15); opacity:1; }
}

@keyframes dotsDrift{
    0%   { background-position: 0 0; }
    100% { background-position: 24px 24px; }
}

@media (prefers-reduced-motion: reduce){
    .hero::before,
    .hero::after,
    .hero .hero-blob-2,
    .hero .hero-blob-3,
    .hero .hero-dots{
        animation:none !important;
    }
}

/* ======================================================================
   HERO SEARCH
   ====================================================================== */
.hero-search{display:flex;gap:6px;background:#fff;padding:5px;border-radius:var(--radius-md);max-width:100%;margin:0 auto;box-shadow:0 4px 20px rgba(0,0,0,.12);position:relative;z-index:1}
.hero-search .f{display:flex;align-items:center;gap:7px;background:var(--bg-page);border-radius:var(--radius-sm);padding:8px 12px;flex:1;min-width:0;transition:background var(--transition)}
.hero-search .f:focus-within{background:#fff;box-shadow:inset 0 0 0 2px var(--primary-light)}
.hero-search .f i{color:var(--text-light);font-size:12px;flex-shrink:0}
.hero-search .f input,
.hero-search .f select{border:none;background:transparent;outline:none;font-size:12.5px;width:100%;color:var(--text-dark);font-family:var(--font-body);font-weight:400;min-width:0}
.hero-search .f input::placeholder{color:var(--text-light);transition:color .3s ease}
.hero-search .f input:focus::placeholder{color:var(--primary-light);opacity:.7}
.hero-search .f select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 0 center;background-size:12px;padding-right:16px}
.hero-search button{background:var(--accent);color:#fff;border:none;padding:0 20px;border-radius:var(--radius-sm);font-weight:600;font-size:12.5px;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:5px;font-family:var(--font-body);white-space:nowrap}
.hero-search button:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(140,196,38,.35)}

/* ======================================================================
   MAIN 3-COLUMN LAYOUT
   ====================================================================== */
.layout{display:grid;grid-template-columns:240px 1fr 260px;gap:15px;margin-top:15px;padding-bottom:40px}

/* ======================================================================
   PANELS
   ====================================================================== */
.panel{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden;border:1px solid var(--border);transition:box-shadow var(--transition)}
.panel:hover{box-shadow:var(--shadow-md)}
.panel-head{padding:10px 20px;background:var(--bg-page);border-bottom:1px solid var(--border);font-weight:600;font-size:14px;color:var(--text-dark);display:flex;align-items:center;gap:10px;font-family:var(--font-heading)}
.panel-head i{color:var(--primary);font-size:14px}
.panel-head .count{margin-left:auto;background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;min-width:24px;text-align:center}
.panel-body{padding:16px}

/* ======================================================================
   TABS (Category / Industry)
   ====================================================================== */
.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-page)}
.tab-btn{flex:1;padding:13px 12px;background:none;border:none;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:all var(--transition);border-bottom:2px solid transparent;font-family:var(--font-body)}
.tab-btn:hover{background:#fff;color:var(--text-dark)}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:#fff;font-weight:600}

.tab-content{display:none;padding:8px 0 0}
.tab-content.active{display:block;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* ======================================================================
   CATEGORY / INDUSTRY ITEMS
   ====================================================================== */
.cat-item{display:flex;justify-content:space-between;align-items:center;padding:11px 5px;font-size:13px;color:var(--text-body);transition:all var(--transition);border-left:3px solid transparent}
.cat-item:hover{background:var(--primary-light);border-left-color:var(--primary);color:var(--primary)}
.cat-item .l{display:flex;align-items:center;gap:12px}
.cat-item .l i{color:var(--text-light);width:18px;text-align:center;font-size:13px;transition:color var(--transition)}
.cat-item:hover .l i{color:var(--primary)}
.cat-item .cnt{background:var(--bg-page);color:var(--text-muted);font-size:11px;font-weight:500;padding:3px 9px;border-radius:12px;transition:all var(--transition)}
.cat-item:hover .cnt{background:var(--primary);color:#fff}

/* ======================================================================
   SCROLLABLE LIST (expand / collapse)
   ====================================================================== */
.cat-list{
    max-height:360px;
    overflow:hidden;
    transition:max-height .25s ease;
}
.cat-list.expanded{
    max-height:360px;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:var(--primary) transparent;
}
.cat-list.expanded::-webkit-scrollbar{width:6px}
.cat-list.expanded::-webkit-scrollbar-track{background:transparent}
.cat-list.expanded::-webkit-scrollbar-thumb{
    background:var(--primary);
    border-radius:3px;
}
.cat-list.expanded::-webkit-scrollbar-thumb:hover{
    background:var(--primary-dark);
}

.cat-item.cat-extra{display:none}
.cat-list.expanded .cat-item.cat-extra{display:flex}

/* ======================================================================
   VIEW ALL / SHOW LESS BUTTON
   ====================================================================== */
.cat-view-all{
    cursor:pointer;
    width:100%;
    border:none;
    border-radius:0 !important;
    margin:0 !important;
    font-family:var(--font-body);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:14px;
    font-size:13px;
    font-weight:500;
    color:#fff;
    background:var(--primary);
    transition:all var(--transition);
}
.cat-view-all:hover{background:var(--primary-dark);color:#fff}
.cat-view-all .arrow{font-size:10px;transition:transform .25s ease}
.cat-view-all.expanded .arrow{transform:rotate(180deg)}

/* ======================================================================
   QUICK LINKS
   ====================================================================== */
.ql-item{display:flex;align-items:center;gap:12px;padding:11px 20px;font-size:13px;color:var(--text-body);transition:all var(--transition);border-left:3px solid transparent}
.ql-item:hover{background:var(--primary-light);border-left-color:var(--primary);padding-left:24px;color:var(--primary)}
.ql-item i{color:var(--primary);width:18px;text-align:center;font-size:13px}
.ql-item .cnt{margin-left:auto;background:var(--bg-page);color:var(--text-muted);font-size:11px;font-weight:500;padding:3px 9px;border-radius:12px}
.ql-item.ql-fresh i{color:#16a34a}
.ql-item.ql-new i{color:#2563eb}
.ql-item.ql-today i{color:#dc2626}
.ql-item.ql-tomorrow i{color:#d97706}
.ql-item.ql-invite i{color:#7c3aed}
.ql-item.ql-fresh:hover{background:#f0fdf4;border-left-color:#16a34a;color:#16a34a}
.ql-item.ql-new:hover{background:#eff6ff;border-left-color:#2563eb;color:#2563eb}
.ql-item.ql-today:hover{background:#fef2f2;border-left-color:#dc2626;color:#dc2626}
.ql-item.ql-tomorrow:hover{background:#fffbeb;border-left-color:#d97706;color:#d97706}
.ql-item.ql-invite:hover{background:#f5f3ff;border-left-color:#7c3aed;color:#7c3aed}

/* ======================================================================
   SECTION HEADINGS
   ====================================================================== */
.sec-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 20px;
    background:var(--bg-page);
    border:1px solid var(--border);
    border-radius:var(--radius-md) var(--radius-md) 0 0;
    box-shadow:var(--shadow-sm);
    font-family:var(--font-heading);
}
.sec-head .l{display:flex;align-items:center;gap:10px}
.sec-head .l i.sec-icon{color:var(--primary);font-size:14px;width:20px;text-align:center}
.sec-head h2{
    font-family:var(--font-heading);
    font-size:14px;
    font-weight:600;
    color:var(--text-dark);
    letter-spacing:-.2px;
    line-height:1.2;
    margin:0;
    display:flex;
    align-items:center;
    gap:6px;
}
.sec-head h2 .acc{color:var(--primary);font-weight:600}
.sec-head .r a{
    font-size:13px;
    font-weight:500;
    color:var(--primary);
    display:flex;
    align-items:center;
    gap:6px;
    padding:2px 8px;
    border-radius:var(--radius-sm);
    transition:all var(--transition);
}
.sec-head .r a:hover{background:var(--primary-light);gap:10px}

/* ======================================================================
   FEATURED JOBS GRID
   ====================================================================== */
.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:10px;border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md)}
.fcard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;transition:all var(--transition);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.fcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity var(--transition)}
.fcard:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px);border-color:transparent}
.fcard:hover::before{opacity:1}
.fcard-top{display:flex;gap:14px;margin-bottom:2px}
.fcard-logo img{width:62px;height:62px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;padding:2px}
.fcard-logo .fb{width:62px;height:62px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid var(--second);font-weight:700;font-size:17px;font-family:var(--font-heading)}
.fcard-company{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-bottom:5px}
.fcard-company i{color:#22c55e;font-size:11px}
.fcard-title{font-size:15px;font-weight:600;line-height:1.35;margin:0 0 8px}
.fcard-title a{color:var(--text-dark)}
.fcard-title a:hover{color:var(--primary)}
.fcard-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted);margin-bottom:2px;padding-bottom:4px;border-bottom:1px dashed var(--border)}
.fcard-meta span{display:flex;align-items:center;gap:5px}
.fcard-meta i{color:var(--text-light);font-size:11px}
.fcard-footer{display:flex;justify-content:space-between;align-items:center}
.fcard-salary{font-size:13px;font-weight:700;color:var(--first);font-family:var(--font-heading)}
.fcard-btn{background:var(--primary-light);color:var(--primary);padding:2px 6px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;transition:all var(--transition);white-space:nowrap;display:flex;align-items:center;gap:6px}
.fcard-btn:hover{background:var(--first);color:#fff;gap:6px;box-shadow:0 4px 12px rgba(27,96,121,.3)}

/* ======================================================================
   LATEST JOBS LIST
   ====================================================================== */
.latest-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;border:1px solid var(--border);padding:10px 0;border-radius:0 0 var(--radius-md) var(--radius-md)}
.lcard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;display:flex;align-items:center;gap:16px;transition:all var(--transition);box-shadow:var(--shadow-sm);margin:0 10px}
.lcard:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateX(4px)}
.lcard-logo img{width:62px;height:62px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;padding:2px}
.lcard-logo .fb{width:62px;height:62px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid var(--second);font-weight:700;font-size:17px;font-family:var(--font-heading)}
.lcard-info{flex:1;min-width:0}
.lcard-info h4{font-size:14.5px;font-weight:600;margin:0 0 6px;line-height:1.3}
.lcard-info h4 a{color:var(--text-dark)}
.lcard-info h4 a:hover{color:var(--primary)}
.lcard-info .meta{display:flex;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--text-muted)}
.lcard-info .meta span{display:flex;align-items:center;gap:5px}
.lcard-info .meta i{color:var(--text-light);font-size:10px}
.lcard-info .meta .dl{color:#dc2626;font-weight:500}
.lcard-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}
.lcard-apply{background:var(--primary-light);color:var(--primary);padding:8px 18px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;transition:all var(--transition);white-space:nowrap}
.lcard-apply:hover{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(27,96,121,.25)}
.lcard-save{background:none;border:none;color:var(--text-light);font-size:11.5px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all var(--transition);font-family:var(--font-body);padding:4px 8px;border-radius:var(--radius-sm)}
.lcard-save:hover{color:#dc2626;background:#fef2f2}

/* ======================================================================
   BROWSE ALL BUTTON
   ====================================================================== */
.browse-all{text-align:center;margin-bottom:28px}
.browse-all a{display:inline-flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);padding:14px 32px;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--primary);transition:all var(--transition);box-shadow:var(--shadow-sm)}
.browse-all a:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px);gap:14px}

/* ======================================================================
   RIGHT SIDEBAR — Urgent Openings
   ====================================================================== */
.notice-panel{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.notice-panel .head{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:14px 20px;font-weight:600;font-size:14px;color:#92400e;display:flex;align-items:center;gap:10px;border-bottom:1px solid #fde68a;font-family:var(--font-heading)}
.notice-panel .head i{color:#d97706}
.notice-panel ul{list-style:none;padding:8px 0;margin:0}
.notice-panel ul li{padding:10px 20px;transition:background var(--transition)}
.notice-panel ul li:hover{background:rgba(253,230,138,.3)}
.notice-panel ul li a{font-size:12.5px;color:#78350f;line-height:1.5;display:block;font-weight:500}
.notice-panel ul li a:hover{color:#b45309}

/* ======================================================================
   RIGHT SIDEBAR — Top Employers
   ====================================================================== */
.companies-list{list-style:none;margin:0;padding:0}
.companies-list li{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border-light);transition:background var(--transition)}
.companies-list li:last-child{border-bottom:none}
.companies-list li:hover{background:var(--bg-page)}
.companies-list .lg img{width:62px;height:62px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;padding:2px}
.companies-list .lg .fb{width:62px;height:62px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;font-family:var(--font-heading)}
.companies-list .info .nm{font-size:13px;font-weight:600;color:var(--text-dark);line-height:1.3}
.companies-list .info .jb{font-size:11px;color:var(--text-muted);margin-top:2px}

/* ======================================================================
   RIGHT SIDEBAR — Snapshot
   ====================================================================== */
.snapshot{padding:8px 0}
.snap-row{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:13px;transition:background var(--transition)}
.snap-row:hover{background:var(--bg-page)}
.snap-row .l{display:flex;align-items:center;gap:10px;color:var(--text-body);font-weight:500}
.snap-row .l i{color:var(--text-light);width:18px;text-align:center;font-size:13px}
.snap-row .v{font-weight:700;color:var(--text-dark);font-family:var(--font-heading);font-size:14px}
.snap-row .v.green{color:#16a34a}

/* ======================================================================
   RIGHT SIDEBAR — Ad Slot
   ====================================================================== */
.ad-slot{background:var(--bg-page);border:2px dashed var(--border);border-radius:var(--radius-md);padding:36px 20px;text-align:center;color:var(--text-light);font-size:12px;margin-bottom:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all var(--transition);cursor:pointer}
.ad-slot:hover{border-color:var(--primary-light);background:var(--primary-light);color:var(--primary)}
.ad-slot i{font-size:28px;margin-bottom:10px;color:var(--text-light);transition:color var(--transition)}
.ad-slot:hover i{color:var(--primary)}

/* ======================================================================
   RIGHT SIDEBAR — Social
   ====================================================================== */
.social-list{display:flex;flex-direction:column}
.social-link{display:flex;align-items:center;gap:14px;padding:12px 20px;font-size:13px;color:var(--text-body);transition:all var(--transition);border-left:3px solid transparent}
.social-link:hover{background:var(--bg-page);border-left-color:var(--primary);padding-left:24px;color:var(--primary)}
.sl-ic{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;transition:transform var(--transition)}
.social-link:hover .sl-ic{transform:scale(1.1)}
.sl-ic.fb{background:#1877f2}
.sl-ic.li{background:#0a66c2}
.sl-ic.yt{background:#ff0000}
.sl-ic.rss{background:#f26522}

/* ======================================================================
   RESPONSIVE — 1100px
   ====================================================================== */
@media (max-width:1100px){
    .layout{grid-template-columns:220px 1fr}
    .col-right{display:none}
}

/* ======================================================================
   RESPONSIVE — 850px
   ====================================================================== */
@media (max-width:850px){
    .layout{grid-template-columns:1fr}
    .col-left{display:none}
    .hero{padding:18px 20px}
    .hero h1{font-size:20px}
    .hero p{font-size:11px}
    .hero-search{flex-direction:column}
    .featured-grid{grid-template-columns:1fr}
    .lcard{flex-direction:column;align-items:flex-start;gap:12px}
    .lcard-actions{flex-direction:row;width:100%;justify-content:space-between}
}

/* ======================================================================
   RESPONSIVE — 480px
   ====================================================================== */
@media (max-width:480px){
    .page-wrap{padding:0 14px}
    .hero{padding:16px 14px;border-radius:var(--radius-md)}
    .hero h1{font-size:17px}
    .hero p{font-size:10.5px;margin-bottom:10px}
    .hero-search{padding:4px}
    .hero-search .f{padding:7px 10px}
    .hero-search .f input,
    .hero-search .f select{font-size:12px}
    .hero-search button{font-size:11.5px;padding:8px 14px}
    .fcard{padding:16px}
    .lcard{padding:14px 16px}
    .cat-list,
    .cat-list.expanded{max-height:340px}

    /* Section headings mobile */
    .sec-head{padding:12px 14px;gap:8px}
    .sec-head h2{font-size:13px}
    .sec-head .l i.sec-icon{font-size:13px}
    .sec-head .r a{font-size:11.5px;padding:2px 6px}
}