.lbq { --lbq-azul:#2E6F7E; --lbq-profundo:#1F3B4D; --lbq-crema:#F7F5EF; --lbq-niebla:#B7BDC3; --lbq-agua:#A7C8D1; max-width:1180px; margin:24px auto; padding:0 16px; color:var(--lbq-profundo); font-family:inherit; position:relative; z-index:20; text-align:left; }
.lbq *, .lbq *::before, .lbq *::after { box-sizing:border-box; }
.lbq [hidden] { display:none !important; }
.lbq__tabs { display:flex; gap:6px; padding-left:8px; }
.lbq__tab { display:inline-flex; align-items:center; gap:8px; margin:0; padding:11px 20px; border:0; border-radius:14px 14px 0 0; background:rgba(255,255,255,.7); color:var(--lbq-profundo); font-weight:700; font-size:13px; line-height:1; font-family:inherit; cursor:pointer; letter-spacing:.01em; }
.lbq__tab .lbq__ic { width:18px; height:18px; }
.lbq__tab.is-on { background:#fff; color:var(--lbq-azul); }
.lbq__tab:focus-visible, .lbq__go:focus-visible, .lbq__pax-btn:focus-visible { outline:3px solid var(--lbq-agua); outline-offset:2px; }
.lbq__card { background:#fff; border-radius:0 18px 18px 18px; box-shadow:0 18px 44px rgba(31,59,77,.20); padding:18px; }
.lbq__form { display:grid; gap:12px; align-items:end; }
.lbq__form--vuelos { grid-template-columns:1.15fr 1.15fr 1fr 1fr 1.3fr auto; }
.lbq__form--hoteles { grid-template-columns:2fr 1fr 1fr 1.3fr auto; }
.lbq__f { position:relative; min-width:0; }
.lbq__f > label { display:block; margin:0 0 6px 2px; font-size:12px; font-weight:700; line-height:1.2; color:#5B6B82; }
.lbq__ctl { position:relative; display:flex; align-items:center; height:52px; border:1px solid #D3DDE1; border-radius:12px; background:#fff; transition:border-color .15s, box-shadow .15s; }
.lbq__ctl:focus-within { border-color:var(--lbq-azul); box-shadow:0 0 0 3px rgba(46,111,126,.18); }
.lbq__ctl > .lbq__ic { position:absolute; left:14px; width:19px; height:19px; color:var(--lbq-azul); pointer-events:none; }
.lbq .lbq__ctl input { width:100%; height:100%; margin:0; padding:0 12px 0 44px; border:0 !important; border-radius:12px; background:transparent !important; box-shadow:none !important; outline:0; font-weight:500; font-size:14px; line-height:1.2; font-family:inherit; color:var(--lbq-profundo); min-width:0; -webkit-appearance:none; appearance:none; }
.lbq .lbq__ctl input::placeholder { color:#8A98A6; opacity:1; }
.lbq .lbq__ctl input[type=date] { padding-left:42px; padding-right:6px; min-height:100%; }
.lbq__ctl--btn { padding:0; }
.lbq__pax-btn { display:flex; align-items:center; gap:0; width:100%; height:100%; margin:0; padding:0 12px 0 44px; border:0; background:transparent; color:var(--lbq-profundo); font-weight:500; font-size:14px; line-height:1.2; font-family:inherit; cursor:pointer; text-align:left; border-radius:12px; }
.lbq__pax-btn > .lbq__ic:first-child { position:absolute; left:14px; color:var(--lbq-azul); }
.lbq__pax-btn > .lbq__ic:last-child { position:absolute; right:12px; width:16px; height:16px; color:#5B6B82; }
.lbq__pax-txt { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:26px; }
.lbq__pax-panel { position:absolute; z-index:40; top:calc(100% + 8px); right:0; width:min(320px, 92vw); padding:14px; border:1px solid #D3DDE1; border-radius:14px; background:#fff; box-shadow:0 16px 40px rgba(31,59,77,.22); }
.lbq__pax-fila { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; }
.lbq__pax-fila b { display:block; font-size:14px; }
.lbq__pax-fila small { display:block; font-size:12px; color:#7A8699; }
.lbq__cont { display:flex; align-items:center; gap:12px; }
.lbq__cont button { width:34px; height:34px; margin:0; padding:0; border:1px solid #C9D5DA; border-radius:50%; background:#fff; color:var(--lbq-azul); font-size:18px; line-height:1; cursor:pointer; }
.lbq__cont button:hover { background:var(--lbq-crema); }
.lbq__cont span { min-width:18px; text-align:center; font-weight:700; font-size:15px; }
.lbq__edades { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:4px 0 6px; }
.lbq__edades label { display:block; margin:0 0 3px; font-size:12px; font-weight:700; color:#5B6B82; }
.lbq__edades select { width:100%; height:38px; padding:0 8px; border:1px solid #D3DDE1; border-radius:10px; background:#fff; font-weight:500; font-size:13px; line-height:1; font-family:inherit; color:var(--lbq-profundo); }
.lbq__pax-ok { width:100%; height:42px; margin:8px 0 0; border:0; border-radius:10px; background:var(--lbq-azul); color:#fff; font-weight:700; font-size:14px; line-height:1; font-family:inherit; cursor:pointer; }
.lbq__go { display:flex; align-items:center; justify-content:center; height:52px; padding:0 34px; border-radius:12px; background:var(--lbq-azul); color:#fff !important; font-weight:800; font-size:15px; line-height:1; font-family:inherit; text-decoration:none !important; letter-spacing:.02em; transition:background .15s, transform .05s; white-space:nowrap; }
.lbq__go:hover { background:var(--lbq-profundo); }
.lbq__go:active { transform:translateY(1px); }
.lbq__go.is-off { background:#8FA9B1; }
.lbq__go.is-off:hover { background:#7D98A1; }
.lbq__sug { position:absolute; z-index:40; top:calc(100% + 6px); left:0; min-width:100%; width:max-content; max-width:min(400px, calc(100vw - 32px)); max-height:300px; margin:0; padding:6px; overflow-y:auto; list-style:none; border:1px solid #D3DDE1; border-radius:14px; background:#fff; box-shadow:0 16px 40px rgba(31,59,77,.22); }
.lbq__sug li { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0; padding:10px 12px; border-radius:10px; font-size:14px; line-height:1.25; cursor:pointer; }
.lbq__sug li small { flex:none; font-size:12px; color:#7A8699; }
.lbq__sug li.is-on, .lbq__sug li:hover { background:#EAF2F4; }
.lbq__sug li.lbq__vacio { cursor:default; color:#7A8699; }
.lbq__msg { min-height:18px; margin:10px 2px 0; font-size:13px; font-weight:600; color:#B03A54; }
.lbq__msg:empty { min-height:0; margin:0; }
.lbq__after { margin:12px 0 0; padding:12px 16px; border-radius:12px; background:var(--lbq-crema); border:1px solid #E3DCCB; font-size:13px; line-height:1.5; }
.lbq__after a, .lbq__nota a { color:var(--lbq-azul); font-weight:700; }
.lbq--oscuro .lbq__nota { color:rgba(255,255,255,.9); }
.lbq--oscuro .lbq__nota a { color:#fff; text-decoration:underline; }
.lbq__nota { margin:12px 4px 0; font-size:12px; line-height:1.5; color:#5B6B82; }
@media (max-width: 900px) {
  .lbq { margin:16px auto; }
  .lbq__card { padding:14px; border-radius:0 16px 16px 16px; }
  .lbq__form--vuelos, .lbq__form--hoteles { grid-template-columns:1fr 1fr; }
  .lbq__f--o, .lbq__f--d, .lbq__f--hd, .lbq__f--pax, .lbq__go { grid-column:1 / -1; }
  .lbq__pax-panel { left:0; right:0; width:auto; }
  .lbq__sug { right:0; width:auto; max-width:none; }
}
@media (max-width: 560px) {
  .lbq__f--f1, .lbq__f--f2 { grid-column:1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .lbq * { transition:none !important; } }