.migi-contact-bar{position:fixed;z-index:var(--migi-z,99999);display:flex;flex-direction:column;gap:var(--migi-gap,10px)}
.migi-contact-bar[data-position="left"]{left:16px}
.migi-contact-bar[data-position="right"]{right:16px}
.migi-btn{position:relative;display:flex;align-items:center;justify-content:center;width:var(--migi-width,54px);height:var(--migi-width,54px);border-radius:var(--migi-radius,14px);background:var(--migi-btn,var(--migi-bg,#1e88e5));color:var(--migi-text,#fff);text-decoration:none;outline:none;box-sizing:border-box}
.migi-btn:focus-visible{box-shadow:0 0 0 3px rgba(30,136,229,.35)}
.migi-btn-ico{width:var(--migi-icon,22px);height:var(--migi-icon,22px);display:flex;align-items:center;justify-content:center}
.migi-icon-svg svg{width:100%;height:100%}
.migi-icon-img{width:100%;height:100%;object-fit:contain}

/* Label (mặc định: thanh ở bên phải -> nhãn bung vào trong, tức là sang TRÁI) */
.migi-btn-label{position:absolute;top:50%;right:calc(100% + 10px);left:auto;transform:translateY(-50%) translateX(-8px);opacity:0;pointer-events:none;min-width:168px;max-width:260px;padding:10px 12px;border-radius:14px;background:var(--migi-label-bg,#1e88e5);color:var(--migi-label-text,#fff);box-shadow:0 10px 26px rgba(0,0,0,.18);transition:all .18s ease}
/* Nếu thanh ở bên trái -> nhãn bung vào trong, tức là sang PHẢI */
.migi-contact-bar[data-position="left"] .migi-btn-label{right:auto;left:calc(100% + 10px);transform:translateY(-50%) translateX(8px)}
.migi-label-kicker{display:block;font-size:12px;opacity:.9;margin-bottom:2px}
.migi-label-title{display:block;font-size:14px;font-weight:700;line-height:1.2}
.migi-label-sub{display:block;font-size:12px;opacity:.95;margin-top:4px;line-height:1.35}
.migi-label-phone{font-weight:700}

/* Hover show (desktop) */
.migi-contact-bar.migi-labels-hover .migi-btn:hover .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}
.migi-contact-bar[data-position="left"].migi-labels-hover .migi-btn:hover .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}

/* Always show */
.migi-contact-bar.migi-labels-show .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}
.migi-contact-bar[data-position="left"].migi-labels-show .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}
/* Ghi đè theo từng nút */
.migi-btn[data-label-mode="hide"] .migi-btn-label{display:none!important}
.migi-btn[data-label-mode="show"] .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}
.migi-btn[data-label-mode="hover"]:hover .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}


/* Mobile tap-open label */
.migi-btn.migi-label-open .migi-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}

/* Ring effect */
.migi-btn.migi-ring::after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid rgba(255,255,255,.9);opacity:.85;animation:migiRing 1.45s ease-out infinite}
@keyframes migiRing{0%{transform:scale(.85);opacity:.75}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.7);opacity:0}}

/* Bottom bar */
.migi-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--migi-z,99999);background:#fff;border-top:1px solid rgba(0,0,0,.08)}
.migi-bottom-inner{height:var(--migi-bottom-h,64px);display:flex;align-items:flex-end;justify-content:space-around;gap:6px;padding:8px 10px 10px;box-sizing:border-box}
.migi-bottom-item{flex:1;min-width:0;text-decoration:none;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;opacity:.9}
.migi-bottom-item.is-active{opacity:1;color:var(--migi-primary,#1e88e5)}
.migi-bottom-ico{width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.migi-bottom-ico svg{width:100%;height:100%}
.migi-bottom-item.is-primary{transform:translateY(calc(-1 * var(--migi-bottom-bump,12px)))}
.migi-bottom-item.is-primary .migi-bottom-ico{width:44px;height:44px;border-radius:999px;background:var(--migi-btn,var(--migi-primary,#1e88e5));color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.migi-bottom-item.is-primary .migi-bottom-txt{font-weight:700}

/* Modal */
.migi-modal[hidden]{display:none!important}
.migi-modal{position:fixed;inset:0;z-index:calc(var(--migi-z,99999) + 10)}
.migi-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.migi-modal-dialog{position:relative;max-width:860px;width:min(92vw,860px);margin:6vh auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.migi-modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#111;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.migi-modal-body{padding:24px 24px 0}

/* Default template giống mẫu */
.migi-modal-tpl{display:flex;flex-direction:column;gap:14px}
.migi-modal-head{padding-right:54px}
.migi-modal-head h3{margin:0 0 6px;font-size:20px;line-height:1.25}
.migi-modal-head .migi-modal-top{margin:0;font-size:15px;line-height:1.5;color:#444}
.migi-modal-qrwrap{display:flex;justify-content:center;align-items:center;padding:6px 0 18px}
.migi-modal-qrwrap img{max-width:min(520px,78vw);width:100%;height:auto;border-radius:12px}
.migi-modal-foot{background:var(--migi-primary,#1e88e5);color:#fff;padding:18px 22px;font-size:16px;line-height:1.5;text-align:center}

@media (max-width:768px){
  .migi-btn-label{min-width:150px;max-width:240px}
  .migi-modal-dialog{margin:7vh auto;width:min(94vw,720px)}
  .migi-modal-body{padding:18px 16px 0}
}
