/* =========================================================
GLOBAL SECTION
========================================================= */

.akv-filter-section,
.akv-villa-section{

    position:relative;

    z-index:10;
}

.akv-container{

    width:100%;

    max-width:1400px;

    margin:0 auto;

    padding:
        0
        24px;
}

/* =========================================================
HERO
========================================================= */

.akv-archive-hero{

    position:relative;

    overflow:hidden;

    min-height:760px;

    display:flex;

    align-items:center;

    padding:
        180px
        0
        160px;

    background:
        linear-gradient(
            rgba(0,0,0,0.45),
            rgba(0,0,0,0.68)
        ),
        url('https://images.unsplash.com/photo-1512917774080-9991f1c4c750?q=80&w=2400&auto=format&fit=crop');

    background-size:cover;

    background-position:center;
}

.akv-hero-overlay{

    position:absolute;

    inset:0;

    backdrop-filter:blur(3px);
}

.akv-archive-hero-content{

    position:relative;

    z-index:5;

    max-width:820px;
}

.akv-hero-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:48px;

    padding:
        0
        24px;

    border-radius:999px;

    background:
        rgba(255,255,255,0.12);

    border:
        1px solid rgba(255,255,255,0.16);

    backdrop-filter:blur(10px);

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    letter-spacing:2px;
}

.akv-archive-hero-content h1{

    margin:
        30px
        0
        26px;

    color:#ffffff;

    font-size:82px;

    line-height:0.98;

    letter-spacing:-4px;

    font-weight:800;
}

.akv-archive-hero-content p{

    max-width:680px;

    color:
        rgba(255,255,255,0.82);

    font-size:18px;

    line-height:1.9;
}

/* =========================================================
TRUST
========================================================= */

.akv-hero-trust{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:42px;
}

.akv-trust-item{

    min-width:160px;

    padding:
        20px
        24px;

    border-radius:24px;

    background:
        rgba(255,255,255,0.10);

    border:
        1px solid rgba(255,255,255,0.12);

    backdrop-filter:blur(12px);
}

.akv-trust-item strong{

    display:block;

    margin-bottom:6px;

    color:#ffffff;

    font-size:28px;

    line-height:1;
}

.akv-trust-item span{

    color:
        rgba(255,255,255,0.74);

    font-size:13px;

    font-weight:600;
}

/* =========================================================
FILTER SECTION
========================================================= */

.akv-filter-section{

    margin-top:-90px;

    padding-bottom:60px;
}

.akv-filter-wrapper{

    position:relative;

    z-index:20;

    padding:40px;

    border-radius:36px;

    background:
        rgba(255,255,255,0.82);

    border:
        1px solid rgba(255,255,255,0.6);

    backdrop-filter:blur(18px);

    box-shadow:
        0 30px 80px rgba(0,0,0,0.08);
}

/* =========================================================
FILTER HEADER
========================================================= */

.akv-filter-header{

    display:flex;

    align-items:end;

    justify-content:space-between;

    gap:30px;

    margin-bottom:34px;
}

.akv-filter-label{

    display:inline-block;

    margin-bottom:12px;

    color:#9a7a46;

    font-size:12px;

    font-weight:800;

    letter-spacing:3px;
}

.akv-filter-header h2{

    margin:0;

    color:#111827;

    font-size:42px;

    line-height:1.05;

    letter-spacing:-2px;
}

.akv-filter-header p{

    max-width:420px;

    margin:0;

    color:#6b7280;

    font-size:15px;

    line-height:1.8;
}

/* =========================================================
FILTER BOX
========================================================= */

.akv-filter-box{

    display:grid;

    grid-template-columns:
        2fr
        repeat(4,1fr);

    gap:18px;
}

.akv-filter-group{

    display:flex;

    flex-direction:column;
}

.akv-filter-group label{

    margin-bottom:12px;

    color:#374151;

    font-size:13px;

    font-weight:700;
}

.akv-filter-group input,
.akv-filter-group select{

    width:100%;

    height:60px;

    padding:
        0
        18px;

    border:none;

    border-radius:18px;

    background:#f8f5ef;

    outline:none;

    color:#111827;

    font-size:14px;

    font-weight:600;

    transition:.25s ease;
}

.akv-filter-group input:focus,
.akv-filter-group select:focus{

    background:#ffffff;

    box-shadow:
        0 0 0 4px rgba(198,165,107,0.14);
}

/* =========================================================
RESULT SECTION
========================================================= */

.akv-villa-section{

    padding-bottom:120px;
}

.akv-result-header{

    display:flex;

    align-items:end;

    justify-content:space-between;

    gap:30px;

    margin-bottom:40px;
}

.akv-result-left{

    display:flex;

    flex-direction:column;
}

.akv-result-right{

    max-width:460px;
}

.akv-result-label{

    display:inline-block;

    margin-bottom:12px;

    color:#9a7a46;

    font-size:12px;

    font-weight:800;

    letter-spacing:3px;
}

.akv-result-header h2{

    margin:0;

    color:#111827;

    font-size:48px;

    line-height:1.05;

    letter-spacing:-2px;
}

.akv-result-header p{

    max-width:460px;

    margin:0;

    color:#6b7280;

    line-height:1.9;
}

.akv-result-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:14px;

    margin-top:18px;
}

.akv-result-count{

    display:flex;

    align-items:center;

    justify-content:center;

    height:42px;

    padding:
        0
        18px;

    border-radius:999px;

    background:#111827;

    color:#ffffff;

    font-size:13px;

    font-weight:700;
}

.akv-active-filter{

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:42px;

    padding:
        0
        18px;

    border-radius:999px;

    background:
        rgba(198,165,107,0.12);

    color:#9a7a46;

    font-size:13px;

    font-weight:700;
}

/* =========================================================
GRID
========================================================= */

.akv-villa-grid{

    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:32px;
}

/* =========================================================
CARD
========================================================= */

.akv-card{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    background:#ffffff;

    box-shadow:
        0 20px 60px rgba(0,0,0,0.06);

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.akv-card:hover{

    transform:
        translateY(-10px);

    box-shadow:
        0 35px 90px rgba(0,0,0,0.12);
}

.akv-card-link{

    display:block;

    color:inherit;

    text-decoration:none;
}

/* =========================================================
IMAGE
========================================================= */

.akv-card-image{

    position:relative;

    overflow:hidden;

    height:250px;
}

.akv-card-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:
        transform 1s ease;
}

.akv-card:hover .akv-card-image img{

    transform:scale(1.08);
}

.akv-card-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.72),
            rgba(0,0,0,0.10)
        );
}

/* =========================================================
LOCATION
========================================================= */

.akv-card-location{

    position:absolute;

    top:20px;

    left:20px;

    z-index:5;

    display:flex;

    align-items:center;

    justify-content:center;

    height:36px;

    padding:
        0
        14px;

    border-radius:999px;

    background:
        rgba(255,255,255,0.14);

    border:
        1px solid rgba(255,255,255,0.16);

    backdrop-filter:blur(10px);

    color:#ffffff;

    font-size:11px;

    font-weight:700;
}

/* =========================================================
PRICE
========================================================= */

.akv-card-price{

    position:absolute;

    left:20px;

    bottom:20px;

    z-index:5;
}

.akv-card-price small{

    display:block;

    margin-bottom:4px;

    color:
        rgba(255,255,255,0.74);

    font-size:10px;

    letter-spacing:2px;

    text-transform:uppercase;
}

.akv-card-price strong{

    display:block;

    color:#ffffff;

    font-size:26px;

    line-height:1;

    letter-spacing:-1px;
}

.akv-card-price span{

    color:
        rgba(255,255,255,0.78);

    font-size:12px;
}

/* =========================================================
CONTENT
========================================================= */

.akv-card-content{

    padding:18px;
}

/* =========================================================
TOP
========================================================= */

.akv-card-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:12px;

    margin-bottom:10px;
}

.akv-card-top h3{

    margin:0;

    color:#111827;

    font-size:24px;

    line-height:1.18;

    letter-spacing:-1px;

    flex:1;
}

.akv-card-rating{

    display:flex;

    align-items:center;

    justify-content:center;

    min-width:58px;

    height:30px;

    border-radius:999px;

    background:#f8f5ef;

    color:#9a7a46;

    font-size:11px;

    font-weight:700;

    flex-shrink:0;
}

/* =========================================================
DESCRIPTION
========================================================= */

.akv-card-description{

    color:#6b7280;

    font-size:12px;

    line-height:1.7;

    margin-top:2px;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

    text-overflow:ellipsis;

    min-height:40px;
}

/* =========================================================
FACILITIES
========================================================= */

.akv-card-facilities{

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-top:18px;
}

.akv-facility-item{

    display:flex;

    align-items:center;

    justify-content:center;

    height:28px;

    padding:
        0
        12px;

    border-radius:999px;

    background:
        rgba(198,165,107,0.10);

    color:#9a7a46;

    font-size:11px;

    font-weight:700;
}

/* =========================================================
FOOTER
========================================================= */

.akv-card-footer{

    margin-top:20px;

    padding-top:18px;

    border-top:
        1px solid rgba(0,0,0,0.06);
}

.akv-card-button{

    display:flex;

    align-items:center;

    justify-content:space-between;

    height:48px;

    padding:
        0
        18px;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            #111827,
            #1f2937
        );

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    transition:.3s ease;
}

.akv-card:hover .akv-card-button{

    transform:
        translateY(-2px);
}

.akv-card-button span{

    font-size:18px;
}

/* =========================================================
EMPTY STATE
========================================================= */

.akv-empty-state{

    grid-column:1/-1;

    padding:
        80px
        30px;

    border-radius:32px;

    background:#ffffff;

    text-align:center;

    box-shadow:
        0 20px 60px rgba(0,0,0,0.06);
}

.akv-empty-state h3{

    margin:
        0
        0
        14px;

    color:#111827;

    font-size:32px;
}

.akv-empty-state p{

    margin:0;

    color:#6b7280;

    line-height:1.8;
}

/* =========================================================
LOADING
========================================================= */

.akv-loading-wrapper{

    grid-column:1/-1;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    padding:
        100px
        20px;

    border-radius:32px;

    background:#ffffff;

    text-align:center;

    box-shadow:
        0 20px 60px rgba(0,0,0,0.06);
}

.akv-loading-spinner{

    width:60px;

    height:60px;

    margin-bottom:24px;

    border-radius:50%;

    border:
        4px solid rgba(198,165,107,0.16);

    border-top:
        4px solid #c6a56b;

    animation:
        akvSpin 1s linear infinite;
}

.akv-loading-wrapper h3{

    margin:
        0
        0
        12px;

    color:#111827;

    font-size:28px;
}

.akv-loading-wrapper p{

    max-width:420px;

    margin:0;

    color:#6b7280;

    line-height:1.8;
}

@keyframes akvSpin{

    from{

        transform:rotate(0deg);
    }

    to{

        transform:rotate(360deg);
    }

}

/* =========================================================
TABLET
========================================================= */

@media(max-width:1200px){

    .akv-villa-grid{

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .akv-filter-box{

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

/* =========================================================
MOBILE
========================================================= */

@media(max-width:768px){

    .akv-container{

        padding:
            0
            18px;
    }

    .akv-archive-hero{

        min-height:auto;

        padding:
            140px
            0
            120px;
    }

    .akv-archive-hero-content h1{

        font-size:42px;

        line-height:1.08;

        letter-spacing:-2px;
    }

    .akv-archive-hero-content p{

        font-size:15px;

        line-height:1.8;
    }

    .akv-hero-trust{

        gap:12px;
    }

    .akv-trust-item{

        flex:1;

        min-width:unset;

        padding:18px;
    }

    .akv-trust-item strong{

        font-size:22px;
    }

    /* =====================================================
    FILTER
    ====================================================== */

    .akv-filter-section{

        margin-top:-50px;

        padding-bottom:40px;
    }

    .akv-filter-wrapper{

        padding:24px;

        border-radius:28px;
    }

    .akv-filter-header{

        flex-direction:column;

        align-items:start;

        margin-bottom:24px;
    }

    .akv-filter-header h2{

        font-size:28px;

        line-height:1.12;
    }

    .akv-filter-header p{

        max-width:100%;

        font-size:14px;
    }

    .akv-filter-box{

        grid-template-columns:1fr;

        gap:16px;
    }

    .akv-filter-group input,
    .akv-filter-group select{

        height:56px;

        border-radius:16px;
    }

    /* =====================================================
    RESULT
    ====================================================== */

    .akv-villa-section{

        padding-bottom:80px;
    }

    .akv-result-header{

        flex-direction:column;

        align-items:start;

        margin-bottom:28px;
    }

    .akv-result-header h2{

        font-size:34px;

        line-height:1.12;
    }

    .akv-result-header p{

        max-width:100%;

        font-size:14px;
    }

    .akv-result-meta{

        gap:10px;
    }

    .akv-result-count,
    .akv-active-filter{

        width:100%;

        justify-content:flex-start;

        padding:
            0
            16px;
    }

    /* =====================================================
    GRID
    ====================================================== */

    .akv-villa-grid{

        grid-template-columns:1fr;

        gap:20px;
    }

    /* =====================================================
    CARD
    ====================================================== */

    .akv-card{

        border-radius:24px;
    }

    .akv-card-image{

        height:190px;
    }

    .akv-card-content{

        padding:16px;
    }

    .akv-card-top{

        display:flex;

        align-items:flex-start;

        justify-content:space-between;

        gap:10px;
    }

    .akv-card-top h3{

        font-size:18px;

        line-height:1.35;

        letter-spacing:-0.5px;

        flex:1;
    }

    .akv-card-price strong{

        font-size:22px;
    }

    .akv-card-button{

        height:44px;

        border-radius:14px;

        font-size:11px;
    }

}