.link-hub-container { padding: 60px 24px; flex: 1; }
.profile { text-align: center; margin-bottom: 50px; }
.profile-img img { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; margin-bottom: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.profile h1 { font-size: 1.6rem; font-weight: 800; margin-bottom: 8px; }
.profile-desc { font-size: 0.9rem; word-break: keep-all; /* 단어 단위로 줄바꿈되어 가독성 상승 */ color: #666; max-width: 300px; margin: 0 auto; }

.category-title { font-size: 0.95rem; color: #275cac; font-weight: 700; margin: 40px 0 16px 4px; }

/* 링크 카드 공통 호버 설정 */
.link-card {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #eeeeee;
    border-radius: 20px;
    padding: 16px;
    margin-bottom: 16px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* [복구] 모든 카드가 마우스 오버 시 위로 뜹니다 */
.link-card:hover {
    transform: translateY(-5px);
    border-color: #275cac;
    box-shadow: 0 12px 24px rgba(39, 92, 172, 0.1);
}

/* 활성화된 버튼 호버 시 파란색으로 변함 */
.link-card:not(.coming-soon):hover .card-btn:not(.secondary) {
    background: #275cac;
    color: #fff;
}

/* [복구] 준비 중(secondary) 버튼 호버 시 색상 변화 */
.link-card.coming-soon:hover .card-btn.secondary {
    background-color: #275cac; /* 기존보다 살짝 진한 회색으로 피드백 제공 */
    color: #fff;
}

.card-icon { width: 56px; height: 56px; border-radius: 14px; overflow: hidden; margin-right: 16px; flex-shrink: 0; background: #f8f9fa; }
.card-icon img { width: 100%; height: 100%; object-fit: cover; }

.card-text { flex: 1; min-width: 0; }
.card-text h3 { font-size: 1.05rem; font-weight: 700; margin: 0; display: flex; align-items: center; color: #111; }
.card-text p { font-size: 0.85rem; color: #888; margin-top: 4px; }

/* 준비 중(Coming Soon) 스타일 */
.link-card.coming-soon { 
    opacity: 0.75; 
    filter: grayscale(1); 
}

/* 준비 중 카드 호버 시 흑백 느낌을 살짝 줄여 활성화 느낌 전달 */
.link-card.coming-soon:hover {
    opacity: 0.95;
    filter: grayscale(0.6);
}

.badge { font-size: 0.7rem; background: #eee; color: #888; padding: 2px 6px; border-radius: 4px; margin-left: 6px; font-weight: 600; }