/* Shared extras: sticky phone "Book Appointment" button + gallery photo viewer */

/* Sticky book button: phones only */
.sticky-book{display:none}
@media (max-width:760px){
  .sticky-book{display:flex;position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;
    justify-content:center;align-items:center;min-height:52px;border-radius:14px;font-weight:900;font-size:1rem;
    color:#090a09;background:linear-gradient(135deg,#f0ca78,#bd8f3e);box-shadow:0 10px 28px rgba(0,0,0,.5);
    text-decoration:none;transition:opacity .2s ease,transform .2s ease}
  .sticky-book.is-hidden{opacity:0;transform:translateY(24px);pointer-events:none}
  body{padding-bottom:84px}
}

/* Photo viewer */
.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px;background:rgba(5,6,5,.94)}
.lightbox[hidden]{display:none}
html.lb-open{overflow:hidden}
html.lb-open .sticky-book{display:none}
.lightbox .lb-figure{margin:0;width:min(92vw,1100px);max-width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;
  position:static;overflow:visible;border:0;border-radius:0;background:none;min-height:0}
.lightbox .lb-caption{position:static;padding:0;background:none;border:0;border-radius:0}
.lb-img{display:block;max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;border-radius:12px;
  border:1px solid #5f584a;background:#0c0d0b}
.lb-caption{color:#f2eadc;font-weight:800;text-align:center;font-size:.95rem}
.lightbox button{appearance:none;border:1px solid #6b6253;background:#151613;color:#fffaf0;cursor:pointer;
  border-radius:999px;display:grid;place-items:center;line-height:1}
.lightbox button:hover,.lightbox button:focus-visible{border-color:#e3bd6b;color:#e3bd6b;outline:none}
.lb-close{position:absolute;top:14px;right:14px;width:48px;height:48px;font-size:2rem}
.lb-prev,.lb-next{flex:0 0 auto;width:52px;height:52px;font-size:2.2rem}
.lb-prev[hidden],.lb-next[hidden]{visibility:hidden;display:grid}
@media (max-width:700px){
  .lightbox{padding:64px 8px 16px;gap:0}
  .lightbox .lb-figure{width:100%}
  .lb-img{max-height:calc(100vh - 170px)}
  .lb-prev,.lb-next{position:absolute;bottom:18px;width:56px;height:56px}
  .lb-prev{left:calc(50% - 72px)}.lb-next{right:calc(50% - 72px)}
}
