/* ==========================================
   INTERVIEWS TEMPLATE CSS
   PART 1
   ========================================== */

/* =========================
GOOGLE FONT
========================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* =========================
CSS VARIABLES
========================= */

:root {

    --primary: #2563eb;
    --primary-dark: #1d4ed8;

    --text: #111827;
    --text-light: #6b7280;

    --bg: #ffffff;
    --bg-soft: #f8fafc;

    --border: #e5e7eb;

    --card-bg: #ffffff;

    --shadow:
        0 10px 30px rgba(0,0,0,0.06);

    --radius: 18px;

    --transition: 0.3s ease;

}

/* =========================
DARK MODE
========================= */

body.dark-mode {

    --text: #f8fafc;

    --text-light: #cbd5e1;

    --bg: #0f172a;

    --bg-soft: #1e293b;

    --border: #334155;

    --card-bg: #1e293b;

    --shadow:
        0 10px 30px rgba(0,0,0,0.30);

}

/* =========================
RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    background:var(--bg);

    color:var(--text);

    line-height:1.7;

    overflow-x:hidden;

    transition:var(--transition);

}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

button,
input{

    font-family:'Inter',sans-serif;

}

/* =========================
CONTAINER
========================= */

.container{

    width:100%;

    max-width:1200px;

    margin:auto;

    padding-left:20px;

    padding-right:20px;

}

/* =========================
SECTIONS
========================= */

.section{

    padding:90px 0;

}

.section-alt{

    background:var(--bg-soft);

}

.section-heading{

    text-align:center;

    margin-bottom:60px;

}

.section-heading h2{

    font-size:2.5rem;

    font-weight:800;

    margin-bottom:12px;

}

.section-heading p{

    color:var(--text-light);

    max-width:700px;

    margin:auto;

}

/* =========================
BUTTONS
========================= */

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:14px 26px;

    border-radius:999px;

    font-weight:600;

    transition:var(--transition);

    cursor:pointer;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-2px);

}

.btn-outline{

    border:1px solid var(--border);

    background:transparent;

}

.btn-outline:hover{

    background:var(--bg-soft);

}

/* =========================
HEADER
========================= */

.header{

    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(255,255,255,0.90);

    backdrop-filter:blur(12px);

    border-bottom:1px solid var(--border);

    transition:var(--transition);

}

.dark-mode .header{

    background:rgba(15,23,42,0.90);

}

.navbar{

    height:80px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.logo{

    font-size:1.8rem;

    font-weight:800;

}

.logo span{

    color:var(--primary);

}

.nav-menu{

    display:flex;

    align-items:center;

    gap:28px;

}

.nav-menu a{

    font-weight:500;

    transition:var(--transition);

}

.nav-menu a:hover{

    color:var(--primary);

}

.nav-actions{

    display:flex;

    align-items:center;

    gap:15px;

}

.theme-toggle{

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    background:var(--bg-soft);

    font-size:18px;

}

.hamburger{

    display:none;

    border:none;

    background:none;

    font-size:28px;

    cursor:pointer;

    color:var(--text);

}

/* =========================
MOBILE MENU
========================= */

.mobile-menu{

    display:none;

    flex-direction:column;

    gap:18px;

    padding:25px;

    background:var(--card-bg);

    border-bottom:1px solid var(--border);

}

.mobile-menu.active{

    display:flex;

}

.mobile-menu a{

    font-weight:600;

}

/* =========================
HERO SECTION
========================= */

.hero{

    padding-top:120px;

    padding-bottom:100px;

    background:
    linear-gradient(
    to bottom,
    var(--bg),
    var(--bg-soft)
    );

}

.hero-content{

    text-align:center;

    max-width:850px;

    margin:auto;

}

.hero-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(37,99,235,0.10);

    color:var(--primary);

    font-weight:600;

    margin-bottom:24px;

}

.hero h1{

    font-size:4rem;

    line-height:1.1;

    font-weight:900;

    margin-bottom:25px;

}

.hero p{

    max-width:720px;

    margin:auto;

    color:var(--text-light);

    font-size:1.1rem;

}

/* =========================
HERO SEARCH
========================= */

.hero-search{

    margin-top:40px;

    display:flex;

    max-width:700px;

    margin-left:auto;

    margin-right:auto;

    background:var(--card-bg);

    border-radius:999px;

    border:1px solid var(--border);

    overflow:hidden;

    box-shadow:var(--shadow);

}

.hero-search input{

    flex:1;

    border:none;

    background:transparent;

    padding:18px 24px;

    color:var(--text);

    outline:none;

}

.hero-search button{

    border:none;

    background:var(--primary);

    color:#fff;

    padding:18px 28px;

    cursor:pointer;

    font-weight:600;

}

/* =========================
HERO BUTTONS
========================= */

.hero-buttons{

    margin-top:30px;

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}

/* =========================
HERO STATS
========================= */

.hero-stats{

    margin-top:70px;

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:20px;

}

.stat-card{

    background:var(--card-bg);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:30px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.stat-card:hover{

    transform:translateY(-6px);

}

.stat-card h3{

    font-size:2rem;

    color:var(--primary);

    margin-bottom:8px;

}

.stat-card p{

    color:var(--text-light);

}



/* ==========================================
   INTERVIEWS TEMPLATE CSS
   PART 2
   ========================================== */

/* =========================
CATEGORY GRID
========================= */

.category-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

}

.card{

    background:var(--card-bg);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:30px;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

}

.card h3{

    margin-bottom:12px;

    font-size:1.3rem;

}

.card p{

    color:var(--text-light);

    margin-bottom:18px;

}

.card a{

    color:var(--primary);

    font-weight:600;

}

/* =========================
ARTICLES
========================= */

.articles-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(320px,1fr));

    gap:25px;

}

.article-card{

    background:var(--card-bg);

    border:1px solid var(--border);

    border-radius:var(--radius);

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.article-card:hover{

    transform:translateY(-8px);

}

.article-image{

    height:220px;

    background:
    linear-gradient(
    135deg,
    var(--primary),
    #60a5fa
    );

}

.article-card h3{

    padding:20px 20px 10px;

}

.article-card p{

    padding:0 20px 20px;

    color:var(--text-light);

}

.article-card a{

    display:inline-block;

    margin:0 20px 25px;

    color:var(--primary);

    font-weight:600;

}

/* =========================
ROADMAP
========================= */

.roadmap{

    max-width:900px;

    margin:auto;

    position:relative;

}

.roadmap::before{

    content:"";

    position:absolute;

    left:25px;

    top:0;

    bottom:0;

    width:3px;

    background:var(--primary);

}

.roadmap-step{

    position:relative;

    margin-left:70px;

    margin-bottom:30px;

    background:var(--card-bg);

    border:1px solid var(--border);

    padding:25px;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.roadmap-step::before{

    content:"";

    position:absolute;

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--primary);

    left:-55px;

    top:28px;

}

/* =========================
CTA SECTION
========================= */

.cta-section{

    padding:100px 0;

}

.cta-box{

    background:
    linear-gradient(
    135deg,
    var(--primary),
    #3b82f6
    );

    color:#fff;

    padding:70px 40px;

    border-radius:28px;

    text-align:center;

}

.cta-box h2{

    font-size:2.6rem;

    margin-bottom:20px;

}

.cta-box p{

    max-width:700px;

    margin:auto;

    margin-bottom:30px;

    opacity:.95;

}

.cta-box .btn{

    background:#fff;

    color:var(--primary);

}

/* =========================
FAQ
========================= */

.faq-container{

    max-width:850px;

    margin:auto;

}

.faq-item{

    border:1px solid var(--border);

    border-radius:14px;

    margin-bottom:15px;

    overflow:hidden;

    background:var(--card-bg);

}

.faq-question{

    width:100%;

    text-align:left;

    padding:22px;

    border:none;

    background:none;

    color:var(--text);

    cursor:pointer;

    font-size:1rem;

    font-weight:600;

}

.faq-answer{

    display:none;

    padding:0 22px 22px;

    color:var(--text-light);

}

.faq-item.active .faq-answer{

    display:block;

}

/* =========================
NEWSLETTER
========================= */

.newsletter{

    padding:90px 0;

    background:var(--bg-soft);

    text-align:center;

}

.newsletter h2{

    margin-bottom:25px;

}

.newsletter-form{

    max-width:650px;

    margin:auto;

    display:flex;

    gap:12px;

}

.newsletter-form input{

    flex:1;

    padding:18px;

    border:1px solid var(--border);

    border-radius:999px;

    background:var(--card-bg);

    color:var(--text);

}

.newsletter-form button{

    border:none;

    padding:18px 28px;

    border-radius:999px;

    background:var(--primary);

    color:#fff;

    cursor:pointer;

    font-weight:600;

}


/* =========================
FOOTER
========================= */

.footer{

    background:var(--bg-soft);

    padding-top:80px;

}

.footer-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap:40px;

    align-items:start;

}

.footer h3,
.footer h4{

    margin-bottom:15px;

}

.footer ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer p,
.footer li{

    color:var(--text-light);

    margin-bottom:10px;

}

.footer a{

    color:var(--text-light);

    text-decoration:none;

    transition:0.3s ease;

}

.footer a:hover{

    color:var(--primary);

}

.footer-bottom{

    text-align:center;

    border-top:1px solid var(--border);

    margin-top:50px;

    padding:25px 0;

    color:var(--text-light);

    font-size:14px;

    line-height:1.8;

}

.footer-legal{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px;

    margin-bottom:15px;

}

.footer-legal a{

    text-decoration:none;

}


.footer-logo{

    color: var(--text);

    text-decoration: none;

    transition: 0.3s ease;

}

.footer-logo:hover{

    color: var(--primary);

}

.footer-logo:visited{

    color: var(--text);

}


@media (max-width:768px){

    .footer-legal{

        gap:8px;

        font-size:14px;

    }

}





/* =========================
SCROLL TO TOP
========================= */

.scroll-top{

    position:fixed;

    right:20px;

    bottom:20px;

    width:50px;

    height:50px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    cursor:pointer;

    display:none;

    z-index:999;

    box-shadow:var(--shadow);

}

.scroll-top.show{

    display:block;

}

/* =========================
FADE ANIMATION
========================= */

.fade-in{

    opacity:0;

    transform:translateY(30px);

    transition:
    opacity .8s ease,
    transform .8s ease;

}

.fade-in.show{

    opacity:1;

    transform:translateY(0);

}

/* =========================
TABLETS
========================= */

@media(max-width:992px){

    .hero h1{

        font-size:3rem;

    }

    .hero-stats{

        grid-template-columns:
        repeat(2,1fr);

    }

}

/* =========================
MOBILE
========================= */

@media(max-width:768px){

    .nav-menu{

        display:none;

    }

    .hamburger{

        display:block;

    }

    .nav-actions .btn{

        display:none;

    }

    .hero{

        padding-top:90px;

    }

    .hero h1{

        font-size:2.4rem;

    }

    .hero-search{

        flex-direction:column;

        border-radius:20px;

    }

    .hero-search button{

        width:100%;

    }

    .hero-stats{

        grid-template-columns:1fr;

    }

    .section{

        padding:70px 0;

    }

    .section-heading h2{

        font-size:2rem;

    }

    .newsletter-form{

        flex-direction:column;

    }

    .cta-box{

        padding:50px 25px;

    }

    .cta-box h2{

        font-size:2rem;

    }

}

/* =========================
SMALL MOBILE
========================= */

@media(max-width:480px){

    .hero h1{

        font-size:2rem;

    }

    .hero p{

        font-size:1rem;

    }

    .card,
    .roadmap-step{

        padding:20px;

    }

    .cta-box h2{

        font-size:1.7rem;

    }

}


/* =========================
CONTENT CARD
========================= */

.content-card{

    background:var(--card-bg);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:30px;

    box-shadow:var(--shadow);

}

.content-card h2{

    margin-bottom:25px;

}

.content-card p{

    color:var(--text-light);

    line-height:1.8;

    margin:0 0 20px 0;

}

.content-card p:last-child{

    margin-bottom:0;

}

/* =========================
SEARCH RESULTS
========================= */

.search-results-grid{
    display:grid;
    gap:20px;
    margin-top:30px;
}

.search-card{
    background:var(--card-bg);
    border:1px solid var(--border);
    border-radius:16px;
    padding:24px;
    box-shadow:var(--shadow);
    transition:all .3s ease;
}

.search-card:hover{
    transform:translateY(-3px);
}

.search-card a{
    text-decoration:none;
    color:inherit;
    display:block;
}

.search-card h3{
    margin:0;
    font-size:1.15rem;
    font-weight:700;
}

.search-card p{
    margin:10px 0 0;
    color:var(--text-light);
    font-size:.95rem;
}

.empty-state{
    text-align:center;
    padding:40px 20px;
}