/**
 * Dashboard Widget Information Badge Styles
 * Provides consistent styling for widget info badges and modal content
 */

/* Info Badge Styles - Pure Remixicon */
.widget-info-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0d6efd;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  user-select: none;
  vertical-align: middle;
  padding: 0;
  border: none;
  background: none;
}

.widget-info-badge:hover {
  color: #0b5ed7;
  transform: scale(1.15);
}

.widget-info-badge i {
  font-size: 1.2rem;
  color: inherit;
}

/* Responsive Badge Adjustments */
@media (max-width: 768px) {
  .widget-info-badge i {
    font-size: 1.1rem;
  }
}

/* Modal Content Styles */
.widget-info-content .lead {
  font-size: 1.1rem;
  color: #495057;
  margin-bottom: 1.5rem;
}

.widget-info-content h6.text-primary {
  font-weight: 600;
  font-size: 1rem;
  border-bottom: 2px solid #e9ecef;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.widget-info-content .card {
  border: 1px solid #e9ecef;
  transition: all 0.2s ease-in-out;
}

.widget-info-content .card:hover {
  border-color: #dee2e6;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.widget-info-content .card-title {
  color: #495057 !important;
  font-weight: 600;
}

.widget-info-content .card-text {
  line-height: 1.5;
  color: #6c757d !important;
}

/* Modal Sizing */
#widgetInfoModal .modal-dialog {
  max-width: 700px;
}

@media (max-width: 768px) {
  #widgetInfoModal .modal-dialog {
    margin: 1rem;
    max-width: none;
  }
}

/* Section Spacing */
.widget-info-content .mb-4:last-child {
  margin-bottom: 1rem !important;
}

/* Info Icon Animation */
@keyframes info-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.widget-info-badge:active {
  animation: info-pulse 0.3s ease-in-out;
}

/* Accessibility Improvements */
.widget-info-badge:focus {
  outline: 2px solid #0d6efd;
  outline-offset: 2px;
}

/* Ensure badges don't break layout */
.card-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* Special handling for long titles */
@media (max-width: 576px) {
  .card-title {
    font-size: 0.9rem;
  }
  
  .widget-info-badge {
    margin-top: 0.1rem;
  }
}

/* Compact Metrics List for Current Equity Widget */
.compact-metrics-list {
  background: #f8f9fa;
  border-radius: 0.5rem;
  padding: 1rem;
  border: 1px solid #e9ecef;
}

.metric-item {
  display: block;
  margin-bottom: 0.75rem;
  line-height: 1.5;
}

.metric-item:last-child {
  margin-bottom: 0;
}

.metric-name {
  color: #495057;
  font-weight: 600;
  font-size: 0.9rem;
  display: inline;
}

.metric-description {
  color: #6c757d;
  font-size: 0.85rem;
  margin-left: 0.25rem;
  display: inline;
}

/* Metric Info Icon Styling */
.metric-info-icon {
  color: #0d6efd !important;
  cursor: pointer;
  transition: color 0.2s ease-in-out;
}

.metric-info-icon:hover {
  color: #0b5ed7 !important;
  transform: scale(1.1);
}

/* Dark Mode Improvements */
.dark-style .compact-metrics-list {
  background: #2b2b2b;
  border-color: #3a3a3a;
}

.dark-style .metric-name {
  color: #e9ecef;
}

.dark-style .metric-description {
  color: #adb5bd;
}

.dark-style .widget-info-content .lead,
.dark-style #widgetInfoModal .lead,
.dark-style .modal-body .lead {
  color: #74c0fc !important;
}

.dark-style .widget-info-content h6.text-primary {
  border-bottom-color: #3a3a3a;
}

.dark-style .widget-info-content .card {
  background-color: #2b2b2b !important;
  border-color: #3a3a3a !important;
}

.dark-style .widget-info-content .card-title {
  color: #e9ecef !important;
}

.dark-style .widget-info-content .card-text {
  color: #adb5bd !important;
}

.dark-style .metric-info-icon {
  color: #74c0fc !important;
}

.dark-style .metric-info-icon:hover {
  color: #339af0 !important;
}