/* ---------- WhatsApp button fixed on the right side, always on screen ---------- */
.sdock { position: fixed; right: 28px; bottom: calc(28px + env(safe-area-inset-bottom)); z-index: 56; display: flex; flex-direction: column; align-items: flex-end; }
.sd-btn { display: flex; flex-direction: row-reverse; align-items: center; height: 56px; border-radius: 999px; text-decoration: none;
  font: 700 15px var(--f); white-space: nowrap; overflow: hidden; background: #25d366; color: #fff;
  box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .65), 0 0 0 1px rgba(255, 255, 255, .1);
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), filter .25s; }
.sd-btn:hover, .sd-btn:focus-visible { transform: translateX(-3px); filter: brightness(1.06); }
.sd-btn:focus-visible { outline: 2px solid #f4efe9; outline-offset: 3px; }
.sd-ic { flex: 0 0 56px; height: 56px; display: grid; place-items: center; }
.sd-ic svg { width: 26px; height: 26px; }
/* "WhatsApp" label slides open to the left on hover */
.sd-lbl { max-width: 0; opacity: 0; padding-left: 0; transition: max-width .4s cubic-bezier(.2, .8, .2, 1), opacity .25s, padding .4s; }
.sd-btn:hover .sd-lbl, .sd-btn:focus-visible .sd-lbl { max-width: 160px; opacity: 1; padding-left: 22px; }
/* phones: bottom-right corner, lifted above the "Book" bar while it is showing */
@media (max-width: 760px) {
  .sdock { top: auto; right: 14px; transform: none; bottom: calc(16px + env(safe-area-inset-bottom)); transition: bottom .45s cubic-bezier(.2, .8, .2, 1); }
  body.mcta-on .sdock { bottom: calc(92px + env(safe-area-inset-bottom)); }
  .sd-btn, .sd-ic { height: 54px; } .sd-ic { flex-basis: 54px; }
}
@media (prefers-reduced-motion: reduce) { .sd-btn, .sd-lbl, .sdock { transition: none; } }

/* desktop: bigger button, bottom-right corner */
@media (min-width: 761px) {
  .sd-btn { height: 68px; font-size: 16px; box-shadow: 0 18px 36px -10px rgba(37, 211, 102, .45), 0 10px 24px -10px rgba(0, 0, 0, .7); }
  .sd-ic { flex-basis: 68px; height: 68px; }
  .sd-ic svg { width: 34px; height: 34px; }
  .sd-btn:hover, .sd-btn:focus-visible { transform: translateY(-3px); }
  .sd-btn:hover .sd-lbl, .sd-btn:focus-visible .sd-lbl { padding-left: 26px; }
}
