/* Breathtaking Lagoon Assistant v3.0 — self-contained and scoped */
#bl-assistant-root,
#bl-assistant-root * { box-sizing: border-box; }
#bl-assistant-root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
#bl-assistant-launcher {
  position: fixed;
  right: 16px;
  bottom: max(18px, env(safe-area-inset-bottom));
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #08735f, #0b9275);
  color: #fff;
  font-size: 27px;
  line-height: 1;
  box-shadow: 0 12px 30px rgba(5, 59, 50, .28);
  cursor: pointer;
  z-index: 2147483000;
  -webkit-tap-highlight-color: transparent;
}
#bl-assistant-launcher:hover { transform: translateY(-2px); }
#bl-assistant-launcher:focus-visible { outline: 3px solid #86e4cf; outline-offset: 3px; }
#bl-assistant-launcher .bl-sr-only,
#bl-assistant-root .bl-sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
#bl-assistant-backdrop {
  position: fixed;
  inset: 0;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: 16px 16px max(16px, env(safe-area-inset-bottom));
  background: rgba(2, 24, 21, .56);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 2147483001;
}
#bl-assistant-backdrop[data-open="true"] { display: flex; }
#bl-assistant-dialog {
  width: min(100%, 440px);
  max-height: min(78vh, 720px);
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 24px;
  background: #fff;
  color: #083f36;
  box-shadow: 0 28px 80px rgba(0,0,0,.3);
  transform-origin: bottom center;
  animation: bl-sheet-in .18s ease-out;
}
@keyframes bl-sheet-in { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }
.bl-assistant-header {
  position: sticky; top: 0; z-index: 2;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 20px 20px 14px;
  background: linear-gradient(180deg,#f4fffc 0%,rgba(255,255,255,.96) 100%);
  border-bottom: 1px solid #dcebe7;
}
.bl-assistant-brand { display: flex; gap: 12px; align-items: center; min-width: 0; }
.bl-assistant-mark { width: 42px; height: 42px; border-radius: 14px; display:grid; place-items:center; background:#e4f7f2; font-size:23px; flex:0 0 auto; }
.bl-assistant-title { margin: 0; color:#073f36; font-size: 1.18rem; line-height:1.2; }
.bl-assistant-subtitle { margin: 5px 0 0; color:#61736e; font-size:.84rem; line-height:1.4; }
#bl-assistant-close { border:0; background:#edf4f2; color:#073f36; width:38px; height:38px; border-radius:50%; font-size:22px; line-height:1; cursor:pointer; flex:0 0 auto; }
#bl-assistant-close:focus-visible { outline:3px solid #86e4cf; }
.bl-assistant-body { padding: 18px 20px 22px; }
.bl-assistant-prompt { margin:0 0 12px; font-weight:750; font-size:.92rem; }
.bl-assistant-search { display:flex; gap:8px; margin-bottom:16px; }
.bl-assistant-search input { min-width:0; flex:1; border:1px solid #cfe2dd; border-radius:13px; padding:11px 12px; font:inherit; color:#073f36; background:#fff; }
.bl-assistant-search button { border:0; border-radius:13px; padding:0 15px; font:700 .9rem/1 inherit; background:#08735f; color:#fff; cursor:pointer; }
.bl-assistant-search input:focus-visible,.bl-assistant-search button:focus-visible { outline:3px solid #b6efe2; outline-offset:1px; }
.bl-assistant-result { display:none; margin:-4px 0 14px; padding:12px; border-radius:13px; background:#f2faf8; color:#3c5f57; font-size:.88rem; line-height:1.5; }
.bl-assistant-result[data-show="true"] { display:block; }
.bl-assistant-result a { color:#006d5a; font-weight:750; }
.bl-assistant-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bl-assistant-action { min-height:60px; display:flex; align-items:center; gap:10px; border:1px solid #d9e9e5; border-radius:15px; padding:11px 12px; background:#fff; color:#083f36 !important; text-decoration:none !important; font-size:.9rem; font-weight:750; line-height:1.25; box-shadow:0 4px 13px rgba(11,84,70,.05); }
.bl-assistant-action:hover { border-color:#78c8b6; background:#f4fffc; }
.bl-assistant-action:focus-visible { outline:3px solid #b6efe2; outline-offset:1px; }
.bl-assistant-action span:first-child { font-size:20px; flex:0 0 auto; }
.bl-assistant-divider { height:1px; background:#e1ece9; margin:18px 0 14px; }
.bl-assistant-help { display:grid; gap:9px; }
.bl-assistant-help a { display:flex; align-items:center; justify-content:center; min-height:45px; border-radius:13px; text-decoration:none !important; font-weight:750; font-size:.9rem; }
.bl-assistant-contact { background:#073f36; color:#fff !important; }
.bl-assistant-email { background:#eef7f5; color:#073f36 !important; }
.bl-assistant-note { margin:13px 1px 0; color:#72817d; font-size:.75rem; line-height:1.45; }
@media (max-width: 390px) {
  #bl-assistant-launcher { right:12px; width:54px; height:54px; font-size:25px; }
  #bl-assistant-backdrop { padding:10px 10px max(10px, env(safe-area-inset-bottom)); }
  #bl-assistant-dialog { border-radius:20px; max-height:82vh; }
  .bl-assistant-header { padding:17px 16px 12px; }
  .bl-assistant-body { padding:15px 16px 18px; }
  .bl-assistant-grid { gap:8px; }
  .bl-assistant-action { min-height:57px; padding:10px; font-size:.84rem; }
}
@media (prefers-reduced-motion: reduce) { #bl-assistant-dialog { animation:none; } #bl-assistant-launcher:hover { transform:none; } }
