/*=========================================
LATEST CLASSIFIED ADS
=========================================*/

.ce-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.ce-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

    display:flex;

    flex-direction:column;

    height:100%;

}

.ce-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 45px rgba(0,0,0,.14);

}

.ce-thumb{

    display:block;

    aspect-ratio:4/3;

    overflow:hidden;

}

.ce-thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.4s;

}

.ce-card:hover .ce-thumb img{

    transform:scale(1.08);

}

.ce-content{

    padding:20px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.ce-title{

    font-size:20px;

    line-height:1.4;

    margin:0 0 20px;

    min-height:56px;

}

.ce-title a{

    color:#222;

    text-decoration:none;

}

.ce-title a:hover{

    color:#0d6efd;

}

.ce-button{

    margin-top:auto;

    display:inline-block;

    padding:12px 22px;

    background:#0d6efd;

    color:#fff;

    border-radius:10px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.ce-button:hover{

    background:#084298;

    color:#fff;

}

@media(max-width:768px){

    .ce-grid{

        grid-template-columns:1fr;

    }

}
/*====================================
Featured Bike Shops
====================================*/

.homepage-vendors{

    background:#f8fafc;

    padding:80px 50px;

    margin:80px 0;

    border-radius:24px;

}

.section-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    margin-top:45px;

    flex-wrap:wrap;

}

.outline-btn{

    background:#fff;

    color:#0d6efd;

    border:2px solid #0d6efd;

}

.outline-btn:hover{

    background:#0d6efd;

    color:#fff;

}

@media(max-width:768px){

    .section-buttons{

        flex-direction:column;

    }

    .section-buttons a{

        width:100%;

        text-align:center;

    }

}
/*====================================
Featured Products
====================================*/

.homepage-products{

    background:#ffffff;

    padding:80px 50px;

    margin:80px 0;

    border-radius:24px;

}
/*====================================
Upcoming Events
====================================*/

.homepage-events{

    background:#f5f9ff;

    padding:80px 50px;

    margin:80px 0;

    border-radius:24px;

}

.badge-event{

    display:inline-block;

    background:#e8f4ff;

    color:#0d6efd;

    font-size:13px;

    font-weight:600;

    padding:6px 12px;

    border-radius:30px;

    margin-bottom:15px;

}

.ce-meta{

    color:#666;

    font-size:14px;

    margin-bottom:18px;

}
/*====================================
Latest Blog
====================================*/

.homepage-blog{

    background:#ffffff;

    padding:80px 50px;

    margin:80px 0;

    border-radius:24px;

}
/*=====================================
Search Hero SEARCH PAGE ONLY
=====================================*/

.search-hero{

padding:90px 20px;

background:linear-gradient(135deg,#eff6ff,#ffffff);

}

.search-container{

max-width:900px;

margin:auto;

text-align:center;

}

.search-badge{

display:inline-block;

background:#dbeafe;

color:#0d6efd;

padding:8px 18px;

border-radius:30px;

font-size:14px;

font-weight:700;

margin-bottom:25px;

}

.search-hero h1{

font-size:48px;

line-height:1.2;

margin-bottom:20px;

font-weight:800;

}

.search-hero p{

font-size:18px;

color:#666;

max-width:700px;

margin:auto auto 40px;

line-height:1.8;

}

.search-form{

background:#fff;

padding:20px;

border-radius:20px;

box-shadow:0 15px 45px rgba(0,0,0,.08);

}

.search-keyword input{

width:100%;

height:60px;

padding:0 20px;

border:2px solid #e5e7eb;

border-radius:12px;

font-size:16px;

margin-bottom:18px;

}

.search-filters{

display:grid;

grid-template-columns:1fr 1fr 180px;

gap:15px;

}

.search-filters select{

height:55px;

border:2px solid #e5e7eb;

border-radius:12px;

padding:0 15px;

font-size:15px;

}

.search-filters button{

height:55px;

background:#ff7a00;

border:none;

border-radius:12px;

color:#fff;

font-weight:700;

font-size:16px;

display:flex;

justify-content:center;

align-items:center;

gap:8px;

cursor:pointer;

transition:.3s;

}

.search-filters button:hover{

background:#0d6efd;

}

.popular-searches{

margin-top:30px;

}

.popular-searches a{

display:inline-block;

padding:10px 18px;

margin:8px;

background:#fff;

border-radius:30px;

text-decoration:none;

color:#333;

box-shadow:0 4px 10px rgba(0,0,0,.05);

transition:.3s;

}

.popular-searches a:hover{

background:#0d6efd;

color:#fff;

}

@media(max-width:768px){

.search-hero h1{

font-size:32px;

}

.search-filters{

grid-template-columns:1fr;

}

}
/*====================================
Homepage Categories v1
====================================*/

/* ===== Homepage Categories ===== */

.homepage-categories{
    margin:80px 0;
}

.section-heading{
    text-align:center;
    margin-bottom:50px;
}

.section-heading h2{
    font-size:42px;
    font-weight:800;
    margin-bottom:10px;
}

.section-heading p{
    color:#666;
    font-size:18px;
}

.category-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
}

.category-card{
    background:#fff;
    border-radius:18px;
    padding:35px 25px;
    text-align:center;
    text-decoration:none;
    color:#222;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.category-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
    color:#0d6efd;
}

.cat-icon{
    width:72px;
    height:72px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#eef5ff;
    display:flex;
    align-items:center;
    justify-content:center;
}

.cat-icon svg{
    width:34px;
    height:34px;
    stroke:#0d6efd;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Reuse the same bike icon for bike categories */
.bike-icon{
    background:#eef5ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d6efd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='18' cy='18' r='3'/%3E%3Cpath d='M6 18l5-10 3 5h4'/%3E%3C/svg%3E") center/34px no-repeat;
}

.category-card h3{
    margin:0 0 8px;
    font-size:20px;
    font-weight:700;
}

.category-card p{
    margin:0;
    color:#666;
    font-size:15px;
}

@media(max-width:768px){
    .category-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .section-heading h2{
        font-size:32px;
    }
}
/*====================================
Browse by City v1
====================================*/

.homepage-cities{
    margin:80px 0;
}

.city-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:18px;
}

.city-card{

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:70px;

    background:#fff;

    border:1px solid #e9ecef;

    border-radius:14px;

    text-decoration:none;

    font-weight:600;

    color:#222;

    transition:.3s;

}

.city-card:hover{

    background:#0d6efd;

    color:#fff;

    transform:translateY(-4px);

}

.city-card.view-all{

    background:#0d6efd;

    color:#fff;

}

.city-card.view-all:hover{

    background:#084298;

}
/*====================================
Latest Classified Ads v1
====================================*/

.homepage-listings{

    background:#fff;

    padding:80px 50px;

    border-radius:24px;

    margin:80px 0;

}

.section-button{

    text-align:center;

    margin-top:45px;

}

.view-all-btn{

    display:inline-block;

    padding:16px 34px;

    background:#0d6efd;

    color:#fff;

    text-decoration:none;

    border-radius:12px;

    font-weight:700;

    transition:.3s;

}

.view-all-btn:hover{

    background:#084298;

    transform:translateY(-3px);

}
/*====================================
Marketplace Statistics
====================================*/

.homepage-stats{

    background:#eef6ff;

    padding:80px 50px;

    margin:80px 0;

    border-radius:24px;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:50px;

}

.stat-box{

    background:#fff;

    padding:35px 20px;

    border-radius:18px;

    text-align:center;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

    transition:.3s;

}

.stat-box:hover{

    transform:translateY(-6px);

}

.stat-icon{

    font-size:40px;

    margin-bottom:15px;

}

.stat-box h3{

    font-size:34px;

    margin:0;

    color:#0d6efd;

}

.stat-box p{

    margin-top:10px;

    color:#666;

}

@media(max-width:992px){

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.stats-grid{

grid-template-columns:1fr;

}

}
/*====================================
Why Choose Us
====================================*/

.homepage-features{

    background:#ffffff;

    padding:80px 50px;

    margin:80px 0;

    border-radius:24px;

}

.features-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:50px;

}

.feature-box{

    background:#f8fafc;

    border-radius:18px;

    padding:35px 25px;

    text-align:center;

    transition:.3s;

    border:1px solid #eef2f7;

}

.feature-box:hover{

    transform:translateY(-6px);

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.feature-icon{

    font-size:42px;

    margin-bottom:18px;

}

.feature-box h3{

    font-size:22px;

    margin-bottom:15px;

}

.feature-box p{

    color:#666;

    line-height:1.7;

}

@media(max-width:992px){

.features-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.features-grid{

grid-template-columns:1fr;

}

}
/*====================================
Join Community
====================================*/

.homepage-community{

    background:linear-gradient(135deg,#0d6efd,#00b4ff);

    color:#fff;

    padding:90px 40px;

    margin:80px 0;

    border-radius:24px;

    text-align:center;

}

.community-content{

    max-width:850px;

    margin:auto;

}

.community-content h2{

    color:#fff;

    font-size:42px;

    margin-bottom:20px;

}

.community-content p{

    font-size:18px;

    line-height:1.8;

    opacity:.95;

    margin-bottom:40px;

}

.community-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.community-buttons .premium-btn{

    min-width:220px;

}

.premium-btn-green{

    background:#28a745;

}

.premium-btn-green:hover{

    background:#218838;

}
