/*
=========================================
LAYOUT
=========================================
*/

.page-id-438 main#content{

    margin:0 6%;

}

@media(max-width:1200px){

    .page-id-438 main#content{
        margin:0 4%;
    }

}

@media(max-width:768px){

    .page-id-438 main#content{
        margin:0 16px;
    }

}

/*
=========================================
TITLE
=========================================
*/

.page-id-438 h1{

    font-size:72px;

    line-height:1;

    font-weight:700;

    letter-spacing:-3px;

    margin:
        20px 0 30px;

    color:#111827;

}

@media(max-width:768px){

    .page-id-438 h1{

        font-size:44px;

        margin-bottom:24px;

    }

}

/*
=========================================
FILTER BAR
=========================================
*/

.approved-hosts-filters{

    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:18px;

    align-items:center;

    background:#ffffff;

    padding:18px;

    border-radius:24px;

    border:
        1px solid #e8edf3;

    box-shadow:
        0 8px 24px rgba(15,23,42,.04);

    margin:
        0 0 40px;

}

/*
=========================================
FILTER ITEMS
=========================================
*/

.approved-hosts-filters > *{

    width:100%;

    display:flex;

    align-items:center;

}

/*
=========================================
CITY WRAPPER FIX
=========================================
*/

.ch-city-autocomplete{

    width:100%;

    display:flex;

    align-items:center;

    margin:0 !important;

    padding:0 !important;

}

/*
=========================================
FIELDS
=========================================
*/

.approved-hosts-filters select,
.ch-city-autocomplete input{

    width:100% !important;

    height:54px !important;

    min-height:54px;

    border:none;

    border-radius:18px;

    background:#f8fafc;

    padding:0 18px;

    font-size:15px;

    font-weight:500;

    color:#0f172a;

    transition:
        all .22s ease;

    appearance:none;

    box-sizing:border-box;

    margin:0 !important;

    line-height:54px;

    vertical-align:middle;

    box-shadow:
        inset 0 0 0 1px #dbe3ec;

}

/*
=========================================
CITY INPUT FIX
=========================================
*/

.ch-city-autocomplete input{

    display:block;

    position:relative;

    top:0;

}

/*
=========================================
SELECT STYLE
=========================================
*/

.approved-hosts-filters select{

    cursor:pointer;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 9 12 14 7'%3E%3C/polyline%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:
        right 18px center;

    padding-right:50px;

}

/*
=========================================
PLACEHOLDER
=========================================
*/

.ch-city-autocomplete input::placeholder{

    color:#64748b;

    opacity:1;

}

/*
=========================================
HOVER
=========================================
*/

.approved-hosts-filters select:hover,
.ch-city-autocomplete input:hover{

    background:#ffffff;

    transform:
        translateY(-1px);

    box-shadow:
        inset 0 0 0 1px #c8d2dd,
        0 6px 18px rgba(15,23,42,.06);

}

/*
=========================================
FOCUS
=========================================
*/

.approved-hosts-filters select:focus,
.ch-city-autocomplete input:focus{

    outline:none;

    background:#ffffff;

    box-shadow:
        inset 0 0 0 2px #00a7b5,
        0 8px 22px rgba(0,167,181,.14);

}

/*
=========================================
GRID
=========================================
*/

.approved-hosts-grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fill,minmax(330px,1fr));

    gap:30px;

    align-items:start;

}

/*
=========================================
CARD
=========================================
*/

.approved-host-card{

    display:flex;

    flex-direction:column;

    background:#ffffff;

    border-radius:28px;

    overflow:hidden;

    text-decoration:none !important;

    color:inherit;

    transition:
        transform .28s ease,
        box-shadow .28s ease;

    border:
        1px solid rgba(15,23,42,.05);

    box-shadow:
        0 12px 34px rgba(15,23,42,.05);

    position:relative;

}

.approved-host-card:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 24px 50px rgba(15,23,42,.12);

}

/*
=========================================
IMAGE
=========================================
*/

.card-carousel{

    position:relative;

    width:100%;

    height:250px;

    overflow:hidden;

    background:#f1f5f9;

}

.card-carousel img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:none;

}

.card-carousel img.active{
    display:block;
}

/*
=========================================
CONTENT
=========================================
*/

.card-content{

    padding:24px;

}

/*
=========================================
TITLE
=========================================
*/

.card-content h3{

    font-size:25px;

    line-height:1.2;

    font-weight:700;

    letter-spacing:-.6px;

    margin:
        0 0 12px;

    color:#0f172a;

}

/*
=========================================
BADGE
=========================================
*/

.host-type-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:7px 14px;

    border-radius:999px;

    background:#ecfeff;

    color:#0891b2;

    font-size:12px;

    font-weight:700;

    margin-bottom:16px;

    width:max-content;

    text-transform:capitalize;

}

/*
=========================================
DESCRIPTION
=========================================
*/

.description{

    font-size:14px;

    line-height:1.7;

    color:#64748b;

    margin-bottom:20px;

}

/*
=========================================
FEATURES
=========================================
*/

.listing-features{

    list-style:none;

    margin:0;

    padding:0;

    display:flex;

    flex-wrap:wrap;

    gap:10px;

}

.listing-features li{

    display:flex;

    align-items:center;

    gap:6px;

    background:#f8fafc;

    border:
        1px solid #e2e8f0;

    padding:8px 12px;

    border-radius:12px;

    font-size:13px;

    color:#334155;

    line-height:1;

}

/*
=========================================
TABLET
=========================================
*/

@media(max-width:1100px){

    .approved-hosts-filters{

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }

    .approved-hosts-grid{

        grid-template-columns:
            repeat(auto-fill,minmax(280px,1fr));

    }

}

/*
=========================================
MOBILE
=========================================
*/

@media(max-width:768px){

    .approved-hosts-filters{

        grid-template-columns:1fr;

        padding:16px;

        gap:14px;

        border-radius:22px;

    }

    .approved-hosts-filters select,
    .ch-city-autocomplete input{

        height:52px !important;

        min-height:52px;

        font-size:14px;

        border-radius:16px;

        line-height:52px;

    }

    .approved-hosts-grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .card-carousel{
        height:220px;
    }

    .card-content{
        padding:20px;
    }

    .card-content h3{
        font-size:22px;
    }

}