/* =====================================================================
   Bara de contact de pe telefon (≤768px): „Sună | WhatsApp”, lipită de
   marginea de jos a ecranului, cu fundal opac și o linie subțire sus.
   Comună tuturor paginilor publice (index, rezervări, formular, contact,
   despre noi, termeni, politică). Înlocuiește cercurile plutitoare vechi
   (.call-float + pastila WhatsApp), care acopereau calendarul, butoanele
   „Rezervă” și colțul cardurilor din „Rezervările mele”.

   Când se vede (logica e în bara-contact-mobil.js):
   - e vizibilă de la început, pe toate paginile (și peste hero, pe index);
   - la derularea în jos alunecă sub ecran (.bara-contact-ascunsa); la
     derularea în sus sau când derularea se oprește reapare. Pe iPhone,
     Safari are și el bara de adrese jos, deci bara noastră nu stă permanent
     peste conținut;
   - se retrage și cât e deschis calendarul, un meniu, o listă derulantă, un
     modal sau bannerul de cookies (regulile :has() de mai jos).

   Pagina primește spațiu dedesubt (padding-bottom pe body), deci subsolul
   nu rămâne sub bară când e vizibilă. Pe desktop bara e ascunsă și rămâne
   pastila WhatsApp din dreapta-jos.

   Se încarcă DUPĂ stilurile paginii (după finisaje.css), ca regulile de
   ascundere a butoanelor vechi să bată CSS-ul inline al fiecărei pagini.
   ===================================================================== */
.bara-contact-mobil { display: none; }

@media (max-width: 768px) {
  .whatsapp-float, .call-float { display: none !important; }
  /* bara are 6px + buton 44px + 6px = 56px (+ zona de siguranță a telefonului); lăsăm 12px aer sub conținut */
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
  /* derularea programată (Tab prin subsol, ancore, scrollIntoView) se oprește deasupra barei,
     ca linkul adus în ecran să nu rămână sub ea */
  html, body { scroll-padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }

  .bara-contact-mobil {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 960;
    display: flex; gap: 8px;
    padding: 6px 10px calc(6px + env(safe-area-inset-bottom, 0px));
    background: #fffdfa;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(0);
    visibility: visible;
    /* apariția: alunecă în sus (ease-out); vizibilitatea revine pe loc */
    transition: transform 200ms cubic-bezier(0, 0, 0.2, 1), visibility 0s linear 0s;
  }
  body.dark .bara-contact-mobil {
    background: #1b1713;
    border-top-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.4);
  }
  .bara-contact-mobil a {
    flex: 1 1 0; min-width: 0; min-height: 44px;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 0 12px;
    border-radius: 999px;
    color: #fff; text-decoration: none;
    font-size: 15px; font-weight: 700; letter-spacing: 0.01em; white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, 0.35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
    transition: transform 160ms var(--ease-out, ease-out);
  }
  .bara-contact-mobil a svg { width: 20px; height: 20px; flex-shrink: 0; }
  /* culori cu contrast ≥4,5:1 pe text alb: portocaliul ars (decis la G1) și un verde WhatsApp închis */
  .bara-contact-apel { background: var(--portocaliu-buton, #B85A08); }
  .bara-contact-whatsapp { background: #158540; }
  .bara-contact-mobil a:active { transform: scale(0.97); }

  /* Ascunsă: alunecă sub ecran (ease-in). visibility se schimbă abia la finalul alunecării,
     ca linkurile să iasă din ordinea Tab și de sub deget fără să dispară brusc.
     Meniul contului (.nav-dropdown) se deschide cu style="display: block", nu cu atributul hidden,
     de aceea se verifică stilul inline. */
  .bara-contact-mobil.bara-contact-ascunsa,
  body:has(.calendar-popover.deschis) .bara-contact-mobil,
  body:has(.rzm-cal-pop.deschis) .bara-contact-mobil,
  body:has(.rzm-dd-panel:not([hidden])) .bara-contact-mobil,
  body:has(.nav-burger-menu:not([hidden])) .bara-contact-mobil,
  body:has(.nav-dropdown[style*="display: block"]) .bara-contact-mobil,
  body:has(.search-dd-panel:not([hidden])) .bara-contact-mobil,
  body:has(.filtre-dropdown:not([hidden])) .bara-contact-mobil,
  body:has(.modal-overlay.deschis) .bara-contact-mobil,
  body:has(.modal-detalii-overlay.deschis) .bara-contact-mobil,
  body:has(.cc-banner.cc-vizibil) .bara-contact-mobil {
    transform: translateY(calc(100% + 16px));
    visibility: hidden;
    transition: transform 200ms cubic-bezier(0.4, 0, 1, 1), visibility 0s linear 200ms;
  }
}

/* mișcare redusă: bara apare și dispare pe loc, fără alunecare */
@media (prefers-reduced-motion: reduce) {
  .bara-contact-mobil, .bara-contact-mobil a { transition: none !important; }
}
