/* ValleyDesk footer — loads after the page stylesheet */
footer.vd-ft{
  --ft-t:#e8eef9;--ft-t2:#a3b3cc;--ft-t3:#7589a6;--ft-line:rgba(255,255,255,.09);
  position:relative;isolation:isolate;overflow:hidden;margin-top:32px;border-top:0;
  color:var(--ft-t2);text-align:center;text-transform:none;
  background:
    radial-gradient(560px 260px at 15% 0%,rgba(10,104,242,.28),transparent 70%),
    radial-gradient(480px 240px at 88% 10%,rgba(23,180,232,.16),transparent 70%),
    linear-gradient(180deg,#0c1830,#070d1a);
}
footer.vd-ft::before{ /* animated accent line */
  content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,#17b4e8,#0a68f2,#8b5cf6,#ea580c,#17b4e8);
  background-size:200% 100%;animation:vdFtLine 9s linear infinite;
}
@keyframes vdFtLine{to{background-position:200% 0}}
footer.vd-ft::after{ /* faint grid */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/42px 42px,
             linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/42px 42px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);
  mask-image:linear-gradient(180deg,#000,transparent 80%);
}

/* ---------- brand block ---------- */
.vd-ft-wrap{max-width:760px;margin:0 auto;padding:38px 18px 22px;display:flex;flex-direction:column;align-items:center}
.vd-ft .logo-wrap{justify-content:center;flex:none}
.vd-ft .logo-main{color:#fff;font-size:21px}
.vd-ft .logo-main span{color:#17b4e8}
.vd-ft .logo-box{width:38px;height:38px}
.vd-ft-desc{max-width:520px;margin:12px auto 14px;font-size:11px;line-height:1.75;color:var(--ft-t2)}
.vd-ft-desc a{color:#17b4e8;font-weight:700}
.vd-ft-desc a:hover{text-decoration:underline}

.vd-ft-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px}
.vd-ft-chips span{
  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:20px;
  font:700 9px var(--mono,inherit);letter-spacing:.3px;color:var(--ft-t);
  background:linear-gradient(135deg,rgba(10,104,242,.24),rgba(23,180,232,.10));
  border:1px solid rgba(23,180,232,.28);
}
.vd-ft-chips i{color:#17b4e8;font-size:9px}

.vd-ft-soc{display:flex;justify-content:center;gap:8px;margin-bottom:20px}
.vd-ft-soc span,.vd-ft-soc a{
  width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--ft-t);background:rgba(255,255,255,.06);border:1px solid var(--ft-line);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s,box-shadow .2s;cursor:default;
}
.vd-ft-soc span:hover,.vd-ft-soc a:hover{transform:translateY(-4px);color:#fff;border-color:transparent;box-shadow:0 10px 20px -6px rgba(0,0,0,.5)}
.vd-ft-soc span:nth-child(1):hover,.vd-ft-soc a:nth-child(1):hover{background:#1877f2}
.vd-ft-soc span:nth-child(2):hover,.vd-ft-soc a:nth-child(2):hover{background:#111}
.vd-ft-soc span:nth-child(3):hover,.vd-ft-soc a:nth-child(3):hover{background:#229ed9}
.vd-ft-soc span:nth-child(4):hover,.vd-ft-soc a:nth-child(4):hover{background:#ff0033}
.vd-ft-soc span:nth-child(5):hover,.vd-ft-soc a:nth-child(5):hover{background:#25d366}

/* ---------- main nav row ---------- */
.vd-ft-nav{
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:6px;border-radius:16px;
  background:rgba(255,255,255,.04);border:1px solid var(--ft-line);
}
.vd-ft-nav a{
  display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border-radius:11px;
  font:700 11px var(--head,inherit);color:var(--ft-t2);transition:background .2s,color .2s,transform .2s;
}
.vd-ft-nav a i{font-size:11px;color:var(--ft-t3);transition:color .2s}
.vd-ft-nav a:hover{color:#fff;background:linear-gradient(120deg,#0a68f2,#17b4e8);transform:translateY(-2px)}
.vd-ft-nav a:hover i{color:#fff}

/* ---------- bottom bar ---------- */
.vd-ft-bot{
  max-width:1296px;margin:0 auto;padding:14px 76px 16px;border-top:1px solid var(--ft-line);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 18px;
  font-size:10px;color:var(--ft-t3);
}
.vd-ft-copy{text-align:left}
.vd-ft-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
.vd-ft-legal a{color:var(--ft-t2);padding:4px 10px;position:relative;transition:color .2s}
.vd-ft-legal a+a::before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;margin-top:-1.5px;border-radius:50%;background:var(--ft-t3)}
.vd-ft-legal a:hover{color:#fff}
.vd-ft-credit{text-align:right}
.vd-ft-credit a{color:var(--ft-t);font-weight:800;border-bottom:1px dashed rgba(23,180,232,.6);transition:color .2s}
.vd-ft-credit a:hover{color:#17b4e8}
.vd-ft-credit i{color:#ff6b73;font-size:9px;margin:0 2px}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .vd-ft-bot{grid-template-columns:1fr;justify-items:center;text-align:center;padding:14px 16px 18px}
  .vd-ft-copy,.vd-ft-credit{text-align:center}
  .vd-ft-legal{order:3}
  .vd-ft-credit{order:2}
}
@media(max-width:560px){
  .vd-ft-wrap{padding:30px 14px 18px}
  .vd-ft-nav{width:100%;flex-wrap:nowrap;justify-content:center;gap:0;padding:4px 0}
  .vd-ft-nav a{flex:0 1 auto;justify-content:center;min-height:42px;padding:0 clamp(3px,1.5vw,10px);font-size:clamp(8.5px,2.7vw,11px);white-space:nowrap;border-radius:9px;position:relative}
  .vd-ft-nav a i{display:none}
  .vd-ft-nav a+a::before{content:"|";position:absolute;left:-2px;top:50%;transform:translateY(-50%);color:var(--ft-t3);font-weight:400;pointer-events:none}
  .vd-ft-nav a:hover{transform:none}
  .vd-ft-legal a{min-height:36px;display:inline-flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){footer.vd-ft::before{animation:none}footer.vd-ft *{transition:none!important}}

/* keep natural casing — the site has a global capitalise rule */
footer.vd-ft,footer.vd-ft *{text-transform:none!important}

/* ---------- big outlined watermark ---------- */
.vd-ft-wrap{position:relative}
.vd-ft-wrap::after{
  content:"VALLEYDESK";position:absolute;left:50%;bottom:-78px;transform:translateX(-50%);z-index:-1;pointer-events:none;
  font:800 clamp(52px,15vw,170px)/1 var(--head,inherit);letter-spacing:-.05em;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);
}
@media(max-width:560px){.vd-ft-wrap::after{bottom:-16px;-webkit-text-stroke-width:.8px}}

/* ---- UI step 1: buttons, focus, hidden social links ---- */
button.icon-btn,button.oc-close,button.oc-switch,button#backToTop{-webkit-appearance:none;appearance:none;margin:0;font-family:inherit}
button.oc-switch{padding:0;border:0}
[data-social][hidden],.vd-ft-soc[hidden],.author-social[hidden],.join-section[hidden],.oc-section[hidden],.oc-join[hidden],.oc-social-row[hidden]{display:none!important}
.icon-btn:focus-visible,.oc-close:focus-visible,.oc-switch:focus-visible,#backToTop:focus-visible,.mn-item:focus-visible,.soc-btn:focus-visible,.vd-ft-soc a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
