.taxibt-smart-contact{--tsc-yellow:#ffd400;--tsc-dark:#0b0b0d;--tsc-card:#151518;--tsc-muted:#a7a7ad;position:fixed;bottom:calc(var(--tsc-bottom,108px) + env(safe-area-inset-bottom,0px));z-index:99990;font-family:inherit;line-height:1.25;pointer-events:none}
.taxibt-smart-contact--right{right:max(16px,env(safe-area-inset-right,0px))}.taxibt-smart-contact--left{left:max(16px,env(safe-area-inset-left,0px))}
.tsc-bubble{pointer-events:auto;width:60px;height:60px;border:0;border-radius:50%;background:linear-gradient(145deg,#ffe36a,var(--tsc-yellow));box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.45) inset;display:grid;place-items:center;position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.tsc-bubble:active{transform:scale(.94)}.tsc-bubble svg{width:27px;height:27px;fill:#111}.tsc-bubble-icon{position:absolute;display:grid;place-items:center;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.tsc-bubble-icon--close{opacity:0;transform:rotate(-80deg) scale(.75)}
.taxibt-smart-contact.is-open .tsc-bubble-icon--open{opacity:0;transform:rotate(80deg) scale(.7)}.taxibt-smart-contact.is-open .tsc-bubble-icon--close{opacity:1;transform:rotate(0) scale(1)}
.tsc-pulse{position:absolute;inset:-5px;border:2px solid rgba(255,212,0,.45);border-radius:50%;animation:tscPulse 2.1s ease-out infinite}.taxibt-smart-contact.is-open .tsc-pulse{display:none}
.tsc-badge{position:absolute;right:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#20d67a;border:2px solid #111;box-shadow:0 0 0 3px rgba(32,214,122,.12)}
@keyframes tscPulse{0%{transform:scale(.9);opacity:.85}70%,100%{transform:scale(1.35);opacity:0}}
.tsc-panel{pointer-events:none;position:absolute;width:min(330px,calc(100vw - 32px));bottom:74px;background:linear-gradient(160deg,rgba(24,24,28,.98),rgba(8,8,10,.99));border:1px solid rgba(255,212,0,.22);border-radius:24px;padding:14px;box-shadow:0 28px 65px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.035) inset;opacity:0;visibility:hidden;transform:translateY(15px) scale(.96);transform-origin:bottom right;transition:opacity .22s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .22s;overflow:hidden;color:#fff}
.taxibt-smart-contact--right .tsc-panel{right:0}.taxibt-smart-contact--left .tsc-panel{left:0;transform-origin:bottom left}.taxibt-smart-contact.is-open .tsc-panel{pointer-events:auto;opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.tsc-panel-glow{position:absolute;width:170px;height:170px;border-radius:50%;right:-80px;top:-105px;background:rgba(255,212,0,.12);filter:blur(4px);pointer-events:none}
.tsc-head{display:flex;align-items:center;gap:11px;padding:4px 2px 12px;position:relative}.tsc-brand-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#ffe56f,var(--tsc-yellow));display:grid;place-items:center;flex:0 0 42px;box-shadow:0 7px 20px rgba(255,212,0,.18)}.tsc-brand-icon svg{width:22px;height:22px;fill:#111}.tsc-head-copy{min-width:0;flex:1}.tsc-head-copy strong{display:block;font-size:16px;font-weight:850;letter-spacing:-.2px;color:#fff}.tsc-head-copy span{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;color:#bcbcc2}.tsc-head-copy i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#20d67a;box-shadow:0 0 0 4px rgba(32,214,122,.09)}
.tsc-close{width:34px;height:34px;border:0;border-radius:11px;background:rgba(255,255,255,.07);display:grid;place-items:center;cursor:pointer}.tsc-close svg{width:18px;height:18px;fill:#fff}
.tsc-items{display:grid;gap:7px}.tsc-item{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:16px;text-decoration:none!important;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.055);color:#fff!important;transition:transform .16s ease,background .16s ease,border-color .16s ease}.tsc-item:hover,.tsc-item:focus{background:rgba(255,255,255,.09);border-color:rgba(255,212,0,.25);transform:translateX(2px)}
.tsc-item-icon{width:38px;height:38px;flex:0 0 38px;border-radius:13px;display:grid;place-items:center;background:rgba(255,212,0,.12);color:var(--tsc-yellow)}.tsc-item-icon svg{width:20px;height:20px;fill:currentColor}.tsc-item--whatsapp .tsc-item-icon{background:rgba(37,211,102,.14);color:#35df76}.tsc-item-copy{min-width:0;flex:1}.tsc-item-copy strong{display:block;color:#fff;font-size:14px;font-weight:800}.tsc-item-copy small{display:block;color:#a9a9b0;font-size:11.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsc-arrow{font-size:25px;line-height:1;color:#77777f;margin-left:3px}.tsc-foot{text-align:center;color:#73737b;font-size:10px;padding:11px 4px 1px;letter-spacing:.15px}
.tsc-backdrop{display:none;pointer-events:none}
@media(max-width:520px){.taxibt-smart-contact{bottom:calc(var(--tsc-bottom,108px) + env(safe-area-inset-bottom,0px))}.tsc-bubble{width:56px;height:56px}.tsc-panel{bottom:69px;border-radius:22px;padding:12px}.tsc-item{padding:9px 10px}.tsc-item-icon{width:36px;height:36px;flex-basis:36px}.tsc-head-copy strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.tsc-pulse{animation:none}.tsc-panel,.tsc-bubble-icon,.tsc-bubble,.tsc-item{transition:none}}

/* v1.0.1 — pe mobil bulina stă în stânga și se aliniază automat cu butonul ↑ existent. */
.taxibt-smart-contact.tsc-aligned .tsc-panel{bottom:calc(100% + 13px)}
@media(max-width:520px){
  .taxibt-smart-contact--left{left:max(22px,env(safe-area-inset-left,0px))}
  .taxibt-smart-contact.tsc-aligned .tsc-panel{bottom:calc(100% + 12px)}
}

/* v1.0.2 — Smart Contact este invizibil până când apar simultan bara CTA fixă și butonul ↑. */
.taxibt-smart-contact{
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.taxibt-smart-contact.tsc-active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* v1.0.3 — protecție anti-overlap: bulina nu poate intra peste bara CTA în timpul animației ↑. */
.taxibt-smart-contact.tsc-active{will-change:bottom,opacity,transform}

/* v1.0.4 — poziție stabilă: nu mai urmărim coordonata butonului ↑ la scroll. */


/* v1.0.5 — dimensiune mobilă egalizată vizual cu butonul ↑ al site-ului. */
@media(max-width:520px){
  .tsc-bubble{
    width:48px;
    height:48px;
  }
  .tsc-bubble svg{
    width:23px;
    height:23px;
  }
  .tsc-pulse{
    inset:-2px;
    border-width:1px;
    animation:tscPulseCompact 2.1s ease-out infinite;
  }
  .tsc-badge{
    right:0;
    top:0;
    width:9px;
    height:9px;
    border-width:2px;
    box-shadow:0 0 0 2px rgba(32,214,122,.12);
  }
  .taxibt-smart-contact.tsc-aligned .tsc-panel{
    bottom:calc(100% + 10px);
  }
}
@keyframes tscPulseCompact{
  0%{transform:scale(.96);opacity:.72}
  70%,100%{transform:scale(1.16);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .tsc-pulse{animation:none}
}
