/*====================================================
    HERO
====================================================*/

.topics-hero{

    background:linear-gradient(135deg,#2563eb,#1d4ed8);

    color:#fff;

    padding:90px 0;

}

.hero-content{

    max-width:850px;

    margin:auto;

    text-align:center;

}

.hero-badge{

    display:inline-block;

    background:rgba(255,255,255,.15);

    padding:10px 22px;

    border-radius:30px;

    font-weight:600;

    margin-bottom:20px;

}

.hero-content h1{

    font-size:54px;

    line-height:1.2;

    margin-bottom:20px;

}

.hero-content h1 span{

    color:#fde047;

}

.hero-content p{

    font-size:19px;

    line-height:1.8;

    opacity:.95;

    margin-bottom:35px;

}



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

.hero-search{

    display:flex;

    justify-content:center;

    max-width:650px;

    margin:auto;

}

.hero-search input{

    flex:1;

    height:56px;

    border:none;

    border-radius:10px 0 0 10px;

    padding:0 20px;

    font-size:16px;

    outline:none;

}

.hero-search button{

    width:170px;

    border:none;

    background:#16a34a;

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    border-radius:0 10px 10px 0;

    transition:.3s;

}

.hero-search button:hover{

    background:#15803d;

}



/*====================================================
    FEATURED
====================================================*/

.featured-topics{

    padding:60px 0 30px;

}

.featured-grid{

    display:grid;

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

    gap:25px;

}



/*====================================================
    TOOLBAR
====================================================*/

.toolbar-section{

    padding:20px 0;

    background:#fff;

    border-top:1px solid #e5e7eb;

    border-bottom:1px solid #e5e7eb;

}

.toolbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.results{

    font-size:17px;

    font-weight:600;

}

.results span{

    color:#2563eb;

    font-size:24px;

}

.toolbar select{

    padding:12px 18px;

    border-radius:8px;

    border:1px solid #d1d5db;

    background:#fff;

}



/*====================================================
    TOPICS
====================================================*/

.topics-section{

    padding:60px 0;

}

.section-title{

    font-size:34px;

    text-align:center;

    margin-bottom:35px;

}

.topics-grid{

    display:grid;

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

    gap:30px;

}



/*====================================================
    CARD
====================================================*/

.topic-card{

    background:#fff;

    border-radius:18px;

    padding:28px;

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

    transition:.35s;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

}

.topic-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(37,99,235,.18);

}

.topic-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    background:#eff6ff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    margin-bottom:20px;

}

.topic-card h3{

    font-size:26px;

    margin-bottom:15px;

    color:#111827;

}

.topic-description{

    color:#64748b;

    line-height:1.7;

    margin-bottom:20px;

    min-height:52px;

}



/*====================================================
    STATS
====================================================*/

.topic-stats{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:20px;

}

.topic-stats span{

    background:#f8fafc;

    padding:9px 14px;

    border-radius:10px;

    font-size:14px;

    font-weight:600;

}



/*====================================================
    TAGS
====================================================*/

.topic-tags{

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-bottom:25px;

}

.topic-tags span{

    background:#eff6ff;

    color:#2563eb;

    padding:7px 14px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

}



/*====================================================
    BUTTON
====================================================*/

.topic-btn{

    display:block;

    text-align:center;

    background:#2563eb;

    color:#fff;

    padding:15px;

    border-radius:10px;

    font-weight:700;

    transition:.3s;

}

.topic-card:hover .topic-btn{

    background:#16a34a;

}



/*====================================================
    PAGINATION
====================================================*/

.pagination-section{

    padding-bottom:60px;

}

.pagination{

    display:flex;

    justify-content:center;

    gap:10px;

    flex-wrap:wrap;

}

.pagination button{

    width:45px;

    height:45px;

    border:none;

    border-radius:8px;

    background:#fff;

    cursor:pointer;

    font-weight:700;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.pagination button.active{

    background:#2563eb;

    color:#fff;

}



/*====================================================
    RESPONSIVE
====================================================*/

@media(max-width:1100px){

    .topics-grid{

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

    }

    .featured-grid{

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

    }

}

@media(max-width:768px){

    .hero-content h1{

        font-size:40px;

    }

    .hero-search{

        flex-direction:column;

    }

    .hero-search input{

        border-radius:10px;

        margin-bottom:10px;

    }

    .hero-search button{

        width:100%;

        border-radius:10px;

    }

    .toolbar{

        flex-direction:column;

        gap:15px;

    }

}

@media(max-width:600px){

    .topics-grid{

        grid-template-columns:1fr;

    }

    .featured-grid{

        grid-template-columns:1fr;

    }

}