/* ==================================
   PARTICLE BUTTON COMPONENT
   ================================== */

/*
 * 1. Button Wrapper
 *    Container for centering the button
 */
.button-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

/*
 * 2. Base Button Styles
 *    Core styles for the particle button
 */
.particle-button {
    /* Layout & Positioning */
    display: inline-block;
    position: relative;
    padding: 1rem 2.5rem;
    overflow: hidden;
    isolation: isolate;
    text-decoration: none;
    text-align: center;

    /* Border & Background */
    border: 2px solid #4A4A4A;
    border-radius: 50px;
    
    /* Typography */
    color: var(--color-text-base, #FFFFFF);
    font-size: 1.1rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;

    /* Effects & Transitions */
    transition: color 0.4s ease-in-out, 
                border-color 0.4s ease-in-out, 
                background-color 0.3s ease, 
                box-shadow 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Hover & Focus States */
.particle-button:hover,
.particle-button:focus {
    border-color: var(--color-primary, #1ED760);
    box-shadow: 0 6px 20px rgba(29, 185, 84, 0.4);
    color: var(--color-text-base, #FFFFFF);
}

/*
 * 3. Button Text
 *    Styles for the button text element
 */
.particle-button-text {
    position: relative;
    z-index: 2;
    transition: color 0.4s ease-in-out;
}

.particle-button:hover .particle-button-text,
.particle-button:focus .particle-button-text {
    color: inherit;
}

/*
 * 4. Canvas Element
 *    Container for the particle effects
 */
.particle-button canvas {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

/* ==================================
   NAVBAR SPECIFIC STYLES
   ================================== */

/*
 * 1. Navbar Button Base
 *    Override default styles for navbar context
 */
.navbar .particle-button {
    padding: calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 1.5);
    font-size: 0.9rem;
    font-weight: var(--font-weight-medium);
    border: 1px solid transparent;
    color: var(--color-text-base);
    background-color: transparent;
    box-shadow: none;
    border-radius: var(--border-radius-medium);
}

/*
 * 2. Navbar Button States
 *    Hover, focus, and active states
 */
.navbar .particle-button:hover,
.navbar .particle-button:focus {
    background-color: rgba(255, 255, 255, 0.05);
    border-color: transparent;
    box-shadow: none;
    color: var(--color-text-base);
}

/*
 * 3. Navbar Link Colors
 *    Ensure consistent text colors in navbar
 */
.navbar .particle-button,
.navbar .particle-button:hover,
.navbar .particle-button:focus,
.navbar .particle-button .particle-button-text {
    color: var(--color-text-base) !important;
}

/*
 * 4. Active State
 *    Styles for the active navigation item
 */
.navbar .particle-button.active {
    color: var(--color-text-base) !important;
    font-weight: var(--font-weight-bold);
    position: relative;
}

/* Active state indicator line */
.navbar .particle-button.active::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 2px;
    background-color: var(--color-primary);
    border-radius: 2px;
}
