/* EPA Common Styles - Used by all pages */

* {
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

body {
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
  overflow-y: scroll;
}

/* Navigation */
.nav-link { position: relative; transition: color 0.3s ease; }
.nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: #0da55e; transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }

.nav-item { position: relative; }

.dropdown-menu { position: absolute; top: 100%; left: 0; background: white; min-width: 220px; padding: 12px 0; border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s ease; z-index: 100; margin-top: 8px; }
.nav-item:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-menu a { display: block; padding: 10px 24px; color: #1a1a1a; text-decoration: none; font-size: 15px; transition: all 0.2s ease; }
.dropdown-menu a:hover { background-color: #f5f5f5; padding-left: 28px; }

.submenu { position: relative; }
.submenu-content { position: absolute; left: 100%; top: 0; background: white; min-width: 200px; padding: 12px 0; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); opacity: 0; visibility: hidden; transform: translateX(-10px); transition: all 0.3s ease; margin-left: 8px; }
.submenu:hover .submenu-content { opacity: 1; visibility: visible; transform: translateX(0); }
.submenu > a::after { content: '\2192'; float: right; margin-left: 12px; }

.modal-overlay { background-color: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); }

/* Buttons */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center;
  transition: all 0.3s ease; font-size: 1rem; padding: 0.75rem 2rem; font-weight: 600;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(13, 165, 94, 0.3); }

.btn-secondary {
  display: inline-flex; align-items: center; justify-content: center;
  transition: all 0.3s ease; font-size: 1rem; padding: 0.75rem 2rem; font-weight: 600;
}
.btn-secondary:hover { background-color: rgba(13, 165, 94, 0.1); }

/* Cards */
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(13, 165, 94, 0.15); }

/* Gradients */
.gradient-bg { background: linear-gradient(135deg, #f8fffe 0%, #e8f7f2 100%); }

/* Breadcrumbs */
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 0.875rem; color: #6b7280; }
.breadcrumb a { color: #0da55e; text-decoration: none; transition: color 0.2s ease; }
.breadcrumb a:hover { color: #059669; text-decoration: underline; }
.breadcrumb-separator { color: #9ca3af; }
.breadcrumb-current { color: #374151; font-weight: 500; }
