/* AI chat widget (terv: AI-Chat-Modul-Terv.md D1) — a storefront tokenjeire
   épül; a DOM-ot a chat-widget.js építi (CSP: külső JS, semmi inline). */

#sh-chat-fab{position:fixed;right:18px;bottom:18px;z-index:65;width:56px;height:56px;
  border-radius:50%;border:none;cursor:pointer;background:var(--sh-gold-500,#C9A227);
  box-shadow:0 8px 24px rgba(20,20,20,.28);display:flex;align-items:center;justify-content:center;
  transition:transform .18s ease,box-shadow .18s ease}
#sh-chat-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,20,20,.34)}
#sh-chat-fab .sh-chat-fab-ico{width:26px;height:26px;background:#fff;
  mask:url(/static/img/logo-icon.svg) center / contain no-repeat;
  -webkit-mask:url(/static/img/logo-icon.svg) center / contain no-repeat}
/* fény-pulzus, amíg a chat zárva van — nyitáskor (.sh-chat-open) leáll */
#sh-chat-fab:not(.sh-chat-open){animation:shChatGlow 2.4s ease-in-out infinite}
@keyframes shChatGlow{
  0%{box-shadow:0 8px 24px rgba(20,20,20,.28),0 0 0 0 rgba(201,162,39,.55),0 0 14px 2px rgba(231,206,130,.45)}
  70%{box-shadow:0 8px 24px rgba(20,20,20,.28),0 0 0 14px rgba(201,162,39,0),0 0 24px 7px rgba(231,206,130,.7)}
  100%{box-shadow:0 8px 24px rgba(20,20,20,.28),0 0 0 0 rgba(201,162,39,0),0 0 14px 2px rgba(231,206,130,.45)}
}
@media (max-width:640px){ #sh-chat-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))} }

#sh-chat-panel{position:fixed;right:18px;bottom:86px;z-index:66;width:360px;max-width:calc(100vw - 28px);
  height:560px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden;
  background:var(--sh-surface,#fff);border:1px solid var(--sh-line,#e6e1d8);
  border-radius:var(--sh-radius-lg,14px);box-shadow:0 20px 60px rgba(20,20,20,.35);
  opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;
  transition:opacity .2s ease,transform .2s ease,visibility .2s}
#sh-chat-panel.open{opacity:1;visibility:visible;transform:none}
@media (max-width:640px){
  #sh-chat-panel{right:14px;left:14px;width:auto;height:75vh;bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
  #sh-chat-fab,#sh-chat-panel{transition:none;animation:none}
}

.sh-chat-head{background:var(--sh-ink-900,#1c1a16);color:var(--sh-gold-400,#E7CE82);
  padding:13px 16px;display:flex;align-items:center;gap:10px;flex:0 0 auto}
.sh-chat-head-title{font-family:var(--sh-font-display);font-weight:700;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;flex:1}
.sh-chat-close{border:none;background:transparent;color:#b6b0a6;font-size:20px;line-height:1;
  cursor:pointer;padding:2px 4px}
.sh-chat-close:hover{color:#fff}

.sh-chat-notice{font-size:10.5px;line-height:1.5;color:var(--sh-ink-500,#7a756c);
  background:var(--sh-surface-2,#f7f4ef);border-bottom:1px solid var(--sh-line,#e6e1d8);
  padding:8px 14px;flex:0 0 auto}
.sh-chat-notice a{color:var(--sh-gold-700,#8a6d1c)}

.sh-chat-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px;
  display:flex;flex-direction:column;gap:10px}
.sh-chat-msg{max-width:82%;padding:9px 13px;font-size:13px;line-height:1.55;
  white-space:pre-wrap;overflow-wrap:break-word}
.sh-chat-msg.user{align-self:flex-end;background:var(--sh-gold-050,#faf3df);
  border:1px solid var(--sh-gold-100,#f0e3bb);border-radius:12px 12px 2px 12px;color:var(--sh-ink-800,#33302a)}
.sh-chat-msg.bot{align-self:flex-start;background:var(--sh-surface-2,#f7f4ef);
  border:1px solid var(--sh-line,#e6e1d8);border-radius:12px 12px 12px 2px;color:var(--sh-ink-800,#33302a)}
.sh-chat-msg.sys{align-self:center;background:transparent;border:none;font-size:11.5px;
  color:var(--sh-ink-400,#9b958a);text-align:center}

.sh-chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px;flex:0 0 auto}
.sh-chat-chip{border:1px solid var(--sh-gold-100,#f0e3bb);background:var(--sh-gold-050,#faf3df);
  color:var(--sh-gold-700,#8a6d1c);border-radius:999px;font-size:11.5px;font-weight:600;
  padding:6px 12px;cursor:pointer}
.sh-chat-chip:hover{background:var(--sh-gold-100,#f0e3bb)}

/* e-mail-gyűjtés mini-ablak (F4): többlépcsős kártya a naplóban */
.sh-chat-nl{align-self:flex-start;max-width:92%;background:var(--sh-gold-050,#faf3df);
  border:1px solid var(--sh-gold-100,#f0e3bb);border-radius:12px 12px 12px 2px;
  padding:12px 14px}
.sh-chat-nl-txt{margin:0 0 9px;font-size:12.5px;line-height:1.55;color:var(--sh-ink-800,#33302a)}
.sh-chat-nl-txt a{color:var(--sh-gold-700,#8a6d1c)}
.sh-chat-nl-input{width:100%;box-sizing:border-box;border:1px solid var(--sh-line-strong,#d8d2c6);
  border-radius:var(--sh-radius-sm,8px);padding:8px 11px;font:inherit;font-size:13px;
  color:var(--sh-ink-800,#33302a);background:var(--sh-surface,#fff)}
.sh-chat-nl-input:focus{outline:2px solid var(--sh-gold-400,#E7CE82);outline-offset:-1px}
.sh-chat-nl-email{font-size:13px;font-weight:600;color:var(--sh-ink-800,#33302a);
  margin-bottom:7px;overflow-wrap:break-word}
.sh-chat-nl-err{font-size:11px;color:var(--sh-danger,#B3401F);min-height:0;margin-top:4px}
.sh-chat-nl-err:empty{display:none}
.sh-chat-nl-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}
.sh-chat-nl-btn{border:none;border-radius:var(--sh-radius-sm,8px);cursor:pointer;
  background:var(--sh-gold-500,#C9A227);color:#1c1a16;font-family:var(--sh-font-display);
  font-weight:700;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:9px 13px}
.sh-chat-nl-btn:disabled{opacity:.55;cursor:default}
.sh-chat-nl-later{border:none;background:transparent;color:var(--sh-ink-400,#9b958a);
  font-size:11px;cursor:pointer;text-decoration:underline;padding:0}
.sh-chat-nl-later:hover{color:var(--sh-ink-700,#4b463d)}

.sh-chat-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 13px}
.sh-chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--sh-ink-400,#9b958a);
  animation:shChatDot 1s infinite}
.sh-chat-typing i:nth-child(2){animation-delay:.15s}
.sh-chat-typing i:nth-child(3){animation-delay:.3s}
@keyframes shChatDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}

.sh-chat-input{flex:0 0 auto;border-top:1px solid var(--sh-line,#e6e1d8);padding:10px 12px;
  display:flex;gap:8px;align-items:flex-end;background:var(--sh-surface,#fff)}
.sh-chat-input textarea{flex:1;resize:none;border:1px solid var(--sh-line-strong,#d8d2c6);
  border-radius:var(--sh-radius-sm,8px);padding:9px 11px;font:inherit;font-size:13px;
  line-height:1.45;max-height:96px;min-height:38px;color:var(--sh-ink-800,#33302a);background:var(--sh-surface,#fff)}
.sh-chat-input textarea:focus{outline:2px solid var(--sh-gold-400,#E7CE82);outline-offset:-1px}
.sh-chat-send{border:none;border-radius:var(--sh-radius-sm,8px);cursor:pointer;
  background:var(--sh-gold-500,#C9A227);color:#1c1a16;font-family:var(--sh-font-display);
  font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:11px 14px}
.sh-chat-send:disabled{opacity:.55;cursor:default}

.sh-chat-foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;
  padding:6px 14px 9px;background:var(--sh-surface,#fff)}
.sh-chat-count{font-size:10px;color:var(--sh-ink-400,#9b958a)}
.sh-chat-clear{border:none;background:transparent;color:var(--sh-ink-400,#9b958a);
  font-size:10.5px;cursor:pointer;text-decoration:underline;padding:0}
.sh-chat-clear:hover{color:var(--sh-danger,#B3401F)}

/* iOS Safari 16px alatti inputnál fókuszkor automatikusan belezoomol —
   mobilon ezért minden chat-beviteli mező 16px, így nincs auto-zoom.
   (A fájl végén áll, hogy a fenti 13px-es alapszabályokat felülírja.) */
@media (max-width:640px){
  .sh-chat-input textarea,.sh-chat-nl-input{font-size:16px}
}
