/* Font-Awesome */
@import url('/shared/fontawesome/css/all.min.css');

/* Tailwind CSS */
@import url('tailwind.css');

/* 프리텐다드 – Full Weight Set(100~900) */
/* 100 Thin */
@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-Thin.woff2') format('woff2');
}

/* 200 ExtraLight */
@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-ExtraLight.woff2') format('woff2');
}

/* 300 Light */
@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-Light.woff2') format('woff2');
}

/* 400 Regular */
@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-Regular.woff2') format('woff2');
}

/* 500 Medium */
@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-Medium.woff2') format('woff2');
}

/* 600 SemiBold */
@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-SemiBold.woff2') format('woff2');
}

/* 700 Bold */
@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-Bold.woff2') format('woff2');
}

/* 800 ExtraBold */
@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-ExtraBold.woff2') format('woff2');
}

/* 900 Black */
@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    src: url('/shared/fonts/Pretendard/woff2/Pretendard-Black.woff2') format('woff2');
}

/* 고려대학교 백주년기념체 (단일 폰트) */
@font-face {
    font-family: 'KUCentennial';
    src: url('/shared/fonts/KUCentennial/KUCentennial.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

/* 고려대학교 전용서체 (Weight 300, 500, 700) */
/* Light */
@font-face {
    font-family: 'KUExclusive';
    src: url('/shared/fonts/KUExclusive/KUL.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

/* Medium */
@font-face {
    font-family: 'KUExclusive';
    src: url('/shared/fonts/KUExclusive/KUM.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

/* Bold */
@font-face {
    font-family: 'KUExclusive';
    src: url('/shared/fonts/KUExclusive/KUB.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* global */
:root {
    --ku-crimson: #862633;
}

body {
    font-family: 'Pretendard';
} 

/* header */
#header {
    transition: background-color 0.4s, box-shadow 0.4s;
}
#header.scrolled {
    background-color: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
#header .logo, #header nav .desktop-menu-toggle {
    transition: color 0.4s;
}

/* --- Global default colors --- */
#header .logo { color: #862633; }   /* KU crimson */
#header nav .desktop-menu-toggle { color: #333; } /* menu dark‑gray */
#header nav .desktop-menu-toggle:hover { color: #862633; }
#header nav a:hover { color: #862633; }

/* --- Home (index) initial state --- */
#header.home-header .logo,
#header.home-header nav .desktop-menu-toggle,
#header.home-header .mobile-menu-button { color: #ffffff; }

/* --- Mobile button base color --- */
#header .mobile-menu-button { color: #333; }

#header.scrolled .logo, #header.scrolled .mobile-menu-button {
    color: #862633;
}
#header.scrolled nav .desktop-menu-toggle, #header.scrolled nav a {
    color: #333;
}
#header.scrolled nav .desktop-menu-toggle:hover, #header.scrolled nav a:hover {
    color: #862633;
}

/* Dropdown menu specific styles */
#header nav .dropdown-menu {
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
    transition: opacity 180ms ease, transform 180ms ease;
    pointer-events: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}
#header nav .dropdown-menu.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
#header nav .dropdown-menu a {
        color: #333 !important;
}
#header nav .dropdown-menu a:hover {
        background-color: #f5f5f5;
        color: #862633 !important;
}

/* Mobile menu style */
#mobile-menu-backdrop {
    transition: opacity 220ms ease;
    backdrop-filter: blur(2px);
}
#mobile-menu-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
}
#mobile-menu {
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    background: #ffffff;
    border-left: 1px solid rgba(134, 38, 51, 0.12);
    transform: translateX(100%);
}
#mobile-menu.is-open {
    transform: translateX(0);
    box-shadow: -12px 0 30px rgba(15, 23, 42, 0.12);
}
#mobile-menu .mobile-menu-header {
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}
#mobile-menu .mobile-menu-dropdown-toggle {
    background: #fff;
    transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
#mobile-menu .mobile-menu-dropdown-toggle:hover {
    background: #f8f5f5;
}
#mobile-menu .mobile-menu-dropdown-toggle i {
    color: #862633;
    transition: transform 0.5s ease;
}
#mobile-menu .mobile-submenu {
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    overflow: hidden;
    pointer-events: none;
    transition: max-height 320ms ease, opacity 220ms ease, transform 220ms ease;
}
#mobile-menu .mobile-submenu.is-open {
    max-height: 600px;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
#mobile-menu .mobile-submenu a {
    border-left: 0;
}
#header.scrolled .mobile-menu-button {
    color: #333;
}

.desktop-menu-toggle i {
    transition: transform 0.3s ease-in-out;
}
li.is-active .desktop-menu-toggle i {
    transform: rotate(180deg);
}
.subhead-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;   /* mb-8 (32px) */
}

.subhead-wrapper::before,
.subhead-wrapper::after {
    content: '';
    flex-grow: 1;
    border-top: 1px solid #d1d5db;  /* border-gray-300 */
}

.subhead-wrapper::before {
    margin-right: 1.5rem;  /* spacing before text */
}

.subhead-wrapper::after {
    margin-left: 1.5rem;   /* spacing after text */
}

.subhead {
    font-size: 1.875rem;   /* text-3xl (30px) */
    line-height: 2.25rem;
    font-weight: 700;      /* font-bold */
    text-align: center;
    color: #1f2937;        /* text-gray-800 */
    white-space: nowrap;   /* prevent text wrapping */
}
.custom-loader {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: 
        radial-gradient(farthest-side,#862633 94%,#0000) top/8px 8px no-repeat,
        conic-gradient(#0000 30%,#862633);
    -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
    animation:s3 1s infinite linear;
}

@keyframes s3{ 
    100%{transform: rotate(1turn)}
}

/* footer */
