.hb-search-home-shell{max-width:1180px;margin:0 auto;padding:8px 0 28px}
.hb-search-home-head{text-align:center;max-width:880px;margin:12px auto 20px}
.hb-search-home-head h1{font-size:62px;line-height:1.02;margin:12px 0 12px;font-weight:800;letter-spacing:-.04em}
.hb-search-home-head p{font-size:22px;line-height:1.45;color:#788295;margin:0 auto;max-width:860px}
.hb-search-modern-card{padding:28px 28px 22px;border-radius:28px;box-shadow:0 6px 24px rgba(14,24,39,.06);overflow:visible}
.hb-modern-row{display:grid;gap:18px;margin-bottom:16px}
.hb-modern-row-full{grid-template-columns:1fr}
.hb-modern-row-main{grid-template-columns:1.6fr 1fr .9fr auto;align-items:end}
.hb-modern-row-secondary{grid-template-columns:1fr 1fr}
.hb-modern-field{display:block;position:relative}
.hb-modern-field>span{display:block;font-size:15px;font-weight:700;color:#202020;margin-bottom:8px}
.hb-modern-field input[type=text],.hb-modern-field input[type=number],.hb-modern-field button,.hb-modern-field select{width:100%;height:62px;border:1px solid #d9dde5;border-radius:18px;background:#fff;font-size:18px;padding:0 18px;box-shadow:none}
.hb-modern-field input[disabled]{color:#233049;background:#fff;opacity:1}
.hb-modern-submit-wrap{display:block}.hb-modern-submit-wrap>span{display:block;margin-bottom:8px}.hb-modern-submit{height:62px;padding:0 34px;border-radius:18px;font-size:22px;font-weight:700}
.hb-date-trigger,.hb-travelers-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;background:#fff}
.hb-date-icon{margin-right:10px;font-size:22px}.hb-date-trigger-text,.hb-travelers-trigger-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hb-date-trigger-text.is-empty{font-weight:500;color:#667085}.hb-caret{font-size:18px;color:#777}
.hb-help{font-size:14px;color:#8a93a5;margin-top:10px}

.hb-suggest-box-modern{left:0;right:0;top:calc(100% + 8px);padding:10px;max-height:min(55vh,430px);overflow:auto;border-radius:20px;border:1px solid #e1e5ec;box-shadow:0 22px 45px rgba(16,24,40,.18);background:#fff;z-index:1001}
.hb-suggest-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:8px 12px 4px;font-weight:800;position:sticky;top:0;background:#fff}
.hb-suggest-item{display:flex;align-items:center;justify-content:space-between;border-radius:14px;padding:12px 14px;border-bottom:0;margin-bottom:4px;cursor:pointer;transition:background .15s ease,transform .15s ease}
.hb-suggest-item:hover,.hb-suggest-item.is-active{background:#f8fafc;transform:translateY(-1px)}
.hb-suggest-item-main{min-width:0}.hb-suggest-item strong{display:block;font-size:18px;color:#0f172a}.hb-suggest-item small{display:block;color:#64748b;font-size:14px}.hb-suggest-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef7f2;color:#2f855a;font-size:12px;font-weight:700}.hb-suggest-thumb{width:54px;height:54px;object-fit:cover;border-radius:12px;margin-right:12px;flex:0 0 auto;background:#edf2f7}.hb-suggest-row{display:flex;align-items:center;min-width:0}.hb-suggest-empty{padding:18px;color:#64748b}

.hb-date-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:16px}
.hb-date-modal-inner{width:min(980px,100%);background:#fff;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden}
.hb-date-head{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid rgba(0,0,0,.08)}
.hb-date-title{font-weight:800;font-size:16px;flex:1}
.hb-date-close{border:0;background:transparent;font-size:26px;line-height:1;width:44px;height:44px;border-radius:12px;cursor:pointer}
.hb-date-close:active{background:rgba(0,0,0,.06)}
.hb-date-done,.hb-trav-done{border:0;background:#1d7a3f;color:#fff;padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer;min-height:44px}
.hb-date-summary{padding:10px 16px;font-weight:700;color:#1b1b1b}
.hb-cal{padding:10px 16px 16px}
.hb-cal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hb-cal-month{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:12px}
.hb-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.hb-cal-nav{display:flex;gap:8px}
.hb-cal-nav button{border:1px solid rgba(0,0,0,.12);background:#fff;width:40px;height:40px;border-radius:12px;cursor:pointer}
.hb-cal-title{font-weight:900;text-transform:capitalize}
.hb-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:12px;color:#666;margin-bottom:6px}
.hb-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.hb-day{position:relative;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:12px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;font-weight:700}
.hb-day.is-disabled{opacity:.4;cursor:not-allowed}
.hb-day.is-inrange{background:rgba(29,122,63,.12);border-color:rgba(29,122,63,.18)}
.hb-day.is-start,.hb-day.is-end{background:#1d7a3f;color:#fff;border-color:#1d7a3f;font-weight:900}
.hb-cal-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 16px}
.hb-chip{border:1px solid rgba(0,0,0,.16);background:#fff;border-radius:999px;padding:10px 12px;cursor:pointer;font-weight:700}
.hb-chip.is-active{border-color:#1d7a3f;box-shadow:0 0 0 3px rgba(29,122,63,.12)}
body.hb-modal-open{overflow:hidden}

.hb-trav-panel{z-index:2147483646!important;background:#fff!important;border:1px solid #e3e7e5!important;border-radius:14px!important;box-shadow:0 18px 60px rgba(0,0,0,.16)!important;padding:12px!important;width:min(390px,92vw)!important;max-height:min(74vh,620px)!important;overflow:auto!important}
.hb-trav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px;border-bottom:1px solid rgba(0,0,0,.06)}
.hb-trav-row:last-of-type{border-bottom:0}
.hb-trav-label{font-size:20px;line-height:1.2;color:#444;font-weight:700}
.hb-stepper{display:flex;align-items:center;gap:12px}
.hb-step{width:48px;height:48px;border-radius:14px;border:1px solid #cfd8d3;background:#fff;font-size:24px;font-weight:800;cursor:pointer}
.hb-step-val{min-width:36px;text-align:center;font-weight:800;font-size:26px;color:#444}
.hb-child-ages{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06)}
.hb-child-ages-title{font-size:16px;font-weight:800;color:#444;margin-bottom:10px}
.hb-child-ages-input{width:100%;height:50px;border:1px solid #d9dde5;border-radius:16px;padding:0 16px;font-size:17px}
.hb-trav-actions{display:flex;justify-content:flex-end;margin-top:14px;position:sticky;bottom:-12px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 18px,#fff 100%);padding-top:12px}
.hb-trav-actions .button{width:100%}
.hb-stepper.is-disabled{opacity:.55;pointer-events:none}
.hb-trav-panel--multi .hb-trav-row{display:none}
.hb-trav-panel--multi .hb-child-ages{display:none!important}
.hb-room-add{white-space:normal;min-height:48px}

.hb-search-home-blocks{margin-top:48px;display:grid;gap:32px}.hb-home-block h2{font-size:32px;margin:0 0 16px;font-weight:800;letter-spacing:-.03em}.hb-home-grid{display:grid;gap:18px}.hb-home-grid-destinations{grid-template-columns:repeat(3,minmax(0,1fr))}.hb-home-grid-hotels{grid-template-columns:repeat(4,minmax(0,1fr))}.hb-home-destination,.hb-home-hotel{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e4e8ee;border-radius:18px;background:#fff;text-decoration:none;color:inherit;transition:.15s transform,.15s box-shadow}.hb-home-destination:hover,.hb-home-hotel:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(16,24,40,.08)}.hb-home-destination{justify-content:space-between}.hb-home-destination strong,.hb-home-hotel strong{display:block;font-size:18px;line-height:1.2}.hb-home-destination span,.hb-home-hotel span{display:block;font-size:14px;color:#64748b;margin-top:3px}.hb-home-hotel img{width:76px;height:76px;border-radius:14px;object-fit:cover;background:#eef2f6;flex:0 0 auto}

@media (max-width:1180px){.hb-modern-row-main{grid-template-columns:1fr 1fr}.hb-modern-submit-wrap{grid-column:1/-1}}
@media (max-width:1024px){.hb-search-home-head h1{font-size:52px}.hb-search-home-head p{font-size:20px}.hb-home-grid-hotels{grid-template-columns:repeat(2,minmax(0,1fr))}.hb-home-grid-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.hb-search-home-shell{padding:8px 0 22px}.hb-search-home-head{text-align:left;margin:0 0 18px}.hb-search-home-head h1{font-size:42px}.hb-search-home-head p{font-size:18px}.hb-search-modern-card{padding:18px;border-radius:22px}.hb-modern-row-main,.hb-modern-row-secondary,.hb-home-grid-destinations,.hb-home-grid-hotels{grid-template-columns:1fr}.hb-suggest-item strong{font-size:16px}.hb-home-block h2{font-size:28px}.hb-modern-submit{font-size:20px}.hb-date-modal{align-items:stretch;padding:0}.hb-date-modal-inner{border-radius:0;width:100%;height:100%;display:flex;flex-direction:column}.hb-cal{flex:1;overflow:auto}.hb-cal-grid{grid-template-columns:1fr}.hb-trav-label{font-size:18px}.hb-step{width:46px;height:46px}.hb-trav-panel{width:calc(100vw - 12px)!important;max-height:calc(100vh - 12px)!important;padding:10px!important}.hb-room-setup__head{align-items:flex-start;top:-10px}.hb-room-add{width:132px}.hb-trav-actions{bottom:-10px}}

.hb-room-setup{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06)}
.hb-room-setup__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;position:sticky;top:-12px;background:#fff;padding-bottom:8px;z-index:2}
.hb-room-setup__help{margin:0 0 10px;font-size:12px;line-height:1.45;color:#667085}
.hb-room-list{display:grid;gap:12px}
.hb-room-card{border:1px solid #e4e8ee;border-radius:14px;padding:10px;background:#fafbfc}
.hb-room-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.hb-room-remove{border:1px solid #d0d7de;background:#fff;border-radius:10px;padding:6px 10px;cursor:pointer}
.hb-room-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hb-room-card__field span,.hb-room-card__ages label{display:block;font-size:11px;font-weight:700;color:#475467;margin-bottom:5px}
.hb-stepper--small{gap:8px}
.hb-stepper--small .hb-step{width:40px;height:40px;border-radius:12px;font-size:20px}
.hb-stepper--small .hb-step-val{min-width:28px;font-size:20px}
.hb-room-card__ages{margin-top:10px}
.hb-room-card__ages input{width:100%;height:42px;border:1px solid #d9dde5;border-radius:12px;padding:0 12px;font-size:14px}
@media (max-width:768px){.hb-room-card__grid{grid-template-columns:1fr}}
