/* ---------- COLOURS (edit here) ---------- */
#vcb-root{
  --deep:#C2410C; --plum:#9A3412; --rose:#EA580C; --peach:#FDBA74;
  --blush:#FFF7ED; --line:#FED7AA; --text:#431407; --ig:#D62976;
  font-family:"Manrope","Inter",Arial,sans-serif;
}
#vcb-root *{box-sizing:border-box;font-family:"Manrope","Inter",Arial,sans-serif;}
#vcb-root .vcb-title{font-family:"Playfair Display",Georgia,serif;}

/* ---------- THEME-PROOF RESETS ---------- */
#vcb-root button{
  -webkit-appearance:none!important;appearance:none!important;margin:0!important;
  text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important;
  line-height:1.2!important;text-decoration:none!important;min-width:0!important;min-height:0!important;
  max-width:none!important;font-family:inherit!important;cursor:pointer;
}
#vcb-root svg{display:block!important;flex:none!important;max-width:none!important;overflow:visible;}
#vcb-root svg.f{fill:currentColor!important;stroke:none!important;}
#vcb-root svg.s{fill:none!important;stroke:currentColor!important;stroke-width:2!important;}
#vcb-root img{max-width:none!important;border:0!important;box-shadow:none!important;}

/* ---------- ROOT: everything on the RIGHT ---------- */
#vcb-root{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:99999;display:flex;flex-direction:column;align-items:flex-end;gap:16px;}

/* ---------- LOGO SHINE (shared) ---------- */
.vcb-shine{position:relative;overflow:hidden;}
.vcb-shine::after{content:"";position:absolute;inset:-10%;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.95) 50%,transparent 62%);transform:translateX(-140%) skewX(-12deg);animation:vcbShine 3.6s ease-in-out infinite;}
@keyframes vcbShine{0%,55%{transform:translateX(-140%) skewX(-12deg)}100%{transform:translateX(140%) skewX(-12deg)}}
.vcb-logo-img{display:block!important;width:100%!important;height:100%!important;object-fit:contain;}

/* ---------- FLOATING LOGO BUTTON ---------- */
#vcb-fab{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:94px!important;height:94px!important;padding:0!important;border:none!important;border-radius:50%!important;background:linear-gradient(135deg,#fff,#FFEDD5)!important;box-shadow:0 0 0 3px var(--rose),0 14px 32px rgba(194,65,12,.4)!important;transition:transform .25s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent;}
#vcb-fab:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 0 0 3px var(--deep),0 18px 40px rgba(194,65,12,.5)!important;}
.vcb-fab-in{position:absolute;inset:7px;border-radius:50%;background:#fff;padding:5px;display:flex;align-items:center;justify-content:center;transition:opacity .25s ease,transform .3s ease;animation:vcbBob 3.4s ease-in-out infinite;}
#vcb-fab .vcb-ic-x{position:absolute;width:34px!important;height:34px!important;fill:none!important;stroke:var(--deep)!important;stroke-width:2.8!important;opacity:0;transform:rotate(-90deg) scale(.6);transition:opacity .25s ease,transform .3s ease;}
#vcb-root.vcb-open #vcb-fab .vcb-ic-chat{opacity:0;transform:rotate(90deg) scale(.6);animation:none;}
#vcb-root.vcb-open #vcb-fab .vcb-ic-x{opacity:1;transform:none;}
@keyframes vcbBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.vcb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--rose);animation:vcbPulse 2.6s ease-out infinite;pointer-events:none;}
.vcb-ring2{animation-delay:1.3s;}
#vcb-root.vcb-open .vcb-ring{display:none;}
@keyframes vcbPulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.7);opacity:0}}
#vcb-fab .vcb-spark{position:absolute;top:-4px;right:-4px;width:26px!important;height:26px!important;fill:var(--peach)!important;stroke:#fff!important;stroke-width:1!important;animation:vcbTwinkle 2.2s ease-in-out infinite;pointer-events:none;}
#vcb-root.vcb-open .vcb-spark{display:none!important;}
@keyframes vcbTwinkle{0%,100%{transform:scale(.7) rotate(0);opacity:.6}50%{transform:scale(1.15) rotate(20deg);opacity:1}}

/* ---------- TEASER ---------- */
#vcb-teaser{position:absolute;right:110px;bottom:26px;max-width:260px;padding:14px 20px;border-radius:16px 16px 4px 16px;background:#fff;color:var(--deep);font-size:17px;font-weight:700;line-height:1.4;box-shadow:0 12px 30px rgba(194,65,12,.22);border:1px solid var(--line);cursor:pointer;opacity:0;transform:translateX(8px);pointer-events:none;transition:opacity .4s ease,transform .4s ease;}
#vcb-teaser.vcb-show{opacity:1;transform:none;pointer-events:auto;}
#vcb-root.vcb-open #vcb-teaser{display:none;}

/* ---------- RIGHT-SIDE CALL / INSTAGRAM ---------- */
#vcb-side{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:14px;margin-right:12px;transition:opacity .25s ease,transform .25s ease;}
#vcb-root.vcb-open #vcb-side{opacity:0;transform:translateY(10px);pointer-events:none;visibility:hidden;}
#vcb-root .vcb-d{position:relative;overflow:hidden;display:flex!important;align-items:center!important;justify-content:center!important;width:70px!important;height:70px!important;padding:0!important;border:none!important;border-radius:50%!important;color:#fff!important;-webkit-tap-highlight-color:transparent;transition:transform .2s ease,filter .2s ease;}
#vcb-root a.vcb-d,#vcb-root a.vcb-d:hover,#vcb-root a.vcb-d:focus{text-decoration:none!important;cursor:pointer;}
#vcb-root .vcb-d:hover{transform:scale(1.1);filter:brightness(1.06);}
#vcb-root .vcb-d::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%);transform:translateX(-140%);animation:vcbShine 4.2s ease-in-out infinite;}
#vcb-root .vcb-d-ic{display:flex;align-items:center;justify-content:center;width:100%;height:100%;flex:none;}
#vcb-root .vcb-d-ic svg{width:38px!important;height:38px!important;}
#vcb-root .vcb-d-ig{background:linear-gradient(45deg,#FEDA75 0%,#FA7E1E 25%,#D62976 50%,#962FBF 75%,#4F5BD5 100%)!important;box-shadow:0 12px 26px rgba(214,41,118,.42);animation:vcbWaRipple 2.4s ease-out infinite;}
#vcb-root .vcb-d-ig.vcb-has-img{background:transparent!important;border-radius:24%!important;overflow:visible!important;}
#vcb-root .vcb-d-ig.vcb-has-img::after{display:none!important;}
#vcb-root .vcb-ig-img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;border:0!important;box-shadow:none!important;margin:0!important;}
#vcb-root .vcb-d-ig.vcb-has-img .vcb-d-ic{padding:0;}
#vcb-root .vcb-d-call{background:linear-gradient(135deg,#FB923C,#C2410C)!important;box-shadow:0 12px 26px rgba(194,65,12,.42);animation:vcbCallRipple 2.4s ease-out 1.2s infinite;}
#vcb-root .vcb-d-ig .vcb-d-ic{background:none;color:#fff;animation:vcbWaIcon 2.4s ease-in-out infinite;}
#vcb-root .vcb-d-call .vcb-d-ic{background:none;color:#fff;animation:vcbWiggle 2.4s ease-in-out 1.2s infinite;}
@keyframes vcbWaRipple{0%{box-shadow:0 12px 26px rgba(214,41,118,.42),0 0 0 0 rgba(214,41,118,.6)}70%,100%{box-shadow:0 12px 26px rgba(214,41,118,.42),0 0 0 20px rgba(214,41,118,0)}}
@keyframes vcbCallRipple{0%{box-shadow:0 12px 26px rgba(194,65,12,.42),0 0 0 0 rgba(249,115,22,.55)}70%,100%{box-shadow:0 12px 26px rgba(194,65,12,.42),0 0 0 20px rgba(249,115,22,0)}}
@keyframes vcbWaIcon{0%,50%,100%{transform:scale(1) rotate(0)}58%{transform:scale(1.22) rotate(-16deg)}66%{transform:scale(1.22) rotate(14deg)}74%{transform:scale(1.14) rotate(-9deg)}82%{transform:scale(1.06) rotate(5deg)}90%{transform:scale(1) rotate(0)}}
@keyframes vcbWiggle{0%,55%,100%{transform:rotate(0)}62%{transform:rotate(-16deg)}70%{transform:rotate(14deg)}78%{transform:rotate(-9deg)}86%{transform:rotate(5deg)}}

/* chooser (Vridhi / AKS) */
#vcb-menu{position:absolute;right:-12px;bottom:calc(100% + 14px);width:300px;max-width:calc(100vw - 36px);padding:8px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 50px rgba(67,20,7,.3);display:none;flex-direction:column;gap:6px;}
#vcb-menu.vcb-on{display:flex;animation:vcbIn .25s ease;}
#vcb-menu .vcb-mi{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;text-decoration:none!important;color:var(--text)!important;background:var(--blush);transition:background .2s ease,transform .2s ease;}
#vcb-menu .vcb-mi:hover{background:#FFEDD5;transform:translateX(-3px);}
#vcb-menu .vcb-mi svg{width:38px!important;height:38px!important;padding:9px;border-radius:50%;color:#fff!important;}
#vcb-menu .vcb-mi.call svg{background:var(--deep);}
#vcb-menu .vcb-mi.ig svg{background:linear-gradient(45deg,#FEDA75 0%,#FA7E1E 25%,#D62976 50%,#962FBF 75%,#4F5BD5 100%);}
#vcb-menu .vcb-mi .vcb-ig-img{width:38px!important;height:38px!important;flex:none;object-fit:contain;border-radius:0;box-shadow:none!important;}
#vcb-menu .vcb-mi b{display:block;font-size:16px;font-weight:800;color:var(--deep);line-height:1.25;}
#vcb-menu .vcb-mi small{display:block;font-size:14.5px;font-weight:600;color:var(--text);margin-top:2px;}

/* ---------- CHAT PANEL ---------- */
#vcb-panel{position:absolute;right:0;bottom:114px;width:410px;max-width:calc(100vw - 24px);height:680px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:22px;box-shadow:0 30px 70px rgba(67,20,7,.35);border:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s;}
#vcb-root.vcb-open #vcb-panel{visibility:visible;opacity:1;transform:none;}

.vcb-head{flex:none;display:flex;align-items:center;gap:13px;padding:14px 18px;color:#fff;background:linear-gradient(120deg,var(--plum),var(--deep) 50%,var(--rose) 100%);}
.vcb-avatar{width:58px;height:58px;flex:none;border-radius:50%;background:#fff;padding:5px;box-shadow:0 0 0 3px rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;}
.vcb-head-text{flex:1;min-width:0;}
.vcb-title{font-size:19px;font-weight:600;line-height:1.2;color:#fff;}
.vcb-sub{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:13.5px;font-weight:600;color:#fff;opacity:.95;}
.vcb-dot{width:8px;height:8px;border-radius:50%;background:#5CE08A;flex:none;animation:vcbDot 2s ease-out infinite;}
@keyframes vcbDot{0%{box-shadow:0 0 0 0 rgba(92,224,138,.7)}70%{box-shadow:0 0 0 7px rgba(92,224,138,0)}100%{box-shadow:0 0 0 0 rgba(92,224,138,0)}}

#vcb-root .vcb-close{flex:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;padding:0!important;border:none!important;border-radius:50%!important;background:rgba(255,255,255,.22)!important;color:#fff!important;box-shadow:none!important;transition:background .2s ease;}
#vcb-root .vcb-close:hover{background:rgba(255,255,255,.4)!important;}
#vcb-root .vcb-close svg{width:18px!important;height:18px!important;fill:none!important;stroke:#fff!important;stroke-width:2.6!important;}

.vcb-body{flex:1;min-height:0;overflow-y:auto;padding:18px 16px 8px;background:var(--blush);display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;}
.vcb-m{max-width:88%;padding:12px 16px;font-size:15.5px;font-weight:500;line-height:1.55;color:var(--text);word-wrap:break-word;animation:vcbIn .3s ease;}
.vcb-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px 16px 16px 4px;box-shadow:0 4px 12px rgba(194,65,12,.06);}
.vcb-user{align-self:flex-end;color:#fff;font-weight:600;background:linear-gradient(135deg,var(--rose),var(--deep));border-radius:16px 16px 4px 16px;}
@keyframes vcbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.vcb-typing{align-self:flex-start;display:flex;gap:5px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:16px 16px 16px 4px;}
.vcb-typing i{width:7px;height:7px;border-radius:50%;background:var(--rose);animation:vcbBounce 1s infinite ease-in-out;}
.vcb-typing i:nth-child(2){animation-delay:.15s}.vcb-typing i:nth-child(3){animation-delay:.3s}
@keyframes vcbBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.vcb-acts{align-self:flex-start;display:flex;flex-wrap:wrap;gap:8px;max-width:100%;animation:vcbIn .3s ease;}
#vcb-root .vcb-a{display:inline-flex!important;align-items:center!important;gap:8px;padding:11px 18px!important;border-radius:999px!important;border:1.5px solid var(--rose)!important;background:#fff!important;color:var(--deep)!important;font-size:15px!important;font-weight:700!important;text-decoration:none!important;box-shadow:none!important;transition:transform .2s ease,background .2s ease,color .2s ease;}
#vcb-root .vcb-a{max-width:100%;text-align:left;line-height:1.3;}
#vcb-root .vcb-a:hover{transform:translateY(-2px);background:var(--rose)!important;color:#fff!important;}
#vcb-root .vcb-a svg{width:17px!important;height:17px!important;}
#vcb-root .vcb-a.ig{background:#fff!important;border-color:#D62976!important;color:#962FBF!important;box-shadow:0 8px 18px rgba(214,41,118,.22)!important;}
#vcb-root .vcb-a.ig svg.f{color:#D62976!important;}
#vcb-root .vcb-a .vcb-ig-img{width:22px!important;height:22px!important;object-fit:contain;box-shadow:none!important;border:0!important;}
#vcb-root .vcb-a.ig:hover{background:#FDF2F8!important;color:#D62976!important;transform:translateY(-2px);}
#vcb-root .vcb-a.call{background:var(--deep)!important;border-color:var(--deep)!important;color:#fff!important;}
#vcb-root .vcb-a.call:hover{background:var(--rose)!important;border-color:var(--rose)!important;}

/* ---------- BOOKING FORM CARD ---------- */
.vcb-card{align-self:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 6px 16px rgba(194,65,12,.08);animation:vcbIn .3s ease;display:flex;flex-direction:column;gap:12px;}
.vcb-card label{display:block;font-size:13.5px;font-weight:800;color:var(--deep);margin-bottom:6px;}
#vcb-root .vcb-card input[type=text],#vcb-root .vcb-card input[type=tel],#vcb-root .vcb-card select{width:100%!important;height:46px!important;margin:0!important;padding:0 14px!important;border-radius:12px!important;border:1.5px solid var(--line)!important;background:var(--blush)!important;font-size:16px!important;font-weight:600!important;color:var(--text)!important;box-shadow:none!important;outline:none!important;transition:border-color .2s ease,box-shadow .2s ease;}
#vcb-root .vcb-card select{padding-right:8px!important;}
#vcb-root .vcb-card input:focus,#vcb-root .vcb-card select:focus{border-color:var(--rose)!important;box-shadow:0 0 0 4px rgba(249,115,22,.18)!important;}
.vcb-phone{display:flex;align-items:center;gap:8px;}
.vcb-cc{flex:none;height:46px;display:flex;align-items:center;padding:0 12px;border-radius:12px;background:#FFEDD5;color:var(--deep);font-size:15.5px;font-weight:800;}
.vcb-radios{display:flex;flex-direction:column;gap:8px;}
.vcb-radio{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);background:var(--blush);cursor:pointer;font-size:15px;font-weight:700;color:var(--text);transition:border-color .2s ease,background .2s ease;}
.vcb-radio input{width:18px;height:18px;margin:0;accent-color:var(--deep);flex:none;}
.vcb-radio.vcb-sel{border-color:var(--deep);background:#FFEDD5;}
.vcb-err{display:none;font-size:13.5px;font-weight:700;color:#C0344B;margin-top:5px;}
.vcb-err.vcb-on{display:block;}
#vcb-root .vcb-submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px;width:100%!important;height:50px!important;padding:0 16px!important;border:none!important;border-radius:999px!important;background:linear-gradient(45deg,#FEDA75 0%,#FA7E1E 25%,#D62976 50%,#962FBF 75%,#4F5BD5 100%)!important;color:#fff!important;font-size:16px!important;font-weight:800!important;box-shadow:0 10px 22px rgba(214,41,118,.34)!important;transition:transform .2s ease;}
#vcb-root .vcb-submit:hover{transform:translateY(-2px);}
#vcb-root .vcb-submit svg{width:20px!important;height:20px!important;}

/* quick chips */
.vcb-quick{flex:none;display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid var(--line);}
#vcb-root .vcb-chip{flex:0 0 auto!important;padding:9px 15px!important;border-radius:999px!important;border:1.5px solid var(--line)!important;background:var(--blush)!important;color:var(--deep)!important;font-size:14.5px!important;font-weight:700!important;white-space:nowrap;box-shadow:none!important;transition:background .2s ease,color .2s ease,border-color .2s ease;}
#vcb-root .vcb-chip:hover{background:var(--rose)!important;border-color:var(--rose)!important;color:#fff!important;}

/* message box */
.vcb-form{flex:none;display:flex;align-items:center;gap:10px;padding:4px 14px 14px;background:#fff;}
#vcb-root #vcb-input{flex:1 1 auto!important;min-width:0!important;width:auto!important;height:48px!important;margin:0!important;padding:0 18px!important;border-radius:999px!important;border:1.5px solid var(--line)!important;background:var(--blush)!important;font-size:16px!important;font-weight:500!important;color:var(--text)!important;box-shadow:none!important;outline:none!important;transition:border-color .2s ease,box-shadow .2s ease;}
#vcb-root #vcb-input:focus{border-color:var(--rose)!important;box-shadow:0 0 0 4px rgba(249,115,22,.18)!important;}
#vcb-root #vcb-input::placeholder{color:#A8806B;opacity:1;}
#vcb-root .vcb-send{flex:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;padding:0!important;border:none!important;border-radius:50%!important;background:linear-gradient(135deg,var(--rose),var(--deep))!important;color:#fff!important;box-shadow:0 8px 18px rgba(194,65,12,.3)!important;transition:transform .2s ease;}
#vcb-root .vcb-send:hover{transform:scale(1.08);}
#vcb-root .vcb-send svg{width:22px!important;height:22px!important;fill:#fff!important;stroke:none!important;margin-left:2px;}

#vcb-root button:focus-visible,#vcb-root a:focus-visible,#vcb-root .vcb-radio:focus-within{outline:3px solid var(--peach)!important;outline-offset:3px;}

/* ---------- MOBILE ---------- */
@media (max-width:640px){
  #vcb-root .vcb-a{font-size:14px!important;padding:10px 14px!important;}
  #vcb-root{right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));gap:10px;}
  #vcb-fab{width:80px!important;height:80px!important;}
  .vcb-fab-in{inset:6px;padding:4px;}
  #vcb-root .vcb-d{width:62px!important;height:62px!important;}
  #vcb-side{margin-right:9px;}
  #vcb-menu{right:-9px;}
  #vcb-root .vcb-d-ic svg{width:34px!important;height:34px!important;}
  #vcb-teaser{right:94px;bottom:18px;max-width:200px;font-size:15px;padding:12px 16px;}
  #vcb-panel{position:fixed;left:10px;right:10px;top:10px;bottom:calc(110px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;height:auto;max-height:none;}
  .vcb-head{padding:12px 14px;}
  .vcb-title{font-size:18px;}
  .vcb-m{max-width:92%;font-size:15px;}
  #vcb-root .vcb-chip{font-size:14px!important;padding:8px 13px!important;}
}
@media (prefers-reduced-motion:reduce){#vcb-root *,#vcb-root *::after{animation:none!important;transition:none!important;}}
