/* ==========================================================
   BOOKING SEARCH MODULE FIX
   File: templates/default/css/booking-search-fix.css
   Scope: only Rezervari / booking page search form
   Goal: match approved mockup layout
   ========================================================== */

#page #content.booking-modern-page{
    background:#f7f8fb !important;
}

/* Position the search card under the hero */
#page #search-page{
    position:relative !important;
    z-index:50 !important;
    margin-top:-86px !important;
    margin-bottom:34px !important;
    background:transparent !important;
}

#page #search-page > .container{
    width:100% !important;
    max-width:1180px !important;
    padding-left:15px !important;
    padding-right:15px !important;
}

/* Search card */
#page #search-page .booking-search{
    display:block !important;
    width:100% !important;
    background:#fff !important;
    border:1px solid rgba(23,55,99,.08) !important;
    border-radius:16px !important;
    box-shadow:0 18px 44px rgba(23,55,99,.14) !important;
    padding:24px 26px 26px !important;
    overflow:visible !important;
}

/* First row: make Bootstrap row a fixed grid */
#page #search-page .booking-search > .row:first-child{
    display:grid !important;
    grid-template-columns: 1.45fr 1fr 1fr .95fr .75fr 92px !important;
    align-items:center !important;
    column-gap:0 !important;
    row-gap:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 0 22px !important;
    border-bottom:1px solid rgba(23,55,99,.10) !important;
}

#page #search-page .booking-search > .row:first-child:before,
#page #search-page .booking-search > .row:first-child:after{
    display:none !important;
    content:none !important;
}

#page #search-page .booking-search > .row:first-child > div{
    float:none !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    height:56px !important;
    padding:0 18px !important;
    margin:0 !important;
    border-right:1px solid rgba(23,55,99,.11) !important;
    display:flex !important;
    align-items:center !important;
    overflow:visible !important;
}

#page #search-page .booking-search > .row:first-child > div:first-child{
    padding-left:0 !important;
}

#page #search-page .booking-search > .row:first-child > div:last-child{
    padding-right:0 !important;
    border-right:0 !important;
    justify-content:flex-end !important;
}

/* Reset form internals */
#page #search-page .booking-search .form-group,
#page #search-page .booking-search .input-wrapper,
#page #search-page .booking-search .datepicker-wrapper,
#page #search-page .booking-search .input-group{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

#page #search-page .booking-search .form-inline{
    display:flex !important;
}

#page #search-page .booking-search .input-wrapper{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

#page #search-page .booking-search .datepicker-wrapper{
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr) 18px minmax(0,1fr) !important;
    align-items:center !important;
    gap:10px !important;
}

#page #search-page .booking-search .input-group{
    display:flex !important;
    align-items:center !important;
}

#page #search-page .booking-search .from-date,
#page #search-page .booking-search .to-date{
    width:100% !important;
    min-width:0 !important;
}

/* Icons */
#page #search-page .booking-search .input-wrapper > i,
#page #search-page .booking-search .datepicker-wrapper > i,
#page #search-page .booking-search .input-group-addon i{
    flex:0 0 auto !important;
    width:18px !important;
    color:#173763 !important;
    opacity:.62 !important;
    font-size:16px !important;
    text-align:center !important;
}

/* Small labels */
#page #search-page .booking-search .input-group-addon{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    border:0 !important;
    background:transparent !important;
    color:#173763 !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.05em !important;
    padding:0 8px 0 0 !important;
    white-space:nowrap !important;
}

/* Inputs/selects */
#page #search-page .booking-search .form-control,
#page #search-page .booking-search select.form-control,
#page #search-page .booking-search .selectpicker,
#page #search-page .booking-search .bootstrap-select > .dropdown-toggle{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#526179 !important;
    font-size:14px !important;
    line-height:38px !important;
    text-align:left !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

#page #search-page .booking-search .bootstrap-select{
    width:100% !important;
    min-width:0 !important;
}

#page #search-page .booking-search .bootstrap-select > .dropdown-toggle{
    padding-right:20px !important;
}

#page #search-page .booking-search .from-date input,
#page #search-page .booking-search .to-date input{
    width:100% !important;
    min-width:0 !important;
    text-align:left !important;
}

#page #search-page .booking-search input::placeholder{
    color:#526179 !important;
    opacity:1 !important;
}

/* Search button */
#page #search-page .booking-search button.btn-primary{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:52px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:8px !important;
    background:#173763 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    box-shadow:none !important;
}

/* Sliders row */
#page #search-page .booking-search .row.mb5.mt10{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    align-items:start !important;
    column-gap:92px !important;
    width:100% !important;
    margin:24px 0 0 !important;
    padding:0 74px !important;
}

#page #search-page .booking-search .row.mb5.mt10:before,
#page #search-page .booking-search .row.mb5.mt10:after{
    display:none !important;
    content:none !important;
}

#page #search-page .booking-search .row.mb5.mt10 > .col-sm-6{
    float:none !important;
    width:auto !important;
    padding:0 !important;
}

#page #search-page .booking-search .row.mb5.mt10 label{
    float:none !important;
    display:block !important;
    width:100% !important;
    padding:0 !important;
    margin:0 0 14px !important;
    color:#173763 !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    text-align:center !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

#page #search-page .booking-search .row.mb5.mt10 .col-sm-9{
    float:none !important;
    width:100% !important;
    padding:0 !important;
}

#page #search-page .nouislider-wrapper{
    text-align:center !important;
    color:#6b7688 !important;
    font-size:14px !important;
}

#page #search-page .nouislider{
    height:4px !important;
    margin:0 0 16px !important;
    background:#5a8dff !important;
    border:0 !important;
    box-shadow:none !important;
}

#page #search-page .nouislider .noUi-connect{
    background:#173763 !important;
}

#page #search-page .nouislider .noUi-handle{
    width:18px !important;
    height:18px !important;
    top:-7px !important;
    border-radius:50% !important;
    background:#fff !important;
    border:1px solid #8ba2c7 !important;
    box-shadow:0 2px 8px rgba(23,55,99,.18) !important;
}

#page #search-page .nouislider .noUi-handle:before,
#page #search-page .nouislider .noUi-handle:after{
    display:none !important;
}

#page #search-page .slider-target{
    width:auto !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#6b7688 !important;
    text-align:center !important;
}

/* Debug helpers: add class bsf-debug on body if needed */
body.bsf-debug #page #search-page .booking-search > .row:first-child{
    outline:2px solid red !important;
}
body.bsf-debug #page #search-page .booking-search > .row:first-child > div{
    outline:1px dashed blue !important;
}

/* Responsive */
@media(max-width:991px){
    #page #search-page{
        margin-top:-46px !important;
    }

    #page #search-page .booking-search{
        padding:18px !important;
    }

    #page #search-page .booking-search > .row:first-child{
        display:block !important;
        padding-bottom:12px !important;
    }

    #page #search-page .booking-search > .row:first-child > div{
        display:block !important;
        width:100% !important;
        height:auto !important;
        padding:12px 0 !important;
        border-right:0 !important;
        border-bottom:1px solid rgba(23,55,99,.10) !important;
    }

    #page #search-page .booking-search > .row:first-child > div:last-child{
        border-bottom:0 !important;
    }

    #page #search-page .booking-search button.btn-primary{
        width:100% !important;
        max-width:none !important;
    }

    #page #search-page .booking-search .row.mb5.mt10{
        display:block !important;
        padding:0 !important;
        column-gap:0 !important;
    }

    #page #search-page .booking-search .row.mb5.mt10 > .col-sm-6{
        padding:12px 0 !important;
    }
}

@media(max-width:767px){
    #page #search-page > .container{
        width:calc(100% - 24px) !important;
        padding:0 !important;
    }
}



/* PATCH 34 - select fix: keep native select working, hide duplicated bootstrap-select UI */
/* The previous fix hid the real <select>. This keeps the real select usable. */

#page #search-page .booking-search select.selectpicker,
#page #search-page .booking-search select.form-control.selectpicker{
    display:block !important;
    visibility:visible !important;
    position:relative !important;
    left:auto !important;
    width:100% !important;
    height:38px !important;
    min-height:38px !important;
    opacity:1 !important;
    pointer-events:auto !important;
    appearance:auto !important;
    -webkit-appearance:menulist !important;
    -moz-appearance:menulist !important;
    padding:0 22px 0 0 !important;
    border:0 !important;
    background:transparent !important;
    color:#526179 !important;
    font-size:14px !important;
    line-height:38px !important;
    box-shadow:none !important;
}

/* Hide Bootstrap-select generated duplicate only inside booking search */
#page #search-page .booking-search select.selectpicker + .bootstrap-select,
#page #search-page .booking-search .bootstrap-select{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

/* Adults/children native selects should not overlap labels */
#page #search-page .booking-search .input-group{
    gap:4px !important;
}

#page #search-page .booking-search .input-group-addon{
    flex:0 0 auto !important;
}
