/* kx-reserva · Komplexa
   Widget de reserva igual nos seis sites, no meio da tela, com a cor de cada site
   (--kx-marca, --kx-fonte e --kx-raio vêm do kx-chrome de cada template). */
.kx-res{position:fixed;inset:0;z-index:2147483000;font-family:var(--kx-fonte,system-ui,sans-serif)}
.kx-res[hidden]{display:none}
.kx-res-fundo{position:absolute;inset:0;background:rgba(10,14,20,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:kxResFundo .2s ease}
.kx-res-caixa{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:380px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;background:#fff;color:#1d1d1d;border-radius:var(--kx-raio,4px);box-shadow:0 30px 70px -20px rgba(0,0,0,.5);padding:22px 22px 18px;font-size:15px;line-height:1.4;letter-spacing:0;text-transform:none;text-align:left;animation:kxResCaixa .22s ease;transition:transform .2s}
.kx-res-caixa.is-arrastando{transition:none}
.kx-res-caixa.is-aviso .kx-res-dica{color:#b3261e;font-weight:600}
.kx-res-topo{display:flex;justify-content:space-between;align-items:center}
.kx-res-topo p{font-size:20px;line-height:1.2;margin:0;font-weight:600;color:#1d1d1d}
.kx-res-x{width:44px;height:44px;margin:-10px -12px -10px 0;border:0;background:transparent;color:inherit;font-size:28px;line-height:1;cursor:pointer}
.kx-res-dica{margin:4px 0 14px;font-size:13px;color:#555;min-height:1.4em}
.kx-res-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.kx-res-nav button{width:44px;height:44px;border:1px solid #ddd;border-radius:50%;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}
.kx-res-nav button:disabled{opacity:.3;cursor:default}
.kx-res-mes{font-weight:600;text-transform:capitalize}
.kx-res-semana,.kx-res-dias{display:grid;grid-template-columns:repeat(7,1fr)}
.kx-res-semana span{text-align:center;font-size:11px;letter-spacing:.12em;color:#666;padding:6px 0}
.kx-res-dia{height:44px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.kx-res-dia:hover:not(:disabled){outline:1px solid var(--kx-marca,#0f3b3a);outline-offset:-1px}
.kx-res-dia:focus-visible{outline:2px solid var(--kx-marca,#0f3b3a);outline-offset:-2px}
.kx-res-dia:disabled{opacity:.3;cursor:default}
.kx-res-dia.is-hoje{font-weight:700}
.kx-res-dia.is-meio{background:rgba(0,0,0,.06);background:color-mix(in srgb,var(--kx-marca,#0f3b3a) 14%,transparent)}
.kx-res-dia.is-ini,.kx-res-dia.is-fim{background:var(--kx-marca,#0f3b3a);color:#fff}
.kx-res-hospedes{border-top:1px solid #e5e5e5;margin-top:14px;padding-top:6px}
.kx-res-hosp{display:flex;justify-content:space-between;align-items:center;padding:6px 0}
.kx-res-hosp>span{display:flex;flex-direction:column}
.kx-res-hosp small{font-size:12px;color:#666}
.kx-res-hosp div{display:flex;align-items:center;gap:14px}
.kx-res-hosp button{width:44px;height:44px;padding:0;border:1px solid #ddd;border-radius:50%;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}
.kx-res-hosp button:disabled{opacity:.3;cursor:default}
.kx-res-hosp output{min-width:1.5em;text-align:center;font-weight:600}
.kx-res-rodape{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:14px;text-align:center}
.kx-res-limpar{border:0;background:transparent;color:inherit;font:inherit;font-size:13px;text-decoration:underline;min-height:44px;padding:0;cursor:pointer}
.kx-res-limpar[hidden]{display:none}
.kx-res-ok{order:-1;align-self:center;min-width:240px;max-width:100%;margin:0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:var(--kx-raio,0);background:var(--kx-marca,#0f3b3a);color:#fff !important;font:inherit;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none !important;cursor:pointer}
.kx-res-ok.is-incompleto{opacity:.55}
.kx-res-alca{display:none}
@keyframes kxResFundo{from{opacity:0}to{opacity:1}}
@keyframes kxResCaixa{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:640px){
  .kx-res-caixa{width:calc(100vw - 32px);max-width:400px;padding-bottom:0}
  .kx-res-dia{height:44px}
  .kx-res-alca{display:flex;justify-content:center;align-items:center;height:36px;margin:6px -22px 0;position:sticky;bottom:0;background:inherit;touch-action:none;cursor:grab}
  .kx-res-alca span{width:48px;height:5px;border-radius:3px;background:#ccc}
}
@media(prefers-reduced-motion:reduce){.kx-res-fundo,.kx-res-caixa{animation:none}.kx-res-caixa,.kx-res-caixa *{transition:none!important}}
