#mcb16-root{all:initial}#mcb16-root *{box-sizing:border-box}#mcb16-root a{text-decoration:none}
.mcb16-desktop{position:fixed!important;right:20px!important;bottom:28px!important;z-index:2147483000!important;font-family:Arial,sans-serif}
.mcb16-launch{width:66px!important;height:66px!important;border:0!important;border-radius:50%!important;background:#0873fd!important;color:#fff!important;box-shadow:0 8px 25px #0003!important;cursor:pointer!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:0!important}
.mcb16-launch span{font-size:28px;line-height:1}.mcb16-launch b{font-size:10px;margin-top:3px}.mcb16-panel{position:absolute!important;right:0!important;bottom:76px!important;width:290px!important;padding:10px!important;background:#fff!important;border:1px solid #e8eef5!important;border-radius:16px!important;box-shadow:0 12px 35px #0003!important;opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.96)!important;transition:.22s ease!important;pointer-events:none!important;font-family:Arial,sans-serif}
.mcb16-desktop:hover .mcb16-panel,.mcb16-desktop.open .mcb16-panel{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
.mcb16-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 10px;color:#17324d}.mcb16-close{border:0!important;background:#eef4fa!important;border-radius:50%!important;width:28px!important;height:28px!important;font-size:20px!important;cursor:pointer!important}
.mcb16-row{display:flex!important;align-items:center!important;gap:11px!important;padding:10px!important;margin:4px 0!important;border-radius:12px!important;background:#f7faff!important;color:#17324d!important}.mcb16-row i{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:700}.mcb16-row .phone{background:#12a85a}.mcb16-row .zalo{background:#0873fd}.mcb16-row .maps{background:#f59e0b}.mcb16-row .mail{background:#7c4dff}.mcb16-row span{display:block}.mcb16-row small{display:block;color:#718096;margin-top:2px}
.mcb16-mobile{display:none!important}
@media(max-width:991px){.mcb16-desktop{display:none!important}.mcb16-mobile{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:78px!important;z-index:2147483000!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;align-items:end!important;background:#fff!important;border-top:1px solid #ddd!important;box-shadow:0 -5px 20px #0002!important;font-family:Arial,sans-serif!important}.mcb16-mi{height:78px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;padding:7px 2px!important;color:#333!important;font-size:12px!important}.mcb16-mi em{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:700;margin-bottom:3px}.mcb16-mi .menu{background:#1010df;flex-direction:column;gap:4px}.mcb16-mi .menu i{width:24px;height:3px;background:#fff;border-radius:3px}.mcb16-mi .contact{background:#f7941d;font-size:22px}.mcb16-mi .maps,.mcb16-mi .zalo{background:#0873fd}.mcb16-mi .zalo{font-size:11px}.mcb16-mi.call{overflow:visible}.mcb16-mi.call em{width:56px;height:56px;background:#0873fd;border:3px solid #fff;box-shadow:0 3px 12px #0004;font-size:28px;margin-bottom:-2px;z-index:2}.mcb16-mi.call strong{background:#0873fd;color:#fff;border-radius:10px!important;padding:4px 12px!important;min-width:88px;text-align:center;z-index:1}}
@media(min-width:992px){.mcb16-mobile{display:none!important}}


/* =========================================================
   v1.6.1 MOBILE COLOR + CALL CIRCLE FIX
   - 5 icon cùng màu xanh #0873fd
   - Nút Gọi ngay ép đúng hình tròn, không bị oval
========================================================= */
@media (max-width: 991px) {

  /* Tất cả icon mobile cùng một màu */
  #mcb16-root .mcb16-mobile .mcb16-mi > em,
  #mcb16-root .mcb16-mobile .mcb16-mi .menu,
  #mcb16-root .mcb16-mobile .mcb16-mi .contact,
  #mcb16-root .mcb16-mobile .mcb16-mi .maps,
  #mcb16-root .mcb16-mobile .mcb16-mi .zalo {
    background: #0873fd !important;
    background-color: #0873fd !important;
    color: #fff !important;
  }

  /* MENU cũng cùng màu */
  #mcb16-root .mcb16-mobile .mcb16-menu-icon,
  #mcb16-root .mcb16-mobile .menu {
    background: #0873fd !important;
  }

  /* Nút Gọi ngay: ép tuyệt đối thành hình tròn */
  #mcb16-root .mcb16-mobile .mcb16-mi.call > em {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
    flex: 0 0 54px !important;

    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;

    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: -2px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #0873fd !important;
    background-color: #0873fd !important;
    border: 3px solid #fff !important;

    line-height: 1 !important;
    overflow: hidden !important;
    transform: none !important;
  }

  /* Không cho theme kéo icon gọi điện thành oval */
  #mcb16-root .mcb16-mobile .mcb16-mi.call {
    min-width: 0 !important;
    overflow: visible !important;
  }

  /* Nhãn Gọi ngay đồng màu */
  #mcb16-root .mcb16-mobile .mcb16-mi.call > strong {
    background: #0873fd !important;
    background-color: #0873fd !important;
    color: #fff !important;
    border-radius: 10px !important;
  }
}


/* =========================================================
   v1.6.2 - NÚT LIÊN HỆ DESKTOP NỔI BẬT HƠN
   - Hạ icon điện thoại xuống cho cân đối
   - Pulse 2 vòng + nhịp nổi nhẹ
   - Hover sáng và phóng nhẹ
========================================================= */
@media (min-width: 992px) {

  #mcb16-root .mcb16-desktop .mcb16-launch {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;

    width: 72px !important;
    height: 72px !important;

    background: #0873fd !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;

    box-shadow:
      0 8px 24px rgba(8,115,253,.30),
      0 3px 10px rgba(0,0,0,.18) !important;

    animation: mcb16-contact-float 2.4s ease-in-out infinite !important;
    transition:
      transform .22s ease,
      box-shadow .22s ease,
      filter .22s ease !important;
  }

  /* Icon điện thoại: kéo xuống */
  #mcb16-root .mcb16-desktop .mcb16-launch > span {
    z-index: 3 !important;

    display: block !important;
    font-size: 29px !important;
    line-height: 1 !important;

    transform: translateY(5px) !important;
    margin: 0 !important;

    color: #fff !important;
  }

  /* Chữ LIÊN HỆ */
  #mcb16-root .mcb16-desktop .mcb16-launch > b {
    position: relative !important;
    z-index: 3 !important;

    display: block !important;
    margin-top: 8px !important;

    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    color: #fff !important;
  }

  /* Vòng pulse thứ 1 */
  #mcb16-root .mcb16-desktop .mcb16-launch::before {
    content: "" !important;
    position: absolute !important;
    inset: -5px !important;
    z-index: -1 !important;

    border: 2px solid rgba(8,115,253,.58) !important;
    border-radius: 50% !important;

    opacity: 0;
    pointer-events: none !important;

    animation: mcb16-contact-ring 1.8s ease-out infinite !important;
  }

  /* Vòng pulse thứ 2 */
  #mcb16-root .mcb16-desktop .mcb16-launch::after {
    content: "" !important;
    position: absolute !important;
    inset: -5px !important;
    z-index: -2 !important;

    border: 2px solid rgba(8,115,253,.34) !important;
    border-radius: 50% !important;

    opacity: 0;
    pointer-events: none !important;

    animation: mcb16-contact-ring 1.8s .65s ease-out infinite !important;
  }

  #mcb16-root .mcb16-desktop .mcb16-launch:hover {
    transform: translateY(-2px) scale(1.07) !important;

    box-shadow:
      0 12px 30px rgba(8,115,253,.42),
      0 4px 12px rgba(0,0,0,.20) !important;

    filter: brightness(1.06) !important;
  }

  #mcb16-root .mcb16-desktop .mcb16-launch:active {
    transform: scale(.96) !important;
  }

  @keyframes mcb16-contact-ring {
    0% {
      transform: scale(.88);
      opacity: .75;
    }
    70% {
      transform: scale(1.42);
      opacity: 0;
    }
    100% {
      transform: scale(1.42);
      opacity: 0;
    }
  }

  @keyframes mcb16-contact-float {
    0%, 100% {
      translate: 0 0;
    }
    50% {
      translate: 0 -3px;
    }
  }

  /* Tôn trọng cài đặt giảm chuyển động của hệ điều hành */
  @media (prefers-reduced-motion: reduce) {
    #mcb16-root .mcb16-desktop .mcb16-launch,
    #mcb16-root .mcb16-desktop .mcb16-launch::before,
    #mcb16-root .mcb16-desktop .mcb16-launch::after {
      animation: none !important;
    }
  }
}


/* =========================================================
   v1.6.3 - PULSE / RIPPLE NÚT LIÊN HỆ DESKTOP
   Hiệu ứng lan vòng rõ hơn quanh nút LIÊN HỆ
========================================================= */
@media (min-width: 992px) {

  #mcb16-root .mcb16-desktop .mcb16-launch {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
    z-index: 3 !important;

    box-shadow:
      0 7px 22px rgba(8,115,253,.34),
      0 2px 8px rgba(0,0,0,.16) !important;

    animation:
      mcb16-btn-breathe 2.2s ease-in-out infinite !important;
  }

  /* Ripple vòng trong */
  #mcb16-root .mcb16-desktop .mcb16-launch::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;

    left: 50% !important;
    top: 50% !important;

    width: 100% !important;
    height: 100% !important;

    border-radius: 50% !important;
    border: 2px solid rgba(8,115,253,.62) !important;
    background: rgba(8,115,253,.10) !important;

    transform: translate(-50%, -50%) scale(.95) !important;
    opacity: 0 !important;

    pointer-events: none !important;

    animation:
      mcb16-ripple-contact 2s ease-out infinite !important;
  }

  /* Ripple vòng ngoài - chạy trễ để tạo 2 lớp sóng */
  #mcb16-root .mcb16-desktop .mcb16-launch::after {
    content: "" !important;
    position: absolute !important;
    z-index: -2 !important;

    left: 50% !important;
    top: 50% !important;

    width: 100% !important;
    height: 100% !important;

    border-radius: 50% !important;
    border: 2px solid rgba(8,115,253,.42) !important;
    background: rgba(8,115,253,.06) !important;

    transform: translate(-50%, -50%) scale(.95) !important;
    opacity: 0 !important;

    pointer-events: none !important;

    animation:
      mcb16-ripple-contact 2s .72s ease-out infinite !important;
  }

  /* Hover làm nút nổi bật hơn nhưng vẫn giữ ripple */
  #mcb16-root .mcb16-desktop .mcb16-launch:hover {
    transform: translateY(-2px) scale(1.06) !important;

    box-shadow:
      0 12px 30px rgba(8,115,253,.46),
      0 4px 12px rgba(0,0,0,.20) !important;

    filter: brightness(1.06) !important;
  }

  /* Sóng lan từ sát nút ra ngoài */
  @keyframes mcb16-ripple-contact {
    0% {
      transform: translate(-50%, -50%) scale(.94);
      opacity: .78;
    }

    45% {
      opacity: .30;
    }

    75% {
      transform: translate(-50%, -50%) scale(1.50);
      opacity: 0;
    }

    100% {
      transform: translate(-50%, -50%) scale(1.50);
      opacity: 0;
    }
  }

  /* Nút nhấp nhô rất nhẹ, không gây rối mắt */
  @keyframes mcb16-btn-breathe {
    0%, 100% {
      box-shadow:
        0 7px 22px rgba(8,115,253,.30),
        0 2px 8px rgba(0,0,0,.16);
    }

    50% {
      box-shadow:
        0 10px 28px rgba(8,115,253,.46),
        0 3px 10px rgba(0,0,0,.18);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #mcb16-root .mcb16-desktop .mcb16-launch,
    #mcb16-root .mcb16-desktop .mcb16-launch::before,
    #mcb16-root .mcb16-desktop .mcb16-launch::after {
      animation: none !important;
    }
  }
}


/* =========================================================
   v1.6.4 - RIPPLE BẰNG ELEMENT THẬT
   Không dùng ::before/::after nên ít bị Flatsome/theme chặn.
========================================================= */
@media (min-width: 992px) {

  #mcb16-root .mcb16-launch {
    position: relative !important;
    overflow: visible !important;
    isolation: auto !important;
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    border-radius: 50% !important;
    background: #0873fd !important;
    border: 3px solid #fff !important;
    box-shadow:
      0 8px 24px rgba(8,115,253,.36),
      0 3px 10px rgba(0,0,0,.18) !important;
    animation: mcb16-real-breathe 1.9s ease-in-out infinite !important;
  }

  /* Tắt pseudo ripple các bản trước để không xung đột */
  #mcb16-root .mcb16-launch::before,
  #mcb16-root .mcb16-launch::after {
    content: none !important;
    display: none !important;
    animation: none !important;
  }

  /* Hai vòng ripple là element thật trong HTML */
  #mcb16-root .mcb16-launch .mcb16-ripple {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 0 !important;

    width: 72px !important;
    height: 72px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;
    border: 3px solid rgba(8,115,253,.58) !important;
    background: rgba(8,115,253,.12) !important;

    transform: translate(-50%, -50%) scale(.92) !important;
    opacity: 0;

    pointer-events: none !important;
    font-size: 0 !important;
    line-height: 0 !important;

    animation: mcb16-real-ripple 1.8s ease-out infinite !important;
  }

  #mcb16-root .mcb16-launch .mcb16-ripple-2 {
    animation-delay: .72s !important;
  }

  /* Nội dung thật luôn nằm phía trên sóng */
  #mcb16-root .mcb16-launch .mcb16-contact-phone {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;
    font-size: 29px !important;
    line-height: 1 !important;

    transform: translateY(5px) !important;
  }

  #mcb16-root .mcb16-launch .mcb16-contact-label {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;

    margin: 8px 0 0 !important;
    padding: 0 !important;

    color: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  #mcb16-root .mcb16-launch:hover {
    transform: translateY(-2px) scale(1.07) !important;
    filter: brightness(1.06) !important;
    box-shadow:
      0 13px 31px rgba(8,115,253,.50),
      0 4px 12px rgba(0,0,0,.20) !important;
  }

  @keyframes mcb16-real-ripple {
    0% {
      transform: translate(-50%, -50%) scale(.88);
      opacity: .88;
    }
    55% {
      opacity: .30;
    }
    82% {
      transform: translate(-50%, -50%) scale(1.55);
      opacity: 0;
    }
    100% {
      transform: translate(-50%, -50%) scale(1.55);
      opacity: 0;
    }
  }

  @keyframes mcb16-real-breathe {
    0%, 100% {
      box-shadow:
        0 8px 24px rgba(8,115,253,.30),
        0 3px 10px rgba(0,0,0,.16);
    }
    50% {
      box-shadow:
        0 11px 30px rgba(8,115,253,.52),
        0 4px 12px rgba(0,0,0,.20);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #mcb16-root .mcb16-launch,
    #mcb16-root .mcb16-launch .mcb16-ripple {
      animation: none !important;
    }
  }
}


/* v1.6.5 - JS ripple support */
@media (min-width: 992px) {
  #mcb16-root .mcb16-launch {
    overflow: visible !important;
    z-index: 2147483000 !important;
  }

  /*
   Tắt ripple CSS cũ. Sóng v1.6.5 được tạo bằng JS trực tiếp vào body,
   nên không bị overflow/transform của Flatsome cắt mất.
  */
  #mcb16-root .mcb16-launch::before,
  #mcb16-root .mcb16-launch::after,
  #mcb16-root .mcb16-launch .mcb16-ripple {
    animation: none !important;
    opacity: 0 !important;
    display: none !important;
  }

  .mcb16-js-ripple {
    will-change: transform, opacity;
  }
}


/* =========================================================
   v1.6.6 - CĂN LẠI NỘI DUNG NÚT LIÊN HỆ DESKTOP
   Giữ nguyên ripple JS của v1.6.5
========================================================= */
@media (min-width: 992px) {

  #mcb16-root .mcb16-desktop .mcb16-launch {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* Kéo icon điện thoại lên lại cho cân giữa vòng tròn */
  #mcb16-root .mcb16-desktop .mcb16-launch .mcb16-contact-phone {
    transform: translateY(0) !important;
    margin: -2px 0 0 !important;
    line-height: 1 !important;
  }

  /* Kéo chữ LIÊN HỆ lên sát icon hơn */
  #mcb16-root .mcb16-desktop .mcb16-launch .mcb16-contact-label {
    margin: 5px 0 0 !important;
    line-height: 1 !important;
  }
}
