/* =========================================================
   HOME PAGE
========================================================= */

.home-page{
    background:#f6f9fc;
    min-height:100vh;
    padding-bottom:40px;
}


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

.home-hero{
    position:relative;
    background:#fff;
    padding-bottom:80px;
}


.hero-slider{
    position:relative;
    width:100%;
    height:390px;
    overflow:hidden;
    background:#eaf3f8;
}


.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .7s ease;
    pointer-events:none;
}


.hero-slide.active{
    opacity:1;
    pointer-events:auto;
}


.hero-slide img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}


/* arrows */

.hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    box-shadow:0 4px 15px rgba(0,0,0,.15);
    cursor:pointer;
    z-index:5;
    font-size:18px;
}


.hero-prev{
    left:25px;
}


.hero-next{
    right:25px;
}


/* dots */

.hero-dots{
    position:absolute;
    left:50%;
    bottom:20px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:5;
}


.hero-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:rgba(255,255,255,.65);
    cursor:pointer;
    transition:.3s;
}


.hero-dot.active{
    width:25px;
    border-radius:10px;
    background:#fff;
}


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

.home-search-wrapper{
    position:absolute;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    width:min(850px,92%);
    z-index:10;
}


.home-search{
    height:66px;
    background:#fff;
    border:1px solid #dce5ed;
    border-radius:35px;
    box-shadow:0 8px 30px rgba(20,40,70,.16);
    display:flex;
    align-items:center;
    padding:0 10px 0 24px;
    overflow:hidden;
}


.search-icon{
    font-size:21px;
    color:#667585;
    margin-right:16px;
}


.search-type-text{
    position:absolute;
    left:65px;
    color:#7b8794;
    font-size:18px;
    pointer-events:none;
    white-space:nowrap;
}


.home-search input{
    flex:1;
    height:100%;
    border:0;
    outline:0;
    background:transparent;
    font-size:18px;
    color:#172033;
    padding:0 5px;
}


.home-search input:not(:placeholder-shown)
~ .search-type-text{
    display:none;
}


.home-search button{
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    background:#168b46;
    color:#fff;
    cursor:pointer;
    font-size:17px;
}


.popular-searches{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    overflow-x:auto;
    scrollbar-width:none;
}


.popular-searches::-webkit-scrollbar{
    display:none;
}


.popular-label{
    font-size:13px;
    color:#687585;
    white-space:nowrap;
}


.popular-searches a{
    background:#fff;
    border:1px solid #dfe6ec;
    color:#354052;
    border-radius:20px;
    padding:7px 14px;
    font-size:13px;
    text-decoration:none;
    white-space:nowrap;
}


/* =========================================================
   SECTION
========================================================= */

.home-section,
.why-jameenguide{
    max-width:1280px;
    margin:0 auto;
    padding:45px 25px 0;
}


.section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}


.section-title-row{
    display:flex;
    align-items:center;
    gap:13px;
}


.section-icon{
    width:44px;
    height:44px;
    border-radius:13px;
    background:#e7f7eb;
    color:#168b46;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    flex-shrink:0;
}


.section-title-row h2{
    margin:0;
    color:#152238;
    font-size:27px;
    line-height:1.2;
}


.section-title-row p{
    margin:4px 0 0;
    color:#8a96a5;
    font-size:14px;
}


.more-link{
    color:#168b46;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    font-size:15px;
}


.more-link i{
    margin-left:5px;
}


/* =========================================================
   HORIZONTAL SCROLL
========================================================= */

.horizontal-scroll{
    display:flex;
    gap:16px;
    overflow-x:auto;
    padding:2px 3px 15px;
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
}


.horizontal-scroll::-webkit-scrollbar{
    height:5px;
}


.horizontal-scroll::-webkit-scrollbar-thumb{
    background:#ccd6df;
    border-radius:10px;
}


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

.home-article-card{
    flex:0 0 calc((100% - 80px) / 6);
    min-width:180px;
    background:#fff;
    border:1px solid #e8edf2;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 3px 15px rgba(30,50,70,.06);
    scroll-snap-align:start;
}


.article-card-image{
    display:block;
    height:145px;
    overflow:hidden;
}


.article-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}


.home-article-card:hover img{
    transform:scale(1.04);
}


.article-card-content{
    padding:12px;
}


.article-card-content h3{
    margin:0;
    font-size:16px;
    line-height:1.5;
    height:48px;
    overflow:hidden;
}


.article-card-content h3 a{
    color:#172033;
    text-decoration:none;
}


.article-card-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    margin-top:12px;
    color:#8792a0;
    font-size:11px;
}


.article-card-meta span{
    display:flex;
    align-items:center;
    gap:4px;
}


.home-empty{
    background:#fff;
    border-radius:14px;
    padding:30px;
    color:#777;
    width:100%;
    text-align:center;
}


/* =========================================================
   TOOLS
========================================================= */

.home-tool-card{
    flex:0 0 calc((100% - 80px) / 6);
    min-width:170px;
    min-height:190px;
    background:#fff;
    border:1px solid #e5ebe7;
    border-radius:16px;
    padding:18px 12px;
    text-align:center;
    text-decoration:none;
    color:#172033;
    box-shadow:0 3px 15px rgba(30,50,70,.06);
    scroll-snap-align:start;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}


.tool-image{
    width:75px;
    height:75px;
    border-radius:50%;
    background:#eaf8ed;
    color:#168b46;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:15px;
    overflow:hidden;
}


.tool-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}


.home-tool-card h3{
    margin:0;
    font-size:16px;
    line-height:1.45;
}


/* =========================================================
   USEFUL LINKS
========================================================= */

.useful-links-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}


.useful-card{
    min-height:170px;
    border-radius:17px;
    padding:22px;
    display:flex;
    gap:18px;
    align-items:center;
    text-decoration:none;
    transition:transform .2s ease;
}


.useful-card:hover{
    transform:translateY(-3px);
}


.useful-green{
    background:#eaf8ed;
    border:1px solid #ccebd4;
}


.useful-blue{
    background:#eef6ff;
    border:1px solid #d2e5fb;
}


.useful-orange{
    background:#fff5e9;
    border:1px solid #f7dfbd;
}


.useful-card-icon{
    width:60px;
    height:60px;
    flex-shrink:0;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}


.useful-green .useful-card-icon{
    background:#fff;
    color:#168b46;
}


.useful-blue .useful-card-icon{
    background:#fff;
    color:#2475b8;
}


.useful-orange .useful-card-icon{
    background:#fff;
    color:#e18413;
}


.useful-card h3{
    margin:0 0 7px;
    font-size:19px;
}


.useful-card p{
    margin:0;
    color:#677384;
    font-size:13px;
    line-height:1.55;
}


.useful-card span{
    display:inline-block;
    margin-top:12px;
    font-size:13px;
    font-weight:600;
}


.useful-green span{
    color:#168b46;
}


.useful-blue span{
    color:#2475b8;
}


.useful-orange span{
    color:#e18413;
}


/* =========================================================
   WHY
========================================================= */

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}


.why-card{
    background:#fff;
    border:1px solid #e7edf2;
    border-radius:15px;
    padding:22px 18px;
}


.why-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#eaf8ed;
    color:#168b46;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
}


.why-card h3{
    margin:0 0 6px;
    font-size:17px;
}


.why-card p{
    margin:0;
    color:#737f8d;
    font-size:13px;
    line-height:1.6;
}


/* =========================================================
   CTA
========================================================= */

.home-cta{
    max-width:1230px;
    margin:45px auto 0;
    padding:30px 35px;
    border-radius:20px;
    background:#eaf8ed;
    border:1px solid #cdebd5;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
}


.cta-small{
    color:#168b46;
    font-size:13px;
    font-weight:700;
}


.home-cta h2{
    margin:6px 0;
    font-size:25px;
    color:#172033;
}


.home-cta p{
    margin:0;
    color:#687585;
    font-size:14px;
}


.cta-button{
    flex-shrink:0;
    padding:13px 20px;
    border-radius:25px;
    background:#168b46;
    color:#fff;
    text-decoration:none;
    font-weight:600;
}


.cta-button i{
    margin-left:7px;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

    .home-page{
        padding-bottom:25px;
    }


    .hero-slider{
        height:330px;
    }


    .hero-arrow{
        width:38px;
        height:38px;
        font-size:14px;
    }


    .hero-prev{
        left:12px;
    }


    .hero-next{
        right:12px;
    }


    .home-search-wrapper{
        width:92%;
        bottom:18px;
    }


    .home-search{
        height:58px;
        padding-left:18px;
    }


    .search-icon{
        font-size:18px;
        margin-right:12px;
    }


    .search-type-text{
        left:49px;
        font-size:16px;
    }


    .home-search button{
        width:42px;
        height:42px;
    }


    .popular-searches{
        margin-top:8px;
    }


    .home-section,
    .why-jameenguide{
        padding:32px 16px 0;
    }


    .section-heading{
        margin-bottom:15px;
    }


    .section-title-row{
        gap:10px;
    }


    .section-icon{
        width:39px;
        height:39px;
        font-size:17px;
    }


    .section-title-row h2{
        font-size:22px;
    }


    .section-title-row p{
        font-size:12px;
    }


    .more-link{
        font-size:13px;
    }


    .home-article-card{
        flex:0 0 205px;
        min-width:205px;
    }


    .article-card-image{
        height:135px;
    }


    .home-tool-card{
        flex:0 0 155px;
        min-width:155px;
        min-height:175px;
    }


    .useful-links-grid{
        grid-template-columns:1fr;
        gap:12px;
    }


    .useful-card{
        min-height:130px;
        padding:17px;
    }


    .useful-card-icon{
        width:52px;
        height:52px;
        font-size:23px;
    }


    .useful-card h3{
        font-size:17px;
    }


    .why-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }


    .why-card{
        padding:17px 13px;
    }


    .why-card h3{
        font-size:15px;
    }


    .why-card p{
        font-size:12px;
    }


    .home-cta{
        margin:30px 16px 0;
        padding:23px 20px;
        display:block;
    }


    .home-cta h2{
        font-size:21px;
    }


    .home-cta p{
        line-height:1.6;
    }


    .cta-button{
        display:inline-block;
        margin-top:17px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media(max-width:400px){

    .hero-slider{
        height:300px;
    }


    .home-article-card{
        flex-basis:190px;
        min-width:190px;
    }


    .home-tool-card{
        flex-basis:145px;
        min-width:145px;
    }


    .why-grid{
        grid-template-columns:1fr;
    }

}