/* Floating pill button with shaking icon + label */
#crm-callme-btn {
  position: fixed; right: 18px; bottom: 18px; z-index: 9999;
  display: inline-flex; align-items: center; gap: 10px;
  height: 62px; padding: 0 16px; border-radius: 9999px;
  background: #10b981; color: #fff; font-weight: 700; line-height: 1;
  box-shadow: 0 8px 22px rgba(16,185,129,0.45); cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  border: 0; user-select: none;
}
#crm-callme-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(16,185,129,0.55); }
#crm-callme-btn:active { transform: translateY(0); }
#crm-callme-btn:focus { outline: none; box-shadow: 0 0 0 3px rgba(16,185,129,.25), 0 12px 26px rgba(16,185,129,0.55); }

#crm-callme-btn svg {
  width: 30px; height: 30px;
  animation: crm-shake 1.2s ease-in-out infinite;
  transform-origin: 50% 50%;
  flex: 0 0 auto;
}

#crm-callme-btn .label {
  font-size: 14px; white-space: nowrap;
  flex: 0 1 auto;
  text-transform: uppercase;
}

/* Hide label on very small viewports to keep FAB compact */
@media (max-width: 420px) {
  #crm-callme-btn .label { display: none; }
  #crm-callme-btn { padding: 0 12px; }
}

@keyframes crm-shake {
  0%,100% { transform: rotate(0deg); }
  10% { transform: rotate(15deg); }
  20% { transform: rotate(-12deg); }
  30% { transform: rotate(9deg); }
  40% { transform: rotate(-6deg); }
  50% { transform: rotate(3deg); }
  60% { transform: rotate(-2deg); }
  70% { transform: rotate(1deg); }
  80% { transform: rotate(-1deg); }
  90% { transform: rotate(.5deg); }
}

/* Modal + overlay (bez zmian funkcjonalnych) */
#crm-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 9998; display:none; }
#crm-modal {
  position: fixed; right: 18px; bottom: 92px; z-index: 9999; width: 360px; max-width: calc(100% - 36px);
  background: #fff; border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.22); display:none; overflow:hidden;
}
#crm-modal-header { padding: 14px 16px; background:#10b981; color:#fff; font-weight:700; display:flex; justify-content:space-between; align-items:center; }
#crm-modal-close { background: transparent; border:0; color:#fff; font-size:20px; cursor:pointer; }
#crm-modal-body { padding: 16px; }
#crm-modal-body p { margin: 0 0 10px; }
#crm-modal-body input[type="tel"]{ width:100%; padding:12px 14px; border:1px solid #e5e7eb; border-radius:10px; outline:none; }
#crm-modal-body input[type="tel"]:focus{ border-color:#10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.15); }
#crm-modal-body button[type="submit"]{ width:100%; margin-top:12px; padding:12px 14px; background:#10b981; border:0; color:#fff; border-radius:10px; font-weight:700; cursor:pointer; }
#crm-modal-body .crm-hint { font-size:12px; color:#6b7280; }
#crm-modal-success { display:none; padding: 16px; }
#crm-modal-error { display:none; color:#ef4444; font-size:14px; margin-top:8px; }
