/* =========================================
   DONEDEAL STYLE HOMEPAGE HERO
========================================= */

#sp-banner{
    position:relative;
    min-height:500px !important;
    background-size:cover;
    background-position:center;
    overflow:visible !important;
    display:flex;
    align-items:flex-start;
}



/* =========================================
   SEARCH MODULE WRAPPER
========================================= */

#jcls-search{
    position:relative;
    z-index:5;
    width:100%;
    max-width:100%;
    padding-top:70px;

    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
}

/* =========================================
   HEADING
========================================= */

.jcls-search-form h1{
    color:#fff !important;
    font-size:56px;
    font-weight:700;
    line-height:1.12;
    width:100%;
    margin-bottom:36px;
    text-align:center;
}

/* HIDE UNUSED TEXT */
.activeAds,
.search-description{
    display:none !important;
}

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

.jcls-search-bar{
    width:460px;
    margin-right:80px;
}

/* SEARCH CARD */
.jcls-search-bar form{
    width:420px;
    background:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:0 20px 55px rgba(0,0,0,0.22);
}

/* =========================================
   STACK FIELDS VERTICALLY
========================================= */

.fields-container{
    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;
}

.form-field{
    width:100%;
    position:relative;
}

/* REMOVE OLD DIVIDERS */
.form-field:after{
    display:none !important;
}

/* =========================================
   INPUTS
========================================= */

#searchbar,
#locationSearch,
#radius,
#categorySearch,
#adTypeClassifieds{
    width:100% !important;
    height:56px !important;
    border:1px solid #d9d9d9 !important;
    border-radius:12px !important;
    background:#fff !important;
    padding:0 18px !important;
    font-size:15px !important;
    color:#222 !important;
    box-shadow:none !important;
    outline:none !important;
    appearance:none;
}

/* PLACEHOLDERS */
#searchbar::placeholder,
#locationSearch::placeholder{
    color:#666 !important;
    opacity:1;
}

/* =========================================
   LOCATION FIELD
========================================= */

.location-dropdown{
    width:100%;
}

.location-input-wrap{
    position:relative;
    width:100%;
}

.location-search-icon{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#777;
    font-size:18px;
    z-index:2;
}

.location-arrow{
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    color:#777;
    font-size:18px;
    z-index:2;
    transition:0.2s;
}

#locationSearch{
    height:56px;
    border-radius:14px;
    padding-left:46px !important;
    padding-right:46px !important;
    font-size:15px;
}


/* =========================================
   LOCATION DROPDOWN
========================================= */

.location-results{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    width:100%;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:14px;
    overflow-y:auto;
    box-shadow:0 10px 25px rgba(0,0,0,0.12);
    z-index:99999;
    max-height:320px;
}

/* =========================================
   DROPDOWN SEARCH FIELD
========================================= */

.location-filter-wrap{
    padding:12px;
    border-bottom:1px solid #f1f1f1;
    background:#fff;
    position:sticky;
    top:0;
    z-index:20;
}

#locationFilter{
    width:100%;
    height:42px;
    border:1px solid #dcdcdc;
    border-radius:10px;
    padding:0 14px;
    font-size:14px;
    outline:none;
    box-sizing:border-box;
    background:#fff;
    color:#222;
}

#locationFilter:focus{
    border-color:#00bcd4;
}

/* COUNTY + TOWN ROWS */
.county-item,
.town-item,
.town-search-item,
.back-to-counties,
.all-ireland,
.county-select{
    padding:9px 16px;
    min-height:42px;
    font-size:13px;
    color:#222 !important;
    background:#fff;
    border-bottom:1px solid #f1f1f1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    transition:0.2s;
    line-height:1.4;
}

.county-item:hover,
.town-item:hover,
.town-search-item:hover,
.back-to-counties:hover,
.all-ireland:hover{
    background:#f8f8f8;
}

.location-results div:last-child{
    border-bottom:none;
}

.county-arrow{
    color:#999;
    font-size:14px;
}

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

@media(max-width:991px){

    #sp-banner{
        min-height:650px !important;
    }

    #jcls-search{
        padding-top:70px;
        padding-left:20px;
        padding-right:20px;
    }

    .jcls-search-form h1{
        font-size:38px;
        max-width:100%;
        text-align:center;
        margin-bottom:28px;
    }

    .jcls-search-bar{
        justify-content:center;
    }

    .jcls-search-bar form{
        width:100%;
        max-width:460px;
        padding:22px;
    }
}

    /* SELECT COUNTY ROW */
    .county-select{
        font-weight:600;
        color:#222 !important;
    }
    
/* SMOOTH SCROLL */
.location-results::-webkit-scrollbar{
    width:6px;
}

.location-results::-webkit-scrollbar-thumb{
    background:#d0d0d0;
    border-radius:20px;
}

/* AUTOCOMPLETE RESULTS */
.town-search-item{
    padding:12px 16px;
    border-bottom:1px solid #f1f1f1;
    cursor:pointer;
    background:#fff;
}

.town-search-item:hover{
    background:#f8f8f8;
}

/* FEATURED COUNTY */
.county-item.featured-county{
    background:#f7fbff;
    font-weight:600;
}

.county-select,
.county-select span,
.county-select *{
    color:#222 !important;
}

/* =========================================
   FIX DROPDOWN POSITIONING
========================================= */

.location-dropdown{
    position:relative;
}

/* =========================================
   FIX DROPDOWN WIDTH + LAYER
========================================= */

.location-results{
    width:100%;
    min-width:100%;
    box-sizing:border-box;
    z-index:999999 !important;
}

/* =========================================
   FIX INPUT TEXT CUTTING
========================================= */

#locationSearch{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* =========================================
   FIX LONG TOWN NAMES
========================================= */

.town-item,
.town-search-item,
.county-item,
.county-select{
    gap:10px;
    word-break:break-word;
}

/* =========================================
   BETTER HOVER FEEL
========================================= */

.county-item:hover,
.town-item:hover,
.town-search-item:hover,
.back-to-counties:hover,
.all-ireland:hover,
.county-select:hover{
    background:#f5f7fa;
}

/* =========================================
   ACTIVE CLICK FEEDBACK
========================================= */

.county-item:active,
.town-item:active,
.town-search-item:active{
    transform:scale(0.995);
}

/* =========================================
   FIX MOBILE DROPDOWN OVERFLOW
========================================= */

@media(max-width:767px){

    .location-results{
        max-height:280px;
        border-radius:14px;
    }

    #locationSearch{
        font-size:16px !important;
    }

}

#sp-header,
#sp-banner,
#sp-banner .container,
#sp-banner .container-inner{
    overflow:visible !important;
}

.select2-container{
    width:100% !important;
}

.select2-results__options{
    max-height:260px !important;
}

/* =========================================
   FIX LOCATION DROPDOWN CLIPPING
========================================= */

.manage-reservation,
.classifiedContainer,
.defaultAdStyle,
.location,
.location-dropdown,
.town-dropdown{
    overflow:visible !important;
}

/* MODERN RESULT ITEMS */
.location-results .town-item{
    padding:14px 16px;
    font-size:14px;
    background:#fff;
    border-bottom:1px solid #f1f1f1;
    transition:0.15s ease;
}

.location-results .town-item:hover{
    background:#f7f7f7;
}

.location-results .town-item:last-child{
    border-bottom:none;
}
.location-input-wrap{
    position:relative;
    width:100%;
}

.location-search-icon{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#777;
    font-size:15px;
    z-index:5;
    pointer-events:none;
}

.location-arrow{
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    color:#777;
    font-size:14px;
    z-index:5;
    pointer-events:none;
    transition:0.2s ease;
}

.location-dropdown.active .location-arrow{
    transform:translateY(-50%) rotate(180deg);
}

/* =========================================
   FORCE TOWN SEARCH DROPDOWN BELOW INPUT
========================================= */

/* parent */
.location-dropdown.town-dropdown{
    position:relative !important;
    overflow:visible !important;
}

/* input wrapper */
.location-dropdown.town-dropdown .location-input-wrap{
    position:relative !important;
    z-index:1001 !important;
}

/* dropdown */
#townResults.town-results{
    position:absolute !important;

    top:100% !important;
    left:0 !important;
    right:0 !important;

    margin-top:8px !important;

    width:100% !important;

    background:#fff !important;

    border:1px solid #ddd !important;

    border-radius:12px !important;

    max-height:250px !important;

    overflow-y:auto !important;

    display:none;

    z-index:99999 !important;

    box-shadow:0 6px 18px rgba(0,0,0,0.08) !important;
}

/* items */
#townResults .town-item{
    padding:12px 16px;
    cursor:pointer;
}

/* hover */
#townResults .town-item:hover{
    background:#f5f5f5;
}

/* FIX TOWN SEARCH INPUT LAYOUT */

.location-dropdown.town-dropdown input#townSearch{
    float:none !important;
    width:100% !important;
    display:block !important;
    margin:0 !important;
}

/* wrapper */
.location-dropdown.town-dropdown .location-input-wrap{
    position:relative !important;
    width:100% !important;
}

/* dropdown */
#townResults.town-results{
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;

    margin-top:8px !important;

    z-index:99999 !important;
}

/* =========================================
   SEARCH BOX OVER HERO IMAGE
========================================= */

/* hero section */
#sp-banner{
    position:relative !important;
    min-height:620px !important;
}

/* search module */
#jcls-search{
    position:absolute !important;
    top:120px;
    right:80px;
    z-index:9999;
    width:auto !important;
    padding-top:0 !important;
}

/* remove old spacing */
.jcls-search-bar{
    margin:0 !important;
    width:460px;
}

/* form card */
.jcls-search-bar form{
    width:420px;
}

/* HERO SECTION */
#sp-banner{
    position:relative;
    min-height:620px !important;
}

/* SEARCH OVER IMAGE */
#jcls-search{
    position:absolute;
    top:120px;
    right:80px;
    z-index:9999;
    width:auto;
    padding-top:0;
}

/* SEARCH CARD */
.jcls-search-bar{
    width:460px;
    margin:0;
}

/* =========================================
   FINAL PREMIUM HOMEPAGE HERO
========================================= */

.homepage-hero{
    position:relative;
    height:500px;
    width:100%;
    overflow:hidden;

    background-image:url('/images/homepage-banner/banner.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

/* SOFT PREMIUM BLUR */
.homepage-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background-image:url('/images/homepage-banner/banner.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    filter:blur(2px);
    transform:scale(1.03);

    z-index:1;
}

/* DARK OVERLAY */
.hero-overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.28);

    z-index:2;
}

/* CONTENT */
.hero-content{
    position:relative;
    z-index:5;
    height:100%;
}

/* TITLE */
.hero-content h1{
    position:absolute;

    top:70px;

    left:50%;

    transform:translateX(-50%);

    width:100%;

    max-width:900px;

    text-align:center;

    color:#fff !important;

    font-size:42px;

    font-weight:700;

    line-height:1.18;

    margin:0;

    z-index:30;

    text-shadow:0 4px 18px rgba(0,0,0,0.55);
}

/* SEARCH MODULE POSITION */
#jcls-search{
    position:absolute !important;

    top:135px !important;

    right:60px !important;

    z-index:50 !important;

    width:auto !important;

    padding-top:0 !important;
}

/* SEARCH CARD */
.jcls-search-bar{
    width:430px !important;
    margin:0 !important;
}

/* CARD */
.jcls-search-bar form{
    width:100% !important;

    background:rgba(255,255,255,0.97) !important;

    border-radius:24px !important;

    padding:26px !important;

    box-shadow:0 18px 45px rgba(0,0,0,0.22) !important;

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

/* BUTTON */
#jcls-search button,
#jcls-search .ui-button,
#jcls-search .ui-ad-button,
#jcls-search input[type="submit"]{

    width:100% !important;

    height:58px !important;

    border:none !important;

    border-radius:14px !important;

    background:#1677ff !important;

    background-image:none !important;

    color:#fff !important;

    font-size:18px !important;

    font-weight:700 !important;

    box-shadow:none !important;
}

/* BUTTON HOVER */
#jcls-search button:hover,
#jcls-search .ui-button:hover,
#jcls-search .ui-ad-button:hover,
#jcls-search input[type="submit"]:hover{

    background:#0b5ed7 !important;
}

/* MOBILE */
@media(max-width:991px){

    .homepage-hero{
        height:650px;
    }

    .hero-content h1{
        font-size:36px;
        padding:0 20px;
        top:50px;
    }

    #jcls-search{
        position:relative !important;

        top:auto !important;
        right:auto !important;

        display:flex !important;
        justify-content:center !important;

        padding:160px 20px 0 !important;
    }

    .jcls-search-bar{
        width:100% !important;
        max-width:430px !important;
    }
}

/* =========================================
   FORCE SEARCH CARD TO RIGHT SIDE
========================================= */

#jcls-search{
    position:absolute !important;

    top:135px !important;

    right:60px !important;

    left:auto !important;

    transform:none !important;

    width:430px !important;

    display:block !important;

    margin:0 !important;

    padding:0 !important;

    z-index:999 !important;
}

.jcls-search-bar{
    width:430px !important;

    margin-left:auto !important;

    margin-right:0 !important;
}

.jcm-success-overlay{
    text-align:center;
    background:#fff;
}

.jcm-success-icon{
    width:70px;
    height:70px;
    line-height:70px;
    border-radius:50%;
    background:#dff0d8;
    color:#28a745;
    font-size:40px;
    font-weight:bold;
    margin:0 auto 20px;
}

.jcm-success-overlay h2{
    margin:0 0 10px;
    font-size:36px;
}

.jcm-success-overlay p{
    font-size:20px;
    color:#666;
}