/* Header search button, floating dock (top / email / WhatsApp / assistant), search dialog, assistant panel */
.search-btn{display:inline-flex;align-items:center;gap:10px;border:0;background:#fff;box-shadow:0 0 0 1px var(--line);border-radius:999px;padding:10px 14px;font:600 14px var(--sans);color:var(--muted);cursor:pointer;transition:.2s;margin-left:6px}
.search-btn:hover{box-shadow:0 0 0 1px var(--ink);color:var(--ink)}
.search-btn svg{width:18px;height:18px}
.search-btn kbd{font:800 11px var(--sans);padding:2px 7px;border-radius:6px;background:var(--bg);box-shadow:0 0 0 1px var(--line)}
/* icon-only in the header at every width so the menu keeps one line */
.nav .search-btn span,.nav .search-btn kbd{display:none}
@media (max-width:1220px){.search-btn{margin-left:auto}.burger{margin-left:8px}}

.dock{position:fixed;right:18px;bottom:18px;z-index:240;display:flex;flex-direction:column;gap:10px}
.dock-btn{position:relative;width:54px;height:54px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:#fff;box-shadow:0 14px 30px -12px rgba(14,19,32,.45);transition:transform .25s var(--ease),opacity .3s}
.dock-btn svg{width:24px;height:24px}
.dock-btn:hover{transform:translateY(-3px) scale(1.04)}
.dock-btn.to-top{background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--line),0 14px 30px -14px rgba(14,19,32,.4);opacity:0;pointer-events:none;transform:translateY(8px)}
body.scrolled-far .dock-btn.to-top{opacity:1;pointer-events:auto;transform:none}
.dock-btn.mail{background:var(--brand)}
.dock-btn.wa{background:#25D366}
.dock-btn.bot{background:var(--ink)}
.dock-btn .tip{position:absolute;right:66px;white-space:nowrap;font:700 13px var(--sans);background:var(--ink);color:#fff;padding:7px 11px;border-radius:10px;opacity:0;pointer-events:none;transform:translateX(6px);transition:.2s}
.dock-btn:hover .tip,.dock-btn:focus-visible .tip{opacity:1;transform:none}
.proto{right:88px}
body.noscroll{overflow:hidden}

.sdlg{position:fixed;inset:0;z-index:400;background:rgba(14,19,32,.55);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:9vh 16px 16px}
.sdlg[hidden]{display:none}
.sdlg-panel{width:min(760px,100%);max-height:80vh;display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);overflow:hidden}
.sdlg-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.sdlg-top svg{width:22px;height:22px;color:var(--muted);flex:none}
.sdlg-top input{flex:1;border:0;outline:0;font:600 18px var(--sans);color:var(--ink);min-width:0;background:none}
.sdlg-top button{border:0;background:var(--bg);box-shadow:0 0 0 1px var(--line);border-radius:8px;padding:6px 10px;font:800 12px var(--sans);cursor:pointer}
.sdlg-hint{padding:16px 18px;font-size:14px;font-weight:700;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sdlg-hint[hidden]{display:none}
.sdlg-hint button{border:0;background:var(--brand-soft);color:var(--brand);font:700 13px var(--sans);padding:6px 12px;border-radius:999px;cursor:pointer}
.sdlg-results{list-style:none;overflow:auto;padding:8px}
.sdlg-results a{display:block;padding:14px;border-radius:14px}
.sdlg-results a:hover,.sdlg-results a:focus{background:var(--bg)}
.sr-cat{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.sdlg-results b{display:block;font-size:18px;margin:2px 0 4px}
.sdlg-results p{font-size:14px;color:var(--ink-2)}
.sdlg-results mark{background:rgba(28,111,192,.15);color:inherit;font-weight:700}
.sr-hits{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sr-hits i{font-style:normal;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand)}
.sr-none{padding:20px 14px;font-weight:600;color:var(--ink-2)}
.sr-none a{color:var(--brand);font-weight:800}

.chat{position:fixed;right:84px;bottom:18px;z-index:300;width:min(390px,calc(100vw - 32px));height:min(580px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 40px 80px -30px rgba(14,19,32,.55),0 0 0 1px var(--line);overflow:hidden}
.chat[hidden]{display:none}
.chat header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ink);color:#fff}
.chat-av{width:38px;height:38px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-weight:800}
.chat header b{display:block;font-size:15px}
.chat header small{font-size:12px;color:#aab3c3}
.chat header button{margin-left:auto;border:0;background:rgba(255,255,255,.1);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer}
.chat-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5}
.msg.bot{background:#fff;box-shadow:0 0 0 1px var(--line);border-bottom-left-radius:4px}
.msg.me{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.msg ul{margin:8px 0;padding-left:18px;list-style:disc}
.msg ul.cards{list-style:none;padding:0;display:grid;gap:8px}
.msg ul.cards li{background:var(--bg);border-radius:12px;padding:10px 12px}
.msg ul.cards a b{display:block;color:var(--brand)}
.msg ul.cards span{font-size:12px;font-weight:700;color:var(--muted)}
.msg ul.cards p{font-size:13px;margin-top:4px;color:var(--ink-2)}
.msg a{color:var(--brand);font-weight:700}
.wa-link{display:inline-block;margin-top:8px;background:#25D366;color:#fff!important;padding:7px 12px;border-radius:999px;font-size:13px}
.chat-quick{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid var(--line);scrollbar-width:none}
.chat-quick button{flex:none;border:0;background:var(--brand-soft);color:var(--brand);font:700 12.5px var(--sans);padding:7px 11px;border-radius:999px;cursor:pointer}
.chat-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat-in input{flex:1;border:0;background:var(--bg);box-shadow:0 0 0 1px var(--line);border-radius:999px;padding:11px 16px;font:600 14px var(--sans);outline:0;min-width:0}
.chat-in button{width:42px;height:42px;border-radius:50%;border:0;background:var(--ink);color:#fff;cursor:pointer}
@media (max-width:600px){.dock{right:12px;bottom:12px}.dock-btn{width:48px;height:48px}.chat{right:12px;left:12px;width:auto;bottom:12px;height:calc(100vh - 90px)}.proto{display:none}}
