/* BGA Reservas · Buscador. Colores y fuentes en variables para ajustarlos fácilmente */
.bga-bus{
  --bga-fondo:#f9f9fb;
  --bga-linea:#e6e7eb;
  --bga-etq:#9a9fa8;
  --bga-texto:#3a3e44;
  --bga-boton:#33373b;
  --bga-boton-hover:#b99d75;
  --bga-acento:#b99d75;
  --bga-titulos:Marcellus,Georgia,serif;
  position:relative;display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch;
  width:100%;margin:0;padding:0;background:var(--bga-fondo);border-radius:10px;
  box-shadow:0 6px 24px rgba(20,22,25,.08);font-family:inherit;color:var(--bga-texto);text-align:left
}
.bga-bus *,.bga-bus *::before,.bga-bus *::after{box-sizing:border-box}
.bga-bus [hidden]{display:none !important}
.bga-bus__campo{
  display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;margin:0;padding:22px 24px;
  background:transparent;border:0;border-right:1px solid var(--bga-linea);border-radius:0;box-shadow:none;
  color:inherit;font:inherit;text-align:left;text-transform:none;letter-spacing:normal;line-height:1.2;cursor:pointer
}
.bga-bus__campo:first-child{border-radius:10px 0 0 10px}
.bga-bus__campo:hover,.bga-bus__campo[aria-expanded="true"]{background:#fff;color:inherit}
.bga-bus__etq{font-family:var(--bga-titulos);font-size:14px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--bga-etq)}
.bga-bus__val{font-size:17px;font-weight:400;color:var(--bga-texto);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bga-bus__resumen{display:flex;gap:0}
.bga-bus__resumen span+span{margin-left:14px;padding-left:14px;border-left:1px dotted var(--bga-linea)}
.bga-bus__accion{display:flex;align-items:center;padding:14px 20px}
.bga-bus__boton{
  position:relative;min-height:62px;margin:0;padding:0 32px;background:var(--bga-boton);color:#fff;border:0;border-radius:6px;
  font-family:inherit;font-size:18px;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.1;cursor:pointer;
  transition:background .25s ease
}
.bga-bus__boton:hover,.bga-bus__boton:focus-visible{background:var(--bga-boton-hover);color:#fff}
.bga-bus__boton.is-loading{color:transparent;pointer-events:none}
.bga-bus__boton.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:bga-bus-spin .8s linear infinite}
@keyframes bga-bus-spin{to{transform:rotate(360deg)}}
.bga-bus button:focus-visible{outline:2px solid var(--bga-acento);outline-offset:-2px}

/* Paneles */
.bga-bus__panel{position:absolute;top:calc(100% + 10px);left:0;z-index:999;padding:20px;background:#fff;border-radius:10px;box-shadow:0 18px 50px rgba(20,22,25,.18);text-align:left}
.bga-bus__hue{left:auto;right:auto;width:340px;max-width:calc(100vw - 32px)}
.bga-bus__hue{left:50%}
.bga-bus .bga-cal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.bga-bus .bga-cal__ayuda{margin:0;font-size:13px;color:var(--bga-etq)}
.bga-bus .bga-cal__nav{width:38px;height:38px;padding:0;background:transparent;border:1px solid var(--bga-linea);border-radius:50%;color:var(--bga-texto);font-size:20px;line-height:1;cursor:pointer}
.bga-bus .bga-cal__nav:hover{background:var(--bga-acento);border-color:var(--bga-acento);color:#fff}
.bga-bus .bga-cal__nav[disabled]{opacity:.3;cursor:default;background:transparent;color:var(--bga-texto)}
.bga-bus .bga-cal__meses{display:flex;gap:28px}
.bga-bus .bga-cal__mes{width:280px}
.bga-bus .bga-cal__titulo{margin:0 0 10px;font-family:var(--bga-titulos);font-size:17px;text-align:center;text-transform:capitalize;color:var(--bga-texto)}
.bga-bus .bga-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.bga-bus .bga-cal__dow{padding:6px 0;font-size:11px;font-weight:600;text-align:center;color:var(--bga-etq)}
.bga-bus .bga-cal__dia{height:40px;margin:0;padding:0;background:transparent;border:0;border-radius:0;color:var(--bga-texto);font-family:inherit;font-size:14px;line-height:1;cursor:pointer}
.bga-bus .bga-cal__dia:hover{background:#f1ece4}
.bga-bus .bga-cal__dia[disabled]{color:#c9ccd1;cursor:default;background:transparent;text-decoration:line-through}
.bga-bus .bga-cal__dia.is-rango{background:#f1ece4}
.bga-bus .bga-cal__dia.is-in,.bga-bus .bga-cal__dia.is-out{background:var(--bga-acento);color:#fff;font-weight:600}
.bga-bus .bga-cal__dia.is-in{border-radius:6px 0 0 6px}
.bga-bus .bga-cal__dia.is-out{border-radius:0 6px 6px 0}
.bga-bus .bga-cal__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--bga-linea)}
.bga-bus .bga-cal__noches{font-size:14px;color:var(--bga-texto)}
.bga-bus .bga-cal__ok{min-height:44px;padding:0 24px;background:var(--bga-boton);color:#fff;border:0;border-radius:6px;font-family:inherit;font-size:15px;cursor:pointer}
.bga-bus .bga-cal__ok:hover{background:var(--bga-acento)}
.bga-bus .bga-cal__ok[disabled]{opacity:.4;cursor:default;background:var(--bga-boton)}

/* Huéspedes */
.bga-bus .bga-hue__fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--bga-linea)}
.bga-bus .bga-hue__txt{display:flex;flex-direction:column;gap:2px}
.bga-bus .bga-hue__etq{font-size:15px;color:var(--bga-texto)}
.bga-bus .bga-hue__sub{font-size:12.5px;color:var(--bga-etq)}
.bga-bus .bga-hue__ctr{display:flex;align-items:center;gap:12px}
.bga-bus .bga-hue__btn{width:36px;height:36px;padding:0;background:#fff;border:1px solid var(--bga-linea);border-radius:50%;color:var(--bga-texto);font-size:18px;line-height:1;cursor:pointer}
.bga-bus .bga-hue__btn:hover{border-color:var(--bga-acento);color:var(--bga-acento);background:#fff}
.bga-bus .bga-hue__btn[disabled]{opacity:.35;cursor:default}
.bga-bus .bga-hue__num{min-width:20px;font-size:16px;text-align:center}
.bga-bus .bga-hue__edades{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}
.bga-bus .bga-hue__edad{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--bga-etq)}
.bga-bus .bga-hue__edad select{height:40px;padding:0 8px;border:1px solid var(--bga-linea);border-radius:6px;background:#fff;font-family:inherit;font-size:14px;color:var(--bga-texto)}
.bga-bus .bga-hue__ok{width:100%;margin-top:14px}

/* Compacto (columnas estrechas) y móvil */
.bga-bus--compacto{grid-template-columns:1fr}
.bga-bus--compacto .bga-bus__campo{border-right:0;border-bottom:1px solid var(--bga-linea)}
.bga-bus--compacto .bga-bus__campo:first-child{border-radius:10px 10px 0 0}
.bga-bus--compacto .bga-bus__boton{width:100%}
.bga-bus--compacto .bga-bus__hue{left:0}
@media (max-width:1024px){
  .bga-bus .bga-cal__mes{width:250px}
}
@media (max-width:767px){
  .bga-bus{grid-template-columns:1fr}
  .bga-bus__campo{padding:16px 18px;border-right:0;border-bottom:1px solid var(--bga-linea)}
  .bga-bus__campo:first-child{border-radius:10px 10px 0 0}
  .bga-bus__etq{font-size:12.5px}
  .bga-bus__val{font-size:16px}
  .bga-bus__resumen span+span{margin-left:10px;padding-left:10px}
  .bga-bus__accion{padding:14px 18px 18px}
  .bga-bus__boton{width:100%;min-height:54px;font-size:17px}
  .bga-bus__panel{position:fixed;left:0 !important;right:0;bottom:0;top:auto;width:auto;max-width:none;max-height:88vh;overflow:auto;border-radius:16px 16px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}
  .bga-bus.is-open::before{content:"";position:fixed;inset:0;z-index:998;background:rgba(20,22,25,.45)}
  .bga-bus .bga-cal__mes{width:100%}
  .bga-bus .bga-cal__dia{height:44px}
}
@media (prefers-reduced-motion:reduce){.bga-bus *{transition:none !important;animation-duration:2s !important}}
