/* ㈜글로벌캠퍼스 커스텀 테마 & 인터랙션 스타일 */

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

:root {
  --color-primary-navy: #0B192C;
  --color-secondary-navy: #1E3E62;
  --color-accent-gold: #D4AF37;
  --color-accent-gold-light: #F3E5AB;
  --color-accent-blue: #008DDA;
  --color-accent-blue-light: #E0F4FF;
  --color-bg-light: #F8FAFC;
  --color-text-main: #1E293B;
  --color-text-muted: #64748B;
}

body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: var(--color-text-main);
  background-color: #FFFFFF;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/* Glassmorphism & Header */
.glass-header {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(226, 232, 240, 0.8);
  transition: all 0.3s ease;
}

.glass-header.scrolled {
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 4px 20px -2px rgba(11, 25, 44, 0.08);
}

/* Hero Gradient & Patterns */
.hero-gradient {
  background: linear-gradient(135deg, rgba(11, 25, 44, 0.95) 0%, rgba(30, 62, 98, 0.92) 50%, rgba(0, 141, 218, 0.82) 100%),
              url('../images/campus_view_1.jpg') center/cover no-repeat;
  background-attachment: scroll;
}

@media (min-width: 1024px) {
  .hero-gradient {
    background-attachment: fixed;
  }
}

/* Badges */
.badge-gold {
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(243, 229, 171, 0.25) 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #B8860B;
}

.badge-blue {
  background: rgba(0, 141, 218, 0.1);
  border: 1px solid rgba(0, 141, 218, 0.3);
  color: #008DDA;
}

/* Card Glows & Transitions */
.card-hover {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.card-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 30px -10px rgba(11, 25, 44, 0.12), 0 10px 15px -5px rgba(0, 141, 218, 0.08);
}

/* Gold Gradient Text */
.text-gradient-gold {
  background: linear-gradient(135deg, #F5D061 0%, #E6AF2E 50%, #C49102 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-blue {
  background: linear-gradient(135deg, #008DDA 0%, #41C9E2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #F1F5F9;
}

::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

/* Tab active styles */
.gallery-tab.active {
  background-color: var(--color-primary-navy);
  color: #FFFFFF;
  border-color: var(--color-primary-navy);
}

/* Modal Backdrops & Animations */
.modal-backdrop {
  background: rgba(11, 25, 44, 0.7);
  backdrop-filter: blur(8px);
}

@keyframes scaleUp {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-scaleUp {
  animation: scaleUp 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.animate-fadeIn {
  animation: fadeIn 0.3s ease forwards;
}

/* FAQ Accordion Styles */
.faq-item {
  transition: all 0.25s ease;
}
.faq-item.active {
  border-color: #008DDA;
  box-shadow: 0 10px 25px -5px rgba(0, 141, 218, 0.1);
}
.faq-item .faq-answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-item.active .faq-answer {
  max-height: 600px;
  opacity: 1;
  padding-top: 1rem;
}
.faq-chevron {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-item.active .faq-chevron {
  transform: rotate(180deg);
  color: #008DDA;
}

/* Comparison Table Responsive Styles */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

/* ==================== MOBILE COMPATIBILITY & UX ENHANCEMENTS ==================== */

/* 1. Korean Word-break & Typography Integrity */
h1, h2, h3, h4, h5, h6, p, blockquote, .nav-item, button, span, a, label, th, td {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 2. Viewport & Scroll Locking */
html, body {
  max-width: 100vw;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body.menu-open {
  overflow: hidden !important;
  touch-action: none;
}

/* 3. iOS Input Auto-Zoom Prevention */
@media (max-width: 640px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* 4. Touch Targets & Tap Highlight */
* {
  -webkit-tap-highlight-color: rgba(0, 141, 218, 0.1);
}

/* 5. Mobile Drawer Smooth Slide Animation */
#mobileMenu {
  transition: opacity 0.25s ease;
}
#mobileMenu > div {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
#mobileMenu.is-closed {
  opacity: 0;
  pointer-events: none;
}
#mobileMenu.is-closed > div {
  transform: translateX(100%);
}
#mobileMenu.is-open {
  opacity: 1;
  pointer-events: auto;
}
#mobileMenu.is-open > div {
  transform: translateX(0);
}

/* 6. Mobile Horizontal Scroll Shadow Hint */
.scroll-hint {
  position: relative;
}
.scroll-hint::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 24px;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.06));
  pointer-events: none;
}


