/* Fonts (Pretendard, Montserrat, Syncopate, and Noto Sans) */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Syncopate:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

/* 참고: Tailwind CDN 사용 시 @apply는 CSS 파일에서 직접 사용할 수 없습니다.
   스타일링은 HTML 클래스와 main.js의 Tailwind Config를 사용합니다. */

/* --- Hero Section Background (index.html specific) --- */
#hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(10, 10, 26, 0.75); /* dark-bg with opacity */
    z-index: 2;
}

/* --- Section Backgrounds (Common) --- */
.section-bg {
    background-color: #0a0a1a;
    position: relative;
    /* Subtle background pattern/gradient for depth */
    background-image: radial-gradient(circle at top left, rgba(0, 245, 255, 0.03) 0%, rgba(10, 10, 26, 0.5) 60%);
}

/* --- Component Styles --- */

.card-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.1);
    /* Clean Glass effect for research institute */
    background-color: rgba(26, 26, 26, 0.9);
    backdrop-filter: blur(15px);
}
.card-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

/* --- FullCalendar Styles --- */
#calendar-container {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
}

.fc {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
}

.fc-view-harness {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
}

.fc-view-harness-active {
    width: 100% !important;
    max-width: none !important;
}

.fc-daygrid {
    width: 100% !important;
    max-width: none !important;
}

.fc-scrollgrid {
    width: 100% !important;
    max-width: none !important;
}

.fc-scrollgrid-sync-table {
    width: 100% !important;
    max-width: none !important;
}

.fc-col-header {
    width: 100% !important;
    max-width: none !important;
}

.fc-daygrid-body {
    width: 100% !important;
    max-width: none !important;
}

.fc-scroller {
    width: 100% !important;
    max-width: none !important;
}

.fc-daygrid-event {
    cursor: pointer;
}

.fc-daygrid-event:hover {
    opacity: 0.8;
}

/* --- FullCalendar Research Theme Customization --- */
.fc .fc-button-primary {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #000000;
}
.fc .fc-button-primary:hover, .fc .fc-button-primary:disabled {
    background-color: #888888;
    border-color: #888888;
    color: #ffffff;
}
.fc-theme-standard td, .fc-theme-standard th {
    border-color: rgba(255, 255, 255, 0.15);
}
.fc .fc-daygrid-day-number, .fc .fc-col-header-cell-cushion {
    color: #f8f8f8;
}
.fc .fc-day-today {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* --- Sejong AI Logo Styles --- */
.sejong-ai-logo {
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700;
    background: linear-gradient(135deg, #00f5ff 0%, #a855f7 50%, #3b82f6 100%);
    background-size: 200% 200%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientShift 3s ease-in-out infinite;
    text-shadow: 0 0 30px rgba(0, 245, 255, 0.5);
    position: relative;
    transition: all 0.3s ease;
}

.sejong-ai-logo:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}

.sejong-ai-logo::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(0, 245, 255, 0.2) 0%, rgba(168, 85, 247, 0.2) 50%, rgba(59, 130, 246, 0.2) 100%);
    border-radius: 8px;
    filter: blur(10px);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sejong-ai-logo:hover::before {
    opacity: 1;
}

@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

/* --- Modal Styles (Reservation Form) --- */
.modal {
    transition: opacity 0.3s ease;
}