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

/* ========================================
   AI클래스 에듀 - 공통 스타일
   ======================================== */

/* Reset & Base */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* 한글 단어 줄바꿈 방지 */
body, p, h1, h2, h3, h4, h5, h6, li, td, th, div, span, a, input, textarea, select, button {
    word-break: keep-all;
    overflow-wrap: break-word;
}
body {
    font-family: "Pretendard", system-ui, -apple-system, sans-serif !important;
    font-size: 16px; line-height: 1.6;
    color: #1A237E; margin: 0; padding: 0; overflow-x: hidden;
}
a { text-decoration: none; }

/* Gradient Text */
.gradient-text {
    background: linear-gradient(135deg, #00BCD4 0%, #1A237E 50%, #0097A7 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hero Mesh */
.hero-mesh {
    background:
        radial-gradient(ellipse at 20% 50%, rgba(0,188,212,0.3) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(26,35,126,0.2) 0%, transparent 50%),
        radial-gradient(ellipse at 60% 80%, rgba(0,172,193,0.25) 0%, transparent 50%),
        linear-gradient(135deg, #0A1445 0%, #1A237E 30%, #00838F 60%, #006064 100%);
}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.18);
}
.glass-white {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Floating Shapes */
.floating-shape {
    position: absolute; border-radius: 50%; opacity: 0.08;
    animation: float 20s infinite ease-in-out;
}
.floating-shape:nth-child(1) {
    width: 300px; height: 300px; background: #00BCD4;
    top: -100px; left: -100px; animation-delay: 0s;
}
.floating-shape:nth-child(2) {
    width: 200px; height: 200px; background: #76FF03;
    top: 50%; right: -80px; animation-delay: -5s;
}
.floating-shape:nth-child(3) {
    width: 250px; height: 250px; background: #1A237E;
    bottom: -80px; left: 30%; animation-delay: -10s;
}
@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    25% { transform: translateY(-30px) rotate(5deg) scale(1.05); }
    50% { transform: translateY(0) rotate(0deg) scale(1); }
    75% { transform: translateY(30px) rotate(-5deg) scale(0.95); }
}

/* Glow Pulse */
.glow-pulse { animation: glowPulse 3s infinite ease-in-out; }
@keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 20px rgba(0,188,212,0.3); }
    50% { box-shadow: 0 0 40px rgba(0,188,212,0.6), 0 0 60px rgba(0,188,212,0.2); }
}

/* Card 3D Hover */
.card-3d {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease;
}
.card-3d:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 60px rgba(0,0,0,0.12), 0 10px 20px rgba(0,0,0,0.08);
}

/* Shimmer */
.shimmer { position: relative; overflow: hidden; }
.shimmer::after {
    content: ""; position: absolute; top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    animation: shimmer 3s infinite;
}
@keyframes shimmer {
    0% { left: -100%; } 100% { left: 100%; }
}

/* Stat Number */
.stat-number {
    color: #fff;
    text-shadow: 0 0 40px rgba(0,188,212,0.8), 0 2px 8px rgba(0,0,0,0.3);
    font-weight: 800; letter-spacing: -0.02em;
}

/* Wave Divider */
.wave-divider { position: relative; width: 100%; overflow: hidden; line-height: 0; }
.wave-divider svg { display: block; width: 100%; height: auto; }

/* Feature Icon Wrap */
.feature-icon-wrap { position: relative; }
.feature-icon-wrap::before {
    content: ""; position: absolute; inset: -4px; border-radius: 16px;
    background: linear-gradient(135deg, #00BCD4, #1A237E);
    opacity: 0; transition: opacity 0.4s ease; z-index: 0;
}
.feature-icon-wrap:hover::before { opacity: 1; }

/* Testimonial Card */
.testimonial-card {
    background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(224,247,250,0.6));
}

/* CTA Background */
.cta-bg {
    background:
        radial-gradient(ellipse at 30% 50%, rgba(0,188,212,0.4) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 50%, rgba(26,35,126,0.3) 0%, transparent 50%),
        linear-gradient(135deg, #006064 0%, #00838F 30%, #1A237E 70%, #0A1445 100%);
}

/* Nav Link Underline */
.nav-link { position: relative; }
.nav-link::after {
    content: ""; position: absolute; bottom: -2px; left: 0;
    width: 0; height: 2px;
    background: linear-gradient(90deg, #00BCD4, #1A237E);
    transition: width 0.3s ease;
}
.nav-link:hover::after { width: 100%; }

/* Image Overlay */
.img-overlay { position: relative; }
.img-overlay::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(0,188,212,0.2), rgba(26,35,126,0.3));
    border-radius: inherit;
}

/* Trust Logo */
.trust-logo { opacity: 0.5; transition: opacity 0.3s ease, transform 0.3s ease; }
.trust-logo:hover { opacity: 1; transform: scale(1.1); }
.trust-logo > div { transition: box-shadow 0.3s ease; }
.trust-logo:hover > div { box-shadow: 0 4px 20px rgba(0,0,0,0.15); }

/* 컨텐츠 페이지 - 기본 스킨 오버라이드 */
#ctt { margin: 0 !important; padding: 0 !important; background: transparent !important; }
#ctt_con { padding: 0 !important; }

.ctt_admin { position: fixed !important; top: 80px; right: 20px; z-index: 999; }

/* ========================================
/* 게시판 목록 - 컬럼 너비 2배 */
#bo_list .td_num, #bo_list .td_num2 { width: 80px !important; text-align: center; }
#bo_list .td_name, #bo_list .td_datetime { width: 120px !important; }
#bo_list .td_mng { width: 100px !important; }

/* more_opt li width auto */
.more_opt li { width: auto !important; min-width: 90px; white-space: nowrap; }

/* bo_v_com 버튼 간격 */
.bo_v_com > li { margin-left: 8px !important; }
.bo_v_com .btn_b01 { margin: 0; }
