/* ==========================
   HEADER
========================== */

.header{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    z-index:1000;

    background:#fff;

    border-bottom:1px solid #edf0f4;
}

.header .container{

    max-width:1400px;
    height:84px;

    margin:0 auto;
    padding:0 20px;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

/* Logo */

.logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    height:46px;
    display:block;
}

/* Navigation */

.nav{

    display:flex;
    align-items:center;
    gap:34px;
}

.nav a{

    text-decoration:none;

    color:#1f2937;

    font-size:15px;

    font-weight:600;

    transition:.25s;
}

.nav a:hover{

    color:#5B7FFF;
}

/* Right Side */

.header-actions{

    display:flex;

    align-items:center;

    gap:14px;
}

/* Circle Buttons */

.search-btn,
.user-btn{

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:none;

    border-radius:50%;

    background:#f5f7fb;

    cursor:pointer;

    transition:.25s;
}

.search-btn:hover,
.user-btn:hover{

    background:#5B7FFF;

    color:#fff;
}

/* Add Site */

.add-site{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    height:48px;

    padding:0 26px;

    border-radius:999px;

    background:#84cc16;

    color:#fff;

    font-weight:600;

    text-decoration:none;

    transition:.25s;
}

.add-site:hover{

    background:#6db113;

    transform:translateY(-2px);
}

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

@media(max-width:992px){

    .nav{

        display:none;
    }

}

@media(max-width:768px){

    .header .container{

        height:72px;
    }

    .logo img{

        height:38px;
    }

    .add-site{

        display:none;
    }

}

@media(max-width:480px){

    .header .container{

        padding:0 15px;
    }

    .search-btn,
    .user-btn{

        width:42px;
        height:42px;
    }

}




/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Inter,sans-serif;
    background:#f5f7fb;
    color:#1e293b;
    line-height:1.5;
}

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

main{
    width:100%;
}

section{
    width:100%;
}

.container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 20px;
}

/* ==========================
   HEADER
========================== */

header{
    width:100%;
    height:80px;
    display:flex;
    align-items:center;
    background:#fff;
    border-bottom:1px solid #edf0f4;
}

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

.hero{
    position:relative;
    overflow:hidden;

    padding:90px 0;

    background:
        radial-gradient(circle at top right,#4f8ef760,transparent 45%),
        linear-gradient(135deg,#0f172a,#1e293b,#111827);

    border-radius:0 0 40px 40px;
}

.hero-content{

    display:grid;

    grid-template-columns:1fr 520px;

    gap:60px;

    align-items:center;
}

.hero-left h1{

    color:#fff;

    font-size:58px;

    font-weight:800;

    line-height:1.05;

    margin-bottom:25px;
}

.hero-left p{

    color:rgba(255,255,255,.75);

    font-size:18px;

    line-height:1.7;

    margin-bottom:35px;

    max-width:620px;
}

.hero-badge{

    display:inline-flex;

    align-items:center;

    padding:8px 16px;

    border-radius:999px;

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

    color:#9ae6b4;

    font-size:14px;

    margin-bottom:25px;

    backdrop-filter:blur(15px);
}

.hero-search{

    display:flex;

    align-items:center;

    overflow:hidden;

    border-radius:18px;

    background:#fff;

    max-width:650px;

    box-shadow:0 20px 50px rgba(0,0,0,.2);
}

.hero-search input{

    flex:1;

    height:66px;

    border:none;

    outline:none;

    padding:0 24px;

    font-size:16px;
}

.hero-search button{

    width:170px;

    height:66px;

    border:none;

    background:#84cc16;

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;
}

.hero-search button:hover{

    background:#65a30d;
}

.hero-right{

    display:flex;

    justify-content:center;

    align-items:center;
}

.hero-right img{

    width:100%;

    max-width:520px;

    display:block;
}









/* ==========================
   CATEGORIES
========================== */

.categories{
    max-width:1400px;
    margin:60px auto;
    padding:0 20px;
}

.categories-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:24px;
}

.category-card{

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    min-height:180px;

    background:#fff;

    border-radius:22px;

    text-align:center;

    text-decoration:none;

    color:#111827;

    padding:25px;

    border:1px solid #edf0f4;

    transition:.3s ease;
}

.category-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.08);

    border-color:#5B7FFF;
}

.category-card__icon{

    width:72px;
    height:72px;

    margin-bottom:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:#eef5ff;

    overflow:hidden;
}

.category-card__icon img{

    width:44px;
    height:44px;

    object-fit:contain;

    display:block;
}

.category-card__content h3{

    font-size:18px;

    font-weight:700;

    margin-bottom:8px;
}

.category-card__content span{

    color:#8b95a7;

    font-size:14px;
}

/* ==========================
   LATEST
========================== */

.latest{
    padding:70px 30px;
}

/* ==========================
   POPULAR
========================== */

.popular{
    padding:70px 30px;
}

/* ==========================
   FOOTER
========================== */

footer{
    margin-top:80px;
    padding:40px;
    background:#0f172a;
    color:#fff;
}

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

@media (max-width:1200px){

    .categories-grid{
        grid-template-columns:repeat(4,1fr);
    }

}

@media (max-width:992px){

    .hero{
        height:420px;
    }

    .categories-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

@media (max-width:768px){

    .hero{
        height:340px;
        border-radius:0 0 25px 25px;
    }

    .categories{
        margin:40px auto;
    }

    .categories-grid{
        grid-template-columns:repeat(2,1fr);
        gap:18px;
    }

    .category-card{
        min-height:160px;
        padding:20px;
    }

    .category-card__icon{
        width:60px;
        height:60px;
    }

    .category-card__icon img{
        width:36px;
        height:36px;
    }

}

@media (max-width:480px){

    .hero{
        height:280px;
    }

    .categories{
        padding:0 15px;
    }

    .categories-grid{
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .category-card{
        min-height:145px;
        border-radius:18px;
        padding:16px;
    }

    .category-card__content h3{
        font-size:15px;
    }

    .category-card__content span{
        font-size:13px;
    }

}


/* ===== Language switcher (hover-stable) ===== */
.header-lang {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 5;
}

.header-lang__current {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    text-decoration: none;
}

/* Dropdown */
.header-lang__list {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 0;
    /* gap არ იყოს */
    min-width: 170px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    z-index: 999999;
    overflow: hidden;
}

/* მთავარი ფიქსი: გახსნილი დარჩეს როცა hover არის current-ზე ან list-ზე */
.header-lang:hover .header-lang__list, .header-lang__list:hover {
    display: block;
}

/* უხილავი ხიდი current->dropdown შორის */
.header-lang__list::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -16px;
    height: 16px;
}

/* Items */
.header-lang__list .lang-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.2;
}

.header-lang__list .lang-item:hover {
    background: #f6f6f6
}

.header-lang__list .is-current {
    display: none
}

/* Flag size */
.header-lang__list .flag {
    width: 18px;
    height: 13px;
    display: block;
    border-radius: 2px;
    flex: 0 0 auto;
}

/* თუ რომელიმე მშობელი ჭრის dropdown-ს */
.header-top, .header-top .container, .header-top .container.e-swipe {
    overflow: visible !important;
}