/**
 * Phosphor Icons Integration
 * Modern icon pack for 2025 design trends
 * https://phosphoricons.com/
 */

/* Import Phosphor Icons from CDN */
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.0.3/src/bold/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.0.3/src/duotone/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.0.3/src/fill/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.0.3/src/light/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.0.3/src/regular/style.css');
@import url('https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.0.3/src/thin/style.css');

/* Base icon style */
.ph {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1;
  vertical-align: -0.125em;
}

/* Phosphor icon sizes */
.ph-xs { font-size: 0.75rem; }
.ph-sm { font-size: 0.875rem; }
.ph-md { font-size: 1.25rem; }
.ph-lg { font-size: 1.5rem; }
.ph-xl { font-size: 2rem; }
.ph-2xl { font-size: 2.5rem; }
.ph-3xl { font-size: 3rem; }

/* Phosphor icon styles */
.ph-regular { font-weight: 400; }
.ph-bold { font-weight: 700; }
.ph-fill { font-variation-settings: 'FILL' 1; }
.ph-duotone { font-variation-settings: 'FILL' 0.5; }
.ph-thin { font-weight: 100; }

/* Animation classes */
.ph-spin {
  animation: ph-spin 2s linear infinite;
}

.ph-pulse {
  animation: ph-spin 1s steps(8) infinite;
}

@keyframes ph-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Fixed width */
.ph-fw {
  display: inline-block;
  width: 1.25em;
  text-align: center;
}

/* Vertical align fix */
.btn .ph,
.nav-link .ph {
  vertical-align: -0.125em;
}

/* Icon spacing in buttons and links */
.btn .ph,
a .ph {
  margin-right: 0.5rem;
}

.btn .ph:last-child:not(:first-child),
a .ph:last-child:not(:first-child) {
  margin-right: 0;
  margin-left: 0.5rem;
}

/* Remove margin for standalone icons */
.btn-icon .ph,
.icon-only .ph {
  margin: 0;
}
