/* 기본 스타일 */
body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #f8fafc;
    transition: background-color 0.3s, color 0.3s;
}

/* 다크 모드 */
.dark body, body.dark {
    background-color: #0f172a;
    color: #e2e8f0;
}

html.dark {
    background-color: #0f172a;
}

/* 카드 호버 효과 */
.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* 그라데이션 텍스트 */
.gradient-text {
    background: linear-gradient(to right, #6366f1, #a855f7, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 스크롤바 숨김 */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 페이드 인 애니메이션 */
.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

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

/* 스핀 애니메이션 */
.spin-animation {
    animation: spin 0.5s ease-in-out infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 모달 배경 */
#place-select-modal {
    animation: fadeIn 0.2s ease-out;
}

/* 슬롯 삭제 시 애니메이션 */
.schedule-slot {
    transition: all 0.3s ease;
}

/* Select 화살표 커스텀 */
select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
}

/* Date input 스타일 */
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.6;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}
