.share-buttons {
  background-color: var(--color-bg-white);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
}

/* Minimal share buttons (no background/border) */
.share-buttons.minimal {
  background: none;
  border: none;
  padding: var(--space-4) 0;
}

/* Inline share buttons */
.share-buttons.inline {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

/* === SHARE LABEL === */

.share-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

.share-icon {
  font-size: var(--font-size-lg);
}

.share-text {
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Hide label in inline mode */
.share-buttons.inline .share-label {
  display: none;
}

/* === SHARE BUTTON LIST === */

.share-list {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}

/* Compact share list */
.share-buttons.compact .share-list {
  gap: var(--space-2);
}

/* === INDIVIDUAL SHARE BUTTONS === */

.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  font-family: var(--font-family-base);
  line-height: 1;
  text-decoration: none;
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: var(--transition-all);
  position: relative;
  overflow: hidden;
  user-select: none;
}

.share-btn:focus {
  outline: var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
}

/* Share button icons */
.share-btn-icon {
  font-size: var(--font-size-base);
  flex-shrink: 0;
}

.share-btn-text {
  font-size: var(--font-size-sm);
  white-space: nowrap;
}

/* === PLATFORM-SPECIFIC SHARE BUTTONS === */

/* Facebook */
.share-facebook {
  background-color: #1877f2;
  color: white;
}

.share-facebook:hover,
.share-facebook:focus {
  background-color: #166fe5;
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(24, 119, 242, 0.3);
}

/* Twitter/X */
.share-twitter {
  background-color: #1da1f2;
  color: white;
}

.share-twitter:hover,
.share-twitter:focus {
  background-color: #1a91da;
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(29, 161, 242, 0.3);
}

/* WhatsApp */
.share-whatsapp {
  background-color: #25d366;
  color: white;
}

.share-whatsapp:hover,
.share-whatsapp:focus {
  background-color: #22c55e;
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.3);
}

/* Email */
.share-email {
  background-color: var(--color-accent-red);
  color: white;
}

.share-email:hover,
.share-email:focus {
  background-color: var(--color-accent-red-dark);
  color: white;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(249, 79, 79, 0.3);
}

/* Copy Link */
.share-copy {
  background-color: var(--color-bg-gray);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-medium);
}

.share-copy:hover,
.share-copy:focus {
  background-color: var(--color-primary);
  color: var(--color-text-primary);
  border-color: var(--color-primary);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(168, 230, 207, 0.3);
}

.share-copy.copied {
  background-color: var(--color-success);
  color: white;
  border-color: var(--color-success);
}

/* === SHARE BUTTON VARIANTS === */

/* Icon-only share buttons */
.share-btn.icon-only {
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
}

.share-btn.icon-only .share-btn-text {
  display: none;
}

.share-btn.icon-only .share-btn-icon {
  font-size: var(--font-size-lg);
}

/* Small share buttons */
.share-btn.small {
  padding: var(--space-2) var(--space-3);
  font-size: var(--font-size-xs);
}

.share-btn.small .share-btn-icon {
  font-size: var(--font-size-sm);
}

/* Large share buttons */
.share-btn.large {
  padding: var(--space-4) var(--space-6);
  font-size: var(--font-size-base);
}

.share-btn.large .share-btn-icon {
  font-size: var(--font-size-xl);
}

/* Outline share buttons */
.share-btn.outline {
  background-color: transparent;
  border: 2px solid currentColor;
}

.share-facebook.outline {
  color: #1877f2;
  border-color: #1877f2;
}

.share-facebook.outline:hover {
  background-color: #1877f2;
  color: white;
}

.share-twitter.outline {
  color: #1da1f2;
  border-color: #1da1f2;
}

.share-twitter.outline:hover {
  background-color: #1da1f2;
  color: white;
}

.share-whatsapp.outline {
  color: #25d366;
  border-color: #25d366;
}

.share-whatsapp.outline:hover {
  background-color: #25d366;
  color: white;
}

.share-email.outline {
  color: var(--color-accent-red);
  border-color: var(--color-accent-red);
}

.share-email.outline:hover {
  background-color: var(--color-accent-red);
  color: white;
}

/* === SHARE SUCCESS MESSAGE === */

.share-success {
  display: none;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-success-bg);
  color: var(--color-success);
  border: 1px solid var(--color-success);
  border-radius: var(--radius-lg);
  font-size: var(--font-size-sm);
  animation: fadeInUp 0.3s ease-out;
}

.share-success.show {
  display: flex;
}

.success-icon {
  font-size: var(--font-size-base);
  color: var(--color-success);
}

.success-text {
  font-weight: var(--font-weight-medium);
}

/* === SHARE COUNT (if implemented) === */

.share-count {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.share-count-number {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

/* === MOBILE OPTIMIZATIONS === */

@media (max-width: 768px) {
  .share-buttons {
    padding: var(--space-4);
    margin: var(--space-6) 0;
  }
  
  .share-list {
    gap: var(--space-2);
  }
  
  /* Stack share buttons vertically on very small screens */
  @media (max-width: 480px) {
    .share-list {
      flex-direction: column;
      gap: var(--space-3);
    }
    
    .share-btn {
      width: 100%;
      justify-content: center;
    }
    
    /* Icon-only buttons stay horizontal */
    .share-buttons.icon-only .share-list {
      flex-direction: row;
      justify-content: center;
    }
    
    .share-buttons.icon-only .share-btn {
      width: auto;
    }
  }
  
  /* Hide share text on mobile for space */
  .share-btn-text {
    display: none;
  }
  
  .share-btn {
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
  }
  
  .share-btn-icon {
    font-size: var(--font-size-lg);
  }
}

/* === SHARE BUTTON ANIMATIONS === */

.share-btn {
  position: relative;
  overflow: hidden;
}

.share-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: left var(--transition-base);
}

.share-btn:hover::before {
  left: 100%;
}

/* Copy button special animation */
.share-copy.copying {
  animation: pulse 0.5s ease-in-out;
}

.share-copy.copied {
  animation: bounce 0.6s ease-in-out;
}

/* Share button ripple effect */
.share-btn-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transform: scale(0);
  animation: ripple 0.6s linear;
  pointer-events: none;
}

@keyframes ripple {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* === ACCESSIBILITY IMPROVEMENTS === */

/* High contrast mode support */
@media (prefers-contrast: high) {
  .share-btn {
    border: 2px solid currentColor;
  }
  
  .share-btn:hover,
  .share-btn:focus {
    outline: 3px solid currentColor;
    outline-offset: 2px;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .share-btn {
    transition: none;
  }
  
  .share-btn:hover {
    transform: none;
  }
  
  .share-btn::before {
    display: none;
  }
  
  .share-success {
    animation: none;
  }
}

/* === PRINT STYLES === */

@media print {
  .share-buttons {
    display: none;
  }
}

/* === TOOLTIP STYLES (for share buttons) === */

.share-btn[data-tooltip] {
  position: relative;
}

.share-btn[data-tooltip]::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-bg-dark);
  color: var(--color-text-inverse);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--radius-base);
  font-size: var(--font-size-xs);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-all);
  pointer-events: none;
  z-index: var(--z-tooltip);
}

.share-btn[data-tooltip]:hover::after,
.share-btn[data-tooltip]:focus::after {
  opacity: 1;
  visibility: visible;
}

/* Tooltip arrow */
.share-btn[data-tooltip]::before {
  content: '';
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: var(--color-bg-dark);
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-all);
  pointer-events: none;
}

.share-btn[data-tooltip]:hover::before,
.share-btn[data-tooltip]:focus::before {
  opacity: 1;
  visibility: visible;
}