.zona-floating-cta {
  position: fixed;
  z-index: 9999;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(28px + env(safe-area-inset-bottom));
  width: 320px;
  min-height: 60px;
  display: grid;
  grid-template-columns: 44px 44px 44px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  background: linear-gradient(135deg, #d72229 0%, #e03a2d 54%, #ff5f45 100%);
  box-shadow: 0 10px 24px rgba(124,17,20,.24);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
.zona-floating-cta.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.zona-floating-cta > a { min-width: 0; min-height: 44px; color: #fff; text-decoration: none; }
.zona-floating-cta__contact {
  display: flex; align-items: center; justify-content: center; align-self: stretch;
  margin: 0; padding: 0; border-right: 1px solid rgba(255,255,255,.18);
  background: #c75c65; font-size: 22px; transition: filter .2s ease;
}
.zona-floating-cta__contact--whatsapp { background: #659a73; }
.zona-floating-cta__contact--viber { background: #947cb0; border-right: 0; border-radius: 0 10px 10px 0; }
.zona-floating-cta__contact svg { width: 25px; height: 25px; }
.zona-floating-cta__contact:hover { filter: brightness(1.08); }
.zona-floating-cta__booking {
  display: flex; align-items: center; gap: 6px; min-width: 0; padding: 8px 10px;
  background: transparent; transition: background-color .2s ease;
}
.zona-floating-cta__booking:hover { color: #fff; background: rgba(255,255,255,.08); }
.zona-floating-cta__text { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; line-height: 1.1; }
.zona-floating-cta__text strong { color: #fff; font-size: 14px; font-weight: 700; line-height: 1.15; }
.zona-floating-cta__text small { margin-top: 2px; color: rgba(255,255,255,.84); font-size: 10.5px; line-height: 1.2; }
.zona-floating-cta__arrow { width: 16px; height: 16px; flex: 0 0 16px; color: rgba(255,255,255,.92); }
.zona-floating-cta > a:focus-visible { outline: 2px solid #fff; outline-offset: -4px; box-shadow: inset 0 0 0 2px #302a26; }
body.navbar-collapse-show .zona-floating-cta { visibility: hidden; pointer-events: none; }
@media (max-width: 768px) {
  .zona-floating-cta {
    left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right));
    bottom: calc(10px + env(safe-area-inset-bottom)); width: auto; min-height: 56px; border-radius: 18px;
  }
}
@media (prefers-reduced-motion: reduce) { .zona-floating-cta, .zona-floating-cta a { transition: none !important; } }
