/* responsive.css - 반응형 유틸리티 */

/* 모바일에서 숨김 */
@media (max-width: 768px) {
    .hide-mobile { display: none !important; }
}

/* 데스크톱에서 숨김 */
@media (min-width: 769px) {
    .hide-desktop { display: none !important; }
}

/* 반응형 텍스트 */
@media (max-width: 768px) {
    h1 { font-size: var(--font-size-2xl); }
    h2 { font-size: var(--font-size-xl); }
    h3 { font-size: var(--font-size-lg); }

    .section {
        padding: var(--space-10) 0;
    }

    .section-title {
        font-size: var(--font-size-2xl);
    }

    .section-subtitle {
        font-size: var(--font-size-base);
    }

    /* 모바일 폼 최적화 - 48px 터치 영역 */
    .form-input,
    .form-select,
    .form-textarea {
        min-height: 48px;
        font-size: 16px; /* iOS 줌 방지 */
    }

    .form-row {
        flex-direction: column;
        gap: 0;
    }

    /* 모바일 하단 CTA 공간 확보 */
    body {
        padding-bottom: 80px;
    }
}

/* 반응형 간격 */
@media (max-width: 640px) {
    .container {
        padding: 0 var(--space-4);
    }
}

/* 모바일 하단 고정 CTA 바 */
.mobile-cta-bar {
    display: none;
}

@media (max-width: 768px) {
    .mobile-cta-bar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 12px 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
        background: rgba(254,252,249,0.95);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        border-top: 1px solid var(--color-border);
        z-index: 99;
        gap: 8px;
    }
    .mobile-cta-bar .btn {
        flex: 1;
        justify-content: center;
        min-height: 48px;
    }
}
