/* GreekRide.gr — AI Agent Widget (Αλέκα) */
:root{
  --gr-aegean-800:#0b3d57; --gr-aegean-700:#0c5575; --gr-aegean-600:#0ea5b7;
  --gr-aegean-50:#eef9fb; --gr-bg:#ffffff; --gr-text:#1f2937; --gr-text-light:#4b5563;
  --gr-border:#e5e7eb; --gr-radius:16px;
}

/* Launcher */
#gr-agent-launcher{
  position:fixed; bottom:22px; right:22px; z-index:99998;
  width:62px; height:62px; border:none; border-radius:50%; cursor:pointer;
  background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-800));
  color:#fff; box-shadow:0 8px 26px rgba(11,61,87,.34);
  display:flex; align-items:center; justify-content:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
#gr-agent-launcher:hover{ transform:scale(1.07); box-shadow:0 10px 30px rgba(11,61,87,.42); }
#gr-agent-launcher svg{ width:30px; height:30px; }
#gr-agent-launcher .gr-badge{
  position:absolute; top:-3px; right:-3px; background:#e74c3c; color:#fff;
  font:700 11px/1 system-ui,sans-serif; padding:4px 6px; border-radius:10px;
}

/* Panel */
#gr-agent-panel{
  position:fixed; bottom:96px; right:22px; z-index:99999;
  width:380px; max-width:calc(100vw - 32px); height:580px; max-height:calc(100vh - 130px);
  background:var(--gr-bg); border-radius:var(--gr-radius); overflow:hidden;
  box-shadow:0 18px 60px rgba(11,61,87,.30); display:flex; flex-direction:column;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  opacity:0; transform:translateY(16px) scale(.98); pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
#gr-agent-panel.gr-open{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }

.gr-header{
  background:linear-gradient(135deg,var(--gr-aegean-700),var(--gr-aegean-800));
  color:#fff; padding:16px 18px; display:flex; align-items:center; gap:12px;
}
.gr-header .gr-avatar{
  width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.16);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.gr-header .gr-avatar svg{ width:22px; height:22px; }
.gr-header h3{ margin:0; font-size:1.02rem; font-weight:700; }
.gr-header p{ margin:2px 0 0; font-size:.78rem; opacity:.85; display:flex; align-items:center; gap:6px; }
.gr-header p::before{ content:""; width:8px; height:8px; border-radius:50%; background:#34d399; box-shadow:0 0 0 0 rgba(52,211,153,.6); animation:gr-pulse 2s infinite; }
@keyframes gr-pulse{ 0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)} 70%{box-shadow:0 0 0 7px rgba(52,211,153,0)} 100%{box-shadow:0 0 0 0 rgba(52,211,153,0)} }
.gr-header .gr-close{ margin-left:auto; background:none; border:none; color:#fff; cursor:pointer; opacity:.85; padding:4px; }
.gr-header .gr-close:hover{ opacity:1; }

/* Messages */
.gr-messages{ flex:1; overflow-y:auto; padding:18px 16px; background:#f7fafc; display:flex; flex-direction:column; gap:12px; }
.gr-msg{ max-width:84%; padding:10px 14px; border-radius:14px; font-size:.92rem; line-height:1.5; white-space:pre-wrap; word-wrap:break-word; }
.gr-msg.gr-bot{ align-self:flex-start; background:#fff; color:var(--gr-text); border:1px solid var(--gr-border); border-bottom-left-radius:4px; }
.gr-msg.gr-user{ align-self:flex-end; background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-700)); color:#fff; border-bottom-right-radius:4px; }
.gr-msg a{ color:var(--gr-aegean-600); }
.gr-msg.gr-user a{ color:#fff; text-decoration:underline; }
.gr-typing{ align-self:flex-start; display:flex; gap:4px; padding:12px 14px; background:#fff; border:1px solid var(--gr-border); border-radius:14px; }
.gr-typing span{ width:7px; height:7px; border-radius:50%; background:var(--gr-aegean-600); animation:gr-bounce 1.3s infinite; }
.gr-typing span:nth-child(2){ animation-delay:.18s } .gr-typing span:nth-child(3){ animation-delay:.36s }
@keyframes gr-bounce{ 0%,60%,100%{ transform:translateY(0); opacity:.5 } 30%{ transform:translateY(-5px); opacity:1 } }

/* Quick replies */
.gr-quick{ display:flex; flex-wrap:wrap; gap:8px; padding:0 16px 4px; background:#f7fafc; }
.gr-quick button{
  border:1px solid var(--gr-aegean-600); color:var(--gr-aegean-700); background:#fff;
  border-radius:18px; padding:7px 12px; font-size:.8rem; cursor:pointer; transition:.15s;
}
.gr-quick button:hover{ background:var(--gr-aegean-50); }

/* Input */
.gr-input-bar{ display:flex; align-items:flex-end; gap:8px; padding:12px; border-top:1px solid var(--gr-border); background:#fff; }
.gr-input-bar textarea{
  flex:1; resize:none; border:1px solid var(--gr-border); border-radius:22px; padding:11px 14px;
  font-size:.92rem; font-family:inherit; max-height:96px; outline:none; color:var(--gr-text);
}
.gr-input-bar textarea:focus{ border-color:var(--gr-aegean-600); }
.gr-btn{ width:42px; height:42px; border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.15s; }
.gr-btn svg{ width:20px; height:20px; }
.gr-mic{ background:var(--gr-aegean-50); color:var(--gr-aegean-700); }
.gr-mic:hover{ background:#dff3f6; }
.gr-mic.gr-recording{ background:#e74c3c; color:#fff; animation:gr-rec 1.2s infinite; }
@keyframes gr-rec{ 0%{box-shadow:0 0 0 0 rgba(231,76,60,.5)} 70%{box-shadow:0 0 0 9px rgba(231,76,60,0)} 100%{box-shadow:0 0 0 0 rgba(231,76,60,0)} }
.gr-send{ background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-800)); color:#fff; }
.gr-send:disabled{ opacity:.45; cursor:default; }
/* CTA «Συμπλήρωσε τη φόρμα για μένα» μέσα στη ροή μηνυμάτων */
.gr-cta-btn{
  align-self:flex-start; max-width:84%; margin-top:2px; cursor:pointer;
  border:none; border-radius:14px; padding:12px 16px; font:700 .9rem/1.25 inherit; color:#fff;
  background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-800));
  box-shadow:0 6px 18px rgba(11,61,87,.28); transition:filter .15s, transform .15s;
}
.gr-cta-btn:hover{ filter:brightness(1.06); transform:translateY(-1px); }

.gr-foot{ text-align:center; font-size:.68rem; color:#9ca3af; padding:0 12px 8px; background:#fff; }
.gr-foot .gr-speak-toggle{ cursor:pointer; color:var(--gr-aegean-700); text-decoration:underline; }

/* Guided mode — κεντρικό modal με backdrop που κρύβει το περιεχόμενο */
.gr-backdrop{
  position:fixed; inset:0; z-index:99995;
  background:rgba(7,30,43,.6); backdrop-filter:blur(4px);
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
body.gr-guided .gr-backdrop{ opacity:1; pointer-events:auto; }
body.gr-guided #gr-agent-launcher{ display:none; }
body.gr-guided #gr-agent-panel{
  top:50%; left:50%; right:auto; bottom:auto;
  width:min(440px, calc(100vw - 28px)); height:min(640px, calc(100vh - 48px)); max-height:calc(100vh - 48px);
  z-index:99999;
}
body.gr-guided #gr-agent-panel.gr-open{ transform:translate(-50%,-50%) scale(1); }
/* Κουμπί διακοπής οδηγού */
.gr-guided-exit{
  display:none; width:100%; border:none; cursor:pointer;
  background:#eef9fb; color:var(--gr-aegean-700); font:600 .82rem/1 inherit;
  padding:10px 12px; border-bottom:1px solid var(--gr-border); text-align:center;
}
.gr-guided-exit:hover{ background:#dff3f6; }
body.gr-guided .gr-guided-exit{ display:block; }

/* Intro modal (οδηγός εισόδου) */
.gr-intro-overlay{
  position:fixed; inset:0; z-index:100000;
  background:rgba(7,30,43,.55); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:18px;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.gr-intro-overlay.gr-intro-open{ opacity:1; pointer-events:auto; }
.gr-intro-card{
  position:relative; background:#fff; border-radius:20px; max-width:420px; width:100%;
  padding:30px 26px 26px; text-align:center; box-shadow:0 24px 70px rgba(7,30,43,.4);
  transform:translateY(18px) scale(.97); transition:transform .25s ease;
}
.gr-intro-open .gr-intro-card{ transform:translateY(0) scale(1); }
.gr-intro-x{ position:absolute; top:12px; right:12px; background:none; border:none; color:#94a3b8; cursor:pointer; padding:4px; }
.gr-intro-x svg{ width:20px; height:20px; }
.gr-intro-avatar{
  width:64px; height:64px; margin:0 auto 14px; border-radius:50%; color:#fff;
  background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-800));
  display:flex; align-items:center; justify-content:center;
}
.gr-intro-avatar svg{ width:34px; height:34px; }
.gr-intro-card h2{ margin:0 0 6px; font-size:1.28rem; color:var(--gr-aegean-800); font-weight:800; }
.gr-intro-card p{ margin:0 0 20px; color:var(--gr-text-light); font-size:.96rem; }
.gr-intro-actions{ display:flex; flex-direction:column; gap:10px; }
.gr-intro-btn{
  width:100%; padding:14px 16px; border-radius:13px; cursor:pointer; font-size:1rem; font-weight:600;
  border:1.5px solid var(--gr-border); background:#fff; color:var(--gr-aegean-800); transition:.15s;
}
.gr-intro-btn:hover{ border-color:var(--gr-aegean-600); background:var(--gr-aegean-50); }
.gr-intro-btn-primary{
  border:none; color:#fff;
  background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-800));
  box-shadow:0 6px 18px rgba(11,61,87,.3);
}
.gr-intro-btn-primary:hover{ filter:brightness(1.06); background:linear-gradient(135deg,var(--gr-aegean-600),var(--gr-aegean-800)); }
/* Σημαιάκια γλώσσας μέσα στο modal (βήμα 1) */
.gr-intro-langs{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid var(--gr-border); }
.gr-intro-lang{
  cursor:pointer; border:1.5px solid var(--gr-border); background:#fff; color:var(--gr-text);
  border-radius:20px; padding:6px 12px; font-size:.84rem; font-weight:600; transition:.15s;
}
.gr-intro-lang:hover{ border-color:var(--gr-aegean-600); background:var(--gr-aegean-50); }
.gr-intro-lang.active{ border-color:var(--gr-aegean-600); background:var(--gr-aegean-50); color:var(--gr-aegean-800); }

@media (max-width:480px){
  #gr-agent-panel{ right:8px; left:8px; bottom:84px; width:auto; height:calc(100vh - 100px); }
  #gr-agent-launcher{ bottom:16px; right:16px; }
  .gr-intro-card{ padding:26px 20px 22px; }
}
