/* Player Profile Link Component
 * A subtle, refined link treatment for player names throughout the app.
 * Works in tables, cards, chips, and standalone contexts.
 *
 * Variants:
 * - .player-profile-link (base) - Simple text link
 * - .player-profile-link--unit - Avatar + name as clickable unit
 * - .player-profile-link--chip - Compact pill-style for tee time cards
 */

.player-profile-link {
    text-decoration: none;
    color: inherit;
    transition: color 150ms ease, opacity 150ms ease;
    cursor: pointer;
}

.player-profile-link:hover {
    color: var(--theme-primary, #00a69c);
}

.player-profile-link:hover .player-name,
.player-profile-link:hover .player-profile-link__name,
.player-profile-link:hover .bag-tag-player-text {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

/* Clickable unit variant - for avatar + name combinations */
.player-profile-link--unit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 6px;
    padding: 2px 4px;
    margin: -2px -4px;
    transition: background-color 150ms ease, color 150ms ease;
}

.player-profile-link--unit:hover {
    background-color: var(--theme-surface-hover, rgba(0, 166, 156, 0.08));
}

.player-profile-link--unit:hover .player-profile-link__avatar,
.player-profile-link--unit:hover .player-avatar,
.player-profile-link--unit:hover .player-image {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.player-profile-link__avatar,
.player-profile-link--unit .player-avatar,
.player-profile-link--unit .player-image {
    transition: transform 150ms ease, box-shadow 150ms ease;
}

/* Chip variant - for compact player chips in tee time cards */
.player-profile-link--chip {
    text-decoration: none;
    color: inherit;
    transition: background-color 150ms ease, transform 150ms ease, color 150ms ease;
}

.player-profile-link--chip:hover {
    background-color: var(--theme-surface-hover, rgba(0, 166, 156, 0.1));
    transform: translateY(-1px);
}

.player-profile-link--chip:hover .player-name {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}

/* Dark mode refinements */
[data-bs-theme="dark"] .player-profile-link:hover {
    color: var(--theme-primary, #00c4b8);
}

[data-bs-theme="dark"] .player-profile-link--unit:hover {
    background-color: rgba(0, 196, 184, 0.12);
}

[data-bs-theme="dark"] .player-profile-link--chip:hover {
    background-color: rgba(0, 196, 184, 0.15);
}

/* Focus state for accessibility */
.player-profile-link:focus-visible {
    outline: 2px solid var(--theme-primary, #00a69c);
    outline-offset: 2px;
    border-radius: 2px;
}

.player-profile-link--chip:focus-visible {
    outline-offset: 1px;
}

/* Bag tag specific - subtle treatment that doesn't interfere with tag design */
.player-profile-link.bag-tag-player-link {
    display: inline;
}

.player-profile-link.bag-tag-player-link:hover .bag-tag-player-text {
    text-shadow: 0 0 8px rgba(0, 166, 156, 0.4);
}
