/* HERO */
.bm24-hero{position:relative;width:100%;min-height:320px;height:var(--bm24-hero-h,60vh);background-size:var(--bm24-hero-size,cover);background-position:var(--bm24-hero-pos,center);background-repeat:no-repeat;margin:0 0 var(--bm24-overlap,32px) 0}
.bm24-hero[data-size="width"]{background-size:100% auto}
.bm24-hero--full{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
.bm24-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.45))}
.bm24-hero-txt{position:absolute;left:clamp(12px,6vw,80px);top:clamp(40px,18vh,160px);max-width:min(90%,780px);color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.4)}
.bm24-hero-txt h1{margin:0 0 8px 0;font-weight:800;line-height:1.05;font-size:clamp(28px,4vw,56px)}
.bm24-hero-txt p{margin:0;font-size:clamp(14px,1.5vw,22px)}
.bm24-hero-search{position:absolute;left:50%;bottom:calc(-1 * var(--bm24-overlap,32px));transform:translateX(-50%);width:min(1200px, calc(100% - 24px));z-index:2}

/* WRAP */
.bm24-wrap{border:2px solid var(--bm24-border,#0b3d91);border-radius:16px;background:var(--bm24-bg,#fff);padding:12px;box-shadow:0 18px 32px rgba(0,0,0,.16)}

/* NAV */
.bm24-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.bm24-nav-btn{width:36px;height:36px;border:1px solid #d0d7e2;border-radius:10px;background:#fff;cursor:pointer}
.bm24-nav-track{flex:1;overflow:hidden;display:grid;grid-auto-flow:column;grid-auto-columns:calc(100%/8);gap:0;scroll-behavior:smooth}
@media(max-width:1199px){.bm24-nav-track{grid-auto-columns:calc(100%/6)}}
@media(max-width:640px){.bm24-nav-track{grid-auto-columns:calc(100%/4)}}
.bm24-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;border-radius:0;padding:10px 8px;margin:0;gap:6px;text-decoration:none;color:#111;background:transparent;min-height:76px}
.bm24-nav-item img{width:28px;height:28px;object-fit:contain}
.bm24-nav-item span{font-size:.85rem;text-align:center}
.bm24-nav-item:hover{background:var(--bm24-hover,rgba(0,0,0,.04))}
.bm24-nav-item.is-disabled{pointer-events:none;opacity:.65}
.bm24-nav-item.is-active{box-shadow:inset 0 -3px 0 var(--bm24-active,#e11d2e)}

/* FORM */
.bm24-form{display:grid;grid-template-columns:1.5fr .9fr .9fr 1.3fr auto;gap:.75rem;align-items:end}
.bm24-field label{font-size:.85rem;display:block;margin-bottom:6px;color:#333}
.bm24-field input[type=text],.bm24-field input[type=date],.bm24-chip{width:100%;height:44px;border-radius:12px;border:1px solid #d0d7e2;background:#fff;padding:.55rem .65rem;display:flex;align-items:center;gap:8px}
.bm24-chip{cursor:pointer;justify-content:space-between}
.bm24-btn{height:44px;padding:.6rem 1rem;border-radius:10px;border:1px solid #d0d7e2;background:#0b3d91;color:#fff;cursor:pointer;font-weight:600}
.bm24-msg{margin-top:.5rem;color:#666;font-size:.9rem}
.bm24-res{margin-top:1rem;display:grid;grid-template-columns:1fr;gap:.75rem}
@media(min-width:768px){.bm24-date{max-width:220px}}

/* Travelers */
.bm24-pop[hidden]{display:none!important}
.bm24-travelers{position:relative}
.bm24-pop{position:absolute;z-index:30;top:48px;left:0;background:#fff;border:1px solid #d0d7e2;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:12px;min-width:320px}
.bm24-row{display:flex;align-items:center;justify-content:space-between;margin:6px 0}
.bm24-stepper{display:flex;align-items:center;gap:8px}
.bm24-stepper button{width:34px;height:34px;border:1px solid #d0d7e2;border-radius:8px;background:#fff;cursor:pointer}
.bm24-stepper input{width:52px;height:34px;border:1px solid #d0d7e2;border-radius:8px;text-align:center}
.bm24-note{font-size:.8rem;color:#555;line-height:1.35;margin:8px 0}
.bm24-pop-actions{display:flex;justify-content:flex-end;margin-top:8px}
.bm24-pop-actions button{background:#0b3d91;color:#fff;border:none;border-radius:10px;padding:8px 12px;cursor:pointer}

/* Desktop popover */
@media(min-width:992px){
  .bm24-pop{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;min-width:720px}
  .bm24-pop .bm24-row{flex:1 1 0;min-width:0;margin:0}
  .bm24-pop > label,.bm24-pop > .bm24-note,.bm24-pop-actions{flex:1 1 100%}
}

/* Mobile */
@media(max-width:640px){
  .bm24-hero{height:var(--bm24-hero-mh,50vh)}
  .bm24-form{grid-template-columns:1fr}
  .bm24-btn{width:100%}
}