/* Booking pop-up: small flat card, fixed so it never shifts layout.
   White with a thin cobalt rule; no shadow, no radius, no gradient. */
.book-pop{position:fixed;right:24px;bottom:24px;z-index:30;width:368px;max-width:calc(100vw - 24px);
  background:#fff;border:1px solid var(--navy-deep);color:var(--text);padding:22px 22px 20px;
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s}
.book-pop.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .28s ease,visibility 0s}
.book-pop-line{font-family:"DM Sans",sans-serif;font-weight:600;font-size:1.65rem;line-height:1.08;letter-spacing:-.01em;margin:0 36px 18px 0;color:var(--text)}
.book-pop-line em{font-style:italic;color:var(--accent-ink)}
.book-pop-actions{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.book-pop .button{min-height:44px;padding:0 20px;font-size:.95rem}
.book-pop-call{font-size:.9rem}
.book-pop-close{position:absolute;top:6px;right:6px;width:40px;height:40px;display:grid;place-items:center;
  background:transparent;border:0;border-radius:0;color:var(--text);cursor:pointer;padding:0;font:inherit}
.book-pop-close svg{width:14px;height:14px;display:block}
.book-pop-close:hover{color:var(--accent-ink)}
.book-pop-close:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
@media (max-width:540px){
  .book-pop{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;padding:16px 16px 16px 18px}
  .book-pop-line{font-size:1.4rem;margin:0 36px 14px 0}
  .book-pop-actions{flex-wrap:nowrap;gap:14px}
  .book-pop .button{flex:none;padding:0 18px}
  .book-pop-call{font-size:.86rem;white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .book-pop,.book-pop.is-visible{transform:none;transition:none}
}
@media print{.book-pop{display:none!important}}
