@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

body {
    font-family: 'Inter', sans-serif;
    -webkit-tap-highlight-color: transparent;
    background-color: #ffffff;
    color: #171717; /* Neutral 900 */
}

/* 알파인JS 깜빡임 방지 */
[x-cloak] {
    display: none !important;
}

/* 모바일 가로 스크롤바 숨김 */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 카드 호버 시 이미지 줌 효과 */
.card-zoom:hover img {
    transform: scale(1.05);
    transition: transform 0.7s ease-in-out;
}

/* 히어로 섹션 텍스트 가독성용 그라데이션 */
.hero-gradient {
    background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
}

/* 테이블 컨테이너 (모바일 스크롤) */
.table-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* 텍스트 드래그 색상 (블랙 테마) */
::selection {
    background-color: #000;
    color: #fff;
}

/* Flatpickr 달력 커스텀 (블랙 테마) */
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: #000 !important;
    border-color: #000 !important;
}
.flatpickr-day.today { border-color: #000 !important; }
.flatpickr-day.today:hover { background: #eee !important; color: #000 !important; }
.flatpickr-input[readonly] { cursor: pointer; }

/* 3D 이미지 부유 애니메이션 */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}