.desktop-only{display:block} @media (max-width:765px){.desktop-only{display:none}} .search-section{position:relative; top:0} .search-bar{max-width:850px; margin:0 auto; display:flex; align-items:center; background:var(--leb-white); border:1px solid var(--leb-border-default); border-radius:100rem; box-shadow:0 1px 8px rgba(0,0,0,0.08); position:relative} .search-field{flex:1; display:flex; flex-direction:column; gap:2px; padding:14px 24px; cursor:pointer; transition:background 0.2s; position:relative; height:100%; justify-content:center; border-radius:100rem !important} .search-field:hover{background:var(--leb-bg-light)} .search-field label{font-size:12px; font-weight:500; text-transform:capitalize; letter-spacing:0.5px} .search-field input{border:none !important; background:transparent !important; font-size:14px; color:var(--leb-text-muted); outline:none !important; width:100%; cursor:pointer; padding:0 !important; box-shadow:none !important} .search-field input::placeholder{color:var(--leb-text-muted); font-size:13px} .search-field input.has-value{font-weight:500} .search-field-wrapper{display:flex; align-items:center; flex:1; position:relative} .field-clear-btn{width:20px; height:20px; border:none; background:var(--leb-border-default); border-radius:50%; cursor:pointer; display:none; align-items:center; justify-content:center; flex-shrink:0; margin-left:8px} .field-clear-btn:hover{background:var(--leb-text-muted)} .field-clear-btn svg{width:10px; height:10px; stroke:var(--leb-text-color); stroke-width:2.5} .search-field-wrapper.has-value .field-clear-btn{display:flex} .search-btn{background:var(--leb-primary-color); color:var(--leb-white); border:none; width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background 0.2s,transform 0.2s; margin:8px; flex-shrink:0} .search-btn:hover{background:var(--leb-primary-dark); transform:scale(1.05)} .search-btn svg{width:20px; height:20px} .search-popup{position:absolute; top:80px; background:var(--leb-white); border-radius:24px; box-shadow:var(--leb-card-shadow); width:360px; padding:10px; z-index:10000; opacity:0; visibility:hidden; transition:opacity 0.2s ease,visibility 0.2s ease} .search-popup.active{opacity:1; visibility:visible} .popup-section{display:none} .popup-section.active{display:block} .suggestions-list{max-height:280px; overflow-y:auto} .suggestion-item{display:flex; align-items:center; gap:14px; padding:14px; cursor:pointer; border-radius:12px; transition:background 0.2s} .suggestion-item:hover{background:var(--leb-bg-light)} .suggestion-icon{width:40px; height:40px; border-radius:12px; background:var(--leb-bg-light); display:flex; align-items:center; justify-content:center; flex-shrink:0} .suggestion-icon svg{width:20px; height:20px; stroke:var(--leb-text-color); stroke-width:2} .suggestion-text strong{font-size:14px; font-weight:500; display:block} .suggestion-text span{font-size:12px; color:var(--leb-text-muted)} .calendar-wrapper{border-radius:16px; padding:10px; background:var(--leb-white)} .calendar-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px} .calendar-month-year{font-size:14px; font-weight:500} .calendar-nav-btn{width:32px; height:32px; border:1px solid var(--leb-border-color); background:var(--leb-white); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s} .calendar-nav-btn:hover{border-color:var(--leb-text-color)} .calendar-nav-btn svg{width:20px; height:20px; stroke:var(--leb-text-color); stroke-width:2.5} .calendar-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center} .calendar-day-header{font-size:11px; font-weight:600; color:var(--leb-text-muted); padding:8px 0} .calendar-day{width:36px; height:36px; border:none; background:transparent; border-radius:50%; cursor:pointer; font-size:14px; transition:all 0.2s; justify-self:center} .calendar-day:hover:not(:disabled):not(.selected){background:var(--leb-bg-light)} .calendar-day:disabled{color:var(--leb-border-default); cursor:not-allowed} .calendar-day.selected{background:var(--leb-primary-color) !important; color:var(--leb-white)} .calendar-day.in-range{background:rgba(255,56,92,0.15); border-radius:20px} .calendar-day.today{border:1px solid var(--leb-primary-color)} .calendar-footer{display:flex; justify-content:flex-end; gap:12px; margin-top:20px; padding-top:16px; border-top:1px solid var(--leb-border-color)} .calendar-btn{padding:5px 20px; border-radius:20px; font-size:12px; font-weight:500; cursor:pointer; transition:all 0.2s} .calendar-btn.clear{background:transparent; border:none; color:var(--leb-text-muted)} .calendar-btn.apply{background:var(--leb-text-color); border:none; color:var(--leb-white)} .guest-row{display:flex; align-items:center; justify-content:space-between; padding:16px 10px; border-bottom:1px solid var(--leb-border-color)} .guest-row:last-child{border-bottom:none} .guest-info h4{font-size:15px; font-weight:500; margin:0} .guest-info p{font-size:12px; color:var(--leb-text-muted)} .guest-controls{display:flex; align-items:center; gap:16px} .guest-btn{width:36px; height:36px; border:1px solid var(--leb-border-color); background:var(--leb-white); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--leb-text-muted)} .guest-count{font-size:16px; font-weight:600; min-width:24px; text-align:center} .mobile-only{display:none} @media (max-width:765px){.mobile-only{display:block}} .mobile-search-section{position:relative; top:0} .mobile-search-trigger{display:flex; align-items:center; gap:12px; background:var(--leb-white); border:1px solid var(--leb-border-color); border-radius:100rem; padding:12px 16px 12px 26px; cursor:pointer; width:100%; box-shadow:var(--leb-card-shadow)} .mobile-search-trigger svg{width:20px; height:20px; stroke:var(--leb-text-color); stroke-width:2; flex-shrink:0} .mobile-search-text{flex:1} .mobile-search-text span:first-child{font-size:14px; font-weight:500; display:block; line-height:16px} .mobile-search-text span:last-child{font-size:12px; color:var(--leb-text-muted)} .mobile-search-icon{width:40px; height:40px; background:var(--leb-primary-color); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0} .mobile-search-icon svg{stroke:var(--leb-white); width:18px; height:18px} .mobile-modal-overlay{display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:var(--leb-white); z-index:2000} .mobile-modal-overlay.active{display:block} .mobile-modal-header{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--leb-border-color)} .mobile-modal-back{width:32px; height:32px; border:none; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center} .mobile-modal-back svg{width:20px; height:20px; stroke:var(--leb-text-color); stroke-width:2.5} .mobile-modal-title{font-size:16px; font-weight:500} .mobile-modal-clear{font-size:14px; font-weight:500; background:none; border:none; cursor:pointer; text-decoration:underline} .mobile-tabs{display:flex; border-bottom:1px solid var(--leb-border-color); background:var(--leb-white)} .mobile-tab{flex:1; padding:10px 8px; text-align:center; font-size:14px; font-weight:500; color:var(--leb-text-muted); border-bottom:2px solid transparent; cursor:pointer} .mobile-tab.active{border-bottom-color:var(--leb-text-color)} .mobile-content{height:calc(100vh - 120px - 80px); overflow-y:auto; padding:20px; padding-bottom:100px} .mobile-tab-content{display:none} .mobile-tab-content.active{display:block} .mobile-location-input{display:flex; align-items:center; gap:12px; background:var(--leb-bg-light); border:1px solid var(--leb-border-color); border-radius:12px; padding:14px 16px; margin-bottom:16px} .mobile-location-input svg{width:20px; height:20px; stroke:var(--leb-text-color); stroke-width:2; flex-shrink:0} .mobile-location-input input{flex:1; border:none; background:transparent; font-size:16px; outline:none} .mobile-calendar-month{font-size:15px; font-weight:500} .mobile-calendar-nav{display:flex; justify-content:space-between; align-items:center; padding:0 16px 16px} .mobile-calendar-nav-btn{width:36px; height:36px; border:1px solid var(--leb-border-color); background:var(--leb-white); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center} .mobile-calendar-nav-btn svg{width:20px; height:20px; stroke:var(--leb-text-color); stroke-width:2.5} .mobile-footer{position:fixed; bottom:0; left:0; right:0; background:var(--leb-white); padding:16px 20px; border-top:1px solid var(--leb-border-color)} .mobile-search-btn{width:100%; background:var(--leb-primary-color); color:var(--leb-white); border:none; border-radius:12px; padding:10px; font-size:15px; font-weight:500; cursor:pointer}