/* Progressive enhancement: the original anchor works without JavaScript. */
[data-cta-flutuante] [data-cta-label="reservar"]{display:none}
.acoes-flutuantes{
  position:fixed;
  left:max(28px, calc((100vw - 1220px) / 2 + 28px), env(safe-area-inset-left));
  right:max(24px, env(safe-area-inset-right));
  bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  z-index:90;display:flex;align-items:center;justify-content:space-between;gap:20px;
  pointer-events:none;
}
.acoes-flutuantes > a{pointer-events:auto;flex:none}
.acoes-flutuantes .zap{position:relative;inset:auto;margin:0}
.acoes-flutuantes .zap:hover{transform:scale(1.06)}
.cta-flutuante.btn{
  position:relative;display:block;margin:0;
  width:var(--cta-width);height:56px;min-height:56px;
  max-width:calc(100% - 72px);white-space:nowrap;contain:layout style;
  box-shadow:0 4px 16px rgba(40,40,40,.10);
  transition:width 360ms cubic-bezier(.22,1,.36,1),background-color 240ms ease;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.cta-flutuante.btn:hover{transform:none}
.cta-flutuante [data-cta-label]{
  display:inline-flex;align-items:center;gap:10px;width:max-content;
  position:absolute;left:30px;top:50%;
  opacity:0;transform:translateY(calc(-50% + 4px)) scale(.98);transform-origin:left center;
  transition:opacity 240ms ease,transform 360ms cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.cta-flutuante[data-estado="conhecer"] [data-cta-label="conhecer"],
.cta-flutuante[data-estado="reservar"] [data-cta-label="reservar"]{
  opacity:1;transform:translateY(-50%) scale(1);
}
.cta-flutuante:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
body.menu-aberto .acoes-flutuantes,
body:has(dialog[open], .cal-modal-overlay.ativo, .lightbox.ativo) .acoes-flutuantes{
  display:none;
}
body:has(.acoes-flutuantes) :is(input,select,textarea,button,a){
  scroll-margin-bottom:calc(108px + env(safe-area-inset-bottom, 0px));
}
body:has(.acoes-flutuantes) .rodape{padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px))}
@media(max-width:820px){
  .acoes-flutuantes{
    left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));
  }
  body:has(input:focus,select:focus,textarea:focus) .acoes-flutuantes{display:none}
}
@media(prefers-reduced-motion:reduce){
  .cta-flutuante.btn,.cta-flutuante [data-cta-label]{transition:none}
}
