/* VNLIKE Support Mini Premium v3: compact links, no label/description, low-power mobile. */
.vnlsp,.vnlsp *{box-sizing:border-box}
.vnlsp{--sp-ink:#0b0e23;--sp-accent:#a884ff;position:fixed;right:14px;bottom:158px;z-index:850;display:flex;flex-direction:column;align-items:center;width:68px;color:#f6f3ff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;isolation:isolate}
.vnlsp-trigger{position:relative;display:grid;place-items:center;isolation:isolate;flex:none;width:65px;height:65px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.22,1,.36,1)}
.vnlsp-trigger:hover{transform:translateY(-2px) scale(1.045)}
.vnlsp-trigger:active{transform:scale(.94)}
.vnlsp-trigger:focus-visible,.vnlsp-link:focus-visible{outline:2px solid #d9caff;outline-offset:5px}
.vnlsp-aura{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(153,109,255,.37),rgba(122,88,255,.12) 52%,transparent 74%);pointer-events:none;opacity:.65}
.vnlsp-ripple{position:absolute;inset:-4px;border:1px solid rgba(207,155,255,.7);border-radius:50%;opacity:0;pointer-events:none}
.vnlsp-ripple-two{border-color:rgba(100,220,245,.55)}
.vnlsp-orbit{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 25deg,transparent 0 30deg,#d0b7ff 65deg,transparent 100deg,transparent 206deg,#83d8ff 236deg,transparent 276deg);pointer-events:none;box-shadow:0 0 12px rgba(120,82,248,.20)}
.vnlsp-orbit:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--sp-ink)}
.vnlsp-core{position:absolute;inset:4px;display:grid;place-items:center;overflow:hidden;border-radius:50%;border:1px solid rgba(253,238,255,.83);background:radial-gradient(circle at 35% 17%,#ffe6ff 0%,#d5b3ff 18%,#ac83ff 38%,#754bde 73%,#432f9d 100%);box-shadow:inset 0 3px 7px rgba(255,255,255,.53),inset 0 -8px 11px rgba(41,17,115,.60),0 5px 12px rgba(8,3,26,.43),0 0 0 3px rgba(112,72,199,.32),0 0 18px rgba(145,94,255,.30)}
.vnlsp-core:before{content:"";position:absolute;inset:3px 7px 47% 7px;border-radius:50% 50% 38% 38%;background:linear-gradient(180deg,rgba(255,255,255,.59),rgba(255,255,255,.08) 68%,transparent);pointer-events:none}
.vnlsp-sheen{position:absolute;z-index:1;left:-70%;top:-25%;width:55%;height:170%;transform:rotate(22deg) translateX(-135%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.49),transparent);pointer-events:none}
.vnlsp-face,.vnlsp-cross{position:absolute;z-index:2;display:grid;place-items:center;transition:opacity .18s ease,transform .20s ease}
.vnlsp-face{filter:drop-shadow(0 2px 3px rgba(46,26,106,.42))}.vnlsp-face svg{width:27px;height:27px;stroke-width:1.8}
.vnlsp-cross{opacity:0;transform:rotate(-70deg) scale(.75)}
.vnlsp-status-dot{position:absolute;z-index:3;right:6px;bottom:6px;width:10px;height:10px;border:2px solid #44259e;border-radius:50%;background:#54e5b2;box-shadow:0 0 5px rgba(80,252,195,.44);pointer-events:none}
.vnlsp[data-open="true"] .vnlsp-face{opacity:0;transform:rotate(70deg) scale(.7)}
.vnlsp[data-open="true"] .vnlsp-cross{opacity:1;transform:rotate(0) scale(1)}
.vnlsp[data-open="true"] .vnlsp-core{background:radial-gradient(circle at 32% 18%,#d9bfff,#ac84f2 40%,#6942c2 76%,#3b2a80)}
.vnlsp[data-open="true"] .vnlsp-status-dot{opacity:0}
.vnlsp-menu{position:absolute;right:0;bottom:80px;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:240px;max-width:calc(100vw - 24px);max-height:min(425px,calc(100dvh - 260px));padding:7px 5px 9px 9px;background:transparent;border:0;box-shadow:none;overflow:auto;scrollbar-width:none;overscroll-behavior:contain}
.vnlsp-menu::-webkit-scrollbar{display:none}
.vnlsp-menu[hidden]{display:none!important}
.vnlsp-link{--sp-tint:#a38bff;--sp-soft:rgba(121,92,255,.17);position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:49px;padding:6px 10px 6px 7px;flex:0 0 auto;border:1px solid rgba(172,163,235,.35);border-radius:16px;background:linear-gradient(115deg,rgba(35,34,72,.97),rgba(12,17,37,.98) 79%);box-shadow:0 8px 18px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.11);color:#f7f5ff!important;text-decoration:none!important;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.vnlsp-link:before{content:"";position:absolute;top:11px;bottom:11px;left:0;width:2px;border-radius:3px;background:var(--sp-tint);opacity:.75}
.vnlsp-link:hover{transform:translateX(-3px);border-color:rgba(215,200,255,.8);background:linear-gradient(115deg,rgba(63,47,121,.98),rgba(18,23,52,.98))}
.vnlsp-link-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border:1px solid rgba(218,194,255,.25);border-radius:12px;background:linear-gradient(145deg,rgba(188,151,255,.30),rgba(92,65,168,.12));color:#eadfff}
.vnlsp-link-icon svg{width:19px;height:19px;stroke-width:1.9}
.vnlsp-custom-icon{display:block;width:30px;height:30px;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.vnlsp-link-label{flex:1;min-width:0;font-size:12px;font-weight:800;line-height:1.25;letter-spacing:.1px;overflow-wrap:anywhere}
.vnlsp-link-arrow{flex:none;width:14px;height:14px;color:#b2a4d8}
.vnlsp-link[data-icon="messenger"],.vnlsp-link[data-icon="facebook"]{--sp-tint:#8aafff;--sp-soft:rgba(58,125,255,.19)}
.vnlsp-link[data-icon="community"],.vnlsp-link[data-icon="telegram"]{--sp-tint:#91dcff;--sp-soft:rgba(58,187,247,.15)}
.vnlsp-link[data-icon="phone"],.vnlsp-link[data-icon="mail"]{--sp-tint:#7ce0bb;--sp-soft:rgba(52,217,153,.14)}
@keyframes vnlspAura{0%,100%{opacity:.46}50%{opacity:.85}}
@keyframes vnlspOrbit{to{transform:rotate(360deg)}}
@keyframes vnlspRipple{0%{opacity:.7;transform:scale(.94)}100%{opacity:0;transform:scale(1.37)}}
@keyframes vnlspSheen{from{transform:rotate(22deg) translateX(-120%)}to{transform:rotate(22deg) translateX(480%)}}
@keyframes vnlspPillIn{from{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
/* Only the brief opening animation runs on touch devices. Desktop may animate the tiny glow. */
.vnlsp[data-open="true"] .vnlsp-link{animation:vnlspPillIn .20s ease-out both;animation-delay:calc(var(--vnlsp-i,0) * 28ms)}
@media (min-width:701px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .vnlsp[data-paused="false"] .vnlsp-aura{animation:vnlspAura 8s ease-in-out infinite}
 .vnlsp[data-paused="false"] .vnlsp-orbit{animation:vnlspOrbit 14s linear infinite}
 .vnlsp[data-paused="false"] .vnlsp-trigger:hover .vnlsp-ripple-one{animation:vnlspRipple .9s ease-out 1}
 .vnlsp[data-paused="false"] .vnlsp-trigger:hover .vnlsp-sheen{animation:vnlspSheen 1.15s ease-in-out 1}
}
@media (max-width:700px),(hover:none),(pointer:coarse){
 .vnlsp{right:11px;bottom:141px;width:59px}
 .vnlsp-trigger{width:57px;height:57px}
 .vnlsp-face svg{width:24px;height:24px}
 .vnlsp-menu{right:0;bottom:70px;width:217px;max-height:min(400px,calc(100dvh - 220px));gap:7px;padding:5px 4px 8px 9px}
 .vnlsp-link{min-height:46px;padding:5px 9px 5px 7px;border-radius:14px;gap:9px;box-shadow:0 5px 11px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.1)}
 .vnlsp-link-icon{width:32px;height:32px;flex-basis:32px;border-radius:10px}
 .vnlsp-link-icon svg{width:18px;height:18px}
 .vnlsp-custom-icon{width:28px;height:28px}
 .vnlsp-link-label{font-size:11.5px}
 .vnlsp-aura{opacity:.4}
 .vnlsp-core{box-shadow:inset 0 3px 6px rgba(255,255,255,.42),inset 0 -6px 8px rgba(38,17,105,.52),0 4px 10px rgba(7,2,20,.37),0 0 0 2px rgba(112,72,199,.23)}
 .vnlsp-aura,.vnlsp-ripple,.vnlsp-orbit,.vnlsp-sheen{animation:none!important;filter:none!important}
 .vnlsp-link:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){.vnlsp *{animation:none!important;transition:none!important}}
.vnlsp[data-paused="true"] .vnlsp-aura,.vnlsp[data-paused="true"] .vnlsp-orbit,.vnlsp[data-paused="true"] .vnlsp-ripple,.vnlsp[data-paused="true"] .vnlsp-sheen{animation:none!important}
html.vnl-low-power-pc .vnlsp *{animation:none!important}
html.vnl-low-power-pc .vnlsp-core{box-shadow:inset 0 3px 6px rgba(255,255,255,.42),inset 0 -6px 8px rgba(38,17,105,.52),0 4px 10px rgba(7,2,20,.32)}
/* Zalo Official Chat Widget: keep the existing styling and plugin untouched. */
.zalo-chat-widget{z-index:849!important;right:12px!important;border-radius:initial!important;filter:none!important;box-shadow:none!important;animation:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
.zalo-chat-widget:before,.zalo-chat-widget:after{content:none!important;display:none!important}
#checkoutModal,#autoQtyModal,#upgradeModal,#customerFieldModal,#depositSuccessModal,#authModal,#appDialogModal{z-index:1100!important}
.modal{z-index:1000!important}
