/* DMCTN Floating Trio – v1.1.1 – TẠO BỞI BÙI VĂN TĨNH */
/* Icon-only cứng: triệt tiêu chữ của bất kỳ theme/plugin nào bơm vào */
.dmctn-ftr .screen-reader-text{position:absolute!important;left:-9999px!important}
.dmctn-ftr, .dmctn-ftr *{font-size:0!important; line-height:0!important; text-indent:0!important}
.dmctn-ftr svg, .dmctn-ftr i{font-size:initial!important; line-height:initial!important}
.dmctn-ftr svg{width:24px;height:24px}

/* Layout & hiệu ứng */
.dmctn-ftr{
  --qd-green:#2f4f2f; --qd-green-2:#244224; --qd-gold:#d4af37;
  --size: var(--dmctn-ftr-size, 56px); --gap: 10px;
  position: fixed; right: var(--dmctn-ftr-right,10px); top: 50%; transform: translateY(-50%);
  z-index: 9999; display: grid; gap: var(--gap); filter: drop-shadow(0 10px 28px rgba(0,0,0,.25));
  pointer-events: none;
}
.dmctn-ftr__btn{
  pointer-events: auto; width: var(--size); height: var(--size);
  border-radius: 14px; display:flex; align-items:center; justify-content:center;
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--qd-green), var(--qd-green-2));
  color:#fff; text-decoration:none; border:1px solid rgba(0,0,0,.35);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 16px rgba(0,0,0,.25);
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}

/* Gloss */
.dmctn-ftr__btn::before{
  content:""; position:absolute; inset:-45% auto -45% -70%; width:40%; transform:rotate(25deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  transition: transform .45s ease; opacity: calc(var(--dmctn-ftr-effects,1));
}
/* Halo */
.dmctn-ftr__btn::after{
  content:""; position:absolute; right:-30%; top:0; bottom:0; width:60%;
  background: radial-gradient(60% 60% at 0% 50%, rgba(212,175,55,.25), transparent 70%);
  opacity: 0; transition: opacity .25s ease;
}
/* Twinkle */
.dmctn-ftr__btn .twinkle{ position:absolute; width:10px; height:10px; right:10px; top:10px;
  background: radial-gradient(circle, #fff, rgba(255,255,255,.1) 70%, transparent 71%);
  border-radius:50%; filter: blur(.2px); opacity: calc(.0 + .8 * var(--dmctn-ftr-effects,1));
  animation: dmctn-twinkle 1.8s infinite ease-in-out;
}
@keyframes dmctn-twinkle{ 0%,100%{ transform: scale(.6); opacity:.2;} 50%{ transform: scale(1.2); opacity:.9;}}

/* Hover pulse */
.dmctn-ftr__btn:hover{ transform: translateX(-2px) scale(1.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 14px 32px rgba(0,0,0,.3);
}
.dmctn-ftr__btn:hover::before{ transform: translateX(260%) rotate(25deg); }
.dmctn-ftr__btn:hover::after{ opacity: calc(.9 * var(--dmctn-ftr-effects,1)); }

@media (max-width: 440px){
  .dmctn-ftr{ right: calc(var(--dmctn-ftr-right,10px) - 4px); }
  .dmctn-ftr__btn{ border-radius: 12px; }
}
.has-floating-right .dmctn-ftr{ right: calc(var(--dmctn-ftr-right,10px) + 64px); }
