/* ==========================================
   ACMOBOOK SEARCH PAGE
========================================== */

.search-page-header{

    text-align:center;

    max-width:900px;

    margin:0 auto 50px;

}

.search-page-header h1{

    font-size:72px;

    font-weight:900;

    line-height:1.1;

    color:var(--dark);

    margin:25px 0;

    letter-spacing:-3px;

}

.search-page-header p{

    font-size:20px;

    line-height:1.9;

    color:var(--muted);

}

/* SEARCH BOX */

.search-box-wrap{

    position:relative;

    max-width:900px;

    margin:0 auto;

}

.search-box{

    position:relative;

    background:#fff;

    border-radius:30px;

    padding:12px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.06);

    display:flex;

    align-items:center;

}

.search-box i{

    font-size:24px;

    color:#94a3b8;

    margin-left:18px;

}

.search-box input{

    flex:1;

    border:none;

    outline:none;

    background:none;

    padding:0 20px;

    height:60px;

    font-size:18px;

}

.search-box button{

    border:none;

    height:60px;

    padding:0 35px;

    border-radius:20px;

    font-weight:800;

    color:#fff;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

}

/* TRENDING */

.trending-searches{

    display:flex;

    align-items:center;

    justify-content:center;

    flex-wrap:wrap;

    gap:12px;

    margin-top:30px;

}

.trending-searches span{

    font-weight:700;

    color:var(--dark);

}

.trending-searches a{

    padding:10px 18px;

    border-radius:40px;

    background:
    rgba(108,99,255,.08);

    color:var(--primary);

    font-weight:600;

}

/* LIVE DROPDOWN */

#liveSearchResults{

    position:absolute;

    top:100%;

    left:0;

    width:100%;

    background:#fff;

    border-radius:30px;

    margin-top:15px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

    z-index:999;

    display:none;

    overflow:hidden;

}

/* MOBILE */

@media(max-width:768px){

    .search-page-header h1{

        font-size:42px;

    }

    .search-page-header p{

        font-size:16px;

    }

    .search-box{

        flex-direction:column;

        gap:10px;

        padding:15px;

    }

    .search-box input{

        width:100%;

        text-align:center;

    }

    .search-box button{

        width:100%;

    }

}

/* ==========================================
   LIVE SEARCH DROPDOWN
========================================== */

.search-dropdown-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

    padding:30px;

}

.search-section h5{

    font-size:16px;

    font-weight:800;

    margin-bottom:20px;

    color:var(--dark);

}

.search-item{

    display:block;

    padding:12px 0;

    border-bottom:
    1px solid #f1f5f9;

}

.search-item strong{

    display:block;

    color:var(--dark);

}

.search-item small{

    color:var(--muted);

}

.search-empty{

    color:var(--muted);

    padding:15px 0;

}

.search-trending{

    margin-top:20px;

}

.search-trending h6{

    font-size:14px;

    margin-bottom:10px;

}

.search-trending span{

    display:inline-block;

    padding:8px 12px;

    margin:5px;

    border-radius:30px;

    background:
    rgba(108,99,255,.08);

    color:var(--primary);

    font-size:13px;

}

@media(max-width:768px){

    .search-dropdown-grid{

        grid-template-columns:1fr;

    }

}

.search-box{

    transition:.35s;

}

.search-box:focus-within{

    transform:translateY(-3px);

    box-shadow:
    0 35px 90px rgba(108,99,255,.12);

}

/* ==========================================
   SEARCH RESULTS
========================================== */

.search-results-section{

    margin-top:70px;

}

.results-header{

    text-align:center;

    margin-bottom:40px;

}

.results-header h2{

    font-size:48px;

    font-weight:900;

}

.results-stats{

    margin-top:10px;

    color:var(--muted);

}

.search-tabs{

    display:flex;

    justify-content:center;

    gap:15px;

    margin-bottom:40px;

}

.search-tab{

    border:none;

    padding:14px 25px;

    border-radius:16px;

    font-weight:700;

    background:#f8fafc;

}

.search-tab.active{

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#fff;

}

.tab-content{

    display:none;

}

.tab-content.active{

    display:block;

}

.talent-results-grid,
.opportunity-results-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

}

.result-card{

    padding:30px;

    border-radius:28px;

    background:#fff;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);

    transition:.35s;

}

.result-card:hover{

    transform:
    translateY(-6px);

    box-shadow:
    0 25px 70px rgba(108,99,255,.10);

}

/* ==========================================
   SEARCH LAYOUT
========================================== */

.search-layout{

    display:grid;

    grid-template-columns:
    280px 1fr;

    gap:35px;

    margin-top:40px;

}

.search-sidebar{

    position:sticky;

    top:120px;

    height:max-content;

}

.filter-card{

    padding:25px;

    border-radius:24px;

    background:#fff;

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);

    margin-bottom:20px;

}

.filter-card h5{

    font-weight:800;

    margin-bottom:18px;

}

.filter-card label{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:12px;

    cursor:pointer;

}

.search-content{

    min-width:0;

}

@media(max-width:991px){

    .search-layout{

        grid-template-columns:1fr;

    }

    .search-sidebar{

        position:relative;

        top:auto;

    }

    .search-page-header h1{

        font-size:clamp(2rem, 7vw, 3.5rem);

        letter-spacing:-2px;

    }

    .talent-results-grid,
    .opportunity-results-grid{

        grid-template-columns:repeat(2, 1fr);

        gap:20px;

    }

}

@media(max-width:767px){

    .search-page-header{

        margin-bottom:30px;

    }

    .search-page-header h1{

        font-size:clamp(1.75rem, 8vw, 2.5rem);

        letter-spacing:-1px;

        margin:15px 0;

    }

    .search-page-header p{

        font-size:16px;

    }

    .search-box{

        flex-direction:column;

        border-radius:20px;

        padding:10px;

    }

    .search-box input{

        height:48px;

        font-size:16px;

        padding:0 16px;

    }

    .search-box button{

        width:100%;

        min-height:48px;

        border-radius:14px;

    }

    .talent-results-grid,
    .opportunity-results-grid{

        grid-template-columns:1fr;

        gap:16px;

    }

    .result-card{

        padding:20px;

        border-radius:20px;

    }

    .search-tab{

        padding:12px 18px;

        font-size:14px;

        min-height:44px;

    }

}

.search-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 32px;
}

.search-hub-card {
    background: #fff;
    border: 1px solid #E9EDF5;
    border-radius: 20px;
    padding: 24px;
}

.search-hub-card h2 {
    font-size: 1.1rem;
    margin-bottom: 16px;
}

.search-hub-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.search-hub-links a {
    padding: 8px 14px;
    border-radius: 999px;
    background: #F8FAFC;
    color: #0F172A;
    text-decoration: none;
    font-size: 0.875rem;
}

.search-tab-empty {
    color: #64748B;
    padding: 24px 0;
}