/* ============================================================
   WanderLust — Airbnb-inspired styling
   Palette: Rausch #FF385C, charcoal #222222, gray #717171,
   hairline border #DDDDDD, section wash #F7F7F7
   ============================================================ */

:root{
    --brand-red: #FF385C;
    --brand-red-dark: #D70466;
    --brand-black: #222222;
    --brand-white: #ffffff;
    --brand-gray: #F7F7F7;
    --brand-border: #DDDDDD;
    --brand-muted: #717171;
    --font-main: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ============ base / layout ============ */
html, body{
    margin: 0;
    height: 100%;
}

body{
    font-family: var(--font-main);
    color: var(--brand-black);
    -webkit-font-smoothing: antialiased;
}

#root{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.content{
    flex: 1 0 auto;
}

footer{
    flex-shrink: 0;
}

.page-content{
  padding: 0 1.5rem 2rem 1.5rem;
}

@media (min-width: 768px){
    .page-content{
        padding: 0 3rem 3rem 3rem;
    }
}

a{
    color: inherit;
}

/* ============ navbar ============ */
.navbar{
    min-height: 4.9rem;
    width: 100%;
    background-color: var(--brand-white) !important;
    border-bottom: 1px solid var(--brand-border);
    box-shadow: none;
    padding: 0 1rem;
}

.brand-logo{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--brand-red);
    font-weight: 800;
    font-size: 1.45rem;
    letter-spacing: -0.02em;
    font-family: var(--font-main);
}

.brand-logo i{
    font-size: 1.7rem;
}

.nav-link{
    font-size: 0.95rem !important;
    color: var(--brand-black);
    font-weight: 600;
    padding: 0.5rem 0.9rem !important;
    border-radius: 999px;
    transition: background-color 0.15s ease;
}

.nav-link:hover{
    background-color: var(--brand-gray);
    color: var(--brand-black);
}

.newlist{
    margin-right: 0.25rem !important;
}

.fa-regular{
    font-size: 2rem !important;
}

.nav-icon{
    text-decoration: none;
    color: var(--brand-red);
}

/* pill "search" trigger container, Airbnb-style segmented bar */
.search-bar{
    width: 100%;
}

.search-bar form{
    flex-wrap: wrap;
    gap: 0;
    background: var(--brand-white);
    border: 1px solid var(--brand-border);
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    padding: 0.3rem 0.4rem;
    align-items: center;
    transition: box-shadow 0.15s ease;
}

.search-bar form:hover,
.search-bar form:focus-within{
    box-shadow: 0 2px 10px rgba(0,0,0,0.14);
}

.search-bar .form-control{
    width: 100%;
    border: none !important;
    background: transparent;
    box-shadow: none !important;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 0.55rem 1rem !important;
}

.search-bar .form-control:focus{
    outline: none;
    box-shadow: none !important;
}

.search-bar .form-control::placeholder{
    color: var(--brand-black);
    opacity: 0.85;
}

.search-bar .search-price{
    border-left: 1px solid var(--brand-border) !important;
    border-radius: 0 !important;
}

.search-price{
    width: 100% !important;
    max-width: 8rem;
}

.search-price::placeholder{
    font-size: 0.8rem;
    color: var(--brand-muted) !important;
    opacity: 1 !important;
}

.search-bar button[type="submit"]{
    border-radius: 999px !important;
    padding: 0.55rem 1.1rem !important;
    flex-shrink: 0;
    white-space: nowrap;
}

@media (min-width: 768px){
    .search-bar .form-control{
        width: 220px;
    }
    .search-bar form{
        flex-wrap: nowrap;
    }
    .search-price{
        max-width: 150px;
    }
}

/* ============ footer ============ */
.footer{
    width: 100%;
    background-color: var(--brand-gray);
    color: var(--brand-black);
    border-top: 1px solid var(--brand-border);
}

.footer-top{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2rem;
    max-width: 90rem;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1.5rem;
}

.footer-col h6{
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 0.9rem;
}

.footer-col ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col li{
    margin-bottom: 0.65rem;
}

.footer-col a{
    text-decoration: none;
    color: var(--brand-black);
    font-size: 0.85rem;
    opacity: 0.85;
}

.footer-col a:hover{
    text-decoration: underline;
}

.footer-bottom{
    border-top: 1px solid var(--brand-border);
}

.footer-bottom-inner{
    max-width: 90rem;
    margin: 0 auto;
    padding: 1.1rem 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.f-companyName{
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    align-items: center;
}

.f-companyName a, .f-companyName span{
    text-decoration: none;
    color: var(--brand-black);
    font-size: 0.8rem;
    opacity: 0.85;
}

.terms{
    display: flex;
    gap: 1.2rem;
}

.terms a{
    text-decoration: none;
    color: var(--brand-black);
    font-size: 0.8rem;
    opacity: 0.85;
}

.terms a:hover, .f-companyName a:hover{
    text-decoration: underline;
}

.f-icons a{
    color: var(--brand-black);
    font-size: 1.15rem;
    margin-left: 0.9rem;
    transition: opacity 0.15s ease;
    opacity: 0.75;
}
.f-icons a:hover{
    opacity: 1;
}

/* ============ listing cards ============ */
.list-heading{
    margin-left: 0;
    margin-bottom: 1.25rem;
    font-weight: 700;
}

.listing-card{
    border: none !important;
    background: transparent;
    margin: 0 0 1.75rem 0;
    width: 100% !important;
    border-radius: 0;
    overflow: visible;
    transition: none;
    position: relative;
}

.listing-card:hover{
    transform: none;
    box-shadow: none;
}

.listing-card a{
    text-decoration: none;
    color: var(--brand-black);
    display: block;
}

.listing-card .card-img-wrap{
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.card-img-top{
    border-radius: 1rem !important;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    transition: transform 0.35s ease;
    display: block;
}

.listing-card:hover .card-img-top{
    transform: scale(1.045);
}

.wishlist-heart{
    position: absolute;
    top: 0.7rem;
    right: 0.7rem;
    font-size: 1.35rem;
    color: rgba(0,0,0,0.55);
    -webkit-text-stroke: 1px rgba(255,255,255,0.9);
    z-index: 2;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}

.card-body{
    padding: 0.7rem 0.1rem 0;
    font-weight: 400;
    font-family: var(--font-main) !important;
}

.card a{
    text-decoration: none;
    color: var(--brand-black);
}

.listing-title-row{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}

.listing-title-row b{
    font-size: 0.95rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.listing-rating{
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.listing-rating i{
    font-size: 0.78rem;
}

.listing-sub{
    color: var(--brand-muted);
    font-size: 0.9rem;
    margin: 0.1rem 0 0;
}

.listing-price{
    margin-top: 0.3rem;
    font-size: 0.95rem;
}

.listing-price b{
    font-weight: 600;
}

.listing-price .per-night{
    color: var(--brand-black);
    font-weight: 400;
}

.card-img-overlay{
    display: none;
}

.list-content{
  margin: 0.5rem 0 0 0 !important;
  padding: 0;
}

@media (min-width: 768px){
    .list-content{
        margin: 1.25rem 0 0 0 !important;
        padding: 0;
    }
}

/* ============ show list page ============ */
.show-list{
    padding: 0;
}

.show-list h3{
    font-weight: 700;
    margin-top: 1.5rem;
}

.show-list .listing-card{
    max-width: none;
    width: 100% !important;
}

.show-list .card-img-wrap,
.show-list .card-img-top{
    aspect-ratio: auto;
}

.show-list .card-img-top{
    height: 22rem !important;
    border-radius: 1.25rem !important;
}

.show-list .card-body{
    padding: 1rem 0;
}

.btns{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    margin: 1.25rem 0;
    flex-wrap: wrap;
}

.review-body{
    min-height: 10.625rem;
    border-radius: 1rem;
}

.reviewForm{
    max-width: 40rem;
}

.reviewForm hr{
    border-color: var(--brand-border);
    opacity: 1;
    margin: 1.75rem 0;
}

/* generic bootstrap card polish (review cards etc) — excludes listing cards, which stay borderless */
.card:not(.listing-card){
    border: 1px solid var(--brand-border) !important;
    border-radius: 1rem !important;
}

/* ============ add / edit list form ============ */
.ogImage{
    max-width: 18.75rem;
    width: 100%;
    height: auto !important;
    border-radius: 0.75rem;
}

#map {
    height: 400px;
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid var(--brand-border);
}

/* form controls, Airbnb-style: subtle rounded rectangles, dark focus ring */
.form-control{
    border-radius: 0.6rem;
    border: 1px solid var(--brand-border);
    padding: 0.65rem 0.9rem;
}

.form-control:focus{
    border-color: var(--brand-black);
    box-shadow: 0 0 0 1px var(--brand-black);
}

.form-label{
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 0.35rem;
}

/* ============ filters bar — Airbnb category rail ============ */
.filters-container{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px solid var(--brand-border);
    padding-bottom: 0.75rem;
    margin-bottom: 1.5rem !important;
}

.filter{
    padding-bottom: 0.5rem;
    border-bottom: 2px solid transparent;
    transition: border-color 0.15s ease, opacity 0.15s ease;
    opacity: 0.65;
}

.filter:hover{
    opacity: 1;
    border-color: #B0B0B0;
    cursor: pointer;
}

.filter:first-child{
    opacity: 1;
    border-color: var(--brand-black);
}

.filter-icon {
  font-size: 1.35rem;
  margin-right: 1.5rem;
  color: var(--brand-black);
  cursor: pointer;
  transition: transform 0.15s ease;
}

.filter:hover .filter-icon{
    transform: translateY(-2px);
}

.filter-text {
  font-size: 0.75rem;
  margin-top: 0.35rem;
  margin-right: 1.5rem;
  text-align: center;
  font-weight: 600;
  color: var(--brand-black);
  white-space: nowrap;
}

.toggle-switch{
    border: 1px solid var(--brand-border);
    border-radius: 1rem;
    padding: 1rem;
    width: 100%;
    max-width: 16rem;
    height: auto;
    margin-left: 0;
    margin-bottom: 1rem;
    background: var(--brand-white);
}

@media (min-width: 768px){
    .toggle-switch{
        margin-left: 1.5rem;
    }
}

.form-check-input,.form-check-label{
    cursor: pointer !important;
}

.form-check-input:checked{
    background-color: var(--brand-black) !important;
    border-color: var(--brand-black) !important;
}

.gst{
    display: none;
}
.starability-result {
  position: relative;
  width: 150px;
  height: 30px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII=");
  font-size: 0.1em;
  color: transparent;
}

.starability-result:after {
  content: ' ';
  position: absolute;
  left: 0;
  height: 30px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII=");
  background-position: 0 -30px;
}

.starability-result[data-rating="5"]::after {
  width: 150px;
}

.starability-result[data-rating="4"]::after {
  width: 120px;
}

.starability-result[data-rating="3"]::after {
  width: 90px;
}

.starability-result[data-rating="2"]::after {
  width: 60px;
}

.starability-result[data-rating="1"]::after {
  width: 30px;
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi) {
  .starability-result {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg==");
    background-size: 30px auto;
  }
  .starability-result:after {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg==");
    background-size: 30px auto;
  }
}

.starability-slot {
  display: block;
  position: relative;
  width: 150px;
  min-height: 60px;
  padding: 0;
  border: none;
}

.starability-slot > input {
  position: absolute;
  margin-right: -100%;
  opacity: 0;
}

.starability-slot > input:checked ~ label,
.starability-slot > input:focus ~ label {
  background-position: 0 0;
}

.starability-slot > input:checked + label,
.starability-slot > input:focus + label {
  background-position: 0 -30px;
}

.starability-slot > input[disabled]:hover + label {
  cursor: default;
}

.starability-slot > input:not([disabled]):hover ~ label {
  background-position: 0 0;
}

.starability-slot > input:not([disabled]):hover + label {
  background-position: 0 -30px;
}

.starability-slot > input:not([disabled]):hover + label::before {
  opacity: 1;
}

.starability-slot > input:focus + label {
  outline: 1px dotted #999;
}

.starability-slot .starability-focus-ring {
  position: absolute;
  left: 0;
  width: 100%;
  height: 30px;
  outline: 2px dotted #999;
  pointer-events: none;
  opacity: 0;
}

.starability-slot > .input-no-rate:focus ~ .starability-focus-ring {
  opacity: 1;
}

.starability-slot > label {
  position: relative;
  display: inline-block;
  float: left;
  width: 30px;
  height: 30px;
  font-size: 0.1em;
  color: transparent;
  cursor: pointer;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-position: 0 -30px;
}

.starability-slot > label::before {
  content: '';
  position: absolute;
  display: block;
  height: 30px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII=");
  background-position: 0 30px;
  pointer-events: none;
  opacity: 0;
}

.starability-slot > label:nth-of-type(5)::before {
  width: 120px;
  left: -120px;
}

.starability-slot > label:nth-of-type(4)::before {
  width: 90px;
  left: -90px;
}

.starability-slot > label:nth-of-type(3)::before {
  width: 60px;
  left: -60px;
}

.starability-slot > label:nth-of-type(2)::before {
  width: 30px;
  left: -30px;
}

.starability-slot > label:nth-of-type(1)::before {
  width: 0px;
  left: 0px;
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi) {
  .starability-slot > label {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg==");
    background-size: 30px auto;
  }
}

@media screen and (-ms-high-contrast: active) {
  .starability-slot {
    width: auto;
  }
  .starability-slot > input {
    position: static;
    margin-right: 0;
    opacity: 1;
  }
  .starability-slot .input-no-rate {
    display: none;
  }
  .starability-slot > label {
    display: inline;
    float: none;
    width: auto;
    height: auto;
    font-size: 1em;
    color: inherit;
    background: none;
  }
  .starability-slot > label::before, .starability-slot > label::after {
    display: none;
  }
}

.starability-slot > input:checked ~ label,
.starability-slot > input:hover ~ label,
.starability-slot > input:focus ~ label {
  -webkit-transition: background-position .7s;
  transition: background-position .7s;
}
.brand-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 700;
}

.search-bar {
    width: 100%;
}

@media (max-width: 991px) {
    .search-bar {
        max-width: 100% !important;
    }

    .navbar-nav {
        justify-content: center;
        width: 100%;
    }
}

/* Logo */
.brand-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 700;
}

/* Main Search Container */
.search-wrapper {
    flex: 1;
    max-width: 700px;
    margin: 0 2rem;
}

/* Search Form */
.search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

/* Common Child */
.search-item {
    display: flex;
}

/* Destination input */
.search-text {
    flex: 2;
}

/* Price inputs */
.search-price {
    flex: 1;
}

/* Button */
.search-button {
    width: 140px;
    flex-shrink: 0;
}

/* Inputs */
.search-item input {
    width: 100%;
}

.brand-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.brand-logo-img {
  width: 40px;      /* Adjust as needed */
  height: 40px;
  object-fit: contain;
}

/* Mobile */
@media (max-width: 992px) {

    .search-wrapper {
        margin: 1rem 0;
        max-width: 100%;
    }

    .search-form {
        flex-direction: column;
        align-items: stretch;
    }

    .search-text,
    .search-price,
    .search-button {
        width: 100%;
    }
}