.pv-contact-box{
    position:fixed;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    z-index:99999;
}
.pv-contact-toggle{
    color:#fff;
    padding:12px 10px;
    border-radius:20px;
    writing-mode:vertical-rl;
    cursor:pointer;
    font-weight:600;
    font-size:14px;
    box-shadow:0 4px 8px rgba(0,0,0,0.2);
    text-decoration:none;
    display:flex;
    justify-content:center;
    align-items:center;
}

.pv-item{
    width:46px;
    height:46px;
    border-radius:50%;
    position: relative;
    overflow: visible;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    transition:.25s;
}

/* Hiệu ứng “tỏa sóng” (PC) cho các nút tròn */
.pv-item::before,
.pv-item::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:100%;
    height:100%;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.55);
    transform: translate(-50%,-50%) scale(1);
    opacity:.85;
    pointer-events:none;
    animation: pv-wave 1.6s infinite;
}
.pv-item::before{ animation-delay: .8s; }

@keyframes pv-wave{
    0%{ transform: translate(-50%,-50%) scale(1); opacity:.85; }
    70%{ transform: translate(-50%,-50%) scale(1.85); opacity:0; }
    100%{ transform: translate(-50%,-50%) scale(1.85); opacity:0; }
}

/* Tắt animation nếu user giảm chuyển động */
@media (prefers-reduced-motion: reduce){
  .pv-item::before,
  .pv-item::after{ display:none !important; animation:none !important; }
}
.pv-item img{
    width:28px;
    height:28px;
}

.pv-top{
    opacity:0;
    visibility:hidden;
    transition:.3s;
}
.pv-top.show{
    opacity:1;
    visibility:visible;
    transform:scale(1.05);
}

/* Nút toggle trên mobile */
.pv-mobile-toggle{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#0079d3;
    position:fixed;
    bottom:20px;
    right:20px;
    z-index:99998;
    cursor:pointer;
    display:none;
}
.pv-mobile-toggle::after{
    content:"≡";
    color:#fff;
    font-size:28px;
    font-weight:bold;
    position:absolute;
    top:6px;
    left:13px;
    line-height:1;
}

.pv-contact-box.pv-hidden{
    display:none !important;
}

@media (max-width: 480px){
    .pv-mobile-toggle{display:block;}
    .pv-contact-box{
        transform:scale(.78);
        transform-origin:right bottom;
    }
}

/* PC only: ẩn nút nổi trên mobile/tablet */
@media (max-width: 850px){
  .pv-contact-box,
  .pv-mobile-toggle{
    display:none !important;
  }
}


/* ===== PhongVT Mobile Contact Footer ===== */
#phongvt-contact-footer-outer {position: fixed;width: 100%;z-index: 999999 !important;bottom: 0;display: none;}
#phongvt-contact-footer:after {content: "";position: absolute;pointer-events: none;background-image: url(https://themewpgiare.com/wp-content/uploads/2025/01/mb-footer-bg.svg);background-color: unset;background-position: center top;background-repeat: no-repeat;background-size: 100%;box-shadow: unset;height: 65px;width: 100%;margin-left: 0;margin-bottom: 0;left: 0;bottom: 0;z-index: -1;}
#phongvt-contact-footer {border-bottom: 15px solid #fff;display: flex;max-width: 1200px;margin: auto;position: relative;padding-top: 5px;}
#phongvt-contact-footer > a {position: relative;display: block;flex: 1 1 0;text-align: center;padding: 11px 0 0px 0;color: #313131;text-decoration:none;}
#phongvt-contact-footer > span {display: block;width: 30px;}
#phongvt-contact-footer span {display: block;}
.phongvt-contact-footer-btn-label {padding: 0px 2px 0 2px;font-size: 11px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;font-weight: bold;line-height: 1.2;}
#phongvt-contact-footer > a img {height: 30px;width:30px}
#phongvt-contact-footer-btn-center {position: relative;background: transparent !important;}
#phongvt-contact-footer-btn-center .phongvt-contact-footer-btn-label {position: absolute;left: 50%;bottom: 2px;transform: translateX(-50%);}
#phongvt-contact-footer-btn-center .phongvt-contact-footer-btn-label > span {padding: 0px 8px;background-image: linear-gradient(92.83deg, #0E68C8 0, #02A4A5 100%);border-radius: 30px;color: white;display: inline-block;}
.phongvt-contact-footer-btn-center-icon {left: 50%;position: absolute;transform: translateX(-50%);background-image: linear-gradient(92.83deg, #f90000 0, #950099 100%);width: 50px;height: 50px;border-radius: 50%;top: -28px;text-align: center;box-shadow: rgb(0 0 0 / 15%) 0 -3px 10px 0px;border: 2px solid #fff;}
.phongvt-contact-footer-btn-center-icon img{max-width: 20px;height: auto !important;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.phone-vr-circle-fill {width: 50px;height: 50px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);border-radius: 50%;box-shadow: 0 0 0 0 #0E68C8;border: 2px solid transparent;transition: all .5s;animation: zoom 1.3s infinite;}
@keyframes zoom {0% {}70% {box-shadow: 0 0 0 15px transparent}100% {box-shadow: 0 0 0 0 transparent}}
@media only screen and (max-width: 850px) { #phongvt-contact-footer-outer {display:block;} }

/* ===== MoMo QR Popup (Cafe) ===== */
#pv-momo-modal{
  position: fixed;
  inset: 0;
  z-index: 9999999;
  display: none;
  align-items: center;
  justify-content: center;
}
#pv-momo-modal.pv-open{display:flex;}
#pv-momo-modal .pv-momo-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}
#pv-momo-modal .pv-momo-box{
  position: relative;
  max-width: 92vw;
  max-height: 92vh;
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
#pv-momo-modal .pv-momo-title{
  font-weight: 700;
  font-size: 15px;
  margin: 0 0 10px;
  text-align: center;
}
#pv-momo-modal img{
  display: block;
  max-width: 86vw;
  max-height: 70vh;
  width: auto;
  height: auto;
  margin: 0 auto;
}
#pv-momo-modal .pv-momo-close{
  position: absolute;
  top: 8px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  font-size: 22px;
  line-height: 34px;
  background: #f3f3f3;
}

