/* DIDIKOM FAQ chat bot — widget dole-desno, brend paleta. */
.dbot{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:300}
.dbot *{box-sizing:border-box}

/* dugme (FAB) */
.dbot-toggle{
  position:relative;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;
  background:var(--accent);color:#fff;
  box-shadow:0 16px 34px -10px rgba(224,86,31,.6);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s, box-shadow .3s;
}
.dbot-toggle:hover{transform:translateY(-3px) scale(1.03)}
.dbot-toggle .dbot-ic-close{position:absolute;opacity:0;transform:rotate(-45deg) scale(.6);transition:opacity .25s,transform .25s}
.dbot-toggle .dbot-ic-chat{transition:opacity .25s,transform .25s}
.dbot.dbot-open .dbot-ic-chat{opacity:0;transform:rotate(45deg) scale(.6)}
.dbot.dbot-open .dbot-ic-close{opacity:1;transform:rotate(0) scale(1)}
/* blagi puls dok se ne otvori */
.dbot:not(.dbot-open) .dbot-toggle::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid var(--accent);opacity:.6;
  animation:dbot-pulse 2.4s ease-out infinite;
}
@keyframes dbot-pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.5);opacity:0}}

/* panel */
.dbot-panel{
  position:absolute;right:0;bottom:74px;width:min(92vw,360px);
  background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  box-shadow:0 40px 70px -30px rgba(20,19,16,.5);
  display:flex;flex-direction:column;max-height:min(70vh,560px);
  transform-origin:bottom right;
  opacity:0;transform:translateY(14px) scale(.96);
  transition:opacity .25s cubic-bezier(.2,.7,.2,1), transform .25s cubic-bezier(.2,.7,.2,1);
}
.dbot.dbot-open .dbot-panel{opacity:1;transform:translateY(0) scale(1)}

.dbot-head{
  display:flex;align-items:center;gap:10px;
  padding:16px 20px;background:var(--ink);color:var(--bg);
  font-family:var(--sans);font-size:15px;
}
.dbot-head strong{font-weight:600}
.dbot-dot{width:9px;height:9px;border-radius:50%;background:#5fce7f;box-shadow:0 0 0 4px rgba(95,206,127,.25)}

.dbot-body{
  padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;
  background:var(--bg);flex:1;font-size:14px;line-height:1.5;outline:none;
}

/* poruke */
.dbot-msg{max-width:85%;padding:11px 14px;border-radius:14px;animation:dbot-in .3s ease both}
.dbot-msg--bot{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:5px}
.dbot-msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:5px}
@keyframes dbot-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* "kuca..." */
.dbot-typing{display:inline-flex;gap:4px}
.dbot-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-soft);opacity:.5;animation:dbot-blink 1s infinite}
.dbot-typing span:nth-child(2){animation-delay:.2s}
.dbot-typing span:nth-child(3){animation-delay:.4s}
@keyframes dbot-blink{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* teme (pitanja) */
.dbot-topics{display:flex;flex-direction:column;gap:8px;margin-top:2px}
.dbot-topic{
  text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:10px 14px;font-size:13.5px;color:var(--ink);cursor:pointer;
  transition:border-color .2s,background .2s,transform .2s;font-family:var(--sans);
}
.dbot-topic:hover{border-color:var(--accent);background:#fff7f2;transform:translateX(2px)}

.dbot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.dbot-again{background:transparent;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:12.5px;color:var(--ink-soft);cursor:pointer;font-family:var(--sans)}
.dbot-again:hover{border-color:var(--ink);color:var(--ink)}
.dbot-cta-inline{background:var(--ink);color:var(--bg);border-radius:99px;padding:8px 16px;font-size:12.5px;font-weight:500}
.dbot-cta-inline:hover{background:var(--accent)}

/* primarno dugme: zakaži termin */
.dbot-book{
  text-align:left;background:var(--ink);color:var(--bg);border:1px solid var(--ink);border-radius:12px;
  padding:12px 14px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--sans);
  transition:background .2s,transform .2s;
}
.dbot-book:hover{background:var(--accent);border-color:var(--accent);transform:translateX(2px)}

/* zakazivanje — zajednički kontejner + prošireni panel */
.dbot-booking{display:flex;flex-direction:column;gap:12px}
.dbot.dbot-tall .dbot-panel{width:min(94vw,440px);max-height:min(84vh,680px)}

/* IFRAME režim (Google Appointment Scheduling) */
.dbot-frame{width:100%;flex:1;min-height:420px;border:1px solid var(--line);border-radius:12px;background:#fff}
.dbot-frame-alt{font-size:12.5px;color:var(--ink-soft);text-align:center;text-decoration:underline;text-underline-offset:3px}
.dbot-frame-alt:hover{color:var(--accent)}

/* API režim — kalendar */
.dbot-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dbot-cal-title{font-weight:600;color:var(--ink);font-size:15px}
.dbot-cal-nav{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;font-size:18px;line-height:1;color:var(--ink);transition:border-color .2s,color .2s}
.dbot-cal-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.dbot-cal-nav:disabled{opacity:.35;cursor:default}
.dbot-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dbot-cal-wd{text-align:center;font-size:11px;color:var(--ink-soft);font-weight:600;padding:4px 0}
.dbot-cal-empty{aspect-ratio:1}
.dbot-cal-day{aspect-ratio:1;border:1px solid transparent;background:#fff;border-radius:9px;cursor:pointer;font-size:13.5px;color:var(--ink);transition:background .2s,border-color .2s,color .2s,transform .15s}
.dbot-cal-day:hover:not(:disabled){background:var(--accent);color:#fff;transform:translateY(-1px)}
.dbot-cal-day:disabled{opacity:.3;cursor:default;background:transparent}
/* traka Nazad + izabrani datum */
.dbot-cal-bar{display:flex;align-items:center;gap:10px}
.dbot-back{background:transparent;border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:12.5px;color:var(--ink);cursor:pointer;font-family:var(--sans);transition:border-color .2s,color .2s}
.dbot-back:hover{border-color:var(--accent);color:var(--accent)}
.dbot-cal-sel{font-weight:600;color:var(--ink);font-size:14px}
/* termini */
.dbot-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dbot-time{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 6px;font-size:14px;color:var(--ink);cursor:pointer;font-family:var(--sans);transition:background .2s,border-color .2s,color .2s,transform .15s}
.dbot-time:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}
.dbot-note{color:var(--ink-soft);font-size:13px}
/* mini forma za potvrdu */
.dbot-bform{display:flex;flex-direction:column;gap:10px}
.dbot-bform input{border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14px;font-family:var(--sans);color:var(--ink);background:#fff;outline:none;transition:border-color .2s}
.dbot-bform input:focus{border-color:var(--accent)}
.dbot-bmsg{font-size:12.5px;margin:0}
.dbot-bmsg--err{color:#c0392b}

/* footer CTA */
.dbot-foot{padding:12px 18px;border-top:1px solid var(--line);background:#fff}
.dbot-cta{
  display:block;text-align:center;background:var(--accent);color:#fff;
  padding:12px;border-radius:12px;font-weight:600;font-size:14px;
  transition:transform .2s,filter .2s;
}
.dbot-cta:hover{transform:translateY(-2px);filter:brightness(1.05)}

@media (prefers-reduced-motion: reduce){
  .dbot-toggle::after,.dbot-msg,.dbot-typing span{animation:none}
  .dbot-panel{transition:opacity .01s}
}
