/* ═══ Rychlé akce (cta) — štítek „Dnes otevřeno do …“ v hero + spodní lišta Rezervovat / Zavolat / Navigovat (mobil) ═══
   Barvy loga: modrá #00cfff, růžová #ff02ff, žlutá #ffe500, pozadí #010010 */

/* štítek otevírací doby — pravý horní roh hero */
.cta-open { position: absolute; top: 14px; right: 16px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 10px; border-radius: 999px; background: rgba(1, 0, 16, .62); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .04em; white-space: nowrap; text-decoration: none; }
.cta-open::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #9b9db7; flex: 0 0 auto; }
.cta-open.is-open::before { background: #2bd96b; box-shadow: 0 0 0 3px rgba(43, 217, 107, .22); animation: cta-pulse 2.4s ease-in-out infinite; }
.cta-open.is-soon::before { background: #ffe500; box-shadow: 0 0 0 3px rgba(255, 229, 0, .22); }
@keyframes cta-pulse { 50% { box-shadow: 0 0 0 6px rgba(43, 217, 107, 0); } }
@media (prefers-reduced-motion: reduce) { .cta-open.is-open::before { animation: none; } }

/* spodní lišta — jen mobil */
.cta-bar { display: none; }
@media (max-width: 768px) {
  .cta-open { top: 12px; right: 12px; font-size: 11px; padding: 5px 10px 5px 9px; }
  .cta-bar { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(1, 0, 16, .86); border-top: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transform: translateY(0); transition: transform .3s ease; }
  .cta-bar.is-hidden { transform: translateY(110%); }
  .cta-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 48px; border-radius: 12px; color: #fff; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .04em; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); }
  .cta-bar a i { font-size: 16px; }
  .cta-bar .cta-reserve { flex-direction: row; gap: 8px; font-size: 14px; background: #ff02ff; border-color: #ff02ff; box-shadow: 0 4px 16px rgba(255, 2, 255, .35); }
  .cta-bar .cta-call i { color: #00cfff; }
  .cta-bar .cta-nav i { color: #ffe500; }
  body.has-cta-bar { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) { .cta-bar a { font-size: 11px; letter-spacing: 0; } }
