/**
 * HC Login Pro - 유틸리티 클래스
 * 
 * File: utilities.css
 * Location: /wp-content/plugins/hc-login-pro/assets/css/utilities/
 */

/* 텍스트 정렬 */
.hc-text-center {
    text-align: center;
}

.hc-text-right {
    text-align: right;
}

/* 마진 유틸리티 */
.hc-mt-sm {
    margin-top: var(--hc-spacing-sm);
}

.hc-mt-md {
    margin-top: var(--hc-spacing-md);
}

.hc-mt-lg {
    margin-top: var(--hc-spacing-lg);
}

.hc-mb-sm {
    margin-bottom: var(--hc-spacing-sm);
}

.hc-mb-md {
    margin-bottom: var(--hc-spacing-md);
}

.hc-mb-lg {
    margin-bottom: var(--hc-spacing-lg);
}

/* 표시/숨김 유틸리티 */
.hc-hidden {
    display: none !important;
}

.hc-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 애니메이션 유틸리티 */
.hc-fade-in {
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.hc-slide-up {
    animation: slideUp 0.3s ease;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 폼 링크 유틸리티 */
.hc-form-links-center {
    justify-content: center;
    text-align: center;
}

.hc-form-links-space-between {
    justify-content: space-between;
}

.hc-form-links-compact {
    gap: var(--hc-spacing-sm);
    padding: var(--hc-spacing-md) 0;
}

.hc-form-links-spacious {
    gap: var(--hc-spacing-lg);
    padding: var(--hc-spacing-xl) 0;
}

/* 로그인 링크 크기 변형 */
.hc-login-link-small {
    min-width: 70px;
    min-height: 32px;
    padding: var(--hc-spacing-xs) var(--hc-spacing-sm);
    font-size: var(--hc-font-sm);
    background: transparent !important;
    border: 1px solid transparent !important;
}

.hc-login-link-large {
    min-width: 100px;
    min-height: 44px;
    padding: var(--hc-spacing-md) var(--hc-spacing-lg);
    font-size: var(--hc-font-base);
    background: transparent !important;
    border: 1px solid transparent !important;
}
