/* GCL Chatbot AI – widget */
#gclcb-root{
  --gc-accent:#a48a7b;--gc-accent-d:#7d6658;--gc-ink:#1d1a18;--gc-bg:#fbf8f4;--gc-soft:#f1ebe4;
  --gc-line:#e3d9cf;--gc-muted:#6f655e;--gc-white:#ffffff;--gc-wa:#25d366;
  --gc-serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,"Times New Roman",serif;
  --gc-sans:inherit;
  position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));
  z-index:2147483000;font-size:15px;line-height:1.5;color:var(--gc-ink);
  -webkit-font-smoothing:antialiased;
}
#gclcb-root *,#gclcb-root *::before,#gclcb-root *::after{box-sizing:border-box}
#gclcb-root button,#gclcb-root input,#gclcb-root select{font-family:inherit;letter-spacing:normal;text-transform:none;margin:0}

/* Pulsante fluttuante */
.gclcb-launcher{width:62px;height:62px;border-radius:50%;border:3px solid var(--gc-white)!important;background:var(--gc-accent)!important;color:var(--gc-white)!important;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px -8px rgba(60,40,30,.55);padding:0!important;overflow:hidden;transition:transform .2s ease}
.gclcb-launcher:hover{transform:scale(1.05)}
.gclcb-launcher:focus-visible{outline:2px solid var(--gc-accent-d);outline-offset:3px}
.gclcb-launcher .gclcb-ini{font-family:var(--gc-serif);font-style:italic;font-size:28px;line-height:1}
.gclcb-launcher img{width:100%;height:100%;object-fit:cover}
.gclcb-launcher .gclcb-x{display:none;font-size:26px;line-height:1}
#gclcb-root.is-open .gclcb-launcher .gclcb-ini,#gclcb-root.is-open .gclcb-launcher img{display:none}
#gclcb-root.is-open .gclcb-launcher .gclcb-x{display:block}

/* Fumetto invito */
.gclcb-teaser{position:absolute;right:74px;bottom:10px;background:var(--gc-white);color:var(--gc-ink);border-radius:14px 14px 4px 14px;padding:10px 32px 10px 14px;
  font-size:14px;box-shadow:0 10px 30px -10px rgba(60,40,30,.4),0 0 0 1px var(--gc-line);width:max-content;max-width:240px;cursor:pointer;animation:gclcbIn .35s ease both}
.gclcb-teaser button{position:absolute;top:4px;right:6px;border:0;background:none;color:var(--gc-muted);font-size:16px;cursor:pointer;padding:2px 4px;line-height:1}

/* Pannello */
.gclcb-panel{position:absolute;right:0;bottom:78px;width:380px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 120px);
  background:var(--gc-white);border-radius:18px;box-shadow:0 24px 60px -18px rgba(60,40,30,.45),0 0 0 1px var(--gc-line);
  display:flex;flex-direction:column;overflow:hidden;animation:gclcbIn .25s ease both}
.gclcb-panel[hidden]{display:none!important}
@keyframes gclcbIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.gclcb-head{display:flex;align-items:center;gap:8px;padding:14px 14px 12px 16px;background:var(--gc-bg);border-bottom:1px solid var(--gc-line)}
.gclcb-av{width:42px;height:42px;border-radius:50%;background:var(--gc-accent);color:var(--gc-white);display:grid;place-items:center;flex:none;overflow:hidden;
  font-family:var(--gc-serif);font-style:italic;font-size:21px;line-height:1}
.gclcb-av img{width:100%;height:100%;object-fit:cover}
.gclcb-av.sm{width:28px;height:28px;font-size:14px}
.gclcb-who{min-width:0;flex:1}
.gclcb-who b{display:block;font-family:var(--gc-serif);font-weight:500;font-size:18px;line-height:1.15;color:var(--gc-ink)}
.gclcb-who span{font-size:12px;color:var(--gc-muted)}
.gclcb-who span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gc-wa);margin-right:6px;vertical-align:1px}
.gclcb-ib{flex:0 0 36px!important;width:36px!important;min-width:36px!important;height:36px!important;border-radius:50%;border:1px solid var(--gc-line)!important;background:var(--gc-white)!important;display:grid;place-items:center;cursor:pointer;
  color:var(--gc-ink)!important;flex:none;text-decoration:none!important;padding:0!important}
.gclcb-ib:hover{border-color:var(--gc-accent)!important}
.gclcb-ib svg{width:18px;height:18px;pointer-events:none}
.gclcb-log.gclcb-reset{animation:gclcbIn .35s ease both}
.gclcb-restart:active svg{transform:rotate(-90deg);transition:transform .2s}
.gclcb-ib.wa{color:var(--gc-wa)!important}
.gclcb-brand{padding:9px 16px;border-bottom:1px solid var(--gc-line);display:flex;justify-content:center;background:var(--gc-white)}
.gclcb-brand img{height:22px;width:auto;max-width:70%}

.gclcb-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--gc-white);overscroll-behavior:contain}
.gclcb-msg{display:flex;gap:8px;align-items:flex-end;max-width:90%}
.gclcb-msg .gclcb-bub{margin:0;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.gclcb-msg.bot .gclcb-bub{background:var(--gc-soft);color:var(--gc-ink);border-bottom-left-radius:4px}
.gclcb-msg.bot .gclcb-bub a{color:var(--gc-accent-d);text-decoration:underline}
.gclcb-msg.user{align-self:flex-end}
.gclcb-msg.user .gclcb-bub{background:var(--gc-ink);color:var(--gc-white);border-bottom-right-radius:4px}
.gclcb-chips{display:flex;flex-wrap:wrap;gap:6px;padding-left:36px}
.gclcb-chips button,.gclcb-chips a{font-size:13px;font-weight:400;border:1px solid var(--gc-accent)!important;color:var(--gc-accent-d)!important;background:var(--gc-white)!important;
  border-radius:999px;padding:6px 12px!important;cursor:pointer;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px;line-height:1.3}
.gclcb-chips button:hover,.gclcb-chips a:hover{background:var(--gc-bg)!important}
.gclcb-chips a.wa{border-color:var(--gc-wa)!important;color:#128c4a!important}
.gclcb-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gc-accent);margin:0 2px;animation:gclcbB 1s infinite}
.gclcb-typing span:nth-child(2){animation-delay:.15s}.gclcb-typing span:nth-child(3){animation-delay:.3s}
@keyframes gclcbB{0%,60%,100%{opacity:.3}30%{opacity:1}}

.gclcb-form{display:grid;gap:8px;margin-left:36px;padding:12px;border:1px solid var(--gc-line);border-radius:12px;background:var(--gc-bg)}
.gclcb-form input,.gclcb-form select{font-size:14px!important;padding:8px 10px!important;border:1px solid var(--gc-line)!important;border-radius:8px!important;background:var(--gc-white)!important;
  color:var(--gc-ink)!important;width:100%;height:auto!important;min-height:0!important;box-shadow:none!important}
.gclcb-form label.ck{font-size:12px;color:var(--gc-muted);display:flex;gap:6px;align-items:flex-start;line-height:1.4}
.gclcb-form label.ck input{width:auto;margin-top:2px}
.gclcb-form label.ck a{color:var(--gc-accent-d)}
.gclcb-form .gclcb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.gclcb-form button{font-weight:500;background:var(--gc-ink)!important;color:var(--gc-white)!important;border:0!important;border-radius:8px;padding:10px!important;cursor:pointer;font-size:14px}
.gclcb-form button[disabled]{opacity:.6;cursor:wait}
.gclcb-form button.gclcb-cancel{background:transparent!important;color:var(--gc-muted)!important;font-weight:400;font-size:13px;padding:4px!important;text-decoration:underline}
.gclcb-form .gclcb-err{color:#a12a1f;font-size:12px}

.gclcb-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--gc-line);background:var(--gc-white)}
.gclcb-input input{flex:1 1 auto!important;width:auto!important;min-width:0!important;font-size:15px!important;border:1px solid var(--gc-line)!important;border-radius:999px!important;padding:10px 16px!important;
  background:var(--gc-bg)!important;color:var(--gc-ink)!important;height:auto!important;box-shadow:none!important;margin:0!important}
.gclcb-input button{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:42px!important;border-radius:50%;border:0!important;background:var(--gc-accent)!important;color:var(--gc-white)!important;cursor:pointer;display:grid;place-items:center;flex:none;padding:0!important}
.gclcb-input input:focus,.gclcb-form input:focus,.gclcb-form select:focus{outline:none!important;border-color:var(--gc-accent)!important;box-shadow:0 0 0 2px rgba(164,138,123,.18)!important}
.gclcb-input button[disabled]{opacity:.5;cursor:default}
.gclcb-gdpr{font-size:11px;color:var(--gc-muted);text-align:center;padding:0 12px 10px;background:var(--gc-white);line-height:1.4}
.gclcb-gdpr a{color:var(--gc-accent-d)}
.gclcb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#gclcb-root :focus-visible{outline:2px solid var(--gc-accent-d);outline-offset:2px}

/* Telefono: pannello quasi a tutto schermo */
@media (max-width:520px){
  #gclcb-root{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .gclcb-panel{position:fixed;left:8px;right:8px;top:calc(8px + env(safe-area-inset-top,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));
    width:auto;max-width:none;height:auto;max-height:none}
  .gclcb-input input{font-size:16px!important}
  .gclcb-brand{display:none}
}
@media (prefers-reduced-motion:reduce){
  .gclcb-panel,.gclcb-teaser{animation:none}
  .gclcb-typing span{animation:none}
  .gclcb-launcher{transition:none}
}

/* Evita sovrapposizioni con il pulsante "torna su" dei temi (Salient, Enfold, generici) */
body.gclcb-on #to-top,body.gclcb-on #scroll-top-link,body.gclcb-on .scroll-top,body.gclcb-on .back-to-top{bottom:150px!important}
