/* Enhanced Features Styles for TestKinks Theme */

/*=================================
  1. Result Comparison Styles
=================================*/
.comparison-container {
    margin-bottom: 3rem;
    padding: 2rem;
    background-color: var(--card-background);
    border-radius: 10px;
  }
  
  .comparison-controls {
    background-color: rgba(30, 30, 30, 0.7);
    padding: 1.5rem;
    border-radius: 5px;
    margin-bottom: 2rem;
  }
  
  .selector-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
  }
  
  /* Select2 Styling */
  .select2-container {
    min-width: 300px;
    max-width: 100%;
  }
  
  .select2-container--default .select2-selection--multiple {
    background-color: var(--secondary-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    border-radius: 5px;
  }
  
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--primary-color);
    border: none;
    color: white;
    border-radius: 3px;
    padding: 3px 8px;
  }
  
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.7);
    margin-right: 5px;
  }
  
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: white;
  }
  
  .select2-dropdown {
    background-color: var(--secondary-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
  }
  
  .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--primary-color);
    color: white;
  }
  
  .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: rgba(255, 0, 102, 0.3);
  }
  
  .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #444;
    color: white;
    border: 1px solid var(--border-color);
  }
  
  /* Comparison Table */
  .comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background-color: rgba(30, 30, 30, 0.5);
    border-radius: 5px;
    overflow: hidden;
  }
  
  .comparison-table th,
  .comparison-table td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
  }
  
  .comparison-table th {
    background-color: rgba(20, 20, 20, 0.8);
    font-weight: bold;
  }
  
  .comparison-table tr:last-child td {
    border-bottom: none;
  }
  
  .comparison-table .increase {
    color: #4caf50;
    font-weight: bold;
  }
  
  .comparison-table .decrease {
    color: #f44336;
    font-weight: bold;
  }
  
  /* Chart Container */
  .chart-container {
    height: 400px;
    margin-bottom: 2rem;
    background-color: rgba(20, 20, 20, 0.5);
    border-radius: 5px;
    padding: 1rem;
  }
  
  /* Comparison Summary */
  .comparison-summary {
    background-color: rgba(30, 30, 30, 0.7);
    padding: 1.5rem;
    border-radius: 5px;
    margin-top: 2rem;
  }
  
  .comparison-summary h3 {
    margin-bottom: 1rem;
    color: var(--primary-color);
  }
  
  .comparison-summary h4 {
    margin: 1rem 0 0.5rem;
    color: #eee;
  }
  
  .comparison-summary .increases,
  .comparison-summary .decreases {
    margin-bottom: 1.5rem;
  }
  
  .comparison-summary ul {
    margin-left: 1.5rem;
    list-style-type: disc;
  }
  
  .comparison-summary .interpretation,
  .comparison-summary .advice {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
  }
  
  /* Initial message */
  .initial-message {
    text-align: center;
    padding: 2rem;
    font-style: italic;
    color: #aaa;
  }
  
  /*=================================
    2. Enhanced Sharing Styles
  =================================*/
  .share-section {
    margin-top: 3rem;
    padding: 2rem;
    background-color: var(--card-background);
    border-radius: 10px;
  }
  
  .share-link-container {
    margin-bottom: 1.5rem;
  }
  
  .result-link {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    background-color: var(--secondary-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
    border-radius: 5px;
  }
  
  .share-buttons-container h3 {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
  
  .social-share {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 1rem;
  }
  
  .social-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 15px;
    border-radius: 5px;
    color: white;
    text-decoration: none;
    transition: background-color 0.3s;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
  }
  
  .social-btn svg {
    margin-right: 8px;
  }
  
  .facebook-btn {
    background-color: #4267B2;
  }
  
  .twitter-btn {
    background-color: #1DA1F2;
  }
  
  .whatsapp-btn {
    background-color: #25D366;
  }
  
  .email-btn {
    background-color: #D44638;
  }
  
  .image-btn {
    background-color: #16a085;
  }
  
  .qr-code-btn {
    background-color: #8e44ad;
  }
  
  .facebook-btn:hover { background-color: #365899; }
  .twitter-btn:hover { background-color: #1991DA; }
  .whatsapp-btn:hover { background-color: #1EBD56; }
  .email-btn:hover { background-color: #C23C2F; }
  .image-btn:hover { background-color: #128873; }
  .qr-code-btn:hover { background-color: #7D3C98; }
  
  /* QR Code Modal */
  .qr-code-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .qr-code-container {
    background-color: var(--card-background);
    padding: 2rem;
    border-radius: 10px;
    max-width: 90%;
    width: 400px;
    text-align: center;
  }
  
  .qr-code-container h3 {
    margin-bottom: 1rem;
    color: var(--primary-color);
  }
  
  .qr-code {
    margin: 1.5rem auto;
    padding: 1rem;
    background-color: white;
    display: inline-block;
    border-radius: 5px;
  }
  
  .qr-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
  }
  
  .qr-buttons button {
    padding: 10px 20px;
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  
  .qr-buttons button:hover {
    background-color: var(--primary-dark);
  }
  
  .qr-buttons .close-modal-btn {
    background-color: #555;
  }
  
  .qr-buttons .close-modal-btn:hover {
    background-color: #444;
  }
  
  /* Notifications */
  .notification {
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 5px;
    font-weight: bold;
    animation: fadeIn 0.3s;
  }
  
  .notification.info {
    background-color: rgba(25, 118, 210, 0.2);
    color: #90caf9;
    border-left: 4px solid #1976d2;
  }
  
  .notification.success {
    background-color: rgba(46, 125, 50, 0.2);
    color: #a5d6a7;
    border-left: 4px solid #2e7d32;
  }
  
  .notification.error {
    background-color: rgba(211, 47, 47, 0.2);
    color: #ef9a9a;
    border-left: 4px solid #d32f2f;
  }
  
  .notification.warning {
    background-color: rgba(237, 108, 2, 0.2);
    color: #ffcc80;
    border-left: 4px solid #ed6c02;
  }
  
  .notification.fade-out {
    animation: fadeOut 0.5s;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  
  @keyframes fadeOut {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-10px); }
  }
  
  /*=================================
    3. Enhanced Visualization Styles
  =================================*/
  .visualization-section {
    margin-top: 3rem;
    padding: 2rem;
    background-color: var(--card-background);
    border-radius: 10px;
  }
  
  .visualization-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 1.5rem;
  }
  
  .viz-tab {
    padding: 10px 15px;
    background-color: rgba(30, 30, 30, 0.7);
    border: none;
    border-radius: 5px;
    color: #ccc;
    cursor: pointer;
    transition: all 0.3s;
  }
  
  .viz-tab.active {
    background-color: var(--primary-color);
    color: white;
  }
  
  .viz-tab:hover:not(.active) {
    background-color: rgba(255, 0, 102, 0.3);
    color: white;
  }
  
  .visualization-container {
    min-height: 500px;
    margin-bottom: 2rem;
    background-color: rgba(20, 20, 20, 0.5);
    border-radius: 5px;
    padding: 1rem;
    overflow: hidden;
  }
  
  /* D3 Visualizations */
  .tree-map-container,
  .sunburst-container {
    height: 600px;
    width: 100%;
    overflow: hidden;
  }
  
  .viz-tooltip {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 10px;
    border-radius: 5px;
    pointer-events: none;
    font-size: 0.9rem;
    z-index: 1000;
  }
  
  .visualization-info {
    background-color: rgba(30, 30, 30, 0.7);
    padding: 1.5rem;
    border-radius: 5px;
    margin-top: 2rem;
  }
  
  .visualization-info h3 {
    margin-bottom: 1rem;
    color: var(--primary-color);
  }
  
  .visualization-info ul {
    margin-left: 1.5rem;
    list-style-type: disc;
  }
  
  .visualization-info li {
    margin-bottom: 0.5rem;
  }
  
  /* Loading and error states */
  .loading {
    text-align: center;
    padding: 3rem 1rem;
    color: #aaa;
  }
  
  .spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 4px solid rgba(255, 0, 102, 0.3);
    border-radius: 50%;
    border-top-color: var(--primary-color);
    animation: spin 1s ease-in-out infinite;
    margin-bottom: 1rem;
  }
  
  @keyframes spin {
    to { transform: rotate(360deg); }
  }
  
  .error {
    text-align: center;
    padding: 3rem 1rem;
    color: #f44336;
  }
  
  /*=================================
    4. Responsive Styles
  =================================*/
  @media (max-width: 768px) {
    .selector-container {
      flex-direction: column;
      align-items: stretch;
    }
    
    .select2-container {
      width: 100% !important;
    }
    
    .social-share {
      flex-direction: column;
      align-items: stretch;
    }
    
    .social-btn {
      justify-content: center;
    }
    
    .visualization-tabs {
      flex-wrap: wrap;
      justify-content: center;
    }
    
    .viz-tab {
      flex: 1 0 45%;
      text-align: center;
    }
    
    .tree-map-container,
    .sunburst-container {
      height: 400px;
    }
    
    .chart-container {
      height: 300px;
    }
  }
  
  @media (max-width: 480px) {
    .viz-tab {
      flex: 1 0 100%;
    }
    
    .qr-code-container {
      padding: 1rem;
    }
    
    .comparison-table th,
    .comparison-table td {
      padding: 5px;
      font-size: 0.9rem;
    }
  }
