/* ==========================================================================
   FLOATING CART DARK MODE STYLES
   A Lo Cubano Boulder Fest - Enhanced dark mode support for cart component
   ========================================================================== */

/* Dark mode floating cart styles */
[data-theme="dark"] {
  /* Floating Cart Variables - Button variables removed */
  --floating-cart-bg: var(--color-cart-dark-bg);
  --floating-cart-border: rgba(255, 255, 255, 0.1);
  --floating-cart-panel-bg: var(--color-cart-dark-bg);
  --floating-cart-panel-shadow: 0 20px 60px var(--shadow-color-dark);
  --floating-cart-backdrop: var(--color-overlay-dark);
  --floating-cart-item-bg: var(--color-gray-800);
  --floating-cart-item-border: var(--color-border);
  --floating-cart-header-border: rgba(255, 255, 255, 0.1);
  --floating-cart-footer-border: rgba(255, 255, 255, 0.1);
  --floating-cart-clear-button-bg: var(--color-surface-elevated);
  --floating-cart-clear-button-hover: var(--color-error-light);

  /* Override base cart variables for dark mode - ensure consistency */
  --cart-bg: var(--color-cart-dark-bg);
  --cart-border: rgba(255, 255, 255, 0.1);
  --cart-text: var(--color-white);
  --cart-text-secondary: var(--color-gray-300);
  --cart-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Floating Cart Container */
[data-theme="dark"] .floating-cart-container {
  /* Override any media query rules with higher specificity */
  --cart-bg: var(--color-cart-dark-bg);
  --cart-border: rgba(255, 255, 255, 0.1) !important;
  --cart-text: var(--color-white) !important;
  --cart-text-secondary: var(--color-gray-300) !important;
}

/* Button and badge styles removed - header cart only */

/* Cart Backdrop */
[data-theme="dark"] .cart-backdrop {
  background: var(--floating-cart-backdrop);
}

[data-theme="dark"] .cart-backdrop.active {
  backdrop-filter: blur(8px);
}

/* Cart Panel */
[data-theme="dark"] .floating-cart-panel {
  background: var(--color-cart-dark-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: var(--floating-cart-panel-shadow);
}

/* Cart Header */
[data-theme="dark"] .cart-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
}

[data-theme="dark"] .cart-header h3 {
  color: var(--color-text-primary);
}

/* Cart Close Button */
[data-theme="dark"] .cart-close {
  background: transparent;
  color: var(--color-text-secondary);
  border: 1px solid transparent;
  border-radius: 4px;
  transition: all 0.2s ease;
}

[data-theme="dark"] .cart-close:hover {
  background: var(--color-error-light);
  color: var(--color-red);
  border-color: var(--color-red);
}

[data-theme="dark"] .cart-close:focus {
  outline: 2px solid var(--color-blue);
  outline-offset: 2px;
}

[data-theme="dark"] .cart-close svg {
  fill: currentColor;
}

/* Cart Content */
[data-theme="dark"] .cart-content {
  background: transparent;
}

/* Empty Message */
[data-theme="dark"] .cart-empty-message {
  color: var(--color-text-secondary);
}

[data-theme="dark"] .cart-empty-message p:first-child {
  color: var(--color-text-primary);
  font-weight: 600;
}

/* Cart Items */
[data-theme="dark"] .cart-items {
  background: transparent;
}

/* Cart Category Headers */
[data-theme="dark"] .cart-category-header {
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--floating-cart-item-border);
}

[data-theme="dark"] .cart-category-header.tickets {
  color: var(--color-blue);
}

[data-theme="dark"] .cart-category-header.donations {
  color: var(--color-red);
}

/* Cart Item - Match light mode (no background, no hover) */
[data-theme="dark"] .cart-item {
  /* No background - matches light mode */
  border-bottom: 1px solid var(--floating-cart-item-border);
}

[data-theme="dark"] .cart-item:last-child {
  border-bottom: none;
}

/* Cart Item Info */
[data-theme="dark"] .cart-item-info h4 {
  color: var(--color-text-primary);
}

[data-theme="dark"] .cart-item-price {
  color: var(--color-text-secondary);
}

/* Quantity Controls */
[data-theme="dark"] .cart-item-actions {
  /* Inherits container styling */
}

[data-theme="dark"] .qty-adjust {
  background: var(--color-surface);
  border: 1px solid var(--color-border-medium);
  color: var(--color-text-primary);
  border-radius: 4px;
  transition: all 0.2s ease;
}

[data-theme="dark"] .qty-adjust:hover:not(:disabled) {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: var(--color-text-inverse);
}

[data-theme="dark"] .qty-adjust:disabled {
  background: var(--color-background-tertiary);
  border-color: var(--color-border-light);
  color: var(--color-text-muted);
  opacity: 0.5;
  cursor: not-allowed;
}

[data-theme="dark"] .qty-display {
  color: var(--color-text-primary);
  font-weight: 600;
}

/* Remove Donation Button */
[data-theme="dark"] .remove-donation {
  background: transparent;
  color: var(--color-text-secondary);
  border: 1px solid transparent;
  border-radius: 4px;
  transition: all 0.2s ease;
}

[data-theme="dark"] .remove-donation:hover {
  background: var(--color-error-light);
  color: var(--color-red);
  border-color: var(--color-red);
}

/* Cart Footer */
[data-theme="dark"] .cart-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
}

/* Cart Total */
[data-theme="dark"] .cart-total {
  color: var(--color-text-primary);
}

[data-theme="dark"] .cart-total-amount {
  color: var(--color-blue);
  font-weight: 700;
}

/* Checkout Button */
[data-theme="dark"] .cart-checkout-btn {
  background: var(--color-blue);
  color: var(--color-text-inverse);
  border: 2px solid var(--color-blue);
  transition: all 0.2s ease;
}

[data-theme="dark"] .cart-checkout-btn:hover:not(:disabled) {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  box-shadow: var(--shadow-accent-blue);
}

[data-theme="dark"] .cart-checkout-btn:disabled {
  background: var(--color-background-tertiary);
  border-color: var(--color-border-light);
  color: var(--color-text-muted);
  opacity: 0.6;
  cursor: not-allowed;
}

[data-theme="dark"] .cart-checkout-btn:focus:not(:disabled) {
  outline: 3px solid var(--color-blue);
  outline-offset: 2px;
}

/* Clear Cart Button */
[data-theme="dark"] .cart-clear-btn {
  background: var(--floating-cart-clear-button-bg);
  color: var(--color-text-secondary);
  border: 1px solid var(--color-border);
  transition: all 0.2s ease;
}

[data-theme="dark"] .cart-clear-btn:hover {
  background: var(--floating-cart-clear-button-hover);
  color: var(--color-red);
  border-color: var(--color-red);
}

[data-theme="dark"] .cart-clear-btn:focus {
  outline: 2px solid var(--color-red);
  outline-offset: 2px;
}

/* Cart Messages */
[data-theme="dark"] .cart-clear-message {
  background: var(--color-blue);
  color: var(--color-text-inverse);
  box-shadow: var(--shadow-accent-blue);
}

[data-theme="dark"] .cart-error-message {
  background: var(--color-red);
  color: var(--color-text-inverse);
  box-shadow: var(--shadow-accent-red);
}

/* Confirmation Modal */
[data-theme="dark"] .confirmation-backdrop {
  background: rgba(0, 0, 0, 0.8);
}

[data-theme="dark"] .confirmation-modal {
  background: var(--color-surface);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-elevated-lg);
}

[data-theme="dark"] .confirmation-modal h3 {
  color: var(--color-blue);
}

[data-theme="dark"] .confirmation-modal p {
  color: var(--color-text-primary);
}

[data-theme="dark"] .confirm-cancel {
  background: transparent;
  border-color: var(--color-blue);
  color: var(--color-blue);
}

[data-theme="dark"] .confirm-cancel:hover {
  background: var(--color-blue);
  color: var(--color-text-inverse);
}

[data-theme="dark"] .confirm-clear {
  background: var(--color-red);
  color: var(--color-text-inverse);
  border: none;
}

[data-theme="dark"] .confirm-clear:hover {
  background: var(--color-secondary-hover);
}

/* Checkout Loading States */
[data-theme="dark"] .checkout-loading-overlay {
  background: rgba(0, 0, 0, 0.9);
}

[data-theme="dark"] .checkout-loading-content {
  background: var(--color-surface);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: var(--space-2xl);
  box-shadow: var(--shadow-elevated-lg);
}

[data-theme="dark"] .checkout-loading-spinner {
  border: 4px solid var(--color-border);
  border-top-color: var(--color-blue);
}

[data-theme="dark"] .checkout-error-message {
  background: rgba(0, 0, 0, 0.9);
}

[data-theme="dark"] .checkout-error-content {
  background: var(--color-surface);
  color: var(--color-text-primary);
  border: 2px solid var(--color-red);
  border-radius: 12px;
  padding: var(--space-2xl);
  box-shadow: var(--shadow-elevated-lg);
}

[data-theme="dark"] .checkout-error-icon {
  color: var(--color-red);
}

/* Mobile Responsive Dark Mode */
@media (max-width: 768px) {
  [data-theme="dark"] .floating-cart-panel {
    background: var(--color-cart-dark-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--floating-cart-header-border);
  }

  /* Cart item - no background to match light mode */

  /* Button styles removed - header cart only */

  [data-theme="dark"] .confirmation-modal {
    margin: var(--space-md);
    padding: var(--space-xl);
  }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  [data-theme="dark"] .cart-checkout-btn,
  [data-theme="dark"] .cart-clear-btn {
    border-width: 2px;
  }

  /* Cart item borders removed for cleaner look */

  [data-theme="dark"] .qty-adjust {
    border-width: 2px;
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  /* Badge and button animations removed - header cart only */

  [data-theme="dark"] .cart-checkout-btn:hover {
    transform: none;
  }
}

/* Cart Item Availability Warnings - Dark Mode */
[data-theme="dark"] .cart-item-unavailable {
  border-left-color: var(--color-red, #ef4444);
  background: rgba(239, 68, 68, 0.1);
}

[data-theme="dark"] .cart-item-availability-warning {
  color: var(--color-red-light, #fca5a5);
  background: rgba(239, 68, 68, 0.15);
}

/* Print Styles */
@media print {
  [data-theme="dark"] .floating-cart-container {
    display: none !important;
  }
}