/* Floating Contact Basic Styles (frontend) */
.floating-contact {
  position: fixed;
  bottom: 150px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 9999;
}
.floating-contact.left { left: 20px; right: auto; }
.floating-contact.right { right: 20px; left: auto; }

.float-icon {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: white;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
  text-decoration: none;
}
.float-icon img {
  width: 50px;
  height: auto;
  margin: 0 auto;
  z-index: 1;
}
.icon-wave {
  position: absolute;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: rgba(0, 123, 255, 0.3);
  animation: pulse 1.5s infinite;
  z-index: 0;
}
.float-icon.hotline .icon-wave { background-color: rgba(255, 191, 0, 0.35); }
.float-icon.zalo .icon-wave { background-color: rgba(0, 115, 255, 0.3); }
.float-icon.messenger .icon-wave { background-color: rgba(0, 132, 255, 0.3); }
.float-icon.tiktok .icon-wave { background-color: rgba(0, 0, 0, 0.25); }
@keyframes pulse { 0% { transform: scale(1); opacity: 0.7; } 50% { transform: scale(1.5); opacity: 0.3; } 100% { transform: scale(1); opacity: 0.7; } }

/* Admin page */
.fcb-preview img { width: 50px !important; height: auto !important; max-width: 50px !important; border-radius: 6px; border: 1px solid #ddd; margin: 8px 0; }
.fcb-icon-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 10px; margin: 8px 0 16px; max-width: 640px; }
.fcb-icon-option { display: flex; align-items: center; justify-content: center; border: 1px solid #ddd; padding: 6px 8px; border-radius: 6px; background: #fff; transition: box-shadow .15s ease; }
.fcb-icon-option:hover { box-shadow: 0 0 4px #0073aa; }
.fcb-icon-option img { width: 50px !important; height: auto !important; max-width: 50px !important; display: block; }
.fcb-free-table .fcb-free-row td { vertical-align: top; }
.fcb-free-table input[type='text'] { width: 100%; max-width: 360px; }
