/* ==========================================================================
   CHAT WIDGET
   A kinézet az oldal saját változóiból építkezik. Ahol az oldal nem ad
   értéket, ott a lenti tartalék szín lép életbe.

   Vezérelvek, az oldal design nyelvéből:
     - éles sarkok, semmi lekerekítés
     - Playfair Display a címeknek meg az áraknak
     - Jost 300 a szövegnek, nagy betűközzel a címkéknek
     - homokszínű vékony vonalak a tagolásra
   ========================================================================== */

.ed-chat{
  --c-ink:      var(--ink, #1a1918);
  --c-ink-soft: var(--ink-soft, #4a4644);
  --c-paper:    var(--paper, #fbfaf8);
  --c-warm:     var(--paper-warm, #f4f1ea);
  --c-sand:     var(--sand, #dbd4c2);
  --c-sand-d:   var(--sand-deep, #c3b899);
  --c-line:     var(--line, rgba(26,25,24,.14));
  --f-serif:    "Playfair Display", Georgia, serif;
  --f-sans:     "Jost", Helvetica, Arial, sans-serif;
  font-family:var(--f-sans);
  font-weight:300;
}

/* ---------- Nyitógomb ---------- */
.ed-chat-fab{
  position:fixed;right:26px;bottom:26px;z-index:300;
  display:flex;align-items:center;gap:13px;
  background:var(--c-ink);color:var(--c-paper);
  border:0;border-radius:0;padding:17px 27px;cursor:pointer;
  font-family:var(--f-sans);font-size:10px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
  box-shadow:0 16px 38px rgba(26,25,24,.24);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .35s;
}
.ed-chat-fab::after{
  content:"";position:absolute;inset:-6px;border:1px solid var(--c-sand-d);
  opacity:0;transition:opacity .45s,inset .45s;pointer-events:none;
}
.ed-chat-fab:hover{transform:translateY(-3px)}
.ed-chat-fab:hover::after{opacity:.75;inset:-8px}
.ed-chat-fab .dot{
  width:6px;height:6px;border-radius:50%;background:var(--c-sand);flex:none;
  animation:edPulse 2.8s ease-in-out infinite;
}
@keyframes edPulse{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.ed-chat-fab.hidden{opacity:0;pointer-events:none;transform:translateY(16px)}

/* ---------- Figyelemfelhívó buborék ---------- */
.ed-chat-teaser{
  position:fixed;right:26px;bottom:92px;z-index:299;max-width:268px;
  background:var(--c-paper);color:var(--c-ink);
  border:1px solid var(--c-line);border-left:2px solid var(--c-sand-d);
  padding:18px 40px 18px 20px;
  font-size:13.5px;line-height:1.68;cursor:pointer;
  box-shadow:0 18px 44px rgba(26,25,24,.13);
  opacity:0;transform:translateY(10px);transition:opacity .55s,transform .55s;
}
.ed-chat-teaser.show{opacity:1;transform:none}
.ed-chat-teaser .x{
  position:absolute;top:9px;right:11px;background:none;border:0;cursor:pointer;
  font-size:16px;line-height:1;color:var(--c-ink-soft);padding:4px;font-family:var(--f-sans);
}
.ed-chat-teaser .x:hover{color:var(--c-ink)}

/* ---------- Panel ---------- */
.ed-chat-panel{
  position:fixed;right:26px;bottom:26px;z-index:301;
  width:min(404px,calc(100vw - 36px));height:min(636px,calc(100svh - 52px));
  background:var(--c-paper);border:1px solid var(--c-line);
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 30px 78px rgba(26,25,24,.24);
  opacity:0;transform:translateY(20px) scale(.985);pointer-events:none;
  transition:opacity .45s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1);
}
.ed-chat-panel.open{opacity:1;transform:none;pointer-events:auto}

/* ---------- Fejléc ---------- */
.ed-chat-head{
  background:var(--c-ink);color:var(--c-paper);
  padding:20px 22px;display:flex;align-items:center;gap:15px;flex:none;
  position:relative;
}
.ed-chat-head::after{
  content:"";position:absolute;left:22px;right:22px;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--c-sand-d),transparent);opacity:.5;
}
.ed-chat-head .av{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(219,212,194,.45);
  display:flex;align-items:center;justify-content:center;flex:none;
  font-family:var(--f-serif);font-size:15px;color:var(--c-sand);letter-spacing:.04em;
}
.ed-chat-head .av .ed-wordmark{
  width:26px;height:26px;background-repeat:no-repeat;background-position:center;background-size:contain;
}
.ed-chat-head .t{flex:1;min-width:0}
.ed-chat-head .n{font-family:var(--f-serif);font-size:15.5px;letter-spacing:.05em}
.ed-chat-head .s{
  font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(251,250,248,.52);margin-top:5px;
}
.ed-chat-head .s i{
  display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--c-sand);margin-right:8px;vertical-align:middle;
}
.ed-chat-head button{
  background:none;border:0;color:rgba(251,250,248,.6);cursor:pointer;
  font-size:21px;line-height:1;padding:4px 2px;font-family:var(--f-sans);
  transition:color .35s;
}
.ed-chat-head button:hover{color:#fff}

/* ---------- Üzenetfolyam ---------- */
.ed-chat-log{
  flex:1;overflow-y:auto;padding:24px 22px 10px;
  display:flex;flex-direction:column;gap:14px;
  scrollbar-width:thin;scrollbar-color:var(--c-sand-d) transparent;
}
.ed-chat-log::before{content:"";margin-top:auto}
.ed-chat-log::-webkit-scrollbar{width:5px}
.ed-chat-log::-webkit-scrollbar-thumb{background:var(--c-sand-d)}
.ed-chat-log::-webkit-scrollbar-track{background:transparent}

.ed-msg{
  max-width:88%;font-size:14px;line-height:1.74;letter-spacing:.01em;
  animation:edIn .45s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes edIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ed-msg.bot{
  align-self:flex-start;background:var(--c-warm);color:var(--c-ink);
  padding:15px 18px;border-left:1px solid var(--c-sand-d);
}
.ed-msg.szeles{max-width:100%;width:100%}
.ed-msg.user{
  align-self:flex-end;background:var(--c-ink);color:var(--c-paper);
  padding:14px 18px;
}
.ed-msg strong{
  display:inline-block;font-family:var(--f-serif);font-weight:400;
  font-size:16px;letter-spacing:.02em;line-height:1.3;
}
.ed-msg a{color:inherit;border-bottom:1px solid var(--c-sand-d);padding-bottom:1px}
.ed-msg a:hover{border-color:var(--c-ink)}
.ed-msg .halk{font-size:12.5px;color:var(--c-ink-soft)}

/* ---------- Listák az üzenetekben ---------- */
.ed-msg .lista{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:0;font-size:13.5px}
.ed-msg .lista li{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:9px 0;border-bottom:1px solid rgba(26,25,24,.09);
}
.ed-msg .lista li > span{flex:1 1 auto;min-width:0;line-height:1.5}
.ed-msg .lista li:last-child{border-bottom:0;padding-bottom:0}
.ed-msg .lista b{
  font-weight:400;font-family:var(--f-serif);font-size:14px;letter-spacing:.03em;
  text-align:right;max-width:100%;overflow-wrap:anywhere;
}
.ed-msg .lista.pipas li{display:block;border-bottom:0;padding:5px 0 5px 20px;position:relative}
.ed-msg .lista.pipas li::before{
  content:"";position:absolute;left:0;top:14px;width:10px;height:1px;background:var(--c-sand-d);
}

/* ---------- Gépelés jelző ---------- */
.ed-typing{
  align-self:flex-start;display:flex;gap:6px;padding:17px 18px;
  background:var(--c-warm);border-left:1px solid var(--c-sand-d);
}
.ed-typing i{width:4px;height:4px;border-radius:50%;background:var(--c-ink-soft);opacity:.4;animation:edDot 1.4s infinite}
.ed-typing i:nth-child(2){animation-delay:.18s}
.ed-typing i:nth-child(3){animation-delay:.36s}
@keyframes edDot{0%,60%,100%{opacity:.22;transform:translateY(0)}30%{opacity:.85;transform:translateY(-3px)}}

/* ---------- Gyorsválaszok ---------- */
.ed-chips{display:flex;flex-wrap:wrap;gap:8px;padding:14px 22px 0}
.ed-chip{
  background:transparent;border:1px solid var(--c-line);color:var(--c-ink);
  padding:10px 16px;cursor:pointer;font-family:var(--f-sans);font-weight:300;
  font-size:12.5px;letter-spacing:.02em;text-align:left;line-height:1.35;
  transition:background .35s,border-color .35s,color .35s;
}
.ed-chip:hover{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-paper)}
.ed-chip.fo{
  background:var(--c-ink);border-color:var(--c-ink);color:var(--c-paper);
  font-size:10px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;padding:12px 19px;
}
.ed-chip.fo:hover{background:transparent;color:var(--c-ink);border-color:var(--c-ink)}
.ed-chip.idopont{
  font-family:var(--f-serif);font-size:14px;letter-spacing:.02em;padding:11px 17px;
}

/* ---------- Beviteli sor ---------- */
.ed-chat-foot{padding:16px 22px 14px;border-top:1px solid var(--c-line);flex:none;background:var(--c-paper)}
.ed-chat-form{display:flex;gap:12px;align-items:flex-end}
.ed-chat-form textarea{
  flex:1;resize:none;border:0;background:transparent;
  font-family:var(--f-sans);font-size:14px;font-weight:300;letter-spacing:.01em;
  color:var(--c-ink);max-height:92px;line-height:1.55;padding:9px 0;
  border-bottom:1px solid var(--c-line);transition:border-color .35s;
}
.ed-chat-form textarea::placeholder{color:var(--c-ink-soft);opacity:.55}
.ed-chat-form textarea:focus{outline:none;border-color:var(--c-ink)}
.ed-chat-form button{
  background:var(--c-ink);color:var(--c-paper);border:1px solid var(--c-ink);cursor:pointer;flex:none;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  transition:background .4s,color .4s;
}
.ed-chat-form button:hover{background:transparent;color:var(--c-ink)}
.ed-chat-form button svg{width:15px;height:15px;fill:currentColor}
.ed-chat-jog{
  font-size:9.5px;letter-spacing:.05em;line-height:1.6;
  color:var(--c-ink-soft);opacity:.65;margin:11px 0 0;text-align:center;
}
.ed-chat-jog a{color:inherit;border-bottom:1px solid var(--c-line)}

/* ---------- Mobil ---------- */
@media (max-width:560px){
  .ed-chat-panel{right:0;bottom:0;width:100vw;height:100svh;border:0}
  .ed-chat-fab{right:18px;bottom:18px;padding:15px 22px}
  .ed-chat-teaser{right:18px;bottom:80px;max-width:calc(100vw - 36px)}
}
@media (prefers-reduced-motion:reduce){
  .ed-chat-panel,.ed-msg,.ed-chat-fab,.ed-chat-teaser,.ed-typing i,.ed-chat-fab .dot{
    transition:none;animation:none;
  }
}

/* ---------- Csomagajánlás az üzenetben ---------- */
.ed-msg .ed-csomag{
  margin:15px 0;padding:15px 16px 14px;
  background:var(--c-paper);border-left:1px solid var(--c-sand-d);
}
.ed-msg .ed-csomag-nev{
  font-family:var(--f-serif);font-size:15.5px;line-height:1.35;letter-spacing:.015em;
}
.ed-msg .ed-csomag-ar{
  display:flex;align-items:baseline;gap:12px;margin-top:9px;
}
.ed-msg .ed-csomag-ar s{
  font-size:13px;color:var(--c-ink-soft);opacity:.75;text-decoration-thickness:1px;
}
.ed-msg .ed-csomag-ar b{
  font-family:var(--f-serif);font-weight:400;font-size:19px;letter-spacing:.02em;
}
.ed-msg .ed-csomag-meg{
  margin-top:9px;padding-top:9px;border-top:1px solid rgba(26,25,24,.09);
  font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--c-ink-soft);
}
