/* ===========================================================================
   Harv — TL;DR: a small fixed button bottom-left (same corner and voice as the
   homepage booking prompt). Click = a popup with the page in three lines.
   =========================================================================== */
.tldr-root { position: fixed; left: clamp(16px, 3vw, 36px); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 85; font-family: "Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
/* the button reads like the hero booking link: bold text on a green underline
   with a small chevron, on a whisper of paper so it stays readable anywhere */
.tldr-btn {
  appearance: none; cursor: pointer; font: inherit; border: 0;
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(244, 244, 243, .88); border-radius: 10px;
  padding: 8px 12px; font-weight: 700; font-size: .98rem; color: #101314;
  text-decoration: underline; text-decoration-color: #77fb38;
  text-decoration-thickness: 3px; text-underline-offset: 4px;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
.tldr-btn svg { width: .8em; height: .8em; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
.tldr-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.tldr-btn:hover { transform: translateY(-2px); }
.tldr-btn:focus-visible { outline: 3px solid #101314; outline-offset: 3px; }

.tldr-pop {
  position: absolute; left: 0; bottom: calc(100% + 12px);
  width: min(440px, calc(100vw - 40px));
  background: #fff; border: 1px solid rgba(16, 19, 20, .12); border-left: 4px solid #77fb38;
  border-radius: 18px; padding: 22px 26px 24px;
  box-shadow: 0 34px 80px -42px rgba(16, 19, 20, .6);
  animation: tldr-in .35s cubic-bezier(.16, 1, .3, 1);
}
.tldr-pop[hidden] { display: none; }
@keyframes tldr-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.tldr-head { display: inline-block; font-size: .8rem; font-weight: 800; letter-spacing: .05em; color: #101314; background: #77fb38; padding: 3px 11px; border-radius: 100px; margin: 0 0 12px; }
.tldr-pop ul { margin: 0; padding-left: 18px; }
.tldr-pop li { margin-bottom: 9px; color: #25292b; font-size: .96rem; line-height: 1.55; }
.tldr-pop li:last-child { margin-bottom: 0; }
.tldr-cta {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 14px;
  color: #101314; font-weight: 700; font-size: .94rem; text-decoration: underline;
  text-decoration-color: #77fb38; text-decoration-thickness: 2px; text-underline-offset: 3px;
}
.tldr-cta svg { width: .8em; height: .8em; }
.tldr-close {
  position: absolute; top: 8px; right: 10px; appearance: none; border: 0; background: none;
  font: inherit; font-size: 1.25rem; font-weight: 700; line-height: 1; color: #5b6166;
  cursor: pointer; padding: 6px;
}
.tldr-close:hover { color: #101314; }
.tldr-close:focus-visible { outline: 3px solid #101314; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .tldr-pop { animation: none; }
  .tldr-btn, .tldr-btn:hover { transform: none; transition: none; }
}
@media (max-width: 767px) {
  .tldr-root { bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
  .tldr-btn { padding: 6px 11px; font-size: .82rem; text-decoration-thickness: 2px; text-underline-offset: 3px; -webkit-tap-highlight-color: transparent; }
  .tldr-btn:active { transform: translateY(1px); }
}
@media print { .tldr-root { display: none; } }
