/* Velora AI — Vera Chat */
:root{--vla-p:#7B1E2E;--vla-g:#C9861A;--vla-t:#0D7377;--vla-serif:'Cormorant Garamond',Georgia,serif}
/* Floating bubble */
#vera-bubble{position:fixed;bottom:28px;right:28px;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#7B1E2E,#4A1454);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9998;box-shadow:0 6px 28px rgba(123,30,46,.4);transition:transform .2s;flex-direction:column;gap:2px}
#vera-bubble:hover{transform:scale(1.08)}
#vera-bubble span:first-child{font-size:22px;line-height:1}
.vera-bubble-label{font-size:9px;font-weight:700;letter-spacing:.06em;opacity:.85}
/* Chat panel */
#vera-chat{position:fixed;bottom:104px;right:28px;width:360px;max-height:520px;background:#fff;border-radius:16px;box-shadow:0 12px 48px rgba(123,30,46,.2);display:flex;flex-direction:column;z-index:9999;border:1px solid rgba(123,30,46,.15);overflow:hidden}
@media(max-width:480px){#vera-chat{width:calc(100vw - 24px);right:12px;bottom:96px}}
#vera-header{background:linear-gradient(135deg,#7B1E2E,#4A1454);padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.vera-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0}
#vera-header strong{color:#fff;font-size:14px;display:block}
#vera-close{margin-left:auto;background:rgba(255,255,255,.2);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#vera-close:hover{background:rgba(255,255,255,.35)}
#vera-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:200px}
.vera-msg{display:flex;gap:8px;max-width:88%}
.vera-msg.vera-user{flex-direction:row-reverse;margin-left:auto}
.vera-msg-body{padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.6}
.vera-msg.vera-vera .vera-msg-body{background:#F9F5F0;color:#1a0a0a;border-bottom-left-radius:4px}
.vera-msg.vera-user .vera-msg-body{background:linear-gradient(135deg,#7B1E2E,#4A1454);color:#fff;border-bottom-right-radius:4px}
.vera-typing .vera-msg-body::after{content:'···';animation:dots 1.2s infinite;letter-spacing:2px}
@keyframes dots{0%,100%{opacity:.3}50%{opacity:1}}
#vera-input-wrap{padding:10px 12px;border-top:1px solid #f0ebe5;display:flex;gap:8px;flex-shrink:0}
#vera-input{flex:1;border:1.5px solid #E8DDD4;border-radius:22px;padding:8px 14px;font-size:13px;outline:none;font-family:inherit}
#vera-input:focus{border-color:#7B1E2E}
#vera-send{width:36px;height:36px;border-radius:50%;background:#7B1E2E;border:none;color:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
#vera-send:hover{background:#5e1622}
/* Planner page */
.vla-planner{max-width:860px;margin:0 auto;padding:20px 0}
.vla-planner-header{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#7B1E2E,#4A1454);border-radius:16px;padding:24px 28px;margin-bottom:22px;color:#fff}
.vla-vera-avatar{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}
.vla-planner-header h2{font-family:var(--vla-serif);font-size:1.8rem;margin:0 0 4px;color:#fff}
.vla-planner-header p{color:rgba(255,255,255,.8);margin:0;font-size:14px}
.vla-notice{padding:14px 18px;border-radius:10px;background:#FEF3C7;border:1px solid #FDE68A;color:#92400E;margin-bottom:16px}
.vla-tabs{display:flex;border-bottom:2px solid #E8DDD4;margin-bottom:20px}
.vla-tab{padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:none;color:#6B7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}
.vla-tab.active{color:#7B1E2E;border-bottom-color:#7B1E2E}
.vla-tab-pane{background:#fff;border-radius:14px;border:1px solid #E8DDD4;padding:20px;box-shadow:0 2px 16px rgba(123,30,46,.06)}
#vla-chat-msgs{min-height:320px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:14px;padding:4px}
.vla-msg{display:flex;gap:10px;max-width:85%}
.vla-msg.vla-user{flex-direction:row-reverse;margin-left:auto}
.vla-msg-body{padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.65}
.vla-vera .vla-msg-body{background:#F9F5F0;color:#1a0a0a;border-bottom-left-radius:4px}
.vla-user .vla-msg-body{background:linear-gradient(135deg,#7B1E2E,#4A1454);color:#fff;border-bottom-right-radius:4px}
.vla-typing .vla-msg-body::after{content:'···';animation:dots 1.2s infinite;letter-spacing:3px;font-size:18px}
.vla-chat-input{display:flex;gap:10px}
.vla-input{width:100%;padding:11px 16px;border:1.5px solid #E8DDD4;border-radius:10px;font-size:14px;font-family:inherit;outline:none;transition:border .2s;box-sizing:border-box}
.vla-input:focus{border-color:#7B1E2E}
.vla-btn{padding:10px 22px;background:#7B1E2E;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;font-family:inherit}
.vla-btn:hover{background:#5e1622}
.vla-quick-prompts{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.vla-prompt-chip{padding:5px 12px;border-radius:20px;border:1px solid #E8DDD4;background:#fff;font-size:12px;cursor:pointer;transition:all .2s;color:#6B7280;font-family:inherit}
.vla-prompt-chip:hover{border-color:#7B1E2E;color:#7B1E2E}
/* Budget */
.vla-budget-form h3{font-family:var(--vla-serif);color:#7B1E2E;margin:0 0 16px}
.vla-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.vla-row{grid-template-columns:1fr}}
.vla-fg{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.vla-fg label{font-size:13px;font-weight:600;color:#1a0a0a}
.vla-rec-card{background:linear-gradient(135deg,#F9F5F0,#FFF7ED);border-radius:12px;padding:16px;border:1px solid #E8DDD4;margin-bottom:10px;display:flex;align-items:flex-start;gap:12px}
.vla-rec-icon{font-size:1.8rem;flex-shrink:0}
.vla-rec-cat{font-weight:700;color:#7B1E2E;font-size:14px;margin-bottom:3px}
.vla-rec-budget{font-size:1rem;color:#C9861A;font-weight:700;margin-bottom:4px}
.vla-rec-tip{font-size:13px;color:#6B7280;line-height:1.5}
/* Checklist */
.vla-checklist h3{font-family:var(--vla-serif);color:#7B1E2E;margin:0 0 16px}
.vla-cl-section{margin-bottom:20px}
.vla-cl-section h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6B7280;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #E8DDD4}
.vla-cl-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:2px;font-size:14px;user-select:none}
.vla-cl-item:hover{background:#F9F5F0}
.vla-cl-item.done span{text-decoration:line-through;color:#9CA3AF}
.vla-cl-item input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:#7B1E2E;cursor:pointer;flex-shrink:0}

/* Free mode pill */
.vla-free-pill{display:inline-flex;align-items:center;padding:2px 10px;background:#D1FAE5;color:#065F46;border-radius:20px;font-size:11px;font-weight:700;margin-left:8px}
.vera-free-badge{position:absolute;top:-4px;right:-4px;background:#059669;color:#fff;font-size:9px;font-weight:800;padding:1px 5px;border-radius:6px}
#vera-quick-btns{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px;border-top:1px solid #f0ebe5;flex-shrink:0}
.vera-qbtn{background:#F9F5F0;border:1px solid #E8DDD4;border-radius:14px;padding:4px 10px;font-size:11px;cursor:pointer;color:#6B7280;transition:all .2s;font-family:inherit}
.vera-qbtn:hover{background:#7B1E2E;color:#fff;border-color:#7B1E2E}
.vera-msg{display:flex;gap:8px;max-width:90%;align-items:flex-start}
.vera-msg.vera-user{flex-direction:row-reverse;margin-left:auto}
.vera-msg-avatar{width:28px;height:28px;border-radius:50%;background:#7B1E2E;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;margin-top:2px}

/* ── Vera Minimize ── */
#vera-chat { transition: height .2s ease; }
#vera-chat.vera-minimized #vera-body { display: none !important; }
#vera-chat.vera-minimized { min-height: auto; }
#vera-header { gap: 8px; }
#vera-header > div:last-child { display: flex; gap: 4px; margin-left: auto; }

/* ── Vera bubble accessible ── */
#vera-bubble { cursor: pointer; user-select: none; }
#vera-bubble:hover { transform: scale(1.05); }

/* ── Mobile vera ── */
@media (max-width: 600px) {
  #vera-chat {
    width: calc(100vw - 24px) !important;
    right: 12px !important;
    bottom: 80px !important;
    max-height: 65vh !important;
  }
  #vera-bubble { right: 16px !important; bottom: 16px !important; }
}


/* Velora Hotfix 2026-06: force closed/minimized behavior */
#vera-chat[hidden], #vera-bubble[hidden] { display: none !important; }
#vera-chat { z-index: 99999 !important; }
#vera-bubble { z-index: 99998 !important; }
#vera-header button, #vera-close, #vera-minimize { pointer-events: auto !important; position: relative; z-index: 100000 !important; }
#vera-chat.vera-minimized #vera-body { display: none !important; }
