/* v43 · asistente de descubrimiento local integrado a la identidad existente */
:root{--ttz-v43-panel-shadow:0 24px 80px rgba(54,42,34,.24)}
.ai-launcher{z-index:250;min-height:56px;padding:9px 16px 9px 10px;font-size:13px;letter-spacing:.01em}
.ai-launcher:focus-visible,.ai-close:focus-visible,.ai-send:focus-visible,.ai-quick-actions button:focus-visible,.ai-result-card button:focus-visible,.ai-followups button:focus-visible{outline:3px solid #e99d55;outline-offset:3px}
.ai-chat{z-index:260;width:min(760px,calc(100vw - 48px));height:min(820px,calc(100dvh - 48px));right:24px;bottom:24px;border:1px solid rgba(222,207,193,.95);border-radius:28px;box-shadow:var(--ttz-v43-panel-shadow);display:flex;flex-direction:column}
.ai-chat[hidden]{display:none}
.ai-chat-header{flex:none;min-height:74px;padding:13px 18px;grid-template-columns:auto minmax(0,1fr) auto;background:linear-gradient(120deg,var(--mocha),var(--sage-dark));}
.ai-chat-header strong{font-size:15px;letter-spacing:.01em}
.ai-chat-header span{font-size:11px}
.ai-avatar{width:42px;height:42px;border-radius:15px}
.ai-close{width:42px;height:42px;display:grid;place-items:center;cursor:pointer}
.ai-chat-body{height:auto;min-height:0;flex:1;display:flex;flex-direction:column}
.ai-messages{overscroll-behavior:contain;padding:22px clamp(14px,3vw,28px) 16px;scroll-behavior:smooth}
.ai-message{margin-bottom:17px;animation:ttz-v43-arrive .22s ease-out both}
.ai-message-user{margin-left:auto}
.ai-bubble{max-width:min(88%,660px);padding:13px 16px;border-radius:18px;font-size:14px;line-height:1.58;overflow-wrap:anywhere}
.ai-message-assistant .ai-bubble{border-color:#eadfd4;border-bottom-left-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(79,47,37,.055)}
.ai-message-user .ai-bubble{border-bottom-right-radius:7px;background:linear-gradient(135deg,var(--mocha),#675245)}
.ai-message.is-typing .ai-bubble{display:flex;align-items:center;gap:10px;color:#594a40;font-style:normal}
.ai-message.is-typing .ai-bubble:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage);box-shadow:12px 0 var(--sage),24px 0 var(--sage);margin:0 24px 0 2px;animation:ttz-v43-dots 1.1s ease-in-out infinite}
.ai-result-links{display:none}
.ai-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px}
.ai-result-card{min-width:0;overflow:hidden;border:1px solid #e7ddd4;border-radius:17px;background:linear-gradient(155deg,#fff,#fffaf4);box-shadow:0 8px 24px rgba(79,47,37,.07)}
.ai-result-card-media{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--sage-soft),var(--sand))}
.ai-result-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.ai-result-card-label{position:absolute;left:10px;top:10px;max-width:calc(100% - 20px);padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--sage-dark);font-size:10px;font-weight:850;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.ai-result-card-content{display:flex;flex-direction:column;align-items:flex-start;padding:12px}
.ai-result-card h3{margin:0;color:var(--mocha);font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.ai-result-card p{margin:6px 0 0;color:#64574f;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.ai-result-card .ai-result-meta{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:8px;color:#66584f;font-size:11px}
.ai-result-card .ai-result-price{margin-top:8px;color:var(--terra-dark);font-size:13px;font-weight:900}
.ai-result-card button{min-height:42px;margin-top:11px;padding:9px 12px;border:0;border-radius:12px;background:var(--sage-dark);color:#fff;font-size:12px;font-weight:850;cursor:pointer}
.ai-result-card button:hover{background:var(--mocha)}
.ai-followups{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.ai-followups button{min-height:40px;padding:8px 11px;border:1px solid #d8e6df;border-radius:999px;background:#f4faf7;color:#35594e;font-size:11px;font-weight:800;cursor:pointer}
.ai-followups button:hover{border-color:var(--sage-dark);background:#eaf5ef}
.ai-quick-actions{flex:none;gap:8px;padding:10px clamp(12px,3vw,26px);border-top:1px solid #efe6de;background:rgba(255,255,255,.88)}
.ai-quick-actions button{min-height:42px;padding:9px 13px;color:#534238;font-size:11px;white-space:nowrap}
.ai-form{flex:none;gap:9px;padding:12px clamp(12px,3vw,26px) 8px;background:#fff}
.ai-input-wrap input{height:50px;border-radius:16px;padding-left:15px;background:#fbf8f3;font-size:15px}
.ai-input-wrap input:focus{border-color:var(--sage-dark);box-shadow:0 0 0 3px rgba(26,163,146,.13)}
.ai-send{width:50px;height:50px;border-radius:16px;cursor:pointer}
.ai-note{flex:none;padding:0 clamp(12px,3vw,26px) 13px;font-size:10px;line-height:1.5}
.ai-chat[aria-busy="true"] .ai-send{opacity:.7;cursor:wait}
body.ai-chat-open .ai-launcher{opacity:0;pointer-events:none}
@keyframes ttz-v43-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes ttz-v43-dots{0%,70%,100%{opacity:.35}35%{opacity:1}}
@media(min-width:961px){.ai-chat{right:clamp(22px,3vw,44px);bottom:clamp(22px,3vh,36px)}.ai-message-assistant .ai-bubble{max-width:min(92%,700px)}}
@media(max-width:960px){.ai-chat{width:min(680px,calc(100vw - 32px));height:min(78dvh,760px);right:16px;bottom:82px}}
@media(max-width:620px){
  .ai-launcher{right:10px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:52px;height:52px;min-height:52px;padding:6px}
  .ai-chat{top:env(safe-area-inset-top,0px);right:0;bottom:0;left:0;width:100%;height:auto;max-height:none;border:0;border-radius:0;box-shadow:none}
  .ai-chat-header{min-height:calc(66px + env(safe-area-inset-top,0px));padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px}
  .ai-chat-body{height:auto;min-height:0;flex:1}
  .ai-messages{padding:16px 12px 12px}
  .ai-bubble{max-width:94%;padding:11px 13px;font-size:14px}
  .ai-result-cards{grid-template-columns:1fr;gap:9px}
  .ai-result-card{display:grid;grid-template-columns:minmax(94px,30%) minmax(0,1fr);align-items:stretch}
  .ai-result-card-media{height:100%;min-height:122px;aspect-ratio:auto}
  .ai-result-card-content{padding:10px}
  .ai-result-card h3{font-size:13px}
  .ai-result-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:11px}
  .ai-result-card .ai-result-meta{font-size:10px}
  .ai-result-card button{min-height:40px;margin-top:8px}
  .ai-followups{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 5px;scroll-snap-type:x proximity;scrollbar-width:thin}
  .ai-followups button{flex:none;scroll-snap-align:start}
  .ai-quick-actions{padding:8px 10px}
  .ai-form{padding:9px 10px 6px}
  .ai-input-wrap input{height:48px;font-size:16px}
  .ai-send{width:48px;height:48px}
  .ai-note{padding:0 12px calc(9px + env(safe-area-inset-bottom,0px));font-size:10px}
  body.ai-chat-open{padding-bottom:0;overflow:hidden}
  body.ai-chat-open .app-bottom-nav,body.ai-chat-open .float-wa{display:none!important}
  body.ttz-v42-keyboard-open .ai-chat{top:env(safe-area-inset-top,0px);bottom:var(--ttz-v42-vv-bottom,0px);height:auto;max-height:none}
}
@media(orientation:landscape) and (max-height:520px){.ai-chat{height:calc(100dvh - 20px);bottom:10px}.ai-chat-header{min-height:58px;padding:7px 12px}.ai-avatar{width:36px;height:36px}.ai-messages{padding-top:10px;padding-bottom:7px}.ai-quick-actions{padding-top:5px;padding-bottom:5px}.ai-note{padding-bottom:7px}}
@media(prefers-reduced-motion:reduce){.ai-message,.ai-message.is-typing .ai-bubble:after{animation:none!important}.ai-messages{scroll-behavior:auto}}