/* ─────────────────────────────────────────────
   Smart Contact Widget
   ───────────────────────────────────────────── */

/* ── Positioning ── */
.scw-widget {
  position: fixed;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.scw-bottom-right {
  bottom: 24px;
  right:  24px;
}

.scw-bottom-left {
  bottom: 24px;
  left:   24px;
  align-items: flex-start;
}

/* ── Toggle Button ── */
#scw-toggle {
  display:       flex;
  align-items:   center;
  gap:           8px;
  background:    #128C7E;   /* WhatsApp green — swap to your brand colour */
  color:         #ffffff;
  border:        none;
  border-radius: 50px;
  padding:       13px 20px;
  font-size:     15px;
  font-weight:   600;
  cursor:        pointer;
  box-shadow:    0 4px 16px rgba(0,0,0,0.25);
  transition:    transform 0.2s ease, box-shadow 0.2s ease;
  white-space:   nowrap;
}

#scw-toggle:hover,
#scw-toggle:focus-visible {
  transform:  translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.30);
  outline:    none;
}

#scw-toggle:active {
  transform: translateY(0);
}

.scw-icon   { font-size: 20px; line-height: 1; }
.scw-btn-label { letter-spacing: 0.01em; }

/* ── Panel ── */
#scw-panel {
  background:    #ffffff;
  border-radius: 16px;
  box-shadow:    0 8px 32px rgba(0,0,0,0.18);
  width:         300px;
  overflow:      hidden;
  animation:     scwSlideIn 0.22s ease;
}

@keyframes scwSlideIn {
  from { opacity: 0; transform: translateY(12px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}

/* ── Panel Header ── */
.scw-panel-header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         14px 16px;
  background:      #128C7E;
  color:           #ffffff;
  font-size:       14px;
  font-weight:     600;
  letter-spacing:  0.02em;
}

.scw-close {
  background:    transparent;
  border:        none;
  color:         #ffffff;
  font-size:     18px;
  cursor:        pointer;
  line-height:   1;
  padding:       0 0 0 8px;
  opacity:       0.8;
  transition:    opacity 0.15s;
}

.scw-close:hover { opacity: 1; }

/* ── Options List ── */
.scw-options {
  display:        flex;
  flex-direction: column;
  padding:        8px;
  gap:            4px;
}

.scw-loading,
.scw-empty {
  text-align:  center;
  color:       #888;
  font-size:   13px;
  padding:     16px 8px;
  margin:      0;
}

/* ── Individual App Button ── */
.scw-option {
  display:        flex;
  align-items:    center;
  gap:            12px;
  width:          100%;
  padding:        11px 14px;
  background:     transparent;
  border:         2px solid transparent;
  border-radius:  10px;
  cursor:         pointer;
  text-align:     left;
  transition:     background 0.15s, border-color 0.15s;
  color:          #1a1a1a;
  font-size:      14px;
  font-weight:    500;
}

.scw-option:hover,
.scw-option:focus-visible {
  background:    color-mix(in srgb, var(--app-color) 10%, transparent);
  border-color:  color-mix(in srgb, var(--app-color) 40%, transparent);
  outline:       none;
}

.scw-option-icon  { font-size: 22px; flex-shrink: 0; }
.scw-option-name  { flex: 1; }
.scw-option-arrow {
  color:     #ccc;
  font-size: 14px;
  transition: color 0.15s, transform 0.15s;
}

.scw-option:hover .scw-option-arrow,
.scw-option:focus-visible .scw-option-arrow {
  color:     var(--app-color);
  transform: translateX(3px);
}

/* ── Forminator Form Panel ── */
.scw-form-panel {
  padding: 12px 16px 16px;
}

.scw-back {
  background:    transparent;
  border:        none;
  color:         #128C7E;
  font-size:     13px;
  font-weight:   600;
  cursor:        pointer;
  padding:       0 0 10px 0;
  display:       block;
  transition:    opacity 0.15s;
}

.scw-back:hover { opacity: 0.75; }

/* ── Mobile tweaks ── */
@media (max-width: 480px) {
  .scw-bottom-right {
    bottom: 16px;
    right:  16px;
  }
  .scw-bottom-left {
    bottom: 16px;
    left:   16px;
  }

  .scw-bottom-right { align-items: flex-end; }
  .scw-bottom-left  { align-items: flex-start; }

  .scw-rolling-ball {
    width: 70px;
    height: 70px;
    transform-origin: center bottom;
    animation: scw-ball-pulse 3.5s ease-in-out infinite;
    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.2));
}

  .scw-status-dot {
    bottom: 10px;
    right:  8px;
    width:  11px;
    height: 11px;
  }

  #scw-panel {
    width: calc(100vw - 32px);
  }

  .scw-btn-label {
    display: none;
  }

  #scw-toggle {
    border-radius: 50%;
    padding:       14px;
  }
}

/* ── Respect reduced-motion preference ── */
@media (prefers-reduced-motion: reduce) {
  #scw-panel         { animation: none; }
  .scw-option-arrow  { transition: none; }
  #scw-toggle        { transition: none; }
}
/* ── Panel scrolls when form is shown ── */
#scw-panel {
  max-height: 85vh;
  overflow-y: auto;
}
.scw-form-panel {
  min-height: 200px;
}
.scw-hidden {
  display: none !important;
}

/* ── Force-hide any residual Forminator render inside widget ── */
#scw-widget .scw-hidden,
#scw-widget [hidden] {
  display: none !important;
  visibility: hidden !important;
}

/* ── App icon circles inside option buttons ── */
.scw-option-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.scw-app-circle {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  flex-shrink: 0;
}

/* ── Mini badge strip in the toggle button ── */
.scw-toggle-badges {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-right: 4px;
}
.scw-toggle-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.25);
  flex-shrink: 0;
}

/* Strip the green background and padding */
#scw-toggle {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease;
}
#scw-toggle:hover { transform: scale(1.08); }

/* Intermittent pulse — shadow stays grounded */
.scw-rolling-ball {
    width: 70px;
    height: 70px;
    transform-origin: center bottom;
    animation: scw-ball-pulse 3.5s ease-in-out infinite;
    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.2));
}
@keyframes scw-ball-pulse {
    0%   { transform: scale(1);    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.20)); }
    8%   { transform: scale(1.12); filter: drop-shadow(0px 8px 14px rgba(0,0,0,0.30)); }
    16%  { transform: scale(1);    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.20)); }
    100% { transform: scale(1);    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.20)); }
}
@media (prefers-reduced-motion: reduce) {
    .scw-rolling-ball {
    width: 70px;
    height: 70px;
    transform-origin: center bottom;
    animation: scw-ball-pulse 3.5s ease-in-out infinite;
    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.2));
}
}

/* Hide the plugin's automatic mini-channel dots */
.scw-toggle-badges, 
.scw-toggle-dot {
    display: none !important;
}

/* ── Authentic Brand Icon Overrides ── */

/* Hide the generic text emojis and prepare the canvas */
.scw-app-circle {
    font-size: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* 1. Official White WhatsApp Vector Logo */
.scw-app-circle[style*="#25D366"] {
    background-color: #25D366 !important;
    background-size: 22px 22px !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTM4MC45IDk3LjFDMzM5IDU1LjEgMjgzLjIgMzIgMjIzLjkgMzJjLTEyMi40IDAtMjIyIDk5LjYtMjIyIDIyMiAwIDM5LjEgMTAuMiA3Ny4zIDI5LjYgMTExTDAgNDgwbDExNy43LTMwLjljMzIuNCAxNy43IDY4LjkgMjcgMTA2LjEgMjdoLjFjMTIyLjMgMCAyMjQuMS05OS42IDIyNC4xLTIyMiAwLTU5LjMtMjUuMi0xMTUtNjcuMS0xNTd6bS0xNTcgMzQxLjZjLTMzLjIgMC02NS43LTguOS05NC0yNS43bC02LjctNC02OS44IDE4LjNMNzIgMzU5LjJsLTQuNC03Yy0xOC41LTI5LjQtMjguMi02My4zLTI4LjItOTguMiAwLTEwMS43IDgyLjgtMTg0LjUgMTg0LjYtMTg0LjUgNDkuMyAwIDk1LjYgMTkuMiAxMzAuNCA1NC4xIDM0LjggMzQuOSA1Ni4yIDgxLjIgNTYuMSAxMzAuNSAwIDEwMS44LTg0LjkgMTg0LjYtMTg2LjYgMTg0LjZ6bTEwMS4yLTEzOC4yYy01LjUtMi44LTMyLjgtMTYuMi0zNy45LTE4LTUuMS0xLjktOC44LTIuOC0xMi41IDIuOC0zLjcgNS42LTE0LjMgMTgtMTcuNiAyMS44LTMuMiAzLjctNi41IDQuMi0xMiAxLjQtMzIuNi0xNi4zLTU0LTI5LjEtNzUuNS02Ni01LjctOS44IDUuNy05LjEgMTYuMy0xMC4zIDEuOC0zLjcuOS02LjktLjUtOS43LTEuNC0yLjgtMTIuNS0zMC4xLTE3LjEtNDEuMi00LjUtMTAuOC05LjEtOS4zLTEyLjUtOS41LTMuMi0uMi02LjktLjItMTAuNi0uMi0zLjcgMC05LjcgMS40LTE0LjggNi45LTUuMSA1LjYtMTkuNCAxOS0xOS40IDQ2LjMgMCAyNy4zIDE5LjkgNTMuNyAyMi42IDU3LjQgMi44IDMuNyAzOS4xIDU5LjcgOTQuOCA4My44IDM1LjIgMTUuMiA0OSAxNi41IDY2LjYgMTMuOSAxMC43LTEuNiAzMi44LTEzLjQgMzcuNC0yNi40IDQuNi0xMyA0LjYtMjQuMSAzLjItMjYuNC0xLjMtMi41LTUtMy45LTEwLjUtNi42eiIvPjwvc3ZnPg==") !important;
}

/* 2. Official Authentic Apple Messages / iMessage Bubble */
.scw-app-circle[style*="#34AADC"] {
    background-color: #2f97de !important; /* Slightly richer, authentic iMessage iOS blue */
    background-size: 20px 20px !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTI1NiA0MEMxMzIgNDAgMzIgMTI3LjggMzIgMjM2YzAgMzcuNiAxMiA3Mi40IDMyLjYgMTAxLjJMNDAgNDY4bDEzNi42LTIzLjZDMjA2LjQgNDU0LjQgMjMwLjggNDY0IDI1NiA0NjRjMTI0IDAgMjI0LTg3LjggMjI0LTE5NlMzODAgNDAgMjU2IDQweiIvPjwvc3ZnPg==") !important;
}

/* 3. Official Apple FaceTime Video/Audio Camera Asset */
.scw-app-circle[style*="#34C759"] {
    background-color: #34C759 !important;
    background-size: 20px 20px !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTQ5NiAzODRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOC0zMnYtOTZsMTI4LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMydjEzNnpNMzIgOTZoMjg4YzE3LjcgMCAzMiAxNC4zIDMyIDMydjI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMkgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMycnoiLz48L3N2Zz4=") !important;
}

/* 4. Official White Mail Envelope Vector Logo */
.scw-app-circle[style*="#555555"] {
    background-color: #555555 !important;
    background-size: 18px 14px !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTQ4IDY0QzIxLjUgNjQgMCA4NS41IDAgMTEydjI4OGMwIDI2LjUgMjEuNSA0OCA0OCA0OGg0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTEyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4SDQ4em00MTYgNTZsLTIwOCAxMzBMMjQgMTIwdjZ6bTAgNjR2MTg0SDI0VjE4NGwyMDggMTI4IDIwOC0xMjh6Ii8+PC9zdmc+") !important;
}

/* ── Online / Offline status dot ── */
.scw-status-dot {
    position:      absolute;
    bottom:        2px;
    right:         2px;
    width:         13px;
    height:        13px;
    border-radius: 50%;
    border:        2px solid #fff;
    pointer-events: none;
}
.scw-status-dot.scw-online  { background: #22c55e; }
.scw-status-dot.scw-offline { background: #94a3b8; }

#scw-toggle { position: relative; }

/* ── Notification bubble ── */
.scw-notification {
    position:      fixed;
    bottom:        90px;      /* sits above the toggle button */
    right:         24px;      /* matches .scw-bottom-right */
    z-index:       100000;    /* above the widget itself */
    background:    #001D3D;
    color:         #ffffff;
    border-radius: 14px 14px 14px 4px;
    padding:       12px 36px 12px 16px;
    max-width:     240px;
    font-size:     14px;
    line-height:   1.4;
    font-weight:   500;
    box-shadow:    0 4px 18px rgba(0,0,0,0.25);
    cursor:        pointer;
    animation:     scwSlideIn 0.25s ease;
}
/* Mirror for left-side widget placement */
.scw-bottom-left .scw-notification {
    right: auto;
    left:  24px;
}
.scw-notification p {
    margin: 0;
}
.scw-notif-close {
    position:   absolute;
    top:        8px;
    right:      10px;
    background: transparent;
    border:     none;
    color:      rgba(255,255,255,0.7);
    font-size:  14px;
    cursor:     pointer;
    line-height: 1;
    padding:    0;
}
.scw-notif-close:hover { color: #ffffff; }
