/* Envision Assistant widget. All selectors are prefixed .env-ai- to avoid clashing with site CSS. */
#env-ai{
  --ea-navy:#1B2A4A; --ea-navy-d:#0f1c36; --ea-gold:#B8943A; --ea-gold-l:#D4AF57; --ea-gold-p:#FBF4E6;
  --ea-text:#1e293b; --ea-muted:#5b6778; --ea-border:#d5dae3; --ea-bg:#f5f6f9; --ea-danger:#8c1e1e; --ea-ok:#2d6a4f;
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:15px; line-height:1.5; color:var(--ea-text);
}
#env-ai *,#env-ai *::before,#env-ai *::after{box-sizing:border-box}
.env-ai-launcher{
  position:fixed; right:20px; bottom:20px; z-index:9990; display:flex; align-items:center; gap:10px;
  min-height:52px; padding:0 20px 0 16px; border:0; border-radius:999px; cursor:pointer;
  background:var(--ea-navy); color:#fff; font-weight:600;font-size:14px;line-height:1;font-family:inherit;
  box-shadow:0 8px 24px rgba(27,42,74,.35), inset 0 0 0 1.5px var(--ea-gold);
  transition:transform .2s ease, box-shadow .2s ease;
}
.env-ai-launcher:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(27,42,74,.4), inset 0 0 0 1.5px var(--ea-gold-l)}
.env-ai-launcher:focus-visible,.env-ai-btn:focus-visible,.env-ai-chip:focus-visible,.env-ai-icon-btn:focus-visible,
.env-ai-input:focus-visible,.env-ai-field:focus-visible{outline:3px solid var(--ea-gold-l); outline-offset:2px}
.env-ai-launcher svg{width:22px;height:22px;color:var(--ea-gold-l);flex:none}

.env-ai-panel{
  position:fixed; right:20px; bottom:20px; z-index:9991; width:390px; max-width:calc(100vw - 24px);
  height:min(600px, calc(100vh - 40px)); display:none; flex-direction:column; overflow:hidden;
  background:#fff; border-radius:16px; border:1px solid var(--ea-border);
  box-shadow:0 24px 64px rgba(15,28,54,.28);
}
.env-ai-panel.open{display:flex; animation:env-ai-in .22s ease-out}
@keyframes env-ai-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.env-ai-head{background:var(--ea-navy); color:#fff; padding:14px 14px 14px 18px; display:flex; align-items:center; gap:12px; border-bottom:3px solid var(--ea-gold)}
.env-ai-avatar{width:38px;height:38px;border-radius:50%;background:var(--ea-navy-d);box-shadow:inset 0 0 0 1.5px var(--ea-gold);display:flex;align-items:center;justify-content:center;color:var(--ea-gold-l);font-size:18px;flex:none}
.env-ai-title{font-family:'Cormorant Garamond',Georgia,serif; font-size:20px; font-weight:600; line-height:1.1}
.env-ai-sub{font-size:11.5px; color:#c9d1e0; margin-top:2px}
.env-ai-head-actions{margin-left:auto; display:flex; gap:4px}
.env-ai-icon-btn{width:44px;height:44px;border:0;background:transparent;color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;font-family:inherit}
.env-ai-icon-btn:hover{background:rgba(255,255,255,.12)}

.env-ai-body{flex:1; overflow-y:auto; padding:16px; background:var(--ea-bg); display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth}
.env-ai-msg{max-width:88%; padding:10px 14px; border-radius:14px; word-wrap:break-word; overflow-wrap:anywhere}
.env-ai-msg p{margin:0 0 6px} .env-ai-msg p:last-child{margin:0}
.env-ai-msg ul{margin:4px 0 4px 18px;padding:0}
.env-ai-bot{align-self:flex-start; background:#fff; border:1px solid var(--ea-border); border-bottom-left-radius:4px}
.env-ai-user{align-self:flex-end; background:var(--ea-navy); color:#fff; border-bottom-right-radius:4px}
.env-ai-note{align-self:stretch; font-size:12.5px; padding:9px 12px; border-radius:10px; background:var(--ea-gold-p); border:1px solid #e6d3a3; color:#5c4712}
.env-ai-ok{background:#e6f4ec; border-color:#9fd2b5; color:#1d4d37}
.env-ai-err{background:#fbe9e9; border-color:#e3b3b3; color:var(--ea-danger)}
.env-ai-typing{display:flex;gap:4px;padding:12px 14px}
.env-ai-typing i{width:7px;height:7px;border-radius:50%;background:var(--ea-muted);animation:env-ai-b 1.2s infinite ease-in-out}
.env-ai-typing i:nth-child(2){animation-delay:.15s}.env-ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes env-ai-b{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}

.env-ai-chips{display:flex;flex-wrap:wrap;gap:8px}
.env-ai-chip{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--ea-gold);background:#fff;color:var(--ea-navy);font-weight:500;font-size:13px;font-family:inherit;cursor:pointer}
.env-ai-chip:hover{background:var(--ea-gold-p)}

.env-ai-foot{border-top:1px solid var(--ea-border);background:#fff;padding:10px 12px 8px}
.env-ai-row{display:flex;gap:8px;align-items:flex-end}
.env-ai-input{flex:1;min-height:44px;max-height:110px;resize:none;padding:11px 12px;border:1.5px solid var(--ea-border);border-radius:12px;font-size:16px;line-height:1.4;font-family:inherit;color:var(--ea-text);background:#fff}
.env-ai-send{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:var(--ea-gold);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.env-ai-send:hover{background:var(--ea-gold-l)} .env-ai-send:disabled{opacity:.5;cursor:not-allowed}
.env-ai-send svg{width:20px;height:20px}
.env-ai-legal{font-size:11px;color:var(--ea-muted);margin:6px 2px 0;line-height:1.35}
.env-ai-linkbtn{background:none;border:0;padding:0;color:var(--ea-navy);text-decoration:underline;font-family:inherit;font-size:12px;cursor:pointer}

/* details form */
.env-ai-form{flex:1;overflow-y:auto;padding:16px;background:var(--ea-bg);display:none}
.env-ai-panel.form-view .env-ai-form{display:block}
.env-ai-panel.form-view .env-ai-body,.env-ai-panel.form-view .env-ai-foot{display:none}
.env-ai-form h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;margin:0 0 4px;color:var(--ea-navy)}
.env-ai-form p.lede{margin:0 0 12px;font-size:13px;color:var(--ea-muted)}
.env-ai-lab{display:block;font-size:12.5px;font-weight:600;margin:10px 0 4px;color:var(--ea-navy)}
.env-ai-field{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--ea-border);border-radius:10px;font-size:16px;font-family:inherit;background:#fff;color:var(--ea-text)}
textarea.env-ai-field{min-height:90px;resize:vertical}
.env-ai-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:12.5px;color:var(--ea-text)}
.env-ai-consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--ea-navy)}
.env-ai-btn{min-height:46px;padding:0 20px;border:0;border-radius:10px;background:var(--ea-navy);color:#fff;font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--ea-gold)}
.env-ai-btn:hover{background:var(--ea-navy-d)} .env-ai-btn:disabled{opacity:.6;cursor:wait}
.env-ai-btn.ghost{background:transparent;color:var(--ea-navy);box-shadow:none;text-decoration:underline}
.env-ai-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.env-ai-problems{color:var(--ea-danger);font-size:12.5px;margin:8px 0 0;padding-left:18px}

/* Site has a fixed bottom nav (~74px) below 768px: keep the launcher/panel clear of it. */
@media (max-width:767px){
  .env-ai-launcher{bottom:calc(88px + env(safe-area-inset-bottom, 0px))}
}
@media (min-width:521px) and (max-width:767px){
  .env-ai-panel{bottom:88px;height:min(600px, calc(100vh - 108px))}
}
@media (max-width:520px){
  .env-ai-panel{right:0;bottom:0;left:0;width:100%;max-width:100%;height:100dvh;border-radius:0;border:0}
  .env-ai-launcher{right:14px}
}
@media (prefers-reduced-motion:reduce){.env-ai-panel.open,.env-ai-launcher,.env-ai-typing i{animation:none;transition:none}.env-ai-body{scroll-behavior:auto}}
@media print{#env-ai{display:none}}
