/**
 * Lead Collection Card Component
 * 
 * A simplified version of the registration card for collecting leads.
 * Maintains the same visual style but with simpler functionality.
 */

/* ===================
   1. Variables & Base Styles
   =================== */
.lead-collection-card {
  /* Base variables - matching registration-card */
  --card-bg-color: var(--white);
  --card-border-color: var(--gray-4);
  --card-border-radius: var(--border-radius-md);
  --card-padding: var(--spacing-md);
  
  /* Text colors */
  --card-title-color: var(--text);
  --card-subtitle-color: var(--gray-9);
  
  /* Form colors */
  --card-input-border-color: var(--gray-5);
  --card-input-focus-border-color: var(--gray-8);
  --card-input-text-color: var(--text);
  --card-input-placeholder-color: var(--gray-8);
  
  /* Button colors */
  --card-button-bg-color: var(--black);
  --card-button-text-color: var(--white);
  --card-button-hover-bg-color: var(--text);
  --card-button-disabled-bg-color: var(--gray-5);
  
  /* Status colors */
  --card-success-bg-color: #e3f1e3;
  --card-success-text-color: #155724;
  --card-error-bg-color: #f8d7da;
  --card-error-text-color: #721c24;
  
  /* Base styles */
  font-family: var(--font-primary);
  margin: 0 auto;
  color: var(--text);
}

/* Embedded mode - when used inside sidebar */
.lead-collection-card--embedded {
  border: none;
  box-shadow: none;
  width: 100%;
  max-height: none;
  background-color: transparent;
}

/* Background color variations */
.lead-collection-card[data-background-color="white"] {
  --card-bg-color: var(--white);
}

.lead-collection-card[data-background-color="gray-light"] {
  --card-bg-color: var(--gray-light);
}

/* ===================
   2. Component Structure
   =================== */
.lead-collection-card__content {
  padding: 8px;
}

.lead-collection-card__header {
  margin-bottom: var(--spacing-lg);
  padding-bottom: var(--spacing-md);
  border-bottom: 1px solid var(--gray-3);
}

.lead-collection-card__title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--card-title-color);
  margin: 0 0 var(--spacing-xs) 0;
  max-width: 314px;
}

.lead-collection-card__subtitle {
  font-size: var(--font-size-sm);
  color: var(--card-subtitle-color);
  margin: 0;
}

/* ===================
   3. Form Styles
   =================== */
.lead-collection-card__form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.lead-collection-card__form-group {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

.lead-collection-card__label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--text);
}

.lead-collection-card__input {
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--card-input-border-color);
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-base);
  color: var(--card-input-text-color);
  background-color: var(--white);
  transition: border-color 0.2s ease;
}

.lead-collection-card__input:focus {
  outline: none;
  border-color: var(--card-input-focus-border-color);
}

.lead-collection-card__input::placeholder {
  color: var(--card-input-placeholder-color);
}

/* Phone input group */
.lead-collection-card__phone-group {
  display: flex;
  gap: var(--spacing-xs);
}

.lead-collection-card__country-select {
  width: 120px;
  padding: var(--spacing-sm);
  border: 1px solid var(--card-input-border-color);
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-sm);
  color: var(--card-input-text-color);
  background-color: var(--white);
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.lead-collection-card__country-select:focus {
  outline: none;
  border-color: var(--card-input-focus-border-color);
}

.lead-collection-card__phone-input {
  flex: 1;
}

/* ===================
   4. Submit Button
   =================== */
.lead-collection-card__submit-btn {
  width: 100%;
  padding: var(--spacing-md) var(--spacing-lg);
  background-color: var(--card-button-bg-color);
  color: var(--card-button-text-color);
  border: none;
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: var(--spacing-sm);
}

.lead-collection-card__submit-btn:hover:not(:disabled) {
  background-color: var(--card-button-hover-bg-color);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.lead-collection-card__submit-btn:disabled {
  background-color: var(--card-button-disabled-bg-color);
  cursor: not-allowed;
  opacity: 0.6;
}

.lead-collection-card__submit-btn.loading {
  position: relative;
  color: transparent;
}

.lead-collection-card__submit-btn.loading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border: 2px solid var(--card-button-text-color);
  border-radius: 50%;
  border-top-color: transparent;
  animation: spinner 0.6s linear infinite;
}

@keyframes spinner {
  to { transform: rotate(360deg); }
}

/* ===================
   5. Messages
   =================== */
.lead-collection-card__message {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-md);
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-sm);
  margin-top: var(--spacing-md);
}

.lead-collection-card__message--success {
  background-color: var(--card-success-bg-color);
  color: var(--card-success-text-color);
}

.lead-collection-card__message--error {
  background-color: var(--card-error-bg-color);
  color: var(--card-error-text-color);
}

.lead-collection-card__message-icon {
  flex-shrink: 0;
}

/* ===================
   6. Privacy Notice
   =================== */
.lead-collection-card__privacy {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin-top: var(--spacing-lg);
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--gray-3);
  font-size: var(--font-size-xs);
  color: var(--gray-8);
}

.lead-collection-card__privacy-icon {
  flex-shrink: 0;
}

/* ===================
   7. Responsive Styles
   =================== */
@media (max-width: 768px) {
  .lead-collection-card__content {
    padding: var(--spacing-md);
  }
  
  .lead-collection-card__country-select {
    width: 100px;
  }
}

/* ===================
   8. Dark Mode Support (if needed)
   =================== */
@media (prefers-color-scheme: dark) {
  .lead-collection-card {
    --card-bg-color: var(--gray-12);
    --card-input-bg-color: var(--gray-11);
    --card-input-border-color: var(--gray-10);
  }
}